This adds the framework for xsetwacom to use AC_PRESSUREHOLD as
a button command. With no implementation yet in the driver, it
does nothing.
---
 src/wcmXCommand.c |    1 +
 tools/xsetwacom.c |   11 +++++++++++
 2 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/wcmXCommand.c b/src/wcmXCommand.c
index 5666bac..3ef202c 100644
--- a/src/wcmXCommand.c
+++ b/src/wcmXCommand.c
@@ -285,6 +285,7 @@ static int wcmSanityCheckProperty(XIPropertyValuePtr prop)
                                break;
                        case AC_DISPLAYTOGGLE:
                        case AC_MODETOGGLE:
+                       case AC_PRESSUREHOLD:
                                break;
                        default:
                                return BadValue;
diff --git a/tools/xsetwacom.c b/tools/xsetwacom.c
index 365bad4..010d8d9 100644
--- a/tools/xsetwacom.c
+++ b/tools/xsetwacom.c
@@ -861,6 +861,7 @@ static int special_map_button(Display *dpy, int argc, char 
**argv, unsigned long
 static int special_map_core(Display *dpy, int argc, char **argv, unsigned long 
*ndata, unsigned long *data);
 static int special_map_modetoggle(Display *dpy, int argc, char **argv, 
unsigned long *ndata, unsigned long *data);
 static int special_map_displaytoggle(Display *dpy, int argc, char **argv, 
unsigned long *ndata, unsigned long *data);
+static int special_map_pressurehold(Display *dpy, int argc, char **argv, 
unsigned long *ndata, unsigned long *data);
 
 /* Valid keywords for the --set ButtonX options */
 struct keywords {
@@ -872,6 +873,7 @@ struct keywords {
        {"core", special_map_core},
        {"modetoggle", special_map_modetoggle},
        {"displaytoggle", special_map_displaytoggle},
+       {"pressurehold", special_map_pressurehold},
        { NULL, NULL }
 };
 
@@ -907,6 +909,15 @@ static int special_map_displaytoggle(Display *dpy, int 
argc, char **argv, unsign
        return 0;
 }
 
+static int special_map_pressurehold(Display *dpy, int argc, char **argv, 
unsigned long *ndata, unsigned long *data)
+{
+       data[*ndata] = AC_PRESSUREHOLD;
+
+       *ndata += 1;
+
+       return 0;
+}
+
 static inline int is_valid_keyword(const char *keyword)
 {
        struct keywords *kw = keywords;
-- 
1.7.5.2


------------------------------------------------------------------------------
uberSVN's rich system and user administration capabilities and model 
configuration take the hassle out of deploying and managing Subversion and 
the tools developers use with it. Learn more about uberSVN and get a free 
download at:  http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to