Group inital values by device types.
Signed-off-by: Ping Cheng <[email protected]>
---
v2: rely on device type instead of kernel version, as suggested by Peter.
---
wacom.c | 67 +++++++++++++----------------------------------------------------
1 file changed, 13 insertions(+), 54 deletions(-)
diff --git a/wacom.c b/wacom.c
index 32a98c4..3f5a725 100644
--- a/wacom.c
+++ b/wacom.c
@@ -211,26 +211,21 @@ static int wacom_intuos_events(struct uinput_info *info)
set_event(info, UI_SET_KEYBIT, BTN_TOOL_RUBBER);
set_event(info, UI_SET_KEYBIT, BTN_TOOL_MOUSE);
set_event(info, UI_SET_KEYBIT, BTN_TOOL_LENS);
- if (features->type != INTUOS5S &&
- features->type != INTUOS5M &&
- features->type != INTUOS5L)
+ if (features->type != INTUOS)
set_event(info, UI_SET_KEYBIT, BTN_TOOL_FINGER);
- set_event(info, UI_SET_KEYBIT, BTN_TOUCH);
set_event(info, UI_SET_KEYBIT, BTN_STYLUS2);
set_event(info, UI_SET_KEYBIT, BTN_RIGHT);
set_event(info, UI_SET_KEYBIT, BTN_LEFT);
set_event(info, UI_SET_KEYBIT, BTN_MIDDLE);
set_event(info, UI_SET_KEYBIT, BTN_SIDE);
set_event(info, UI_SET_KEYBIT, BTN_EXTRA);
- if (features->type != INTUOS5S &&
- features->type != INTUOS5M &&
- features->type != INTUOS5L)
- set_event(info, UI_SET_KEYBIT, BTN_7);
- set_event(info, UI_SET_KEYBIT, BTN_MIDDLE);
- if (features->type != INTUOS5S &&
- features->type != INTUOS5M &&
- features->type != INTUOS5L) {
+ if (features->type == INTUOS3S ||
+ features->type == INTUOS3 ||
+ features->type == INTUOS3L ||
+ features->type == CINTIQ ||
+ features->type == BEE ||
+ features->type == WACOM_21UX2) {
set_event(info, UI_SET_ABSBIT, ABS_RX);
set_event(info, UI_SET_ABSBIT, ABS_RY);
}
@@ -352,26 +347,14 @@ static int wacom_set_events(struct uinput_info *info,
struct uinput_user_dev *de
break;
case INTUOS4:
case INTUOS4L:
- set_event(info, UI_SET_ABSBIT, ABS_Z);
- set_event(info, UI_SET_KEYBIT, BTN_7);
- set_event(info, UI_SET_KEYBIT, BTN_8);
- /* fall trhu */
- case INTUOS4S:
- set_event(info, UI_SET_KEYBIT, BTN_0);
- set_event(info, UI_SET_KEYBIT, BTN_1);
- set_event(info, UI_SET_KEYBIT, BTN_2);
- set_event(info, UI_SET_KEYBIT, BTN_3);
- set_event(info, UI_SET_KEYBIT, BTN_4);
- set_event(info, UI_SET_KEYBIT, BTN_5);
- set_event(info, UI_SET_KEYBIT, BTN_6);
- wacom_intuos_events(info);
- break;
case INTUOS5M:
case INTUOS5L:
set_event(info, UI_SET_KEYBIT, BTN_7);
set_event(info, UI_SET_KEYBIT, BTN_8);
case INTUOS5S:
set_event(info, UI_SET_ABSBIT, ABS_Z);
+ /* fall through */
+ case INTUOS4S:
set_event(info, UI_SET_KEYBIT, BTN_0);
set_event(info, UI_SET_KEYBIT, BTN_1);
set_event(info, UI_SET_KEYBIT, BTN_2);
@@ -416,7 +399,6 @@ static int wacom_set_initial_values(struct uinput_info
*info,
dev->absmax[ABS_WHEEL] = 71;
/* fall through */
case G4:
- /* fall through */
case GRAPHIRE:
break;
@@ -429,45 +411,22 @@ static int wacom_set_initial_values(struct uinput_info
*info,
/* fall through */
case INTUOS3S:
dev->absmax[ABS_RX] = 4096;
- dev->absmax[ABS_Z] = 899;
- dev->absmin[ABS_Z] = -900;
/* fall through */
- case INTUOS:
- dev->absmax[ABS_WHEEL] = 1023;
- dev->absmax[ABS_TILT_X] = 127;
- dev->absmax[ABS_TILT_Y] = 127;
- dev->absmin[ABS_RZ] = -900;
- dev->absmax[ABS_RZ] = 899;
- dev->absmin[ABS_THROTTLE] = -1023;
- dev->absmax[ABS_THROTTLE] = 1023;
- break;
- case PL:
- case PTU:
- break;
- case PENPARTNER:
- break;
- case TABLETPC:
- dev->absmax[ABS_RX] = 1023;
- dev->absmax[ABS_RY] = 1023;
case INTUOS4S:
case INTUOS4:
case INTUOS4L:
- dev->absmin[ABS_Z] = -900;
- dev->absmax[ABS_Z] = 899;
- break;
case INTUOS5S:
case INTUOS5M:
case INTUOS5L:
- dev->absfuzz[ABS_X] = 4;
- dev->absfuzz[ABS_Y] = 4;
- dev->absfuzz[ABS_Y] = 4;
dev->absmin[ABS_Z] = -900;
dev->absmax[ABS_Z] = 899;
- dev->absmin[ABS_RZ] = -900;
- dev->absmax[ABS_RZ] = 899;
+ /* fall through */
+ case INTUOS:
dev->absmax[ABS_WHEEL] = 1023;
dev->absmax[ABS_TILT_X] = 127;
dev->absmax[ABS_TILT_Y] = 127;
+ dev->absmin[ABS_RZ] = -900;
+ dev->absmax[ABS_RZ] = 899;
dev->absmin[ABS_THROTTLE] = -1023;
dev->absmax[ABS_THROTTLE] = 1023;
break;
--
1.9.1
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Linuxwacom-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel