summaryrefslogtreecommitdiff
path: root/quantum/quantum.c
AgeCommit message (Collapse)Author
2017-09-18Added Auto Shift, tap key = normal, hold key = shifted state.Jeremy Cowgar
2017-09-12Updates send_string functionality, adds terminal feature (#1657)Jack Humbert
* 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
2017-09-06RGB improvements (#1684)skullydazed
* Allow the knight animation to be restricted to a portion of the LED strip * Add keys for jumping directly to particular animation modes * Remove orphaned break statements * Tweak the `RGB_MODE` buttons so they cycle through the same mode. * small indentation fix
2017-09-06update planck stuffJack Humbert
2017-08-12fix for issue #1568Balz Guenat
2017-08-11add short comment to grave_esc_ctrl_overrideBalz Guenat
2017-08-11add option to let ctrl override shift/gui for the GRAVE_ESC.Balz Guenat
This enables the ctrl+shift+esc shortcut to task manager on windows.
2017-08-10fix default layer songsJack Humbert
2017-08-08Added support for locking One Shot modifiers.Fredric Silberberg
2017-08-08Initial implementation of the key_lock feature.Fredric Silberberg
2017-07-27Add TX Bolt protocol support for StenographyJoe Wasson
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.
2017-07-23start updating audio docsJack Humbert
2017-07-23clean-up planck and preonic keymaps, move audio stuff aroundJack Humbert
2017-07-05Pull out sendstring variations to their own files.Shayne Holmes
Instead of having all sendstring keycode mappings in the main quantum.c file, give each one its own file in keymap_extras that can be #included in a user's keymap. If one is included, it will define the appropriate lookup tables and overwrite the weak definitions in quantum.c. (Including more than one sendstring definition will fail at compile time.) Update @rai-suta's test keymap to match, as well as the documentation.
2017-07-05Allow broader send_string layout customizability via compile flagShayne Holmes
Refactor new-ish JIS_KEYCODE send_string implementation with existing send_string Reshuffle JIS in line with other alternative keycodes for sendstring, and make them all accessible via compile-time options Add a separate function to allow sending a string with a delay.
2017-06-26Fix bug.rai-suta
2017-06-24Add JIS_KEYCODE layout for send_string()rai-suta
2017-06-16Added Grave Escape (#1391)jamesofarrell
* added QK_GRAVE_ESC and KC_GESC * fixed name * Fixed keycode emnu * Removed layer check, added left and right GUI mod detection for OSX GUI+~
2017-04-03quick fix for space cadet shiftJack Humbert
2017-03-28Clarify the quantum license (#1042)skullydazed
* 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
2017-03-28Merge pull request #1112 from newsboytko/newsboytko/midi-keycodesJack Humbert
Flesh out MIDI support
2017-03-24Refactor Bluetooth HandlingTravis La Marr
Refactored Bluetooth support to make adding new Bluetooth modules easier in the future. * Remove `OUT_BLE` key from QMK's keymap. `OUT_BT` is all we need now as there's no difference anymore. * Made BLUETOOTH_ENABLE build option legacy as not to break existing keymaps (Falls back to existing EZ Key support if on) * Removed `ADAFRUIT_BLE_ENABLE` build option * Created new build option `BLUETOOTH` with module option (Currently `AdafruitEZKey` & `AdafruitBLE`) * Moved all LUFA bluetooth key/mouse events under `BLUETOOTH_ENABLE` ifdef with selected modules output.
2017-02-25Update existing keymapsGabriel Young
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)
2017-02-25Factor basic note processing into respective processorsGabriel Young
2017-02-25Split MIDI functionality into MIDI_BASIC and MIDI_ADVANCEDGabriel Young
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
2017-02-19helps to save before committingJack Humbert
2017-02-19mergingJack Humbert
2017-02-15split up unicode systems into different filesJack Humbert
2017-02-13Add keycodes to turn on, turn off and toggle faux clickyPriyadi Iman Nurcahyo
2017-02-12adds soft pwm for non-timed portsJack Humbert
2017-02-07added functionality for just a portJack Humbert
2017-02-07Merge pull request #1057 from priyadi/selectable_outputJack Humbert
Implement runtime selectable output (USB or BT)
2017-02-06Merge pull request #960 from ofples/feature/combosJack Humbert
Keyboard combination triggers
2017-02-01Restrict outputselect to LUFA only for nowPriyadi Iman Nurcahyo
2017-02-01Limit outputselect to AVR only for nowPriyadi Iman Nurcahyo
2017-02-01Add layer switcher keycodes: OUT_AUTO, OUT_USB, OUT_BT, OUT_BLEPriyadi Iman Nurcahyo
2017-01-29registering a weak_mods when using register_code16SjB
Scenario: Locking the KC_LSHIFT, and then using a tap dance key that registers a S(KC_9) will unregister the KC_LSHIFT. The tap dance or any keycode that is registered should not have the side effect of cancelling a locked moditifier. We should be using a similar logic as the TMK codes in tmk_core/comman/action.c:158.
2017-01-23speeding up (un)register_code16SjB
In register_code16 and unregister_code16 we call register_code and unregister_code twice, once for the mods and once for the keycode. The (un)register_code have many check to see that keycode we have sent however because we know that we are sending it a mods key, why not just skip all of it and call (un)register_mods instead. This will skip alot of checks and should speedup the loop a little.
2016-12-23Added check that makes sure a code is a right modifier before considering it ↵Ofer Plesser
as one
2016-12-16Moved combo processing lower down in process logicOfer Plesser
2016-12-10Added support for timing out combos if a key as been pressed for longer than ↵Ofer Plesser
COMBO_TERM
2016-12-10Implemented basic key combination featureOfer Plesser
2016-11-26separated into api files/folderJack Humbert
2016-11-23travis plsJack Humbert
2016-11-21Merge branch 'master' of github.com:jackhumbert/qmk_firmware into wu5y7Jack Humbert
2016-11-21cleaning up new codeJack Humbert
2016-11-19Fix the Space Cadet timeout codeGergely Nagy
Define a default TAPPING_TERM in quantum.c, for keyboards that do not have it set. Fixes the CI failure. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-11-19Add a timeout to space-cadet shift.Gergely Nagy
When one holds a Space Cadet shift, to have it act as a shift, so that mouse behaviour changes, when released without any other key pressed, it still registers a paren. To remedy this, add a hold timeout: if the key is held longer than TAPPING_TERM, it will not register the parens. Fixes #884, with the side-effect of not being able to have parens trigger the OS-side repeat anymore. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-11-13mostly workingJack Humbert
2016-11-12mergingJack Humbert