summaryrefslogtreecommitdiffstats
path: root/quantum/process_keycode
AgeCommit message (Collapse)AuthorFilesLines
2017-02-20implement modulationGabriel Young2-204/+55
2017-02-20add support for pedal cc messagesGabriel Young1-10/+51
2017-02-20remove disabled codeGabriel Young1-129/+0
2017-02-20Alternative version with a tone arrayGabriel Young1-0/+109
tone array: text data bss dec hex filename 0 25698 0 25698 6462 satan_newsboytko.hex 0x6480 bytes written into 0x7000 bytes memory (89.73%). note on array: text data bss dec hex filename 0 25802 0 25802 64ca satan_newsboytko.hex 0x6500 bytes written into 0x7000 bytes memory (90.18%).
2017-02-20clean up commented codeGabriel Young1-137/+0
2017-02-20initial implementation of polyphony using variable length array of notes onGabriel Young2-2/+200
2017-02-16fix travis and reduce warningsJack Humbert1-0/+1
2017-02-16fix weirdness with arm and modsJack Humbert2-19/+20
2017-02-16unique variable nameJack Humbert2-19/+19
2017-02-15publicise variablesJack Humbert2-4/+3
2017-02-15add unicode common file, get names rightJack Humbert1-0/+86
2017-02-15add unicode common file, get names rightJack Humbert6-209/+134
2017-02-15split up unicode systems into different filesJack Humbert6-236/+229
2017-02-10Implement tap mod dual role for right side mods.Priyadi Iman Nurcahyo1-1/+1
2017-02-07Merge pull request #960 from ofples/feature/combosJack Humbert2-0/+177
Keyboard combination triggers
2017-02-07Merge pull request #981 from jonasoberschweiber/osx-surrogate-pairsJack Humbert1-1/+10
Add support for Unicode supplementary planes on OS X
2017-01-29race condition between oneshot_mods and tap_danceSjB2-1/+7
since the keycode for a tap dance process gets process only after the TAPPING_TERM timeout, you really only have ONESHOT_TIMEOUT - TAPPING_TERM time to tap or double tap on the key. This fix save the oneshot_mods into the action.state structure and applies the mods with the keycode when it's registered. It also unregisters the mod when the the tap dance process gets reset.
2017-01-23turn off rgb_midi in ezJack Humbert1-0/+1
2017-01-08Unregister all mods before inputting Unicode, and reregister afterwardsPriyadi Iman Nurcahyo1-8/+33
2016-12-31Add support for supplementary planes for OS XJonas Oberschweiber1-1/+10
2016-12-24add different scales for music modeJack Humbert1-0/+9
2016-12-16Merge branch 'master' into feature/combosOfer Plesser1-3/+3
2016-12-16Refactored as well as added support for action keys in combosOfer Plesser2-68/+89
2016-12-12specialise music variablesJack Humbert1-3/+3
2016-12-10Added support for timing out combos if a key as been pressed for longer than ↵Ofer Plesser2-31/+96
COMBO_TERM
2016-12-09Implemented basic key combination featureOfer Plesser2-0/+91
2016-11-29Merge branch 'master' of github.com:jackhumbert/qmk_firmware into wu5y7Jack Humbert1-0/+1
2016-11-26fix strict-prototypes warningPriyadi Iman Nurcahyo1-0/+1
2016-11-13mergingJack Humbert2-4/+60
2016-11-10Keep unicode's input_mode through a power cycleZach Nielsen1-0/+6
2016-10-26Merge pull request #844 from priyadi/unicode_wincompose_inputJack Humbert2-4/+10
Unicode WinCompose input method
2016-10-23Unicode WinCompose input methodPriyadi Iman Nurcahyo2-4/+10
2016-10-23UNICODE_MAP: remove 5 char limit; ignore leading zeroes; handle OS limitationsPriyadi Iman Nurcahyo1-7/+27
2016-10-16working with power limitJack Humbert3-0/+522
2016-10-09Unicode map framework. Allow unicode up to 0xFFFFF using separatePriyadi Iman Nurcahyo2-0/+30
mapping table
2016-10-02Declare Unicode method hex_to_keycode() as “weak”coderkun1-0/+1
Declare Unicode method hex_to_keycode() as “weak” to be able to override it in keymaps.
2016-09-30Merge pull request #794 from AGausmann/midi-patchJack Humbert1-1/+3
Missing ifdef statement
2016-09-29Missing ifdef statementAdam Gausmann1-1/+3
2016-09-21add user_data fieldPavlos Vinieratos1-0/+2
2016-09-21formattingPavlos Vinieratos1-4/+4
2016-09-21restore each_tap callbackPavlos Vinieratos1-0/+1
2016-09-01tap-dance: Do not start a sequence on keyupGergely Nagy1-2/+3
There was an odd case, which confused the hell out of tap-dance: suppose you had a number of tap-dance keys, on a layer, and as part of the tap-dance, you turned that layer off - or had it on one-shot to begin with. In this case, the keydown event would trigger the tap-dance key, but the keyup would not. This had two funky consequences: - tap-dance did not correctly register that the dance has ended. - pressing any other tap-dance key would interrupt the previous tap-dance, and potentially input unwanted characters. To fix this, we simply do not start a tap-dance sequence on keyup, only when it is pressed. This way the previous sequence has enough time to time-out and finish properly, and we don't get confused. This fixes algernon/ergodox-layout#107. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-31process_unicode: Add get_unicode_input_mode()Gergely Nagy2-0/+5
There may be cases where one would like to know the current Unicode input mode, without having to keep track of it themselves. Add a function that does just this. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-24quantum: Move qk_ucis_state to process_unicode.cGergely Nagy2-2/+6
In order to not declare the same variable in multiple objects (which happens when building UCIS-enabled keymap for both the ErgoDox EZ and the ErgoDox Infinity), move the declaration to the .c file, and keep only an extern reference in the header. Many thanks to @fredizzimo for spotting the error in Travis, and suggesting the fix. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-21Drop method to set Unicode input key and declare start and finish methods as ↵coderkun2-13/+4
“weak” instead
2016-08-21Add method to set Unicode input key for ISO 14755coderkun2-2/+13
https://github.com/jackhumbert/qmk_firmware/issues/672
2016-08-18Add a register/unregister_code16 pair of functionsGergely Nagy1-4/+4
These functions register not only the 8bit keycode, but the modifiers too. It doesn't handle the full range of the upper 8bits, just the mods, but that's a good start. Changed the tap-dance pair functions to use these, so one can do: `ACTION_TAP_DANCE_DOUBLE (KC_COLN, KC_SCLN)` ...and that will do the right thing. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-17tap-dance: Major rework, to make it more reliableGergely Nagy2-64/+66
This reworks how the tap-dance feature works: instead of one global state, we have a state for each tap-dance key, so we can cancel them when another tap-dance key is in flight. This fixes #527. Since we have a state for each key, we can avoid situation where a keyup would mess with our global state. This fixes #563. And while here, we also make sure to fire events only once, and this fixes #574. There is one breaking change, though: tap-dance debugging support was removed, because dumping the whole state would increase the firmware size too much. Any keymap that made use of this, will have to be updated (but there's no such keymap in the repo). Also, there's a nice trick used in this rework: we need to iterate through tap_dance_actions in a few places, to check for timeouts, and so on. For this, we'd need to know the size of the array. We can't discover that at compile-time, because tap-dance gets compiled separately. We'd like to avoid having to terminate the list with a sentinel value, because that would require updates to all keymaps that use the feature. So, we keep track of the highest tap-dance code seen so far, and iterate until that index. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-17tap-dance: Include action_tapping.h for TAPPING_TERMGergely Nagy1-0/+1
Include `action_tapping.h`, so the keymap does not have to define a `TAPPING_TERM` for us, and we can use the default. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15process_unicode: Introduce a slight delayGergely Nagy2-0/+8
When entering unicode codes, use some delay, so the OS has time to process the information. This is not needed on all systems, but some seem to require it. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>