HID: nintendo: Fix N64 controller being identified as mouse

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>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
This commit is contained in:
Nuno Pereira 2024-02-26 22:39:31 +00:00 committed by Jiri Kosina
parent 139b4c37e9
commit 8db8c77059

View file

@ -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 */ },