On Mon, 13 Nov, 2023 01:46:25 +0000 "Rahul Rameshbabu" <sergeantsagara@xxxxxxxxxxxxxx> wrote: > On Wed, 08 Nov, 2023 00:08:31 +0800 "Yihong Cao" <caoyihong4@xxxxxxxxxxx> wrote: >> On Mon, Nov 06, 2023 at 03:11:09AM +0000, Rahul Rameshbabu wrote: >>> On Mon, 30 Oct, 2023 01:05:38 +0800 "Yihong Cao" <caoyihong4@xxxxxxxxxxx> 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. >>> > >>> > Signed-off-by: Yihong Cao <caoyihong4@xxxxxxxxxxx> >>> > --- >>> > drivers/hid/hid-apple.c | 2 ++ >>> > 1 file changed, 2 insertions(+) >>> > >>> > diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c >>> > index 3ca45975c686..d9e9829b2200 100644 >>> > --- a/drivers/hid/hid-apple.c >>> > +++ b/drivers/hid/hid-apple.c >>> > @@ -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"? >>> >> >> 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. >> > > 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. Reviewed-by: Rahul Rameshbabu <sergeantsagara@xxxxxxxxxxxxxx>