1

プロジェクトで使用したい Logitech Wireless Touchpad があります。この装置のいずれかを使用して顕微鏡ステージを駆動することに興味があります。理想的には、タッチパッドをコンピュータに接続し、その唯一の目的はマウスとして機能するのではなく、ステージを操作することです。通常のマウスは、ウィンドウと私のプログラムのユーザー インターフェイスをナビゲートするために使用されます。

ここに問題があります。このデバイスの機能を再構成する方法がわかりません。タッチパッド用の新しいドライバーを作成する必要があるようです。ただし、デバイス用の新しいドライバーを作成することは、正しく行わないと深刻な結果をもたらす大仕事になる可能性があるようです。これまでドライバーを書いたことがないので、何かを台無しにするだろうと確信しています。

ここに私の具体的な質問があります:

  1. 他の操作のためにマウスを再構成するために、新しいドライバーを作成する必要がありますか?

  2. そうでない場合、そのような再構成はどのように行うことができますか? (どのような方法でも構いません)。

  3. 処理するイベントを取得するために、デバイスからコンピューターに出力されているデータを何らかの方法で単純に読み取ることはできますか?

役に立つと思われるその他の情報を次に示します。私は Windows 7 で Python でプログラミングしています。タッチパッドに触れている (x, y) 座標を知る必要があるだけです。ヘルプや提案は、何もないよりはましです。この質問に正しく答えるために改善が必要な場合は、お知らせください。前もって感謝します!

4

1 に答える 1

1

1. 他の操作のためにマウスを再構成するために、新しいドライバーを作成する必要がありますか?

いいえ。他の問題に関係なく、マウスからデータを読み取るには同じドライバーが必要です。

2. そうでない場合、そのような再構成はどのように行うことができますか? (どのような方法でも構いません)。

ポインタを「コア」デバイスにならないようにするだけです。Linux では、X の下の仮想コア ポインターから切り離すように xinput に指示するだけです。

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=11   [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Acer CrystalEye webcam                    id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]
$ xinput float 12
$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Acer CrystalEye webcam                    id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]
∼ Logitech USB-PS/2 Optical Mouse           id=12   [floating slave]

他のオペレーティング システムにも同様の手順が存在すると確信しています。

3. 処理するイベントを取得するために、デバイスからコンピューターに出力されているデータを何らかの方法で単純に読み取ることはできますか?

絶対。それが、イベント サブシステム(および他の OS での類推) の目的です。

于 2012-05-26T21:46:29.957 に答える