keyboard problem

Stefan Leichter Stefan.Leichter at camline.com
Sun Aug 26 12:17:36 CDT 2001


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





More information about the wine-devel mailing list