]> git.mdlowis.com Git - proto/labwc.git/commitdiff
action: add Enable/DisableTabletMouseEmulation
authorJens Peters <jp7677@gmail.com>
Sun, 18 Aug 2024 14:09:39 +0000 (16:09 +0200)
committerJohan Malm <johanmalm@users.noreply.github.com>
Tue, 20 Aug 2024 20:45:59 +0000 (21:45 +0100)
Useful for window rules.

docs/labwc-actions.5.scd
src/action.c

index cb6fac6332e4b9776a13d1d8668a16b97f7393de..1c9e2ec1c812fe7ce345f374883f0b0ee5731da1 100644 (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
index 69a317bb988ab80a0b2ce61b00d955f45c6d16d2..c38cba70027cfacb2e7eab33eab96a8b3bdddda0 100644 (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;