- Insert, Delete, Home, End, PageUp, PageDown
- Arrow keys
- Menu
+ - Alt+PrntScrn sends Sys_Req [Win]
- French layout (AZERTY and inverted shift behaviour for many keys)
if (isExtended)
keyCode |= 0x100;
+ // VK_SNAPSHOT sends different scan codes depending on the state of
+ // Alt. This means that we can get different scan codes on press and
+ // release. Force it to be something standard.
+ if (vKey == VK_SNAPSHOT)
+ keyCode = 0x137;
+
keySym = win32_vkey_to_keysym(vKey, isExtended);
if (keySym == NoSymbol) {
if (isExtended)
keyCode = MapVirtualKey(vKey, MAPVK_VK_TO_VSC);
if (isExtended)
keyCode |= 0x100;
+ if (vKey == VK_SNAPSHOT)
+ keyCode = 0x137;
self->handleKeyRelease(keyCode);
{ VK_UP, XK_KP_Up, XK_Up },
{ VK_RIGHT, XK_KP_Right, XK_Right },
{ VK_DOWN, XK_KP_Down, XK_Down },
- { VK_SNAPSHOT, XK_Print, NoSymbol },
+ { VK_SNAPSHOT, XK_Sys_Req, XK_Print },
{ VK_INSERT, XK_KP_Insert, XK_Insert },
{ VK_DELETE, XK_KP_Delete, XK_Delete },
{ VK_LWIN, NoSymbol, XK_Super_L },