mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 14:55:36 +08:00
Ref T650, added more hotkeys such as OEM keys
* based on http://www.kbdlayout.info/ * OEM key solves accent / dead key issue for most cases * Mac/Linux parts still missing
This commit is contained in:
@@ -356,7 +356,7 @@ namespace BlackGui
|
||||
|
||||
void CHotkeyDialog::advancedKeyChanged(int oldIndex, int newIndex)
|
||||
{
|
||||
CKeySelectionBox *ksb = qobject_cast<CKeySelectionBox *>(sender());
|
||||
const CKeySelectionBox *ksb = qobject_cast<CKeySelectionBox *>(sender());
|
||||
Q_ASSERT(ksb);
|
||||
|
||||
if (ksb->itemData(oldIndex).canConvert<CKeyboardKey>() && ksb->itemData(newIndex).canConvert<CKeyboardKey>())
|
||||
|
||||
@@ -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) :
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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<char>(m_keyCode));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user