summaryrefslogtreecommitdiff
path: root/quantum
AgeCommit message (Collapse)Author
2020-06-12Feature: RGBLight layers (#7768)Nathan Gray
* New feature: RGBLIGHT_LAYERS This feature allows users to define multiple independent layers of lighting that can be toggled on and off individually, making it easy to use your RGB lighting to indicate things like active keyboard layer & modifier state. * Demonstrate built in functions for layer state checking Also link the video in the docs. * Follow existing pattern for setting rgblight_status flags * Eliminate rgblight_is_static_mode since it's not needed Just check to see if the timer is enabled directly.
2020-06-12Refactor rgblight_reconfig.h (#7773)Takeshi ISHII
* Moved contents of rgblight_reconfig.h to rgblight_post_config.h. In #3582, rgblight_reconfig.h had to be newly created. Now, the build system of qmk_firmware has a post_cofig feature, so that what was done in rgblight_reconfig.h can now be realized in rgblight_post_config.h. **This commit does not change the build result.** Testing script ```shell # build on master git checkout master echo master > /tmp/master_md5.txt # RGBLIGHT_ENABLE = no make HELIX=verbose helix/rev2:default:clean make HELIX=verbose helix/rev2:default md5 helix_rev2_default.hex >> /tmp/master_md5.txt # RGBLIGHT_ENABLE = yes, with animations make HELIX=verbose helix/rev2/back:default:clean make HELIX=verbose helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/master_md5.txt # RGBLIGHT_ENABLE = yes, without animations make HELIX=verbose,no_ani helix/rev2/back:default:clean make HELIX=verbose,no_ani helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/master_md5.txt # build on refactor_rgblight_reconfig.h git checkout refactor_rgblight_reconfig.h echo refactor_rgblight_reconfig.h > /tmp/branch_md5.txt # RGBLIGHT_ENABLE = no make HELIX=verbose helix/rev2:default:clean make HELIX=verbose helix/rev2:default md5 helix_rev2_default.hex >> /tmp/branch_md5.txt # RGBLIGHT_ENABLE = yes, with animations make HELIX=verbose helix/rev2/back:default:clean make HELIX=verbose helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/branch_md5.txt # RGBLIGHT_ENABLE = yes, without animations make HELIX=verbose,no_ani helix/rev2/back:default:clean make HELIX=verbose,no_ani helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/branch_md5.txt diff -u /tmp/master_md5.txt /tmp/branch_md5.txt ``` Test result: ``` --- /tmp/master_md5.txt 2020-01-03 15:42:22.000000000 +0900 +++ /tmp/branch_md5.txt 2020-01-03 15:42:42.000000000 +0900 @@ -1,4 +1,4 @@ -master +refactor_rgblight_reconfig.h MD5 (helix_rev2_default.hex) = f360032edd522448366d471d8f4f8181 MD5 (helix_rev2_back_default.hex) = 0c663acc6cccc44476b3b969ad22a48f MD5 (helix_rev2_back_default.hex) = e66b1195ff6d38e6e22c975b8ae42fd3 ``` * Expressions that are too long are difficult to read, so wrap them. * Edit the expression again * remove `defined(RGBLIGHT_ANIMATIONS)` in `tmk_core/common/*/suspend.c`, `tmk_core/protocol/*/main.c` move contents of rgblight_reconfig.h to rgblight.h. The following changes were made to rgblight.h. ```diff +#ifdef RGBLIGHT_USE_TIMER void rgblight_task(void); void rgblight_timer_init(void); void rgblight_timer_enable(void); void rgblight_timer_disable(void); void rgblight_timer_toggle(void); +#else +#define rgblight_task() +#define rgblight_timer_init() +#define rgblight_timer_enable() +#define rgblight_timer_disable() +#define rgblight_timer_toggle() +#endif ``` The following changes were made to tmk_core/common/avr/suspend.c, tmk_core/common/chibios/suspend.c, tmk_core/protocol/chibios/main.c, tmk_core/protocol/lufa/lufa.c, tmk_core/protocol/vusb/main.c. ```diff -# ifdef RGBLIGHT_ANIMATIONS rgblight_timer_enable(); -# endif ``` ```diff -#if defined(RGBLIGHT_ANIMATIONS) && defined(RGBLIGHT_ENABLE) +#if defined(RGBLIGHT_ENABLE) rgblight_task(); #endif ``` * remove 'defined(RGBLIGHT_ANIMATIONS)' in tmk_core/common/keyboard.c Co-authored-by: Joel Challis <git@zvecr.com>
2020-06-12Backlight - Carve out a better location for private driver functionality (#8329)Joel Challis
* rename backlight_soft to match rules.mk * rename backlight_soft to match rules.mk - update common_features * Carve out a better location for private driver backlight functionality
2020-06-12Remove unused LED_BREATHING_TABLEzvecr
2020-06-12Refactor more backlight to a common location (#8292)Joel Challis
* Refactor more backlight to a common location * BACKLIGHT_PIN not defined for custom backlight * align function names
2020-06-12Prune out pure software pwm && custom driver && remove wrapping ↵Joel Challis
BACKLIGHT_PIN (#8041)
2020-06-12Fix recent clang-format breaking quantum.c (#8282)Joel Challis
2020-06-12Revert Audio Fixes (for now)Drashna Jael're
Precursor for arm audio fixes, and so make sure that things compileg inbetween
2020-06-12Fix timer calls in arm_audioDrashna Jael're
2020-06-122020 February 29 Breaking Changes Update (#8064)James Young
2020-03-26Split - Avoid race condition during matrix_init_quantum (#8235)Joel Challis
* Avoid race condition during matrix_init_quantum * spelling is hard
2020-03-26Add Arm Teensys to mcu_selection.mk (#8026)Ryan
* Add Arm Teensys to mcu_selection.mk * Roll back halfkeyboard keymap changes * Remove extra newline
2020-03-26Allow 30us matrix delay to be keyboard/user overridable (#8216)Joel Challis
* Allow 30us matrix delay to be configurable via define * Move wait logic to matrix_common * Move wait logic to matrix_common - fix wait includes
2020-03-26dynamic keymap sanity check (#8181)Wilba
2020-03-26Convert f072 backlight build error to message (#8177)Joel Challis
2020-03-26Fix RESET keycode on some STM32F072 keyboards (#8134)Joel Challis
* Add f072 board files with 'enter_bootloader_mode_if_requested' support * rename default f072 board file to GENERIC_STM32_F072XB * Remove board files * Add bootloader def * Update generic f072 board paths * Revert wrong deletion format code according to conventions [skip ci]
2020-03-26Align split_common/matrix.c with matrix.c (#8153)Joel Challis
2020-03-26Run clang-format manually to fix recently changed files (#7934)Joel Challis
* Run clang-format manually to fix recently changed files * Run clang-format manually to fix recently changed files - revert template files * Run clang-format manually to fix recently changed files - format off for ascii_to_keycode_lut
2020-03-26fix: prefix norwegian keycodes with NRW_ (#295)Florian Didron
2020-03-24Add Irish keymap (#8528)Ryan
2020-03-24Add Czech keymap (#8526)Ryan
2020-03-24Add US International keymap (#8493)Ryan
* Add US International keymap * Add extra spacing to UK AltGr keycode comments
2020-03-24Add Icelandic keymap and sendstring LUT (#8494)Ryan
2020-03-24Add Finnish keymap and sendstring LUT (#8495)Ryan
2020-03-24Update JIS keymap and sendstring LUT (#8457)Ryan
2020-03-24Fix missing deprecated keycodes for keymap_swedish (#8483)Ryan
2020-03-24Update Programmer Dvorak keymap and add sendstring LUT (#8456)Ryan
* Update Programmer Dvorak keymap and add sendstring LUT * Include quantum.h
2020-03-24Update UK keymap and sendstring LUT (#8458)Ryan
2020-03-24Update Italian keymap and add sendstring LUT (#8438)Ryan
2020-03-24Update German keymap and sendstring LUT (#8437)Ryan
2020-03-24Update French keymap and sendstring LUT (#8436)Ryan
2020-03-24Update Brazilian keymap and add sendstring LUT (#8435)Ryan
2020-03-24Update Belgian keymap and sendstring LUT (#8349)Ryan
2020-03-24Update Slovenian keymap and add sendstring LUT (#8350)Ryan
2020-03-24Update Norman keymap and sendstring LUT (#8404)Ryan
2020-03-24Update Plover keymap (#8405)Ryan
2020-03-24Add Portuguese keymap and sendstring lookup tables (#8390)Luís Oliveira
* Add Portuguese keymap and sendstring lookup tables * Update quantum/keymap_extras/keymap_portuguese.h Co-Authored-By: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_portuguese.h Co-Authored-By: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_portuguese.h Co-Authored-By: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_portuguese.h Co-Authored-By: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_portuguese.h Co-Authored-By: Ryan <fauxpark@gmail.com> * Update quantum/keymap_extras/keymap_portuguese.h Co-Authored-By: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2020-03-24Update Swedish keymap and add sendstring LUT (#8365)Ryan
2020-03-24Update Spanish keymap and sendstring LUT (#8364)Ryan
2020-03-24Update Dvorak, Colemak and Workman keycode aliases (#8217)Ryan
* Update Dvorak, Colemak and Workman keycode aliases * Add missing shifted keycode aliases for Workman
2020-03-24Update Norwegian keymap and add sendstring LUT (#8300)Ryan
2020-03-24Update Hungarian keymap and add sendstring LUT (#8220)Ryan
2020-03-24Reduce PROGMEM usage for sendstring LUT (#8109)Ted M Lin
* Reduce PROGMEM usage for keycode map Bit-pack the keycode bool array to gain back a small amount of flash space. The trade-off is an increase in runtime instructions when running macros. It does make the code a bit harder to read, as well as maintain. For configs that use send_string() et al, it saves ~100 bytes. * Switch to macro and common definition Rewrite the array declarations so both the unpacked (original) and packed LUT arrays can use the same value definitions. This is done by defining a macro that "knows what to do". This makes the code much easier to read and maintain. * Fix macro typos and improve perf Pack the bits in a more efficient order for extraction. And also fix the copy/paste error in the macro... * Switch fully to packed LUT Some minor reformatting. Compile tested all sendstring_xyz.h to make sure they were converted properly. Also checked that an unconverted version would generate a compile error. * Apply whitespace suggestions from code review Co-Authored-By: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2020-03-24Add support for delays in send_string. (#8244)Nick Brassel
2020-03-24`send_unicode_string()`: Add support for code points > 0xFFFF (#8236)Ryan
2020-03-24A proper `send_string()` for the Unicode feature (#8155)Ryan
2020-03-24Add mouse support to SEND_STRING (#8223)Joel Challis
* Add mouse support to SEND_STRING * add short forms
2020-03-24Add Danish keymap and sendstring LUT (#8218)Ryan
2020-03-24Add Turkish keymap aliases and sendstring LUT (#7676)Ryan
* Add Turkish keymap aliases and sendstring LUT * Split into F and Q layouts
2020-02-26fix: remove oryx live training boolean assignmentFlorian