Как я могу поменять Left Meta на произвольный ключ (желательно используя xkb)?
Я пытаюсь противостоять своему "emacs pinky", помещая некоторые ключи в более доступные места. Я уже переключил Ctrl для Caps Lock, что было не сложно, поместив команду setxkbmap в список автозагрузки приложений.
Я решил, что мне следует переместить левую клавишу Meta/Super/Windows, которую я часто использую, и к ней не очень удобно обращаться с клавиатуры. Лучшая клавиша для выполнения этой функции - клавиша над вкладкой, которая в американских клавиатурах делает ~
символ (а на клавиатуре ES образуются символы мужского / женского рода и обратный слеш, и).
Я разобрался, глядя на /usr/share/X11/xkb/symbols/es
, что его код TLDE
:
key <TLDE> { [ masculine, ordfeminine, backslash, backslash ] };
Но как я могу поменять этот ключ с левой мета-ключ?? Я не могу найти код этого ключа в xkb, и я не знаю, как я могу сделать перестановки, для которых нет опции в /usr/share/X11/xkb/rules/evdev.lst
, Его код LWIN
(как я видел/usr/share/X11/xkb/symbols/pc
):
key <LWIN> { [ Super_L ] };
Если это уместно, я сейчас использую XFCE4, но я бы хотел портативное решение, чтобы я мог взять его с собой, если я изменю DE (я использую Unity на других компьютерах); Я также использую испанскую клавиатуру.
Добавлено: мой текущий конфиг; обратите внимание, что у меня включен swapcaps, он включен из setxkbmap
Я добавил в автозагрузку приложения.
$ setxkbmap -print
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+es+inet(evdev)+ctrl(swapcaps)" };
xkb_geometry { include "pc(pc105)" };
};
Спасибо!
Неудачная попытка, которая может быть близка
Я пытался изменить макеты в x11/xkb
,
В /usr/share/X11/xkb/symbols/es
:
-key <TLDE> { [ masculine, ordfeminine, backslash, backslash ] };
+key <TLDE> { [ Super_L ] };
В /usr/share/X11/xkb/symbols/pc
:
-key <LWIN> { [ Super_L ] };
+key <LWIN> { [ masculine, ordfeminine, backslash, backslash ] };
Это не имело никакого значения, они показывают то же самое поведение.
Другая идея
Еще одна мысль, о которой я думал, это переключение кодов клавиш в /usr/share/X11/xkb/keycodes/evdev
, Не могу заставить его работать, хотя.
1 ответ
используя xmodmap
Я не хотел использовать xmodmap, но... он делает свое дело:
xev
проверить код и функцию ключа (для меня 49 - мужское, 133 - Super_L).xmodmap для обмена их функциями:
xmodmap -e 'keycode 49 = Super_L' xmodmap -e 'keycode 133 = masculine backslash backslash backslash'
Обратите внимание, что это соответствует моей раскладке клавиатуры, вы должны проверить свою. Кроме того, теперь обратная косая черта сделана с помощью Shift вместо Alt-Gr, как раньше, но я не заставил себя долго привыкать к этому.