summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/Src/X11InputBase.cpp
diff options
context:
space:
mode:
authorGlenn Rice <glennricster@gmail.com>2010-01-24 18:23:47 +0000
committerGlenn Rice <glennricster@gmail.com>2010-01-24 18:23:47 +0000
commitb17c5f3cf3e8f82c6b38d786ab8c1d169d85b2f0 (patch)
tree5569838e6b8032c8f47c6cfc82d33c2bcee13d5e /Source/Core/InputCommon/Src/X11InputBase.cpp
parentcb47eb27cc3c9e1a9c946d7f3e421ee0b89bace8 (diff)
Fix the linux keyboard.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4951 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/InputCommon/Src/X11InputBase.cpp')
-rw-r--r--Source/Core/InputCommon/Src/X11InputBase.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/Source/Core/InputCommon/Src/X11InputBase.cpp b/Source/Core/InputCommon/Src/X11InputBase.cpp
index c4b7c81e4e..f9ffd168db 100644
--- a/Source/Core/InputCommon/Src/X11InputBase.cpp
+++ b/Source/Core/InputCommon/Src/X11InputBase.cpp
@@ -99,7 +99,15 @@ KeySym wxCharCodeWXToX(int id)
case WXK_F24: keySym = XK_F24; break;
case WXK_NUMLOCK: keySym = XK_Num_Lock; break;
case WXK_SCROLL: keySym = XK_Scroll_Lock; break;
- default: keySym = id <= 255 ? (KeySym)id : 0;
+ // Input fix: Config dialogs read all alphabetic characters as UPPERCASE and
+ // saves the UPPERCASE keycodes. X11 reads these as lowercase by default.
+ default:
+ if (id >= 65 && id <= 90)
+ // Standard uppercase letter: return lowercase keycode
+ keySym = (KeySym)id + 32;
+ else
+ // All other keyboard characters
+ keySym = id <= 255 ? (KeySym)id : 0;
}
return keySym;