No description
Find a file
Takeshi ISHII 75a18e69f9
Some GPIO manipulations in matrix.c change to atomic. (#10491)
* Changed the processing of select_xxx()/unselect_xxx() in quantum/matrix.c to be atomic.

* Changed the processing of select_xxx()/unselect_xxx() in quantum/split_common/matrix.c to be atomic.

* update matrix.c

* add ATOMIC_BLOCK_FORCEON macro to quantum/quantum_atomic_extend.h

* quantum_atomic_extend.h's contents move into quantum.h

* update ATOMIC_BLOCK_xxx for unknown platform

* ATOMIC_BLOCK macro support PROTOCOL_ARM_ATSAM

* Add Atomic Operation section in docs/internals_gpio_control.md
2020-10-30 13:23:06 -07:00
.github add rsync to the api update process 2020-10-27 10:48:55 -07:00
.vscode [Keyboard] add rhymestone by marksard (#9708) 2020-09-04 04:14:34 -07:00
api_data Generate api data on each push (#10609) 2020-10-25 14:48:44 -07:00
bin Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02:00
docs Some GPIO manipulations in matrix.c change to atomic. (#10491) 2020-10-30 13:23:06 -07:00
drivers Minor change to behavior allowing display updates to continue between task ticks (#10750) 2020-10-30 13:23:05 -07:00
keyboards Reduce Helix keyboard build variation (#8669) 2020-10-30 13:23:04 -07:00
layouts [Keymap] greatwizard userspace and ortho 4x12 and 5x12 keymaps (#9584) 2020-10-28 10:20:06 -07:00
lib ChibiOS upgrade: configuration file migrator (#9952) 2020-10-30 13:15:49 -07:00
platforms/chibios ChibiOS upgrade: configuration file migrator (#9952) 2020-10-30 13:15:49 -07:00
quantum Some GPIO manipulations in matrix.c change to atomic. (#10491) 2020-10-30 13:23:06 -07:00
tests format code according to conventions [skip ci] 2020-03-13 18:44:56 +00:00
tmk_core Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530) 2020-10-30 13:23:03 -07:00
users [Keymap] greatwizard userspace and ortho 4x12 and 5x12 keymaps (#9584) 2020-10-28 10:20:06 -07:00
util 50-qmk.rules: Move udev rules from documentation into a file (#10664) 2020-10-17 20:30:18 +01: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 Generate api data on each push (#10609) 2020-10-25 14:48:44 -07:00
.gitmodules 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
.travis.yml Attempt to fix CI for non-master branches. (#9308) 2020-08-29 14:30:02 -07:00
book.json adds redirects for docs 2017-08-19 08:31:54 -04:00
bootloader.mk Fix STM32duino bootloader (#10648) 2020-10-15 02:55:31 +01: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 Add ability to build a subset of all keyboards based on platform. 2020-10-30 13:15:38 -07:00
build_layout.mk Allow for building layouts from keymap.json files. 2020-07-07 07:27:39 -07: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.mk Move Split Common VPATH addition (#4716) 2018-12-31 08:45:44 -08:00
common_features.mk Add definition based on currently-selected serial driver. (#10716) 2020-10-30 13:23:00 -07: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 iWRAP protocol (#9284) 2020-08-29 14:30:02 -07: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 Naming change. 2020-10-30 13:15:45 -07:00
message.mk Add ability to build a subset of all keyboards based on platform. 2020-10-30 13:15:38 -07:00
nose2.cfg Setup a python test framework 2019-09-07 07:58:41 -07:00
readme.md Branch point for 2020 November 28 Breaking Change 2020-10-30 13:15:26 -07:00
requirements-dev.txt Use milc for config check, requirements fixes 2020-04-08 09:31:14 -07:00
requirements.txt Add milc as a dependency and remove the installed milc (#10563) 2020-10-30 13:15:47 -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 Update shell.nix (#10712) 2020-10-23 17:50:05 +11:00
show_options.mk Better handle LTO_ENABLE (#9832) 2020-08-29 14:30:02 -07:00
testlist.mk Add basic infrastrucure for building full tests 2017-06-18 21:08:23 +03:00
Vagrantfile Remove broken example from Makefile (#9159) 2020-05-21 20:33:20 +01:00

Quantum Mechanical Keyboard Firmware

Current Version Build Status Discord Docs Status GitHub contributors GitHub forks

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.

Original readme continues

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.