From 8c279bb80b5331bda20f8756cc6aac821a58c70a Mon Sep 17 00:00:00 2001 From: Vitaliy Margolen Date: Thu, 10 Sep 2009 23:03:47 -0600 Subject: [PATCH] dinput: Fix POV for programs that use buffered events. --- dlls/dinput/joystick_linux.c | 3 ++- dlls/dinput/joystick_linuxinput.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dlls/dinput/joystick_linux.c b/dlls/dinput/joystick_linux.c index bf31eafa01a..2203a20fc4d 100644 --- a/dlls/dinput/joystick_linux.c +++ b/dlls/dinput/joystick_linux.c @@ -582,7 +582,8 @@ static void joy_polldev(JoystickGenericImpl *This_in) { int number = This->generic.axis_map[jse.number]; /* wine format object index */ if (number < 0) return; - inst_id = DIDFT_MAKEINSTANCE(number) | (number < 8 ? DIDFT_ABSAXIS : DIDFT_POV); + inst_id = number < 8 ? DIDFT_MAKEINSTANCE(number) | DIDFT_ABSAXIS : + DIDFT_MAKEINSTANCE(number - 8) | DIDFT_POV; value = joystick_map_axis(&This->generic.props[id_to_object(This->generic.base.data_format.wine_df, inst_id)], jse.value); TRACE("changing axis %d => %d\n", jse.number, number); diff --git a/dlls/dinput/joystick_linuxinput.c b/dlls/dinput/joystick_linuxinput.c index 42daaebbeef..67a1ee38797 100644 --- a/dlls/dinput/joystick_linuxinput.c +++ b/dlls/dinput/joystick_linuxinput.c @@ -779,7 +779,8 @@ static void joy_polldev(JoystickGenericImpl *iface) axis = This->generic.axis_map[axis]; if (axis < 0) break; - inst_id = DIDFT_MAKEINSTANCE(axis) | (axis < 8 ? DIDFT_ABSAXIS : DIDFT_POV); + inst_id = axis < 8 ? DIDFT_MAKEINSTANCE(axis) | DIDFT_ABSAXIS : + DIDFT_MAKEINSTANCE(axis - 8) | DIDFT_POV; value = joystick_map_axis(&This->generic.props[id_to_object(This->generic.base.data_format.wine_df, inst_id)], ie.value); switch (axis) { -- 2.11.4.GIT