Send Command key to host rather than treating it as Control

Fixes #464
This commit is contained in:
Cameron Gutman
2021-10-12 19:01:14 -05:00
parent 3dd0e8362a
commit 92a2bbe28e

View File

@@ -21,9 +21,12 @@
if (key.modifierFlags & UIKeyModifierAlternate) {
modifierFlags |= MODIFIER_ALT;
}
if (key.modifierFlags & (UIKeyModifierControl | UIKeyModifierCommand)) {
if (key.modifierFlags & UIKeyModifierControl) {
modifierFlags |= MODIFIER_CTRL;
}
if (key.modifierFlags & UIKeyModifierCommand) {
modifierFlags |= MODIFIER_META;
}
// This converts UIKeyboardHIDUsage values to Win32 VK_* values
// https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
@@ -189,6 +192,8 @@
keyCode = 0xF8;
break;
case UIKeyboardHIDUsageKeyboardLeftGUI:
keyCode = 0x5B;
break;
case UIKeyboardHIDUsageKeyboardLeftControl:
keyCode = 0xA2;
break;
@@ -199,6 +204,8 @@
keyCode = 0xA4;
break;
case UIKeyboardHIDUsageKeyboardRightGUI:
keyCode = 0x5C;
break;
case UIKeyboardHIDUsageKeyboardRightControl:
keyCode = 0xA3;
break;
@@ -232,10 +239,12 @@
case UIKeyModifierShift:
[KeyboardSupport addShiftModifier:&event];
break;
case UIKeyModifierCommand:
case UIKeyModifierControl:
[KeyboardSupport addControlModifier:&event];
break;
case UIKeyModifierCommand:
[KeyboardSupport addMetaModifier:&event];
break;
case UIKeyModifierAlternate:
[KeyboardSupport addAltModifier:&event];
break;
@@ -393,6 +402,11 @@
event->modifierKeycode = 0x11;
}
+ (void) addMetaModifier:(struct KeyEvent*)event {
event->modifier = MODIFIER_META;
event->modifierKeycode = 0x5B;
}
+ (void) addAltModifier:(struct KeyEvent*)event {
event->modifier = MODIFIER_ALT;
event->modifierKeycode = 0x12;