Fix the linux keyboard.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4951 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Glenn Rice 2010-01-24 18:23:47 +00:00
parent cb47eb27cc
commit b17c5f3cf3
4 changed files with 14 additions and 5 deletions

View File

@ -99,7 +99,15 @@ KeySym wxCharCodeWXToX(int id)
case WXK_F24: keySym = XK_F24; break; case WXK_F24: keySym = XK_F24; break;
case WXK_NUMLOCK: keySym = XK_Num_Lock; break; case WXK_NUMLOCK: keySym = XK_Num_Lock; break;
case WXK_SCROLL: keySym = XK_Scroll_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; return keySym;

View File

@ -509,7 +509,8 @@ void WiimotePadConfigDialog::CreatePadGUIControls()
}; };
// Configuration controls sizes // Configuration controls sizes
static const int TxtW = 50, TxtH = 20, BtW = 70, BtH = 20; static const int BtW = 70, BtH = 20;
// static const int TxtW = 50, TxtH = 20; // These are never used. Will they ever be?
// A small type font // A small type font
wxFont m_SmallFont(7, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL); wxFont m_SmallFont(7, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL);

View File

@ -673,7 +673,7 @@ void ReadLinuxKeyboard()
for (int i = 0; i < LAST_CONSTANT; i++) for (int i = 0; i < LAST_CONSTANT; i++)
{ {
if (key == WiiMapping[g_ID].Button[i]) if (((int) key) == WiiMapping[g_ID].Button[i])
KeyStatus[i] = true; KeyStatus[i] = true;
} }
break; break;
@ -691,7 +691,7 @@ void ReadLinuxKeyboard()
for (int i = 0; i < LAST_CONSTANT; i++) for (int i = 0; i < LAST_CONSTANT; i++)
{ {
if (key == WiiMapping[g_ID].Button[i]) if (((int) key) == WiiMapping[g_ID].Button[i])
KeyStatus[i] = false; KeyStatus[i] = false;
} }
break; break;

View File

@ -308,7 +308,7 @@ bool IsKey(int Key)
#ifdef _WIN32 #ifdef _WIN32
Ret = GetAsyncKeyState(MapKey); // Keyboard (Windows) Ret = GetAsyncKeyState(MapKey); // Keyboard (Windows)
#else #else
Ret = KeyStatus[MapKey]; // Keyboard (Linux) Ret = KeyStatus[Key]; // Keyboard (Linux)
#endif #endif
} }
else if (MapKey < 0x1100) else if (MapKey < 0x1100)