Я хочу переназначить блокировку заглавных букв, чтобы скрыться в 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