Я пытался следовать за https://www.emacswiki.org/emacs/MovingTheCtrlKey, который говорит, что это может быть сделано этот путь:
На Debian и производных (Ubuntu, Монетный двор и т.д.)
Для создания Caps Lock другой клавишей Ctrl отредактируйте файл/etc/default/keyboard и измените строку, которая читает
XKBOPTIONS=""кому:
XKBOPTIONS="ctrl:nocaps" # Some people prefer "ctrl:swapcaps"и затем выполненный:
$ sudo dpkg-reconfigure -phigh console-setup
После того, как я сделал это, если я нажимаю на "Show keyboard layout", похоже, что это работает: но это на самом деле не делает, эта повторно отображенная клавиша Caps Lock не может использоваться ни в каких комбинациях, как Ctrl+A для выбора всех, и т.д.
Что отсутствует здесь для переотображения его правильно?
Также я знаю об инструменте тонкой настройки Gnome, но он может только влиять на приложения, которые работают сверху Gnome, таким образом, что-либо работающее в Вине, например, не получает клавишу Ctrl, когда я нажимаю CapsLock, и я должен сделать перекарту глобально. Как AutoHotkey в Windows может сделать, или как macOS может сделать с созданным в установке.
Также попробованный:
/usr/share/X11/xkb/keycodes/evdev
позволять <CAPS>
имейте то же число как <LCTL>
(setxkbmap -print -verbose 10
говорит, что эти коды клавиши используются, если я понимаю это правильно), /usr/share/X11/xkb/symbols/pc
(изменение та строка к key <LCTL> { [ Control_L ] };
)обе попытки не работали вообще.
P.S. после каждой из этих попыток я также сделал полную перезагрузку
Полный вывод setxkbmap -print -verbose 10
:
$ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules: evdev
model: pc105
layout: us,ru,us
variant: ,,
options: grp_led:scroll
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete+ledscroll(group_lock)
symbols: pc+us+ru:2+us:3+inet(evdev)
geometry: pc(pc105)
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete+ledscroll(group_lock)" };
xkb_symbols { include "pc+us+ru:2+us:3+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
Полное содержание /etc/default/keyboard
после редактирования:
XKBLAYOUT="us,ru"
XKBVARIANT=","
BACKSPACE="guess"
XKBMODEL="pc105"
XKBOPTIONS="grp_led:scroll,ctrl:nocaps"
Я понятия не имею, что является "grp_led:scroll", таким образом, я думал, что будет более безопасно оставить его там
Обновление:
Полный вывод gsettings get org.gnome.desktop.input-sources xkb-options
:
['grp_led:scroll', 'ctrl:nocaps', 'grp:alt_shift_toggle']
Я все еще не знаю правильного решения, но кажется, что XKBOPTIONS и изменения в файлах в xkb каталоге влияют на все кроме Gnome, поэтому если я использую его в дополнение к тонким настройкам гнома затем, это работает в обеих ситуациях.
Ответ заключается в том, что вы должны изменить его в gnome-tweaks как для вашего пользователя, так и для пользователя root.
sudo gnome-tweaks # then set the capslock setting you want
gnome-tweaks # do it again
Это связано с тем, что пользовательские настройки переопределяют корневые настройки.
Проверено в Ubuntu 20.04
Спасибо пользователю @Gunnar-Hjalmarsson за подсказку, благодаря которой я нашел это.