diff options
Diffstat (limited to 'src/linux/LinuxKeyboard.cpp')
-rwxr-xr-x | src/linux/LinuxKeyboard.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/linux/LinuxKeyboard.cpp b/src/linux/LinuxKeyboard.cpp index 75d98ca..beafa3a 100755 --- a/src/linux/LinuxKeyboard.cpp +++ b/src/linux/LinuxKeyboard.cpp @@ -25,8 +25,11 @@ restrictions: #include "OISException.h" #include "OISEvents.h" +#ifdef HAVE_X11 #include <X11/keysym.h> #include <X11/Xutil.h> +#endif + #include <cstring> using namespace OIS; @@ -35,6 +38,7 @@ using namespace OIS; LinuxKeyboard::LinuxKeyboard(InputManager* creator, bool buffered, bool grab, bool useXRepeat) : Keyboard(creator->inputSystemName(), buffered, 0, creator) { +#ifdef HAVE_X11 setlocale(LC_CTYPE, ""); //Set the locale to (hopefully) the users LANG UTF-8 Env var display = 0; @@ -185,7 +189,7 @@ LinuxKeyboard::LinuxKeyboard(InputManager* creator, bool buffered, bool grab, bo keyConversion.insert(XtoOIS_KeyMap::value_type(XK_Super_L, KC_LWIN)); keyConversion.insert(XtoOIS_KeyMap::value_type(XK_Super_R, KC_RWIN)); keyConversion.insert(XtoOIS_KeyMap::value_type(XK_Menu, KC_APPS)); - +#endif static_cast<LinuxInputManager*>(mCreator)->_setKeyboardUsed(true); } @@ -196,6 +200,7 @@ void LinuxKeyboard::_initialize() memset( &KeyBuffer, 0, 256 ); mModifiers = 0; +#ifdef HAVE_X11 if( display ) XCloseDisplay(display); display = 0; window = static_cast<LinuxInputManager*>(mCreator)->_getWindow(); @@ -226,11 +231,13 @@ void LinuxKeyboard::_initialize() XAutoRepeatOff( display ); } +#endif } //-------------------------------------------------------------------// LinuxKeyboard::~LinuxKeyboard() { +#ifdef HAVE_X11 if( display ) { if( oldXAutoRepeat ) @@ -241,7 +248,7 @@ LinuxKeyboard::~LinuxKeyboard() XCloseDisplay(display); } - +#endif static_cast<LinuxInputManager*>(mCreator)->_setKeyboardUsed(true); } @@ -297,6 +304,7 @@ bool LinuxKeyboard::isKeyDown( KeyCode key ) //-------------------------------------------------------------------// void LinuxKeyboard::capture() { +#ifdef HAVE_X11 KeySym key; XEvent event; LinuxInputManager* linMan = static_cast<LinuxInputManager*>(mCreator); @@ -371,6 +379,7 @@ void LinuxKeyboard::capture() } } } +#endif } //-------------------------------------------------------------------// @@ -425,6 +434,7 @@ const std::string& LinuxKeyboard::getAsString( KeyCode kc ) mGetString = "Unknown"; char *temp = 0; +#ifdef HAVE_X11 XtoOIS_KeyMap::iterator i = keyConversion.begin(), e = keyConversion.end(); @@ -438,6 +448,7 @@ const std::string& LinuxKeyboard::getAsString( KeyCode kc ) break; } } +#endif return mGetString; } |