XKB透明度マッピング修飾子レベル

XKB透明度マッピング修飾子レベル

最初と2番目のレベルで使用するレイアウトはQWERTYではありません。

    key <AC06> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               m,               M,        Left,        Home ]
    };
    key <AB01> {
        type= "ALPHABETIC",
        symbols[Group1]= [               x,               X ]
    };

レイアウトをQWERTYキーに戻すには、Ctrl(左Ctrlまたは左Ctrl)を含むキーの組み合わせが必要です。

Ctrl+<AB01>したがって、私が望むものを入力したらCtrl+z、私がctrl+shift+<AB01>望むものを入力するだけですCtrl+shift+zCtrl+<AC06>=Ctrl+hちょっと待って

xkbはこれを行うことができますか?

ベストアンサー1

2つの重要なフォルダがあります。

  • /usr/share/X11/xkb/symbolsこれは、ほとんどのディストリビューションでは、Qwertyではなくレイアウトの場所です。
  • /usr/share/X11/xkb/types修飾子(たとえば、CtrlまたはShift)の動作に使用されます。

Ctrl4つの公式レベルがあり、およびShiftLock別名)と互換性がありますCapsLock
このコードを次の場所に追加しました/usr/share/X11/xkb/types/level5

type "QWERTY_CONTROL" {
    modifiers = Shift+Control+Lock;
    map[None] = Level1;
    map[Shift] = Level2;
    map[Control] = Level3;
    map[Shift+Control] = Level4;
    preserve[Control] = Control;
    preserve[Shift+Control] = Control;
    map[Lock] = Level2;
    map[Lock+Shift] = Level1;
    map[Lock+Control] = Level4;
    map[Lock+Shift+Control] = Level3;
    preserve[Lock+Control] = Control;
    preserve[Lock+Shift+Control] = Shift+Control;
    level_name[Level1] = "Base";
    level_name[Level2] = "Shift";
    level_name[Level3] = "Alt Base";
    level_name[Level4] = "Shift Alt";
};

2行目の後に追加しましたpartial default xkb_types "default" {。代わりに
型名を使用する必要があります。QWERTY_CONTROLFOUR_LEVEL_ALPHABETIC

キーボードレイアウトのコードです。私のエントリを次に追加しました/usr/share/X11/xkb/symbols/oo

partial alphanumeric_keys
xkb_symbols "half_qwerty" {
    augment "level5"
        name[Group1]="french ergodox compat";

    key.type[Group1] = "QWERTY_CONTROL";

    key <LatA> {[egrave, Egrave, a,A]};
    key <LatS> {[eacute, Eacute, s,S]};
    key <LatD> {[p, P, d,D]};
    key <LatF> {[apostrophe, degree, f,F]};

};

その後、実行してみsetxkbmap oo -variant half_qwertyてください。 ()、()、および中央の行に配置する必要
があります。一緒に使用すると、まだ、、、です。èegraveéeacutep'
Ctrlasdf

注:複数のソフトウェアでテストしました。

  • MPV、Dolphin、Gedit、LibreOffice、Firefox、ST + ZSH、ST + NeoVim、およびRofiと連携します。
  • Chromiumではうまく動作しません。

おすすめ記事