diff mbox series

HID: nintendo: Fix N64 controller being identified as mouse

Message ID DU0P189MB2044EAF345CB76578D8C1A5CFD5A2@DU0P189MB2044.EURP189.PROD.OUTLOOK.COM
State New
Headers show
Series HID: nintendo: Fix N64 controller being identified as mouse | expand

Commit Message

Nuno Pereira Feb. 26, 2024, 10:39 p.m. UTC
This patch is regarding the recent addition of support for the NSO
controllers to hid-nintendo. All controllers are working correctly with the
exception of the N64 controller, which is being identified as a mouse by
udev. This results in the joystick controlling the mouse cursor and the
controller not being detected by games.

The reason for this is because the N64's C buttons have been attributed to
BTN_FORWARD, BTN_BACK, BTN_LEFT, BTN_RIGHT, which are buttons typically
attributed to mice.

This patch changes those buttons to controller buttons, making the
controller be correctly identified as such.

Signed-off-by: Nuno Pereira <nf.pereira@outlook.pt>
---
 drivers/hid/hid-nintendo.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Jiri Kosina March 22, 2024, 11:02 a.m. UTC | #1
On Mon, 26 Feb 2024, Nuno Pereira wrote:

> This patch is regarding the recent addition of support for the NSO
> controllers to hid-nintendo. All controllers are working correctly with the
> exception of the N64 controller, which is being identified as a mouse by
> udev. This results in the joystick controlling the mouse cursor and the
> controller not being detected by games.
> 
> The reason for this is because the N64's C buttons have been attributed to
> BTN_FORWARD, BTN_BACK, BTN_LEFT, BTN_RIGHT, which are buttons typically
> attributed to mice.
> 
> This patch changes those buttons to controller buttons, making the
> controller be correctly identified as such.
> 
> Signed-off-by: Nuno Pereira <nf.pereira@outlook.pt>

Thanks for the fix. I believe it's missing

	Fixes: 94f18bb1994591 ("HID: nintendo: add support for nso controllers")

tag.

Ryan, what was the reason for your initial assignment to FWD/BCK/LFT/RGHT 
instad of SELECT/X/Y/C ?

Thanks,
Nuno Pereira March 22, 2024, 5:06 p.m. UTC | #2
Should I resubmit a v2 with that tag? Or is it not necessary?
Sorry for the clumsiness, it's my first patch.

Nuno Pereira


From: Jiri Kosina <jikos@kernel.org>
Sent: Friday, March 22, 2024 11:02
To: Nuno Pereira <nf.pereira@outlook.pt>
Cc: linux-input@vger.kernel.org <linux-input@vger.kernel.org>; Daniel Ogorchock <djogorchock@gmail.com>; Ryan McClelland <rymcclel@gmail.com>; benjamin.tissoires@redhat.com <benjamin.tissoires@redhat.com>
Subject: Re: [PATCH] HID: nintendo: Fix N64 controller being identified as mouse
 
On Mon, 26 Feb 2024, Nuno Pereira wrote:

> This patch is regarding the recent addition of support for the NSO
> controllers to hid-nintendo. All controllers are working correctly with the
> exception of the N64 controller, which is being identified as a mouse by
> udev. This results in the joystick controlling the mouse cursor and the
> controller not being detected by games.
>
> The reason for this is because the N64's C buttons have been attributed to
> BTN_FORWARD, BTN_BACK, BTN_LEFT, BTN_RIGHT, which are buttons typically
> attributed to mice.
>
> This patch changes those buttons to controller buttons, making the
> controller be correctly identified as such.
>
> Signed-off-by: Nuno Pereira <nf.pereira@outlook.pt>

Thanks for the fix. I believe it's missing

        Fixes: 94f18bb1994591 ("HID: nintendo: add support for nso controllers")

tag.

Ryan, what was the reason for your initial assignment to FWD/BCK/LFT/RGHT
instad of SELECT/X/Y/C ?

Thanks,

--
Jiri Kosina
SUSE Labs
Jiri Kosina April 3, 2024, 11:19 a.m. UTC | #3
On Mon, 26 Feb 2024, Nuno Pereira wrote:

> This patch is regarding the recent addition of support for the NSO
> controllers to hid-nintendo. All controllers are working correctly with the
> exception of the N64 controller, which is being identified as a mouse by
> udev. This results in the joystick controlling the mouse cursor and the
> controller not being detected by games.
> 
> The reason for this is because the N64's C buttons have been attributed to
> BTN_FORWARD, BTN_BACK, BTN_LEFT, BTN_RIGHT, which are buttons typically
> attributed to mice.
> 
> This patch changes those buttons to controller buttons, making the
> controller be correctly identified as such.
> 
> Signed-off-by: Nuno Pereira <nf.pereira@outlook.pt>

Applied, thanks.
diff mbox series

Patch

diff --git a/drivers/hid/hid-nintendo.c b/drivers/hid/hid-nintendo.c
index ccc4032fb2b0..4b2c81b49b80 100644
--- a/drivers/hid/hid-nintendo.c
+++ b/drivers/hid/hid-nintendo.c
@@ -481,10 +481,10 @@  static const struct joycon_ctlr_button_mapping n64con_button_mappings[] = {
 	{ BTN_TR,		JC_BTN_R,	},
 	{ BTN_TR2,		JC_BTN_LSTICK,	}, /* ZR */
 	{ BTN_START,		JC_BTN_PLUS,	},
-	{ BTN_FORWARD,		JC_BTN_Y,	}, /* C UP */
-	{ BTN_BACK,		JC_BTN_ZR,	}, /* C DOWN */
-	{ BTN_LEFT,		JC_BTN_X,	}, /* C LEFT */
-	{ BTN_RIGHT,		JC_BTN_MINUS,	}, /* C RIGHT */
+	{ BTN_SELECT,		JC_BTN_Y,	}, /* C UP */
+	{ BTN_X,		JC_BTN_ZR,	}, /* C DOWN */
+	{ BTN_Y,		JC_BTN_X,	}, /* C LEFT */
+	{ BTN_C,		JC_BTN_MINUS,	}, /* C RIGHT */
 	{ BTN_MODE,		JC_BTN_HOME,	},
 	{ BTN_Z,		JC_BTN_CAP,	},
 	{ /* sentinel */ },