From 3e17ea2e6f7459309fa2d9df45c844893d287120 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 18 Jun 2021 10:44:13 +0200 Subject: [PATCH] Add enum for g_nTouchClickMode Makes it clearer what the values mean. --- src/steamcompmgr.cpp | 2 +- src/wlserver.cpp | 7 +++---- src/wlserver.hpp | 10 +++++++++- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp index 8c1cecf..b695b21 100644 --- a/src/steamcompmgr.cpp +++ b/src/steamcompmgr.cpp @@ -2548,7 +2548,7 @@ handle_property_notify(Display *dpy, XPropertyEvent *ev) if (ev->atom == steamTouchClickModeAtom ) { // Default to 1, left click - g_nTouchClickMode = get_prop(dpy, root, steamTouchClickModeAtom, 1 ); + g_nTouchClickMode = (enum wlserver_touch_click_mode) get_prop(dpy, root, steamTouchClickModeAtom, 1 ); } if (ev->atom == steamStreamingClientAtom) { diff --git a/src/wlserver.cpp b/src/wlserver.cpp index dc87f39..10293be 100644 --- a/src/wlserver.cpp +++ b/src/wlserver.cpp @@ -59,8 +59,7 @@ struct wlserver_content_override { std::map content_overrides; -// O = hover, 1/2/3 = left/right/middle, 4 = touch passthrough -int g_nTouchClickMode = 1; +enum wlserver_touch_click_mode g_nTouchClickMode = WLSERVER_TOUCH_CLICK_LEFT; static struct wl_list pending_surfaces = {0}; @@ -245,7 +244,7 @@ static void wlserver_handle_touch_down(struct wl_listener *listener, void *data) wlserver.mouse_surface_cursorx = x; wlserver.mouse_surface_cursory = y; - if ( g_nTouchClickMode == 4 ) + if ( g_nTouchClickMode == WLSERVER_TOUCH_CLICK_PASSTHROUGH ) { if ( event->touch_id >= 0 && event->touch_id < WLSERVER_TOUCH_COUNT ) { @@ -338,7 +337,7 @@ static void wlserver_handle_touch_motion(struct wl_listener *listener, void *dat wlserver.mouse_surface_cursorx = x; wlserver.mouse_surface_cursory = y; - if ( g_nTouchClickMode == 4 ) + if ( g_nTouchClickMode == WLSERVER_TOUCH_CLICK_PASSTHROUGH ) { wlr_seat_touch_notify_motion( wlserver.wlr.seat, event->time_msec, event->touch_id, wlserver.mouse_surface_cursorx, wlserver.mouse_surface_cursory ); } diff --git a/src/wlserver.hpp b/src/wlserver.hpp index 08ac226..18bf6e1 100644 --- a/src/wlserver.hpp +++ b/src/wlserver.hpp @@ -62,7 +62,15 @@ extern struct wlserver_t wlserver; extern bool run; -extern int g_nTouchClickMode; +enum wlserver_touch_click_mode { + WLSERVER_TOUCH_CLICK_HOVER = 0, + WLSERVER_TOUCH_CLICK_LEFT = 1, + WLSERVER_TOUCH_CLICK_RIGHT = 2, + WLSERVER_TOUCH_CLICK_MIDDLE = 3, + WLSERVER_TOUCH_CLICK_PASSTHROUGH = 4, +}; + +extern enum wlserver_touch_click_mode g_nTouchClickMode; void xwayland_surface_role_commit(struct wlr_surface *wlr_surface);