Forum: Mikrocontroller und Digitale Elektronik Mit selbstgemachter USB-HID Tastatur programme steuern?


von Paul H. (powl)


Lesenswert?

Hi,

man hat ja die Möglichkeit per AVR und USB ganz einfach eine HID 
Tastatur oder Maus zu bauen.

Nun wollte ich mal fragen was eine Tastatur ans Betriebsystem alles 
senden darf und worauf das Betriebsystem reagieren kann. Wäre es 
möglich, dass ein HID-Gerät einfach beliebige vorher vorgegebene Codes 
ans Betriebsystem schickt und irgendein Programm diese auffängt und 
darauf reagiert? Beispielsweise nur um ein paar Buttons oder 
Schieberegegler auf einfachem Wege ohne Treiberinstallation oder CDC und 
pipapo mit einem Programm zu verknüpfen.

Oder gibt es da nur eine Reihe von Standardcodes die u.A. das normale 
Tastaturlayout und eine Reihe von Multimedia-Tasten umfängt, welche zur 
Kommunikation freigegeben sind?

mfg PoWl

von Esquilax (Gast)


Lesenswert?

Also ich hab mal mein SonyEricsson-Handy per Bluetooth als 
HID-"Fernbedienung" am Laptop eingebunden. Von SE gibt es ein Tool, mit 
dem man Profile erstellen kann, in denen die Zuordnung Handy-Taste -> 
HID-Tastenkombination hinterlegt ist.
Mit einem in AutoIT-Skript (www.autoitscript.com) geschriebenen Programm 
habe ich dann die Tastenkombinationen abgefangen. Das hat eigentlich 
ganz zuverlässig funktioniert. Man sollte halt möglichst seltene 
Tastenkombinationen verwenden (STRG + ALT + Zahl oder so).

Mit dem Programm haben wir unsere Berufsschullehrer geärgert. Beim 
drücken einer Taste auf dem Handy wurde ein Soundfile am Laptop 
abgespielt... ;-)

von Markus E. (engelmarkus)


Lesenswert?

Das würde mich auch mal interessieren. Die englische Wikipedia sagt 
folgendes:

The HID protocol makes implementation of devices very simple. Devices 
define their data packets and then present a "HID descriptor" to the 
host. The HID descriptor is a hard coded array of bytes that describe 
the device's data packets. This includes: how many packets the device 
supports, how large are the packets, and the purpose of each byte and 
bit in the packet. For example, a keyboard with a calculator program 
button can tell the host that the button's pressed/released state is 
stored as the 2nd bit in the 6th byte in data packet number 4.
...
The host needs to retrieve the HID descriptor from the device and parse 
it before it can fully communicate with the device.


Die Frage ist halt, heißt das, dass man keinen eigenen Treiber schreiben 
muss?
Außerdem hier noch zwei Spezifikationen:
http://www.usb.org/developers/devclass_docs/HID1_11.pdf
http://www.usb.org/developers/devclass_docs/Hut1_12.pdf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.