aboutsummaryrefslogtreecommitdiffstats
path: root/quantum/quantum.h
Commit message (Collapse)AuthorAgeFilesLines
* Refactor battery driver (#25550)Joel Challis2025-08-171-0/+4
|
* Remove `process_action_kb` callback (#25331)Joel Challis2025-06-041-1/+0
|
* [Core] get_keycode_string(): function to format keycodes as strings, for ↵Pascal Getreuer2025-03-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | more readable debug logging. (#24787) * keycode_string(): Format keycodes as strings. This adds the `keycode_string()` function described in https://getreuer.info/posts/keyboards/keycode-string/index.html as a core feature. * Fix formatting. * keycode_string review revisions. * Rename keycode_string() -> get_keycode_string() for consistency with existing string utils like get_u8_str(). * Revise custom keycode names with separate _user and _kb tables. * Correct indent in builddefs/generic_features.mk. Co-authored-by: Ryan <fauxpark@gmail.com> * Add KC_NUHS, KC_NUBS, and KC_CAPS. * Fix linking error with custom names. * Attempt at simplifying interface. * Formatting fix. * Several fixes and revisions. * Don't use PSTR in KEYCODE_STRING_NAME, since this fails to build on AVR. Store custom names in RAM. * Revise the internal table of common keycode names to use its own storage representation, still in PROGMEM, and now more efficiently stored flat in 8 bytes per entry. * Support Swap Hands keycodes and a few other keycodes. * Revert "Formatting fix." This reverts commit 2a2771068c7ee545ffac4103aa07e847a9ec3816. * Revert "Attempt at simplifying interface." This reverts commit 8eaf67de76e75bc92d106a8b0decc893fbc65fa5. * Simplify custom names API by sigprof's suggestion. * Support more keycodes. * Add QK_LOCK keycode. * Add Secure keycodes. * Add Joystick keycodes. * Add Programmable Button keycodes. * Add macro MC_ keycodes. * For remaining keys in known code ranges, stringify them as "QK_<feature>+<number>". For instance, "QK_MIDI+7". * Bug fix and a few improvements. * Fix missing right-hand bit when displaying 5-bit mods numerically. * Support KC_HYPR, KC_MEH, HYPR_T(kc), MEH_T(kc). * Exclude one-shot keycodes when NO_ACTION_ONESHOT is defined. --------- Co-authored-by: Ryan <fauxpark@gmail.com>
* Community modules (#24848)Nick Brassel2025-02-261-0/+4
|
* Review fixes for layer lock feature (#24627)Joel Challis2024-11-211-1/+1
|
* [Core] Add Layer Lock feature (#23430)Drashna Jaelre2024-11-211-0/+4
| | | | | | Co-authored-by: Daniel <1767914+iamdanielv@users.noreply.github.com> Co-authored-by: Pascal Getreuer <getreuer@google.com> Co-authored-by: Pascal Getreuer <50221757+getreuer@users.noreply.github.com>
* Add easier way to set default single layer (#24376)Andre Brait2024-10-061-0/+1
| | | | * Add set_single_default_layer to match set_single_persistent_default_layer * Implements exactly the same behavior, except the write to EEPROM
* [Core] Add OS detection callbacks (#21777)Andre Brait2024-02-161-0/+4
|
* Begin removal of bootmagic lite terminology (#22970)Joel Challis2024-01-281-1/+4
|
* Improve and Cleanup Shutdown callbacks (#21060)Drashna Jaelre2023-11-261-2/+2
| | | | Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
* Prep work for NKRO report separation (#22268)Ryan2023-10-141-0/+2
| | | | | | | | | | | * Clean up some keyboard/userspace code * Rename `KEYBOARD_REPORT_BITS` -> `NKRO_REPORT_BITS` * Add some missing includes * Use `PACKED` define for report types * Fix incorrect function signatures for FlexRAM EEPROM driver
* Add `mousekey.h` include to `quantum.h` (#21897)Ryan2023-09-041-0/+4
|
* Unicode, Unicodemap and UCIS refactor (#21659)Ryan2023-08-271-6/+6
|
* quantum.h: clean up process_keycode includes (#21579)Ryan2023-07-291-30/+1
|
* [Core] Add Repeat Key ("repeat last key") as a core feature. (#19700)Pascal Getreuer2023-05-201-0/+5
| | | | | Co-authored-by: casuanoob <96005765+casuanoob@users.noreply.github.com> Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* Add a user callback for pre process record (#20584)Albert Y2023-05-131-0/+3
|
* Remove use of keymap.h (#20004)Joel Challis2023-03-271-1/+6
|
* Refactor Leader key feature (#19632)Ryan2023-02-121-0/+1
| | | | Co-authored-by: Drashna Jaelre <drashna@live.com>
* [Core] Tri Layer Keys (#19795)Drashna Jaelre2023-02-121-3/+4
| | | | | | | Co-authored-by: wilba <wilba@wilba.tech> Co-authored-by: Pablo Martínez <58857054+elpekenin@users.noreply.github.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
* Strip out more of config_common (#19722)Joel Challis2023-01-301-1/+1
|
* Digitizer feature improvements (#19034)Ryan2022-11-131-0/+4
|
* Remove thermal printer. (#18959)Nick Brassel2022-11-051-4/+0
|
* [Core] Add getreuer's Autocorrect feature to core (#15699)Drashna Jaelre2022-09-171-0/+4
| | | Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
* Refactor Unicode feature (#18333)Ryan2022-09-121-0/+1
|
* implement `tap_code16_delay` (#17748)JayceFayne2022-07-231-0/+1
|
* Feature-ify Send String (#17275)Ryan2022-07-021-1/+4
|
* Removes terminal from QMK. (#17258)Nick Brassel2022-05-311-6/+0
|
* [Core] Add Caps Word feature to core (#16588)Pascal Getreuer2022-05-141-0/+5
| | | | Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
* [Core] Add Reboot keycode to core (#15990)Drashna Jaelre2022-05-141-0/+1
|
* Implement XAP 'secure' core requirements (#16843)Joel Challis2022-04-161-0/+5
| | | | Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
* Quantum Painter (#10174)Nick Brassel2022-04-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Install dependencies before executing unit tests. * Split out UTF-8 decoder. * Fixup python formatting rules. * Add documentation for QGF/QFF and the RLE format used. * Add CLI commands for converting images and fonts. * Add stub rules.mk for QP. * Add stream type. * Add base driver and comms interfaces. * Add support for SPI, SPI+D/C comms drivers. * Include <qp.h> when enabled. * Add base support for SPI+D/C+RST panels, as well as concrete implementation of ST7789. * Add support for GC9A01. * Add support for ILI9341. * Add support for ILI9163. * Add support for SSD1351. * Implement qp_setpixel, including pixdata buffer management. * Implement qp_line. * Implement qp_rect. * Implement qp_circle. * Implement qp_ellipse. * Implement palette interpolation. * Allow for streams to work with either flash or RAM. * Image loading. * Font loading. * QGF palette loading. * Progressive decoder of pixel data supporting Raw+RLE, 1-,2-,4-,8-bpp monochrome and palette-based images. * Image drawing. * Animations. * Font rendering. * Check against 256 colours, dump out the loaded palette if debugging enabled. * Fix build. * AVR is not the intended audience. * `qmk format-c` * Generation fix. * First batch of docs. * More docs and examples. * Review comments. * Public API documentation.
* Joystick feature updates (#16732)Ryan2022-03-261-0/+4
| | | | | | | * Joystick feature updates * Move new functions to joystick.h * Docs
* Align location of some host led logic (#15954)Joel Challis2022-01-221-5/+0
| | | | | | | | | | | | | * Align location of host led logic * Move more * align ifdefs * Fix up includes * Move callback defs * Convert comment to build message
* Add missing define for unicode common (#15416)Drashna Jaelre2021-12-061-0/+4
|
* New feature: `DYNAMIC_TAPPING_TERM_ENABLE` (#11036)precondition2021-11-251-0/+4
| | | | | | | | | * New feature: `DYNAMIC_TAPPING_TERM_ENABLE` 3 new quantum keys to configure the tapping term on the fly. * Replace sprintf call in tapping_term_report by get_u16_str * Replace tab with 4 spaces
* Add uint to char functions (#15244)Drashna Jaelre2021-11-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | * Add uint to char functions * appease the all mighty lint * Further appease Lint * Update functions * Add doxygen comment * Update quantum/quantum.c Co-authored-by: Nick Brassel <nick@tzarc.org> * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * Add declaration for get_numeric_string * fix formatting and bug Co-authored-by: Nick Brassel <nick@tzarc.org>
* Add support for deferred executors. (#14859)Nick Brassel2021-11-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for deferred executors. * More docs. * Include from quantum.h * Cleanup. * Parameter checks * Comments. * qmk format-c * I accidentally a few words. * API name change. * Apply suggestions from code review Co-authored-by: Sergey Vlasov <sigprof@gmail.com> * Review comments. * qmk format-c * Review comments. Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* Rework and expand Pointing Device support (#14343)Drashna Jaelre2021-11-151-0/+4
| | | Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
* Remove sysex API (#14723)Ryan2021-10-061-2/+0
|
* Add Support for USB programmable buttons (#12950)Thomas Weißschuh2021-09-151-0/+4
|
* Revert 14083 && 14144 (#14150)Joel Challis2021-08-251-5/+11
| | | | | | | | | * Revert "Short term bodge for firmware size bloat (#14144)" This reverts commit a8d65473461c337fb1e168d907bfb8c3ac8fdbd0. * Revert "Tidy up quantum.c now some of tmk_core has been merged (#14083)" This reverts commit c4dbf4bf0118dd785802861beb247433b5b7411d.
* Tidy up quantum.c now some of tmk_core has been merged (#14083)Joel Challis2021-08-241-11/+5
|
* [Core] Refactor OLED to allow easy addition of other types (#13454)Xelus222021-08-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add docs * core changes * update keyboards to new OLED * updated users to new OLED * update layouts to new OLED * fixup docs * drashna's suggestion * fix up docs * new keyboards with oled * core split changes * remaining keyboard files * Fix The Helix keyboards oled options * reflect develop Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: mtei <2170248+mtei@users.noreply.github.com>
* Merge remote-tracking branch 'origin/master' into developQMK Bot2021-08-061-1/+1
|\
| * Avoid name conflicts with usb_hid Arduino code (#13870)Joel Challis2021-08-061-1/+1
| | | | | | | | | | * Avoid name conflicts with usb_hid Arduino code * Fix tests
* | matrix_scan_x -> x_task (#13748)Joel Challis2021-07-281-4/+0
| |
* | Haptic: driver-> feature (#13713)Joel Challis2021-07-261-0/+1
| |
* | Merge remote-tracking branch 'upstream/master' into developNick Brassel2021-07-251-10/+1
|\|
| * Refactor some platform dependent logic (#13675)Joel Challis2021-07-241-10/+1
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-07-161-4/+0
|\|