VirtualBox

Changeset 51122 in vbox for trunk/src/VBox/Frontends/VBoxSDL


Ignore:
Timestamp:
Apr 23, 2014 11:43:07 AM (11 years ago)
Author:
vboxsync
Message:

FE/SDL: make lock keys work with recent SDL versions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp

    r49032 r51122  
    744744     * to change the mode. The current lock mode is reflected in SDL_GetModState().
    745745     *
    746      * Debian patched libSDL to make the lock keys behave like normal keys generating a
    747      * KeyPress/KeyRelease event if the lock key was pressed/released. But the lock status
    748      * is not reflected in the mod status anymore. We disable the Debian-specific extension
    749      * to ensure a defined environment and work around the missing KeyPress/KeyRelease
    750      * events in ProcessKeys().
     746     * Debian patched libSDL to make the lock keys behave like normal keys
     747     * generating a KeyPress/KeyRelease event if the lock key was
     748     * pressed/released.  With the new behaviour, the lock status is not
     749     * reflected in the mod status anymore, but the user can request the old
     750     * behaviour by setting an environment variable.  To confuse matters further
     751     * version 1.2.14 (fortunately including the Debian packaged versions)
     752     * adopted the Debian behaviour officially, but inverted the meaning of the
     753     * environment variable to select the new behaviour, keeping the old as the
     754     * default.  We disable the new behaviour to ensure a defined environment
     755     * and work around the missing KeyPress/KeyRelease events in ProcessKeys().
    751756     */
    752     RTEnvSet("SDL_DISABLE_LOCK_KEYS", "1");
     757    {
     758        const SDL_version *pVersion = SDL_Linked_Version();
     759        if (  SDL_VERSIONNUM(pVersion->major, pVersion->minor, pVersion->patch)
     760            < SDL_VERSIONNUM(1, 2, 14))
     761            RTEnvSet("SDL_DISABLE_LOCK_KEYS", "1");
     762    }
    753763#endif
    754764
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette