Go to file
Takeshi ISHII dfab177f88 Add function to support split-keyboard in rgblight.[ch]. (#5020)
* add temporary file that is rgblight.c call graph

* add rgblight_update_hook()

* update rgblight-call-graph.dot (temporary file)

* add more hook point

* add TODO comment

* temporary Revert "add TODO comment"

This reverts commit df6165aac9b3a31d1d3e31ce52aadc134b84eac2.

* temporary Revert "add more hook point"

This reverts commit 64592b06f3bcdaac47c59f922018a273bef76776.

* temporary Revert "add rgblight_update_hook()"

This reverts commit 432b74c912ed4333e6633e20a1bcda10c6a10eaf.

* add rgblight_update_hook()

* add more hook point

* add TODO comment

* implement rgblight_update_hook()

* remove rgblight_update_hook(), add RGBLIGHT_SPLIT_SET_CHANGE_XXXX

rgblight_update_hook() is too large.
change to simple flag setting.

* shrink rgblight_config_t

* implement rgblight_update_sync()

Note: The animation synchronization process has not been implemented yet.

* update quantum/rgblight-call-graph.dot (temporary file)

* rmove quantum/rgblight-call-graph.dot (temporary file)

* update rgblight.c

* Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c .

* fix build break rgblight_update_sync() when all animation off

* fix quantum/rgblight.c:rgblight_disable_XX() add RGBLIGHT_SPLIT_SET_CHANGE_MODE

* quantum/rgblight.c change code order: move rgblight_update_sync()

* add mode_base_table[] to quantum/rgblight.c

* quantum/rgblight.c use mode_base_table[] and rgblight_status.base_mode

* quantum/rgblkght.c animation timer integration

* quantum/rgblkght.c add animation sync for split keyboard

* fix mode_base_table[] and snake effect

* fix build break keyboards/mxss.

keyboards/mxss's local rgblight.c need old version rgblight.h

* rgblight.c: fix animation sync

* quantum/rgblight.c: fix snake effect sync

* quantum/rgblight.c: animation sync interverl 30 sec

* quantum/rgblight.c: fix rgblight_effect_rainbow_swirl() and rgblight_effect_knight()

* quantum/rgblight.c: add macro RGBLIGHT_SPLIT_ANIMATION

* cherry-pick from 'rgblight_modes.h sample implementation'

* fix RGBLIGHT_SPLIT_ANIMATION check position

* Update temporary code in Helix keyboard 'five_rows' keymap to test rgblight.c

* Reduce the firmware size by 1500 bytes when rgblight_effect_breathing() is enabled.

* Changed to rgblight_sethsv_eeprom_helper() for easier reading.

* add fail-safe code to quantum/rgblight.c:rgblight_task(),rgblight_timer_enable()

* remove temporary code in Helix keyboard 'five_rows' keymap

* quantum/rgblight.c: add split-keyboard master side sync functions

add functions:
  uint8_t rgblight_get_change_flags(void);
  void rgblight_clear_change_flags(void);
  void rgblight_get_syncinfo(rgblight_syncinfo_t *syncinfo);

change function:
  void rgblight_update_sync(rgblight_syncinfo_t *syncinfo, bool write_to_eeprom);

* Change rgblight_update_sync() to use write_to_eeprom.

* remove TODO comment from quantum/rgblight.h

* Revert "fix build break keyboards/mxss."

This reverts commit 90b9a1aa7d8af226751500e49e3ea0214cc4e024.
(Separated this change into the newly opened PR #5461.)

* Revert "Reduce the firmware size by 1500 bytes when rgblight_effect_breathing() is enabled."

This reverts commit b61004e63e82cf5334cee4def4ba10cffa88885f.

* update quantum/rgblight.c: Code size reduction when not using RGBLIGHT_SPLIT.

* Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c .

* add temporary pdhelix(Patched Helix) code

* Add temporary code to split_common/transport.c to test rgblight.c.

* Finish testing rgblight.c with helix keyboard.

Revert "Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c ."

This reverts commit 0bf81a4723a977adc0cb09b4272ee5c9b4f2bbbb.

* Finish testing rgblight.c with quantum/split_common code.

Revert "Add temporary code to split_common/transport.c to test rgblight.c."

This reverts commit 71db3e24eef40d4c455fb9fd1664e4487c9d927a.

* remove temporary pdhelix(Patched Helix) code

This reverts commit 5287e51a394741bcb6028c7cfc0dd0c984645f76.

* Added description of RGBLIGHT_SPLIT macro to docs/feature_rgblight.md.

* add RGBLIGHT_SPLIT_SET_CHANGE_HSVS to rgblight_init()

* Changed to restart animation only when changing mode.

When changing hue, sat and val, the animation is not restarted and continues.
2019-04-19 15:05:51 -07:00
.github Tweak issue templates (capitalisation mostly) (#5133) 2019-02-14 20:44:27 -08:00
.vscode Xton's first keymap! (#2941) 2018-05-12 08:52:11 -07:00
docs Add function to support split-keyboard in rgblight.[ch]. (#5020) 2019-04-19 15:05:51 -07:00
drivers Features/ws2812 matrix driver (#5418) 2019-04-14 17:50:35 -07:00
keyboards Remove default folders for the Planck & Preonic (#3497) 2019-04-19 13:05:31 -07:00
layouts RGB Matrix Overhaul (#5372) 2019-04-02 17:24:14 -07:00
lib RGB Matrix Overhaul (#5372) 2019-04-02 17:24:14 -07:00
quantum Add function to support split-keyboard in rgblight.[ch]. (#5020) 2019-04-19 15:05:51 -07:00
tests Remove empty action_function() 2019-01-11 18:32:43 -08:00
tmk_core Init RGB Matrix EEPROM 2019-04-19 14:58:08 -07:00
users Xulkal Keymaps 2019-04-16 18:30:54 -07:00
util add -yq flags to actually make it noninteractive 2019-04-19 14:46:19 -07:00
.clang_complete Vim Layout for Ergodox-EZ (mac only) (#2112) 2017-12-11 21:06:05 -05:00
.clang-format convert to unix line-endings [skip ci] 2019-04-18 23:23:52 +00:00
.editorconfig Update our style guide (#5500) 2019-04-18 15:59:51 -07:00
.gitattributes Set eep files to binary mode 2016-08-27 18:37:28 +03:00
.gitignore Add Satisfaction75 to QMK, Enable EEPROM on stm32f072 (#5094) 2019-02-13 08:03:26 -08:00
.gitmodules Update .gitmodules 2017-11-16 15:09:45 -05:00
.travis.yml Travis CI - skip unit tests for documentation changes (#5267) 2019-04-19 13:20:02 -07:00
autocomplete.sh Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
book.json adds redirects for docs 2017-08-19 08:31:54 -04:00
bootloader.mk Add Teensy ++ 2.0 bootloader support 2018-05-08 20:08:17 -04:00
build_full_test.mk Add SRC and OPT_DEFS when building tests 2017-07-20 10:17:31 -04:00
build_keyboard.mk Add a mechanism for force building a particular community layout (#5027) 2019-02-14 20:14:26 -08: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 Split common.mk into common.mk and common_features.mk 2017-06-18 21:22:22 +03:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 2018-08-01 15:20:02 -04:00
common_features.mk Features/ws2812 matrix driver (#5418) 2019-04-14 17:50:35 -07:00
common.mk Move Split Common VPATH addition (#4716) 2018-12-31 08:45:44 -08:00
Dockerfile Revert "Update build instructions and docker file to download submodules" (#5533) 2019-04-10 14:15:51 -07:00
Doxyfile Generate API docs from source code comments (#2491) 2018-03-22 02:50:38 -04:00
doxygen-todo Generate API docs from source code comments (#2491) 2018-03-22 02:50:38 -04: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 Shallow clone submodules. (#5279) 2019-03-08 07:58:40 -08:00
message.mk build size-check enhancement (#5485) 2019-03-27 08:51:56 -07:00
readme.md Add Atreus as an official board. 2018-08-16 12:01:34 -04:00
secrets.tar.enc update building for .hex, secrets moving 2017-08-21 21:57:46 -04:00
shell.nix shell.nix: Packages relocated in upstream cleanup 2018-12-22 15:09:58 -08:00
show_options.mk Clean up debounce a bit (#5255) 2019-03-04 07:44:46 -08:00
testlist.mk Add basic infrastrucure for building full tests 2017-06-18 21:08:23 +03:00
Vagrantfile Align docker and vagrant base images (#4905) 2019-03-17 10:36:59 -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 hosted on Gitbook and GitHub (they are synced). You can request changes by making a fork and pull request, or by clicking the "suggest an edit" link on any page of the docs.

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 Erez Zukerman, the Clueboard by Zach White, and the Atreus by Phil Hagelberg.

Official website

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