Как навсегда заменить esc и caps lock в xfce / xubuntu?

15

Некоторое время назад я следил за некоторым сообщением, в котором говорилось, что ~/.xmodmapфайл должен выглядеть примерно так:

! Swap caps lock and escape
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock

Я сделал, и теперь я могу поменяться escи caps lockделать xmodmap ~/.xmodmap. Я хотел, чтобы это было постоянным, поэтому я добавил эту команду к моей ~/.bash_profile, но, похоже, она не работает; Я все еще должен вручную xmodmap. Как выпускник EEng, я испытываю желание просто перемонтировать клавиатуру} :-), но я знаю, что должен быть лучший способ. Как я могу сделать эту работу навсегда?

Дэн Росс
источник

Ответы:

13

Запустите xfce4-settings-manager, в Session and Startup-> Application autostartдобавьте запись, которая выполняетxmodmap ~/.xmodmap

Или переименуйте файл в ~/.Xmodmap

маргаритка
источник
Я переименовал файл (он работал!), Но я удивлен, что мой метод .bash_profile не работает. Я думал, что мой bash-fu не был слабым: P
Дэн Росс
6

xkb есть опция, которая делает именно это:

caps:swapescape      Swap ESC and Caps Lock

так что вы можете просто добавить 1

/usr/bin/setxkbmap -option "caps:swapescape"

к вашим элементам автозапуска XFCE.


1: мог бы быть лучший способ сделать это, но я не пользователь XFCE

don_crissti
источник
Круто, я сделаю попытку при следующей перезагрузке. Xmodmap не совсем подходит для меня, я должен вручную запустить его после переключения языков клавиатуры, например. Я тоже больше не на XFCE. Это было круто, но я хотел больше контролировать дома (Arch) и лучше взаимодействовать с тем, что мои коллеги используют на работе (vanilla Ubuntu).
Дэн Росс
@DanRoss - Ну, если вы используете gnome (единственный DE, с которым я знаком), это так же просто, как добавитьcaps:swapescape к вашемуxkb-options
don_crissti
3

В Xfce на Opensuse я поменял местами свои ключи Escи Caps Lockключи, отредактировав /etc/X11/xorg.conf.d/00-keyboard.confфайл, как объяснено в вики archlinux . Я добавил строку, которая говорит

Option "XkbOptions" "caps:swapescape"

в раздел, который начинается с

Section "InputClass"

затем перезагрузил мой компьютер, и дело было сделано.

Сделайте резервную копию файла, прежде чем редактировать его. Если вы допустили ошибку, ваш графический интерфейс может не запуститься, и вам придется восстановить или отредактировать файл из командной строки. В Ubuntu я вспоминаю, что мне пришлось добавить строку с опциями в файл конфигурации клавиатуры с другим именем.

vdicarlo
источник
2

Использование .Xmodmap не работает для меня.

Тем не менее, быстрый человек xmodmap говорит, что это работает и сделал:

.xmodmaprc

который может быть выполнен:

xmodmap .xmodmaprc

РЕДАКТИРОВАТЬ: ack ... я не прав ... значение по умолчанию изменилось несколько лет назад на .Xmodmap с .xmodmaprc. Создание файла .Xmodmap заставило мой xfce загрузить «забавный». В .bash_profile я положил:

xmodmap .xmodmaprc

Затем это сработало, и у меня есть скрипт, который перезапустил мой Xfce, так что все работает.

ГОВБ
источник
0

Я выполнял подобную настройку (/usr/bin/setxkbmap -variant altgr-intl -option 'ctrl:nocaps' ), помещая ее в автозапуск приложения, как упоминалось в другом ответе. Однако, в какой-то момент это перестало работать для меня, так что вот мой альтернативный подход:

В меню «Настройки» выберите «Съемные диски и носители», затем вкладку «Устройства ввода». Включите опцию «Автоматически запускать программу, когда подключена клавиатура USB» и введите команду setkbmap по вашему выбору.

хорошо относиться к своим модам
источник