uli / basicengine-firmware

BASIC Engine Firmware
78 stars 16 forks source link

PrintScreen takes screenshots only in BASIC Engine NG #111

Closed CityAceE closed 1 month ago

CityAceE commented 2 months ago

Is it correct or it's a bug?

RX and LT just print "W" symbol instead of taking a screenshot.

uli commented 1 month ago

That is supposed to work. I just tried in on desktop Linux, and it didn't work because the DE intercepts the PrintScreen key. I fixed that by grabbing the keyboard in fullscreen mode, and then taking screenshots works just fine. But that's not the issue on the embedded platforms.

I looked at the SDL key scancodes, and there is SDL_SCANCODE_PRINTSCREEN and SDL_SCANCODE_SYSREQ, even though these are the same keys on my keyboard. In the Linux DE the scancode produced is SDL_SCANCODE_PRINTSCREEN, which is the same as the USB scancode for that key, so that makes sense. I suspect that when using the KMSDRM driver, the scancode produced is SDL_SCANCODE_SYSREQ, which happens to be SDL_SCANCODE_W + 0x80...