From 2b206a74a98ace341b3b3b96a6f2543a0c1b3368 Mon Sep 17 00:00:00 2001 From: Eduardo Bart Date: Sat, 4 Feb 2012 00:43:43 -0200 Subject: [PATCH] some key codes changes --- modules/client_tibiafiles | 2 +- modules/core_lib/const.lua | 2 - modules/core_lib/hotkeys.lua | 2 +- src/framework/const.h | 3 +- src/framework/platform/win32window.cpp | 51 ++++++++------------------ src/framework/platform/x11window.cpp | 3 +- 6 files changed, 22 insertions(+), 41 deletions(-) diff --git a/modules/client_tibiafiles b/modules/client_tibiafiles index dd648e14..9beb17da 160000 --- a/modules/client_tibiafiles +++ b/modules/client_tibiafiles @@ -1 +1 @@ -Subproject commit dd648e1431171bffe091b748744395780df7eba1 +Subproject commit 9beb17daaeb170c127c39c5a5e4feb9d95ebed92 diff --git a/modules/core_lib/const.lua b/modules/core_lib/const.lua index ccfe489e..dc65c712 100644 --- a/modules/core_lib/const.lua +++ b/modules/core_lib/const.lua @@ -82,7 +82,6 @@ KeyCapsLock = 20 KeyCtrl = 21 KeyShift = 22 KeyAlt = 23 -KeyAltGr = 24 KeyMeta = 25 KeyMenu = 26 KeySpace = 32 -- ' ' @@ -201,7 +200,6 @@ KeyCodeDescs = { [KeyCtrl] = 'Ctrl', [KeyShift] = 'Shift', [KeyAlt] = 'Alt', - [KeyAltGr] = 'AltGr', [KeyMeta] = 'Meta', [KeyMenu] = 'Menu', [KeySpace] = 'Space', diff --git a/modules/core_lib/hotkeys.lua b/modules/core_lib/hotkeys.lua index 07f6650e..caefe721 100644 --- a/modules/core_lib/hotkeys.lua +++ b/modules/core_lib/hotkeys.lua @@ -29,7 +29,7 @@ end local function determineKeyComboDesc(keyCode, keyboardModifiers) local keyCombo = {} - if keyCode == KeyCtrl or keyCode == KeyShift or keyCode == KeyAlt or keyCode == KeyAltGr then + if keyCode == KeyCtrl or keyCode == KeyShift or keyCode == KeyAlt then table.insert(keyCombo, keyCode) elseif KeyCodeDescs[keyCode] ~= nil then if keyboardModifiers == KeyboardCtrlModifier then diff --git a/src/framework/const.h b/src/framework/const.h index 8684d9e3..7a5f166c 100644 --- a/src/framework/const.h +++ b/src/framework/const.h @@ -60,6 +60,7 @@ namespace Fw KeyEscape = 1, KeyTab = 2, KeyBackspace = 3, + //KeyReturn = 4, KeyEnter = 5, KeyInsert = 6, KeyDelete = 7, @@ -79,7 +80,7 @@ namespace Fw KeyCtrl = 21, KeyShift = 22, KeyAlt = 23, - KeyAltGr = 24, + //KeyAltGr = 24, KeyMeta = 25, KeyMenu = 26, KeySpace = 32, // ' ' diff --git a/src/framework/platform/win32window.cpp b/src/framework/platform/win32window.cpp index 43d76dad..fc05039f 100644 --- a/src/framework/platform/win32window.cpp +++ b/src/framework/platform/win32window.cpp @@ -71,10 +71,10 @@ WIN32Window::WIN32Window() m_keyMap[VK_RSHIFT] = Fw::KeyShift; m_keyMap[VK_MENU] = Fw::KeyAlt; m_keyMap[VK_LMENU] = Fw::KeyAlt; - m_keyMap[VK_RMENU] = Fw::KeyAltGr; + m_keyMap[VK_RMENU] = Fw::KeyAlt; m_keyMap[VK_LWIN] = Fw::KeyMeta; m_keyMap[VK_RWIN] = Fw::KeyMeta; - m_keyMap[VK_MENU] = Fw::KeyMenu; + m_keyMap[VK_APPS] = Fw::KeyMenu; // ascii characters /* @@ -163,18 +163,6 @@ WIN32Window::WIN32Window() m_keyMap[VK_DIVIDE] = Fw::KeySlash; m_keyMap[VK_MULTIPLY] = Fw::KeyAsterisk; - // keypad with numlock off - m_keyMap[VK_NUMPAD0] = Fw::KeyNumpad0; - m_keyMap[VK_NUMPAD1] = Fw::KeyNumpad1; - m_keyMap[VK_NUMPAD2] = Fw::KeyNumpad2; - m_keyMap[VK_NUMPAD3] = Fw::KeyNumpad3; - m_keyMap[VK_NUMPAD4] = Fw::KeyNumpad4; - m_keyMap[VK_NUMPAD5] = Fw::KeyNumpad5; - m_keyMap[VK_NUMPAD6] = Fw::KeyNumpad6; - m_keyMap[VK_NUMPAD7] = Fw::KeyNumpad7; - m_keyMap[VK_NUMPAD8] = Fw::KeyNumpad8; - m_keyMap[VK_NUMPAD9] = Fw::KeyNumpad9; - m_keyMap[VK_OEM_1] = Fw::KeySemicolon; m_keyMap[VK_OEM_2] = Fw::KeySlash; m_keyMap[VK_OEM_3] = Fw::KeyGrave; @@ -432,39 +420,32 @@ Fw::Key WIN32Window::retranslateVirtualKey(WPARAM wParam, LPARAM lParam) // retranslate numpad keys switch(wParam) { case VK_INSERT: - wParam = VK_NUMPAD0; - break; + return Fw::KeyNumpad0; case VK_END: - wParam = VK_NUMPAD1; - break; + return Fw::KeyNumpad1; case VK_DOWN: - wParam = VK_NUMPAD2; - break; + return Fw::KeyNumpad2; case VK_NEXT: - wParam = VK_NUMPAD3; - break; + return Fw::KeyNumpad3; case VK_LEFT: - wParam = VK_NUMPAD4; - break; + return Fw::KeyNumpad4; case VK_CLEAR: - wParam = VK_NUMPAD5; - break; + return Fw::KeyNumpad5; case VK_RIGHT: - wParam = VK_NUMPAD6; - break; + return Fw::KeyNumpad6; case VK_HOME: - wParam = VK_NUMPAD7; - break; + return Fw::KeyNumpad7; case VK_UP: - wParam = VK_NUMPAD8; - break; + return Fw::KeyNumpad8; case VK_PRIOR: - wParam = VK_NUMPAD9; - break; + return Fw::KeyNumpad9; } } - return m_keyMap[wParam]; + if(m_keyMap.find(wParam) != m_keyMap.end()) + return m_keyMap[wParam]; + + return Fw::KeyUnknown; } LRESULT WIN32Window::windowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) diff --git a/src/framework/platform/x11window.cpp b/src/framework/platform/x11window.cpp index 0cc92a96..68e95c80 100644 --- a/src/framework/platform/x11window.cpp +++ b/src/framework/platform/x11window.cpp @@ -77,7 +77,7 @@ X11Window::X11Window() m_keyMap[XK_Control_R] = Fw::KeyCtrl; m_keyMap[XK_Shift_R] = Fw::KeyShift; m_keyMap[XK_Shift_L] = Fw::KeyShift; - m_keyMap[XK_Alt_R] = Fw::KeyAltGr; + m_keyMap[XK_Alt_R] = Fw::KeyAlt; m_keyMap[XK_Alt_L] = Fw::KeyAlt; m_keyMap[XK_Meta_L] = Fw::KeyMeta; m_keyMap[XK_Meta_R] = Fw::KeyMeta; @@ -545,6 +545,7 @@ void X11Window::poll() char buf[32]; int len = XLookupString(&xkey, buf, sizeof(buf), &keysym, 0); Fw::Key keyCode = Fw::KeyUnknown; + if(m_keyMap.find(keysym) != m_keyMap.end()) keyCode = m_keyMap[keysym];