This time submitting the full implementation to wine-devel and only the first patch to wine-patches.
Changelog of the full implementation: * Rewritten test assertion messages to just state the reason of failure * Improved WM_INPUT posting, so it would be reflected using the GetQueueStatus function * Added proper GetRawInputBuffer implementation, that requires selecting and removing messages from the message queue, but that's how it works * Added releasing of allocated resources for raw input when destroying a process * Fixed DefRawInputProc to return -1 in case of an error instead of an error code. Also improved function's tests * Added tests and made RegisterRawInputDevices atomic, so there would be no changes if one of submitted registrations fails * Added tests to check for the correct GetQueueStatus(QS_RAWINPUT) status * Added tests to check for empty input queue before sending input using GetInputState * Tests of GetRegisteredRawInputDevices and RegisterRawInputDevices need to be paired and have both as a dependency, so split their tests into 4 parts to make smaller blocks of code * Moved raw input server request handlers to the bottom of the source file, like in the other files * Applied aligned formatting for groups of assignment statements * Other minor refactorings
Zipped version - http://dl.dropbox.com/u/6901628/try16.zip
Also I need to note the lack of applications that make extensive use of the raw input API. There are just a few games and they are convenient with just the mouse movement data.
* On Tue, 12 Jul 2011, Vincas Miliūnas wrote:
Also I need to note the lack of applications that make extensive use of the raw input API. There are just a few games and they are convenient with just the mouse movement data.
FWIW, I get a bit more applications by quering Bugzilla for "RawInput" string in comments. [1]
It is Joost, AutoCAD 2004, WinUAE, Presentation whose logs mention "RawInput".
Also, it looks like the Sonic Fan Remix Demo also uses raw keyboard input. [2]
S.
[1] http://bugs.winehq.org/buglist.cgi?query_format=advanced&order=Importanc... [2] http://bugs.winehq.org/show_bug.cgi?id=24883