web-dev-qa-db-ja.com

Xkbはどこで設定を取得していますか?

xkbがどこから構成を取得しているかを照会する方法はありますか? ArchLinuxでは/etc/X11/xorg.conf.d/00-keyboard.confと:

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "us,us"
    Option "XkbVariant" "altgr-intl,colemak"
    Option "XKbOptions" "ctrl:nocaps,grp:alt_shift_toggle"
EndSection           

しかし、私が起動したとき、私はsetxkbmap -query、私は得るだけです

rules:      evdev
model:      evdev
layout:     us,us
variant:    altgr-intl,

したがって、代替バリアントもオプションも認識されません(言うまでもなく、レイアウトを変更することはできません)。でも走ったら

setxkbmap -layout "us,us" -variant "altgr-intl,colemak" -option "ctrl:nocaps,grp:alt_shift_toggle"

正しい

rules:      evdev
model:      evdev
layout:     us,us
variant:    altgr-intl,colemak
options:    ctrl:nocaps,grp:alt_shift_toggle

それで、何かが私の設定を上書きしている可能性はありますか? GNOME /シナモンを実行しています

12
rabipelais

はい、GnomeはxkbX設定を上書きします。
CLIツールxkb/gsettingsまたはGUIツールdconf-editorを使用して、Gnomeでdconfレイアウト/オプションを設定できます。
したがって、gsettingsを使用してターミナルを開き、次のコマンドを実行します。

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'us+altgr-intl'), ('xkb', 'us+colemak')]"

そして

gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps','grp:alt_shift_toggle']"  

または、dconf-editorを起動して次のように編集します(各値は引用符で囲む必要があり、複数の値はcomma+spaceで区切られていることに注意してください)。

enter image description here

そして

enter image description here

どちらの方法でも同じ結果が得られます。

10
don_crissti