Go to file
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
.github Merge remote-tracking branch 'upstream/master' into fl16-july-merge 2023-07-14 15:55:57 +08:00
.vscode Far better VSCode intellisense support using clangd. (#20382) 2023-05-14 15:32:34 +10:00
builddefs Eliminate TMK_COMMON_* in makefiles (#21517) 2023-07-15 17:27:32 +10:00
data Merge remote-tracking branch 'upstream/develop' into fl16-sleep-fix 2023-07-21 08:34:44 +08:00
docs Merge remote-tracking branch 'upstream/develop' into fl16-sleep-fix 2023-07-21 08:34:44 +08:00
drivers Merge remote-tracking branch 'upstream/master' into fl16-july-merge 2023-07-14 15:55:57 +08:00
keyboards fl16: Implement BIOS mode 2023-07-21 15:56:46 +08:00
layouts Merge remote-tracking branch 'origin/master' into develop 2023-07-11 07:30:07 +00:00
lib Merge remote-tracking branch 'upstream/develop' into fl16-sleep-fix 2023-07-21 08:34:44 +08:00
platforms Merge remote-tracking branch 'upstream/develop' into fl16-sleep-fix 2023-07-21 08:34:44 +08:00
quantum fixup! fl16: On sleep pin only turn off backlight 2023-07-21 15:49:14 +08:00
tests Merge remote-tracking branch 'upstream/develop' into fl16-sleep-fix 2023-07-21 08:34:44 +08:00
tmk_core Merge remote-tracking branch 'upstream/develop' into fl16-sleep-fix 2023-07-21 08:34:44 +08:00
users Merge remote-tracking branch 'origin/master' into develop 2023-07-09 11:11:00 +00:00
util Merge remote-tracking branch 'upstream/develop' into fl16-sleep-fix 2023-07-21 08:34:44 +08:00
.clang-format Clang-format tweaks (#15906) 2022-02-11 20:00:34 -08:00
.clangd Far better VSCode intellisense support using clangd. (#20382) 2023-05-14 15:32:34 +10:00
.editorconfig QMK CLI and JSON keymap support (#6176) 2019-07-15 12:14:27 -07:00
.gitattributes eol=lf, where appropriate (#15752) 2022-01-05 21:56:31 +00:00
.gitignore Merge remote-tracking branch 'upstream/master' into fl16-july-merge 2023-07-14 15:55:57 +08:00
.gitmodules Merge remote-tracking branch 'upstream/master' into lotus-march2023 2023-03-22 02:54:55 +08:00
Doxyfile Internal docs generation updates (#16411) 2022-02-21 15:47:44 +00:00
doxygen-todo Remove SERIAL_LINK feature (#14727) 2021-10-07 12:32:05 +11:00
LICENSE add an explicit lisence file for github to pickup 2017-11-13 20:50:54 -05:00
license_GPLv2.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_GPLv3.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_Modified_BSD.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
Makefile Remove make all-<platform> build targets (#19496) 2023-01-19 10:44:41 +11:00
nose2.cfg Setup a python test framework 2019-09-07 07:58:41 -07:00
paths.mk Remove quantum/audio from global VPATH (#18753) 2022-10-20 14:41:45 +01:00
readme.md Branch point for 2023q3 Breaking Change. 2023-05-29 06:20:09 +10:00
requirements-dev.txt Macros in JSON keymaps (#14374) 2021-11-22 11:11:35 -08:00
requirements.txt Align CLI requirements (#18117) 2022-08-21 18:38:17 +01:00
setup.cfg Quantum Painter (#10174) 2022-04-13 18:00:18 +10:00
shell.nix Nix shell updates for develop (#18131) 2022-08-23 02:59:33 +01:00

THIS IS THE DEVELOP BRANCH

Warning- This is the develop branch of QMK Firmware. You may encounter broken code here. Please see Breaking Changes for more information.

Quantum Mechanical Keyboard Firmware

Current Version Discord Docs Status GitHub contributors GitHub forks

This is a keyboard firmware based on the tmk_keyboard firmware with some useful features for Atmel AVR and ARM controllers, and more specifically, the OLKB product line, the ErgoDox EZ keyboard, and the Clueboard product line.

Documentation

The docs are powered by Docsify and hosted on GitHub. They are also viewable offline; see Previewing the Documentation for more details.

You can request changes by making a fork and opening a pull request, or by clicking the "Edit this page" link at the bottom of any page.

Supported Keyboards

The project also includes community support for lots of other keyboards.

Maintainers

QMK is developed and maintained by Jack Humbert of OLKB with contributions from the community, and of course, Hasu. The OLKB product firmwares are maintained by Jack Humbert, the Ergodox EZ by ZSA Technology Labs, the Clueboard by Zach White, and the Atreus by Phil Hagelberg.

Official Website

qmk.fm is the official website of QMK, where you can find links to this page, the documentation, and the keyboards supported by QMK.