xkbを使用して複数の「レベル3」修飾子を取得する方法

xkbを使用して複数の「レベル3」修飾子を取得する方法

デフォルトの4レベルを使用してキーボードレイアウトを改善しようとしていますxkb(または2レベルと言うべきですか?この用語がわかりません)。

括弧を開くと、xkbにレコードがほとんどないことがわかります(または検索方法がわかりません)。 。次に、基本文字が最初に考慮され、次に各組合せについて増加される。矛盾が多いという意味..)

Mとにかく、これはいくつかのキーボードの主な4つのキー「組み合わせ」です。

// Pressing   <M> <Shift+M> <AltGr+M> <Shift+AltGr+M>
key <AB07> { [ m ,    M    ,    mu   ,      mu       ] }; // m M µ µ

他の修飾子を追加できますか?

たとえば、Iなどの追加の修飾子を使用すると、R Ctrl6つの組み合わせがあります。

// Pressing   <M> <Shift+M> <AltGr+M> <AltGr+Shift+M> <RCtrl+M> <RCtrl+Shift+M>
key <AB07> { [ m ,    M    ,    mu   ,    mu         , comma  , semicolon] };// m M µ µ , ;

または、3つの修飾子をすべて含む8つの組み合わせもあります。
実際、一部のファイルにはsymbolキーワードを含むレベル8マッピングがすでに存在しているようです。EIGHT_LEVEL

しかし、私はキーに42の組み合わせがあることを望んでいません。

代わりに、私は厄介な指の組み合わせを避けたいので、このためには、「直接アクセス」が可能な限られた組み合わせのみを好みます。

// Pressing   <M> <Shift+M> <AltGr+M>  <RCtrl+M>  <RWin>+M
key <AB07> { [ m ,    M    ,  comma  , semicolon ,    µ   ] }; // m M , ; µ

他のキャラクターやアクションまでマッピングしたいです。(矢印、開始/終了、ページ上/下)未使用の他の修飾語(Caps Lock、数値ロック)

どうすればいいですか?

とても感謝しています。

答え1

これを使用して、group「2つのキーストローク」目標を達成できます。

key <AB07> { 
type[group1]= "FOUR_LEVEL",
type[group2]= "TWO_LEVEL_BIS",
symbols[group1]= [ m ,    M    ,  comma  , NoSymbol],
symbols[group2]= [ semicolon ,    µ ] 
};

type TWO_LEVEL_BIS必須修飾子を使用してforを定義する必要があります。

Mode_switch実際のグループを追加するキーを知ることは価値があるので、その定義を確認してください。

関連情報