web-dev-qa-db-ja.com

Linux上のLogitechM560マウスは、めちゃくちゃな入力イベントを送信します

私の友人は昨日LogitechM560マウスを購入し(あなたはそれを見ることができます ここ )、彼女のUbuntuシステムでそれを試しました。比較的新しいモデルのようですので、logitech自身のウェブサイトを除いて、どこにもそれに関する情報はありません。キーマッピングはオフでしたが、ボタンの再マッピングは簡単だと思いました。過去10年間、さまざまなLogitechマウスを使用してマッピングを行ってきました。ただし、ボタン13とボタン2を切り替える必要がある他のマウスとは異なり、このマウスは、キーボードで入力したかのように、いくつかのキー押下イベントを送信します。

マウスには、左クリックボタンと右クリックボタン、傾斜機能付きのスクロールホイール(4ボタン)、側面の戻るボタンと進むボタン、ホイールの後ろにある小さな四角いボタン(合計9つのボタン)があります。ホイールを押すことはミドルクリックとして機能せず、その下にスイッチはありません。代わりに、ホイールを押すとロックがオンまたはオフになり、段階的または自由に回転できるようになります。

すべての「通常の」ボタンに想定どおりの動作をさせ、ミドルクリックアクションをホイールの後ろの小さなボタンにマッピングしたかったので、xevとxinputから始めて、どれがどれかを特定しました。

ボタン1->左クリックボタン3->右クリックボタン4->ホイールアップボタン5->ホイールダウンボタン8->左に傾けるボタン9->右に傾ける

そして、ここに奇妙な部分があります。進むボタンを押すことは、Super_R(キーコード134)を押すことに似ています。戻るボタンを押すと、Super_Lとd(キーコード133と40)が同時に生成されます。

さらに奇妙なことに、四角いボタンを1回押すと、Alt_L、Super_L、XF86TouchpadOff(キーコード64、133、201)が同時に表示されます。もう一度押すのは、ボタン1を押すようなものです。

したがって、最初の6つのボタンはボタンのプレス/リリースイベントを送信し、他の3つのボタンは複数のキーのプレス/リリースイベントを送信します。

マウスボタンをキーボードのキーコードにマッピングするのは比較的簡単ですが、システムのキーボードを壊すことなく、その逆を行うことは可能ですか?マウスのサポートを追加するには、kernel.orgの誰かに連絡する必要がありますか?

6
xander.pl

Udevを介してキーを再マップできます。マウスはキーボードとして機能します。この回避策があります: https://bugzilla.redhat.com/show_bug.cgi?id=1035668

5
Jerone Young

これは私の構成です:

~$ cat .xbindkeysrc |egrep -v "^$|^#"
"xte 'mouseclick 2'"
    m:0x50 + c:134

このようにして「work "」とすると真ん中のボタン。

貼り付ける場所を選択した後、ボタンをクリックして、右ボタンを押しながらコピー/貼り付けする必要のあるテキストを選択します。同じテキストをもう一度貼り付ける必要がある場合は、四角いボタンで毎回同じイベントが発生するわけではないので、すばやく2回クリックします。

別のテキストを選択すると、四角いボタンから散らばるイベントは常に、xteがミドルクリックをエミュレートするイベントになります。

完璧ではありませんが、ミドルクリックをまったく行わないよりはましです。

1
Emmanuel

あの男になってすみませんが、ご容赦ください。私はLogitechマウスとポインティングデバイスを、Windows、Linux、およびその両方の多くのマシンで問題なく使用してきました。 Windows 8デバイスとして宣伝されていたT650タッチパッドでさえ、ファームウェアの更新によりLinuxで正しく機能しました。 M560は、Windows以外では、かなり過度のハッキングがなければ、100%正しく動作させることはできません。他の誰かと古い/動作しているモデルと交換できるかもしれませんし、マウスがWindows以外のものと互換性がないことがパッケージからまったく明らかでないため、払い戻しを受けることができるかもしれませんが、私は本当にそうしませんそれに多くの時間を費やすことはお勧めしません。

私は個人的にM560をマウスの使用量が少ないHTPCに追放しました。

0
Forge