summaryrefslogtreecommitdiff
path: root/src/linux/LinuxKeyboard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/linux/LinuxKeyboard.cpp')
-rwxr-xr-xsrc/linux/LinuxKeyboard.cpp15
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;
}