Repräsentation nicht druckbarer Zeichen über die Tastatur



  • Hallo zusammen

    Im Anschluss an mein letztes Problem: (das wohl gelöst scheint)
    Ich habe das mit den Tastaturcodes leider noch nicht ganz verstanden.

    Ich muss einen Barcode-Scanner auslesen.
    Den Scanner lasse ich ein "globales Startzeichen" senden.
    Damit das nicht mit irgendwelchen Aktionen auf der Tastatur verwechselt wird,
    habe ich mich für eine Auswahl aus einigen "nicht druckbaren Zeichen" entschieden.
    Ich muss eine gewisse Auswahl bereitstellen, da ich einige dieser Zeichen auch schon
    innerhalb eines Barcodes gefunden habe.

    Meine Auswahl fiel auf die Zeichen "0x01", "0x02", "0x1C", "0x1D", "0x1F".
    Diese findet man auch in allen ASCII-Tabellen, und sie werden im Scanner auch über
    diesen Hex-Wert eingestellt. (Also die Zeichen SOH, STX, FS, GS, RS, US)

    Nun bekomme ich vom Scanner aber nur Tastaturcodes zurück, mit denen auch diese
    Zeichen repräsentiert werden. Und im Netz findet man sehr wenige Beispiele, wo
    diese Tastaturcodes zu allen ASCII-Zeichen zugeordnet sind. Hier arbeite ich mit
    der Tabelle von Thorsten Horn.

    In der Bedienungsanleitung zu meinem Scanner habe ich übrigens dieselbe gefunden!
    Und die gehört auch zur Standardeinstellung des Scanners!

    https://www.torsten-horn.de/techdocs/ascii.htm

    Meine Zeichen sind da also auch enthalten. Sie haben keine Scancodes aber sind
    durch CTRL-Zeichen repräsentiert, also durch Ctrl-Taste plus eine Zeichen-Taste.
    Das kann ich gemäss dieser Tabelle für meine ersten beiden Zeichen nachvollziehen.
    Also die Angaben "Ctrl a", "Ctrl b" (seltsamerweise dort als Grossbuchstaben angegeben)
    stimmen noch.
    Dann wirds aber schräg!

    In der Tabelle stehen dafür "Ctrl \", "Ctrl ]", .. (blöderweise Zeichen, die eigentlich
    noch die Shift oder AltGr Taste benötigen würden.
    Die "AltGr"-Taste kommt über meinen Tastatur-Hook gar nicht durch.
    Ich merke mir momentan nur das letzte Steuerzeichen. Das scheint wohl das "Ctrl" zu sein.
    Diese Zeichen erkenne ich momentan über den VK-Code (virtual key code).

    Somit bekomme ich stattdessen: "Ctrl #", "Ctrl +", "Ctrl 6", "Ctrl ß".
    Das sind alles Zeichen, die auf der dt Tastatur ohne Shift oder AltGr daherkommen.
    Auf diesen Tasten befindet sich auch kein Zeichen, das in der ASCII-Tabelle für den gewünschten ASCII-Code angegeben ist.

    Meine Frage:
    Auf was kann ich mich nun eigentlich verlassen?
    Warum steht das so in der Tabelle, obwohl es doch offensichtlich nicht stimmt?
    Und wie verhält es sich bei einer Russischen oder Chinesischen Tastatur?
    Und wie würde man für russisch, chinesisch einen Scanner einstellen? (eigentlich doch genau wie die Tastatur?)
    Auch bei einfacheren Tastaturen wie französisch, spanisch, ... ?

    Meine Tastatur ist gerade deutsch/Deutschland.
    Die Tabelle zeigt "Windows-1252" und ISO-8859-1

    Hat irgend jemand eine Ahnung davon?
    Vielen Dank an Euch alle.



  • @elmut19 sagte in Repräsentation nicht druckbarer Zeichen über die Tastatur:

    In der Tabelle stehen dafür "Ctrl ", "Ctrl ]", .. (blöderweise Zeichen, die eigentlich
    noch die Shift oder AltGr Taste benötigen würden.

    tipp: UK/US keyboard layout.



  • @Cardiac

    Oh!
    Vielen Dank Cardiac! Du hast Recht!

    Mein Scanner war tatsächlich noch auf Default US eingestellt.
    Konnte die Anwendung gestern in Frankreich ausprobieren.
    Da ging mir dann ein Licht auf.


Log in to reply