From: Ping Cheng <pingli...@gmail.com> Cintiq 12 has 10 expresskey buttons. The bit shift for the last two buttons were off by 5.
Fixes: c7f0522 ("backport: HID: wacom: Slim down wacom_intuos_pad processing") Signed-off-by: Ping Cheng <ping.ch...@wacom.com> Tested-by: Matthieu Robin <matth...@macolu.org> Signed-off-by: Jiri Kosina <jkos...@suse.cz> [jason.gere...@wacom.com: Imported into input-wacom repository (ce06760ba4)] Signed-off-by: Jason Gerecke <jason.gere...@wacom.com> [jason.gere...@wacom.com: Backported from input-wacom repository (8beacc9)] Signed-off-by: Jason Gerecke <jason.gere...@wacom.com> --- 2.6.30/wacom_wac.c | 4 ++-- 2.6.36/wacom_wac.c | 4 ++-- 2.6.38/wacom_wac.c | 4 ++-- 3.17/wacom_wac.c | 4 ++-- 3.7/wacom_wac.c | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/2.6.30/wacom_wac.c b/2.6.30/wacom_wac.c index 91b464e..ade2f3e 100644 --- a/2.6.30/wacom_wac.c +++ b/2.6.30/wacom_wac.c @@ -769,8 +769,8 @@ static int wacom_intuos_pad(struct wacom_wac *wacom) keys = data[9] & 0x07; } } else { - buttons = ((data[6] & 0x10) << 10) | - ((data[5] & 0x10) << 9) | + buttons = ((data[6] & 0x10) << 5) | + ((data[5] & 0x10) << 4) | ((data[6] & 0x0F) << 4) | (data[5] & 0x0F); } diff --git a/2.6.36/wacom_wac.c b/2.6.36/wacom_wac.c index 4d5fc70..b2b51eb 100644 --- a/2.6.36/wacom_wac.c +++ b/2.6.36/wacom_wac.c @@ -565,8 +565,8 @@ static int wacom_intuos_pad(struct wacom_wac *wacom) keys = data[9] & 0x07; } } else { - buttons = ((data[6] & 0x10) << 10) | - ((data[5] & 0x10) << 9) | + buttons = ((data[6] & 0x10) << 5) | + ((data[5] & 0x10) << 4) | ((data[6] & 0x0F) << 4) | (data[5] & 0x0F); } diff --git a/2.6.38/wacom_wac.c b/2.6.38/wacom_wac.c index 46c1d4c..dd9d024 100644 --- a/2.6.38/wacom_wac.c +++ b/2.6.38/wacom_wac.c @@ -535,8 +535,8 @@ static int wacom_intuos_pad(struct wacom_wac *wacom) keys = data[9] & 0x07; } } else { - buttons = ((data[6] & 0x10) << 10) | - ((data[5] & 0x10) << 9) | + buttons = ((data[6] & 0x10) << 5) | + ((data[5] & 0x10) << 4) | ((data[6] & 0x0F) << 4) | (data[5] & 0x0F); } diff --git a/3.17/wacom_wac.c b/3.17/wacom_wac.c index e450699..b62b092 100644 --- a/3.17/wacom_wac.c +++ b/3.17/wacom_wac.c @@ -575,8 +575,8 @@ static int wacom_intuos_pad(struct wacom_wac *wacom) keys = data[9] & 0x07; } } else { - buttons = ((data[6] & 0x10) << 10) | - ((data[5] & 0x10) << 9) | + buttons = ((data[6] & 0x10) << 5) | + ((data[5] & 0x10) << 4) | ((data[6] & 0x0F) << 4) | (data[5] & 0x0F); } diff --git a/3.7/wacom_wac.c b/3.7/wacom_wac.c index 18b3342..ac333db 100644 --- a/3.7/wacom_wac.c +++ b/3.7/wacom_wac.c @@ -535,8 +535,8 @@ static int wacom_intuos_pad(struct wacom_wac *wacom) keys = data[9] & 0x07; } } else { - buttons = ((data[6] & 0x10) << 10) | - ((data[5] & 0x10) << 9) | + buttons = ((data[6] & 0x10) << 5) | + ((data[5] & 0x10) << 4) | ((data[6] & 0x0F) << 4) | (data[5] & 0x0F); } -- 2.14.1 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel