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