Keyrah 2b Keymapping

Caution: Non registered users only see threads and messages in the currently selected language, which is determined by their browser Please create an account and log in to see all content by default. This is a limitation of the forum software.
  • Hallo.


    Ich habe eine Keyrah 2b-Platine mit C64-Tastatur, einen Raspberry Pi 3 B+ mit Combian 64 V2.8.1.

    In dieser Konstellation mit Schalter in Stellung unten funktioniert die Tastatur mit Ausnahme der "="-Taste.

    Ich habe Kontakt mit dem Händler aufgenommen (hier im Shop ist der Artikel leider nicht lieferbar) und verschiedene Einstellungen und Mappings ausprobiert.


    Derzeit habe ich folgende Einstellung:

    Active Keymap -> Positional

    Keyboard Mapping -> American (us)

    Über „Load positional user keymap“ habe ich aus dem Ordner „/usr/local/lib/vice/c64“ die Keymap „sdl.keyrah.vkm“ geladen


    Wenn ich - so der Tipp des Händlers - als Active Keymap "Positional user" nehme und die o.g. Keymap lade, funktioniert zwar das "=", dafür wird dann aus "+" ein "/" und ":", "/" und ";" funktionieren nicht mehr.


    Kann mir jemand helfen?


    Vielen Dank und schönes Wochenende!


    Thomas

  • Keyrah ist ein human interface device und identifiziert sich eindeutig als Tastatur. Das exakte Mapping der Tastatur zu den Scancodes ist im Wiki-Artikel zu finden.

  • "Das funktioniert leider auch nicht."

    Was genau funktioniert denn nicht?


    Wenn es nur einzelne Tasten sind - im VICE die Statusbar einschalten, und zusätzlich Keyboard-Status in der Statusbar aktivieren. Dann mal die Taste drücken die nicht funktioniert - die Scancodes werden dann in der Statusbar angezeigt, selbige dann in der Keymap eintragen, und es sollte funktionieren.

  • Die verlinkte Datei ist inhaltlich mit der im Combian 64 2.8.1 identisch, nur das ein paar Zeilen "ausgerautet" sind.

    Ich habe nach wie vor das Problem, dass die "="-Taste der C64-Tastatur nicht funktioniert.

    Abhängig von der Kaymap funktioniert entweder alles bis auf "=" oder es verändert sich die Tastenbelegung, dass z.B. "+" und "-" auf "," oder irgendwo anders liegen.


    Das mit der Statusbar werde ich heute Nachmittag mal ausprobieren.


    Keyrah ist ein human interface device und identifiziert sich eindeutig als Tastatur. Das exakte Mapping der Tastatur zu den Scancodes ist im Wiki-Artikel zu finden.

    Das ist mir soweit auch klar.
    Meine Frage bezog sich mehr darauf, wie Keyrah in das Keymapping eingreift. Also was weitergeleitet wird, wenn man auf der Tastatur das "=" drückt. Lt. C64 Tastaturbelegung ist es der Charactercode 61. Ändert Keyrah daran etwas, oder geht das alles 1:1?

  • Meine Frage bezog sich mehr darauf, wie Keyrah in das Keymapping eingreift. Also was weitergeleitet wird, wenn man auf der Tastatur das "=" drückt. Lt. C64 Tastaturbelegung ist es der Charactercode 61. Ändert Keyrah daran etwas, oder geht das alles 1:1?

    Keyrah macht gar kein Mapping, kennt nicht einmal die Buchstaben oder Zeichen, die auf die Tasten gedruckt sind. Tastaturen sind schon vor USB-Zeiten so konstruirt gewesen, dass sie lediglich Scancodes an den Computer weitergeben. Erst im Computer findet eine Zuordnung von Scancode zu Ascii-code statt.


    Da nur ein Bruchteil der User überhaupt diesen Übertragungsweg überblickt, sind im Wiki nicht die Scancodes, sondern die Zeichen genannt, die üblicherweise auf die Tasten gedruckt sind.


    Für ein reibungsloses Mapping sollte in jedem Fall die keymap von Keyrah so gewäht sein wie auch das Tastaturlayout im OS. Wenn also im OS eingestellt ist, dass eine deutsche Tastatur mit Umlauten und QWERTZ-Layout eingestellt ist, dann sollte Keyrah auch auf das deutsche Layout eingestellt werden - nur so funktioniert das positional mapping.


    Gleiches für den Fall, dass ein US-Mapping mit QWERTY-Tastatur und ohne Umlaute eingestellt ist: Hier sollte Keyrah unbedingt auf US-Layout eingestellt werden, denn sonst löst Keyrah bei Druck auf die = Taste der C64-Tastatur einen Scancode einer Taste aus, die auf dem US-keyboard überhaupt nicht vorhanden ist. Ich schließe nicht aus, dass der Tastendruck dann einfach "verschluckt" wird.

  • Dazu kommt noch dass die Scancodes auf Softwareseite mind. 3 mal umgemapped werden. Zuerst vom Linux-Kernal, dann von SDL, und letztendlich von VICE. Darum braucht man überhaupt nur diese Keymaps.


    Letztendlich ist aber nur entscheidend welche SDL-Keycodes VICE "sieht" - und das kann sich je nach Setup in Details unterscheiden. Mit einer älteren Combian version hat die von mir verlinkte Keymap - bei mir - zumindest 100% funktioniert. Das kann aber bei jemand anderem, mit evtl leicht unterschiedlichem Setup, durchaus anders sein.

  • Ich sitze gerade wieder vor der Kiste...


    Frage zu der Statusbar- und Keyboardstatus-Geschichte:

    Wie aktiviere ich das? Statusbar im Emu habe ich gefunden, aber wie geht's dann weiter?

  • Gegenfrage: Wie ist der Jumper auf Keyrah eingestellt, und was für ein Keyboard-Mapping ist im Linux-System eingestellt? Die Ursache für die "verschluckte" "=" Taste kann *sehr* wahrscheinlich dort liegen.

  • Settings Management -> Show Keyboard Status in Statusbar


    Sollte es diese Option nicht geben, dann lautet die Lösung: VICE aktualisieren (auf 3.2) - die Option habe ich eingebaut als ich die Keymaps für den Raspi gefummelt habe, und im Zuge dessen auch den ein oder anderen Bug fixen musste :)

  • HEUREKA!! Es funktioniert!!

    Ich habe nun aus Vice 3.2 die Keymap "sdl_keyrah_retropie.vkm als "Positional User Keymap" geladen und jetzt funktioniert das "=" wie es soll!!

    Joysticks kann ich erst am Wochenende Testen, werde aber gerne wieder berichten.


    Danke für die Unterstützung!