fdivitto / FabGL

ESP32 Display Controller (VGA, PAL/NTSC Color Composite, SSD1306, ST7789, ILI9341), PS/2 Mouse and Keyboard Controller, Graphics Library, Sound Engine, Game Engine and ANSI/VT Terminal

Home Page:http://www.fabglib.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KeyboardVirtualKeys reboots for some keys when Belgian or Norwegian keyboard layout is selected

mobluse opened this issue · comments

In PS/2 Keyboard Virtual Keys: When I select BE (7) or NO (8) Layout some keys close to Return cause the program to crash and reboot or print garbage. I discovered this in my modified library FabGL-N, but I think this is also in your original, but I will test that soon. I've not done any changes to the Belgian layout, only in the German and Norwegian, and the German does not crash and reboot or print garbage for any key. When I change to BE Layout and the press the key marked '\' on the US Layout it crashes with this message:

13:59:07.355 -> Device Id = "MF2 keyboard"  Keyboard Layout: "BE"
13:59:17.200 -> Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
13:59:17.200 -> Core 1 register dump:
13:59:17.200 -> PC      : 0x4008aa65  PS      : 0x00060f30  A0      : 0x800e744e  A1      : 0x3ffb1b30  
13:59:17.200 -> A2      : 0x00000000  A3      : 0xfffffffc  A4      : 0x000000ff  A5      : 0x0000ff00  
13:59:17.200 -> A6      : 0x00ff0000  A7      : 0xff000000  A8      : 0x00000000  A9      : 0x0000c0c0  
13:59:17.247 -> A10     : 0x0000c0c0  A11     : 0x0000c0c0  A12     : 0x8008c4ec  A13     : 0x3ffbf130  
13:59:17.247 -> A14     : 0x0000002a  A15     : 0x3ffb1fb0  SAR     : 0x0000001c  EXCCAUSE: 0x0000001c  
13:59:17.247 -> EXCVADDR: 0x00000000  LBEG    : 0x4008aa65  LEND    : 0x4008aa75  LCOUNT  : 0xffffffff  
13:59:17.247 -> 
13:59:17.247 -> ELF file SHA256: 0000000000000000
13:59:17.247 -> 
13:59:17.247 -> Backtrace: 0x4008aa65:0x3ffb1b30 0x400e744b:0x3ffb1b40 0x400f0222:0x3ffb1e50 0x400f025a:0x3ffb1ee0 0x400d1b2d:0x3ffb1f20 0x400d1e04:0x3ffb1f70 0x400e2009:0x3ffb1fb0 0x4008c8a2:0x3ffb1fd0
13:59:17.294 -> 
13:59:17.294 -> Rebooting...
13:59:18.851 -> 
13:59:18.851 -> 
13:59:18.851 -> Reset
13:59:19.800 -> �[93m
13:59:19.800 -> 
13:59:19.800 -> PS/2 Keyboard Virtual Keys
13:59:19.800 -> Chip Revision: 1   Chip Frequency: 240 MHz
13:59:19.800 -> Device Id = "MF2 keyboard"  Keyboard Layout: "US"

When I select NO Layout and press 'Å' ('[' on US) I get:

14:02:06.888 -> Device Id = "MF2 keyboard"  Keyboard Layout: "NO"
14:02:20.451 -> ⸮�v⸮⸮⸮⸮?ly⸮?: 	ASCII = 0x86	'⸮'	DN	[54 ]
14:02:20.498 -> ⸮�v⸮⸮⸮⸮?ly⸮?: 	ASCII = 0x86	'⸮'	UP	[F0 54 ]

If I have BE Layout and press the same key ('[' on US) nothing happens, i.e. it does not detect that I pressed a key.