Как поменять местами левый Ctrl с левой клавишей Alt на клавиатуре?

39

В опциях раскладки клавиатуры такой опции нет, что печально.

Как я могу сделать это вручную?

Ицхака
источник
1
Ответ в значительной степени является обманом моего ответа здесь: askubuntu.com/questions/23491/…
djeikyb

Ответы:

47

Чтобы сделать это вручную, вы хотите создать файл с именем .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, чтобы получить свои собственные соответствующие коды клавиш, чтобы подтвердить, что они совпадают с теми, которые использовались выше.

Надеюсь, это поможет.

cossovich
источник
Файл не существует в Ubuntu 16.04.
MERose
1
Раньше это работало с 16.04, но не с 17.10.
Никлас
2
Я должен перезапускать xmodmap ~/.Xmodmapкаждый раз, когда я перезагружаюсь. Как я могу автоматизировать это?
Мвирабуа Тим
askubuntu.com/a/749662/894748 @MwirabuaTim проверить это
VnC
16

Если вы не хотите испытывать боль xmodmap, вы также можете сделать это через настройки gnome.

sudo apt-get install gnome-tweak-tool, откройте его, перейдите к вводу текста и измените параметр положения клавиши Ctrl на Swap влево Alt и Ctrl :

введите описание изображения здесь

Вы могли бы также сделать это через gsettings, но я не уверен в точном имени записи конфигурации.

hwjp
источник
Я пытаюсь использовать инструмент настройки в Ubuntu GNOME 15.10, и он игнорирует «swap left win key with left Control». Любые идеи? Я пытаюсь поменять L-SUPER, но предполагаю, что это один и тот же ключ.
Дори
цепляясь за соломинку, но, возможно, вам нужно перезагрузить компьютер или выйти из системы и снова войти в оконный менеджер?
hwjp
Пробовал это и без различий ...
Дори
4
Кажется, что «Typing» был удален в Ubuntu 17.10. Теперь он находится в
разделе
Сейчас он в разделе «Дополнительные параметры макета»
ZiglioUK,
10

Просто создайте ~ / .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
Ричард Гомес
источник
Это работало как победитель на Crouton Ubuntu Unity на Chromebook. Мне пришлось бежать, xmodmap ~/.Xmodmapчтобы загрузить его. Я не уверен, должен ли я делать это при каждой перезагрузке.
swt83
@ swt83: вас может заинтересовать это: github.com/frgomes/carpalx, который демонстрирует, как переопределить всю клавиатуру, если хотите.
Ричард Гомес
0

Если вы хотите удерживать клавишу 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

Р Бен Р
источник