summaryrefslogtreecommitdiffstats
path: root/tmk_core/common
Commit message (Collapse)AuthorAgeFilesLines
* Banish some more magic numbers (#6662)fauxpark2019-09-072-19/+13
|
* clang-format changesskullY2019-08-3084-4324/+4036
|
* Have clang ignore the code in bootloader_size.cskullY2019-08-301-1/+2
|
* Decrement EECONFIG magic numberDrashna Jaelre2019-08-271-1/+3
| | | | | This will manually wipe the EEPROM. This is a hacky solution for when new ranges are added or moved around. A better (more complicated) solution would be to zero out everything, not just known ranges. But for now, this is a hacky solution that will work.
* Added OLED Display autoscroll during periods of OLED data inactivity (#6546)XScorpion22019-08-251-0/+11
| | | | | | | | * Added OLED Display autoscroll during periods of OLED data inactivity. * Fixing compile errors * Feedback from review
* Additional changes for Layer State typedef compatibility (#5906)Drashna Jaelre2019-08-211-1/+4
| | | | | | | | | | | | | | | | * Additional changes for Layer State typedef compatibility * Replace biton32 with get_highest_layer in docs * Change additional layer structure code * Fix uGFX reference issue * Remove dynamic_keymap check * Where did all these extra spaces come from Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Added keycodes for swapping and unswapping the Control and OS keys (#6110)Stephen Wanhella2019-08-213-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add MAGIC_SWAP_CONTROL_LGUI and MAGIC_UNSWAP_CONTROL_LGUI keycodes Key codes to swap and unswap the control and windows/cmd keys * Fix issues with pull request #6110 Renamed swap/unswap lctl and lgui key codes, added key codes to swap/unswap rctl and rgui, and moved new bool inside keycode_config.h struct to the end * Move new keycodes to the end of the enum (#6110) * add cases for swapped control and OS keys to mod_config (#6110) * Add new keycodes to feature_bootmagic.md (#6110) * Add R+L swap codes to keep in parity with AG_* codes * Extend Magic range check to include new magic codes * Update audio docs * Combine 2 byte ranges into 1 word for EECONFG Fix names for Keymap config EEPROM * Update docs/feature_bootmagic.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/feature_bootmagic.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/feature_bootmagic.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/feature_bootmagic.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Remove superfluous JTAG disable code (#6445)fauxpark2019-08-202-4/+9
| | | | | | | | | | | | | | | | | | * Remove superfluous JTAG disable code * 32A has differently named register * Accidentally some operators * 32A also has different JTAG pins * Wrap disable_jtag() in an ifndef * Document this new define * Rename the define, it conflicts with a LUFA thing Also, move the ifndef wrapping to the call in keyboard_setup()
* Fix LT() crashing some ARM keyboards (#6529)Joel Challis2019-08-131-2/+2
|
* Extend allowed range of tappable keycodes to include modifiers (#5809)fauxpark2019-08-082-16/+25
| | | | | | | | | | | | * Extend allowed range of tappable keycodes to include modifiers * Get rid of the magic numbers altogether * Remove some more magic numbers * Extract LM() functionality from ACT_LAYER_TAP * Use ACTION() macro everywhere
* Add support for TAP_CODE_DELAY to Hold-Tap keys (#5400)Drashna Jaelre2019-07-221-7/+12
| | | | | | * Add support for TAP_CODE_DELAY to Hold-Tap keys * Better handling for tap code delay and caps version
* Update IS_COMMAND definitions to use MOD_MASK_SHIFT (#6348)Konstantin Đorđević2019-07-201-1/+1
| | | | | | | | | | | | * Update IS_COMMAND definition in templates to use MOD_MASK_SHIFT * Update IS_COMMAND in docs * Update IS_COMMAND default definition in tmk_core * Update table in Command docs based on suggestion Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Extend maximum number of backlight levels to 31 (#6351)fauxpark2019-07-161-3/+4
|
* Make Caps Lock delay more reasonable (#6199)Drashna Jaelre2019-07-161-1/+1
| | | | | | | | | | | | | | * Make Caps Lock delay more reasonable * Update documentation * Update docs/config_options.md Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com> * Update docs/config_options.md Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>
* Store backlight breathing state in EEPROM (#6105)fauxpark2019-07-162-3/+71
| | | | | | | | | | | | * Store backlight breathing state in EEPROM * Reduce backlight_config.level from 6 bits to 4 (max 15 "on" levels) * Error out if BACKLIGHT_LEVELS is > 15 * Remove mention of default backlight pin in rules.mk template * Remove pointless comment
* Adding rgb matrix speed into eeprom storage. (#5965)XScorpion22019-07-162-4/+5
| | | | | | | | | | | | | | | | | Zeroing out spd in eeconfig_init_quantum Switched to block read & update Update tmk_core/common/eeconfig.h Co-Authored-By: Drashna Jaelre <drashna@live.com> Fixing init compile error Update eeconfig.c Dead / Missing API cleanup alignment
* Usbasploader bootloader option addition (#6304)yiancar2019-07-151-34/+43
| | | | | | | | | | | | | | | | | | | | | | * Added USBasp bootloader option for USBasploader * author comment * ifdef fix :) * Add usbasp target * Update docs/flashing.md Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update docs/flashing.md Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update docs/flashing.md Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Fix TO() and DF() calling layer_state_set_[kb,user] twice (#6003)fauxpark2019-05-291-2/+2
|
* Fix bit count calculation for iterating layersRyan Caltabiano2019-05-181-1/+1
|
* Typedef'ed layer_state_t to uint32_t (#3637)Alex Ong2019-05-175-40/+48
| | | | | | | | | | | | | | | | | | | | * Typedef'ed layer_state_t to uint32_t. This enables future work with layer_state_t to uint8_t for optimization purposes. * Removed accidental xeal60 commit * Revert to egyptian brackets, added sizeof(layer_state_t) so when layer_state_t is redefined it will automagically work. * Add additional typedefs * Add checks for setting layer state * Update tmk_core/common/action_layer.h Co-Authored-By: alex-ong <the.onga@gmail.com> * Revert commit.
* Make delay for Capslock in Hold-Tap functions configurable (#5497)Drashna Jaelre2019-05-161-1/+9
| | | | | | | | * Increase delay for Hold-Tap register for CAPSLOCK Because it seems that the 80ms delay wasn't too much * Screw it, make the caps delay a define and make it configurable
* [Keyboard] Sol keyboard conversion to split common (#5773)XScorpion22019-05-061-0/+19
| | | | | | | | | | | | | | | | | | | | | | * Split common conversion * Updated serial and encoder pins * Fixing default folder until r2 * Fixing oled driver on slave split common * Fixing keymap compile errors * Fixing oled inactivity timer on slave split common * Hoisted oled driver task, init, & activity to keyboard.c * Update keyboards/sol/config.h Co-Authored-By: XScorpion2 <rcalt2vt@gmail.com> * Remove TAPPING_FORCE_HOLD
* Re-fix Mousekey Movements (#5740)Drashna Jaelre2019-05-061-0/+4
| | | | | | | | | | * Re-fix Mousekey Movements After the new movement model was instroduced, it broke diagonal momement, again. Reapplying fix from #3147 to both old and new acceleration method. * Make diagonal mouse report checks more readable Co-Authored-By: drashna <drashna@live.com>
* Fix wakeup function on ChibiOS (#5707)Drashna Jaelre2019-04-261-1/+1
| | | Somebody was a very, very bad boy, and did a poor job of copy-pasting
* Init RGB Matrix EEPROMDrashna Jaelre2019-04-191-2/+3
| | | | I'm not sure how to check if it's the same as RGBLIGHT's EEPROM, but if you don't init it, it **will not** work properly until it is initialized.
* Make sure NOBITS is set on reset_keyDanny Nguyen2019-04-191-1/+1
| | | | | | | | Patch from https://github.com/qmk/qmk_firmware/issues/3657#issuecomment-415147411 Long story short, in avr-gcc pre-8.2, reset_key was assigned to a memory area that was in a normal range, but when 8.2 came out, that memory got moved to an out of range area, causing errors like 0x800293 out of range. Apparently, this was fixed up in avr-gcc, but we haven't seen a release with the fix yet (we expected it in 8.3, but that didn't happen for some reason). What this commit does is move the reset_key back to the original memory location it was in before.
* Improve mouse keys docs and constant speed modeMarkus Weimar2019-04-182-37/+52
|
* Fix wake from suspend LED functionalitypatrickmt2019-04-181-0/+6
| | | | When waking from suspend, only enable the LED drivers if they were not previously set to disabled by the user. This functionality was removed by the recent updates to adapt Massdrop keyboards to QMK RGB Matrix. Affects Massdrop CTRL and ALT keyboards compiled using Massdrop Configurator mode.
* Custom Tapping Term per key (#5009)Drashna Jaelre2019-04-052-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add customizable tapping terms * Add Documentation * Fix function * Fixes * It's not a pointer * Add debugging output * Update documentation to be at least vaguely accurate * Use `get_tapping_term(tapping_key.event)` instead `e` doesn't include column and row information, properly. It registers as 255, regardless of the actual keypress. However `tapping_key.event` actually gives the correct column and row information. It appears be the correct structure to use. In fact, it looks like the issue is that `e` is actually the "TICK" structure, as defined in keyboard.h * Use variable tapping term value rather than define * Silly drashna - tapping_key.event, not event * add get_event_keycode() function * Fix typo Co-Authored-By: drashna <drashna@live.com> * Remove post_process_record_quantum since it's the wrong PR * Update quantum/quantum.c Co-Authored-By: drashna <drashna@live.com> * Better handle ifdef statement for permissive hold Since we can't be sure that tapping term is actually 500 * Update quantum.c comments based on feedback * Clean up get_tapping_term function Clean up function so that users don't need to call the event function, and instead only check the keycode * Add ability to run functionality on and off * Make ifdef's more compact
* RGB Matrix support for Massdrop CTRL/ALT (#5328)Daniel Prilik2019-04-031-4/+5
| | | | | | | | | | | | | | | | | | | | | | * port Massdrop CTRL/ALT to use RGB Matrix Co-authored-by: Matt Schneeberger <helluvamatt@gmail.com> * Massdrop lighting support working This commit is to get the Massdrop lighting code working again through use of the compilation define USE_MASSDROP_CONFIGURATOR added to a keymap's rules.mk. Added keymaps for both CTRL and ALT named default_md and mac_md. These should be used if the Massdrop style lighting is desired. * Updating config based on testing results with patrickmt & compile errors * Updates for PR5328 For CTRL and ALT: Moved location of new RGB Matrix macros from config_led.h to config.h. Added RGB_MATRIX_LED_FLUSH_LIMIT (time between flushes) to config.h for correct LED driver update timing. Re-added missing breathing code for when Massdrop configurator mode is defined. * remove prilik keymap form PR
* Add 3 speed mousekey movement option (#2246)Jon Arintok2019-03-262-138/+290
| | | | This allows for constant, non-accelerated mouse movement, while retaining the original functionality. Configurable by a define.
* Next set of split_common changes (#4974)James Churchill2019-03-121-9/+0
| | | | | | | | | | | | | | | | * Update split_common to use standard i2c drivers * Eliminate RGB_DIRTY/BACKLIT_DIRTY * Fix avr i2c_master error handling * Fix i2c_slave addressing * Remove unneeded timeout on i2c_stop() * Fix RGB I2C transfers * Remove incorrect comment
* Velocikey: Match RGB animation speed to typing speed (#3754)Chris Lewis2019-02-213-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Draft commit of typing speed RGB control * More information in the readme * Support all RGB animation modes (Fixes #1) * Added support for all RGB light modes to use typing speed Except christmas lights because that is seizure-inducing at high speeds! * Introduced a value range specific to each RGB mode Because some modes are a little too much when running at full speed! * Update readme.md * Update readme.md * Re-arrange typing_speed definitions (Fixes #5) (#6) * Re-arrange variable definitions to avoid including quantum.h from rgblight.c * Fix a compilation error when trying to run make test:all * Tweaks to the typing speed decay rate * Renamed to momentum; moved implementation into dedicated files * Groundwork for toggling momentum on/off (currently always on) * Add EEPROM toggle for momentum-matching * Moved momentum out of RGBLIGHT_ENABLE toggles so it's more generic * Move momentum decay task out of rgblight_task() * Fix missing momentum.h in lufa.c * Experimental LED support (untested) * Draft commit of typing speed RGB control * More information in the readme * Support all RGB animation modes (Fixes #1) * Added support for all RGB light modes to use typing speed Except christmas lights because that is seizure-inducing at high speeds! * Introduced a value range specific to each RGB mode Because some modes are a little too much when running at full speed! * Update readme.md * Update readme.md * Re-arrange typing_speed definitions (Fixes #5) (#6) * Re-arrange variable definitions to avoid including quantum.h from rgblight.c * Fix a compilation error when trying to run make test:all * Tweaks to the typing speed decay rate * Renamed to momentum; moved implementation into dedicated files * Groundwork for toggling momentum on/off (currently always on) * Add EEPROM toggle for momentum-matching * Moved momentum out of RGBLIGHT_ENABLE toggles so it's more generic * Move momentum decay task out of rgblight_task() * Fix missing momentum.h in lufa.c * Added documentation * Renamed feature to velocikey * Reverted readme to original state * Correct the readme title * Updated feature name in the docs * Update EECONFIG name * Add compile-time toggles for velocikey * Update feature documentation * Revert "Merge branch 'led-support' into master" This reverts commit e123ff5febf61639b9a9020748e1c2e2313460ff, reversing changes made to df111a55b9d4929182e16108b1c0ead15b16df97. * Move velocikey EECONFIG definition to depend on VELOCIKEY_ENABLE * Rename decay_task function to decelerate * Apply suggestions from code review Co-Authored-By: chrislewisdev <chris@chrislewisdev.com> * Re-order eeconfig definitions * Apply coding conventions * Apply #ifdef check in lufa.c * Refactored interval time checks into one functionc * Small rename * Fix unused function error for layouts not using all rgb effects * Only update EEPROM if Velocikey is enabled * Incorporate code review feedback * Small adjustment to top-end decay rate * Add Velocikey documentation to table of contents * Bring tetris:default keymap size down by disabling audio
* Change Command keycode defaults to match corresponding Bootmagic codes (#5078)Konstantin Đorđević2019-02-172-30/+35
| | | | | | | | | | | | | | | | | | * Change Command keycode defaults to match corresponding Bootmagic codes * Make alternate magic key keycodes consistent * Reflect changes from previous commit in tmk_core/common/command.c * Remove unnecessary MAGIC_KEY_* definitions from keymaps compatible with these changes * Swap E and BSPACE for MAGIC_KEY_EEPROM * Add MAGIC_KEY_EEPROM_CLEAR instead of MAGIC_KEY_EEPROM_ALT * Remove BOOTMAGIC_ENABLE checks around EECONFIG stuff * Update Command descriptions
* Haptic feedback generalized - DRV2605 and solenoids (#4939)ishtob2019-02-162-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * initial work to add eeprom to haptic feedback and decouple the feedback process from keyboards * Haptic feedback enhancements: on/off toggle working, feedback order working todo: -work on modes switching -get modes switching to save to eeprom * haptic enhancement - eeprom and modes added * Added set and get functions for haptic feedback * initial implementation of solenoids under haptic feedback * changed eeprom to 32 bits to reserve blocks for future features * start documentation of haptic feedback * change keycode per comment from reviewers * typo fixes * added eeprom for solenoid configs * added solenoid and docs * Add/fix default parameters configs, improve docs * more doc cleanup * add in solenoid buzz toggle, clean up doc * some fixes for error in compiling solenoid * fix a chibios specific i2c read function and added one for AVR controllers in DRV2605L.c * fixes for avr side issues * update keymap * fix keymap compile error * fix bugs found during solenoid testing * set pin that is not powered during bootloader * added warning about certain pins on the MCU may trip solenoid during DFU/bootloader
* Debounce refactor / API (#3720)Drashna Jaelre2019-02-141-15/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added xeal60 via clone of lets split * Delete removed other keymaps * Basic keymap (no FN). Compiles. * Removed NP_STAR and NP_SLSH. * Removed "debounce_algo = manual" in all keyboards with CUSTOM_MATRIX = yes. * Changed order of rules in TMK. Documented feature. * Fixed missing whitespace in debounce documentation Table wasn't working due to missing newline. * Added bold in a few areas. * DO NOT USE - Removed debounce from TMK. * Remove accidental xeal60 commit * DO NOT USE - debounce successfully compiled. * DO NOT USE Revert back to original API to support split_keyboards. * Working eager_pk * Whitespace cleanup. * Restored debounce.h since there wasnt any real change. * Moved debouncing_time variable to inside #if debounce * Removed check for custom_matrix. We can safely include the debounce file for compilation when custom_matrix is used. * Removed #include "matrix.h" from debounce.h * Bug fix - was using MATRIX_ROWS instead of num_rows * Fixed compilation error with debounce_sym_g * Renamed DEBOUNCE_ALGO to DEBOUNCE_TYPE * Malloc array in debounce_eager_pk, since split keyboards only use MATRIX_ROWS/2. * Fix compile error in debounce_eager_pk * Stricter, leaner DEBOUNCE_TYPE section in common_features.mk. Cleanup debounce_type.mk
| * Whitespace cleanup.alex-ong2019-01-261-3/+3
| |
| * DO NOT USE - Removed debounce from TMK.alex-ong2019-01-266-260/+3
| |
| * DO NOT USE Merge branch 'master' into debounce_refactorAlex Ong2019-01-2618-838/+371
| |\ | | | | | | | | | | | | | | | Merged, however now there are two debounce.h and debounce.c to mess around with and coalesce. # Conflicts: # quantum/matrix.c
| * \ Merge branch 'master' into debounce_refactorAlex Ong2019-01-0429-100/+1786
| |\ \ | | | | | | | | | | | | | | | | # Conflicts: # tmk_core/common/keyboard.c
| * | | Removed "debounce_algo = manual" in all keyboards with CUSTOM_MATRIX = yes.Alex Ong2018-08-296-16/+260
| | | |
* | | | Add kb and user level keyboard initialization functions (#3113)Drashna Jaelre2019-02-143-14/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <