На мому ноуті не дуже вдало розміщені клавіші Home і End:
- на цифровій клавіатурі (без Shift-а)
- на стрілочках (з Fn)
Проблема стає очевидною, коли слід натиснути Shift + Home (Fn + Shift + Home) і ще більш очевидною при Ctrl + Shift + Home (Fn + Ctrl + Shift + Home). Щоб це натиснути треба бути практично йогом :)
Тож я вирішив перевизначити дві інші клавіші, які я не використовую (PrtSc і Pause) на Home і End.
Для цього ми використовуємо 2 команди.
Спочатку - xev. Вона показує який keycode у потрібної клавіші (при її натисканні):
... KeyRelease event, serial 34, synthetic NO, window 0x1400001, root 0x15d, subw 0x0, time 4155630, (89,80), root:(964,102), state 0x0, keycode 107 (keysym 0xff61, Print), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 34, synthetic NO, window 0x1400001, root 0x15d, subw 0x0, time 4173605, (89,80), root:(964,102), state 0x0, keycode 127 (keysym 0xff13, Pause), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False ...
Далі - xmodmap, яка власне і перевизначає клавіші:
xmodmap -e "keycode 107 = Home"
xmodmap -e "keycode 127 = End"
Залишається дрібничка - зробити так, щоб це працювало щоразу, коли вмикається ноут.
Для цього робимо файлик (наприклад, .xmodmap у домашній директорії) з таким вмістом:
keycode 107 = Home keycode 127 = End
І запускаємо xmodmap при кожному логіні (наприклад у .bash_profile):
xmodmap .xmodmap
Усе :)