summaryrefslogtreecommitdiff
path: root/quantum/process_keycode
AgeCommit message (Collapse)Author
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
2017-07-23adds music mode, music mode songs, music maskJack Humbert
2017-07-23escape song playing in musicJack Humbert
2017-07-23clean-up planck and preonic keymaps, move audio stuff aroundJack Humbert
2017-05-29switched to uint8 and 16Nick Choi
2017-05-25removed need to set customtapping term 0. defaults to 0 alreadyNick Choi
2017-05-25changed -1 to 0 can't have negative unsigned ints 🤔Nick Choi
2017-05-25moved specific tap term to its own functionNick Choi
included custom_tapping_term in action struct
2017-05-25Added per case tapping term, updated FF-nikchi keymap.Nick Choi
2017-05-15emoji support butNick Choi
2017-04-13Fix warnings in process_printerFred Sundvik
2017-04-13Fix undefined eeprom warnings in unicode processingFred Sundvik
2017-03-30Worked around some new Makefile issues.nielsenz
2017-03-30Pulling and pushing troublesnielsenz
2017-03-29Merge branch 'master' into to_pushZay950
2017-03-28Clarify the quantum license (#1042)skullydazed
* Clarify the license for files we have signoff on * Update against the currently signed off files * Remove unused and not clearly licensed headers * Replace an #endif I accidentally removed while resolving merge conflicts
2017-03-28Merge pull request #1112 from newsboytko/newsboytko/midi-keycodesJack Humbert
Flesh out MIDI support
2017-03-02fix 'stop_all_notes' naming to be more consistentGabriel Young
2017-02-25Update existing keymapsGabriel Young
Update existing keymaps to enable MIDI_BASIC functionality. Also added an option MIDI_ENABLE_STRICT to be strict about keycode use (which also reduces memory footprint at runtime)
2017-02-25Add basic layer to sample MIDI keycapGabriel Young
2017-02-25Factor basic note processing into respective processorsGabriel Young