On Mon, 26 Aug 2019 16:07:00 +0200, Rémi Bernon wrote:
- switch (hook->vkCode) + switch (raw_input.data.keyboard.VKey) + { + /* R-Shift is special - it is an extended key with separate scan code */ + case VK_RSHIFT: dik_code = DIK_RSHIFT; break; + case VK_PAUSE: dik_code = DIK_PAUSE; break; + case VK_NUMLOCK: dik_code = DIK_NUMLOCK; break; + case VK_SUBTRACT: dik_code = DIK_SUBTRACT; break; + default: + dik_code = map_dik_code(0, raw_input.data.keyboard.VKey, This->subtype); You may want to use raw_input.data.keyboard.MakeCode here insetad of 0. MapVirtualKey(MAPVK_VK_TO_VSC) is slightly broken (e.g. numeric keypad).
+ if (raw_input.data.keyboard.Flags & RI_KEY_E0) dik_code |= 0x80; + } + new_diks = (raw_input.data.keyboard.Flags & RI_KEY_BREAK) ? 0 : 0x80; + }
Akihiro Sagawa