Связки клавиш 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 года.

3
задан 3 November 2013 в 10:19

1 ответ

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

Обратите внимание, что включаемые файлы X11 могут быть не установлены в вашей системе, если вы не установили различные dev-пакеты или нуждались в установке проприетарных графических драйверов. Вы также можете найти 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. Эти ключевые символы были попыткой заставить XFree86 / Xorg работать с широким спектром аппаратного обеспечения, и некоторые из ключевых параметров кажутся немного устаревшими. Например, ключ калькулятора является частью группы, озаглавленной:

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

Если у вас нет ключей, вы, конечно, можете сопоставить действия с другими последовательностями клавиш. Поскольку ключевые символы встроены в 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>....

0
ответ дан 3 November 2013 в 10:19

Другие вопросы по тегам:

Похожие вопросы: