summaryrefslogtreecommitdiff
path: root/quantum/quantum.c
AgeCommit message (Collapse)Author
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
2016-10-16working with power limitJack Humbert
2016-10-10Unicode map framework. Allow unicode up to 0xFFFFF using separatePriyadi Iman Nurcahyo
mapping table
2016-09-06Use keyboard config for nkro (#7)IBNobody
* removing nkro references - wip * changed NKRO to be defined by keymap_config
2016-09-06Set keyboard_nkro (used by TMK) w/ MAGIC_HOST_NKROIBNobody
If NKRO is enabled, also set keyboard_nkro with MAGIC_HOST_NKRO and MAGIC_UNHOST_NKRO.
2016-08-18Add a register/unregister_code16 pair of functionsGergely Nagy
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-18Fix the process_record_nocache functionWojciech Siewierski
This function relies on checking the disable_action_cache static variable before accessing the layer cache.
2016-08-15process_unicode: Call process_ucis() automaticallyGergely Nagy
If UCIS is enabled, call process_ucis() automatically from process_record_quantum(). Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-07-13extract reset keyboard into a functionPavlos Vinieratos
that makes it easy to call reset_keyboard() from a function in a keymap
2016-07-11Merge pull request #477 from Smilliam/masterJack Humbert
Canceling Space Cadet state with opposite shift key
2016-07-10Made rollover behavior for space cadet optionalSmilliam
2016-07-08Move return out of event if blockTerryMathews
According to Jack, this makes the return case not be processed. Doesn't break anything in the firmware.
2016-07-07Create keycodes for RGB control functionsTerryMathews
Moves RGB controls out of the macro function and assigns them their own keycodes: RGB_TOG (toggle on/off) RGB_MOD (mode step) RGB_HUI (increase hue) RGB_HUD (decrease hue) RGB_SAI (increase saturation) RGB_SAD (decrease saturation) RGB_VAI (increase brightness) RGB_VAD (decrease brightness)
2016-07-06default keymap, reset sorted out for now, added serial to makefileJack Humbert