Daniel Schaefer 21fd6d199c fl16: Implement BIOS mode
When enabled, overrides whatever keyboard layout and always makes the
keys in the physical location of F2, F10 and F12 send the keycodes for
F2/F10/F12.
BIOS is supposed to enable this right after USB enumeration, so that the
BIOS hot keys always work, even if FN-lock is enabled or the user has
remapped their keyboard.
BIOS mode is exited either by the keyboard resetting or by sending the
disable message.

How to send:

1. Find USB devices with Framework VID 0x32AC
2. Filter by interface number == 0x01 and usage page == 0xFF60
3. Set HID report with the following body:

Enable:  0x00 0x0B 0x05 0x01 0xFE 0xFE ... pad the 32 byte buffer with 0xFE
Disable: 0x00 0x0B 0x05 0x00 0xFE 0xFE ... pad the 32 byte buffer with 0xFE
Where the first byte is the report ID 0x00

TODO:

- [ ] Test on ANSI keyboard
- [x] Test on ISO keyboard
- [ ] Test on JIS keyboard
- [ ] Add method to get current status

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-21 15:56:46 +08:00
..
2023-07-14 15:42:29 +08:00
2023-07-11 04:44:44 +08:00
2023-07-11 04:44:44 +08:00
2023-07-21 15:56:46 +08:00
2023-07-21 15:56:46 +08:00
2023-07-21 15:56:46 +08:00
2023-03-23 13:29:15 +08:00
2023-07-11 04:44:44 +08:00
2023-03-23 13:29:15 +08:00
2023-03-23 13:29:15 +08:00
2023-07-11 04:44:44 +08:00
2023-07-11 04:44:44 +08:00

Framework Laptop 16 Keyboard

Keyboard input modules for the Framework Laptop 16.

Variants

There are 5 different hardware variants with different number of keys and backlight options.

Name Size Backlight Keys
ansi Keyboard RGB/White 78
iso Keyboard White 79
jis Keyboard White 83
numpad Numpad White 21
macropad Numpad RGB 24

Make example for this keyboard (after setting up your build environment):

qmk compile -kb framework/ansi -km default
qmk compile -kb framework/iso -km default
qmk compile -kb framework/jis -km default
qmk compile -kb framework/numpad -km default
qmk compile -kb framework/macropad -km default

Flashing example for the ANSI keyboard:

qmk compile -kb framework/ansi -km default

See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide.

Bootloader

Enter the bootloader in 3 ways:

  • On Framework Laptop 16 Keyboard: Hold down left ALT and right ALT while installing the module
  • On Framework Laptop 16 Numpad: Hold down keys for 2 and 6 while installing the module
  • On Raspberry Pi Pico: Hold down bootsel button when plugging in
  • Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
  • Keycode in layout: Press the key mapped to QK_BOOT if it is available