[PATCH 6/7] dinput8: Use raw input interface for dinput8 keyboard device
Rémi Bernon
rbernon at codeweavers.com
Tue Aug 27 08:17:34 CDT 2019
On 8/27/19 3:15 PM, Akihiro Sagawa wrote:
> 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
>
Thanks, I guess I missed the field.
--
Rémi Bernon <rbernon at codeweavers.com>
More information about the wine-devel
mailing list