summaryrefslogtreecommitdiff
path: root/tmk_core/common
AgeCommit message (Collapse)Author
2018-06-28Make sure the timer wraps around correctly independent of the os tick frequencyFred Sundvik
2018-06-03Add Suspend functions (#3112)Drashna Jaelre
* Add suspend functions * Disable RGB code if it's disabled * Add suspend code to ChibiOS for future compatibility * 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 keyboard init stuff for separate PR
2018-05-29Add and fix _noeeprom functions to many of the RGB Underglow functions (#3070)Drashna Jaelre
* And and fix _noeeprom functions to many of the RGB Underglow functions * Many functions are unnecessarily calling the eeprom write code. The toggle/enable is command is especially guilty of this, as it writes to EEPROM 3 times. But rgb mode writes twice, every time it's called. And init resets the rgb eeprom range and then writes back to it twice! * Fixed the rgblight_sethsv_noeeprom to work as expected, by moving a lot of the code to a helper function. * Added a noeeprom function for mode, enable, disable, and toggle functions. (didn't bother for increase/decrease stuff, and didn't add new keycodes) * Add to predefined colors list * Add new functions to manual/docs * Update RGB Sleep feature to use _noeeprom Because that's exactly what it should be doing, actually!
2018-05-26Fix dead link to USB keycodes doc (#3050)Leo Wzukw
* Fix dead link to USB keycodes doc Link was dead and the fresher version I could find on usb.org is still older than this one. Thus, WaybackMachine seems the best option. * Fix dead link to USB keycodes doc, with 2 options Give the WaybackMachine link (fresher and for reference of the content of the original link) and the usb.org one (older)
2018-05-20Fix compile issues for atmega328pDrashna Jaelre
2018-05-14Allow one-shot modifiers to be chainedGergely Nagy
Many a times one would want to use multiple modifiers with the same key, preferably without having to hold anything, like `Ctrl+Shift+C` or `Ctrl+Shift+V` to copy/paste in GNOME Terminal. To make this possible, we need to be able to chain one-shot modifiers, so that we can have multiple of them active at the same time. The easiest way to accomplish this is that whenever we activate a one-shot modifier, we apply it on top of the existing set, instead of re-setting the state. When deactivating, either due to an interrupt, or due to a timeout, we deactivate all oneshots anyway, so the clearing part is covered. When we turn the one-shot modifier into a toggle, that will also clear all one-shot modifiers first, so we covered that case too. Fixes #2796, #1580, and #856. Signed-off-by: Gergely Nagy <qmk@gergo.csillger.hu>
2018-05-08enable eeprom for rgb matrixJack Humbert
2018-03-28Fix RGB Sleep codeU-LANDSRAAD\drashna
2018-03-22Generate API docs from source code comments (#2491)skullydazed
* 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-03-19[Proposal?] Allow RGB Underglow to turn off when host is idle/asleep (#2104)Drashna Jaelre
* Add RGB Underglow Sleeping * Add RGBLIGHT_SLEEP to toggle/control RGB light behavior * Update rgb docs * Update for RGB disable command
2018-03-16Add CMD and WIN aliases for KC_GUI, GUI(kc), GUI_T(kc), etc.fauxpark
2018-03-16Fix swap-hands tapping.Joe Wasson
This is an inelegant hack for #2522 but makes things work. Basically we give `action.c` a chance to handle the hold event early so that we can swap the keyboard for later keys. Later, to allow the hold to happen again quickly we nuke the key record so that tapping is reset. I tried to find a cleaner way, honestly.
2018-03-16Rename ONEHAND_ENABLE to SWAP_HANDS_ENABLE for consistencyJoe Wasson
2018-02-10Fix reset for STM32 devicesFred Sundvik
2018-02-08Merge ChibiOS and LUFA descriptor support (#2362)fredizzimo
* 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
2018-01-21Revert back to normal sleeping wait behaviour for STM32Fred Sundvik
2018-01-18Backlighting for JJ40 and underglow initialisation code (#2260)Kenneth Aloysius
* Cleanup Mechmini keymap. Once the custom RGB function is defined, there is no need to manually handle RGB code. * Change default to KEYMAP_MIT, not KEYMAP_OFFSET * Add custom RGB code for JJ40 * Reset Mechmini advertised power draw to 500. Will have to test actual maximum power draw later. * RGB working on JJ40. * Fix: saturation increase/decrease flipped * Add new directory for my custom keymap with RGB keycodes * Swap LAlt and LGUI * Update JJ40 max power draw with measured value * Update: fun40 rules.mk to enable underglow; earlier failed Travis CI * Fix: init RGB LEDs on boot. Also added HHKB-like keymap for XD60. * Super rudimentary backlight test, init RGB LEDs on boot * Backlighting works - stays on for now * Toggling working * Now can override backlight.c functions. Problem was functions in backlight.c weren't called before due to a lack of matrix_scan_quantum() in matrix.c * Timers not working * Delete global.h * Cleanup * Compiles * Good sign: LEDs stop working again * Handle timer1 overflow * Progress: fix: forgot to init * Backlighting fully working now except breathing. * Revert keymap to original keycodes * Update XD60 keymap README * Update JJ40 keymap with backlight toggles * Breathing working just fine. * Update references * Add backlight_set() call * Cleanup code to disable backlight * Fix: does not compile * Fix: missing call to rgblight_task. * Testing with BACKLIGHT_BREATHING * Cleanup * Cleanup comments * More commenting cleanup. * Do not enable BACKLIGHT_BREATHING by default
2018-01-01backlight breathing overhaul (#2187)Balz Guenat
* add breathing to bananasplit * backlight breathing overhaul * fix the backlight_tick thing. * fix for vision_division backlight * fix a few keymaps and probably break breathing for some weirdly set-up boards. * remove BL_x keycodes because they made unreasonable assumptions * some fixes for BL keycodes * integer cie lightness scaling * use cie lightness for non-breathing backlight and make breathing able to reach true max brightness
2017-12-19Unsign key argument in add_key_to_reportfauxpark
2017-12-15make 'layer_state_set' visible to user codeColin T.A. Gray
2017-12-15fixes 'layer_state_cmp' when layer is '1' (aka layer 0, aka layer 1<<0)Colin T.A. Gray
2017-12-08helper to compare current layer_state to user layerColin T.A. Gray
Performs the same bit comparison that the layer_move functions perform
2017-11-27Updates bootloader settings, adds file size check (#2029)Jack Humbert
* pull fuse settings for bootloader jump * fix 32a chips * make automatic bootloader selection optional * quantify bootloaders * fixs #164, speeds up dfu reset * fix for chips w/o usb * missing an n * fix bootloader sizes, use words for addresses * fix bmini, pearl, and [[ issue, make things quiet * ignore avr errors on arm for now * update settings for the light * document bootloader stuff * add bootloader title
2017-11-22I found a typo!Colin T.A. Gray
2017-11-21Allow multiple process_record() calls per scanSeebs
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-11-06add pgm_read_dword for Infinity ErgoDoxTakayuki Matsubara
avoid the following error when `UNICODEMAP_ENABLE = yes`: ``` quantum/process_keycode/process_unicodemap.c:52:21: error: implicit declaration of function 'pgm_read_dword' ```
2017-11-06adds per-layer rgb color option to ezJack Humbert
2017-10-31RETRO_TAPPING (#1922)tsankuanglee
* add RETRO_TAP: tap anyway, even after TAP_TERM, if no interruption * consistent variable name * add option doc * change name for consistency * make RETRO_TAPPING default to off
2017-10-10#1792 added in waits from tmk for locking switchesJoe Martin
fixes #1792
2017-10-06Generic Pointing Device (#1767)Snipeye
2017-09-30Don't process keycodes on the slaveFred Sundvik
2017-09-29Clueboard 60% support (#1746)skullydazed
* initial clueboard_60 support * LED lighting support * fix the clueboard->clueboard_66 rename * Add layout support to clueboard_60 * Fix the 60_iso layout so it's actually iso * add a default keymap for AEK layout * fix clueboard_17 * Fixup the ISO layouts * Fix the `wait_ms()/wait_us()` definitions for chibios * Fix up the wait_ms/wait_us hack. Reduce stack size. * Add a missing #include "wait.h" * commit files that should have already been comitted
2017-08-20Fix compilation error when NO_ACTION_LAYER is defined.Joe Wasson
2017-08-15some major steps toward making the usb-usb converter workBalz Guenat
2017-08-15Remove floating point calculation in mouse move. Saves approx 650 bytes if ↵Martin Sandiford
no other floating point used.
2017-08-13Added "EECONFIG_HANDEDNESS" to the eeconfig.h , because when RGB was enabled ↵That-Canadian
it was overwritting the old EECONFIG_HANDEDNESS address (10), so it is now on a non-conflicting addres (14). Updated MiniDox split_util.h and eeprom files to reflect this change. I recommend adding this to any split board that used these files, my changes will not effect them currently.
2017-07-27Add support for GeminiPR steno protocol.Joe Wasson
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-07-08Add wait support for testsFred Sundvik
2017-07-08Add basic timing support, and SFT_T testsFred Sundvik
Also expose some bugs...
2017-06-20Merge pull request #1405 from cquiroz/oneshot-mods-timeoutJack Humbert
Oneshot mods timeout
2017-06-19Add todo to timer.cFred Sundvik
2017-06-18Fix problems with undefined inlines in debug modeFred Sundvik
2017-06-18Move functions for adding keys from to reports to report.hFred Sundvik
2017-06-18Move functionality from action_util to reportFred Sundvik
The functions also takes report_kebyoard_t parameters, so that they can be used elsewhere.
2017-06-18Empty bootloader_jumpFred Sundvik
2017-06-18Emulate eepromFred Sundvik
2017-06-18Rename native to testFred Sundvik
2017-06-18Add empty timer functionsFred Sundvik
2017-06-18Empty implementation of bootloader, suspend and timerFred Sundvik
2017-06-18Fix program mem functionalityFred Sundvik