昨日Logitech M545を購入しましたが、正常に動作していません。私の古いM705では、親指ボタンを使用してFirefoxやThunarなどで戻る/進むことができましたが、M545ではボタンを押すための通常のコードも送信しません。私が得るものは次のとおりです。
戻るボタン:
KeyPress event, serial 28, synthetic NO, window 0x7000001,
root 0x2d3, subw 0x0, time 7968516, (47,78), root:(3157,978),
state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0x7000001,
root 0x2d3, subw 0x0, time 7968516, (47,78), root:(3157,978),
state 0x50, keycode 40 (keysym 0x64, d), same_screen YES,
XLookupString gives 1 bytes: (64) "d"
XmbLookupString gives 1 bytes: (64) "d"
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x7000001,
root 0x2d3, subw 0x0, time 7968524, (47,78), root:(3157,978),
state 0x50, keycode 40 (keysym 0x64, d), same_screen YES,
XLookupString gives 1 bytes: (64) "d"
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x7000001,
root 0x2d3, subw 0x0, time 7968530, (47,78), root:(3157,978),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
転送ボタン:
KeyPress event, serial 28, synthetic NO, window 0x7000001,
root 0x2d3, subw 0x0, time 7969328, (47,78), root:(3157,978),
state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x7000001,
root 0x2d3, subw 0x0, time 7969436, (47,78), root:(3157,978),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
DebianとUbuntuの両方の鮮やかな、いくつかの異なるカーネルで試しました。
これらのボタンを再マッピングして慣れた動作を取得する方法、およびボタンとキーボードの押下を区別する方法を教えてください。また、両方のボタンがSuper_Lを送信するので、それらを区別する方法を教えてください。
再マッピングがキーボードからSuper_Lを失うことを意味する場合は、そうではありませんが、理想的ではありません。
何か案は?
M560/M545/M546のドライバーを提供する GitHubのレポ を作成しました。
それをダウンロードし、適切なカーネルバージョンにソースをチェックアウトし、make && Sudo make install
を実行します。その後、xbindkeys-config
を使用してマッピングできます。
通常、このような場合にボタンを再プログラムするには、Logitechユーティリティを実行する必要があります。 VirtualBoxで問題なく動作します。
(私のG300での経験と、M545の説明がプログラム可能であると言っているという事実から)
別の可能性はevrouterデーモンです。入力デバイスからのイベントをオンザフライで変更できます。問題を修正したり、ボタンの機能をさらに拡張したりするために使用できます。
私は(なんとか)それをうまくやった。
以下を使用して「/etc/udev/hwdb.d/90-logitech-m-545.hwdb」を作成します。
# Logitech M545
keyboard:usb:v046DpC52B*
KEYBOARD_KEY_70007=back
KEYBOARD_KEY_700E3=forward
次に:
udevadm hwdb --update
レシーバーのプラグを抜き、再び差し込むと、少なくともFirefoxではサムボタンが正常に動作するようになりました。
これはキーボードイベントを送信するための回避策にすぎませんが、私が主に望んでいることを実行します。
編集:コードを修正