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) 

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

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 для назначения программ этим клавишам.

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

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

  • Как исправить сломанные стили GTK
  • Изменение приложений по умолчанию, используемых gnome-open, exo-open, xdg-open, gvfs-open и kde-open
  • Отключение блокировки затвора с помощью setxkbmap делает ключ Shift в Emacs
  • Как заблокировать сеанс в Xfce?
  • Как перезаписать ярлыки по умолчанию терминала в xfce?
  • GTK: задание цвета переднего плана и фона в командной строке
  • Как использовать Super-L вместо Alt в XFCE для изменения размера / перемещения окон?
  • Могу ли я ускорить меню XFCE, щелкнув правой кнопкой мыши?
  • Предпочитаемый веб-браузер Xfce Run с аргументом
  • Некоторые иконки разбиты в меню приложения
  • В XFCE, как настроить анимированный GIF в качестве фона рабочего стола?
  • Где xfce4 поддерживает ссылки на приложения?
  • Interesting Posts

    Проверьте мою аренду DHCP?

    Невозможно использовать максимальное разрешение, режим xrandr не отображается (адаптер Intel GPU, от DP до DVI)

    Изменение тайм-аута отображения GDM

    Какой «правильный» формат для переменной среды HTTP_PROXY? Колпаки или колпачки?

    процесс опроса с помощью kill -0 часто

    Невозможно изменить оболочку bash в Mac OS X

    kill -STOP отключается

    Как я могу объединить два на два столбца, используя оболочку

    Распечатайте n-ю строку перед совпадающей строкой, строка соответствия и n-я строка из согласованной строки

    управление процессом с другого сеанса

    RVM + TMUX-Повторяющиеся записи в $ PATH

    Bash – Как я могу сделать «Нажмите любую клавишу, чтобы продолжить»

    mdadm – Создание RAID1 в LiveUSB не сохраняется при повторной загрузке

    Можно ли использовать CentOS CBS в качестве базового репозитория yum?

    переключение между оболочками, остановка воспроизводимой музыки

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