Autor Thema: Hochkomma auf deutscher Atari-Tastatur  (Gelesen 29591 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Mado

  • Benutzer
  • Beiträge: 200
Re: Hochkomma auf deutscher Atari-Tastatur
« Antwort #20 am: Mi 13.07.2022, 08:23:52 »
Momentan habe ich das Problem, das Hatari zwei Tasten auf meinem Notebook offenbar mit einem ungewöhnlich hohem Symbol mappt, auch noch zwei Tasten, mit dem gleichen. Sieht man bei mir, wenn man hatari --trace keymap nutzt. Links die Taste ^° und links neben dem Backspace '` geben das gleiche SDL-Symbol bei mir aus:
key down: sym=1073741824 scan=53 mod=0x0 name=''
key map: sym=0x40000000 to ST-scan=0x0d
key up: sym=1073741824 scan=53 mod=0x0 name=''

key down: sym=1073741824 scan=46 mod=0x0 name=''
key map: sym=0x40000000 to ST-scan=0x0d
key up: sym=1073741824 scan=46 mod=0x0 name=''

Das Problem ist geklärt: Mein Linux hatte die normale deutsche Tastatur-Einstellung. Damit werden Accents nicht ausgegeben, sondern mit dem darauffolgendne Vokal zusammengefügt, zum Beispiel für französische Wörter. SDL gibt dann diese Accents auch nicht alleine weiter.

Die Lösung: Man muss eine Tastatureinstellung wählen (no dead keys) oder "Deutsch (ohne Akzenttasten)", dann geben diese Tasten auch ihr Symbol aus mit SDL.

Mein Programm ist jetzt fertig, ich habe jetzt mit shift und ohne die normalen Zeichen der PC-Tastatur 1:1 verfügbar. Leider kann ich über die XBIOS-Funktion Keytbl nur die ersten drei Keytables ändern. Auf alle weiteren erhalte ich zwar einen Pointer, der mir aber nichts nützt, weil ich nur einen Pointer auf die Struktur mit den 3-6 Zuordnungstabellen bekomme, aber keinen Pointer auf die Speicherstelle, wo dieser Pointer steht. Ich kann ihn also nicht verändern und auf meine eigene Struktur zeigen lassen.

Was ich noch einmal ausprobieren kann ist, ob ich, wo ich die Pointer auf die Zuordnungstabellen mit "Alt" habe, diese direkt innerhalb der Struktur ändern kann. Falls diese nur im ROM stehen, wir das nicht gehen. Wenn sie ins RAM kopiert sind, dann schon. Die ersten drei Tabellen kann man ja auch ändern. Chance!

Mein Ziel war, gerade die vollständige Tastaturbelegung zur Laufzeit anpassen zu können, so dass EmuTOS mit den aktuellen heute gängigen Tastaturlayouts genutzt werden kann.

Das mit der Errechnung des resident bleibenden Speichers scheine ich jetzt kapiert zu haben, läuft gut ohne Fehler Vielen Dank nochmal für die Hilfe und das Profibuch. Da ist es auch noch drin erklärt. Sobald ich noch das oben ausprobiert habe, werde ich Euch den angepassten Code + Programm mal geben.
« Letzte Änderung: Mi 13.07.2022, 08:31:24 von Mado »
... ich bin ST-HIGH und eher so der Monochrom-Typ

Offline czietz

  • Benutzer
  • Beiträge: 3.700
Re: Hochkomma auf deutscher Atari-Tastatur
« Antwort #21 am: Mi 13.07.2022, 08:32:42 »
Damit ist es, soweit ich es überblicke, nicht möglich, Tastaturzuordnungen mit Alt überhaupt zu verändern, außer durch einen Patch vom EmuTOS selbst. Das ist schade.

??? ??? ??? Was bringt Dich zu dieser Einschätzung? Du bekommst den Pointer auf die KEYTAB-Struktur. Wenn Du davon ausgehen kannst (weil Du vorher auf EmuTOS oder Atari TOS 4 geprüft hast), dass die Alt-Tabellen enthalten sind, kannst Du die Einträge in der Struktur einfach auf Deine Tabellen zeigen lassen.

Offline Mado

  • Benutzer
  • Beiträge: 200
Re: Hochkomma auf deutscher Atari-Tastatur
« Antwort #22 am: Mi 13.07.2022, 12:52:25 »
Ich hatte den Text noch geändert (s.o.), weil mir genau das auch aufgegangen ist. ;-)
... ich bin ST-HIGH und eher so der Monochrom-Typ

Offline czietz

  • Benutzer
  • Beiträge: 3.700
Re: Hochkomma auf deutscher Atari-Tastatur
« Antwort #23 am: Mi 13.07.2022, 13:07:19 »
Ich hatte den Text noch geändert (s.o.), weil mir genau das auch aufgegangen ist. ;-)

Um die implizite Frage zu beantworten, die mit Deinem geänderten Post verbunden ist: Die KEYTAB-Struktur (also die mit den x Pointern, je nach TOS-Version) liegt natürlich im RAM. Sonst könnte die XBIOS-Funktion ja auch die Pointer auf die ersten drei Tabellen nicht ändern. Die Pointer auf die übrigen Tabellen (für "Alt") musst Du direkt in der Struktur ändern. Zum Glück ist deren Format ja dasselbe in Atari TOS und EmuTOS (wie Du mir neulich zunächst nicht glauben wolltest.)

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.316
Re: Hochkomma auf deutscher Atari-Tastatur
« Antwort #24 am: Mi 13.07.2022, 13:56:13 »
Bleibt natürlich immer noch das Problem festzustellen, ob die zusätzlichen Einträge überhaupt vorhanden sind, und wenn ja, wieviele. Da gibt es leider verschiedene Versionen, und ich wüsste jetzt auch keine bessere Möglichkeit als da hart die TOS-Version abzufragen.

Andererseits bieten sowohl MiNT als auch MagiC die Möglichkeit, zur Laufzeit eine andere Tabelle zu laden, vlt, sollte man das in EmuTOS auch mal implementieren (was dann wohl das Tool überflüssig machen würde).

Offline Mado

  • Benutzer
  • Beiträge: 200
Re: Hochkomma auf deutscher Atari-Tastatur
« Antwort #25 am: Mi 13.07.2022, 16:10:52 »
(wie Du mir neulich zunächst nicht glauben wolltest.)
Naja, ich habe hat diese (referenzierte) Doku im Web gelesen, wo das so nicht drin stand. Das hatte mit Sicherheit nichts mit Dir persönlich zu tun.

Beide Verfahren haben einen Speichervorteil: Das Mapping Scancode->Zeichencode, wenn man weniger als 64 Einträge hat und das array-basierte, sobald es mehr als 64 Einträge sind.
... ich bin ST-HIGH und eher so der Monochrom-Typ