• Show log

    Commit

  • Hash : f59b0056
    Author : Ryan C. Gordon
    Date : 2018-08-07T16:56:46

    evdev: On sudden termination, make sure keyboard isn't lost (thanks, Tadek!)
    
    "In release 2.0.6, when Linux evdev keyboard support has been moved to a
    separate source file, a feature was added to disable normal keyboard event
    processing to prevent "spilling" keystrokes to background virtual console.
    
    This feature has one unpleasant side effect: if application fails to call
    `SDL_Exit` before termination or crashes with fatal signal, console is left
    in unusable state with keyboard not working and no possibility to switch
    virtual console. If user has a chance, he can login remotely and restore
    keyboard with `kbd_mode`, otherwise the only option is to reboot the machine.
    
    This patch fixes that problem by intercepting fatal signals (with `sigaction`)
    and process termination (with `atexit`), to restore keyboard state, if it
    wasn't properly restored with `SDL_Exit`.
    
    The function registered with `atexit` also restores original signal handlers,
    to prevent leaving invalid handlers after SDL library is unloaded, if it was
    loaded dynamically with `dlopen`.
    
    No signal handlers or `atexit` function are installed if SDL boolean hint
    `SDL_HINT_NO_SIGNAL_HANDLERS` is `SDL_TRUE`.
    
    Additionally, if environment variable `SDL_INPUT_LINUX_KEEP_KBD` exists,
    keyboard initialization function completely skips disabling keyboard. This
    can be useful for debugging."
    
    Fixes Bugzilla #4193.
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/SDL.git
    Git SSH git@git.kmx.io:kc3-lang/SDL.git
    Public access ? public
    Description

    Fork of https://github.com/libsdl-org/SDL

    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg thodg_l
    Tags

  • README.txt

  •                          Simple DirectMedia Layer
    
                                      (SDL)
    
                                    Version 2.0
    
    ---
    https://www.libsdl.org/
    
    Simple DirectMedia Layer is a cross-platform development library designed
    to provide low level access to audio, keyboard, mouse, joystick, and graphics
    hardware via OpenGL and Direct3D. It is used by video playback software,
    emulators, and popular games including Valve's award winning catalog
    and many Humble Bundle games.
    
    More extensive documentation is available in the docs directory, starting
    with README.md
    
    Enjoy!
    	Sam Lantinga				(slouken@libsdl.org)