Превратите мультимедийные клавиши в клавиши «домой»/«конец»/«страница вверх»/«страница вниз»

Превратите мультимедийные клавиши в клавиши «домой»/«конец»/«страница вверх»/«страница вниз»

У меня есть Lenovo ThinkPad, где клавиши FN+стрелки назначены на мультимедийные клавиши. Для согласованности с другими моими ноутбуками я бы хотел, чтобы они были назначены на клавиши home, end, page-up и page-down.

Я использую Debian Stretch с рабочим столом Mate. Как мне это сделать?

решение1

Первый шаг — зайти в system -> preferences -> keyboard shortcuts и отключить горячие клавиши для play, stop, previous track и next track. Это был необходимый первый шаг, до того как он был сделан, коды клавиш не отображались в xev.

После того, как это было сделано, я смог следовать инструкциям и обнаружил, что коды клавиш были

  • FN+Left (также известная как предыдущая): 173
  • FN+Вправо (также известная как «следующий»): 171
  • FN+UP (также известная как «стоп»): 174
  • FN+Вниз (также известная как воспроизведение): 172

xev снова можно использовать для определения «символов клавиш» для home, end, page up и page down.

  • Дом: Дом
  • Конец: Конец
  • Страница вверх: Предыдущий
  • Страница вниз: Далее

Можно переназначить клавиши для текущего сеанса с помощью

xmodmap -e "keycode 173 = Home"
xmodmap -e "keycode 171 = End"
xmodmap -e "keycode 174 = Prior"
xmodmap -e "keycode 172 = Next"

Похоже, нет хорошего способа сделать это постоянным, судя по всему, .Xmodmap не работает на многих современных системах, а все остальные варианты подразумевают либо ручной запуск скриптов, либо редактирование файлов в /usr. Я решил, что редактирование файлов в /usr — наименее плохой вариант.

В частности, я отредактировал /usr/share/X11/xkb/symbols/inet, заменив настройки для ключей I171 — I174 на

    key <I171>   {      [ End                   ]       };
    key <I172>   {      [ Next                  ]       };
    key <I173>   {      [ Home                  ]       };
    key <I174>   {      [ Prior                 ]       };

Благодарим следующие источники за крупицы информации, необходимые для решения этой проблемы

https://help.ubuntu.com/community/MultimediaKeys
https://medium.com/@damko/a-simple-humble-but-comprehensive-guide-to-xkb-for-linux-6f1ad5e13450
https://askubuntu.com/questions/296155/how-can-i-remap-keyboard-keys/296437#296437
Используйте setxkbmap, чтобы поменять местами левый Shift и левый Control.

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