я хотел бы изменить макет (отображение) из клавиатура Lenovo ThinkPad (который я ненавижу)
быть похожим на Acer TravelMate 8000 (который я люблю).
что означает:
- своп Fn и левый Ctrl
- Tab-влево, чтобы действовать как PgUp
- Fn' + Tab-осталось вести себя как дома
- Tab-право вести себя как PgDown
- Fn' + Tab-право действовать как конец
- PgUp действовать как Удалить
- Home действовать как Insert
я пробовал xev
чтобы увидеть коды.
Я нашел этот список символов: http://cs.gmu.edu/~Шон/вещи/N800 не/клавиатуры/keysymdef.ч
Вот мой результат:
xmodmap -e 'keycode 112 = XF86Back' # Remap PgUp to TabPrev
xmodmap -e 'keycode 117 = XF86Forward' # Remap PgDn to Tabnext
xmodmap -e 'keycode 166 = Prior Home XF86Back' # Remap TabPrev to PgUp.
xmodmap -e 'keycode 167 = Next End XF86Forward' # Remap TabNext to PgDn.
xmodmap -e 'keycode 151 = Control_L' # Remap FN to be Ctrl.
xmodmap -e 'keycode 37 = XF86WakeUp' # Remap Ctrl to be FN.
xmodmap -e 'keycode 94 = Shift_L' # Remap stupid left |*& to be Shift too.
однако это не совсем то, что мне нужно, поскольку он отображает Shift + Tab* для дома, Что мешает мне использовать Shift
+ Home'
combo (для выбора текста) и работает только в некоторых приложениях (например, не работает в Firefox, чтобы перейти к верхней).
Итак-как мне его отобразить?
обновление: я setkeycodes
и нашел эти сканкоды:
Press Release
TabLeft - 158 ^[[5~0xe0 0x6a 0xe0 0xea
TabRight - 159 ^[[6~0xe0 0x69 0xe0 0xe9
PgUp: 0xe0 0x49 0xe0 0xc9
PgDn: 0xe0 0x51 0xe0 0xd1
Ctrl: 0x1d 0x9d
FN: 0xe0 0x63 0xe0 0xe3
обновление: я также обнаружил, что dumpkeys
показывает интересную информацию.
Например, строковые псевдонимы для некоторых ключей; например,^[[5~
показали showkey -s
определено есть.
обновление: я пробовал setkeycodes
:
sudo setkeycodes 0xE063 29 ## Fn to Ctrl
sudo setkeycodes 0x1d 143 ## Ctrl to Fn
sudo setkeycodes 0x56 42 ## |*& to Shift
showkeys
-k показывает правильные коды клавиш, но они все равно не работают, например Ctrl+T
не открывает вкладку в FF и т. д.
После отмены изменений все работает как раньше.
sudo setkeycodes 0xE063 143 ## Fn to Ctrl
sudo setkeycodes 0x1d 29 ## Ctrl to Fn
что мне не хватает?