Я пытался прочитать и понять это: https://www.charvolant.org/doug/xkb/html/node5.html
В качестве теста, так как мой макет «Польский, программист» в файле / usr / share / X11 / xkb / symbols / pl, в котором я играл, переназначая символ «q» на «x», и он работал просто отлично.
Но я хочу переназначить LWIN (Left Super) в Left Control.
Итак, я попробовал это: я начал редактировать файл / usr / share / X11 / xkb / symbols / pc, предполагая, что это «корень» всех других файлов. Прокомментировал эту строку:
//key <LWIN> { [ Super_L ] };
и добавил эту:
key <LWIN> { [ Control_L ] };
и перезагрузил компьютер, но безуспешно. То есть LWIN + C, не копирует выделенный текст в текстовых редакторах в буфер обмена, вместо этого он просто создает букву «c». В терминале вместо остановки текущей программы он также выдает букву «с».
Вот мой конфигурационный файл: https://gist.github.com/anonymous/49514ddf6f03ba87babaab51e2d5eff4
Когда я пытаюсь выполнить команду xev, а затем нажимаю левую клавишу управления, я вижу это:
KeyPress event, serial 40, synthetic NO, window 0x5a00001,
root 0x7e, subw 0x0, time 1053321, (374,-259), root:(374,545),
state 0x0, keycode 133 (keysym 0xffe3, Control_L), same_screen YES,
XKeysymToKeycode returns keycode: 37
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x5a00001,
root 0x7e, subw 0x0, time 1053425, (374,-259), root:(374,545),
state 0x0, keycode 133 (keysym 0xffe3, Control_L), same_screen YES,
XKeysymToKeycode returns keycode: 37
XLookupString gives 0 bytes:
XFilterEvent returns: False
Кстати. Спросите, Ubuntu предлагает мне две ссылки на похожие вопросы, но они старые, и предлагают использовать xmodmap, и afaik, это больше не правильный ответ на Ubuntu> = 16.04 (Xenial), и это именно та версия, которая у меня есть.
BTW2. Я действительно хотел бы избегать использования приложений, таких как Xbindkeys, учитывая, что есть встроенное решение, которое, я думаю, я почти понимаю, и уже потратило некоторое время на попытки понять его.
Для изменения его временно можно выполнить эту команду:
setxkbmap -option altwin:ctrl_win
Для изменения его постоянно откройтесь /etc/default/keyboard
файл для редактирования, измените строку
XKBOPTIONS=""
к
XKBOPTIONS="altwin:ctrl_win"
и перезагрузка.