Hello all,
after a long time of debugging (because of my little experience with windows programing and debugging), i found the problem that breaks the keyboard input of my favorite game "You Don't Know Jack" (demos of newer versions downloadable at http://www.take2.de/downloads/demos.php).
The problem is that the game is waiting for keyboard input by checking for the messages WM_KEYDOWN, WM_CHAR and WM_KEYUP at least for the keys 1-0 and a-z. But wine generates the messages WM_SYSKEYDOWN, WM_SYSCHAR? and WM_SYSKEYUP.
The problem is in the file "windows/message.c" in the methode "process_raw_keyboard_message" in the line 383:
if (msg->message < WM_SYSKEYDOWN) msg->message += WM_SYSKEYDOWN - WM_KEYDOWN;
For some reason i do not understand the message becomes changed. If i remove this line the game recognize the keyboard input and is playable (somehow).
An other option(untested) for the game is to change the line to something like this:
if (msg->message < WM_KEYDOWN) msg->message += WM_SYSKEYDOWN - WM_KEYDOWN;
Does anyone know why the message becomes changed? Or does anyone know a better fix for the problem? Is there a program the need the line as it is?
Tschüß Stefan
PS: I am not subscriped to this mailing list, but i'm reading the newsgroup wine.devel. So it will take some time to see my answers to your questions in the mailing list