Created
March 23, 2020 04:10
-
-
Save fatalgoth/7361152a0613e52708e3f579846de17e to your computer and use it in GitHub Desktop.
Asus ROG Zephyrus GA502DU Keyboard LED Kernel 5.5.11 Patch (version 1)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c | |
index e6e4c841fb06..f7fa2ceb728b 100644 | |
--- a/drivers/hid/hid-asus.c | |
+++ b/drivers/hid/hid-asus.c | |
@@ -260,12 +260,14 @@ static int asus_report_input(struct asus_drvdata *drvdat, u8 *data, int size) | |
static int asus_event(struct hid_device *hdev, struct hid_field *field, | |
struct hid_usage *usage, __s32 value) | |
{ | |
- if ((usage->hid & HID_USAGE_PAGE) == 0xff310000 && | |
+ /* No need to warn because it'll just spam the log until we get a proper fix. | |
+ * | |
+ * if ((usage->hid & HID_USAGE_PAGE) == 0xff310000 && | |
(usage->hid & HID_USAGE) != 0x00 && | |
(usage->hid & HID_USAGE) != 0xff && !usage->type) { | |
hid_warn(hdev, "Unmapped Asus vendor usagepage code 0x%02x\n", | |
usage->hid & HID_USAGE); | |
- } | |
+ }*/ | |
return 0; | |
} | |
@@ -415,13 +417,13 @@ static int asus_kbd_register_leds(struct hid_device *hdev) | |
return ret; | |
/* Get keyboard functions */ | |
- ret = asus_kbd_get_functions(hdev, &kbd_func); | |
+ /* ret = asus_kbd_get_functions(hdev, &kbd_func); | |
if (ret < 0) | |
- return ret; | |
+ return ret;*/ | |
/* Check for backlight support */ | |
- if (!(kbd_func & SUPPORT_KBD_BACKLIGHT)) | |
- return -ENODEV; | |
+ /*if (!(kbd_func & SUPPORT_KBD_BACKLIGHT)) | |
+ return -ENODEV;*/ | |
drvdata->kbd_backlight = devm_kzalloc(&hdev->dev, | |
sizeof(struct asus_kbd_leds), | |
@@ -696,8 +698,8 @@ static int asus_input_mapping(struct hid_device *hdev, | |
if ((usage->hid & HID_USAGE_PAGE) == 0xff310000) { | |
set_bit(EV_REP, hi->input->evbit); | |
switch (usage->hid & HID_USAGE) { | |
- case 0x10: asus_map_key_clear(KEY_BRIGHTNESSDOWN); break; | |
- case 0x20: asus_map_key_clear(KEY_BRIGHTNESSUP); break; | |
+ //case 0x10: asus_map_key_clear(KEY_BRIGHTNESSDOWN); break; | |
+ //case 0x20: asus_map_key_clear(KEY_BRIGHTNESSUP); break; | |
case 0x35: asus_map_key_clear(KEY_DISPLAY_OFF); break; | |
case 0x6c: asus_map_key_clear(KEY_SLEEP); break; | |
case 0x7c: asus_map_key_clear(KEY_MICMUTE); break; | |
@@ -755,8 +757,8 @@ static int asus_input_mapping(struct hid_device *hdev, | |
case 0xff0a: asus_map_key_clear(BTN_A); break; | |
case 0xff0b: asus_map_key_clear(BTN_B); break; | |
case 0x00f1: asus_map_key_clear(KEY_WLAN); break; | |
- case 0x00f2: asus_map_key_clear(KEY_BRIGHTNESSDOWN); break; | |
- case 0x00f3: asus_map_key_clear(KEY_BRIGHTNESSUP); break; | |
+ //case 0x00f2: asus_map_key_clear(KEY_BRIGHTNESSDOWN); break; | |
+ //case 0x00f3: asus_map_key_clear(KEY_BRIGHTNESSUP); break; | |
case 0x00f4: asus_map_key_clear(KEY_DISPLAY_OFF); break; | |
case 0x00f7: asus_map_key_clear(KEY_CAMERA); break; | |
case 0x00f8: asus_map_key_clear(KEY_PROG1); break; | |
@@ -1040,6 +1042,9 @@ static const struct hid_device_id asus_devices[] = { | |
USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD2), QUIRK_USE_KBD_BACKLIGHT }, | |
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, | |
USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD3), QUIRK_G752_KEYBOARD }, | |
+ { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, | |
+ USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD4), | |
+ QUIRK_USE_KBD_BACKLIGHT | QUIRK_NO_CONSUMER_USAGES }, | |
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, | |
USB_DEVICE_ID_ASUSTEK_FX503VD_KEYBOARD), | |
QUIRK_USE_KBD_BACKLIGHT }, | |
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h | |
index 3a400ce603c4..e09fbc9f1e74 100644 | |
--- a/drivers/hid/hid-ids.h | |
+++ b/drivers/hid/hid-ids.h | |
@@ -193,6 +193,7 @@ | |
#define USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD1 0x1854 | |
#define USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD2 0x1837 | |
#define USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD3 0x1822 | |
+#define USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD4 0x1866 | |
#define USB_DEVICE_ID_ASUSTEK_FX503VD_KEYBOARD 0x1869 | |
#define USB_VENDOR_ID_ATEN 0x0557 | |
diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c | |
index 0e7b2d998395..08d0d2d4454d 100644 | |
--- a/drivers/hid/hid-quirks.c | |
+++ b/drivers/hid/hid-quirks.c | |
@@ -297,6 +297,7 @@ static const struct hid_device_id hid_have_special_driver[] = { | |
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD1) }, | |
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD2) }, | |
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD3) }, | |
+ { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD4) }, | |
{ HID_USB_DEVICE(USB_VENDOR_ID_JESS, USB_DEVICE_ID_ASUS_MD_5112) }, | |
{ HID_USB_DEVICE(USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_ASUS_MD_5110) }, | |
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_T100CHI_KEYBOARD) }, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment