From 98f65edf23b6232f8bd601024d21e765ebe723ca Mon Sep 17 00:00:00 2001 From: Jake Date: Tue, 18 Nov 2025 23:03:08 -0600 Subject: [PATCH 1/3] Support for PHN16-73. RGB tested to work. All predator sense features tested to work. --- src/linuwu_sense.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/linuwu_sense.c b/src/linuwu_sense.c index 760864e..ea33374 100644 --- a/src/linuwu_sense.c +++ b/src/linuwu_sense.c @@ -482,6 +482,11 @@ enum acer_wmi_predator_v4_oc { .predator_v4 = 1, .four_zone_kb = 1, }; + + static struct quirk_entry quirk_acer_predator_phn16_73 = { + .predator_v4 = 1, + .four_zone_kb = 1, + }; static struct quirk_entry quirk_acer_nitro_an16_41 = { .nitro_v4 = 1, @@ -772,7 +777,16 @@ enum acer_wmi_predator_v4_oc { DMI_MATCH(DMI_PRODUCT_NAME, "Predator PHN16-72"), }, .driver_data = &quirk_acer_predator_phn16_72, - }, + }, + { + .callback = dmi_matched, + .ident = "Acer Predator PHN16-73", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Predator PHN16-73"), + }, + .driver_data = &quirk_acer_predator_phn16_73, + }, { .callback = dmi_matched, .ident = "Acer Predator PH16-71", From 13b637a8ab10f76bebd17a6c1b36190ff88a5e94 Mon Sep 17 00:00:00 2001 From: JakeBrxwn Date: Sat, 22 Nov 2025 19:04:24 -0600 Subject: [PATCH 2/3] Added support for PHN16S-71. Tested keyboard functionality and all predator sense features. --- src/linuwu_sense.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/linuwu_sense.c b/src/linuwu_sense.c index ea33374..745ef2e 100644 --- a/src/linuwu_sense.c +++ b/src/linuwu_sense.c @@ -487,6 +487,11 @@ enum acer_wmi_predator_v4_oc { .predator_v4 = 1, .four_zone_kb = 1, }; + + static struct quirk_entry quirk_acer_predator_phn16s_71 = { + .predator_v4 = 1, + .four_zone_kb = 1, + }; static struct quirk_entry quirk_acer_nitro_an16_41 = { .nitro_v4 = 1, @@ -787,6 +792,15 @@ enum acer_wmi_predator_v4_oc { }, .driver_data = &quirk_acer_predator_phn16_73, }, + { + .callback = dmi_matched, + .ident = "Acer Predator PHN16S-71", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Predator PHN16S-71") + }, + .driver_data = &quirk_acer_predator_phn16s_71, + }, { .callback = dmi_matched, .ident = "Acer Predator PH16-71", From ee01b84348afa3ade6a1d6c34f329c58bc57c49c Mon Sep 17 00:00:00 2001 From: chrisdlr22 Date: Sat, 11 Apr 2026 21:00:17 -0700 Subject: [PATCH 3/3] Add hardware quirk for Acer Predator PHIN16S-71 typo --- src/linuwu_sense.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/linuwu_sense.c b/src/linuwu_sense.c index 745ef2e..36ed9ac 100644 --- a/src/linuwu_sense.c +++ b/src/linuwu_sense.c @@ -765,12 +765,12 @@ enum acer_wmi_predator_v4_oc { }, .driver_data = &quirk_acer_predator_ph315_53, }, - { + { .callback = dmi_matched, - .ident = "Acer Predator PHN16-71", + .ident = "Acer Predator PHIN16-71", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Predator PHN16-71"), + DMI_MATCH(DMI_PRODUCT_NAME, "Predator PHIN16-71"), }, .driver_data = &quirk_acer_predator_phn16_71, }, @@ -801,12 +801,21 @@ enum acer_wmi_predator_v4_oc { }, .driver_data = &quirk_acer_predator_phn16s_71, }, + { + .callback = dmi_matched, + .ident = "Acer Predator PHIN16S-71", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Predator PHIN16S-71") + }, + .driver_data = &quirk_acer_predator_phn16s_71, + }, { .callback = dmi_matched, - .ident = "Acer Predator PH16-71", + .ident = "Acer Predator PHN16S-71", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Predator PH16-71"), + DMI_MATCH(DMI_PRODUCT_NAME, "Predator PHN16S-71"), }, .driver_data = &quirk_acer_predator_v4, },