Hi there,
as you may know, we try to use your SDL port in simonkagstrom's Wii Frodo port. Today, I found out why simonkagstrom's Wii Frodo port doesn't support the shift key. Turns out that SDL gamecubeevents doesn't handle modifier keys "properly".
SDL infers which modifiers are pressed on its own, all you have to do is send normal SDL_PrivateKeyboard(SDL_KEYPRESSED, SDLK_LSHIFT, 0);, that is, the SDL_SetModState() call shouldn't be there at all, and instead, there should be normal keypress events.
Check "lib/SDL-Port/src/events/SDL_keyboard.c" function "SDL_PrivateKeyboard", you'll see, they only use "->sym" and don't use "->modifiers" at all.
For reference, the entire path for an keyboard event is /dev/usb/kbd -> video/gamecube/SDL_gamecubeevents.c:keyboard_callback -> [queue] -> GAMECUBE_PumpEvents -> events/SDL_keyboard.c:SDL_PrivateKeyboard -> [queue] -> Frodo:C64Display::PollKeyboard.
I attached a patch to your SDL-port-20090108.
Status: New
Labels:
Type-Defect
Priority-Medium