2010-03-20 8 views
11

Ich möchte erkennen, wenn mein Touchpad angeklickt wird!Bestimmen Sie, welche Maus geklickt wurde (mehrere Mausgeräte). NET

Ich benutze normalerweise eine USB-Maus, also verwende ich das Touchpad für nichts. Stattdessen möchte ich es ermöglichen, eine Aktion in .NET durchzuführen, wenn auf das Touchpad geklickt wird. So kann ich es als Abkürzung verwenden: Ein Tippen und etwas Cooles passiert.

Ist dies möglich, und wenn ja, irgendein Hinweis wie? Ich würde es vorziehen, wenn es in VB.NET oder C# arbeiten könnte.

Meine Theorie ist, dass ich einen Maushaken machen müsste, der dann irgendwie bestimmt, aus welchem ​​Gerät der Klick kommt. Wenn festgestellt wird, dass der Klick vom Touchpad stammt, brechen Sie den Klick ab und tun Sie wasauch immer().

Danke!

* EDIT * Nun, es ist „gelöst“, eine Art :) In einem seltsamen Zufall veröffentlichten Synaptics ihre neuesten Treiber und Software für ihre Touchpads vor ein paar Tage mit einigen neuen Funktionen. Da mein Laptop über ein Synaptics-Touchpad verfügt, habe ich die Software ausprobiert und interessanterweise wurde die Funktionalität zum Bezeichnen von Klicks auf das Trackpad integriert, um eine Aktion auszuführen.

So die gewünschte Funktion wurde erreicht, ohne eine Codezeile (mein eigener Code sowieso :).

Antwort geht an Adrian obwohl für den Link zu der RawInputSharp-Bibliothek. Ich habe gestern daran herumgebastelt und bin zu 90% sicher, dass es möglich wäre, zu diesem Zweck zu verwenden, falls ein Laptop kein Synaptics-Trackpad hat.

+0

+1: Wirklich coole Idee. –

Antwort

5

Werfen Sie einen Blick auf die RawInputSharp-Bibliothek von this Seite. Es verwendet pInvokes in User32.dll, um Informationen zu Eingabegeräten zu erhalten. Mit ihr können Sie feststellen, von welchem ​​Gerät (dh Maus) die Eingabe kommt.

Nachdem ich ein wenig damit gespielt hatte, gelang es mir, Code zu extrahieren, der nur die Geräte-ID anzeigt - ein anderer Wert, abhängig davon, ob ich meine USB-Maus oder mein internes Touchpad verwende. Das Schwierige wäre, die Geräte-ID Ihres Touchpads automatisch zu identifizieren, aber Sie können dies manuell in Ihrer Anwendung konfigurieren.

+0

Danke für die Antwort Adrian. Ich habe mir die Seite angesehen, aber es scheint (nicht überraschend), dass dies über meinem Niveau liegt. Ich werde versuchen, Hilfe zu bekommen, und hoffe, dass es funktioniert. Ich werde Sie auf dem Laufenden halten/Award-Antwort, wenn wir es herausfinden. –

+1

Oh Junge, ich werde jetzt Spaß damit haben. Ich habe eine 15 Tasten Tastatur, die es toll wäre, eine Menge Dinge mit einem Service zu verbinden. – msarchet

+0

Hallo msarchet, wie heißt die Tastatur? Hört sich interessant an! –

Verwandte Themen