Ich verwende die
Jedi HID Komponente um ein Telefonie-Headset anzusteuern. Ich habe auch erreicht was ich wollte, aber nur durch Herumprobieren.
Ich habe folgende Aufgabenstellungen:
Wird die Verbinden/Auflegen-Taste gedrückt
Im TJvHidDevice.OnData Event erhalte ich 3 Datenblöcke, bei denen jeweils die ersten drei Byte unterschiedlich sind. Beim Anschalten ist dies $80,$00,$01 und beim Ausschalten $81,$01,$00.
Internen Ringer des Headset setzen
Ich sende einen Datenblock an das Gerät. Dabei scheinen nur die ersten zwei Byte relevant. Das erste Byte im Puffer definiert dabei den Report und das erste Datenbyte einen Wert für an/aus.
Leider weiss ich nicht, warum das funktioniert. Gibt es eine Möglichkeit das allgemeingültig und richtig zu machen, nachdem man die HID-Informationen ausgelesen hat? Ich sehe jedenfalls auf den ersten Blick keine Zusammenhänge.
Hier die entsprechenden Daten:
Code:
"Plantronics BT Adapter" VID=$047F PID=$4254
UsagePage=Consumer ($000C) Usage=Consumer Control ($0001) CollectionType=Application ($01)
Button Input: UsagePage=FFA0 ($FFA0) Usage=B7 ($00B7)
Button Input: UsagePage=FFA0 ($FFA0) Usage=B6 ($00B6)
Button Input: UsagePage=FFA0 ($FFA0) Usage=B5 ($00B5)
Button Input: UsagePage=FFA0 ($FFA0) Usage=B4 ($00B4)
Button Input: UsagePage=FFA0 ($FFA0) Usage=B3 ($00B3)
Button Input: UsagePage=FFA0 ($FFA0) Usage=B2 ($00B2)
Button Input: UsagePage=FFA0 ($FFA0) Usage=B1 ($00B1)
Button Input: UsagePage=FFA0 ($FFA0) Usage=A1 ($00A1)
Button Output: UsagePage=Telephony ($000B) Usage=Ringer ($009E)
Button Feature: UsagePage=FFA0 ($FFA0) Usage=1 ($0001)
Button Feature: UsagePage=FFA0 ($FFA0) Usage=B5 ($00B5)
Button Feature: UsagePage=FFA0 ($FFA0) Usage=A1 ($00A1)
Value Feature: UsagePage=FFA0 ($FFA0) Usage=9 ($0009)