diff mbox

HID: corsair: fix mapping of non-keyboard usages

Message ID 20160216173824.GA23019@untxi.home (mailing list archive)
State New, archived
Headers show

Commit Message

Clément VUCHENER Feb. 16, 2016, 5:38 p.m. UTC
This fixes a bug where the Volume Up key was ignored because it uses the same usage code as G18. Special Corsair usage codes are in the keyboard page, other pages should be left to the generic driver.

Signed-off-by: Clément Vuchener <clement.vuchener@gmail.com>
---
 drivers/hid/hid-corsair.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Benjamin Tissoires Feb. 18, 2016, 8:12 a.m. UTC | #1
On Feb 16 2016 or thereabouts, =?UTF-8?q?Cl=C3=A9ment=20Vuchener?= wrote:
> This fixes a bug where the Volume Up key was ignored because it uses the same usage code as G18. Special Corsair usage codes are in the keyboard page, other pages should be left to the generic driver.
> 
> Signed-off-by: Clément Vuchener <clement.vuchener@gmail.com>

Looks good to me.

Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>

Cheers,
Benjamin

> ---
>  drivers/hid/hid-corsair.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/hid/hid-corsair.c b/drivers/hid/hid-corsair.c
> index 5855196..717704e 100644
> --- a/drivers/hid/hid-corsair.c
> +++ b/drivers/hid/hid-corsair.c
> @@ -595,6 +595,9 @@ static int corsair_input_mapping(struct hid_device *dev,
>  {
>  	int gkey;
>  
> +	if ((usage->hid & HID_USAGE_PAGE) != HID_UP_KEYBOARD)
> +		return 0;
> +
>  	gkey = corsair_usage_to_gkey(usage->hid & HID_USAGE);
>  	if (gkey != 0) {
>  		hid_map_usage_clear(input, usage, bit, max, EV_KEY,
> -- 
> 2.5.0
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jiri Kosina Feb. 23, 2016, 1:23 p.m. UTC | #2
On Tue, 16 Feb 2016, =?UTF-8?q?Cl=C3=A9ment=20Vuchener?= wrote:

> This fixes a bug where the Volume Up key was ignored because it uses the 
> same usage code as G18. Special Corsair usage codes are in the keyboard 
> page, other pages should be left to the generic driver.

Applied, thanks.
diff mbox

Patch

diff --git a/drivers/hid/hid-corsair.c b/drivers/hid/hid-corsair.c
index 5855196..717704e 100644
--- a/drivers/hid/hid-corsair.c
+++ b/drivers/hid/hid-corsair.c
@@ -595,6 +595,9 @@  static int corsair_input_mapping(struct hid_device *dev,
 {
 	int gkey;
 
+	if ((usage->hid & HID_USAGE_PAGE) != HID_UP_KEYBOARD)
+		return 0;
+
 	gkey = corsair_usage_to_gkey(usage->hid & HID_USAGE);
 	if (gkey != 0) {
 		hid_map_usage_clear(input, usage, bit, max, EV_KEY,