This patch adds a function 'set_output_area' which attempts to parse
the commandline argument as a string of the form "WIDTHxHEIGHT@X,Y".
If it succeeds, the transformation matrix will bet set appropriately.
---
tools/xsetwacom.c | 23 +++++++++++++++++++++--
1 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/tools/xsetwacom.c b/tools/xsetwacom.c
index 8c5178f..2e7f3f2 100644
--- a/tools/xsetwacom.c
+++ b/tools/xsetwacom.c
@@ -2123,6 +2123,24 @@ out:
return success;
}
+static Bool set_output_area(Display *dpy, XDevice *dev, param_t *param, int
argc, char **argv)
+{
+ int width, height, xorig, yorig;
+
+ if (sscanf(argv[0], "%dx%d@%d,%d", &width, &height, &xorig, &yorig) ==
4)
+ {
+ fprintf(stderr, "Remapping to output area obtained via
parsing.\n", argv[0]);
+ _set_matrix(dpy, dev, xorig, yorig, width, height);
+ return True;
+ }
+ else
+ {
+ TRACE("Unable to parse '%s' as a string of format
WIDTHxHEIGHT@X,Y.\n", argv[0]);
+ }
+
+ return False;
+}
+
static void set_output(Display *dpy, XDevice *dev, param_t *param, int argc,
char **argv)
{
if (argc == 0)
@@ -2140,8 +2158,9 @@ static void set_output(Display *dpy, XDevice *dev,
param_t *param, int argc, cha
return;
}
- if (!set_output_xinerama(dpy, dev, param, argc, argv))
- set_output_xrandr(dpy, dev, param, argc, argv);
+ if (!set_output_area(dpy, dev, param, argc, argv))
+ if (!set_output_xinerama(dpy, dev, param, argc, argv))
+ set_output_xrandr(dpy, dev, param, argc, argv);
}
--
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel