私のキーボード設定は次のコマンドです。
exec setxkbmap -layout us,us -variant altgr-intl,colemak -option caps:escape,grp:alt_shift_toggle
Caps Lockをqwertyのエスケープにマッピングしましたが、Colemak Caps Lockにはバックスペースキーがありました(だから私の質問はこれ)。 Colemakの左のバックスペースキーを再マップしてエスケープしたいのですが、右のバックスペースキーは変更されていません。上記のような単純なコマンドを使用してこれを行う方法はありますか?
答え1
/usr/share/X11/xkb/symbols/us
キーがシンボルを生成しても、まだ呼び出されていることがわかります。<CAPS>
BackSpace
見てくださいsetxkbmap -print
-us(colemak):2
キューにあるようxkb_symbols
です。
$ setxkbmap -print
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us(altgr-intl)+us(colemak):2+inet(evdev)+group(alt_shift_toggle)+capslock(escape)" };
xkb_geometry { include "pc(pc105)" };
};
その行を追加するとうまくいくと思いましたが、うまく+capslock(escape):2
いかないようです。そして、これがXKBオプションの一般的な問題なのか、それとも私が欠けている構文なのかを知ることができるほど、マルチグループレイアウトに慣れていません。
変更されたcolemak定義を提供する必要があるかもしれません。
// colemak layout with escape on capslock instead of backspace
partial alphanumeric_keys
xkb_symbols "colemak-esc" {
// start with existing colemak layout
include "us(colemak)"
key <CAPS> { [ Escape, Escape, Escape, Escape ] }
};
/usr/share/X11/xkb/symbols/us
または、自分のファイルに追加し$HOME/.xkb/symbols
てを使用してロードすることもできますsetxkbmap
。ロードの場所と方法の詳細については、次の追加リソースを参照してください。