Make default touch mode configurable.
This commit is contained in:
parent
a5a31d46e3
commit
39c9e93e0c
4 changed files with 9 additions and 3 deletions
|
@ -46,6 +46,7 @@ const struct option *gamescope_options = (struct option[]){
|
|||
{ "disable-layers", no_argument, nullptr, 0 },
|
||||
{ "debug-layers", no_argument, nullptr, 0 },
|
||||
{ "prefer-output", required_argument, nullptr, 'O' },
|
||||
{ "default-touch-mode", required_argument, nullptr, 0 },
|
||||
|
||||
// steamcompmgr options
|
||||
{ "cursor", required_argument, nullptr, 0 },
|
||||
|
@ -89,6 +90,7 @@ const char usage[] =
|
|||
"\n"
|
||||
"Embedded mode options:\n"
|
||||
" -O, --prefer-output list of connectors in order of preference\n"
|
||||
" --default-touch-mode 0: hover, 1: left, 2: right, 3: middle, 4: passthrough\n"
|
||||
"\n"
|
||||
"Debug options:\n"
|
||||
" --disable-layers disable libliftoff (hardware planes)\n"
|
||||
|
@ -235,6 +237,9 @@ int main(int argc, char **argv)
|
|||
g_bUseLayers = false;
|
||||
} else if (strcmp(opt_name, "debug-layers") == 0) {
|
||||
g_bDebugLayers = true;
|
||||
} else if (strcmp(opt_name, "default-touch-mode") == 0) {
|
||||
g_nDefaultTouchClickMode = (enum wlserver_touch_click_mode) atoi( optarg );
|
||||
g_nTouchClickMode = g_nDefaultTouchClickMode;
|
||||
}
|
||||
break;
|
||||
case '?':
|
||||
|
|
|
@ -2711,8 +2711,7 @@ handle_property_notify(Display *dpy, XPropertyEvent *ev)
|
|||
}
|
||||
if (ev->atom == steamTouchClickModeAtom )
|
||||
{
|
||||
// Default to 1, left click
|
||||
g_nTouchClickMode = (enum wlserver_touch_click_mode) get_prop(dpy, root, steamTouchClickModeAtom, 1 );
|
||||
g_nTouchClickMode = (enum wlserver_touch_click_mode) get_prop(dpy, root, steamTouchClickModeAtom, g_nDefaultTouchClickMode );
|
||||
}
|
||||
if (ev->atom == steamStreamingClientAtom)
|
||||
{
|
||||
|
|
|
@ -65,7 +65,8 @@ struct wlserver_content_override {
|
|||
|
||||
static std::map<uint32_t, struct wlserver_content_override *> content_overrides;
|
||||
|
||||
enum wlserver_touch_click_mode g_nTouchClickMode = WLSERVER_TOUCH_CLICK_LEFT;
|
||||
enum wlserver_touch_click_mode g_nDefaultTouchClickMode = WLSERVER_TOUCH_CLICK_LEFT;
|
||||
enum wlserver_touch_click_mode g_nTouchClickMode = g_nDefaultTouchClickMode;
|
||||
|
||||
static struct wl_list pending_surfaces = {0};
|
||||
|
||||
|
|
|
@ -71,6 +71,7 @@ enum wlserver_touch_click_mode {
|
|||
WLSERVER_TOUCH_CLICK_PASSTHROUGH = 4,
|
||||
};
|
||||
|
||||
extern enum wlserver_touch_click_mode g_nDefaultTouchClickMode;
|
||||
extern enum wlserver_touch_click_mode g_nTouchClickMode;
|
||||
|
||||
void xwayland_surface_role_commit(struct wlr_surface *wlr_surface);
|
||||
|
|
Loading…
Reference in a new issue