Comment 16 for bug 427612

Revision history for this message
Paolo Bonzini (bonzini) wrote : Re: does not pass pressed caps lock to client

The sdl patch was correctly submitted as

+ SDL_UseLockKeys = getenv ("SDL_DISABLE_LOCK_KEYS") == NULL;

...

+ use_lock_keys = SDL_UseLockKeys;

...

+ if (!use_lock_keys)
+ break;

(i.e. by default do not change anything) but the maintainer apparently morphed it into

+ SDL_UseLockKeys = getenv("SDL_DISABLE_LOCK_KEYS");

...

+ use_lock_keys = ( SDL_UseLockKeys && *SDL_UseLockKeys );

...

+ if ( ! use_lock_keys )
+ break;

which changed the meaning of SDL_DISABLE_LOCK_KEYS and, at the same time, the default. A better patch to qemu would be to stick

    putenv ("SDL_DISABLE_LOCK_KEYS", "howlame");

before SDL_Init. Also totally inacceptable by upstream, but at least it doesn't break Debian/Ubuntu qemu if the wrong 205_lock_keys.patch is removed from libsdl.