-
Task
-
Resolution: Done
-
P3: Somewhat important
-
None
-
None
-
Linux
In qxcbconnection_xi2.cpp, QXcbConnection::xi2SetupDevices() uses XIQueryDevice(xDisplay, XIAllDevices, &deviceCount) to find the devices. This and all the logic inside the loop could apparently be done with these equivalent xcb structs and functions:
typedef struct xcb_input_device_info_t {
xcb_atom_t device_type;
uint8_t device_id;
uint8_t num_class_info;
uint8_t device_use;
uint8_t pad0;
} xcb_input_device_info_t;
typedef struct xcb_input_device_info_iterator_t {
xcb_input_device_info_t *data;
int rem;
int index;
} xcb_input_device_info_iterator_t;
* Get the next element of the iterator
* @param i Pointer to a xcb_input_device_info_iterator_t
*
* Get the next element in the iterator. The member rem is
* decreased by one. The member data points to the next
* element. The member index is increased by sizeof(xcb_input_device_info_t)
void
xcb_input_device_info_next (xcb_input_device_info_iterator_t *i );
xcb_generic_iterator_t
xcb_input_device_info_end (xcb_input_device_info_iterator_t i);
xcb_input_device_info_iterator_t
xcb_input_list_input_devices_devices_iterator (const xcb_input_list_input_devices_reply_t *R);
Then we'd have one less need for using xlib. An old goal was to get rid of it completely at some point.
- relates to
-
QTBUG-39572 XCB: Touch subdevice of a Wacom Intuos Pro 5 tablet is recognized as a tablet instead of a touch device
-
- Closed
-