VulkanSceneGraph icon indicating copy to clipboard operation
VulkanSceneGraph copied to clipboard

Probably incorrect handling of left/right ALT key on Windows

Open Mikalai opened this issue 1 month ago • 1 comments

Describe the bug I've noticed that on Windows I don't receive vsg::KEY_Alt_L and vsg::KEY_Alt_R for vsg::KeyPressEvent and vsg::KeyReleaseEvent. I've checked Win32_Window.cpp and there is VirtualKeyToKeySymbolMap _vk2vsg which is used for mapping. But for VK_LMENU and VK_RMENU it is mapped to

{VK_LMENU                             ,              KEY_Menu},
{VK_RMENU                             ,              KEY_Menu},

Though according to https://learn.microsoft.com/en-us/previous-versions/windows/embedded/ms927178(v=msdn.10)?redirectedfrom=MSDN

VK_LMENU | 0xA4 | Left ALT
VK_RMENU | 0xA5 | Right ALT

That is why current behavior doesn't look correct. It's not clear why KEY_Menu was used as mapping to vsg::KEY_Alt_L and vsg::KEY_Alt_R seems to be more appropriate.

To Reproduce Check vsg::KeyPressEvent or vsg::KeyReleaseEvent when left or right ALT is pressed on Windows.

Expected behavior Receive vsg::KEY_Alt_L and vsg::KEY_Alt_R when left or right ALT is pressed on Windows.

Desktop (please complete the following information):

  • Windows 11

Mikalai avatar May 20 '24 15:05 Mikalai