i see odd behaviours in the SDL port.
- choose german symbolic
- press shift + 0 (should give a =)
- keep pressing shift and press a number of 0
only the first one produces a "=", the rest a "0"
this also happens for shift+ , and shift + .
maybe others too
i completely messed up the title, someone plz correct it.
it's a keyboard issue.
odd behaviour.... it works as expected in the GTK3 port shrug
it seems the keys with flag 32 are affected. there are none of those in the GTK3 port.
r36832 should fix it hopefully.... please test. also please try if it still works as intended in GTK3 :)
the above mentioned keys seem to work now.
yes, of course, those i tested obviously. however, please test if other things broke now... i am not exactly sure what the sideeffects of the change i made could be. (any keys with left and/or right shift may be affected)
well, the also obvious SHIFTED a-z and numbers also work fine.
problem is, i don't have a german keyboard.
OH, well.. testing it on another keyboard layout doesnt make a lot of sense =P
well, maybe if my keyboard was supported by one of the provided .vkm
i guess i could test and compare with older vice versions
what kind of keyboard do you have then? and what about making such vkm? :=)
comparing with older VICE doesnt really make much sense, it will almost certainly be more broken in older versions (especially in windows versions)
my keyboard is swiss german. there's probably no point in making a .vkm for only a dozen people.
Build: SDL2VICE-3.3-win64-r36900
Setting: Symbolic - American (us)
1 -> 1
shift 1 -> !
2 -> @
shift 2 -> @
3 -> 3
shift 3 -> #
4 -> 4
shift 4 -> $
5 -> 5
shift 5 -> %
6 -> ^ (up-arrow)
shift 6 -> ^ (up-arrow)
7 -> &
shift 7 -> &
8 -> *
shift 8 -> *
9 -> (
shift 9 -> )
0 -> )
shift 0 -> )
Seems like some number keys always output their shifted value...
fixed in r36902 - please test again
if you provide one, then i will include it :)
Number keys are working correct now, thanks
The "`" key (next to the "1" key) always outputs the pi sign (should be left arrow).
Last edit: Patman 2019-08-21
i might do that. it will take some time, i never did that.
it shouldnt be too hard... first copy the keymap that is closest to what you what you want to do, and enable that in the options. also enable "show keyboard status in statusbar" (and also statusbar by itself). save settings, and fix the remaining errors :) the german keymap is probably the most complete/least buggy right now, so that is likely the best example. it takes a bit of fiddling to get certain things right, but once you got the hang of it its really easy :)
ok, here is a sdl_pos_ch.vkm for a start.
The "`" key (next to the "1" key) always outputs the pi sign (should be left arrow).
please try this... i cant test it here, when i switch to US layout i get a scancode of all 0s for the key next to 1 shrug if it doesnt work, enable "show keycodes in statusbar" and tell what codes you get (once for plain key, once with shift)
96 7 1 32 / ` -> Left Arrow /
96 6 6 129 / ~ -> Pi /
Keycode in the statusbar show without shift 96 1000 with right shift 96 1002 with left shift 96 1001.
Got it working with in sdl_sym.vkm file:
Works also with:
96 6 6 129 / ~ -> Pi /
@Patman: ok, patched
@Querino: ok, added the keymap and also updated the code so it should detect the layout and give you the respective option in the emulator (when keymap exists)
working on a win_sym_ch, not as easy though.
btw, not sure if this is a bug or not, but the language detection is a bit weird.
with only the pos ch vkm, vice -default loads american sym vkm
code is
this is true on windows sdl on my windows 7 (set to swiss german), maybe it works on other ports as expected.
well, minor issue anyways.
Not 100% sure it's a side effect of this fix, but now with the SDL2 version the C= key is mapped to TAB instead of left ctrl.