頑張るアナログ数字キーボードキーデフォルトのキーボードにありますが、xkbで問題が発生しています。
<LWIN>+<AD07>を「左」に変換するには? (別名スーパー+u)
Shift、Ctrl(Altも望ましい)とうまく機能するはずです。
私が得た最も近いものは次のとおりです。
type "wkafk1" {
modifiers = Shift+Super;
map[Shift]= Level2;
map[Super] = Level3;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Fn";
};
...
key <AD07> {
type= "wkafk1",
symbols[Group1]= [ u, U, Left ]
};
ただし、Shift+Super+u は処理されません。
これも非常に近いです。
type "wkafk1" {
modifiers = Shift+Super;
map[Shift]= Level2;
map[Super] = Level3;
map[Shift+Super]=Level4;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Fn";
level_name[Level4] = "Fn Shift";
};
...
key <AD07> {
type= "wkafk1",
symbols[Group1]= [ u, U, Left, Shift+Left ]
};
ただし、変更されたシンボルをエクスポートする方法がわからないため、コンパイルされません(Shift + Leftは許可されていません)。
action = RedirectKey(...)を使用して「説明」ステートメントが必要ですか?
答え1
ありがとう現在の技術、次のように進みなさい:
- 現在の構成のコピーを作成します。
xkbcomp $DISPLAY custom.xkb
- 編集者によって作成されました
custom.xkb
。 - セクションの終わりを見つけて、
xkb_types
次を追加します。
type "wkafk1" {
modifiers = Shift+Super;
map[Shift] = level2;
map[Super] = level3;
map[Super+Shift] = level3;
level_name[Level1] = "Base";
level_name[Level2] = "Caps";
level_name[Level3] = "Arrows";
};
<AD07>
セクションのキー定義をxkb_symbols
次に置き換えます。
key <AD07> {
type= "wkafk1",
symbols[Group1]= [ u, U, NoSymbol],
actions[Group1]=[ NoAction(), NoAction(), RedirectKey(key=<LEFT>,clearmods=Super)]
};
- カスタム構成をコンパイルして使用します。
xkbcomp custom.xkb $DISPLAY
この点に注意してくださいShift キーと Ctrl キーで使用コンビネーション。