diff options
author | dec05eba <dec05eba@protonmail.com> | 2024-09-15 04:25:10 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2024-09-15 04:25:10 +0200 |
commit | 69fc104d20316be31722d66545bd2038e888d425 (patch) | |
tree | 43deb5d37f76e444b3712e0615d80c7b03303082 /src/cursor.c | |
parent | f6f8fdb33c630973cc0cc8c1f4f92efa6e4cb7c8 (diff) |
Remove xi2 code, it's not needed
Diffstat (limited to 'src/cursor.c')
-rw-r--r-- | src/cursor.c | 59 |
1 files changed, 1 insertions, 58 deletions
diff --git a/src/cursor.c b/src/cursor.c index b1cc397..3dca0c6 100644 --- a/src/cursor.c +++ b/src/cursor.c @@ -6,8 +6,6 @@ #include <assert.h> #include <X11/extensions/Xfixes.h> -#include <X11/extensions/XI2.h> -#include <X11/extensions/XInput2.h> // TODO: Test cursor visibility with XFixesHideCursor @@ -72,26 +70,6 @@ static bool gsr_cursor_set_from_x11_cursor_image(gsr_cursor *self, XFixesCursorI return false; } -static bool xinput_is_supported(Display *dpy, int *xi_opcode) { - *xi_opcode = 0; - int query_event = 0; - int query_error = 0; - if(!XQueryExtension(dpy, "XInputExtension", xi_opcode, &query_event, &query_error)) { - fprintf(stderr, "gsr error: gsr_cursor_init: X Input extension not available\n"); - return false; - } - - int major = 2; - int minor = 1; - int retval = XIQueryVersion(dpy, &major, &minor); - if (retval != Success) { - fprintf(stderr, "gsr error: gsr_cursor_init: XInput 2.1 is not supported\n"); - return false; - } - - return true; -} - int gsr_cursor_init(gsr_cursor *self, gsr_egl *egl, Display *display) { int x_fixes_error_base = 0; @@ -108,31 +86,11 @@ int gsr_cursor_init(gsr_cursor *self, gsr_egl *egl, Display *display) { return -1; } - if(!xinput_is_supported(self->display, &self->xi_opcode)) { - gsr_cursor_deinit(self); - return -1; - } - - unsigned char mask[XIMaskLen(XI_LASTEVENT)]; - memset(mask, 0, sizeof(mask)); - XISetMask(mask, XI_RawMotion); - - XIEventMask xi_masks; - xi_masks.deviceid = XIAllMasterDevices; - xi_masks.mask_len = sizeof(mask); - xi_masks.mask = mask; - if(XISelectEvents(self->display, DefaultRootWindow(self->display), &xi_masks, 1) != Success) { - fprintf(stderr, "gsr error: gsr_cursor_init: XISelectEvents failed\n"); - gsr_cursor_deinit(self); - return -1; - } - self->egl->glGenTextures(1, &self->texture_id); XFixesSelectCursorInput(self->display, DefaultRootWindow(self->display), XFixesDisplayCursorNotifyMask); gsr_cursor_set_from_x11_cursor_image(self, XFixesGetCursorImage(self->display), &self->visible); self->cursor_image_set = true; - self->cursor_moved = true; return 0; } @@ -146,10 +104,8 @@ void gsr_cursor_deinit(gsr_cursor *self) { self->texture_id = 0; } - if(self->display) { - XISelectEvents(self->display, DefaultRootWindow(self->display), NULL, 0); + if(self->display) XFixesSelectCursorInput(self->display, DefaultRootWindow(self->display), 0); - } self->display = NULL; self->egl = NULL; @@ -157,14 +113,6 @@ void gsr_cursor_deinit(gsr_cursor *self) { bool gsr_cursor_on_event(gsr_cursor *self, XEvent *xev) { bool updated = false; - XGenericEventCookie *cookie = (XGenericEventCookie*)&xev->xcookie; - const Bool got_event_data = XGetEventData(self->display, cookie); - if(got_event_data && cookie->type == GenericEvent && cookie->extension == self->xi_opcode && cookie->evtype == XI_RawMotion) { - updated = true; - self->cursor_moved = true; - } - if(got_event_data) - XFreeEventData(self->display, cookie); if(xev->type == self->x_fixes_event_base + XFixesCursorNotify) { XFixesCursorNotifyEvent *cursor_notify_event = (XFixesCursorNotifyEvent*)xev; @@ -183,11 +131,6 @@ bool gsr_cursor_on_event(gsr_cursor *self, XEvent *xev) { } void gsr_cursor_tick(gsr_cursor *self, Window relative_to) { - if(!self->cursor_moved) - return; - - self->cursor_moved = false; - Window dummy_window; int dummy_i; unsigned int dummy_u; |