5

Я использую Archlinux. Когда я программирую, мне нравится менять Escape и Caps Lock.

Я знаю, что гном может сделать эту работу. Но Gnome 3.6.2 в Archlinux не может найти это.

Поэтому я использую xmodmap и создаю файл: ~/.xmodmap

  clear Lock
  keysym Caps_Lock = Escape
  keysym Escape = Caps_Lock
  add Lock = Caps_Lock

когда я бегу:

  xmodmap ~/.xmodmap

это работает хорошо.

Но он не может работать автоматически, когда я вхожу в гном, даже если я добавляю xmodmap ~/.xmodmap в ~/.xprofile .

Я делаю что-то неправильно ? Как я могу решить эту проблему?

4 ответа4

4

Избегайте использования xmodmap в качестве другого демона, который должен работать. Если не касаться других клавиш, то есть более простой и по-прежнему исходный Xorg setxkbmap , который можно найти в пакете extra/xorg-setxkbmap .

См. Аналогичный вопрос о том, как автоматически запускать этот запуск при запуске GNOME, но вместо этого используйте параметр caps:swapescape . Например, если вы используете startx и ~/.xinitrc , добавьте в него следующее:

setxkbmap -option caps:swapescape
4

Файл, который вы должны создать - ~/.Xmodmap с большой буквы X. В зависимости от того, какой менеджер входа в систему (gdm, xdm и т.д.) Вы используете ~/.Xmodmap должен быть автоматически загружен, если это не происходит, как кажется в вашем вопросе, вы можете отредактировать файлы ~/.xsession и ~/.xinitrc и добавить эти строки, чтобы принудительно загрузить ~/.Xmodmap:

 [ -f ~/.Xmodmap ] && xmodmap ~/.Xmodmap
2

Попробуйте добавить следующую команду в ваш файл .bashrc

xmodmap ~/.xmodmap

Например, я храню следующую строку в моем файле .bashrc

xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'

который добавляет дополнительный выход вместо Caps Lock.

2

Я думаю, что вы должны создать файл с именем ~/.Xmodmap (обратите внимание на большой X). Как я вижу в /etc/gdm/Xsession gdm загружает ~/.Xmodmap если он существует, поэтому вам не нужен ~/.xprofile или подобный хак :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .