arkadiusz.makarenko wrote: 02 Nov 2023 10:52
I have just precisely adapted your mapping, I just changed one name and inverted 0xE8 value.
Good, then I know, who I can blame... and then correct my self. :)
- Now you did not only remove "," from key next to "Z" but also "\" that is now completely missing.
So, in your config it was already right... There was just this extra numpad-key defined as well, please copy this "\" back from your version.
I had to change as well control buttons, as they are read from keyboard a little bit differently, so those values are rally placeholders for documentation rather than functional one.
- I think you tried to move "_" from next to "1" to RCTRL (that is good), but for some reason it is not working.
Ok... So if the KEY_RIGHTCONTROL can not be used separately, then I think we have to just accept the key is mapped to very different end of the keyboard as you had it in your setup (and make KEY_RIGHTCONTROL just CTRL-key as it originally was). I know that your keyboard does not have "2nd win-key" (=KEY_MENU ?), but maybe it could be mapped as alternative button for "_"-key?
- Pressing F11 or F12 crashes the keyboard driver completely so that no key works after pressing one of these keys (maybe your code has undefined constant KB_ROW_11 or then it is problematic that MSX does not try to read these keys at all)
If this gives problems then just throw those definitions away, I don't think anyone will miss those keys. I just added them as I thought they could be implemented "free of charge" :)
- GRAPH and CODE are now in correct keys, but still wrong way around and need to be swapped with each other
Yes, verified... I fucked up here.
Is there a keyboard testing software I could use?
Nothing useful comes to mind... I've newer really had a need for such before now. :)
Maybe this a bit shortened version of my previous test can help? It has same output, but in "real time" (no memory of previously pressed keys)
Code: Select all
10 CLS
20 LOCATE 0,0
30 FOR I=0 TO 10
40 PRINTI,RIGHT$("0000000"+BIN$(PEEK(&HFBE5+I)),8)
50 NEXT I
60 GOTO 20
I will look around and let you know if I find something that could be helpful in this case.