Commit 448433ae authored by Carlos Garnacho's avatar Carlos Garnacho Committed by Alexandre Julliard

winex11: Use XIAllDevices to select for XI_RawMotion.

Instead of selecting for XI2 events for every slave device individually, do it for XIAllDevices, and store the current device's relative X/Y valuators so they can be quickly looked up in the XI_RawMotion events received. Signed-off-by: 's avatarCarlos Garnacho <carlosg@gnome.org> Signed-off-by: 's avatarHenri Verbeet <hverbeet@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 7073e27f
......@@ -309,6 +309,13 @@ struct x11drv_escape_flush_gl_drawable
* X11 USER driver
*/
struct x11drv_valuator_data
{
double min;
double max;
int number;
};
struct x11drv_thread_data
{
Display *display;
......@@ -327,7 +334,10 @@ struct x11drv_thread_data
enum { xi_unavailable = -1, xi_unknown, xi_disabled, xi_enabled } xi2_state; /* XInput2 state */
void *xi2_devices; /* list of XInput2 devices (valid when state is enabled) */
int xi2_device_count;
struct x11drv_valuator_data x_rel_valuator;
struct x11drv_valuator_data y_rel_valuator;
int xi2_core_pointer; /* XInput2 core pointer id */
int xi2_current_slave; /* Current slave driving the Core pointer */
};
extern struct x11drv_thread_data *x11drv_init_thread_data(void) DECLSPEC_HIDDEN;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment