AltGrをバインドする方法+

AltGrをバインドする方法+

私はSarala(Hard la)と呼ばれる人間工学に基づいたTeluguキーボードレイアウトに対応するLinuxを作成しようとしています。これまですべてのキーをマッピングできました。レイアウトは各レベルに次のキーの組み合わせを使用します。

None (Base): Level1
Shift: Level2
Ctrl + Alt: Level3
Ctrl + Alt + Shift:Level4

Linuxはさまざまなレベルで以下を使用します。

None (Base): Level1
Shift: Level2
RAlt: Level3
RAlt + Shift:Level4

自分のレイアウトにキーの組み合わせを一致させるには、マッピングに+をAltGr使用する必要があります。検索しましたが成功しませんでした。 +バインディングの使い方を知っている人はいますか?CtrlAlt/usr/share/X11/xkb/ISO_Level3_ShiftCtrlAlt

key <RALT>  {
    symbols[Group1]= [ Mode_switch, Multi_key  ],
    virtualMods= AltGr
};

レイアウトを見たい場合は、ここ

答え1

新しいxkbタイプを定義する必要があります。 xkb / typesディレクトリに(通常)例を見ることができます/usr/share/X11/xkb/types。さまざまなレベルの動きを得るために修飾子の組み合わせを定義できます。問題には次のものを使用できます。

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

次に、シンボルファイルでそのタイプをデフォルトタイプに設定するか、キーごとにタイプを設定できます。型は型ディレクトリのファイルにあり、キー定義はシンボリックディレクトリのファイルになければなりません。 xkb は厳密なファイルシステム階層を使用して各コンポーネントを検索します。

私はカスタムレイアウトを作るためにキーボードレイアウトをかなり修正しました(https://github.com/willghatch/hatchak)、奇妙なことを試みる様々な反復を経た。 XKBは時々トリッキーで奇妙なことがありますが、今まで見たキーボードシステムの中で最も構成可能なキーボードシステムです。さらに問題がある場合は、最良の参考資料は次のとおりです。

[編集:元のリンクは現在ダウンしていますが、幸いなことにarchive.orgが存在します。]

https://web.archive.org/web/20150722164820/http://www.charvolant.org/~doug/xkb/html/index.html

そして

https://web.archive.org/web/20190419170426/http://pascal.tsu.ru/en/xkb/

参考にしてください。これは私が見つけた最高の文書ですが、あいまいなケースがたくさんあります。頑張ってください。

答え2

AltGrをサポートするキーボードレイアウトが必要なようですので、設定メニューの「キーボード>ショートカット>代替文字キー」でショートカットを変更するだけです。通常、レイアウトを「Have Dead Keys」に変更するか、「AltGr Dead Keys」と書いて確認することができます。

関連情報