Simple Directmedia Layer
Go to file
Ryan C. Gordon f59b0056d3 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.
2018-08-07 16:56:46 -04:00
acinclude
android-project Clean up captured pointer code to avoid logcat clutter on pre-8.0 systems (thanks Rachel!) 2018-07-13 12:55:50 -07:00
android-project-ant
build-scripts ltmain.sh: make OSX autofoo builds' compatibility version match Xcode builds. 2018-07-05 23:01:10 +03:00
cmake wayland: Keep protocol XML files in-tree. 2018-06-25 09:37:25 -07:00
debian Updated copyright for 2018 2018-01-03 10:03:25 -08:00
docs audio: Added ARM NEON versions of audio converters. 2018-05-16 02:03:06 -04:00
include SDL_exp 2018-08-04 11:52:46 -04:00
src evdev: On sudden termination, make sure keyboard isn't lost (thanks, Tadek!) 2018-08-07 16:56:46 -04:00
test Some drag'and'drop improvements. 2018-08-02 16:03:47 -04:00
VisualC SDL_exp 2018-08-04 11:52:46 -04:00
VisualC-WinRT Windows Phone 8.0 is no longer supported 2018-02-09 08:03:03 -08:00
visualtest ran 'chmod -x' on many files 2018-06-12 14:00:15 +03:00
wayland-protocols wayland: Keep protocol XML files in-tree. 2018-06-25 09:37:25 -07:00
Xcode ran 'chmod -x' on two files 2018-06-30 20:03:23 +03:00
Xcode-iOS ran 'chmod -x' on many files 2018-06-12 14:00:15 +03:00
.hgignore
Android.mk Allow trapping the back button so right mouse click can work on some Android systems (thanks Rachel!) 2018-07-12 13:28:13 -07:00
autogen.sh
BUGS.txt
cmake_uninstall.cmake.in
CMakeLists.txt SDL_exp 2018-08-04 11:52:46 -04:00
configure SDL_exp 2018-08-04 11:52:46 -04:00
configure.in SDL_exp 2018-08-04 11:52:46 -04:00
COPYING.txt Updated copyright for 2018 2018-01-03 10:03:25 -08:00
CREDITS.txt
INSTALL.txt
Makefile.in wayland: Keep protocol XML files in-tree. 2018-06-25 09:37:25 -07:00
Makefile.minimal
Makefile.pandora
Makefile.psp
Makefile.wiz
README-SDL.txt
README.txt
sdl2-config.cmake.in
sdl2-config.in
sdl2.m4
sdl2.pc.in
SDL2.spec.in
SDL2Config.cmake
TODO.txt
VisualC.html
WhatsNew.txt Added SDL_GameControllerMappingForDeviceIndex() to get the mapping for a controller before it's opened 2018-03-07 13:30:40 -08:00

                         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)