summaryrefslogtreecommitdiffstats
path: root/tmk_core/common/keyboard.c
AgeCommit message (Collapse)AuthorFilesLines
2019-02-21Velocikey: Match RGB animation speed to typing speed (#3754)Chris Lewis1-0/+7
* 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
2019-02-15Debounce refactor / API (#3720)Drashna Jaelre1-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
2019-02-15Add kb and user level keyboard initialization functions (#3113)Drashna Jaelre1-0/+36
* Add suspend functions * Disable RGB code if it's disabled * Add keyboard_init functions * Change where references so it will compile * Wrong command chained in wake up kb function * Fix non-feature file changes * Add documentation * Re-add matrix init docs * add rgblight code to example * Remove suspend code * Clean up docs * Fix docs * Fix suspend code * more doc fixes * change function to startup_* rather than keyboard_init_ * fix spelling error * fix up docs to finish removing keyboard_init * Use Pre and Post init functions * Update Documenation * Remove changes to my keymap and userspace code * Cleanup * Revert changes to extra files * Forgot a semicolon * Make sure all protocols call keyboard_setup * Cleanup functions * Unset startup_user * Remove changes from division keyboard * Readd startup_user function * Remove all to startup_user * Update docs/custom_quantum_functions.md Co-Authored-By: drashna <drashna@live.com> * Update docs/custom_quantum_functions.md Co-Authored-By: drashna <drashna@live.com> * Add suggestion line * Rebase fixes * Update documentation to be more useful/accurate * Cleanup of documentation * Fix spacing inconsistency * Revert unexpected change to keymap
2019-01-26Whitespace cleanup.alex-ong1-3/+3
2019-01-26DO NOT USE - Removed debounce from TMK.alex-ong1-6/+3
2019-01-04Merge branch 'master' into debounce_refactorAlex Ong1-5/+19
# Conflicts: # tmk_core/common/keyboard.c
2018-12-04adding Hadron v3 keyboard, QWIIC devices support, haptic feedback support ↵ishtob1-0/+10
(#4462) * add initial support for hadron ver3 * add initial support for hadron ver3 * pull qwiic support for micro_led to be modified for use in hadron's 64x24 ssd1306 oled display * initial work on OLED using qwiic driver * early work to get 128x32 oled working by redefining qwiic micro oled parameters. Currently working, but would affect qwiic's micro oled functionality * moved oled defines to config.h and added ifndef to micro_oled driver * WORKING :D - note, still work in progress to get the start location correct on the 128x32 display. * added equation to automatically calculate display offset based on screen width * adding time-out timer to oled display * changed read lock staus via read_led_state * lock indications fixes * Added scroll lock indication to oled * add support for DRV2605 haptic driver * Improve readabiity of DRV2605 driver. -added typedef for waveform library -added unions for registers * Update keyboards/hadron/ver2/keymaps/default/config.h Co-Authored-By: ishtob <ishtob@gmail.com> * Update keyboards/hadron/ver2/keymaps/default/config.h Co-Authored-By: ishtob <ishtob@gmail.com> * Update keyboards/hadron/ver2/keymaps/default/config.h Co-Authored-By: ishtob <ishtob@gmail.com> * Update keyboards/hadron/ver2/keymaps/default/config.h Co-Authored-By: ishtob <ishtob@gmail.com> * Fixes for PR * PR fixes * fix old persistent layer function to use new set_single_persistent_default_layer * fix issues with changing makefile defines that broken per-key haptic pulse * Comment fixes * Add definable parameter and auto-calibration based on motor choice
2018-11-02Move disable JTAG code from `keyboard_init` to `keyboard_setup`Danny Nguyen1-5/+9
This way all split keyboards are using that code instead of just those using split_common with the fix
2018-08-29Removed "debounce_algo = manual" in all keyboards with CUSTOM_MATRIX = yes.Alex Ong1-16/+6
2018-07-15Integrating Peter Fleury's HD44780 LCD library (#3209)Max Audron1-0/+3
* integrated Peter Fleury's LCD library for HD44780 LCDs * fixed typo * cleanup finished * add documentation * added HD44780 documentation * removed keyboard from .gitmodules * resolved merge conflict * removed edit of kira75s rules.mk made by merge * moved hd44780 to drivers/avr * Added licence info to hd44780 files * Added link to hd44780 docs.
2018-06-28Disable JTAG in keyboard initDrashna Jaelre1-1/+6
So that all boards, present and future will have JTAG disabled, even if using a custom matrix
2018-03-22Generate API docs from source code comments (#2491)skullydazed1-2/+30
* Generate api docs from source code * Add a bunch of doxygen comments * more doxygen comments * Add the in-progress api docs * script to generate docs from travis * Add doc generation to the travis job * make travis_docs.sh commit the work it does * make sure the docs script exits cleanly
2018-02-08Merge ChibiOS and LUFA descriptor support (#2362)fredizzimo1-0/+7
* Move lufa descriptor to protocol/usb_descriptor * Try to compile usb_descriptor on ChibiOS * Add lufa_utils for ChibiOS Lufa USB descriptors for ChibiOS * More lufa_util compatibility fixes * First compiling version of shared USB descriptor * Send the usb descriptors * Fix the CONSOLE output on ChibiOS * Add errors for unsupported interfaces * Enable support for vitual serial port USB descriptors * Implement virtual serial port for ChibiOS * Cleanup the lufa_utils Use the default lufa header files * Add raw hid support for ChibiOS This is completely untested * Enable midi compilation on ChibiOS * Move midi functionality out of lufa.c * Don't register sysex callback when not needed * ChibiOS compilation fixes * Update ChibiOS submodule * Fix the Midi USB descriptor It didn't work properly when both Midi and Virtual serial port was enabled. * Add MIDI support for ChibiOS * Fix USB descriptor strings on ChibiOS * Use serial usb driver for raw hid * Generalize the ChibiOS stream like drivers This makes the initialization much more simple and eliminates a lot of the code duplication. * Convert console output to chibios stream driver * Fixes for ChibiOS update * Update the ChibiOS contrib submodule To include the usb data toggle synchronization fixes * Fix duplicate reset enumeration on ChibiOS * Add missing include * Add number of endpoints check for ChibiOS * Enable serial USB driver on all keyboards * Add missing includes when API is enabled withot midi * Add another missing inlcude
2017-11-22I found a typo!Colin T.A. Gray1-1/+1
2017-11-21Allow multiple process_record() calls per scanSeebs1-0/+11
This is particularly relevant for, e.g., the ergodox EZ and other keyboards with slow scan rates. Without changing the API or behavior of individual process_record() calls, we allow a configuration flag to make multiple calls in a single scan. This will probably have miniscule effects on non-steno users, and it's not enabled by default for any keyboards. Added note about it to ergodox README. Signed-off-by: seebs <seebs@seebs.net>
2017-10-06Generic Pointing Device (#1767)Snipeye1-0/+10
2017-09-30Don't process keycodes on the slaveFred Sundvik1-28/+35
2017-07-27Add support for GeminiPR steno protocol.Joe Wasson1-0/+6
This protocol breaks out "duplicate" keys into their own entry in the packet so that more complicated logic can be done on the software side, including support for additional languages and alternative theories.
2017-05-15added comments and made function name clearerJeremiah1-13/+18
2017-05-14whoopsJeremiah1-2/+2
2017-05-14faster, less bits :)Jeremiah1-9/+2
2017-05-14faster and less bits... againJeremiah1-6/+5
2017-05-14faster and less bitsJeremiah1-18/+15
2017-05-14should be using matrix_row_tJeremiah1-3/+3
2017-05-14a bit smallerJeremiah1-6/+6
2017-05-14a bit smallerJeremiah1-18/+35
2017-05-13improvementsJeremiah1-23/+16
2017-05-13anti-ghost improvement for older keyboards with empty spots in matrixJeremiah1-6/+30
2017-02-13Implement faux-clicky featurePriyadi Iman Nurcahyo1-0/+6
2017-02-06Minor cleanupNikolaus Wittenstein1-0/+1
2017-01-18added mods status bit to visualizer.SjB1-1/+1
Since we can't read the real_mods and oneshot_mods static variable directly within the update_user_visualizer_state function (Threading and serial link). We are know storing the mods states in the visualizer_keyboard_status_t structure. We can now display the status of the modifier keys on the LCD display.
2016-09-07Use keyboard config for nkro (#7)IBNobody1-1/+3
* removing nkro references - wip * changed NKRO to be defined by keymap_config
2016-07-07Makefile fixes and update of VisualizerFred Sundvik1-0/+8
2016-07-06Enable serial_link support for ChibiOSFred Sundvik1-2/+9
2016-07-04reverts #343 for the most part (#474)Jack Humbert1-45/+62
2016-06-13Move LED strip initialization (#397)Eric Tang1-0/+6
2016-05-24Clean up #343's code (#348)Eric Tang1-5/+3
2016-05-24Optimize matrix scanning (#343)Eric Tang1-78/+56
2016-04-17MAGIC functionality, AG swap in default layoutJack Humbert1-1/+7
2016-03-29Minor Tweaks and DocumentationIBNobody1-1/+1
Fixed compiler warning by including bootloader.h in keymap_common.c. Changed FORCE_NKRO to only be applied if NKRO_ENABLE is defined. Added extra documentation to the template config.h
2016-03-28Magic Key Overrides / Keyboard Lock / Forced NKROIBNobody1-0/+6
Added Magic Key Overrides / Magic Key Cleanup / Added Keyboard Lock option to template / Added forced NKRO option to template (disabled by default)
2015-05-18Add keyboard_setup() and matrix_setup()tmk1-0/+6
2015-04-28Merge commit '4d116a04e94cf0d19317d5b44e4fa9f34a3e5594'tmk1-0/+10
2015-04-23Improve anti-ghosting behavior for fast typingMichael Tharp1-2/+13
Keypresses would be forgotten if they began while ghosting, even if they were still pressed after ghosting ended.
2015-04-09Merge commit 'a074364c3731d66b56d988c8a6c960a83ea0e0a1' as 'tmk_core'tmk1-0/+150