Fedora: выбранные горячие клавиши Lenovo, не работающие на Fedora 26 (keycode> 255)

В USB-клавиатуре Lenovo «Enhanced Performance» есть несколько полезных быстрых горячих клавиш в верхней строке. Как ни странно, на моей системе Fedora 26 с XFCE некоторые из этих клавиш работают, а другие нет – без какой-либо очевидной логики.

Вот ситуация, с которой работают ключи, а какие нет:

Fedora XFCE: некоторые горячие клавиши на клавиатуре Lenovo работают, а некоторые не работают

Как заставить остальные горячие клавиши (электронная таблица, блокировать рабочий стол) работать?

В принципе, горячие клавиши могут быть сконфигурированы в двух местах: с помощью xfwm4-settings xfce4-keyboard-settings и xfce4-keyboard-settings , в зависимости от желаемой функциональности. Там я могу настроить приложения, запускаемые для клавиш, отмеченных зеленым цветом, но не для клавиш, отмеченных красным (диалог просто не регистрирует нажатие).

Диагностика до сих пор

После статьи с горячей клавишей Arch я подтвердил, что:

  • с помощью evtest все нажатия горячих клавиш регистрируются правильно, в том числе для кнопок, отмеченных красным цветом

  • с xev только отмеченные зеленым цветом клавиши.

Таким образом, для некоторых ключей нажатие клавиши теряется где-то в стеке после evtest и до xev.

Проблема, похоже, связана с тем, что X11 не поддерживает коды клавиш> 255

Вот проблематичные ключи:

 Event code 421 (KEY_WORDPROCESSOR) Event code 423 (KEY_SPREADSHEET) 

Как я могу это исправить?

  • Как избежать сбоя входа в систему с помощью ecryptfs
  • Могу ли я ускорить меню XFCE, щелкнув правой кнопкой мыши?
  • плагин xfce4 netload, монитор на всех интерфейсах?
  • Где положить команду `setxkbmap` в Xfce?
  • Подключить опцию hibernation XFCE с помощью соответствующей команды
  • XFCE - запуск ярлыка с правами root без пароля
  • Qubes (Fedora 23) не войдет в систему
  • Как установить другую среду рабочего стола в Linux (Gnome -> Xfce)?
  • One Solution collect form web for “Fedora: выбранные горячие клавиши Lenovo, не работающие на Fedora 26 (keycode> 255)”

    Эти ключи не работают в конфигурации по умолчанию, поскольку они сопоставляются с кодами клавиш> 255. По историческим причинам X11 ограничивает коды клавиш диапазоном [8, 255], и это действительно сложно исправить .

    Обходной путь состоит в том, чтобы переделать коды клавиш в диапазоны ниже 255, которые по-прежнему свободны, как показано в ответе, указанном выше.

    Получите все горячие клавиши USB-клавиатуры Lenovo Enhanced Performance для работы на Fedora

    Создайте новый файл /lib/udev/hwdb.d/61-keyboard-custom.hwdb (важно имя: сопоставление ключей по умолчанию находится в файле 60-keyboard.hwdb и мы хотим его переопределить), с этим контентом

     evdev:input:b0003v04B3p301B* KEYBOARD_KEY_90004=prog2 KEYBOARD_KEY_90005=prog3 

    Это перезаписывает текстовые процессоры и электронные таблицы ( KEY_WORDPROCESSOR и KEY_SPREADSHEET ) для ключей prog2 и prog3, которые находятся в допустимом диапазоне для X11.

    Затем запустите

     udevadm hwdb --update udevadm trigger --sysname-match="event*" 

    и убедитесь, что два ключа работают сейчас.

    Теперь можно использовать настройки клавиатуры XFCE для назначения программ этим клавишам.

    Бонус: если приложение уже запущено, сосредоточьтесь на его последнем окне

    Желаемое поведение горячей клавиши – для меня – это либо вернуться к самому последнему используемому окну приложения (если он уже запущен), либо запустить новое приложение и сосредоточиться на нем. Это легко сделать с помощью сценария оболочки в этом ответе

    Linux и Unix - лучшая ОС в мире.