Tastatur — Änderungen 11266 → 11270

Zeile 29: Zeile 29:
  
 
Die Kommunikation erfolgt - im Gegensatz zum PS/2-Port - in festen Intervallen (standardmäßig: alle 500ms), sowie zusätzlich beim Eintreten einer Änderung am Gerät (Tastendruck). Das Gerät meldet dabei nur, welche Tasten zum Abfragezeitpunkt gedrückt sind, sodass der Treiber das Loslassen von Tasten anhand einer ausbleibenden Tastendruck-Meldung erkennen muss.
 
Die Kommunikation erfolgt - im Gegensatz zum PS/2-Port - in festen Intervallen (standardmäßig: alle 500ms), sowie zusätzlich beim Eintreten einer Änderung am Gerät (Tastendruck). Das Gerät meldet dabei nur, welche Tasten zum Abfragezeitpunkt gedrückt sind, sodass der Treiber das Loslassen von Tasten anhand einer ausbleibenden Tastendruck-Meldung erkennen muss.
 +
 +
Die LEDs (Caps-Lock, Scroll-Lock, Num-Lock) können mittels eines Out-Reports gesteuert werden. Dieser besteht aus einem Byte mit unten stehender Kodierung. Dieses Byte kann an den optional vorhandenen Interrupt-Out-Endpoint oder alternativ als Control-Transfer an EP0 gesandt werden. Der Control-Transfer folgt dabei der üblichen Struktur:
 +
<pre>
 +
SETUP: type=0x21, req=0x09, hiVal=2, loVal=0, index=Interfacenummer, length=1
 +
OUT:  1 Byte; Bits entsprechen gewünschtem Status der LED (an/aus)
 +
      Bit 0: Num-Lock, Bit 1: Caps-Lock, Bit 2: Scroll-Lock
 +
IN:    Handshake, keine Daten
 +
</pre>
  
 
== Weblinks ==
 
== Weblinks ==
 
* [http://www.usb.org/developers/hidpage/ http://www.usb.org/developers/hidpage/ (USB-HID-Spezifikation und HID-Usage-Tables)]
 
* [http://www.usb.org/developers/hidpage/ http://www.usb.org/developers/hidpage/ (USB-HID-Spezifikation und HID-Usage-Tables)]