summaryrefslogtreecommitdiff
path: root/quantum/process_keycode
AgeCommit message (Collapse)Author
2018-10-06Add non-US Hash and Backslash to AutoShift handlingDrashna Jaelre
2018-10-03process_ucis: Add a callback for success (#4067)martinakcsilla
There is `qk_ucis_symbol_fallback` for the case where symbol lookup fails, but there wasn't one for the success case. This adds `qk_ucis_success`, called after successfully finishing the UCIS symbol input. Thanks to @drashna for the idea! Signed-off-by: Csilla Nagyné Martinák <csilla@csillger.hu>
2018-10-01Add send_unicode_hex_string function (#3828)Drashna Jaelre
* Add send_string_unicode function Co-authored-by: kdb424 <kdb424@gmail.com> Co-authored-by: Konstantin <vomindoraan@gmail.com> * Clean up code based on feedback * Fix includes
2018-10-01Adds default value for TAPPING_TERM if Tap Dance is enabled (#2785)Drashna Jaelre
* Force require TAPPING_TERM if Tap Dance is enabled * Handle lack of TAPPING_TERM more gracefully
2018-09-27Make Audio Clicky's randomness a floatDrashna Jaelre
Rather than a define, but read from the define. This way, a smart coder could externally configure the randomness, changing it on the fly This is also a precursor step to adding full on support for configurable randomness.
2018-09-25Add On/Off keycodesDrashna Jaelre
2018-09-25Add functions so you can configure programaticallyDrashna Jaelre
2018-09-25Store Clicky status in EEPROMDrashna Jaelre
2018-09-17Make `PREVENT_STUCK_MODIFIERS` the default (#3107)Joe Wasson
* Remove chording as it is not documented, not used, and needs work. * Make Leader Key an optional feature. * Switch from `PREVENT_STUCK_MODIFIERS` to `STRICT_LAYER_RELEASE` * Remove `#define PREVENT_STUCK_MODIFIERS` from keymaps.
2018-07-16Adds support for Planck Rev 6 (#2666)Jack Humbert
* initial files for rev 6 with encoder * music map init, dip scan added * adds ws2812 driver for arm * flesh out dip and encoder support * adds default encoder res * adds default encoder res * start muse implementation * muse working with encoder as control * flip direction * try mouse wheel again * dont break other revs * dont break other revs * conditional autio * pwm ws driver (not working) * update build includes for chibios * update ws2812 driver/config * last commit for glasser code * working example * remove rgb for now * finish up rev6 * working encoder keycodes * add warnings to planck keymaps about the LAYOUT
2018-07-15Fix tapdance when one-shot is disabled.Joe Wasson
2018-05-16Fixed sprintf overflowM1K3L08
2018-05-15Add default to LEADER_TIMEOUT in case it's not defined (#2818)Drashna Jaelre
* Add default to LEADER_TIMEOUT in case it's not defined * Update Leader Timeout default
2018-05-08updated music maskJack Humbert
2018-05-02Update to drashna keymaps and userspace (#2876)Drashna Jaelre
* Fix Unicode sample * Add irony mark * Remove unpretty keymaps * Add QMK DFU and Conditional Music Mode * Unicode fixes * Unicode fixes * Make layer indication more modular * Finish removing Faux Click * Cleanup of UserSpace and addition of 'update_tri_layer_state' function * Add modifier status indicators to Orthodox * Remove tri layer function * Minor tweaks * Remove the Orthodox's Indicator's reliance on layer_state_set * Add custom EEPROM settings * Make EEPROM config more efficient * Viterbi Config * Add Iris Keyboard layout and Userspace cleanup * Iris keyboard tweaks * Use Grave Escape on Iris * Update Readmes
2018-05-01Added command history to terminal with other bug fixes, added new song to ↵M1K
song_list.h (#2855) * Implemented Terminal + added song to song_list.h * Added wait() in order to prevent misbehaviour of 'command not found'
2018-04-28Fix Clicky Down codeDrashna Jaelre
2018-04-21Fix Audio Clicky sub-feature (#2784)Drashna Jaelre
* Fix Audio Clicky feature * Add to features
2018-04-20Update to drashna keymaps and userspace (#2756)Drashna Jaelre
* Re-add NO_SECRETS option * Add Thumb Clusters defines for default layout * Minor tweaks * More Minor tweaks * Revert Orthodox layers and move function keys around * Fix keymap so it will compile under the Infinity Since I haven't added 'pretty' layouts to it yet * Cleanup of userspace * Cleanup keymaps * OMG fix Workman * Move mods layer key around * Reduce debounce in Ergodox EZ * Fix Infinity layers * Add list of pins used by Ergdox EZ for easy reference * Revert "Reduce debounce in Ergodox EZ" This reverts commit 8a3db2673b419ef8032c40a6d29156cef632f9cd. * Add Clicky toggle to Orthodox * Fix Audio Clicky keycode * Enable Faux Clicky by default * Add Unicode stuff
2018-04-19Add Faux Clicking as subset of Audio feature (#2748)Drashna Jaelre
* Add Faux Clicky to main Audio feature * Make clicky settings user configurable * Add additional documentation * Don't play when music mode is enabled (hopefully)
2018-04-18Added bending to MIDI (#2740)adiron
This is done via MI_BENDD and MI_BENDU. At the moment the value is hardcoded and cannot be adjusted (future commit?) and is the max for the `midi_send_pitchbend` function (up or down). `MI_BENDD` and `MI_BENDU` both require `#define MIDI_ADVANCED` MIDI pitch bend was already implemented in `protocol/midi.c`, I merely added the keycodes to trigger them. :) (thanks to Jack, two years ago in commit fb4fe52c apparently)
2018-04-07Improve state/chord handling and clean up namespaceSeebs
Some values that can never, ever, change were held in local variables, rather than in PROGMEM. Fixed. Change "pressed" to a signed int so the test for < 0 makes sense, and to avoid possible weird failure modes in the case where a key release comes in when pressed is already zero. (Shouldn't happen, sure, but computers are weird.) A lot of things in process_steno had external linkage for no particular reason. They've been marked static. Stuff still builds. Distinguish between currently-held keys and keys that have been held, and expose these values through a nicely-named API so other code could, say, check on the current set of steno chording in order to make displays. Also in passing fix up the "state" value having external linkage so it could clash with other people's variable declarations. The API also provides hooks for key processing and steno chord events, so you can monitor those events without having to run in matrix_scan_user and recheck the values directly. Also document these. There is no path through processing a key that doesn't end with a return false, so the nested return foo() are gone and we just return false.
2018-03-26add grave to auto-shift.Jason Stillwell
2018-03-16Rule to enable Modifiers with Auto-Shift (#2542)Jason Stillwell
* Re-enable modifiers with auto-shift * Auto-shift modifiers rule * missed a line * Documentation * fixing whitespace
2018-03-16Fixed various keymaps and the allocation of "key_combos" (#2526)Brian Choromanski
* Fixed plank keymaps so that they will compile for planck light * tv44:budi now compiles * s60_x:amnesia0287 now compiles * Fixed allocation of key_combos so that narze keymap for planck can compile correctly * Disabled rgb on ergodone and infinity * Enabled tap dance so it compiles * Added return statement so it compiles * If compiling on light disable extra functionality * Properly redefined variable so it compiles
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-02-04Fixes to get tap dance to fire at proper places (#2272)scauligi
* tap dance fixes: fire immediately upon completion and also get properly interrupted before macros * bugfix for tapdance improvement * fix build
2018-01-12added the possibility to hav shifted(modded) tap dancepmalecka
2017-12-20Add on/off/toggle keycodes for Auto ShiftDrashna Jael're
2017-12-20Add toggle option to AutoShiftU-LANDSRAAD\drashna
2017-12-10fixes midi compile errorJack Humbert
2017-12-10fix up midi stuff w/music modeJack Humbert
2017-10-29Fix for issue https://github.com/qmk/qmk_firmware/issues/1751Jody Foo
2017-10-29Fix process_combo.c compile warningShihpin Tseng
2017-09-18KC_TILD should not have been listed as an auto shift keyJeremy Cowgar
2017-09-18Added Auto Shift, tap key = normal, hold key = shifted state.Jeremy Cowgar
2017-09-12Updates send_string functionality, adds terminal feature (#1657)Jack Humbert
* implement basic terminal stuff * modify send_string to read normal strings too * add files bc yeah. working pgm detected * pgm detection apparently not working * adds send string keycodes, additional keycode support in send string * implement arguments * [terminal] add help command * [terminal] adds keycode and keymap functions * [terminal] adds nop.h, documentation * update macro docs
2017-09-10fix for toggle tap dancePtomerty
2017-08-30add UC_OSX_RALT to make unicode use the Right Alt key on OSXMarco Fontani
2017-08-20Allow steno to build when NKRO is not defined.Joe Wasson
Was missing eeprom.h, MAX(), and memset.
2017-08-15Wrapped process_leader.c in #ifndef DISABLE_LEADER to allow compilation with ↵Martin Sandiford
DISABLE_LEADER defined.
2017-08-08Rename SHIFT macro to BV_64Fredric Silberberg
2017-08-08Added support for locking One Shot modifiers.Fredric Silberberg
2017-08-08Remove hex print code.Fredric Silberberg
2017-08-08Initial implementation of the key_lock feature.Fredric Silberberg
2017-08-02tap-dance: key + layer helperGergely Nagy
This adds the `ACTION_TAP_DANCE_DUAL_ROLE` helper, which makes it easy to have keys that act as a key on the first tap, and as a layer toggle on the second. Fixes #1532, reported by @Ptomerty. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2017-07-27Add copyright to steno files.Joe Wasson
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-27Add TX Bolt protocol support for StenographyJoe Wasson
Requires virtser; Allows QMK to speak the TX BOlt protocol used by stenography machines and software (such as Plover). The upside is that Plover can be configured to listen only to TX Bolt allow the keyboard to switch layers without need to enable/disable the Plover software, or to have a second non-Steno keyboard work concurrently.
2017-07-24adds option for alt pitch standardsJack Humbert