xmodmapを使用して修飾子+特定のキーを新しいキーにバインドする方法の例はほとんどないようです。
Shiftたとえば、左(キーコード50)+ `(キーコード21)をバインドしてアクセント文字をエクスポートしたいと思います。
`
これはノルウェー語キーボードでは通常の動作ですが、Macbook Pro(Linux実行)ではそうではありません。
私はxevを使用してキーコードを取得しており、個々のキーを正常にマッピングできます(見つからない他の記事の助けを借りて)。バックスペースやドル記号など、必要な他のキーは次のように取得できます。
keycode 134 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key
keycode 21 = backslash bar
しかし、どうすればいいですか:
keycode 50 + keycode 21 = Grave character
これは正しい構文ではありませんが、私が欲しいものが何であるかを明確にします。
通常、Shiftなどの修飾キーは構文でどのように正しく使用されますか?修飾キーだけを組み合わせて使用できますか?
「keycode 50 keycode 21 = A」や「keycode 50 + keycode 21 = A」などの簡単なことを試しました。 (「A」は私が望む文字ではなく、テスト目的でのみ使用しています。)
答え1
キーコード(例:Shift+ \)は、キーを直接結合するのではなく、キーと修飾子のセットを組み合わせることによって指定されます。したがって、「キーコード50 +キーコード21」の代わりに「キーコード21 + Shift修飾子」を指定する必要があります。修飾子のみを結合できます。また、xmodmapには特定の制限があります。つまり、特定のキーのすべてのキーコードを同時に指定する必要があります。
keycode 21 = backslash grave acute
Shift等号の後の最初のキー記号(文字またはファンクションキー名)は、主キーに対応するキーで、次には、に対応するキー、次にAltGr+です。ShiftAltGr
デッドキーが必要な場合は、次のように変更します。
keycode 21 = backslash dead_grave dead_acute
ただし、標準ノルウェー語のレイアウトが必要な場合は、デスクトップ環境の構成インターフェイスでそれを選択するか、XKBsetxkbmap -layout no
- ノルウェー語のレイアウトに切り替えます。