From fc63897bf0a80f313ea033a525edb840725c67e0 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Mon, 21 May 2007 00:18:15 -0400 Subject: [PATCH] --- yaml --- r: 58471 b: refs/heads/master c: 33936fa603f2524a7dde08d22637d0989a4e8fdd h: refs/heads/master i: 58469: c47f6379fb665f658f90a480be5217bf9e98d728 58467: 432ce00e3e6df38406d0513b463beeb9ec03ec37 58463: 523ffa7fed89602b4004374e209dbb23913cf0c3 v: v3 --- [refs] | 2 +- trunk/drivers/input/tablet/aiptek.c | 29 ++++++++++++----------------- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/[refs] b/[refs] index dbeb1a6dc85f..ae6ea75151b7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 37767b66ed61ee37f0d8f40523f74c31bc187d1d +refs/heads/master: 33936fa603f2524a7dde08d22637d0989a4e8fdd diff --git a/trunk/drivers/input/tablet/aiptek.c b/trunk/drivers/input/tablet/aiptek.c index 3a5e0aafa115..86e48930dfa2 100644 --- a/trunk/drivers/input/tablet/aiptek.c +++ b/trunk/drivers/input/tablet/aiptek.c @@ -329,6 +329,13 @@ struct aiptek { unsigned char *data; /* incoming packet data */ }; +static const int buttonEvents[] = { + BTN_LEFT, BTN_RIGHT, BTN_MIDDLE, + BTN_TOOL_PEN, BTN_TOOL_RUBBER, BTN_TOOL_PENCIL, BTN_TOOL_AIRBRUSH, + BTN_TOOL_BRUSH, BTN_TOOL_MOUSE, BTN_TOOL_LENS, BTN_TOUCH, + BTN_STYLUS, BTN_STYLUS2, +}; + /* * Permit easy lookup of keyboard events to send, versus * the bitmap which comes from the tablet. This hides the @@ -1728,26 +1735,14 @@ aiptek_probe(struct usb_interface *intf, const struct usb_device_id *id) inputdev->relbit[0] |= (BIT(REL_X) | BIT(REL_Y) | BIT(REL_WHEEL) | BIT(REL_MISC)); - inputdev->keybit[LONG(BTN_LEFT)] |= - (BIT(BTN_LEFT) | BIT(BTN_RIGHT) | BIT(BTN_MIDDLE)); - - inputdev->keybit[LONG(BTN_DIGI)] |= - (BIT(BTN_TOOL_PEN) | - BIT(BTN_TOOL_RUBBER) | - BIT(BTN_TOOL_PENCIL) | - BIT(BTN_TOOL_AIRBRUSH) | - BIT(BTN_TOOL_BRUSH) | - BIT(BTN_TOOL_MOUSE) | - BIT(BTN_TOOL_LENS) | - BIT(BTN_TOUCH) | BIT(BTN_STYLUS) | BIT(BTN_STYLUS2)); - inputdev->mscbit[0] = BIT(MSC_SERIAL); - /* Programming the tablet macro keys needs to be done with a for loop - * as the keycodes are discontiguous. - */ + /* Set up key and button codes */ + for (i = 0; i < ARRAY_SIZE(buttonEvents); ++i) + __set_bit(buttonEvents[i], inputdev->keybit); + for (i = 0; i < ARRAY_SIZE(macroKeyEvents); ++i) - set_bit(macroKeyEvents[i], inputdev->keybit); + __set_bit(macroKeyEvents[i], inputdev->keybit); /* * Program the input device coordinate capacities. We do not yet