dinput: Don't treat Stylus devices as joysticks.
Tablet/Stylus devices have a js* entry which we are treating as a joystick. Any testbox VM that is configured with a tablet is currently failing the joystick tests. Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
85ffc36b5e
commit
db07ff83b3
|
@ -168,6 +168,7 @@ static INT find_joystick_devices(void)
|
||||||
struct JoyDev joydev, *new_joydevs;
|
struct JoyDev joydev, *new_joydevs;
|
||||||
BYTE axes_map[ABS_MAX + 1];
|
BYTE axes_map[ABS_MAX + 1];
|
||||||
SHORT btn_map[KEY_MAX - BTN_MISC + 1];
|
SHORT btn_map[KEY_MAX - BTN_MISC + 1];
|
||||||
|
BOOL is_stylus = FALSE;
|
||||||
|
|
||||||
snprintf(joydev.device, sizeof(joydev.device), "%s%d", JOYDEV_NEW, i);
|
snprintf(joydev.device, sizeof(joydev.device), "%s%d", JOYDEV_NEW, i);
|
||||||
if ((fd = open(joydev.device, O_RDONLY)) == -1)
|
if ((fd = open(joydev.device, O_RDONLY)) == -1)
|
||||||
|
@ -241,12 +242,22 @@ static INT find_joystick_devices(void)
|
||||||
case BTN_DEAD:
|
case BTN_DEAD:
|
||||||
joydev.is_joystick = TRUE;
|
joydev.is_joystick = TRUE;
|
||||||
break;
|
break;
|
||||||
|
case BTN_STYLUS:
|
||||||
|
is_stylus = TRUE;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(is_stylus)
|
||||||
|
{
|
||||||
|
TRACE("Stylus detected. Skipping\n");
|
||||||
|
close(fd);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (ioctl(fd, JSIOCGAXMAP, axes_map) < 0)
|
if (ioctl(fd, JSIOCGAXMAP, axes_map) < 0)
|
||||||
{
|
{
|
||||||
WARN("ioctl(%s,JSIOCGAXMAP) failed: %s\n", joydev.device, strerror(errno));
|
WARN("ioctl(%s,JSIOCGAXMAP) failed: %s\n", joydev.device, strerror(errno));
|
||||||
|
|
Loading…
Reference in New Issue