summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp
diff options
context:
space:
mode:
authorGlenn Rice <glennricster@gmail.com>2010-12-21 23:58:25 +0000
committerGlenn Rice <glennricster@gmail.com>2010-12-21 23:58:25 +0000
commitc1c1f54c59b97696ca373b460a90332675f42910 (patch)
tree805ddc8b487a8df03b1f66d835db90b020438f5c /Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp
parente4269dcd65cfdcd611d71b91e43e57729c849427 (diff)
Implement free look on linux. Patch due to artart78.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6638 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp')
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp b/Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp
index c83eb892c0..536f105dee 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp
@@ -124,7 +124,9 @@ KeyboardMouse::Key::Key(Display* const display, KeyCode keycode)
ControlState KeyboardMouse::Key::GetState(const State* const state) const
{
- return (state->keyboard[m_keycode/8] & (1 << (m_keycode%8))) != 0;
+ KeyCode shift = XKeysymToKeycode(m_display, XK_Shift_L);
+ return (state->keyboard[m_keycode/8] & (1 << (m_keycode%8))) != 0
+ && (state->keyboard[shift/8] & (1 << (shift%8))) == 0;
}
ControlState KeyboardMouse::Button::GetState(const State* const state) const