|
@@ -317,15 +317,18 @@ static dsr::DsrKey getDsrKey(WPARAM keyCode) {
|
|
|
result = dsr::DsrKey_Return;
|
|
result = dsr::DsrKey_Return;
|
|
|
} else if (keyCode == VK_BACK) {
|
|
} else if (keyCode == VK_BACK) {
|
|
|
result = dsr::DsrKey_BackSpace;
|
|
result = dsr::DsrKey_BackSpace;
|
|
|
- } else if (keyCode == VK_LSHIFT) {
|
|
|
|
|
|
|
+ } else if (keyCode == VK_LSHIFT || keyCode == VK_SHIFT) {
|
|
|
|
|
+ // If the keyboard does not tell if the shift is left or right, treat it like a left shift.
|
|
|
result = dsr::DsrKey_LeftShift;
|
|
result = dsr::DsrKey_LeftShift;
|
|
|
} else if (keyCode == VK_RSHIFT) {
|
|
} else if (keyCode == VK_RSHIFT) {
|
|
|
result = dsr::DsrKey_RightShift;
|
|
result = dsr::DsrKey_RightShift;
|
|
|
- } else if (keyCode == VK_LCONTROL) {
|
|
|
|
|
|
|
+ } else if (keyCode == VK_LCONTROL || keyCode == VK_CONTROL) {
|
|
|
|
|
+ // If the keyboard does not tell if control is left or right, treat it like left control.
|
|
|
result = dsr::DsrKey_LeftControl;
|
|
result = dsr::DsrKey_LeftControl;
|
|
|
} else if (keyCode == VK_RCONTROL) {
|
|
} else if (keyCode == VK_RCONTROL) {
|
|
|
result = dsr::DsrKey_RightControl;
|
|
result = dsr::DsrKey_RightControl;
|
|
|
- } else if (keyCode == VK_LMENU) {
|
|
|
|
|
|
|
+ } else if (keyCode == VK_LMENU || keyCode == VK_MENU) {
|
|
|
|
|
+ // If the keyboard does not tell if alt is left or right, treat it like left alt.
|
|
|
result = dsr::DsrKey_LeftAlt;
|
|
result = dsr::DsrKey_LeftAlt;
|
|
|
} else if (keyCode == VK_RMENU) {
|
|
} else if (keyCode == VK_RMENU) {
|
|
|
result = dsr::DsrKey_RightAlt;
|
|
result = dsr::DsrKey_RightAlt;
|