keyboard_protocol
applespi_remap_fn_key(struct keyboard_protocol *keyboard_protocol)
tmp = keyboard_protocol->fn_pressed;
keyboard_protocol->fn_pressed = !!(keyboard_protocol->modifiers & bit);
keyboard_protocol->modifiers |= bit;
keyboard_protocol->modifiers &= ~bit;
struct keyboard_protocol *keyboard_protocol)
sizeof_field(struct keyboard_protocol, modifiers) * 8,
if (!memchr_inv(keyboard_protocol->keys_pressed, 1, MAX_ROLLOVER))
applespi_remap_fn_key(keyboard_protocol);
if (memchr(keyboard_protocol->keys_pressed,
if (keyboard_protocol->keys_pressed[i] <
keyboard_protocol->keys_pressed[i] > 0) {
keyboard_protocol->keys_pressed[i],
keyboard_protocol->fn_pressed);
keyboard_protocol->fn_pressed;
if (keyboard_protocol->modifiers & BIT(i))
if (keyboard_protocol->fn_pressed && !applespi->last_fn_pressed)
else if (!keyboard_protocol->fn_pressed && applespi->last_fn_pressed)
applespi->last_fn_pressed = keyboard_protocol->fn_pressed;
memcpy(&applespi->last_keys_pressed, keyboard_protocol->keys_pressed,
struct keyboard_protocol keyboard;