From c343eab67a7e8a7e47ee1652a20ea23bad2b2763 Mon Sep 17 00:00:00 2001 From: Gabriel Jacobo Date: Tue, 26 Nov 2013 11:50:54 -0300 Subject: [PATCH] Fixes #2271, Add KD detection under CMake by Scott Percival --- CMakeLists.txt | 15 +++++++++++++++ include/SDL_config.h.cmake | 1 + 2 files changed, 16 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b8ceaa60a108..1d15fb274a079 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -651,6 +651,17 @@ if(UNIX AND NOT APPLE) #endif int main(int argc, char** argv) {}" HAVE_INPUT_EVENTS) + check_c_source_compiles(" + #include + #include + + int main(int argc, char **argv) + { + struct kbentry kbe; + kbe.kb_table = KG_CTRL; + ioctl(0, KDGKBENT, &kbe); + }" HAVE_INPUT_KD) + file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/linux/*.c) set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES}) @@ -665,6 +676,10 @@ if(UNIX AND NOT APPLE) set(HAVE_SDL_HAPTIC TRUE) endif(SDL_HAPTIC AND HAVE_INPUT_EVENTS) + if(HAVE_INPUT_KD) + set(SDL_INPUT_LINUXKD 1) + endif(HAVE_INPUT_KD) + check_include_file("libudev.h" HAVE_LIBUDEV_H) # !!! FIXME: this needs pkg-config to find the include path, I think. diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake index c69a5aa450039..27e5f734f7d1a 100644 --- a/include/SDL_config.h.cmake +++ b/include/SDL_config.h.cmake @@ -215,6 +215,7 @@ /* Enable various input drivers */ #cmakedefine SDL_INPUT_LINUXEV @SDL_INPUT_LINUXEV@ +#cmakedefine SDL_INPUT_LINUXKD @SDL_INPUT_LINUXKD@ #cmakedefine SDL_INPUT_TSLIB @SDL_INPUT_TSLIB@ #cmakedefine SDL_JOYSTICK_HAIKU @SDL_JOYSTICK_HAIKU@ #cmakedefine SDL_JOYSTICK_DINPUT @SDL_JOYSTICK_DINPUT@