caps-lockをUbuntu 17の仮想コンソールで制御するように変更


10

仮想端末(ttyなどCtrlAltF3)のCaps Lock動作を変更して、コントロール修飾子として機能させたいのですが。理想的には、単独で押したときに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はシステムを使用しているので、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とのmanページ/etc/vconsole.conf。どちらも私のシステムには存在しません。

私は完全に途方に暮れています。誰かが私を正しい方向に向けることができますか?


この変更をすべてのユーザーに対して有効にする必要がありますか?
エイサー

@acerどちらの方法も適しています。私がこのマシンで唯一のユーザーだからです。
ivan

とうーん...あなたは〜/ .profileにして行を追加loadkeys caps_control.kmapログイン時にそれが実行されます。
エイサー

loadkeys〜/ .profileからの@acer呼び出しは問題があるようです。ログインすると、「コンソールを参照するファイル記述子を取得できませんでした」というエラーが表示されます。
ivan

回答:


11

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']

1
別のXKBオプションは"ctrl:nocaps"です。Xでは、違いはわずかです。ctrlオプションをxev使用するとControl_L、CapsLockキーが押されたときに他のツールに記号が表示されcapsますが、オプションにはキー記号が表示されますCaps_Lock。その違いが仮想コンソールのキーマップに変換されるかどうかはわかりません。
quixotic

@quixotic:言及していただきありがとうございctrl:nocapsます。回答に追加しました。
Gunnar Hjalmarsson 2017

これが私にとってうまくいかない理由はありますか?それは実際に私が最初に試みたものの1つであり、私はそのアプローチが好きです。残念ながら、それは私のシステムに影響を与えません。
ivan

1
@ivan:自分でテストしたところ、最初の提案(caps:ctrl_modifier)はttyでは効果がないことがわかりました。しかし、私にとっては(17.10)ctrl:nocapsです。私の編集した答えを見てください。
Gunnar Hjalmarsson 2017

1
@GunnarHjalmarsson私はXKBマップをコンソールマップに変換するdebian / ubuntuの方法にあまり詳しくありません(これにはckbcomp、が含まれていると思いますか?)。私がcaps:ctrl_modifier最初に言及したオプションを覚えていなかったので、ctrl:nocaps私が通常使用するオプションと比較するために調べ、その違いをここで言及する価値があると考えました。お役に立てて嬉しいです。
quixotic
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.