Keyboard Mode... Hat jemand damit Erfahrung?

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von jvbsl.

    Keyboard Mode... Hat jemand damit Erfahrung?

    Hallo Leute und danke fürs reinschauen...

    Ich habe hier so einen Scanner gekriegt, der ausschließlich nur mit Keyboard Mode arbeitet. Der Vorteil ist, dass egal welche Datei ich auswähle, schreibt er mir sein Barcode rein. Der Nachteil den ich zu mindest sehe, dass ich die Eingabe nicht von normale Tastatur Eingabe unterscheiden kann und so mit die Tastatureingaben filtern muss...

    Vielleicht kennt jemand von euch eine Möglichkeit das eine von dem anderen zu unterscheiden...

    Danke euch im Voraus.
    Bei uns wurde der Scanner (war glaub ich ein Symbol Scanner) so konfiguriert dass er einen Prefix mitgesendet hat. War glaub ich ALT+STRG+B. Anhand dieses Prefix wurde dann erkannt, dass die Eingabe vom Scanner kommen muss.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Das blöde ist, dass er nur ein out am ende sendet:150000157e62af01out
    und enter... würde es davor senden, hätte ich schon was mit anfangen können.

    Einstellen lässt es sich garnicht. naja. da muss ich ja mit zeit arbeiten, und sonstigen kram um das raus zu filtern. :(
    Falls deine Software aktiv ist:
    codeproject.com/Articles/17123…-handle-multiple-keyboard

    Ansonsten gibt es nur die komplizierte Möglichkeit über eine Kombination aus RawInput und Hook, da Win leider nur für Treiber etwas entsprechendes anbietet...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    @EugenIS Man kann Barcodescanner so konfigurieren, dass sie als SerialPort erkannt werden (hab ich schon mit mehreren Typen gemacht).
    Dazu brauchst Du vom Hersteller einen entsprechenden Treiber sowie einen entsprechende Barcodes, mit dem Du zwischen den Modi wechseln kannst.
    Ein Anruf beim Produktservice sollte da genügen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich habe das in meiner letzten Anwendung so gelöst, dass ich im KeyDown Ergeignis des zu beschreibenden Elements als erstes einen Zeitstempel abeglegt habe. Man kann dann abprüfen wie schnell die Eingabefolgen kommen. Da der Barcodescanner üblicherweise fast ohne Zeitverzögerung "tippt" kann man daüber differenzieren von wo der Input her kommt.

    Das ist allerdings eine unelegante Lösung und ich würde bei Möglichkeit die Methode mit dem Serial Port vorziehen. Man hat ja nur manchmal keine Wahl ;)
    Oder einfach RawInput, dafür hab ich oben ja den Link gepostet, nur wenn mans als Hook haben will wirst schwieriger(also immer bzw. Außerhalb der Anwendung auch erkennen möchte, dann gibt es aber noch die Möglichkeit über Hook+RawInput und wenn inhalte gleich, dann kommt es vom scanner, da gibt es keine Fehler).
    Oft lassen sich die Geräte auch noch als eigenständiges HID ansteuern, dann muss man halt eben das Kommunikationsprotokoll kennen.
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---