AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein USB Scanner (HID) nur per tastatur?
Thema durchsuchen
Ansicht
Themen-Optionen

USB Scanner (HID) nur per tastatur?

Ein Thema von Gruber_Hans_12345 · begonnen am 15. Sep 2007 · letzter Beitrag vom 15. Sep 2007
Antwort Antwort
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#1

USB Scanner (HID) nur per tastatur?

  Alt 15. Sep 2007, 15:26
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
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: USB Scanner (HID) nur per tastatur?

  Alt 15. Sep 2007, 16:21
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.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#3

Re: USB Scanner (HID) nur per tastatur?

  Alt 15. Sep 2007, 17:54
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]
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#4

Re: USB Scanner (HID) nur per tastatur?

  Alt 15. Sep 2007, 18:55
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.
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz