PS/2 タッチパッド用のドライバーを書きたいと思っています (私は Web の専門家なので、これは私にとってなじみのない領域です)。タッチパッドには Windows XP ドライバーが付属しており、明らかにメッセージを送信してタップによるクリックを有効/無効にします。送信しているメッセージを見つけようとしていますが、開始方法がわかりません。「Syser Debugger」のようなソフトウェアは動作しますか? PS/2 バスに送信される送信メッセージをインターセプトしたいと考えています。
3 に答える
どのような「メッセージ」が送信されているかを知りたい場合、IDA Pro はあまり役に立ちません。これはほとんどの Web 開発者にとって非常に大きなステップアップであることを認識してください。
ドライバー レベルで作業する必要があるかどうかを判断することから始めます。多くの場合、これはカーネル レベルです。ユーザー モード レベルは、最初に見たい場所かもしれません。WinSpy やその他の Windows デバッグ ツールなどのツールを使用して、ドライバー ソフトウェアとコントロール パネルのマウス構成アプレットによって渡されるメッセージを確認します。SendMessage()という Windows API 関数を使用して、ユーザー モードからアプリケーションにメッセージを送信できます。
デバイス ドライバー開発の最初の目的地は、Windows DDK のドキュメントとOSR Onlineです。
Synaptics タッチパッドの仕様 (ノートブックにインストールされているほとんどのタッチパッドは synaptics です) をここで読むことをお勧めし ますhttp://www.synaptics.com/decaf/utilities/ACF126.pdf探しています。少なくとも、何を期待すべきかはわかるでしょう。
そのため、おそらくタッチパッド ドライバーは、ユーザー モードからのコマンドをこの PS/2 コマンドに「変換」します。
タッチパッド PS/2 ドライバーの詳細はわかりませんが、ユーザー モード パネルがドライバーと通信する主な方法が 2 つあります。ユーザーモードアプリが開いて特定のコマンドを書き込む代替の「チャネル」
sysinternals のプロセス モニターを使用して、機能の設定/リセット時にレジストリ アクティビティをログに記録することをお勧めします。オプション 2 については、OSR から IRP トラッカーを試して、パネルとドライバーの間に特定の通信があるかどうかを確認することをお勧めします (フォームまたは IRP のやり取りで)。この場合、カーネル プログラミングの知識が多少必要になります。Windows カーネル デバッガーも、PS/2 ドライバーに代替チャネルがあるかどうかを確認するのに役立つ場合があります。