|
30 | 30 | #include "hid-ids.h" |
31 | 31 |
|
32 | 32 | #define APPLE_RDESC_JIS BIT(0) |
33 | | -/* BIT(1) reserved, was: APPLE_IGNORE_MOUSE */ |
| 33 | +#define APPLE_IGNORE_MOUSE BIT(1) |
34 | 34 | #define APPLE_HAS_FN BIT(2) |
35 | 35 | /* BIT(3) reserved, was: APPLE_HIDDEV */ |
36 | 36 | #define APPLE_ISO_TILDE_QUIRK BIT(4) |
@@ -983,6 +983,9 @@ static int apple_probe(struct hid_device *hdev, |
983 | 983 | if ((id->bus == BUS_SPI || id->bus == BUS_HOST) && fnmode == FKEYS_IGNORE) |
984 | 984 | quirks &= ~APPLE_ISO_TILDE_QUIRK; |
985 | 985 |
|
| 986 | + if (quirks & APPLE_IGNORE_MOUSE && hdev->type == HID_TYPE_USBMOUSE) |
| 987 | + return -ENODEV; |
| 988 | + |
986 | 989 | asc = devm_kzalloc(&hdev->dev, sizeof(*asc), GFP_KERNEL); |
987 | 990 | if (asc == NULL) { |
988 | 991 | hid_err(hdev, "can't alloc apple descriptor\n"); |
@@ -1205,27 +1208,31 @@ static const struct hid_device_id apple_devices[] = { |
1205 | 1208 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_JIS), |
1206 | 1209 | .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, |
1207 | 1210 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRINGT2_J140K), |
1208 | | - .driver_data = APPLE_HAS_FN | APPLE_BACKLIGHT_CTL | APPLE_ISO_TILDE_QUIRK }, |
| 1211 | + .driver_data = APPLE_HAS_FN | APPLE_BACKLIGHT_CTL | APPLE_ISO_TILDE_QUIRK | |
| 1212 | + APPLE_IGNORE_MOUSE }, |
1209 | 1213 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRINGT2_J132), |
1210 | 1214 | .driver_data = APPLE_HAS_FN | APPLE_BACKLIGHT_CTL | APPLE_ISO_TILDE_QUIRK | |
1211 | | - APPLE_DISABLE_FKEYS }, |
| 1215 | + APPLE_DISABLE_FKEYS | APPLE_IGNORE_MOUSE }, |
1212 | 1216 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRINGT2_J680), |
1213 | 1217 | .driver_data = APPLE_HAS_FN | APPLE_BACKLIGHT_CTL | APPLE_ISO_TILDE_QUIRK | |
1214 | | - APPLE_DISABLE_FKEYS }, |
| 1218 | + APPLE_DISABLE_FKEYS | APPLE_IGNORE_MOUSE }, |
1215 | 1219 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRINGT2_J680_ALT), |
1216 | 1220 | .driver_data = APPLE_HAS_FN | APPLE_BACKLIGHT_CTL | APPLE_ISO_TILDE_QUIRK | |
1217 | | - APPLE_DISABLE_FKEYS }, |
| 1221 | + APPLE_DISABLE_FKEYS | APPLE_IGNORE_MOUSE }, |
1218 | 1222 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRINGT2_J213), |
1219 | 1223 | .driver_data = APPLE_HAS_FN | APPLE_BACKLIGHT_CTL | APPLE_ISO_TILDE_QUIRK | |
1220 | | - APPLE_DISABLE_FKEYS }, |
| 1224 | + APPLE_DISABLE_FKEYS | APPLE_IGNORE_MOUSE }, |
1221 | 1225 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRINGT2_J214K), |
1222 | | - .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_DISABLE_FKEYS }, |
| 1226 | + .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_DISABLE_FKEYS | |
| 1227 | + APPLE_IGNORE_MOUSE }, |
1223 | 1228 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRINGT2_J223), |
1224 | | - .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_DISABLE_FKEYS }, |
| 1229 | + .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_DISABLE_FKEYS | |
| 1230 | + APPLE_IGNORE_MOUSE }, |
1225 | 1231 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRINGT2_J230K), |
1226 | | - .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK }, |
| 1232 | + .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_IGNORE_MOUSE }, |
1227 | 1233 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRINGT2_J152F), |
1228 | | - .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_DISABLE_FKEYS }, |
| 1234 | + .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_DISABLE_FKEYS | |
| 1235 | + APPLE_IGNORE_MOUSE }, |
1229 | 1236 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI), |
1230 | 1237 | .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, |
1231 | 1238 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO), |
|
0 commit comments