action: add Enable/DisableTabletMouseEmulation

Useful for window rules.
This commit is contained in:
Jens Peters 2024-08-18 16:09:39 +02:00 committed by Johan Malm
parent 107d84cef9
commit cd961b1ac1
2 changed files with 13 additions and 1 deletions

View file

@ -294,8 +294,10 @@ Actions are used in menus and keyboard/mouse bindings.
decorations (including those for which the server-side titlebar has been
hidden) are not eligible for shading.
*<action name="EnableTabletMouseEmulation" />*++
*<action name="DisableTabletMouseEmulation" />*++
*<action name="ToggleTabletMouseEmulation">*
Toggle mouse emulation for drawing tablets on or off.
Enable, disable or toggle mouse emulation for drawing tablets respectively.
*<action name="ToggleMagnify">*
Toggle the screen magnifier on or off at the last magnification level

View file

@ -114,6 +114,8 @@ enum action_type {
ACTION_TYPE_SHADE,
ACTION_TYPE_UNSHADE,
ACTION_TYPE_TOGGLE_SHADE,
ACTION_TYPE_ENABLE_TABLET_MOUSE_EMULATION,
ACTION_TYPE_DISABLE_TABLET_MOUSE_EMULATION,
ACTION_TYPE_TOGGLE_TABLET_MOUSE_EMULATION,
ACTION_TYPE_TOGGLE_MAGNIFY,
ACTION_TYPE_ZOOM_IN,
@ -173,6 +175,8 @@ const char *action_names[] = {
"Shade",
"Unshade",
"ToggleShade",
"EnableTabletMouseEmulation",
"DisableTabletMouseEmulation",
"ToggleTabletMouseEmulation",
"ToggleMagnify",
"ZoomIn",
@ -1142,6 +1146,12 @@ actions_run(struct view *activator, struct server *server,
view_set_shade(view, false);
}
break;
case ACTION_TYPE_ENABLE_TABLET_MOUSE_EMULATION:
rc.tablet.force_mouse_emulation = true;
break;
case ACTION_TYPE_DISABLE_TABLET_MOUSE_EMULATION:
rc.tablet.force_mouse_emulation = false;
break;
case ACTION_TYPE_TOGGLE_TABLET_MOUSE_EMULATION:
rc.tablet.force_mouse_emulation = !rc.tablet.force_mouse_emulation;
break;