Попытка переназначить мою левую клавишу SUPER (также называемую клавишей WINDOWS) в левую или правую клавишу CONTROL с помощью команды xkg.

Я пытался прочитать и понять это: 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, учитывая, что есть встроенное решение, которое, я думаю, я почти понимаю, и уже потратило некоторое время на попытки понять его.

1 ответ

Решение

Чтобы временно изменить его, вы можете запустить эту команду:

setxkbmap -option altwin:ctrl_win

Чтобы изменить его постоянно, откройте /etc/default/keyboard файл для редактирования, измени строку

XKBOPTIONS=""

в

XKBOPTIONS="altwin:ctrl_win"

и перезагрузите компьютер.

Другие вопросы по тегам