- Der Benutzer muss in der Lage sein, sowohl eine Standard-Windows-Maus als auch ein Touchpad gleichzeitig zu verwenden.
- Alle Touchpad-HID-Ereignisse müssen von der Anwendung individuell behandelt werden, solange sie ausgeführt wird. Es darf nicht in der Lage sein, die Maus zu steuern oder mit anderen Fenstern zu interagieren.
- Der normale Mausbetrieb darf nicht beeinträchtigt werden, wenn ein Touchpad verwendet wird.
Code: Select all
static LRESULT CALLBACK lowLevelHIDHookProc
(
int nCode,
WPARAM wParam,
LPARAM lParam
)
{
HHOOK ignored( NULL );
// have to pass message along to next hook
if( nCode < 0 )
{
return( CallNextHookEx( ignored, nCode, wParam, lParam ) );
}
// THIS IS WHAT I CAN'T FIGURE OUT
else if( eventComingFromNormalMouse ) // allow normal mouse events
{
return( CallNextHookEx( ignored, nCode, wParam, lParam ) );
}
// block touchpad stuff here
else
{
printf( "********\nTOUCH INTERCEPTED!!!\n********\n" );
return( -1 );
}
Ich schaue mir die lParam/MSLLHOOKSTRUCT-Dokumentation an, sehe aber nichts, was für diese Unterscheidung hilfreich erscheint. Ich bin offen für alle Ideen, einschließlich des Verzichts auf Low-Level-Hooks, da diese Auswirkungen auf die Leistung haben. Vielleicht gibt es eine Möglichkeit, eine serielle Verbindung zu einem USB-Touchpad herzustellen, ohne dass Windows es überhaupt als HID-Gerät erkennt?
Mobile version