Chciałbym zmienić układ (mapowanie) klawiatury Lenovo ThinkPad (której nienawidzę), aby była podobna do Acer TravelMate 8000 (którą kocham).
Oznacza to głównie:
- Zamień Fn i opuść Ctrl
- Tab-left działa jak PgUp
- Fn '+ Tab-left, aby zachowywać się jak Dom
- Tab-prawo, aby zachowywać się jak PgDown
- Fn '+ Tab-prawo, by zachowywać się jak End
- PgUp działa jak Usuń
- Strona główna zachowuje się jak Wstaw
Próbowałem xev
zobaczyć kody.
Znalazłem tę listę symboli: http://cs.gmu.edu/~sean/stuff/n800/keyboard/keysymdef.h
Oto mój wynik:
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.
Jednak nie jest to dokładnie to, czego potrzebuję, ponieważ mapuje Shift + Tab * do strony głównej, co uniemożliwia mi użycie kombinacji Shift
+ Home'
(do zaznaczania tekstu) i działa tylko w niektórych aplikacjach (np. Nie działa w Firefoksie, aby przejść na górę).
Więc - jak mam to zmapować?
Aktualizacja: Użyłem setkeycodes
i znalazłem te skancody:
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
Aktualizacja: Odkryłem również, że dumpkeys
pokazuje interesujące informacje. Podobnie jak aliasy ciągów dla niektórych kluczy; np. ^[[5~
pokazany przez showkey -s
jest tam zdefiniowany.
Aktualizacja: próbowałem setkeycodes
:
sudo setkeycodes 0xE063 29 ## Fn to Ctrl
sudo setkeycodes 0x1d 143 ## Ctrl to Fn
sudo setkeycodes 0x56 42 ## |\*& to Shift
showkeys
-k pokazuje nadchodzące odpowiednie kody, ale nadal nie działają tak - np. Ctrl+T
nie otwiera karty w FF itp.
Po cofnięciu zmian wszystko działa jak poprzednio.
sudo setkeycodes 0xE063 143 ## Fn to Ctrl
sudo setkeycodes 0x1d 29 ## Ctrl to Fn
Za czym tęsknię