Es gibt eine Option, die einige Emulatoren in Betracht ziehen: Versuche nicht, bei der physischen Tastaturbelegung des Hosts schlauer zu sein als nötig, sondern nimm einfach gar nichts darüber an.
Mit anderen Worten: Akzeptiere es, wenn eine API ein Symbol anstelle einer Tastaturposition liefert.
Wenn Javascript-APIs in diesem Fall sagen „Benutzer hat <was-auch-immer> gedrückt“, versuche nicht zu raten: „Unter der Annahme eines physischen Hosts mit einer normalen PC105-Tastatur mit französischem AZERTY-Layout entspricht dieses Symbol der Taste in Zeile x, Spalte y, die ich der physischen CPC-Taste in Zeile x’, Spalte y’ zuordne“.
Akzeptiere stattdessen zum Beispiel, dass der Benutzer „eine Taste gedrückt hat, die ein Anführungszeichen ergibt“. Verwende eine Zuordnung von Symbolen zu CPC-Tasten, unabhängig von der physischen Tastatur des Hosts. Das erfordert möglicherweise eine Tastenfolge in der emulierten Maschine, wie „Umschalttaste drücken, 2 drücken, 2 loslassen, Umschalttaste loslassen“.
Arnoldemu erlaubt definitiv eine ähnliche Logik und nennt sie „translated“ (übersetzt), im Gegensatz zu „positional“ (positionsbezogen).
Ich würde es „symbolbasiert“ nennen.
Ich glaube, Caprice32 erlaubt das auch.
Ein Vorteil ist, dass du auf dem CPC mit deiner PC-Tastatur genauso tippen kannst wie in jedem anderen Programm. Großartig zum Programmieren oder Bearbeiten von Texten jeglicher Art. Und zum Tippen von run"disc.
Zurück zur aktuellen Situation: Es hängt davon ab, ob der Emulator eine solche von der physischen Tastatur unabhängige Logik unterstützt. Was RVM vermutlich nicht tut?