![]() |
USB Scanner (HID) nur per tastatur?
Hallo Robert Marquardt und alle anderen
Wir verwenden bis jetzt RS232 Scanner, aber möchten jetzt auch USB Scanner verwenden ich hab mal das log aus dem usage unten angehängt ich fürchte fast, das der scanner NUR als Tastatur arbeitet (da man oft Keyboard liest ;) ) und habe hier im Board schon gelesen, das Tastaturen read only sind. Mein problem ist, das der scanner im moment die daten wie eine tastatur eingibt, aber die funktionsweise sollte anders sein, da ich die daten im hintergrund einlesen möchte - sprich der user hat zb winword offen, scannt einen barcode, und mein programm liest die daten ein, und macht was damit (bei rs232 gehts ja ohne prob, aber bei scanner mit tastaturweiche zb nicht) gibt es noch eine andere möglichkeit die daten zu erhalten (hooks und co möchte ich vermeiden ...)
Code:
"© Datalogic 2002" "Datalogic Bar Code Scanner" VID=$080C PID=$0300
SerialNumber=S/N E07G18481 Input Report Size=8 Output Report Size=1 Feature Report Size=0 Button Input ============ 0) UsagePage: Keyboard ($0007) ReportID: 0 IsAlias: False BitField: 2 LinkCollection: 0 LinkUsage: Keyboard ($0006) LinkUsagePage: Generic Desktop ($0001) IsRange: True IsStringRange: False IsDesignatorRange: False IsAbsolute: True UsageMin: 224 UsageMax: 231 StringMin: 0 StringMax: 0 DesignatorMin: 0 DesignatorMax: 0 DataIndexMin: 0 DataIndexMax: 7 1) UsagePage: Keyboard ($0007) ReportID: 0 IsAlias: False BitField: 0 LinkCollection: 0 LinkUsage: Keyboard ($0006) LinkUsagePage: Generic Desktop ($0001) IsRange: True IsStringRange: False IsDesignatorRange: False IsAbsolute: True UsageMin: 0 UsageMax: 255 StringMin: 0 StringMax: 0 DesignatorMin: 0 DesignatorMax: 0 DataIndexMin: 8 DataIndexMax: 263 Button Output ============= 0) UsagePage: LED ($0008) ReportID: 0 IsAlias: False BitField: 2 LinkCollection: 0 LinkUsage: Keyboard ($0006) LinkUsagePage: Generic Desktop ($0001) IsRange: True IsStringRange: False IsDesignatorRange: False IsAbsolute: True UsageMin: 1 UsageMax: 5 StringMin: 0 StringMax: 0 DesignatorMin: 0 DesignatorMax: 0 DataIndexMin: 0 DataIndexMax: 4 |
Re: USB Scanner (HID) nur per tastatur?
Das geht ab XP ueber das Raw Input API. WM_INPUT im Platform SDK oder einer anderen Microsoft Hilfe nachschlagen und sich von dort aus weiterarbeiten. Letztens war ein Thread dazu von jemanden der damit experimentiert. "Raw Input" im Titel das sollte sich leicht finden lassen.
|
Re: USB Scanner (HID) nur per tastatur?
ok, danke erst mal, aber bin mir noch nicht sorichtig sicher, ob mir das weiterhilft
habe das mit dem RAWInput mal probiert nur wenn ich mit UsagePage 1 und Usage 6 horche, dann bekomme ich die events des barcodescanner (und auch der tastatur) kann dann im WM_INPUT herausfinden, wer das geschickt hat, aber die fokusierte anwendung bekommt immer auch die daten des barcodescanners mit ... (ausser mit RIDEV_NOLEGACY, aber dann wird ja gar nichts mehr geschickt - weder barcodescanner noch tastatur) ich habe als RawInput auch noch andere HID_DEVICES, wobei eines davon sogar der Barcodescanner selber ist (ausprobiert durch aus und anstecken - da war der mal weg und wieder da), aber mit diesen UseagePage reagiert gar nix (RIDEV_NOLEGACY bekommt fehlermeldung) und auch keine WM_INPUT messages was ich bräuchte wäre eine RegisterRawInputDevices auf ein Handle (damit kann ich den Barcodescanner ja eindeutig identifizieren) [edit]verguckt - ich habe doch NUR das RIM_TYPEKEYBOARD, die RIM_TYPHID, mit denen ich es verwechselt habe, war eine externe Tastatur[/edit] |
Re: USB Scanner (HID) nur per tastatur?
also hab schon ne lösung für mich
den scanner kann man umkonfigurieren, und dann nen USB-COM Treiber installieren und schwups meldet der sich mit einer virtuellen RS232 an, und alles läuft perfekt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 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