Xkbまたは他のツールを使用してCaps Lockを永続的にバインドする方法 ctrl+b ターミナルにいる間?
(これは作ることです Caps Lock tmuxのデフォルトのプレフィックスキー。特定のキーにマップすることもできます。代わりにtmuxプレフィックスにすることができるファンクションキー)
XKBはXwindowsまたはWayland GUIに適しています。仮想コンソールには影響しませんが、GUI端末エミュレーターは問題ありません。 XKBの背景については 一部(概要、システムとユーザー) .. その他(カスタムオプション) .. 回答(カスタムルール) 。
以下により、通常使用するツール(setxkbmap
、localectl
設定、GNOMEパネルなど)を使用して、caps:myf13
などの新しいオプションを既存のXKBレイアウトに追加できます。
既存のXKB capslockオプションは、/usr/share/X11/xkb/rules/evdev.lst
にリストされています。 .../rules/evdev
ファイル内の対応するオプションを見ると、これらのオプションはすべてファイル.../symbols/capslock
からロードされていることがわかります。それらはすべて修飾キーであり、おそらく最良の例ではありませんが、caps:backspace
は良い比較かもしれません。ファイルを見ると、このオプションを定義しているスタンザが見つかります。
hidden partial modifier_keys
xkb_symbols "backspace" {
key <CAPS> { [ BackSpace ] };
};
grep
'他のシンボルファイルを調べてみると、F13シンボルは単にF13
であることがわかります。新しいオプションスタンザは次のようになります。
hidden partial modifier_keys
xkb_symbols "myf13" {
key <CAPS> { [ F13 ] };
};
ご覧のとおり、キーに割り当てられたオプションとシンボルの名前のみを変更しました。
あとは、新しいスタンザを接続するだけです。基本的なXwindowsシステムでは、setxkbmap
やxkbcomp
などのコマンドラインツールを使用して、 カスタムユーザーの場所 で問題ありません。 GNOME、KDE、またはWaylandシステムの場合、システムXKBデータベースに変更を加える必要があります。
システム変更の例として(これらのファイルを作成または編集するにはSudo
アクセスが必要です):
カスタムスタンザを新しいシンボルファイル(例:/usr/share/X11/xkb/symbols/mycaps
)に配置します。
これを/usr/share/X11/xkb/rules/evdev
の行のすぐ下のcaps:backspace
に追加します。
caps:myf13 = +mycaps(myf13)
... /usr/share/X11/xkb/rules/evdev.lst
に追加:
caps:myf13 Caps Lock is F13
... /usr/share/X11/xkb/rules/evdev.xml
に追加:
<option>
<configItem>
<name>caps:myf13</name>
<description>Caps Lock is F13</description>
</configItem>
</option>
最後に、.../rules/evdev*
ファイルのバックアップを作成するか、パッチファイルを作成します。 xkb-data
パッケージが更新されるたびに、変更は上書きされます。変更スタンザを.../symbols/capslock
ファイルに保存した場合、同様にバックアップする必要があります。
これらの変更が行われたら、このオプションを他のXKBオプションであるかのように設定できるはずです。コントロールパネルのGNOME/KDEセッションを再起動して変更を反映する必要があるかもしれませんが、setxkbmap
などのツールはすぐにそれを見つけるはずです:setxkbmap -option caps:myf13