kpm-ignore-samsung-kbd/sam_hid_kbd_rem.patch
2025-10-03 16:21:48 -04:00

146 lines
5.0 KiB
Diff

diff --git i/drivers/hid/hid-quirks.c w/drivers/hid/hid-quirks.c
index f30faf09823c..2a8334e66db3 100644
--- i/drivers/hid/hid-quirks.c
+++ w/drivers/hid/hid-quirks.c
@@ -638,7 +638,6 @@ static const struct hid_device_id hid_have_special_driver[] = {
#if IS_ENABLED(CONFIG_HID_SAMSUNG)
{ HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) },
{ HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE) },
- { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_GAMEPAD) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_ACTIONMOUSE) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_BOOKCOVER) },
diff --git i/drivers/hid/hid-samsung.c w/drivers/hid/hid-samsung.c
index 75825e3dd26b..4e2ce1476981 100644
--- i/drivers/hid/hid-samsung.c
+++ w/drivers/hid/hid-samsung.c
@@ -130,110 +130,6 @@ static int samsung_kbd_mouse_input_mapping(struct hid_device *hdev,
return 1;
}
-static int samsung_kbd_input_mapping(struct hid_device *hdev,
- struct hid_input *hi, struct hid_field *field, struct hid_usage *usage,
- unsigned long **bit, int *max)
-{
- if (!(HID_UP_CONSUMER == (usage->hid & HID_USAGE_PAGE) ||
- HID_UP_KEYBOARD == (usage->hid & HID_USAGE_PAGE)))
- return 0;
-
- dbg_hid("samsung wireless keyboard input mapping event [0x%x]\n",
- usage->hid & HID_USAGE);
-
- if (HID_UP_KEYBOARD == (usage->hid & HID_USAGE_PAGE)) {
- switch (usage->hid & HID_USAGE) {
- set_bit(EV_REP, hi->input->evbit);
- /* Only for UK keyboard */
- /* key found */
-#ifdef CONFIG_HID_KK_UPGRADE
- case 0x32:
- samsung_kbd_mouse_map_key_clear(KEY_KBDILLUMTOGGLE);
- break;
- case 0x64:
- samsung_kbd_mouse_map_key_clear(KEY_BACKSLASH);
- break;
-#else
- case 0x32:
- samsung_kbd_mouse_map_key_clear(KEY_BACKSLASH);
- break;
- case 0x64:
- samsung_kbd_mouse_map_key_clear(KEY_102ND);
- break;
-#endif
- /* Only for BR keyboard */
- case 0x87:
- samsung_kbd_mouse_map_key_clear(KEY_RO);
- break;
- default:
- return 0;
- }
- }
-
- if (HID_UP_CONSUMER == (usage->hid & HID_USAGE_PAGE)) {
- switch (usage->hid & HID_USAGE) {
- /* report 2 */
- /* MENU */
- case 0x040:
- samsung_kbd_mouse_map_key_clear(KEY_MENU);
- break;
- case 0x18a:
- samsung_kbd_mouse_map_key_clear(KEY_MAIL);
- break;
- case 0x196:
- samsung_kbd_mouse_map_key_clear(KEY_WWW);
- break;
- case 0x19e:
- samsung_kbd_mouse_map_key_clear(KEY_SCREENLOCK);
- break;
- case 0x221:
- samsung_kbd_mouse_map_key_clear(KEY_SEARCH);
- break;
- case 0x223:
- samsung_kbd_mouse_map_key_clear(KEY_HOMEPAGE);
- break;
- /* Smtart Voice Key */
- case 0x300:
- samsung_kbd_mouse_map_key_clear(BTN_TRIGGER_HAPPY13);
- break;
- /* RECENTAPPS */
- case 0x301:
- samsung_kbd_mouse_map_key_clear(BTN_TRIGGER_HAPPY1);
- break;
- /* APPLICATION */
- case 0x302:
- samsung_kbd_mouse_map_key_clear(BTN_TRIGGER_HAPPY2);
- break;
- /* Voice search */
- case 0x305:
- samsung_kbd_mouse_map_key_clear(BTN_TRIGGER_HAPPY4);
- break;
- /* QPANEL on/off */
- case 0x306:
- samsung_kbd_mouse_map_key_clear(BTN_TRIGGER_HAPPY5);
- break;
- /* SIP on/off */
- case 0x307:
- samsung_kbd_mouse_map_key_clear(BTN_TRIGGER_HAPPY3);
- break;
- /* LANG */
- case 0x308:
- samsung_kbd_mouse_map_key_clear(KEY_LANGUAGE);
- break;
- case 0x30a:
- samsung_kbd_mouse_map_key_clear(KEY_BRIGHTNESSDOWN);
- break;
- case 0x30b:
- samsung_kbd_mouse_map_key_clear(KEY_BRIGHTNESSUP);
- break;
- default:
- return 0;
- }
- }
-
- return 1;
-}
-
static int samsung_gamepad_input_mapping(struct hid_device *hdev,
struct hid_input *hi, struct hid_field *field, struct hid_usage *usage,
unsigned long **bit, int *max)
@@ -499,9 +395,6 @@ static int samsung_input_mapping(struct hid_device *hdev, struct hid_input *hi,
if (USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE == hdev->product)
ret = samsung_kbd_mouse_input_mapping(hdev,
hi, field, usage, bit, max);
- else if (hdev->product == USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD)
- ret = samsung_kbd_input_mapping(hdev,
- hi, field, usage, bit, max);
else if (hdev->product == USB_DEVICE_ID_SAMSUNG_WIRELESS_GAMEPAD)
ret = samsung_gamepad_input_mapping(hdev,
hi, field, usage, bit, max);
@@ -555,7 +448,6 @@ static int samsung_probe(struct hid_device *hdev,
static const struct hid_device_id samsung_devices[] = {
{ HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) },
{ HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE) },
- { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_GAMEPAD) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_ACTIONMOUSE) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SAMSUNG_ELECTRONICS, USB_DEVICE_ID_SAMSUNG_WIRELESS_UNIVERSAL_KBD) },