This patch enables the capslock LED on apple m1/m2 laptops in xenocara.
Console mode was already working by setting the correct accessop, for
X we are missing an ioctl handler.
Only tested on apldc but the aplhidev code looks identical so the fix
should be the same.
Index: apldc.c
===================================================================
RCS file: /cvs/src/sys/arch/arm64/dev/apldc.c,v
retrieving revision 1.6
diff -u -p -r1.6 apldc.c
--- apldc.c 26 Mar 2023 09:34:06 -0000 1.6
+++ apldc.c 9 Apr 2023 20:52:25 -0000
@@ -1169,6 +1169,9 @@ apldckbd_ioctl(void *v, u_long cmd, cadd
/* XXX: should we set something else? */
*(u_int *)data = WSKBD_TYPE_USB;
return 0;
+ case WSKBDIO_SETLEDS:
+ apldckbd_set_leds(v, *(int *)data);
+ return 0;
default:
return hidkbd_ioctl(kbd, cmd, data, flag, p);
}
Index: aplhidev.c
===================================================================
RCS file: /cvs/src/sys/arch/arm64/dev/aplhidev.c,v
retrieving revision 1.10
diff -u -p -r1.10 aplhidev.c
--- aplhidev.c 21 Nov 2022 14:39:23 -0000 1.10
+++ aplhidev.c 9 Apr 2023 20:52:25 -0000
@@ -596,6 +596,9 @@ aplkbd_ioctl(void *v, u_long cmd, caddr_
/* XXX: should we set something else? */
*(u_int *)data = WSKBD_TYPE_USB;
return 0;
+ case WSKBDIO_SETLEDS:
+ aplkbd_set_leds(v, *(int *)data);
+ return 0;
default:
return hidkbd_ioctl(kbd, cmd, data, flag, p);
}