> rev3:
Almost there! Minor nits below, then ok.
> Index: dev/hid/hidkbd.c
> +static const struct hidkbd_translation apple_iso_trans[] = {
> + { 53, 100 }, /* less -> grave */
> + { 100, 53 }
> +};
> +
> +static const struct hidkbd_translation apple_iso_mba_trans[] = {
> + { 53, 100 }, /* less -> grave */
> + { 100, 53 }
> +};
No need for two copies of that table. Keep the first one (shortest
name) and update hidkbd_apple_mba_munge() accordingly.
> Index: dev/hid/hidkbdsc.h
> @@ -67,6 +67,7 @@ struct hidkbd {
> struct hid_location sc_capsloc;
> struct hid_location sc_scroloc;
> struct hid_location sc_compose;
> + struct hid_location sc_fn;
Since the name is generic, consider adding a comment, for example
/* optional extra input source used by sc_munge below */