from: https://github.com/torvalds/linux/blob/master/drivers/hid/hid-apple.c also: https://wiki.archlinux.org/title/Apple_Keyboard#Swap_the_Fn_and_left_Control_keys
$> ls /sys/module/hid_apple/parameters/
fnmode iso_layout swap_ctrl_cmd swap_fn_leftctrl swap_opt_cmd
using:
options hid_apple fnmode=2
options hid_apple swap_opt_cmd=1
static unsigned int fnmode = 3;
"Mode of fn key on Apple keyboards (0 = disabled, "
"1 = fkeyslast, 2 = fkeysfirst, [3] = auto)");
static int iso_layout = -1;
"Swap the backtick/tilde and greater-than/less-than keys. "
"([-1] = auto, 0 = disabled, 1 = enabled)");
static unsigned int swap_opt_cmd;
"Swap the Option ("Alt") and Command ("Flag") keys. "
"(For people who want to keep Windows PC keyboard muscle memory. "
"[0] = as-is, Mac layout. 1 = swapped, Windows layout., 2 = swapped, Swap only left side)");
static unsigned int swap_ctrl_cmd;
"Swap the Control ("Ctrl") and Command ("Flag") keys. "
"(For people who are used to Mac shortcuts involving Command instead of Control. "
"[0] = No change. 1 = Swapped.)");
static unsigned int swap_fn_leftctrl;
"Swap the Fn and left Control keys. "
"(For people who want to keep PC keyboard muscle memory. "
"[0] = as-is, Mac layout, 1 = swapped, PC layout)");