Hi,

Series looks good and is:

Reviewed-by: Hans de Goede <hdego...@redhat.com>

Regards,

Hans


On 21-04-15 07:28, Peter Hutterer wrote:
Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
---
  tools/shared.c | 29 +++++++++++++++++++++++++++++
  tools/shared.h |  1 +
  2 files changed, 30 insertions(+)

diff --git a/tools/shared.c b/tools/shared.c
index d8d23a7..e4d2804 100644
--- a/tools/shared.c
+++ b/tools/shared.c
@@ -46,6 +46,7 @@ enum options {
        OPT_MIDDLEBUTTON_ENABLE,
        OPT_MIDDLEBUTTON_DISABLE,
        OPT_CLICK_METHOD,
+       OPT_SCROLL_METHOD,
        OPT_SPEED,
  };

@@ -76,6 +77,7 @@ tools_usage()
               "--enable-middlebutton\n"
               "--disable-middlebutton.... enable/disable middle button 
emulation\n"
               "--set-click-method=[none|clickfinger|buttonareas] .... set the 
desired click method\n"
+              "--set-scroll-method=[none|twofinger|edge|button] ... set the desired 
scroll method\n"
               "--set-speed=<value>.... set pointer acceleration speed\n"
               "\n"
               "These options apply to all applicable devices, if a feature\n"
@@ -96,6 +98,7 @@ tools_init_options(struct tools_options *options)
        options->left_handed = -1;
        options->middlebutton = -1;
        options->click_method = -1;
+       options->scroll_method = -1;
        options->backend = BACKEND_UDEV;
        options->seat = "seat0";
        options->speed = 0.0;
@@ -121,6 +124,7 @@ tools_parse_args(int argc, char **argv, struct 
tools_options *options)
                        { "enable-middlebutton", 0, 0, OPT_MIDDLEBUTTON_ENABLE 
},
                        { "disable-middlebutton", 0, 0, 
OPT_MIDDLEBUTTON_DISABLE },
                        { "set-click-method", 1, 0, OPT_CLICK_METHOD },
+                       { "set-scroll-method", 1, 0, OPT_SCROLL_METHOD },
                        { "speed", 1, 0, OPT_SPEED },
                        { 0, 0, 0, 0}
                };
@@ -193,6 +197,27 @@ tools_parse_args(int argc, char **argv, struct 
tools_options *options)
                                        return 1;
                                }
                                break;
+                       case OPT_SCROLL_METHOD:
+                               if (!optarg) {
+                                       tools_usage();
+                                       return 1;
+                               }
+                               if (strcmp(optarg, "none") == 0) {
+                                       options->scroll_method =
+                                               
LIBINPUT_CONFIG_SCROLL_NO_SCROLL;
+                               } else if (strcmp(optarg, "twofinger") == 0) {
+                                       options->scroll_method =
+                                               LIBINPUT_CONFIG_SCROLL_2FG;
+                               } else if (strcmp(optarg, "edge") == 0) {
+                                       options->scroll_method =
+                                               LIBINPUT_CONFIG_SCROLL_EDGE;
+                               } else if (strcmp(optarg, "button") == 0) {
+                                       options->scroll_method =
+                                               
LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN;
+                               } else {
+                                       tools_usage();
+                                       return 1;
+                               }
                        case OPT_SPEED:
                                if (!optarg) {
                                        tools_usage();
@@ -317,6 +342,10 @@ tools_device_apply_config(struct libinput_device *device,
        if (options->click_method != -1)
                libinput_device_config_click_set_method(device, 
options->click_method);

+       if (options->scroll_method != -1)
+               libinput_device_config_scroll_set_method(device,
+                                                        
options->scroll_method);
+
        if (libinput_device_config_accel_is_available(device))
                libinput_device_config_accel_set_speed(device,
                                                       options->speed);
diff --git a/tools/shared.h b/tools/shared.h
index 01edffc..7b03788 100644
--- a/tools/shared.h
+++ b/tools/shared.h
@@ -41,6 +41,7 @@ struct tools_options {
        int left_handed;
        int middlebutton;
        enum libinput_config_click_method click_method;
+       enum libinput_config_scroll_method scroll_method;
        double speed;
  };


_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to