仮想端末のCaps Lockの動作を変更したい(tty e.g. CtrlAltF3)そのため、Control修飾子として機能します。理想的には、単独で押されたときにEscapeとして機能するようにしたいのですが、コントロールの動作を取得するだけでは難しいことが判明しています。
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をttyコンソールでも有効な追加のCtrl修飾子に変更するには、/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']