Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mouseport PS/2 (https://www.delphipraxis.net/48552-mouseport-ps-2-a.html)

markbolten 27. Jun 2005 08:33


Mouseport PS/2
 
Hallo,

ich will den Mouseport PS/2 direkt auslesen, das heißt sowohl einen Wert auslesen als auch einen Wert zuweisen, so dass das System vorgegaukelt wird an der angeschlossenen Maus wäre eine Aktion ausgelöst worden. Die Funktion SendInput kann ich nicht verwenden, eine DirectX-Anwendung kommuniziert direkt mit der Hardware und ignoriert somit eine Windowsanweisung.

Wie kann ich den Mouseport PS/2 direkt ansprechen?

Danke

scp 27. Jun 2005 08:37

Re: Mouseport PS/2
 
Hmm... Wenn es auch bei DX und der gleichen klappen sool dürfte das nur über so 'ne Art virtuellen Gerätetreiber gehen, den kannst du aber nicht mit Delphi schreiben.

Robert Marquardt 27. Jun 2005 09:10

Re: Mouseport PS/2
 
SendInput sollte fuer DirectInput funktionieren.
mouse_event hat bereits fuer Win98 funktioniert und keybd_event funktioniert seit Win 2000.
Bei keybd_event muss man die ersten beiden Parameter konsistent ausfuellen, damit es fuer DirectInput funktioniert.
Entsprechendes sollte daher auch fuer SendInput gelten.
Die zugehoerige Funktion zum Mappen heisst MapVirtualKey.
Man sollte sich auch mit den Parametern von WM_KEYDOWN vertraut machen, da dies beim Verstaendnis hift.

Direkter Zugriff auf den PS/2 Port ist auf Treiber beschraenkt. Treiber lassen sich aber mit Delphi nicht programmieren.

markbolten 28. Jun 2005 08:16

Re: Mouseport PS/2
 
Zitat:

Parameter konsistent ausfuellen
Was heißt das ???

Zitat:

Entsprechendes sollte daher auch fuer SendInput gelten.
Die zugehoerige Funktion zum Mappen heisst MapVirtualKey.
Gibt es dafür auch ein Beispiel (zum Verständnis)?

Robert Marquardt 28. Jun 2005 09:37

Re: Mouseport PS/2
 
Die Hilfe zu keybd_event (du hast die Hilfe gelesen?) sagt das der zweite Parameter nicht genutzt wird, aber das ist falsch.
Der erste Parameter enthalet den virtuellen Keycode (VK_ Konstanten) waehrend der zweite Parameter den zugehoerigen Scancode enthaelt.
Nur wenn beide Parameter konsistent die gleiche Taste benennen akzeptiert DirectInput die Taste.
Die Win32 Funktion MapVirtualKey kann von Scancode zu Virtual Keycode und umgekehrt konvertieren.

Es empfiehlt sich das Platform SDK von Microsoft zu besorgen. Das ist die aktuelle Win32 Hilfe.
http://msdn.microsoft.com/library/de...start_page.asp


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz