@@ -1225,6 +1225,9 @@ static int sony_mapping(struct hid_device *hdev, struct hid_input *hi,
if (sc->quirks & NAVIGATION_CONTROLLER)
return navigation_mapping(hdev, hi, field, usage, bit, max);
+ if (sc->quirks & SINO_LITE_CONTROLLER)
+ return 0;
+
if (sc->quirks & SIXAXIS_CONTROLLER)
return sixaxis_mapping(hdev, hi, field, usage, bit, max);
@@ -2566,6 +2569,10 @@ static int sony_input_configured(struct hid_device *hdev,
}
sony_init_output_report(sc, sixaxis_send_output_report);
+ } else if (sc->quirks & SINO_LITE_CONTROLLER) {
+ hdev->quirks |= HID_QUIRK_SKIP_OUTPUT_REPORT_ID;
+
+ sony_init_output_report(sc, sixaxis_send_output_report);
} else if (sc->quirks & SIXAXIS_CONTROLLER_USB) {
/*
* The Sony Sixaxis does not handle HID Output Reports on the
This fixes missing d-pad axis broken since e19a267b99. The axis mapping for the nyko controller has the d-pad as axis 0x39 instead of d-pad as buttons. This is handled by the default hid mapping so we return 0 in sony_mapping. This controller also has no accelerometer so avoid initializing it with a condition in sony_input_configured() to setup these controllers. Signed-off-by: Scott Moreau <oreaus@gmail.com> --- Changed in v3: - Added signoff drivers/hid/hid-sony.c | 7 +++++++ 1 file changed, 7 insertions(+)