Commit 9c2913b9 authored by Tatsunosuke Tobita's avatar Tatsunosuke Tobita Committed by Benjamin Tissoires

HID: wacom: more appropriate tool type categorization

Recent eraser and pen tools are able to be distinguished
by looking at its least significant nibble.
This modification applies it to wacom_intuos_get_tool_type
function and reduces its code lines.
Signed-off-by: default avatarTatsunosuke Tobita <tatsunosuke.tobita@wacom.com>
Signed-off-by: default avatarTatsunosuke Tobita <tatsunosuke.wacom@gmail.com>
Reviewed-by: default avatarPing Cheng <ping.cheng@wacom.com>
Link: https://patch.msgid.link/20240709055729.17158-2-tatsunosuke.wacom@gmail.comSigned-off-by: default avatarBenjamin Tissoires <bentiss@kernel.org>
parent f0d17d69
...@@ -692,77 +692,28 @@ static bool wacom_is_art_pen(int tool_id) ...@@ -692,77 +692,28 @@ static bool wacom_is_art_pen(int tool_id)
static int wacom_intuos_get_tool_type(int tool_id) static int wacom_intuos_get_tool_type(int tool_id)
{ {
int tool_type = BTN_TOOL_PEN;
if (wacom_is_art_pen(tool_id))
return tool_type;
switch (tool_id) { switch (tool_id) {
case 0x812: /* Inking pen */ case 0x812: /* Inking pen */
case 0x801: /* Intuos3 Inking pen */ case 0x801: /* Intuos3 Inking pen */
case 0x12802: /* Intuos4/5 Inking Pen */ case 0x12802: /* Intuos4/5 Inking Pen */
case 0x012: case 0x012:
tool_type = BTN_TOOL_PENCIL; return BTN_TOOL_PENCIL;
break;
case 0x822: /* Pen */
case 0x842:
case 0x852:
case 0x823: /* Intuos3 Grip Pen */
case 0x813: /* Intuos3 Classic Pen */
case 0x802: /* Intuos4/5 13HD/24HD General Pen */
case 0x8e2: /* IntuosHT2 pen */
case 0x022:
case 0x200: /* Pro Pen 3 */
case 0x10842: /* MobileStudio Pro Pro Pen slim */
case 0x14802: /* Intuos4/5 13HD/24HD Classic Pen */
case 0x16802: /* Cintiq 13HD Pro Pen */
case 0x18802: /* DTH2242 Pen */
case 0x10802: /* Intuos4/5 13HD/24HD General Pen */
case 0x8842: /* Intuos Pro and Cintiq Pro 3D Pen */
tool_type = BTN_TOOL_PEN;
break;
case 0x832: /* Stroke pen */ case 0x832: /* Stroke pen */
case 0x032: case 0x032:
tool_type = BTN_TOOL_BRUSH; return BTN_TOOL_BRUSH;
break;
case 0x007: /* Mouse 4D and 2D */ case 0x007: /* Mouse 4D and 2D */
case 0x09c: case 0x09c:
case 0x094: case 0x094:
case 0x017: /* Intuos3 2D Mouse */ case 0x017: /* Intuos3 2D Mouse */
case 0x806: /* Intuos4 Mouse */ case 0x806: /* Intuos4 Mouse */
tool_type = BTN_TOOL_MOUSE; return BTN_TOOL_MOUSE;
break;
case 0x096: /* Lens cursor */ case 0x096: /* Lens cursor */
case 0x097: /* Intuos3 Lens cursor */ case 0x097: /* Intuos3 Lens cursor */
case 0x006: /* Intuos4 Lens cursor */ case 0x006: /* Intuos4 Lens cursor */
tool_type = BTN_TOOL_LENS; return BTN_TOOL_LENS;
break;
case 0x82a: /* Eraser */
case 0x84a:
case 0x85a:
case 0x91a:
case 0xd1a:
case 0x0fa:
case 0x82b: /* Intuos3 Grip Pen Eraser */
case 0x81b: /* Intuos3 Classic Pen Eraser */
case 0x91b: /* Intuos3 Airbrush Eraser */
case 0x80c: /* Intuos4/5 13HD/24HD Marker Pen Eraser */
case 0x80a: /* Intuos4/5 13HD/24HD General Pen Eraser */
case 0x90a: /* Intuos4/5 13HD/24HD Airbrush Eraser */
case 0x1480a: /* Intuos4/5 13HD/24HD Classic Pen Eraser */
case 0x1090a: /* Intuos4/5 13HD/24HD Airbrush Eraser */
case 0x1080c: /* Intuos4/5 13HD/24HD Art Pen Eraser */
case 0x1084a: /* MobileStudio Pro Pro Pen slim Eraser */
case 0x1680a: /* Cintiq 13HD Pro Pen Eraser */
case 0x1880a: /* DTH2242 Eraser */
case 0x1080a: /* Intuos4/5 13HD/24HD General Pen Eraser */
tool_type = BTN_TOOL_RUBBER;
break;
case 0xd12: case 0xd12:
case 0x912: case 0x912:
...@@ -770,10 +721,13 @@ static int wacom_intuos_get_tool_type(int tool_id) ...@@ -770,10 +721,13 @@ static int wacom_intuos_get_tool_type(int tool_id)
case 0x913: /* Intuos3 Airbrush */ case 0x913: /* Intuos3 Airbrush */
case 0x902: /* Intuos4/5 13HD/24HD Airbrush */ case 0x902: /* Intuos4/5 13HD/24HD Airbrush */
case 0x10902: /* Intuos4/5 13HD/24HD Airbrush */ case 0x10902: /* Intuos4/5 13HD/24HD Airbrush */
tool_type = BTN_TOOL_AIRBRUSH; return BTN_TOOL_AIRBRUSH;
break;
default:
if (tool_id & 0x0008)
return BTN_TOOL_RUBBER;
return BTN_TOOL_PEN;
} }
return tool_type;
} }
static void wacom_exit_report(struct wacom_wac *wacom) static void wacom_exit_report(struct wacom_wac *wacom)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment