@@ -1276,6 +1276,7 @@ static int sony_register_touchpad(struct sony_sc *sc, int touch_count,
__set_bit(EV_KEY, sc->touchpad->evbit);
__set_bit(BTN_LEFT, sc->touchpad->keybit);
__set_bit(INPUT_PROP_BUTTONPAD, sc->touchpad->propbit);
+ __set_bit(INPUT_PROP_COMPOSITE, sc->touchpad->propbit);
input_set_abs_params(sc->touchpad, ABS_MT_POSITION_X, 0, w, 0, 0);
input_set_abs_params(sc->touchpad, ABS_MT_POSITION_Y, 0, h, 0, 0);
@@ -1375,6 +1376,7 @@ static int sony_register_sensors(struct sony_sc *sc)
}
__set_bit(INPUT_PROP_ACCELEROMETER, sc->sensor_dev->propbit);
+ __set_bit(INPUT_PROP_COMPOSITE, sc->sensor_dev->propbit);
ret = input_register_device(sc->sensor_dev);
if (ret < 0)
@@ -2561,6 +2563,8 @@ static int sony_input_configured(struct hid_device *hdev,
sony_init_output_report(sc, sixaxis_send_output_report);
} else if (sc->quirks & SIXAXIS_CONTROLLER_USB) {
+ __set_bit(INPUT_PROP_COMPOSITE, hidinput->input->propbit);
+
/*
* The Sony Sixaxis does not handle HID Output Reports on the
* Interrupt EP and the device only becomes active when the
@@ -2586,6 +2590,8 @@ static int sony_input_configured(struct hid_device *hdev,
sony_init_output_report(sc, sixaxis_send_output_report);
} else if (sc->quirks & SIXAXIS_CONTROLLER_BT) {
+ __set_bit(INPUT_PROP_COMPOSITE, hidinput->input->propbit);
+
/*
* The Sixaxis wants output reports sent on the ctrl endpoint
* when connected via Bluetooth.
@@ -2607,6 +2613,8 @@ static int sony_input_configured(struct hid_device *hdev,
sony_init_output_report(sc, sixaxis_send_output_report);
} else if (sc->quirks & DUALSHOCK4_CONTROLLER) {
+ __set_bit(INPUT_PROP_COMPOSITE, hidinput->input->propbit);
+
ret = dualshock4_get_calibration_data(sc);
if (ret < 0) {
hid_err(hdev, "Failed to get calibration data from Dualshock 4\n");