AMIGA 500/1000/2000 Keyboard Interface

Hello @all!

As I'm also using a German keyboard layout, I noticed two errors in CypherXG's code.

CypherXG:
[...]

                 if ((key==0x2B) && (_keyReport.modifiers & 0x22)) keystroke(0x35,0x00);  // ^ (with shift)                  else if (key==0x00) if (_keyReport.modifiers & 0x22) keystroke(0x30,0x40); else keystroke(0x35,0x20); // ~,`                  else if (key==0x0D) if (_keyReport.modifiers & 0x22) keystroke(0x64,0x40); else keystroke(0x2D,0x40); // |,\                  else if (key==0x5A) if (_keyReport.modifiers & 0x22) keystroke(0x24,0x40); else keystroke(0x25,0x40); // {,[                  else if (key==0x5B) if (_keyReport.modifiers & 0x22) keystroke(0x27,0x40); else keystroke(0x26,0x40); // },]                  else if (key < 0x68) keypress(key);  // Code table

Has to be replaced with

                  if ((key==0x2B) && (_keyReport.modifiers & 0x22)) keystroke(0x35,0x00);  // ^ (with shift)
                  else if (key==0x00) if (_keyReport.modifiers & 0x22) keystroke(0x30,0x40); else keystroke(0x32,0x02); // ~,'
                  else if (key==0x0D) if (_keyReport.modifiers & 0x22) keystroke(0x64,0x40); else keystroke(0x2D,0x40); // |,\
                  
                  else if (key==0x5A) if (_keyReport.modifiers & 0x22) keystroke(0x24,0x40); else keystroke(0x25,0x40); // {,[
                  else if (key==0x5B) if (_keyReport.modifiers & 0x22) keystroke(0x27,0x40); else keystroke(0x26,0x40); // },]
                  else if (key < 0x68) keypress(key);  // Code table

This works with the current WebIDE (Web App Version - 3.0.8 ). Note the additional free line behind the definition of " |,\ " (otherwise the next line will be ignored) and the corrected keystroke for " ~,' " (was actually " ~,° ").

Also, I'm experiencing weird behaviour when using "Ctrl+Amiga+Amiga", regardless of activating the reset code or not. Every time, "Ctrl-Amiga+Amiga" is pressed, the keyboard seems to be stuck at holding "Ctrl+Amiga". I verified this a lot of times, after "Ctrl+Amiga+Amiga" p.e. pressing "d" opens a new virtual desktop in Windows 10. After pressing each of the three keys once (and alone), everything is as normal.

"Ctrl+Amiga" (one, not both Amiga keys) does not produce this "stuck keys" behaviour.

Anyone an idea for a solution?

Greetings from Germany

René