Touch screens and Touch Pads are sharing same type. Make their
Mode defaults match normal operating behavior which means
change Bamboo P&T default to relative. Simplify error case and rely
of default values from initialization phase.
Signed-off-by: Chris Bagwell <ch...@cnpbagwell.com>
---
man/wacom.man | 3 ++-
src/wcmValidateDevice.c | 23 ++++++++++++++---------
2 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/man/wacom.man b/man/wacom.man
index 4b893ec..af315b2 100644
--- a/man/wacom.man
+++ b/man/wacom.man
@@ -99,7 +99,8 @@ sets the mode of the device. The default value for stylus
and
eraser is Absolute; cursor is Relative; pad mode is decided
according to its core option due to its nature of not moving
system cursor: Relative if it is a core device; Absolute, otherwise;
-touch is always in absolute mode.
+touch defaults to Relative for tablets with touch pads and Absolute for
+touch screens.
.TP 4
.B Option \fI"TopX"\fP \fI"number"\fP
X coordinate of the top corner of the active zone. Default to 0.
diff --git a/src/wcmValidateDevice.c b/src/wcmValidateDevice.c
index e8f4c2b..07f3bcc 100644
--- a/src/wcmValidateDevice.c
+++ b/src/wcmValidateDevice.c
@@ -418,18 +418,23 @@ int wcmParseOptions(LocalDevicePtr local, unsigned
long* keys)
priv->flags |= ABSOLUTE_FLAG;
else if (s && (xf86NameCmp(s, "relative") == 0))
priv->flags &= ~ABSOLUTE_FLAG;
- else if (s)
+ else
{
- xf86Msg(X_ERROR, "%s: invalid Mode (should be absolute or "
- "relative). Using default.\n", local->name);
-
- /* stylus/eraser defaults to absolute mode
- * cursor defaults to relative mode
+ if (s)
+ xf86Msg(X_ERROR, "%s: invalid Mode (should be absolute"
+ " or relative). Using default.\n", local->name);
+
+ /* If Mode not specified or is invalid then rely on
+ * Type specific defaults from initialization.
+ *
+ * If Mode default is hardware specific then handle here:
+ *
+ * touch Types are initialized to Absolute.
+ * Bamboo P&T touch pads need to change default to Relative.
*/
- if (IsCursor(priv))
+ if (IsTouch(priv) &&
+ (common->tablet_id >= 0xd0) && (common->tablet_id <= 0xd3))
priv->flags &= ~ABSOLUTE_FLAG;
- else
- priv->flags |= ABSOLUTE_FLAG;
}
/* Pad is always in relative mode when it's a core device.
--
1.6.5.2
------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel