Unterschiedliche Keyboard-Scancodes auf RasPi vs. PC

  • Liebe Leute,


    Scancodes sind die (unveränderlichen) Codes, die eine Tastatur beim Drücken (und Auslassen) einer Taste schickt. Diese Scancodes sind unabhängig vom länderspeziefischen Layout (da die Tasten ja gleich angeordnet, nur anders bedruckt sind) und - soweit ich weiß - unveränderlich. Alles was bzgl. Tastenbelegung konfigurierbar ist, geschieht im Betriebssystem (z.B. dass der Code 0x1E ein "A" bedeutet). Auf einer gängigen Tastatur gibt es Tasten, die einen einzelnen Scancode liefern, das sind im Grunde alle Tasten die sich "schon seit jeher" auf einer Tastatur befinden. Und dann gibt es Tasten, die sind erst später dazugekommen und liefern in der Regel zwei Scancodes hintereinander, so z.B. die Cursortasten, die Windows-Tasten, usw.


    Soweit zur Einleitung.


    Nun habe ich folgendes beobachtet, auf das ich mir keinen Reim machen kann und hoffe, dass mir vielleicht jemand von Euch weiterhelfen kann.


    Nämlich, dass auf meinem Raspberry Pi (3 Model B) bei allen Tasten, die eigentlich erweiterte Scancodes liefern sollten, nur ein einzelner Scancode kommt, der mit dem erwarteten Scancode nichts aber auch gar nichts zu tun hat. Ich habe auch keinerlei Informationen zu diesen Scancodes gefunden, in jeder Liste die ich gefunden habe sind entweder die Scancodes drin mit denen ich eigentlich gerechnet habe, oder ganz andere, die mit den Ergebnissen beim RasPi nichts zu tun haben.


    Ich habe das ganze dann mit x86-PC und RasPi ausprobiert, sowohl da und dort mit verschiedenen Linux-Betriebssystemen (Ubuntu Server, dietPi, Raspian bzw. Mint). Ich habe auf beiden die selbe Tastatur verwendet und es auch mit einer anderen Tastatur probiert. Und es hat jemand anderer für mich das ganze auf seinem eigenen Raspberry Pi nachgestellt und kommt zum selben Ergebnis wie ich: Der RasPi liefert andere Scancodes für bestimmte Tasten als in allen Listen die ich finden konnte aufscheinen.


    Woran kann das liegen?


    • Kann eine Tastatur in unterschiedlichen Modi betrieben werden, sodass am RasPi ein anderer Modus aktiv ist als am PC und die Scancodes andere sind? Warum findet man dann aber diese Scancodes nirgends?
    • Werden die Scancodes am Weg vom Port zum Betriebssystem irgendwie verarbeitet und ggf. konvertiert? Hier gibt es wage Informationen dazu https://de.wikipedia.org/wiki/Scancode#Code-Sets aber warum ist das bei ARM/RasPi anders als bei x86/PC? Und wieder: Warum findet man dann aber diese Scancodes nirgends?


    Hier ein paar Beispiele:

    Es betrifft nur die "extended Scancodes", für die anderen Tasten am Keyboard sind die Scancodes ident mit denen am PC. Nur wenn es Tasten sind, die mehrere Werte hintereinander liefern sollten, wird nur ein einzelner Wert ausgegeben. Irritierend dabei ist, dass z.B. die Tasten "Pause" und "PrtScr" den gleichen Code liefern (0x63). Am PC sind die grundverschieden.


    Hat jemand von Euch eine Idee, was hier vor sich geht? :/


    Kann jemand von Euch vielleicht das ganze ebenfalls mal ausprobieren?
    (Einfach am Linux-Prompt showkey -s eingeben, die linke Cursortaste drücken und schauen ob 0xE0 0x4D kommt oder 0x69.)


    Oder kennt jemand von Euch eine Liste, in der die vom RasPi ausgegebenen Codes aufgelistet sind?


    Ich sage schon mal :danke_ATDE: im Voraus!


    --


    Scancode-Listen:

    Edited once, last by kuzmandi ().

  • kuzmandi

    Changed the title of the thread from “Unterschiedliche Taststur-Scancodes auf RasPi vs. PC” to “Unterschiedliche Keyboard-Scancodes auf RasPi vs. PC”.
  • Kann ich hier nicht nachvollziehen. Ich bekomme auch auf dem Raspi bei „Cursor Links“ die Bytefolge 0xE0 0x4B ausgegeben.

    “The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents.” — Nathaniel Borenstein

  • Das ist ein Raspberry Pi 3 Model B Rev 1.2 mit OSMC, also auch ein Debian-Derivat.

    “The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents.” — Nathaniel Borenstein

  • Geht das nur mit einer echten, physikalisch angeschlossenen Tastatur?

    Denn per Putty erhalte ich sofort nach showkey -s die Ausgabe Couldn't get a file descriptor referring to the console.


    Gruss

  • FSC830 Die von der Tastatur gesendeten Scancodes gehen nur mit einer physischen Tastatur, ja. 😉

    “The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents.” — Nathaniel Borenstein