Christopher Cope <ccope3(a)utk.edu> writes:
@@ -286,8 +286,10 @@ static void enable_xinput2(void) class->number, class->min, class->max, class->resolution, class->mode, XGetAtomName( data->display, class->label )); if (class->label == x11drv_atom( Rel_X ) || class->label == x11drv_atom( Rel_Y )) count++; - /* workaround for drivers that don't provide labels */ - if (!class->label && class->number <= 1 && class->mode == XIModeRelative) count++; + /* workaround for drivers that don't provide correct labels */ + if (((!class->label && class->number <= 1) || class->label == x11drv_atom( Abs_X ) || + class->label == x11drv_atom( Abs_Y )) + && class->mode == XIModeRelative) count++;
The whole point of testing labels was because some platforms don't set the relative mode correctly, so this is going to break them again. -- Alexandre Julliard julliard(a)winehq.org