Lines 43-48
Link Here
|
43 |
#include "qxcbwindow.h" |
43 |
#include "qxcbwindow.h" |
44 |
#include "qtouchdevice.h" |
44 |
#include "qtouchdevice.h" |
45 |
#include "QtCore/qmetaobject.h" |
45 |
#include "QtCore/qmetaobject.h" |
|
|
46 |
#include "QtCore/qendian.h" |
46 |
#include <qpa/qwindowsysteminterface_p.h> |
47 |
#include <qpa/qwindowsysteminterface_p.h> |
47 |
#include <QDebug> |
48 |
#include <QDebug> |
48 |
#include <cmath> |
49 |
#include <cmath> |
Lines 66-71
Link Here
|
66 |
xiEventMask.mask = XCB_INPUT_XI_EVENT_MASK_HIERARCHY; |
67 |
xiEventMask.mask = XCB_INPUT_XI_EVENT_MASK_HIERARCHY; |
67 |
xiEventMask.mask |= XCB_INPUT_XI_EVENT_MASK_DEVICE_CHANGED; |
68 |
xiEventMask.mask |= XCB_INPUT_XI_EVENT_MASK_DEVICE_CHANGED; |
68 |
xiEventMask.mask |= XCB_INPUT_XI_EVENT_MASK_PROPERTY; |
69 |
xiEventMask.mask |= XCB_INPUT_XI_EVENT_MASK_PROPERTY; |
|
|
70 |
xiEventMask.mask = qToLittleEndian(xiEventMask.mask); |
69 |
xcb_input_xi_select_events(xcb_connection(), rootWindow(), 1, &xiEventMask.header); |
71 |
xcb_input_xi_select_events(xcb_connection(), rootWindow(), 1, &xiEventMask.header); |
70 |
} |
72 |
} |
71 |
|
73 |
|
Lines 90-96
Link Here
|
90 |
qt_xcb_input_event_mask_t mask; |
92 |
qt_xcb_input_event_mask_t mask; |
91 |
mask.header.deviceid = XCB_INPUT_DEVICE_ALL_MASTER; |
93 |
mask.header.deviceid = XCB_INPUT_DEVICE_ALL_MASTER; |
92 |
mask.header.mask_len = 1; |
94 |
mask.header.mask_len = 1; |
93 |
mask.mask = bitMask; |
95 |
mask.mask = qToLittleEndian(bitMask); |
94 |
xcb_void_cookie_t cookie = |
96 |
xcb_void_cookie_t cookie = |
95 |
xcb_input_xi_select_events_checked(xcb_connection(), window, 1, &mask.header); |
97 |
xcb_input_xi_select_events_checked(xcb_connection(), window, 1, &mask.header); |
96 |
xcb_generic_error_t *error = xcb_request_check(xcb_connection(), cookie); |
98 |
xcb_generic_error_t *error = xcb_request_check(xcb_connection(), cookie); |
Lines 359-365
Link Here
|
359 |
qt_xcb_input_event_mask_t xiMask; |
361 |
qt_xcb_input_event_mask_t xiMask; |
360 |
xiMask.header.deviceid = XCB_INPUT_DEVICE_ALL_MASTER; |
362 |
xiMask.header.deviceid = XCB_INPUT_DEVICE_ALL_MASTER; |
361 |
xiMask.header.mask_len = 1; |
363 |
xiMask.header.mask_len = 1; |
362 |
xiMask.mask = mask; |
364 |
xiMask.mask = qToLittleEndian(mask); |
363 |
|
365 |
|
364 |
xcb_void_cookie_t cookie = |
366 |
xcb_void_cookie_t cookie = |
365 |
xcb_input_xi_select_events_checked(xcb_connection(), window, 1, &xiMask.header); |
367 |
xcb_input_xi_select_events_checked(xcb_connection(), window, 1, &xiMask.header); |
Lines 386-392
Link Here
|
386 |
tabletDevices.insert(deviceId); |
388 |
tabletDevices.insert(deviceId); |
387 |
xiEventMask[i].header.deviceid = deviceId; |
389 |
xiEventMask[i].header.deviceid = deviceId; |
388 |
xiEventMask[i].header.mask_len = 1; |
390 |
xiEventMask[i].header.mask_len = 1; |
389 |
xiEventMask[i].mask = mask; |
391 |
xiEventMask[i].mask = qToLittleEndian(mask); |
390 |
} |
392 |
} |
391 |
xcb_input_xi_select_events(xcb_connection(), window, nrTablets, &(xiEventMask.data()->header)); |
393 |
xcb_input_xi_select_events(xcb_connection(), window, nrTablets, &(xiEventMask.data()->header)); |
392 |
} |
394 |
} |
Lines 402-408
Link Here
|
402 |
#endif |
404 |
#endif |
403 |
xiEventMask[i].header.deviceid = scrollingDevice.deviceId; |
405 |
xiEventMask[i].header.deviceid = scrollingDevice.deviceId; |
404 |
xiEventMask[i].header.mask_len = 1; |
406 |
xiEventMask[i].header.mask_len = 1; |
405 |
xiEventMask[i].mask = mask; |
407 |
xiEventMask[i].mask = qToLittleEndian(mask); |
406 |
i++; |
408 |
i++; |
407 |
} |
409 |
} |
408 |
xcb_input_xi_select_events(xcb_connection(), window, i, &(xiEventMask.data()->header)); |
410 |
xcb_input_xi_select_events(xcb_connection(), window, i, &(xiEventMask.data()->header)); |