Chrome の無効なキーを xkb で再マップ

Chrome の無効なキーを xkb で再マップ

PageUpとPageDownキーが左と右のキーの真上に不自然に配置されているため、キーを再マッピングしました(XPS13 2018)。これを行うには、/usr/share/X11/xkb/symbolsの「pc」というファイルを変更しました。具体的には、次の行を置き換えました。

キー { [ 前回 ] };

キー { [ 次へ ] };

による

キー { [ NoSymbol, Prior ] };

キー { [ NoSymbol, 次へ ] };

その後、X サーバーを再起動しました。

これらの設定では、たとえば PgUp キーを押しても何も起こらず、Shift + PgUp を押すと通常の PgUp アクションが実行されます (PgDown の場合も同様)。

これで問題は解決したようです。ターミナル、テキスト エディター、その他の gtk アプリなどのすべてのアプリケーションで、キーが適切なアクションにマップされます。

私の唯一の問題は Google Chrome に関するものです。Shift + Pgup は何も機能せず、PgUp も機能しません (PgDown も同様)。これらのキーは Chrome では役に立たないようです。

システムと Chrome などの他のアプリの両方で、キー (PgUp/PgDown) を再マッピングして、通常どおりに押した場合には何にも割り当てられず、Shift + キー (または Ctrl + キー/Altgr + キーなど) を押すと通常の動作が実行されるようにする方法はありますか?

PS: xmodmap を使用してキーの再マッピングを試しました。これはターミナルとテキスト エディターでは機能しましたが、Chrome と他のいくつかの GTK アプリでは機能しませんでした。後者はマッピングを無視し、これらのキーの通常のアクションを実行するようです。

私はXサーバー(Waylandではありません)でUbuntu 17.10を実行しています。

答え1

問題は、Shift キーが依然として修飾子であるため、PgUp キーを押してもイベントは生成されないのに、Shift + PgUp を押すと Shift + PgUp イベントが生成されることだと思います。この設定では、Chrome が求めている単純な PgUp キー押下を生成する方法はありません。

これを回避する唯一の方法は、Shift キーを修飾子ではなくオーバーレイを選択するように変更することです。これは、AltGr の動作に似ています。AltGr + 4 を押すと、一部のキー レイアウトでユーロ通貨記号が表示されますが、同時に Alt が押されているようには見えません。

おそらく、Shift キーでこれを行うことは望ましくないでしょう (Shift キーに関連付けられている他の機能が失われるため)。ただし、別のキーを選択することはできます。キー レイアウトで Caps Lock キーを使用してグループを切り替えました。私の場合、一部の文字キーは通常どおり動作しますが、Caps キーを押したままにすると、それらの文字キーはカーソル移動用の矢印キーに変わります。

関連情報