mirror of
https://github.com/labwc/labwc.git
synced 2025-11-05 13:29:58 -05:00
config: add option for forcing mouse emulation
Default is off. Also allow switching with reconfigure.
This commit is contained in:
parent
be72c4bde3
commit
6d05bed883
3 changed files with 8 additions and 2 deletions
|
|
@ -94,6 +94,7 @@ struct rcxml {
|
|||
|
||||
/* graphics tablet */
|
||||
struct tablet_config {
|
||||
bool force_mouse_emulation;
|
||||
char *output_name;
|
||||
struct wlr_fbox box;
|
||||
enum rotation rotation;
|
||||
|
|
|
|||
|
|
@ -1020,6 +1020,8 @@ entry(xmlNode *node, char *nodename, char *content)
|
|||
} else {
|
||||
wlr_log(WLR_ERROR, "Invalid value for <resize popupShow />");
|
||||
}
|
||||
} else if (!strcasecmp(nodename, "mouseEmulation.tablet")) {
|
||||
set_bool(content, &rc.tablet.force_mouse_emulation);
|
||||
} else if (!strcasecmp(nodename, "mapToOutput.tablet")) {
|
||||
rc.tablet.output_name = xstrdup(content);
|
||||
} else if (!strcasecmp(nodename, "rotate.tablet")) {
|
||||
|
|
@ -1229,6 +1231,7 @@ rcxml_init(void)
|
|||
rc.doubleclick_time = 500;
|
||||
rc.scroll_factor = 1.0;
|
||||
|
||||
rc.tablet.force_mouse_emulation = false;
|
||||
rc.tablet.output_name = NULL;
|
||||
rc.tablet.rotation = 0;
|
||||
rc.tablet.box = (struct wlr_fbox){0};
|
||||
|
|
|
|||
|
|
@ -91,7 +91,8 @@ tablet_get_coords(struct drawing_tablet *tablet, double *x, double *y)
|
|||
rc.tablet.box, x, y);
|
||||
adjust_for_rotation(rc.tablet.rotation, x, y);
|
||||
|
||||
if (!tablet->tablet_v2) {
|
||||
if (rc.tablet.force_mouse_emulation
|
||||
|| !tablet->tablet_v2) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
@ -154,7 +155,8 @@ handle_proximity(struct wl_listener *listener, void *data)
|
|||
double x, y;
|
||||
struct wlr_surface *surface = tablet_get_coords(tablet, &x, &y);
|
||||
|
||||
if (tablet->seat->server->tablet_manager && !tool) {
|
||||
if (!rc.tablet.force_mouse_emulation
|
||||
&& tablet->seat->server->tablet_manager && !tool) {
|
||||
/*
|
||||
* Unfortunately `wlr_tool` is only present in the events, so
|
||||
* use proximity for creating a `wlr_tablet_v2_tablet_tool`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue