Go to file
Zsolt Parragi 805f5cb72b
One shot support for swap hands (#8590)
This commits add the SH_OS keycode, which works similarly to one shot
layers:
* while pressed, the keyboard is swapped
* if no keys were pressed while it was pressed, the next key press is
swapped

SH_OS also supports chaining with one shot layers:
OSL(x) + SH_OS + key interprets the key press on the oneshot layer.

The ONESHOT_TIMEOUT setting used by one shot keys and layers is also
used by oneshot swap hands. In the above chaining scenario the timeout
of the oneshot layer is reset when swap hands is activated.

Resolves #2682
2020-05-14 07:36:55 +10:00
.github Update cli CI checkout to v2 (#8823) 2020-04-19 09:08:12 +02:00
.vscode Allow trailing whitespace in markdown docs, for formatting purposes. (#8774) 2020-04-13 11:31:40 +10:00
bin Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02:00
docs One shot support for swap hands (#8590) 2020-05-14 07:36:55 +10:00
drivers Fix off by one error with oled_write_raw_P (#9045) 2020-05-10 04:14:07 +01:00
keyboards added murcielago keyboard (#8920) 2020-05-13 21:29:11 +01:00
layouts Added defines for RAISE and LOWER (#9083) 2020-05-13 10:59:47 +10:00
lib Revert "Fix conflicting types for 'tfp_printf' (#8269)" 2020-05-04 09:25:44 -07:00
quantum One shot support for swap hands (#8590) 2020-05-14 07:36:55 +10:00
tests format code according to conventions [skip ci] 2020-03-13 18:44:56 +00:00
tmk_core One shot support for swap hands (#8590) 2020-05-14 07:36:55 +10:00
users Add one-handed Viterbi layout for gaming (#8963) 2020-05-10 04:53:32 +01:00
util Add missing packages to Linux install scripts (#8895) 2020-04-23 21:56:36 +02:00
.clang-format fix indent size 2019-06-11 01:51:40 -07:00
.editorconfig QMK CLI and JSON keymap support (#6176) 2019-07-15 12:14:27 -07:00
.gitattributes Set eep files to binary mode 2016-08-27 18:37:28 +03:00
.gitignore Remove old setup scripts (#8811) 2020-04-16 00:32:40 +01:00
.gitmodules Revert "Fix conflicting types for 'tfp_printf' (#8269)" 2020-05-04 09:25:44 -07:00
.travis.yml Fix unknown key 'IndentPPDirectives' on CI (#7933) 2020-01-19 13:59:57 -08:00
book.json adds redirects for docs 2017-08-19 08:31:54 -04:00
bootloader.mk Add LUFA mass storage BOOTLOADER "support" (#7729) 2019-12-29 20:53:23 +00:00
build_full_test.mk Add SRC and OPT_DEFS when building tests 2017-07-20 10:17:31 -04:00
build_json.mk Load keymap-level rules.mk when compiling keymap.json (#8841) 2020-04-18 14:29:48 +01:00
build_keyboard.mk Align some ChibiOS build logic (#8461) 2020-03-22 20:48:17 +11:00
build_layout.mk Add a mechanism for force building a particular community layout (#5027) 2019-02-14 20:14:26 -08:00
build_test.mk Initial arm->chibios pass - simplify some platform logic (#8450) 2020-03-21 16:20:04 +11:00
CODE_OF_CONDUCT.md updates the coc 2019-08-24 12:43:39 -04:00
common_features.mk Add Word Per Minute calculation feature (#8054) 2020-03-23 00:06:16 +11:00
common.mk Move Split Common VPATH addition (#4716) 2018-12-31 08:45:44 -08:00
Dockerfile Update docker util script and travis to use new base container 2019-07-14 21:01:38 -07:00
Doxyfile Generate API docs from source code comments (#2491) 2018-03-22 02:50:38 -04:00
doxygen-todo Remove Bluefruit protocol (#9008) 2020-05-04 23:05:45 +01: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 Revert "Fix conflicting types for 'tfp_printf' (#8269)" 2020-05-04 09:25:44 -07:00
message.mk Use FIRMWARE_FORMAT for "Checking file size" message (#8121) 2020-02-10 04:19:08 +11:00
nose2.cfg Setup a python test framework 2019-09-07 07:58:41 -07:00
readme.md Breaking Changes documentation fixes 2020-02-29 12:30:38 -08:00
requirements-dev.txt Use milc for config check, requirements fixes 2020-04-08 09:31:14 -07:00
requirements.txt CLI: Add development mode support 2020-04-08 09:31:14 -07:00
secrets.tar.enc update building for .hex, secrets moving 2017-08-21 21:57:46 -04:00
setup.cfg Add flake8 to our test suite and fix all errors (#7379) 2019-11-20 14:54:18 -08:00
shell.nix Fix up Arm builds with nix-shell. (#8312) 2020-03-07 03:05:51 +11:00
show_options.mk Remove unused LED_BREATHING_TABLE 2020-03-06 22:29:01 -08:00
testlist.mk Add basic infrastrucure for building full tests 2017-06-18 21:08:23 +03:00
Vagrantfile Configure Vagrant to use qmk_base_container (#6194) 2019-07-16 01:20:34 -07:00

Quantum Mechanical Keyboard Firmware

Current Version Build Status 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.