diff mbox

[quantal] SRU: LP1007575 USB Headset interferes with mouse function

Message ID 5106D654.8040404@canonical.com
State New
Headers show

Commit Message

Dave Chiluk Jan. 28, 2013, 7:49 p.m. UTC
SRU Justification:
Impact:

 * Plugging in a SB Arena USB headset or a number of other usb
   headsets causes the current window to hold focus, and prevent other
   windows from being selected essentially making the desktop unusable.

 * Without this patch users are forced to not use these devices.

Fix:
 * cherry picked from upstream commit
   929578ab0339fe42bb3ceeaa2e6607189cddf70b
 * This fix was arrived at via bisection, and has been verified in
   LP1080882
 * Fixes the button mappings for the volume control which shows up as a
   hid device which is attached to the headset.

Testcase:

 * Create 2 windows
 * With focus set on one of them
 * Plug in the headset
 * Attempt to change focus using the mouse to the other window.
 * User will not be able to select focus on the other window.


Patch for Quantal attached.

Dave.

Comments

Brad Figg Jan. 28, 2013, 8:20 p.m. UTC | #1
On 01/28/2013 11:49 AM, Dave Chiluk wrote:
> SRU Justification:
> Impact:
> 
>  * Plugging in a SB Arena USB headset or a number of other usb
>    headsets causes the current window to hold focus, and prevent other
>    windows from being selected essentially making the desktop unusable.
> 
>  * Without this patch users are forced to not use these devices.
> 
> Fix:
>  * cherry picked from upstream commit
>    929578ab0339fe42bb3ceeaa2e6607189cddf70b
>  * This fix was arrived at via bisection, and has been verified in
>    LP1080882
>  * Fixes the button mappings for the volume control which shows up as a
>    hid device which is attached to the headset.
> 
> Testcase:
> 
>  * Create 2 windows
>  * With focus set on one of them
>  * Plug in the headset
>  * Attempt to change focus using the mouse to the other window.
>  * User will not be able to select focus on the other window.
> 
> 
> Patch for Quantal attached.
> 
> Dave.
> 
> 
> 

Ack: Note we need the Buglink added.
Leann Ogasawara Jan. 28, 2013, 8:34 p.m. UTC | #2
Acked-by: Leann Ogasawara <leann.ogasawara@canonical.com>

Ack'd and applied to Quantal master-next.  Same nit pick about the
BugLink here as well.

Thanks,
Leann

On 01/28/2013 11:49 AM, Dave Chiluk wrote:
> SRU Justification:
> Impact:
>
>  * Plugging in a SB Arena USB headset or a number of other usb
>    headsets causes the current window to hold focus, and prevent other
>    windows from being selected essentially making the desktop unusable.
>
>  * Without this patch users are forced to not use these devices.
>
> Fix:
>  * cherry picked from upstream commit
>    929578ab0339fe42bb3ceeaa2e6607189cddf70b
>  * This fix was arrived at via bisection, and has been verified in
>    LP1080882
>  * Fixes the button mappings for the volume control which shows up as a
>    hid device which is attached to the headset.
>
> Testcase:
>
>  * Create 2 windows
>  * With focus set on one of them
>  * Plug in the headset
>  * Attempt to change focus using the mouse to the other window.
>  * User will not be able to select focus on the other window.
>
>
> Patch for Quantal attached.
>
> Dave.
>
>
>
diff mbox

Patch

From 289de7981abc6581c034dbd8baa3354f61262ed7 Mon Sep 17 00:00:00 2001
From: Keng-Yu Lin <kengyu@canonical.com>
Date: Fri, 6 Jul 2012 18:06:11 +0800
Subject: [PATCH] HID: Add suport for the brightness control keys on HP
 keyboards

The keys are found on the keyboards bundled with HP All-In-One machines
with USB VID/PID of 04ca:004d and 04f2:1061.

Signed-off-by: Keng-Yu Lin <kengyu@canonical.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
(cherry picked from commit 929578ab0339fe42bb3ceeaa2e6607189cddf70b)

Signed-off-by: David Chiluk <chiluk@canonical.com>
---
 drivers/hid/hid-input.c |    9 +++++++++
 include/linux/hid.h     |    1 +
 2 files changed, 10 insertions(+)

diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 5301006..811bfad 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -837,6 +837,15 @@  static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
 		}
 		break;
 
+	case HID_UP_HPVENDOR2:
+		set_bit(EV_REP, input->evbit);
+		switch (usage->hid & HID_USAGE) {
+		case 0x003: map_key_clear(KEY_BRIGHTNESSDOWN);	break;
+		case 0x004: map_key_clear(KEY_BRIGHTNESSUP);	break;
+		default:    goto ignore;
+		}
+		break;
+
 	case HID_UP_MSVENDOR:
 		goto ignore;
 
diff --git a/include/linux/hid.h b/include/linux/hid.h
index 449fa38..42970de 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -200,6 +200,7 @@  struct hid_item {
 #define HID_UP_DIGITIZER	0x000d0000
 #define HID_UP_PID		0x000f0000
 #define HID_UP_HPVENDOR         0xff7f0000
+#define HID_UP_HPVENDOR2        0xff010000
 #define HID_UP_MSVENDOR		0xff000000
 #define HID_UP_CUSTOM		0x00ff0000
 #define HID_UP_LOGIVENDOR	0xffbc0000
-- 
1.7.9.5