Setting keyset joystick is not 100% working using numpad keys.
Versatile Commodore Emulator
Brought to you by:
blackystardust,
gpz
Its the good old keyboard nonsense in Windows again (it works fine in Linux). Guess the extra code i added for this a while ago doesn't work anymore.
(You don't have to configure anything btw - its the default :))
it works for me too in windows. both ports
tested with Joyride-1.8
both with and without numlock? (you'll have to reconfigure for the later of course) WITH numlock it works indeed
Actually now that i wrote this, i can imagine why it doesn't work @compyx is the UI using the same keyboard code that the emulation uses? (thats where all the whacko magic is that makes the numpad work on windows) - if not, then it will not work :=)
yes, it only works if numlock is ON.
honestly, i thought of this as a feature... i can use the numpad as cursor keys (or however we define them) if numlock is OFF.
I took a look at the event handler in the dialog that handles key presses, and indeed there's no Windows-specific nonsense there. I'll try to fix this when I next have access to a Windows machine, probably next week.
I'll have a look at moving (only) the keycode fixing stuff into a separate function then
@iAN_CooG try r45465 - it works for me
The hotkey assignment will need a similar fix - i leave that to @compyx (also please review what i did and fix eventually)
Tried GTK3VICE-3.9-win64-r45465.7z and it works.
I can now set keyset using Home, Page_Up, Up so I don't have to resort to num lock always on.
Obviously if I have numlock on, I can set as before also KP_7 KP_8 KP_9 and obviously I have to keep numlock on to use the joystick keyset configured like this.
Way better than it was before, I consider it fixed. Cheers.
The hotkeys do not need fixing: all hotkeys assigned to numpad keys work as expected. Gdk considers keys with or without numlock different keys (e.g. Insert vs 0), so mapping a hotkey with numlock ON will only make that hotkey work if numlock is ON.
Adding any translation magic like we do for the joystick is very likely to break things, so I'd leave this as-is.