Problem
Right now most third-party input software that provide custom macros or help writing special characters does not work in Blender. This is because Blender ignores the WM_KEYDOWN, WM_KEYUP, and WM_CHAR messages it receives from these applications (as a result of using e.g. SendInput()), relying instead on raw input inside the WM_INPUT handler.
When an application uses SendInput() with the KEYEVENTF_UNICODE flag, it sets the scancode to the UTF-16 value it wants to send to another application. But the application actually sees a scancode value of 0, and the UTF-16 value is instead found in lParam. No raw input event is created, that is why they do not work in Blender.
Solution
In this patch I suggest handling WM_KEYDOWN and WM_KEYUP messages for the virtual key VK_PACKET. These messages do not originate from a keyboard device, and have been generated by some third-party input software instead.
