各キーボードレイアウトを選択するために一意のショートカットを使用するようにxkbを設定しました(en = Win + 1、de = Win + 2、jp = Win + 3)。
replace key <I156> { [NoSymbol], actions[Group1] = [ LockGroup(group=1) ] };
replace key <I157> { [NoSymbol], actions[Group1] = [ LockGroup(group=2) ] };
replace key <I210> { [NoSymbol], actions[Group1] = [ LockGroup(group=3) ] };
replace key <LWIN> {
symbols[Group1] = [ Super_L ],
actions[Group1] = [ SetControls(controls=overlay1) ]
};
key <AE01> { overlay1 = <I156> };
key <AE02> { overlay1 = <I157> };
key <AE03> { overlay1 = <I210> };
ただし、Winキーのショートカット(Win + Tなど)は破損します。ホットキーを壊さずにオーバーレイを切り替えるようにキーストロークを設定できますか?