Сочетания клавиш XF86 в Openbox

Сочетания клавиш XF86 в Openbox

Lubuntu использует Openbox в качестве оконного менеджера. ~/.config/openbox/lubuntu-rc.xml— это файл, который, помимо прочего, определяет сочетания клавиш для различных команд.

Большинство сочетаний клавиш lubuntu-rc.xmlиспользуют клавиши-модификаторы, такие как Control, Shift, Alt, и Super.

Например, одним из способов открытия окна терминала является одновременное нажатие клавиш Control+ Alt+ T:

<!-- Launch a terminal on Ctrl + Alt + T-->
<keybind key="C-A-T">
  <action name="Execute">
    <command>lxsession-default terminal</command>
  </action>
</keybind>

Но есть еще вот это:

<!-- Keybinding for terminal button-->
<keybind key="XF86WWW">
  <action name="Execute">
    <command>lxsession-default terminal</command>
  </action>
</keybind>
<keybind key="XF86Terminal">
  <action name="Execute">
    <command>lxsession-default terminal</command>
  </action>
</keybind>

Что такое keybind key="XF86WWW"и keybind key="XF86Terminal"? Как найти эти клавиши на клавиатуре моего ноутбука? Мой ноутбук — Dell Inspiron N 1545 2008 года выпуска.

решение1

Эти ключи определены в /usr/include/X11/XF86keysym.h.

Обратите внимание, что файлы X11 include могут быть не установлены в вашей системе, если вы не установили различные пакеты разработки или вам нужно установить фирменные графические драйверы. Вы также можете найтиXF86keysym.h онлайн

Согласно этому заголовочному файлу, они представляют собой XFree86 vendor specific keysyms.

Другими словами, эти клавиши либо являются частью конкретной клавиатуры, либо нет. Если вы их не видите, значит, на вашей клавиатуре их нет.

Эти ключи предопределены в файлах конфигурации рабочего стола (вы видите их в UnityСистемные настройки >> Клавиатура >> Сочетания клавиш(хотя Unity немного переименовывает их) для удобства пользователей, поскольку в противном случае для присоединения к ним действий обычно требуется написание скриптов.

В файле также говорится:

X.Org will not be adding to the XF86 set of keysyms, though they have 
been adopted and are considered a "standard" part of X keysym definitions.
XFree86 never properly commented these keysyms, so we have done our
best to explain the semantic meaning of these keys.

Здесь следует отметить два момента.

  1. Эти keysyms были попыткой заставить XFree86/Xorg работать с широким спектром оборудования, и некоторые keysyms кажутся немного устаревшими. Например, клавиша калькулятора является частью группы под названием:

    These are sometimes found on PDA's (e.g. Palm, PocketPC or elsewhere)
    
  2. Эти символы клавиш являются стандартными. Они скомпилированы в различные xkbбиблиотеки, связанные с -, и поэтому автоматически доступны для использования, с файлами include, присутствующими в системе, или без них. Но, конечно, вам нужно иметь клавишу, которая выдает соответствующий код клавиши, уже физически на клавиатуре.

Если у вас нет клавиш, вы, конечно, можете сопоставить действия с другими последовательностями клавиш. Поскольку символы клавиш встроены в Xorg, а действия по умолчанию встроены в Ubuntu (через lubuntu-rc.xml, update-alternatives, и, возможно, другими способами), это очень легко сделать.

Например, Ubuntu использует эти символы клавиш для клавиши калькулятора как в Unity, так и в Lubuntu, хотя крайне маловероятно, что на стандартной настольной клавиатуре такая клавиша будет.

Мне понравилась идея кнопки калькулятора, о которой я никогда не думал, пока не увидел такую ​​опцию в настройках системы.

В Unity я изменил сочетание клавиш для калькулятора на Ctrl+ /.

В Lubuntu, который я тоже использую, я изменил

<keybind key="XF86Calculator">

к

<keybind key="C-slash">

То же самое можно сделать для XF86WWWи XF86Terminal, хотя вы не можете назначить одно нажатие клавиши на одну из этих клавиш (на самом деле, теперь это только концепция клавиши), если только вы не хотите использовать переназначенную клавишу по ее первоначальному назначению, и у вас, вероятно, не так много свободных клавиш.

Но, например, я никогда не использую menuклавишу для правого щелчка. В Lubuntu я могу легко превратить ее в лаунчер терминала, изменив XF86Terminalна Menu. (В файле xml используется имя клавиши или код клавиши. Вы можете узнать их, используя xevв терминале, а затем нажав нужную клавишу.)

Достаточно интересно, что в Lubuntu действие по умолчанию клавиши браузера также запускает терминал. Чтобы переназначить XF86WWW, вам нужно будет изменить имя клавиши и <command>...также.

Связанный контент