У мене є клавіатура Apple, і мені довелося виконати повторну перестановку клавіш, щоб зробити mod-4
клавішу першою клавішею зліва від Spaceпанелі під час роботи з Emacs. Наведений нижче сценарій чудово працював, коли я використовував диспетчер вікон dwm, але після переходу на Openbox я виявив, що замість того, щоб замінювати клавіші коду між клавішами опцій та командами, обидва ключі роблять те саме.
Одне дивне, що я помітив, - це нове налаштування, коли я натискаю запуск showkey
і натискаю на параметри та командні клавіші, отримую відповідно 56 і 125, але ці клавіші взагалі не працюють, коли вставляти їх у нижченаведений сценарій замість 64 та 133.
Я мушу визнати, що я створив сценарій нижче, постійно налаштовуючи його, доки він не спрацював, щоб це було набагато кращим способом.
.xmodmap
# switch alt and command...the switch is not being done properly
xmodmap -e "keycode 64 = Alt_L"
xmodmap -e "keycode 133 = Meta_L"
# remap of mod 4
xmodmap -e "clear Mod4"
xmodmap -e "add Mod4 = Super_L"
Оновлення
Я звик до попереднього налаштування клавіатури і відмовився від спроб налаштувати його. На жаль, після недавнього Перезапустіть , CapsLockщоб Ctrlбільше не працював так що тут я не буду знову.
Цього разу замість відображення, яке використовувалося вище, я біг xmodmap -pke > ~/.xmod
і замість нього підправляв ключі (що набагато простіше).
Однак все ще не зовсім правильно. Ці CapsLockфункції ще як зазвичай , за винятком , коли xev
команда запущена, то вона повертає наступне , який робить , здається , щоб показати правильне відображення:
# caplock
KeyRelease event, serial 40, synthetic NO, window 0x2200001,
root 0x156, subw 0x0, time 4858000, (57,-31), root:(426,402),
state 0x2, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
XKeysymToKeycode returns keycode: 37
XLookupString gives 0 bytes:
XFilterEvent returns: False
# ctrl-L
KeyRelease event, serial 40, synthetic NO, window 0x2200001,
root 0x156, subw 0x0, time 4805947, (686,148), root:(1055,581),
state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
# Alt-L
KeyPress event, serial 40, synthetic NO, window 0x2200001,
root 0x156, subw 0x0, time 4555825, (-158,-649), root:(959,133),
state 0x0, keycode 64 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
# Super-L
KeyRelease event, serial 40, synthetic NO, window 0x2200001,
root 0x156, subw 0x0, time 4920564, (-63,169), root:(306,602),
state 0x40, keycode 133 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
~/.config/openbox/rc.xml
.
showkey
не відображаються ті самі коди клавіш, що і X. Запустіть,xev
щоб побачити X клавішних кодів та їх дії. Покажіть нам результатxmodmap -pm
та вихід,xev
коли ви натискаєте кожну із включених клавіш.