Я хочу переназначить блокировку заглавных букв, чтобы скрыться в X11 (т.е. нажатие кнопки блокировки физической заглавной буквы будет интерпретироваться приложениями как esc, и поведение esc не изменится). Решение должно пережить перезапуск X . xmodmap и setxkbmap являются приемлемыми решениями (как и аналогичные программы). Я не хочу иметь дело с графическим интерфейсом, так как я хочу, чтобы решение было переносимым и частью моих точечных файлов. Если мне не хватает лучшего / более простого / более очевидного решения, пожалуйста, сообщите мне, хотя учтите, что я не использую DE (пробую i3wm).
До сих пор я пытался использовать xmodmap и setxkbmap с небольшим успехом.
Вот моя попытка использования xmodmap:
# ~/.xinitrc
xmodmap ~/.xmodmap
а также
# ~/.xmodmap
remove Lock = Caps_Lock
keysym Caps_Lock = Escape
Запуск $ xmodmap ~/.xmodmap
из командной строки работает и делает то, что я хочу. Проблема в том, что он сбрасывается каждый раз, когда x перезапускается. Вот где я ожидаю, что xinitrc войдет - разве он не должен загружаться каждый раз, когда x запускается и запускает команду xmodmap? Если команда работает, почему она ничего не делает при чтении из файла?
Я попробовал пару вещей с setxkbmap, ни одна из которых не сработала. Две попытки ниже были в файле в разное время.
# ~/.xinitrc
setxkbmap -option caps:esc # attempt 1
setxkbmap -option esc:nocaps # attempt 2
Ни одна из команд не сделала ничего заметного из командной строки, поэтому я предполагаю, что я неправильно понял команду. Мне нравится идея этого решения, потому что оно однострочное и не требует ничего в каком-то другом файле. Если бы это только сработало.
Является ли .xinitrc неправильным файлом для использования? Я знаю, что startx загружается из ~ / .xinitrc.
Я прошу, чтобы возможные решения содержали весь файл (ы), а не только одну строку (если в файле требуется более одного), чтобы я не испортил какой-либо промежуточный шаг. Например, если мне нужно что-то в .xinitrc и что-то в .xcapsrebind, пожалуйста, покажите и файлы, и все необходимое содержимое (я также могу обработать указание добавить что-то в конец, но если может потребоваться & или подобное, Скажите мне, пожалуйста).
xmodmap
в .xinitrc
должны работать. Это то, что я делаю. Может быть, отобразить что-то необычное, чтобы убедиться, что оно действительно работает, когда вы запускаете x? Кроме того, какой оконный менеджер / окружение рабочего стола вы используете? KDE периодически «исправляет» мои раскладки клавиатуры, не сообщая об этом. Возможно, проверьте настройки своего рабочего стола, чтобы убедиться, что xmodmap
за вашей спиной ничего не работает .
~/.xinitrc
- не убежит. Я сейчас использую i3wm и не DE, хотя то же самое происходило в Пантеоне, когда я пытался. Насколько я могу судить, i3 не связывается с xinitrc и не загружает его самостоятельно (но я нуб, так что я знаю?).
Option "XkbOptions" "caps:escape"
в X
конфигурационный файл клавиатуры, например,/etc/X11/xorg.conf.d/10-keyboard.conf
.xinitrc
:setxkbmap -option caps:escape