diff --git a/src/blackgui/components/hotkeydialog.cpp b/src/blackgui/components/hotkeydialog.cpp index c860bd4ad..b016a7605 100644 --- a/src/blackgui/components/hotkeydialog.cpp +++ b/src/blackgui/components/hotkeydialog.cpp @@ -356,7 +356,7 @@ namespace BlackGui void CHotkeyDialog::advancedKeyChanged(int oldIndex, int newIndex) { - CKeySelectionBox *ksb = qobject_cast(sender()); + const CKeySelectionBox *ksb = qobject_cast(sender()); Q_ASSERT(ksb); if (ksb->itemData(oldIndex).canConvert() && ksb->itemData(newIndex).canConvert()) diff --git a/src/blackinput/linux/keyboardlinux.cpp b/src/blackinput/linux/keyboardlinux.cpp index 984822fa7..14b87b7bd 100644 --- a/src/blackinput/linux/keyboardlinux.cpp +++ b/src/blackinput/linux/keyboardlinux.cpp @@ -78,7 +78,24 @@ namespace BlackInput { XK_Escape, Key_Esc }, { XK_space, Key_Space }, { XK_dead_grave, Key_DeadGrave }, - { XK_comma, Key_Comma }, + { XK_comma, Key_Comma } + + /** fixme Missing ones + Key_Insert, + Key_Delete, + Key_Esc = 27, + Key_Space = 32, + CKeyboardKey(Key_NumpadEqual), + CKeyboardKey(Key_OEM1), + CKeyboardKey(Key_OEM2), + CKeyboardKey(Key_OEM3), + CKeyboardKey(Key_OEM4), + CKeyboardKey(Key_OEM5), + CKeyboardKey(Key_OEM6), + CKeyboardKey(Key_OEM7), + CKeyboardKey(Key_OEM8), + CKeyboardKey(Key_OEM102) + **/ }; CKeyboardLinux::CKeyboardLinux(QObject *parent) : @@ -106,7 +123,7 @@ namespace BlackInput { QDir eventFiles(dir, QLatin1String("event*"), QDir::Name, QDir::System); - foreach(QFileInfo fileInfo, eventFiles.entryInfoList()) + foreach (QFileInfo fileInfo, eventFiles.entryInfoList()) { QString path = fileInfo.absoluteFilePath(); if (!m_keyboardDevices.contains(path)) @@ -270,12 +287,12 @@ namespace BlackInput { switch (keyCode) { - case BTN_LEFT: - case BTN_RIGHT: - case BTN_MIDDLE: - return true; - default: - return false; + case BTN_LEFT: + case BTN_RIGHT: + case BTN_MIDDLE: + return true; + default: + return false; } } } diff --git a/src/blackinput/macos/keyboardmacos.mm b/src/blackinput/macos/keyboardmacos.mm index 61ad3d757..54464f632 100644 --- a/src/blackinput/macos/keyboardmacos.mm +++ b/src/blackinput/macos/keyboardmacos.mm @@ -83,7 +83,24 @@ namespace BlackInput { kHIDUsage_KeyboardRightControl, Key_ControlRight }, { kHIDUsage_KeyboardLeftControl, Key_ControlLeft }, { kHIDUsage_KeyboardRightAlt, Key_AltRight }, - { kHIDUsage_KeyboardLeftAlt, Key_AltLeft }, + { kHIDUsage_KeyboardLeftAlt, Key_AltLeft } + + /** fixme Missing ones + Key_Insert, + Key_Delete, + Key_Esc = 27, + Key_Space = 32, + CKeyboardKey(Key_NumpadEqual), + CKeyboardKey(Key_OEM1), + CKeyboardKey(Key_OEM2), + CKeyboardKey(Key_OEM3), + CKeyboardKey(Key_OEM4), + CKeyboardKey(Key_OEM5), + CKeyboardKey(Key_OEM6), + CKeyboardKey(Key_OEM7), + CKeyboardKey(Key_OEM8), + CKeyboardKey(Key_OEM102) + **/ }; CKeyboardMacOS::CKeyboardMacOS(QObject *parent) : IKeyboard(parent) diff --git a/src/blackinput/win/keyboardwindows.cpp b/src/blackinput/win/keyboardwindows.cpp index f8e96348d..7fb99478a 100644 --- a/src/blackinput/win/keyboardwindows.cpp +++ b/src/blackinput/win/keyboardwindows.cpp @@ -68,9 +68,9 @@ namespace BlackInput { VK_TAB, Key_Tab }, { VK_ESCAPE, Key_Esc }, { VK_SPACE, Key_Space }, - { WM_DEADCHAR, Key_DeadGrave }, + { VK_INSERT, Key_Insert }, + { VK_DELETE, Key_Delete }, { VK_MULTIPLY, Key_Multiply }, - { VK_OEM_COMMA, Key_Comma }, { VK_NUMPAD0, Key_Numpad0 }, { VK_NUMPAD1, Key_Numpad1 }, { VK_NUMPAD2, Key_Numpad2 }, @@ -81,6 +81,17 @@ namespace BlackInput { VK_NUMPAD7, Key_Numpad7 }, { VK_NUMPAD8, Key_Numpad8 }, { VK_NUMPAD9, Key_Numpad9 }, + { VK_OEM_NEC_EQUAL, Key_NumpadEqual }, + { VK_OEM_COMMA, Key_Comma }, + { VK_OEM_1, Key_OEM1 }, + { VK_OEM_2, Key_OEM2 }, + { VK_OEM_3, Key_OEM3 }, + { VK_OEM_4, Key_OEM4 }, + { VK_OEM_5, Key_OEM5 }, + { VK_OEM_6, Key_OEM6 }, + { VK_OEM_7, Key_OEM7 }, + { VK_OEM_8, Key_OEM8 }, + { VK_OEM_102, Key_OEM102 } }; return hash; } diff --git a/src/blackmisc/input/keyboardkey.cpp b/src/blackmisc/input/keyboardkey.cpp index 61f55e4a2..b2b3d9df9 100644 --- a/src/blackmisc/input/keyboardkey.cpp +++ b/src/blackmisc/input/keyboardkey.cpp @@ -68,11 +68,23 @@ namespace BlackMisc case Key_Numpad7: return QStringLiteral("Num7"); case Key_Numpad8: return QStringLiteral("Num8"); case Key_Numpad9: return QStringLiteral("Num9"); + case Key_NumpadEqual: return QStringLiteral("Num="); case Key_Esc: return QStringLiteral("ESC"); case Key_Space: return QStringLiteral("Space"); - case Key_DeadGrave: return QStringLiteral("DeadGrave"); case Key_Tab: return QStringLiteral("Tab"); case Key_Back: return QStringLiteral("Backspace"); + case Key_Insert: return QStringLiteral("Insert"); + case Key_Delete: return QStringLiteral("Delete"); + case Key_OEM1: return QStringLiteral("OEM1"); + case Key_OEM2: return QStringLiteral("OEM2"); + case Key_OEM3: return QStringLiteral("OEM3"); + case Key_OEM4: return QStringLiteral("OEM4"); + case Key_OEM5: return QStringLiteral("OEM5"); + case Key_OEM6: return QStringLiteral("OEM6"); + case Key_OEM7: return QStringLiteral("OEM7"); + case Key_OEM8: return QStringLiteral("OEM8"); + case Key_OEM102: return QStringLiteral("OEM102"); + case Key_DeadGrave: return QStringLiteral("DeadGrave"); default: return QChar::fromLatin1(static_cast(m_keyCode)); } } diff --git a/src/blackmisc/input/keyboardkeylist.cpp b/src/blackmisc/input/keyboardkeylist.cpp index b6717deb7..85021a470 100644 --- a/src/blackmisc/input/keyboardkeylist.cpp +++ b/src/blackmisc/input/keyboardkeylist.cpp @@ -49,6 +49,8 @@ namespace BlackMisc CKeyboardKey(Key_Tab), CKeyboardKey(Key_Esc), CKeyboardKey(Key_Space), + CKeyboardKey(Key_Delete), + CKeyboardKey(Key_Insert), CKeyboardKey(Key_DeadGrave), CKeyboardKey(Key_A), CKeyboardKey(Key_B), @@ -95,7 +97,17 @@ namespace BlackMisc CKeyboardKey(Key_Numpad6), CKeyboardKey(Key_Numpad7), CKeyboardKey(Key_Numpad8), - CKeyboardKey(Key_Numpad9) + CKeyboardKey(Key_Numpad9), + CKeyboardKey(Key_NumpadEqual), + CKeyboardKey(Key_OEM1), + CKeyboardKey(Key_OEM2), + CKeyboardKey(Key_OEM3), + CKeyboardKey(Key_OEM4), + CKeyboardKey(Key_OEM5), + CKeyboardKey(Key_OEM6), + CKeyboardKey(Key_OEM7), + CKeyboardKey(Key_OEM8), + CKeyboardKey(Key_OEM102) }; return allKeys; diff --git a/src/blackmisc/input/keycodes.h b/src/blackmisc/input/keycodes.h index 1d7153bd3..ec7999fc5 100644 --- a/src/blackmisc/input/keycodes.h +++ b/src/blackmisc/input/keycodes.h @@ -18,6 +18,7 @@ namespace BlackMisc namespace Input { //! Key code + //! http://www.kbdlayout.info/ enum KeyCode { Key_Unknown, @@ -29,6 +30,8 @@ namespace BlackMisc Key_AltRight, Key_Back, Key_Tab, + Key_Insert, + Key_Delete, Key_Esc = 27, Key_Space = 32, Key_DeadGrave, // message is sent for a combining key, such as a diacritic. @@ -87,6 +90,17 @@ namespace BlackMisc Key_Numpad7, Key_Numpad8, Key_Numpad9, + Key_NumpadEqual, + // OEM Keys + Key_OEM1, + Key_OEM2, + Key_OEM3, + Key_OEM4, + Key_OEM5, + Key_OEM6, + Key_OEM7, + Key_OEM8, + Key_OEM102 }; } //namespace