LinuxでThinkpad USBキーボードの戻る/進むキーを再マッピングすることは可能ですか?


8

Thinkpadラップトップでは、戻る/進むキーを別のキーに簡単に変更できます(通常はPageDown / PageUpにマップします)。これは、独自のキーコード(166および167)を持っているためです。

xmodmap -e 'keycode 166=Prior'
xmodmap -e 'keycode 167=Next'

しかし、私のThinkpad USBキーボードでは、戻る/進むキーがそれぞれAlt + LeftおよびAlt + Rightにハードマップされているように見えるため、xmodmapを使用してそれらを再マップすることはできません。それらを再マッピングできる他の方法はありますか?私はすでにxautomationを試しましたが、うまくいきませんでした。

これは、Forwardキーを押したときに「xev」が表示するものです。

KeyPress event, serial 36, synthetic NO, window 0x4e00001,
    root 0xb4, subw 0x0, time 65023191, (16,-20), root:(641,33),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x4e00001,
    root 0xb4, subw 0x0, time 65023191, (16,-20), root:(641,33),
    state 0x8, keycode 114 (keysym 0xff53, Right), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x4e00001,
    root 0xb4, subw 0x0, time 65023271, (16,-20), root:(641,33),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x4e00001,
    root 0xb4, subw 0x0, time 65023271, (16,-20), root:(641,33),
    state 0x0, keycode 114 (keysym 0xff53, Right), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

1
キーにキーコードがある場合、それらは正しく再マッピングできますか?Caps Lockキーと何が違うのですか?このページはそれをうまく再マップしているようです。私はそれを試していません。提案しています。efod.se/writings/linuxbook/html/caps-lock-to-ctrl.html
Bibhas

問題は、キーコードがなく、代わりにalt-left / alt-rightに
固定されていることです

回答:


0
  1. xdotoolをインストールする
  2. 実行するkeypressコマンドのスクリプトまたはシェルエイリアスを作成します(xdotool key --clearmodifiers Page_Down
  3. そのスクリプト/エイリアスをデスクトップ環境のホットキー/ショートカット構成で送信されたコンボ(Alt +左​​)にバインドします。

gnome-control-centerでは、USBキーボードの [戻る] / [進む]ボタンをショートカットに割り当てることができないようです(実際に割り当てることはできますが、それにマップしたコマンド/アクションは呼び出されません) / happen)、compizのCommandsプラグインなど、他の何かを使用する必要があるかもしれません。


1
提案@sleighboyをありがとう。xautomationでそれを試しましたが、うまくいきませんでした。理由については、以下の自分の回答を参照してください
ギルヘルムサルガード

1
実際、これが最終的な答えになるはずです。ここでは、うまくいかなかった理由を説明します。実行するコマンドはxdotool key --clearmodifiers Page_Up、何らかの理由でgnome-control-centerのショートカットのアクセラレータが機能しないように、戻る/進むボタンを割り当てる必要がありますが、compizの「コマンド」プラグインを使用すると機能します。
ギル

0

これを.bashrcに入れます:

# this maps the previous and next page buttons to pgup and pgdown 
xmodmap -e "keycode 167 = Next" 
xmodmap -e "keycode 166 = Prior"

うまく動作しますが、何らかの理由でvirtualbox 6でそれをカットしていないようです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.