setkeycodesを使用してキーコードを変更する方法

setkeycodesを使用してキーコードを変更する方法

Sabayon(Gentooベースのディストリビューション)を実行しているThinkpad Edge E130があり、よく知られているバグが苦労しています。Xorg 255キーコード制限

私のラップトップにはFn + F4ショートカットがあります。マイクをミュート/ミュート解除。問題は次のとおりです。

  • showkey -kキーコードの表示248Fn+F4 キーを押す
  • showkey -sキーを押すと何も表示されません
  • xevキーを押すと何も表示されません(248 + 8(カーネルによって追加された)が255より大きいため)

キーにキーコードがある場合は、スキャンコードも必要です。そしてスキャンコードを取得プログラムはスキャンコードで26を取得します。

# ./Sabayon/getscancodes/getscancodes /dev/input/event6 
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x17aa product 0x5054 version 0x4101
Input device name: "ThinkPad Extra Buttons"
26 (0x1a)
26 (0x1a)

~によるとこれスレッド、私の考えでは、ショートカットのキーコードを使用しないより小さなキーコードに変更するようです。たとえば、120は私の考えには使用されていないようです。$ xmodmap -pke

私は前に試しました

# setkeycodes 0x1a 120

しかし、成功しませんでした。キーコードは常に248ですshowkey。 。

キーコードを変更する正しい方法は何ですか?

ベストアンサー1

  1. showkeyキーストロークスキャンコードを学習するために使用されます。

    $ sudo showkey -s
    0xe0 0xXX
    
  2. カーネルはコードに8を追加します。112代わりに、以下を使用してください。120

    $ sudo setkeycodes e0XX 112
    
  3. xmodmapキーレポートをkeyymにするには、次の手順を実行XF86AudioMuteします。

    $ xmodmap -e "keycode 120 = XF86AudioMute"
    
  4. 任意に選択できる。 DE設定で目的の項目のショートカットを作成しながらキーを押します。

おすすめ記事