レイアウトスイッチの組み合わせの一部としてキーを作成する

レイアウトスイッチの組み合わせの一部としてキーを作成する

次の設定でレイアウトを切り替えることができないのはなぜですか?

setxkbmap -layout us,ru -option grp:alt_caps_toggle,compose:caps

CapsLock作成キーを割り当て、そのキーに基づいてレイアウト切り替えの組み合わせを持つことはできますか?

Shift+CapsLockそしてコンボをどうやって消すのですか?

ベストアンサー1

これらがどのように定義されているかを見てみましょう。xkeyboardの設定

alt_caps_toggle:

// Pressing Alt+Caps_Lock switches to the next group,
// pressing Caps_Lock toggles CapsLock.
partial modifier_keys
xkb_symbols "alt_caps_toggle" {
    key <CAPS> {
       type="PC_ALT_LEVEL2",
       symbols[Group1] = [ Caps_Lock, ISO_Next_Group ]
    };
};

alt_caps_toggleCaps LockキーをCaps_Lock(レベル1)と(レベル2、()ISO_Next_Groupを押してアクセス)にマップします。Alttype="PC_ALT_LEVEL2"

caps:

partial modifier_keys
xkb_symbols "caps" {
    key <CAPS> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
};

caps両方のレベルをMulti_key(作成)にマップします。

これら2つの定義は互換性がありません。 Caps Lock キーを別のキーシンボルにマップします。そのうちの1つが他方を上書きします。

この機能を直接実装する必要があるかもしれません。次のようなものが必要な場合もあります。

type="PC_ALT_LEVEL2",
symbols[Group1] = [ Multi_key, ISO_Next_Group ]

すなわち、合成は第1レベルにあり、グループスイッチャはAlt補助スイッチャとして第2レベルにある。

おすすめ記事