Ответы:
Чтобы сделать это вручную, вы хотите создать файл с именем .Xmodmap в вашем домашнем каталоге. Вы можете сделать это с помощью команды из терминала
~$ gedit ~/.Xmodmap
Это создаст файл и откроет его в gedit. Добавьте следующие строки в файл:
clear control
clear mod1
keycode 37 = Alt_L Meta_L
keycode 64 = Control_L
add control = Control_L Control_R
add mod1 = Alt_L Meta_L
Сохраните файл и выйдите из gedit. При следующем входе в систему новые сочетания клавиш будут активны. Чтобы настройки вступили в силу немедленно, введите следующую команду:
~$ xmodmap ~/.Xmodmap
Существует вероятность того, что коды клавиш выше на вашем компьютере разные. Если вышеперечисленное не работает, попробуйте запустить программу xev из командной строки. Xev создаст новое маленькое окно в углу вашего экрана. Если вы начнете нажимать клавиши на клавиатуре, вы получите всю информацию о сопоставлении клавиш для нажатия этой клавиши.
~$ xev
Например, если я нажимаю «q» во время работы xev, я получаю следующий вывод:
KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
root 0xb6, subw 0x0, time 9127480, (21,-17), root:(22,36),
state 0x0, keycode 24 (keysym 0x71, q), same_screen YES,
XLookupString gives 1 bytes: (71) "q"
XFilterEvent returns: False
Код ключа 24 - это информация, которую мы ищем. Нажмите левую клавишу Ctrl и левую клавишу Alt при запуске xev, чтобы получить свои собственные соответствующие коды клавиш, чтобы подтвердить, что они совпадают с теми, которые использовались выше.
Надеюсь, это поможет.
xmodmap ~/.Xmodmap
каждый раз, когда я перезагружаюсь. Как я могу автоматизировать это?
Если вы не хотите испытывать боль xmodmap
, вы также можете сделать это через настройки gnome.
sudo apt-get install gnome-tweak-tool
, откройте его, перейдите к вводу текста и измените параметр положения клавиши Ctrl на Swap влево Alt и Ctrl :
Вы могли бы также сделать это через gsettings
, но я не уверен в точном имени записи конфигурации.
Просто создайте ~ / .Xmodmap с помощью простого текстового редактора и перезапустите Xserver.
!
! based on: http://www.emacswiki.org/emacs/SwapControlAltAndCapsLock#toc8
!
!----------------------------------------------------------
! Swap Control and Alt keys, both sides
!----------------------------------------------------------
! First clear all modifiers & control
clear control
clear mod1
clear mod4
! Swap Control_L and Alt_L
keycode 64 = Control_L
keycode 37 = Alt_L Meta_L
! Menu becomes Alt_R Meta_R (AltGr)
keycode 135 = Alt_R Meta_R
! Define Control_R and Alt_R similar to Control_L and Alt_L
keycode 108 = Control_L
keycode 105 = Alt_L Meta_L
! We need to set keycodes first, as some programs (emacs!) read
! the key names and seem to ignore what's below.
add mod1 = Alt_L Alt_R Meta_L Meta_R
add mod4 = Super_L Super_R
add control = Control_L Control_R
!------------------------------------------
! Caps_Lock becomes an additional BackSpace
!------------------------------------------
remove lock = Caps_Lock
keysym Caps_Lock = BackSpace
xmodmap ~/.Xmodmap
чтобы загрузить его. Я не уверен, должен ли я делать это при каждой перезагрузке.
Если вы хотите удерживать клавишу Ctrl в нормальном положении при использовании терминальных приложений и приложений с графическим интерфейсом, вы можете взглянуть на Kinto.
https://github.com/rbreaves/kinto
Вот суть того, что он делает по сути, на самом деле это относительно просто, но я создал установщик Kinto, который использует systemd и работает на системах на основе x11, которые создадут сервис / скрипт с xprop, который прослушивает имя вашего активного приложения.
https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb
Я бы хотел поддержать Wayland и x11 одним решением, но xprop не предназначалось для этого мира.
Вот подтверждение концепции для KDE Plasma 5 Wayland. https://github.com/rbreaves/applet-window-title/commit/ff17e694579a52a9848d6bea87b2d11f22033718