summaryrefslogtreecommitdiffstats
path: root/quantum/process_keycode
Commit message (Collapse)AuthorAgeFilesLines
* Improve state/chord handling and clean up namespaceSeebs2018-04-072-49/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* add grave to auto-shift.Jason Stillwell2018-03-261-0/+1
|
* Rule to enable Modifiers with Auto-Shift (#2542)Jason Stillwell2018-03-161-0/+4
| | | | | | | | | | | | * Re-enable modifiers with auto-shift * Auto-shift modifiers rule * missed a line * Documentation * fixing whitespace
* Fixed various keymaps and the allocation of "key_combos" (#2526)Brian Choromanski2018-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | * 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
* Merge ChibiOS and LUFA descriptor support (#2362)fredizzimo2018-02-082-27/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Fixes to get tap dance to fire at proper places (#2272)scauligi2018-02-042-31/+49
| | | | | | | | * tap dance fixes: fire immediately upon completion and also get properly interrupted before macros * bugfix for tapdance improvement * fix build
* added the possibility to hav shifted(modded) tap dancepmalecka2018-01-122-0/+5
|
* Add on/off/toggle keycodes for Auto ShiftDrashna Jael're2017-12-202-10/+38
|
* Add toggle option to AutoShiftU-LANDSRAAD\drashna2017-12-201-0/+13
|
* fixes midi compile errorJack Humbert2017-12-101-1/+3
|
* fix up midi stuff w/music modeJack Humbert2017-12-102-8/+79
|
* Fix for issue https://github.com/qmk/qmk_firmware/issues/1751Jody Foo2017-10-291-1/+1
|
* Fix process_combo.c compile warningShihpin Tseng2017-10-291-1/+5
|
* KC_TILD should not have been listed as an auto shift keyJeremy Cowgar2017-09-181-1/+0
|
* Added Auto Shift, tap key = normal, hold key = shifted state.Jeremy Cowgar2017-09-182-0/+196
|
* Updates send_string functionality, adds terminal feature (#1657)Jack Humbert2017-09-123-0/+304
| | | | | | | | | | | | | | | | | | | | | | * 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
* fix for toggle tap dancePtomerty2017-09-101-1/+1
|
* add UC_OSX_RALT to make unicode use the Right Alt key on OSXMarco Fontani2017-08-303-2/+9
|
* Allow steno to build when NKRO is not defined.Joe Wasson2017-08-201-5/+4
| | | | Was missing eeprom.h, MAX(), and memset.
* Wrapped process_leader.c in #ifndef DISABLE_LEADER to allow compilation with ↵Martin Sandiford2017-08-151-0/+4
| | | | DISABLE_LEADER defined.
* Rename SHIFT macro to BV_64Fredric Silberberg2017-08-081-4/+4
|
* Added support for locking One Shot modifiers.Fredric Silberberg2017-08-082-12/+31
|
* Remove hex print code.Fredric Silberberg2017-08-081-1/+0
|
* Initial implementation of the key_lock feature.Fredric Silberberg2017-08-082-0/+144
|
* tap-dance: key + layer helperGergely Nagy2017-08-022-0/+32
| | | | | | | | | 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>
* Add copyright to steno files.Joe Wasson2017-07-272-1/+31
|
* Add support for GeminiPR steno protocol.Joe Wasson2017-07-272-23/+96
| | | | 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.
* Add TX Bolt protocol support for StenographyJoe Wasson2017-07-272-0/+94
| | | | 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.
* adds option for alt pitch standardsJack Humbert2017-07-241-1/+5
|
* adds music mode, music mode songs, music maskJack Humbert2017-07-233-53/+99
|
* escape song playing in musicJack Humbert2017-07-231-9/+15
|
* clean-up planck and preonic keymaps, move audio stuff aroundJack Humbert2017-07-231-6/+14
|
* switched to uint8 and 16Nick Choi2017-05-291-2/+2
|
* removed need to set customtapping term 0. defaults to 0 alreadyNick Choi2017-05-251-1/+0
|
* changed -1 to 0 can't have negative unsigned ints 🤔Nick Choi2017-05-251-1/+1
|
* moved specific tap term to its own functionNick Choi2017-05-252-4/+14
| | | | included custom_tapping_term in action struct
* Added per case tapping term, updated FF-nikchi keymap.Nick Choi2017-05-252-4/+10
|
* emoji support butNick Choi2017-05-151-1/+1
|
* Fix warnings in process_printerFred Sundvik2017-04-133-13/+15
|
* Fix undefined eeprom warnings in unicode processingFred Sundvik2017-04-132-0/+2
|
* Worked around some new Makefile issues.nielsenz2017-03-303-1/+3
|
* Pulling and pushing troublesnielsenz2017-03-302-75/+15
|
* Merge branch 'master' into to_pushZay9502017-03-2925-658/+1935
|\
| * Clarify the quantum license (#1042)skullydazed2017-03-2823-14/+376
| | | | | | | | | | | | | | | | | | | | * 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
| * Merge pull request #1112 from newsboytko/newsboytko/midi-keycodesJack Humbert2017-03-286-315/+399
| |\ | | | | | | Flesh out MIDI support
| | * fix 'stop_all_notes' naming to be more consistentGabriel Young2017-03-025-6/+6
| | |
| | * Update existing keymapsGabriel Young2017-02-253-3/+4
| | | | | | | | | | | | | | | | | | 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)
| | * Add basic layer to sample MIDI keycapGabriel Young2017-02-252-2/+3
| | |
| | * Factor basic note processing into respective processorsGabriel Young2017-02-256-82/+174
| | |
| | * Split MIDI functionality into MIDI_BASIC and MIDI_ADVANCEDGabriel Young2017-02-252-3/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MIDI_ENABLE = no text data bss dec hex filename 0 17080 0 17080 42b8 satan_midi.hex MIDI_ENABLE = yes MIDI_BASIC undefined MIDI_ADVANCED undefined text data bss dec hex filename 0 19494 0 19494 4c26 satan_midi.hex MIDI_ENABLE = yes #define MIDI_BASIC MIDI_ADVANCED undefined text data bss dec hex filename 0 19788 0 19788 4d4c satan_midi.hex MIDI_ENABLE = yes MIDI_BASIC undefined #define MIDI_ADVANCED text data bss dec hex filename 0 20846 0 20846 516e satan_midi.hex MIDI_ENABLE = yes #define MIDI_BASIC #define MIDI_ADVANCED text data bss dec hex filename 0 21140 0 21140 5294 satan_midi.hex