Commit Graph

78 Commits (b911e1966f6e9077df01c01d77b4e2018b582eb0)

Author SHA1 Message Date
Gabriel Young a64ae10662 Update existing keymaps
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)
8 years ago
Gabriel Young ea14ed122f Add basic layer to sample MIDI keycap 8 years ago
Gabriel Young 1000799d1e Factor basic note processing into respective processors 8 years ago
Gabriel Young 525be99ee9 Split MIDI functionality into MIDI_BASIC and MIDI_ADVANCED
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
8 years ago
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