
setxkbmap
私が知っている限り、これは常に健全な黒魔法でした。最近インストールしましたDialloAPL。このコマンドを実行すると、dyalog
キーボード設定が完全にAPLモードに変わり、他のタスクにSuperキーを使用する機能が効果的に無効になります。さて、これは本当にかなり良いですしかし、私はAPLを使用しています。ただし、プロセスを閉じたときにウィンドウ間の切り替えやアクティビティメニューを開くなどの一般的な機能を実行できない、ほとんど役に立たないスーパーキーだけが残りました。だから私の質問はどうやって変えますか?
setxkbmap -print
特に、これは新しいログインの「正常」出力です。
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+us:2+inet(evdev)+capslock(ctrl_modifier)"};
xkb_geometry { include "pc(pc105)" };
};
(caps lock / ctrl修飾子はこの質問に関連していないので無視しても構いません。)
Dyalogを実行すると、キーマップは次のように変更されますsetxkbmap -print
。
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+apl(dyalog):2+us:3+inet(evdev)+group(win_switch)+capslock(ctrl_modifier)" };
xkb_geometry { include "pc(pc105)" };
};
それではsetxkbmap
、2番目の状態から1番目の状態に戻るためにどのコマンドを実行できますか?必要に応じてスーパーキーのデフォルト動作を復元したいと思います。
この質問の目的に重要なことがある場合は、X11でUbuntu 18.04.3 LTSとGnome 3.28.4を実行しています。
答え1
私はこれを達成するために出力を使用できるとは信じていませんが、デフォルトのsetxkbmap -print
キーボード状態を復元する少なくとも3つの異なる方法があります。
オプション0
実装する
xkbcomp "$DISPLAY" normal.xkb
キーボードはデフォルト状態です。xkbcompnormal.xkb
キーボードの完全な主キーマップを含むファイルを作成します。 Dyalogを使用した後、次のコマンドを使用してキーボードの状態を簡単に復元できます。
xkbcomp normal.xkb "$DISPLAY"
オプション1
~からman keyboard
、Debianベースのシステムの場合:
udevadm trigger --subsystem-match=input --action=change
オプション2
/etc/default/keyboard
関連設定で検索setxkbmap
コマンド:
setxkbmap [-model xkb_model] [-layout xkb_layout] [-variant xkb_variant] [-option xkb_options]
たとえば、次のように与えられます/etc/default/keyboard
。
XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="caps:swapescape,terminate:ctrl_alt_bksp"
次のコマンドを使用してデフォルトの状態を復元できます。
setxkbmap -model 'pc105' -layout 'us' -option 'caps:escape,terminate:ctrl_alt_bksp'
答え2
XKBに付属のAPLキーマップを直接使用するのはどうですか?
見て/usr/share/X11/symbols/apl、補助レイアウトとして使用できます。