Commit Graph

193 Commits (1b7fa46f8e0616450bed8bff71bc1cffbca2eac8)

Author SHA1 Message Date
Drashna Jaelre a0309db983 Add On/Off keycodes 7 years ago
Drashna Jaelre cfb1b353ee Add functions so you can configure programatically 7 years ago
Drashna Jaelre e72e4b6920 Store Clicky status in EEPROM 7 years ago
Joe Wasson 743449472e Make `PREVENT_STUCK_MODIFIERS` the default (#3107)
* Remove chording as it is not documented, not used, and needs work.

* Make Leader Key an optional feature.

* Switch from `PREVENT_STUCK_MODIFIERS` to `STRICT_LAYER_RELEASE`

* Remove `#define PREVENT_STUCK_MODIFIERS` from keymaps.
7 years ago
Shihpin Tseng 1950a145c7 Fix process_combo which assign -1 to uint16_t 7 years ago
Jack Humbert ade22f8e2c
Adds support for Planck Rev 6 (#2666)
* initial files for rev 6 with encoder

* music map init, dip scan added

* adds ws2812 driver for arm

* flesh out dip and encoder support

* adds default encoder res

* adds default encoder res

* start muse implementation

* muse working with encoder as control

* flip direction

* try mouse wheel again

* dont break other revs

* dont break other revs

* conditional autio

* pwm ws driver (not working)

* update build includes for chibios

* update ws2812 driver/config

* last commit for glasser code

* working example

* remove rgb for now

* finish up rev6

* working encoder keycodes

* add warnings to planck keymaps about the LAYOUT
7 years ago
Joe Wasson 81756d7b21 Fix tapdance when one-shot is disabled. 7 years ago
M1K3L08 42a72c633b Fixed sprintf overflow 7 years ago
Drashna Jaelre a572323f94 Add default to LEADER_TIMEOUT in case it's not defined (#2818)
* Add default to LEADER_TIMEOUT in case it's not defined

* Update Leader Timeout default
7 years ago
Jack Humbert 63d5c947d3 updated music mask 7 years ago
Drashna Jaelre e5540dd055 Update to drashna keymaps and userspace (#2876)
* Fix Unicode sample

* Add irony mark

* Remove unpretty keymaps

* Add QMK DFU and Conditional Music Mode

* Unicode fixes

* Unicode fixes

* Make layer indication more modular

* Finish removing Faux Click

* Cleanup of UserSpace and addition of 'update_tri_layer_state' function

* Add modifier status indicators to Orthodox

* Remove tri layer function

* Minor tweaks

* Remove the Orthodox's Indicator's reliance on layer_state_set

* Add custom EEPROM settings

* Make EEPROM config more efficient

* Viterbi Config

* Add Iris Keyboard layout and Userspace cleanup

* Iris keyboard tweaks

* Use Grave Escape on Iris

* Update Readmes
7 years ago
M1K 5112af887a Added command history to terminal with other bug fixes, added new song to song_list.h (#2855)
* Implemented Terminal + added song to song_list.h

* Added wait() in order to prevent misbehaviour of 'command not found'
7 years ago
Drashna Jaelre 6f37bd6678 Fix Clicky Down code 7 years ago
Drashna Jaelre 33fdd1d255 Fix Audio Clicky sub-feature (#2784)
* Fix Audio Clicky feature

* Add to features
7 years ago
Drashna Jaelre 1bb77c0875
Update to drashna keymaps and userspace (#2756)
* Re-add NO_SECRETS option

* Add Thumb Clusters defines for default layout

* Minor tweaks

* More Minor tweaks

* Revert Orthodox layers and move function keys around

* Fix keymap so it will compile under the Infinity

Since I haven't added 'pretty' layouts to it yet

* Cleanup of userspace

* Cleanup keymaps

* OMG fix Workman

* Move mods layer key around

* Reduce debounce in Ergodox EZ

* Fix Infinity layers

* Add list of pins used by Ergdox EZ for easy reference

* Revert "Reduce debounce in Ergodox EZ"

This reverts commit 8a3db2673b419ef8032c40a6d29156cef632f9cd.

* Add Clicky toggle to Orthodox

* Fix Audio Clicky keycode

* Enable Faux Clicky by default

* Add Unicode stuff
7 years ago
Drashna Jaelre 8b0b17a369 Add Faux Clicking as subset of Audio feature (#2748)
* Add Faux Clicky to main Audio feature

* Make clicky settings user configurable

* Add additional documentation

* Don't play when music mode is enabled (hopefully)
7 years ago
adiron 3d3c093173 Added bending to MIDI (#2740)
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)
7 years ago
Seebs c0baf2a964 Improve state/chord handling and clean up namespace
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.
7 years ago
Jason Stillwell 66162b2b68 add grave to auto-shift. 7 years ago
Jason Stillwell 00b4dce605 Rule to enable Modifiers with Auto-Shift (#2542)
* Re-enable modifiers with auto-shift

* Auto-shift modifiers rule

* missed a line

* Documentation

* fixing whitespace
7 years ago
Brian Choromanski 6c74d734c2 Fixed various keymaps and the allocation of "key_combos" (#2526)
* 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
7 years ago
fredizzimo 53ff8a31b6 Merge ChibiOS and LUFA descriptor support (#2362)
* 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
7 years ago
scauligi 9fcda95363 Fixes to get tap dance to fire at proper places (#2272)
* tap dance fixes: fire immediately upon completion and also get properly interrupted before macros

* bugfix for tapdance improvement

* fix build
7 years ago
pmalecka a01dc4dd48 added the possibility to hav shifted(modded) tap dance 7 years ago
Drashna Jael're 4f484bc1c9 Add on/off/toggle keycodes for Auto Shift 7 years ago
U-LANDSRAAD\drashna a1fa70f94d Add toggle option to AutoShift 7 years ago
Jack Humbert 58898f77e3 fixes midi compile error 7 years ago
Jack Humbert a7c61f2947 fix up midi stuff w/music mode 7 years ago
Jody Foo f4949fdd32 Fix for issue https://github.com/qmk/qmk_firmware/issues/1751 8 years ago
Shihpin Tseng 750f8ec94e Fix process_combo.c compile warning 8 years ago
Jeremy Cowgar d0ca713eb4 KC_TILD should not have been listed as an auto shift key 8 years ago
Jeremy Cowgar abba393f57 Added Auto Shift, tap key = normal, hold key = shifted state. 8 years ago
Jack Humbert 7ad924bae5 Updates send_string functionality, adds terminal feature (#1657)
* 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
8 years ago
Ptomerty 68b6de60e0 fix for toggle tap dance 8 years ago
Marco Fontani da83f04a30 add UC_OSX_RALT to make unicode use the Right Alt key on OSX 8 years ago
Joe Wasson fc70c9ac9e Allow steno to build when NKRO is not defined.
Was missing eeprom.h, MAX(), and memset.
8 years ago
Martin Sandiford 4757140107 Wrapped process_leader.c in #ifndef DISABLE_LEADER to allow compilation with DISABLE_LEADER defined. 8 years ago
Fredric Silberberg 114565fe81 Rename SHIFT macro to BV_64 8 years ago
Fredric Silberberg a3e1d9a8cc Added support for locking One Shot modifiers. 8 years ago
Fredric Silberberg 02f405708b Remove hex print code. 8 years ago
Fredric Silberberg 8e1be7c792 Initial implementation of the key_lock feature. 8 years ago
Gergely Nagy d28b2c395b tap-dance: key + layer helper
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>
8 years ago
Joe Wasson 3e96e8a6a1 Add copyright to steno files. 8 years ago
Joe Wasson f30f12ec81 Add support for GeminiPR steno protocol.
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.
8 years ago
Joe Wasson 5987f67989 Add TX Bolt protocol support for Stenography
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.
8 years ago
Jack Humbert cefc09ae7d adds option for alt pitch standards 8 years ago
Jack Humbert 415d38ba9e adds music mode, music mode songs, music mask 8 years ago
Jack Humbert fd664fe85b escape song playing in music 8 years ago
Jack Humbert 6a3c66776c clean-up planck and preonic keymaps, move audio stuff around 8 years ago
Nick Choi 5393bc6f4e switched to uint8 and 16 8 years ago
Nick Choi b3144112d3 removed need to set customtapping term 0. defaults to 0 already 8 years ago
Nick Choi 7c8b166cce changed -1 to 0 can't have negative unsigned ints 🤔 8 years ago
Nick Choi aeb3a34636 moved specific tap term to its own function
included custom_tapping_term in action struct
8 years ago
Nick Choi e695b5a33b Added per case tapping term, updated FF-nikchi keymap. 8 years ago
Nick Choi eb660ef218 emoji support but 8 years ago
Fred Sundvik 109ae2f1e8 Fix warnings in process_printer 8 years ago
Fred Sundvik a4ef86034c Fix undefined eeprom warnings in unicode processing 8 years ago
nielsenz d1e66e2e07 Worked around some new Makefile issues. 8 years ago
nielsenz 7e54332890 Pulling and pushing troubles 8 years ago
Zay950 2366ebfbbd Merge branch 'master' into to_push 8 years ago
skullydazed 23839b8c6d Clarify the quantum license (#1042)
* 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
8 years ago
Jack Humbert 7e37daa2ce Merge pull request #1112 from newsboytko/newsboytko/midi-keycodes
Flesh out MIDI support
8 years ago
Gabriel Young d11962aeb2 fix 'stop_all_notes' naming to be more consistent 8 years ago
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
Priyadi Iman Nurcahyo 296b927e77 Fix UNICODE_MAP input_mode problem 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 9 years ago
Ofer Plesser b6bf4e0dce Added support for timing out combos if a key as been pressed for longer than COMBO_TERM 9 years ago
Ofer Plesser eac8fa7999 Implemented basic key combination feature 9 years ago
Jack Humbert 6e0f994950 Merge branch 'master' of github.com:jackhumbert/qmk_firmware into wu5y7 9 years ago
Priyadi Iman Nurcahyo 6fee7e178f fix strict-prototypes warning 9 years ago
Jack Humbert 33e62c080c merging 9 years ago