Commit Graph

74 Commits (ed15973a3ffff6e18e62f81654632b97961f18d2)

Author SHA1 Message Date
Gabriel Young ed15973a3f Document size added by MIDI_ENABLE (~3800 bytes according to my experiments)
satan/keymaps/midi

MIDI_ENABLE = no

   text	   data	    bss	    dec	    hex	filename
      0	  17080	      0	  17080	   42b8	satan_midi.hex

MIDI_ENABLE = yes
#define MIDI_TONE_KEYCODE_OCTAVES 3 // default

   text	   data	    bss	    dec	    hex	filename
      0	  20846	      0	  20846	   516e	satan_midi.hex

MIDI_ENABLE = yes
#define MIDI_TONE_KEYCODE_OCTAVES 2 // fewer octaves

   text	   data	    bss	    dec	    hex	filename
      0	  20846	      0	  20846	   516e	satan_midi.hex
8 years ago
Gabriel Young ae0752dff5 expose midi_config 8 years ago
Gabriel Young 5e6097f015 add keycodes for transpose range 8 years ago
Gabriel Young dd8f8e6bae implement modulation 8 years ago
Gabriel Young 7c5e510fe2 add support for pedal cc messages 8 years ago
Gabriel Young f67aefc522 remove disabled code 8 years ago
Gabriel Young a4163466cb Alternative version with a tone array
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%).
8 years ago
Gabriel Young f2b2e05f12 clean up commented code 8 years ago
Gabriel Young e405ab4bc6 initial implementation of polyphony using variable length array of notes on 8 years ago
Jack Humbert 1ac5dc9e52 fix travis and reduce warnings 8 years ago
Jack Humbert 58823b4e03 fix weirdness with arm and mods 8 years ago
Jack Humbert f89499e255 unique variable name 8 years ago
Jack Humbert c2a9acffd7 publicise variables 8 years ago
Jack Humbert 1bb574fe48 add unicode common file, get names right 8 years ago
Jack Humbert 09add35e7f add unicode common file, get names right 8 years ago
Jack Humbert cbabb4d417 split up unicode systems into different files 8 years ago
Priyadi Iman Nurcahyo 97816df7e7 Implement tap mod dual role for right side mods. 8 years ago
Jack Humbert 4348fb54d6 Merge pull request #960 from ofples/feature/combos
Keyboard combination triggers
8 years ago
Jack Humbert 0a3c5c06fe Merge pull request #981 from jonasoberschweiber/osx-surrogate-pairs
Add support for Unicode supplementary planes on OS X
8 years ago
SjB 5a860b71a1 race condition between oneshot_mods and tap_dance
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.
8 years ago
Jack Humbert 841d7e6a1d turn off rgb_midi in ez 8 years ago
Priyadi Iman Nurcahyo 30b80a23f3 Unregister all mods before inputting Unicode, and reregister afterwards 8 years ago
Jonas Oberschweiber 0aa413af44 Add support for supplementary planes for OS X 8 years ago
Jack Humbert 273faa4d9c add different scales for music mode 8 years ago
Ofer Plesser 6a462c818c Merge branch 'master' into feature/combos 8 years ago
Ofer Plesser 6e7cfa83b9 Refactored as well as added support for action keys in combos 8 years ago
Jack Humbert ae95834f5a specialise music variables 8 years ago
Ofer Plesser b6bf4e0dce Added support for timing out combos if a key as been pressed for longer than COMBO_TERM 8 years ago
Ofer Plesser eac8fa7999 Implemented basic key combination feature 8 years ago
Jack Humbert 6e0f994950 Merge branch 'master' of github.com:jackhumbert/qmk_firmware into wu5y7 8 years ago
Priyadi Iman Nurcahyo 6fee7e178f fix strict-prototypes warning 8 years ago
Jack Humbert 33e62c080c merging 8 years ago
Jack Humbert 8d60354d5a Merge pull request #844 from priyadi/unicode_wincompose_input
Unicode WinCompose input method
8 years ago
Priyadi Iman Nurcahyo 4a666c2010 Unicode WinCompose input method 8 years ago
Priyadi Iman Nurcahyo e7d5dc89f2 UNICODE_MAP: remove 5 char limit; ignore leading zeroes; handle OS limitations 8 years ago
Jack Humbert a889b899e2 working with power limit 8 years ago
Priyadi Iman Nurcahyo 5b2e455d3b Unicode map framework. Allow unicode up to 0xFFFFF using separate
mapping table
8 years ago
coderkun a3f5a4cf58 Declare Unicode method hex_to_keycode() as “weak”
Declare Unicode method hex_to_keycode() as “weak” to be able to override it in keymaps.
8 years ago
Jack Humbert 7c76d36454 Merge pull request #794 from AGausmann/midi-patch
Missing ifdef statement
8 years ago
Adam Gausmann 8d99140d1b Missing ifdef statement 8 years ago
Pavlos Vinieratos cda4b534fa add user_data field 8 years ago
Pavlos Vinieratos 0edc82f030 formatting 8 years ago
Pavlos Vinieratos e1f131db8e restore each_tap callback 8 years ago
Gergely Nagy acda2b793f tap-dance: Do not start a sequence on keyup
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>
8 years ago
Gergely Nagy c9ea236fc3 process_unicode: Add get_unicode_input_mode()
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>
8 years ago
Gergely Nagy a058ae40e2 quantum: Move qk_ucis_state to process_unicode.c
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>
8 years ago
coderkun 81594c7883 Drop method to set Unicode input key and declare start and finish methods as “weak” instead 8 years ago
coderkun dffdeb50b7 Add method to set Unicode input key for ISO 14755
https://github.com/jackhumbert/qmk_firmware/issues/672
8 years ago
Gergely Nagy 0d28787c5c Add a register/unregister_code16 pair of functions
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>
8 years ago
Gergely Nagy 29f64d7a93 tap-dance: Major rework, to make it more reliable
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>
8 years ago