Fix printscreen keyboard mapping (although kinda useless)

This commit is contained in:
Henrik Rydgård 2024-11-25 23:35:34 +01:00
parent 235225832c
commit 8372105d66
3 changed files with 8 additions and 6 deletions

View file

@ -246,6 +246,8 @@ enum InputKeyCode {
NKCODE_EXT_MOUSEWHEEL_UP = 1008, NKCODE_EXT_MOUSEWHEEL_UP = 1008,
NKCODE_EXT_MOUSEWHEEL_DOWN = 1009, NKCODE_EXT_MOUSEWHEEL_DOWN = 1009,
NKCODE_EXT_PRINTSCREEN = 1010,
NKCODE_MAX NKCODE_MAX
}; };

View file

@ -147,7 +147,6 @@ namespace WindowsRawInput {
{ VK_RIGHT, NKCODE_DPAD_RIGHT }, { VK_RIGHT, NKCODE_DPAD_RIGHT },
{ VK_CAPITAL, NKCODE_CAPS_LOCK }, { VK_CAPITAL, NKCODE_CAPS_LOCK },
{ VK_CLEAR, NKCODE_CLEAR }, { VK_CLEAR, NKCODE_CLEAR },
{ VK_SNAPSHOT, NKCODE_SYSRQ },
{ VK_SCROLL, NKCODE_SCROLL_LOCK }, { VK_SCROLL, NKCODE_SCROLL_LOCK },
{ VK_OEM_1, NKCODE_SEMICOLON }, { VK_OEM_1, NKCODE_SEMICOLON },
{ VK_OEM_2, NKCODE_SLASH }, { VK_OEM_2, NKCODE_SLASH },
@ -178,11 +177,11 @@ namespace WindowsRawInput {
{ VK_MBUTTON, NKCODE_EXT_MOUSEBUTTON_3 }, { VK_MBUTTON, NKCODE_EXT_MOUSEBUTTON_3 },
{ VK_XBUTTON1, NKCODE_EXT_MOUSEBUTTON_4 }, { VK_XBUTTON1, NKCODE_EXT_MOUSEBUTTON_4 },
{ VK_XBUTTON2, NKCODE_EXT_MOUSEBUTTON_5 }, { VK_XBUTTON2, NKCODE_EXT_MOUSEBUTTON_5 },
{ VK_SNAPSHOT, NKCODE_EXT_PRINTSCREEN },
}; };
void Init() { void Init() {
RAWINPUTDEVICE dev[3]; RAWINPUTDEVICE dev[3]{};
memset(dev, 0, sizeof(dev));
dev[0].usUsagePage = HID_USAGE_PAGE_GENERIC; dev[0].usUsagePage = HID_USAGE_PAGE_GENERIC;
dev[0].usUsage = HID_USAGE_GENERIC_KEYBOARD; dev[0].usUsage = HID_USAGE_GENERIC_KEYBOARD;
@ -202,8 +201,7 @@ namespace WindowsRawInput {
} }
bool UpdateMenuActive() { bool UpdateMenuActive() {
MENUBARINFO info; MENUBARINFO info{};
memset(&info, 0, sizeof(info));
info.cbSize = sizeof(info); info.cbSize = sizeof(info);
if (GetMenuBarInfo(MainWindow::GetHWND(), OBJID_MENU, 0, &info) != 0) { if (GetMenuBarInfo(MainWindow::GetHWND(), OBJID_MENU, 0, &info) != 0) {
menuActive = info.fBarFocused != FALSE; menuActive = info.fBarFocused != FALSE;

View file

@ -218,6 +218,8 @@ ImGuiKey KeyCodeToImGui(InputKeyCode keyCode) {
case NKCODE_EXT_MOUSEWHEEL_UP: case NKCODE_EXT_MOUSEWHEEL_UP:
// Keys ignored for imgui // Keys ignored for imgui
return ImGuiKey_None; return ImGuiKey_None;
case NKCODE_EXT_PRINTSCREEN:
return ImGuiKey_PrintScreen;
default: default:
WARN_LOG(Log::System, "Unmapped ImGui keycode conversion from %d", keyCode); WARN_LOG(Log::System, "Unmapped ImGui keycode conversion from %d", keyCode);