summaryrefslogtreecommitdiffstats
path: root/tmk_core/common
Commit message (Collapse)AuthorAgeFilesLines
* format code according to conventions [skip ci]QMK Bot2020-03-133-18/+18
|
* Fix pressing two keys with the same keycode but different modifiers (#2710)fredizzimo2020-03-133-0/+35
| | | | | | | | | | | | | | | | | | * Fix extra keyboard report during test_fixture teardown * Add tests for pressing two keys with only different modifers * Fix #1708 When two keys that use the same keycode, but different modifiers were pressed at the same time, the second keypress wasn't registered. This is fixed by forcing a key release when we detect a new press for the same keycode. * Fix the NKRO version of is_key_pressed * Fix uninitalized loop variable Co-authored-by: Jack Humbert <jack.humb@gmail.com>
* format code according to conventions [skip ci]QMK Bot2020-03-131-11/+17
|
* Decouple mouse cursor and mouse wheel in accelerated mode (#6685)francislan2020-03-132-24/+52
| | | | | | | | | * Decouples mouse cursor and mouse wheel movements in accelerated mode. * Fixed comment indentation. * Updated docs Co-authored-by: Francis LAN <francislan@google.com>
* Fix layer debug calls (#8370)Drashna Jaelre2020-03-101-2/+2
|
* Refactor rgblight_reconfig.h (#7773)Takeshi ISHII2020-03-104-43/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* format code according to conventions [skip ci]QMK Bot2020-03-061-1/+1
|
* Fix typo in uart.c backport and add 32A "support" (#8219)Ryan2020-03-061-12/+27
|
* format code according to conventions [skip ci]QMK Bot2020-03-011-2/+2
|
* Short term fix for conflicting types for 'tfp_printf' (#8157)Joel Challis2020-03-022-8/+12
|
* Clean up includes for glcdfont headers (#7745)Ryan2020-03-011-4/+1
| | | | | | | | * Clean up includes for glcdfont headers * Remove pragma once, most of these are not headers * Missed these
* 2020 February 29 Breaking Changes Update (#8064)James Young2020-02-295-73/+41
|
* format code according to conventions [skip ci]QMK Bot2020-02-251-4/+3
|
* New feature: PERMISSIVE_HOLD_PER_KEY (#7994)ridingqwerty2020-02-251-4/+11
| | | | | | | | * Implement 'PERMISSIVE_HOLD_PER_KEY' * Document 'PERMISSIVE_HOLD_PER_KEY' Co-authored-by: GeorgeKoenig <35542036+GeorgeKoenig@users.noreply.github.com>
* format code according to conventions [skip ci]QMK Bot2020-02-211-31/+31
|
* uart.c fix from TMK (#7628)Drashna Jaelre2020-02-211-10/+44
| | | | | | | | | | * uart.c fix from TMK Backport from tmk/tmk_keyboard@c41e48a0ab0712d2667feb6b5dd8a4d5491cfcc5 * Avoid deadlock when uart.c is usind in ISR Backport from tmk/tmk_keyboard@55443fabb731459e21b45781c6d951edac5d75f4
* Allow 30us matrix delay to be keyboard/user overridable (#8216)Joel Challis2020-02-211-0/+2
| | | | | | | | * Allow 30us matrix delay to be configurable via define * Move wait logic to matrix_common * Move wait logic to matrix_common - fix wait includes
* Compile error if ONESHOT_TIMEOUT defined but oneshot disabled (#8100)Ted Lin2020-02-101-1/+3
| | | | | | | | | | | | | | * Compile error if ONESHOT_TIMEOUT defined but oneshot disabled When ONESHOT_TIMEOUT and NO_ACTION_ONESHOT are both defined, this code fails to compile. Wrap the one usage of ONESHOT_TIMEOUT that is inconsistent with the rest so all usages are properly wrapped by a check of NO_ACTION_ONESHOT. * Run file through clang-format Co-authored-by: Ted M Lin <tedmlin@gmail.com>
* Remove PJRC USB stackfauxpark2020-02-081-24/+0
|
* Use function for KEYCODE2 routines instead of macro. (#8101)Ted M Lin2020-02-071-3/+64
| | | | | | | | | | | | | | | | | | | | | | | | * Option to use function for KEYCODE2 routines. Convert the KEYCODE2SYSTEM and KEYCODE2CONSUMER macros to functions, defaulting to using the macros. The function form allows the compiler to optimize the switch statement itself, over the macro nested ternaries. To enable this feature, #define USE_KEYCODE2_FUNCTION. Testing against a random selection of avr-based keyboards, this increased available flash by ~500 bytes. For arm-based keyboards, the available flash increased by ~400 bytes. * Replace macro with function entirely. As zvecr states, go bold and just commit to using the function instead of the macro. * Reformat whitespace now that functional review is done Verified against clang-format output.
* Dedupe extrakey report struct, and send functions in V-USB & LUFA (#7993)fauxpark2020-02-021-0/+5
| | | | | | | | | | * Dedupe extrakey report struct, and send functions in V-USB & LUFA * Doc comment for consistency * Wrap it in ifdef to prevent unused function error * Do the same for ATSAM
* format code according to conventions [skip ci]QMK Bot2020-02-011-6/+2
|
* Fix timer_elapsed() overflow issue for STM32F103 and other ChibiOS boards ↵Pavel Župa2020-02-011-2/+6
| | | | | | | | (#7595) * fixed strange space cadet timer owerflow on STM32F103 * Moved elapsed time fix to timer.c
* Fix printf buffer overflow when cols>16 (#7998)Joel Challis2020-01-241-1/+2
|
* format code according to conventions [skip ci]QMK Bot2020-01-242-3/+2
|
* Add customisable EEPROM driver selection (#7274)Nick Brassel2020-01-246-21/+48
| | | | | | | | | - uprintf -> dprintf - Fix atsam "vendor" eeprom. - Bump Kinetis K20x to 64 bytes, too. - Rollback Kinetis to 32 bytes as partitioning can only be done once. Add warning about changing the value. - Change RAM-backed "fake" EEPROM implementations to match eeconfig's current usage. - Add 24LC128 by request.
* Run clang-format manually to fix recently changed files (#7934)Joel Challis2020-01-191-1/+1
| | | | | | | | * 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
* Move rgblight and backlight task to common location (#7733)Joel Challis2020-01-191-0/+10
|
* Implement and document TAPPING_FORCE_HOLD_PER_KEY (#7859)ridingqwerty2020-01-171-2/+11
| | | | | | | | | | * Implement and document TAPPING_FORCE_HOLD_PER_KEY * Added "record" parameter to "get_tapping_force_hold" * Correct typo -- remove 'IGNORE_' from 'IGNORE_TAPPING_FORCE_HOLD_PER_KEY' Co-authored-by: GeorgeKoenig <35542036+GeorgeKoenig@users.noreply.github.com>
* Cleanup check for PERMISSIVE_HOLD (#7861)Drashna Jaelre2020-01-171-1/+1
| | | | | | | | * Fix bug in PERMISSIVE_HOLD check caused by #5009 (aka, me) * Remove check for per key
* Remove `KEYMAP_SECTION_ENABLE` (#7882)fauxpark2020-01-171-3/+0
|
* Add per-key IGNORE_MOD_TAP_INTERRUPT feature (#7838)zk-phi2020-01-101-2/+10
| | | | | | | | | | | * Implement IGNORE_MOD_TAP_INTERRUPT_PER_KEY - Add configurable option IGNORE_MOD_TAP_INTERRUPT_PER_KEY - Add function get_ignore_mod_tap_interrupt iff the option is enabled Unless IGNORE_MOD_TAP_INTERRUPT_PER_KEY is defined, this patch does not affect the resulting binary. * Add documentation for IGNORE_MOD_TAP_INTERRUPT_PER_KEY
* Move some common matrix code to a common location (#7699)Joel Challis2020-01-041-5/+2
| | | | | | | | | | * Move some common matrix code to a common location * Refactor some 'custom_matrix_helper' logic to use custom matrix lite * Fix build for kinesis/stapelberg - abuse of vpath was picking up matrix.c from core when custom matrix was enabled * Add validation for CUSTOM_MATRIX
* VIA Configurator Refactor (#7268)Wilba2020-01-032-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | * VIA Refactor * Remove old code * review changes * review changes * Fix cannonkeys/satisfaction75/prototype:via build * Add via.h to quantum.h * Move backlight init to after backlight config load * Merge branch 'master' into via_refactor_pr * Update user's rules.mk to new way of enabling VIA * Added id_switch_matrix_state * Review changes
* Fix typo in action.c (#7757)xyzz2020-01-021-1/+1
|
* Add central location for ChibiOS defines (#7542)Joel Challis2019-12-211-0/+24
| | | | | | | | | | * Add central location for chibios defines * Add central location for chibios defines - actually add files this time.... * Add Copyright header * Update include order to resolve i2cv1 build errors
* [Core] Optimize matrix processing (#7621)Drashna Jaelre2019-12-161-4/+5
| | | Backport of tmk/tmk_keyboard@ad6059adc7039a54d1db75da783068654906a679
* Fix FORCE_NKRO handling (#7601)Joel Challis2019-12-111-0/+1
|
* Remove mbed files (#7605)Joel Challis2019-12-117-131/+1
| | | | | | | | * Remove mbed files * Remove mbed files - fix comment * Remove mbed logic blocks
* Add 4-character aliases for sendstring keycodes (#7409)fauxpark2019-11-221-1/+0
| | | | | | | | * Add 4-character aliases for sendstring keycodes * Remove pointless mail keycode redefinition * Forgot brightness keycodes
* Run clang-format manually to fix recently changed fileszvecr2019-11-174-9/+10
|
* Fix LAYER_STATE_8BIT compile issues (#7304)Joel Challis2019-11-083-3/+3
|
* Support RGBLIGHT_SLEEP when ChibiOS boards suspend (#7280)Jonathan Rascher2019-11-081-0/+26
| | | | Copypasta from the AVR suspend implementation with a Teensy-specific hack removed
* New and improved lock LED callbacks (#7215)fauxpark2019-11-063-0/+21
| | | | | | | | | | * New and improved lock LED callbacks * Include stdbool * Update documentation * Use full function signatures and add keyboard-level example
* Move tmk_core/common/backlight to quantum/backlight (#6710)Joel Challis2019-10-177-260/+19
| | | | | | | | | | | | * Move tmk_core/common/backlight to quantum/backlight * Add guards to backlight inclusion * Add guards to backlight inclusion * Update backlight guards on clueboard/60 * Use full paths to avoid vpath issues
* Fix bug in `do_code16()` (#6935)fauxpark2019-10-162-4/+28
| | | | | | * Fix bug in `do_code16()` * Remove qk_ mods functions
* Add binary support to tinyprintf (#7024)Joel Challis2019-10-151-0/+9
|
* Port DEBUG_MATRIX_SCAN_RATE to core (#7029)Joel Challis2019-10-151-0/+24
| | | | | | | | | | * Port DEBUG_MATRIX_SCAN_RATE to core * Remove duplicate DEBUG_MATRIX_SCAN_RATE implementations * Remove duplicate DEBUG_MATRIX_SCAN_RATE implementation from handwired/xealous * Add console logic from ergodox_ez
* ARM - Initial backlight support (#6487)Joel Challis2019-10-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move AVR backlight to own file, add borrowed ARM implementation * Tiny fix for backlight custom logic * Remove duplicate board from rebase * Fix f303 onekey example * clang-format * clang-format * Remove backlight keymap debug * Initial pass of ARM backlight docs * Initial pass of ARM backlight docs - resolve todos * fix rules validation logic * Add f072 warning * Add f072 warning * tidy up breathing in backlight keymap * tidy up breathing in backlight keymap * add missing break to backlight keymap
* Wrap util.h functions in `extern "C"` (#6762)fauxpark2019-10-041-0/+8
|