Я хотел бы изменить поведение Caps Lock в виртуальных терминалах (например, Ctrl kbd> Alt kbd> F3 kbd>), чтобы оно действовало как элемент управления модификатор. В идеале, я бы хотел, чтобы он действовал как Escape, когда нажимается один, но просто получить поведение Control оказывается трудным.
Я использую Ubuntu 17.04. Я прочитал и попробовал множество подходов к внесению этого изменения, но ни один из них, похоже, не применим к моей системе, как описано Я чувствую, что systemd играет в этом роль, но детали неясны.
Я написал файл caps_control.kmap
, который отображает прописные буквы для контроля,
keymaps 0-255
keycode 58 = Control
Если я запускаю loadkeys caps_control.kmap
из виртуальной консоли, это работает. Теперь я хотел бы, чтобы он загружался автоматически при загрузке / входе в систему / что угодно ...
Я нашел ссылки на использование /etc/rc.local
для этого, но в моей системе такого файла нет, хотя в нем есть несколько каталогов, таких как /etc/rc0.d/
, /etc/rc1.d/
, ...
Похоже, поскольку Ubuntu 17 использует sytemd, я должен использовать localectl
для управления такого рода вещами, но мне не ясно, как это сделать. Например, в
$ localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: n/a
X11 Layout: us
X11 Model: pc105
$ localectl list-keymaps
Couldn't find any console keymaps.
на странице руководства для localectl
упоминаются /etc/locale.conf
и /etc/vconsole.conf
, ни один из которых не существует в моей системе.
Чтобы включить Caps Lock в дополнительный модификатор Ctrl, который также эффективен в tty консолях, откройте /etc/default/keyboard
для редактирования и установите:
XKBOPTIONS=ctrl:nocaps
Если у вас уже установлено XKBOPTIONS
, добавьте ctrl:nocaps
к существующему значению, используя запятую для разделителя, например:
XKBOPTIONS="terminate:ctrl_alt_bksp,ctrl:nocaps"
Должно вступить в силу после следующей перезагрузки или после выполнения команды setupcon
.
Опция должна присутствовать при запуске localectl status
:
$ localectl status | grep caps
X11 Options: ctrl:nocaps
А в сеансе X другой способ проверить, что он установлен:
$ gsettings get org.gnome.desktop.input-sources xkb-options
['ctrl:nocaps']