Skip to contentSkip to conversation

HID: apple: add Jamesdonkey and A3R to non-apple keyboards list

PATCH Rahul Rameshbabu 1 participant 1 message Nov 13, 2023 HID

lore
Share & tools
lore

Rahul Rameshbabu

author Reviewed-by
#0 lore raw
Quoted 36 lines · On Mon, 13 Nov, 2023 01:46:25 +0000 "Rahul Rameshbabu"…
Quoted 26 lines · On Wed, 08 Nov, 2023 00:08:31 +0800 "Yihong Cao" <[email protected]> wrote:
Quoted 10 lines · Rahul Rameshbabu
Quoted 9 lines · On Mon, 30 Oct, 2023 01:05:38 +0800 "Yihong Cao" <[email protected]> wrote:

Jamesdonkey A3R keyboard is identified as "Jamesdonkey A3R" in wired mode, "A3R-U" in wireless mode and "A3R" in bluetooth mode. Adding them to non-apple keyboards fixes function key.

---
 drivers/hid/hid-apple.c | 2 ++
 1 file changed, 2 insertions(+)
Quoted 14 lines

drivers/hid/hid-apple.c static const struct apple_non_apple_keyboard non_apple_keyboards[] = { · line 348

Quoted 9 lines
drivers/hid/hid-apple.c +1 -0
index 3ca45975c686..d9e9829b2200 100644
@@ -345,6 +345,8 @@ static const struct apple_non_apple_keyboard non_apple_keyboards[] = {
 	{ "AONE" },
 	{ "GANSS" },
 	{ "Hailuck" },
+	{ "Jamesdonkey" },

Sorry, maybe I misunderstood the commit message. In wired mode, if the keyboard is identified as "Jamesdonkey A3R", shouldn't this value be "Jamesdonkey A3R" instead of "Jamesdonkey"?

Quoted 8 lines

Hi!

"Jamesdonkey" is the manufacturer and "A3R" is the model. I think adding manufacturer to non-apple list is suggested, just like commit c4444d8749f696384947192b602718fa310c1caf, 20afcc462579c0bd79a59ab2b87b82ffa833d118, and a0a05054583fed17f522172e101594f1ff265463 did.

Quoted 8 lines
  static bool apple_is_non_apple_keyboard(struct hid_device *hdev)
  {
    int i;
    for (i = 0; i < ARRAY_SIZE(non_apple_keyboards); i++) {
      char *non_apple = non_apple_keyboards[i].name;

      if (strncmp(hdev->name, non_apple, strlen(non_apple)) == 0)

Sorry, my brain slipped here. This is essentially a prefix check. Your commit works fine :). I consider this patch reviewed. Sorry about that confusion.