Logicool MX400ワイヤレスを持っています。貼り付けに使用したい検索ボタンがあります(非常に敏感ですが、スクロールホイールを押すのは難しい)。xbindkeysを使用して他のボタンを再マップし、xevを使用してボタンプレスコードを見つけましたが、これは検索ボタンでは機能しません。xevを使用して検索ボタンをクリックすると、次のイベントが発生します
FocusOut event, serial 34, synthetic NO, window 0x3c00001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 34, synthetic NO, window 0x3c00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 34, synthetic NO, window 0x0,
keys: 4294967275 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PropertyNotify event, serial 34, synthetic NO, window 0x3c00001,
atom 0x1d7 (_NET_WM_ICON_GEOMETRY), time 23653064, state PropertyNewValue
ButtonPressイベントはありません。Xイベントの下のレベルで検索ボタンが傍受されているようです。何か案は?私はubuntu 12.04を持っています。Ubuntuは実際にクリックを認識して検索ダイアログを生成しますが、xevにはクリックイベントの痕跡はありません。
編集する
xmodmapで提供されているメソッドを確認しました。私.Xmodmap
には次の行が含まれています
keycode 225 = XF86Paste NoSymbol XF86Paste``
ここで実行xmodmap ~/.Xmodmap
すると、ボタンが完全に無効になります(または、少なくとも、ボタンを押しても結果が得られません)。私が試しましたxmodmap -pke
、そしてそれは印刷します:
keycode 225 = XF86Paste NoSymbol XF86Paste NoSymbol XF86Paste
奇妙なことに。他のすべてのエントリは同様にフォーマットされます。私は解決策に近いですが、まだ奇妙なことが残っています。
編集2
私はxinputを実行しようとしました(このコマンドを聞いたことはありません。素晴らしいものです)。Logitechには2つのエントリがあります。それぞれのリストの出力は次のとおりです(ID 9および10)。
Logitech USB Receiver id=9 [slave pointer (2)]
Reporting 7 classes:
Class originated from: 9. Type: XIButtonClass
Buttons supported: 24
Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right" "Button Side" "Button Extra" "Button Forward" "Button Back" "Button Task" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown"
Button state:
Class originated from: 9. Type: XIValuatorClass
Detail for Valuator 0:
Label: Rel X
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 9. Type: XIValuatorClass
Detail for Valuator 1:
Label: Rel Y
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 9. Type: XIValuatorClass
Detail for Valuator 2:
Label: Rel Horiz Wheel
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 9. Type: XIValuatorClass
Detail for Valuator 3:
Label: Rel Vert Wheel
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 9. Type: XIScrollClass
Scroll info for Valuator 2
type: 2 (horizontal)
increment: 1.000000
flags: 0x0
Class originated from: 9. Type: XIScrollClass
Scroll info for Valuator 3
type: 1 (vertical)
increment: -1.000000
flags: 0x2 ( preferred )
Logitech USB Receiver id=10 [slave pointer (2)]
Reporting 6 classes:
Class originated from: 10. Type: XIButtonClass
Buttons supported: 7
Button labels: "Button 0" "Button Unknown" "Button Unknown" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right"
Button state:
Class originated from: 10. Type: XIKeyClass
Keycodes supported: 248
Class originated from: 10. Type: XIValuatorClass
Detail for Valuator 0:
Label: Rel X
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 10. Type: XIValuatorClass
Detail for Valuator 1:
Label: Rel Y
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 10. Type: XIValuatorClass
Detail for Valuator 2:
Label: Rel Horiz Wheel
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 10. Type: XIScrollClass
Scroll info for Valuator 2
type: 2 (horizontal)
increment: 1.000000
flags: 0x0
テストデバイス9は、ボタンでは何もしません。テストデバイス10が代わりに機能し、これが私がクリックしたときの出力です
$ xinput test 10
key press 225
key release 225
key press 225
key release 225
key press 225
key release 225
したがって、この点ではマウスがキーボードとして機能しているように見えますが、何らかの理由で、キー225を受け取ったときにxmodmapは何もしません。
**編集**
ボタンをクリックkeycode 225 = a
するa
たびにプリントが追加されることを確認できます。したがって、問題はXF86Pasteが実際に処理される方法に関連しているようです。送りますが貼り付けではありません。
tail -f /var/log/dmesg
、ボタンを押してみてください。キー/ボタンに関する出力はありますか?
xinput list
見つけ、次にで検索キーのボタンコードを見つけてくださいxinput test <MOUSE ID>
。これは機能しますか?
xev
が、何も起こりません。つまり、貼り付けにはCTRL + vのキーの組み合わせを使用する必要があります。Xmodmapはボタンを1:1にマップしますが、キーボードショートカットの設定を使用して、キーを押したときにコマンドの実行をトリガーできます(私の回答を参照)。
xbindkeys
起動時に実行するように設定しましたか?それを無効にして再試行できますか?