Xサーバーに特定のキーシンボルとステータスを生成させるにはどうすればよいですか?

Xサーバーに特定のキーシンボルとステータスを生成させるにはどうすればよいですか?

私はMacbookを持っており、正しい「Command」キー(Super_R、RWINとも呼ばれます)をAltGrにマッピングしたいと思います。私がこれをしたいのは、通常のノルウェー語キーボードが角かっこキーと中かっこキーなどをマッピングする方法です。

しかし、これが問題です。

まず、ほとんどのプログラムでうまく機能するxmodmapを使ってキーをマッピングしました。しかし、一部のプログラム、特にFirefoxでは動作しません。

関連質問ですが役に立ちませんでした。

https://superuser.com/questions/801611/how-to-make-all-applications-Respect-my-modified-xkb-layout

https://wiki.archlinux.org/index.php/X_KeyBoard_extensio:

AltGr+i,j,k,l をカーソルキーで正しく機能させるには?

Xmodmapソリューション:

keycode 134 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift

これがXmodmapの問題だと疑われ、XKB(X Keyboard Extensions)を使ってみました。https://wiki.archlinux.org/index.php/X_KeyBoard_extension

key <RWIN> {         [ ISO_Level3_Shift ] };

しかし、同じ問題がまだ存在します。

そして「問題」とは、それがまったく機能しないことを意味します。たとえば、新しいAltGr + 4を押すとドル記号が生成されるはずですが、そうではありません。ほとんどのプログラム(xtermなど)ではうまく機能しますが、Firefoxでは機能しません。 Firefoxは「$」の代わりに「4」を生成します。

に掲示されているようにhttps://superuser.com/questions/801611/how-to-make-all-applications-Respect-my-modified-xkb-layout説明する:

「一部のアプリケーションはControl_L自体などの主要なシンボルを追跡し、他のアプリケーションは状態の修飾子ビットのみを検索します。」

「ほとんどの実行に失敗したプログラムは修飾子を観察し、一部のプログラムがアクティブな間は実行したくありません。」

私はFirefoxが同じことをすると信じています。

私の質問は、特定のキーの組み合わせを押したときにXサーバーがアプリケーションに正確なステータスを送信できるようにするにはどうすればよいですか?

これが私が持っているものです:

KeyPress event, serial 37, synthetic NO, window 0x4200001,
    root 0x2de, subw 0x0, time 1100024, (222,-357), root:(1005,749),
    state 0xc0, keycode 13 (keysym 0x24, dollar), same_screen YES,
    XLookupString gives 1 bytes: (24) "$"
    XmbLookupString gives 1 bytes: (24) "$"
    XFilterEvent returns: False

これは私が望むものです(適切なキーボードを持つ他のラップトップからのものです。関係がないため、手動で入力するのは面倒です)。

KeyPress event, serial 37, synthetic NO, window ...
   root 0x233, subw 0x0, time ...
   state 0x90, keycode 13 (keysym 0x24, dollar), same_screen YES,
   XLookupString gives 1 bytes: (24) "$"
   XmbLookupString gives 1 bytes: (24) "$"
   XFilterEvent returns: False

関連部分は「国」だと思います。ステータス指定修飾キーです。

Super_R + 4を押したときにXにこのステータスとキーシンボルを生成させるにはどうすればよいですか?これを見つけることができれば、必要な他のキーもマッピングでき、ついに機能するキーボードがあります。

ベストアンサー1

おすすめ記事