Export to GitHub

wiiapple - issue #3

SDL: shift key doesn't work.


Posted on Mar 28, 2009 by Helpful Horse

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.

Attachments

Status: New

Labels:
Type-Defect Priority-Medium