Open-source keyboard firmware for Atmel AVR and Arm USB families
Find a file
Takeshi ISHII e6a13e0b1c
[Keymap] clean up helix:five_rows keymap (#10866)
* Makes the OLED driver used by the helix:five_rows keymap switchable.

* use TOP/drivers/oled/oled_driver.c
  `make HELIX=stdole helix:five_rows`
* use helix/local_drivers/ssd1306.c
  `make HELIX=oled helix:five_rows`

* Separated the OLED related code from keymap.c and moved it to oled_display.c.

* scan rate without OLED
  * make HELIX=verbose,dispoff,scan helix/rev2:five_rows
    use Helix original code
    text   data    bss    dec    hex   filename
    18880    58    235  19173   4ae5   .build/helix_rev2_five_rows.elf
    matrix scan frequency: 1590

  * make HELIX=verbose,dispoff,scan,sc helix/rev2:five_rows
    use split_common code
    text   data    bss    dec    hex   filename
    18554    40    231  18825   4989   .build/helix_rev2_five_rows.elf
    matrix scan frequency: 1202

* scan rate with helix/local_drivers/ssd1306.c
  * make HELIX=verbose,dispoff,scan,oled helix/rev2:five_rows
    use Helix original code
    text   data    bss    dec    hex   filename
    24048   196    342  24586   600a   .build/helix_rev2_five_rows.elf
    matrix scan frequency: 739

  * make HELIX=verbose,dispoff,scan,sc,oled helix/rev2:five_rows
    use split_common code
    text   data    bss    dec    hex   filename
    23750   176    338  24264   5ec8   .build/helix_rev2_five_rows.elf
    matrix scan frequency: 642

* scan rate with drivers/oled/oled_driver.c
  * make HELIX=verbose,dispoff,scan,stdole helix/rev2:five_rows
    use Helix original code
    text   data    bss    dec    hex   filename
    24590   210    798  25598   63fe   .build/helix_rev2_five_rows.elf
    matrix scan frequency: 293

  * make HELIX=verbose,dispoff,scan,sc,stdole helix/rev2:five_rows
    use split_common code
    text   data    bss    dec    hex   filename
    24290   190    794  25274   62ba   .build/helix_rev2_five_rows.elf
    matrix scan frequency: 277

* clean up helix/rev2/keymaps/five_rows/keymap.c

* update five_rows/oled_display.c

* update helix/rev2/keymaps/five_rows/keymap.c: remove LAYOUT_kc()

* Ported the keymap from helix/rev2:five_rows to helix/rev3_5rows:five_rows.

* update five_rows/oled_display.c

* add License comment
2020-11-17 07:26:44 +09:00
.github Improve the QMK Lint workflow (#10909) 2020-11-10 15:21:59 +00: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 Recommend use of LED Indicator config (#10895) 2020-11-16 14:16:42 +11:00
drivers Add brightness level API to OLED driver (#10772) 2020-10-29 00:12:50 -07:00
keyboards [Keymap] clean up helix:five_rows keymap (#10866) 2020-11-17 07:26:44 +09:00
layouts Updates to Talljoe's Keymaps (#10115) 2020-11-06 17:16:22 -08:00
lib CLI: Udev related fixes and improvements (#10736) 2020-11-16 21:09:32 +00:00
platforms/chibios Remove unused CORTEX_VTOR_INIT (#10053) 2020-08-29 14:30:02 -07:00
quantum Recommend use of LED Indicator config (#10895) 2020-11-16 14:16:42 +11:00
tests format code according to conventions [skip ci] 2020-03-13 18:44:56 +00:00
tmk_core Update massdrop/alt and arm_atsam/led_matrix to fix #10813 (#10818) 2020-11-09 13:33:40 -08:00
users userspace and keymap changes for rupa (#10489) 2020-11-10 16:04:46 +11:00
util CLI: Udev related fixes and improvements (#10736) 2020-11-16 21:09:32 +00: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 CI: Add docs build and deploy workflow (#7448) 2020-11-10 07:00:40 -08: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 Initial work for consolidation of ChibiOS platform files (#8327) 2020-08-29 14:30:02 -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 Indicator LEDs as config (#10816) 2020-11-08 22:31:16 +00: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 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
message.mk 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
nose2.cfg Setup a python test framework 2019-09-07 07:58:41 -07:00
readme.md Revert "Branch point for 2020 Aug 29 Breaking Change" 2020-08-29 14:30:02 -07:00
requirements-dev.txt Use milc for config check, requirements fixes 2020-04-08 09:31:14 -07:00
requirements.txt [CLI] Add c2json (#8817) 2020-10-06 17:10:19 -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 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.