Skip to content

Commit 6c5631c

Browse files
committed
Fix VR keyboards with altgr layout not including left ctrl in modifier flags when right alt key is down
1 parent be3b8eb commit 6c5631c

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/DesktopPlusUI/VRKeyboard.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ VRKeyboard::VRKeyboard() :
3333
unsigned char VRKeyboard::GetModifierFlags() const
3434
{
3535
unsigned char flags = 0;
36-
if (m_KeyDown[VK_LSHIFT]) { flags |= kbd_keystate_flag_lshift_down; }
37-
if (m_KeyDown[VK_RSHIFT]) { flags |= kbd_keystate_flag_rshift_down; }
38-
if (m_KeyDown[VK_LCONTROL]) { flags |= kbd_keystate_flag_lctrl_down; }
39-
if (m_KeyDown[VK_RCONTROL]) { flags |= kbd_keystate_flag_rctrl_down; }
40-
if (m_KeyDown[VK_LMENU]) { flags |= kbd_keystate_flag_lalt_down; }
41-
if (m_KeyDown[VK_RMENU]) { flags |= kbd_keystate_flag_ralt_down; }
36+
if (m_KeyDown[VK_LSHIFT]) { flags |= kbd_keystate_flag_lshift_down; }
37+
if (m_KeyDown[VK_RSHIFT]) { flags |= kbd_keystate_flag_rshift_down; }
38+
if (m_KeyDown[VK_LCONTROL]) { flags |= kbd_keystate_flag_lctrl_down; }
39+
if (m_KeyDown[VK_RCONTROL]) { flags |= kbd_keystate_flag_rctrl_down; }
40+
if (m_KeyDown[VK_LMENU]) { flags |= kbd_keystate_flag_lalt_down; }
41+
if (m_KeyDown[VK_RMENU]) { flags |= (m_LayoutMetadata.HasAltGr) ? (kbd_keystate_flag_ralt_down | kbd_keystate_flag_lctrl_down) : kbd_keystate_flag_ralt_down; }
4242
if (m_CapsLockToggled) { flags |= kbd_keystate_flag_capslock_toggled; }
4343

4444
return flags;

0 commit comments

Comments
 (0)