qmk-dactyl-manuform-a/quantum
Liyang HU 383fae55c5
Refactor `quantum/command.{c,h}` for code size & {read,maintain}ability (#11842)
* quantum/command.c: coalesce `print()`s in `command_common_help()` & `print_version()`

Also undo some damage by clang-format in b624f32f94

* quantum/command.c: replace `print(…); print_{,val_}{dec,hex}*(…);` sequences with single `xprintf(…)`

`print_{dec,hex}*(…)` are just `#define`s for `xprintf(…)` anyway.

Each additional `xprintf(…)` costs ~8 bytes: the call instructions,
plus an additional NUL terminator.

This _really_ adds up: this commit saves 814 bytes on my ATmega32.

* quantum/command.c: optimise `mousekey_console()` for size & legibility

Made various tweaks to the interface, but still functionally identical.

Assume `KC_1`…`KC_0` to be contiguous, and removed `numkey2num(…)` entirely.
It was exported in `command.h` by 1a0bac8bcc for no obvious reason, before
which it was `static`. I doubt anyone uses it.

`mousekey_console()` is now enabled regardless of `MK_3_SPEED`.
Needs fleshing out for things other than the X11 variant though.

This commit saves 638 bytes on my ATmega32.
2021-08-07 17:12:57 +10:00
..
api Move `API_SYSEX_MAX_SIZE` out of `config_common.h` (#12302) 2021-03-25 22:30:42 +11:00
audio Refactor some platform dependent logic (#13675) 2021-07-24 19:56:45 +01:00
backlight 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
bootmagic Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
debounce Add asym_eager_defer_pk debounce type (#12689) 2021-06-16 14:00:37 +10:00
keymap_extras Merge remote-tracking branch 'origin/master' into develop 2021-07-20 16:17:22 +00:00
led_matrix Switch Ergodox Infinity over to split_common (#13481) 2021-07-19 18:54:32 -07:00
logging Move print/debug files to quantum (#12069) 2021-08-03 18:49:33 +01:00
process_keycode Process combos earlier & overlapping combos (#8591) 2021-08-06 09:44:57 +10:00
rgb_matrix Align AW20216 driver (#13712) 2021-07-27 23:55:51 +01:00
rgblight Merge remote-tracking branch 'upstream/master' into develop 2021-07-25 12:17:15 +10:00
sequencer matrix_scan_x -> x_task (#13748) 2021-07-28 12:01:23 +01:00
serial_link Add sync_timer support over serial_link (i.e. Ergodox Infinity) (#12845) 2021-06-19 19:18:00 -07:00
split_common Avoid LTO conficts on arm_atsam (#13676) 2021-07-24 12:13:06 +01:00
template Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
tools
visualizer Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
api.c clang-format changes 2019-08-30 15:01:52 -07:00
api.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
bitwise.c Migrate some tmk_core files to quantum (#11791) 2021-02-07 23:16:15 +00:00
bitwise.h Migrate some tmk_core files to quantum (#11791) 2021-02-07 23:16:15 +00:00
color.c Add support for hsv->rgb conversion without using CIE curve. (#9856) 2020-08-29 14:30:02 -07:00
color.h Relocate RGB/HSV color defs to a more fitting place (#13377) 2021-06-29 19:15:58 +01:00
command.c Refactor `quantum/command.{c,h}` for code size & {read,maintain}ability (#11842) 2021-08-07 17:12:57 +10:00
command.h Refactor `quantum/command.{c,h}` for code size & {read,maintain}ability (#11842) 2021-08-07 17:12:57 +10:00
config_common.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
crc.c Add CRC8 calculation subsystem to quantum (#12641) 2021-06-18 00:09:43 +01:00
crc.h Add CRC8 calculation subsystem to quantum (#12641) 2021-06-18 00:09:43 +01:00
debounce.h Avoid 8-bit timer overflows in debounce algorithms (#12240) 2021-06-09 17:23:21 +10:00
dip_switch.c Convert Dip Switch callbacks to boolean functions (#13399) 2021-07-01 08:22:21 -07:00
dip_switch.h Convert Dip Switch callbacks to boolean functions (#13399) 2021-07-01 08:22:21 -07:00
dynamic_keymap.c Improve EEPROM defaults for Dynamic Keymaps (#12853) 2021-05-10 15:37:36 -07:00
dynamic_keymap.h clang-format changes 2019-08-30 15:01:52 -07:00
dynamic_macro.h [Core] Convert Dynamic Macro to a Core Feature (#5948) 2019-11-04 22:59:13 -08:00
encoder.c 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
encoder.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
haptic.c Haptic: driver-> feature (#13713) 2021-07-25 19:14:58 -07:00
haptic.h Haptic: driver-> feature (#13713) 2021-07-25 19:14:58 -07:00
joystick.c Hid joystick interface (#4226) 2020-08-29 14:30:02 -07:00
joystick.h 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
keycode_config.c clang-format changes 2019-08-30 15:01:52 -07:00
keycode_config.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
keymap.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
keymap_common.c Process combos earlier & overlapping combos (#8591) 2021-08-06 09:44:57 +10:00
led.c Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
led.h Migrate some tmk_core files to quantum (#11791) 2021-02-07 23:16:15 +00:00
led_tables.c Remove unused LED_BREATHING_TABLE 2020-03-06 22:29:01 -08:00
led_tables.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
matrix.c Change the prototype of matrix_output_unselect_delay() (#13045) 2021-07-13 16:50:25 +09:00
matrix.h Change the prototype of matrix_output_unselect_delay() (#13045) 2021-07-13 16:50:25 +09:00
matrix_common.c Change the prototype of matrix_output_unselect_delay() (#13045) 2021-07-13 16:50:25 +09:00
mcu_selection.mk Adds support for STM32L412xB, STM32L422xB. (#13383) 2021-06-30 10:07:40 +10:00
mousekey.c mousekey: expose current report to users (#13069) 2021-07-03 00:50:47 -07:00
mousekey.h mousekey: expose current report to users (#13069) 2021-07-03 00:50:47 -07:00
pointing_device.c Manually run formatting job (#11797) 2021-02-05 13:27:24 +00:00
pointing_device.h Improve Pointing Device report sending (#11064) 2021-02-03 17:25:05 -08:00
quantum.c Process combos earlier & overlapping combos (#8591) 2021-08-06 09:44:57 +10:00
quantum.h Merge remote-tracking branch 'origin/master' into develop 2021-08-06 05:54:10 +00:00
quantum_keycodes.h [Feature] Key Overrides (#11422) 2021-07-13 10:13:51 -07:00
ring_buffer.h Migrate some tmk_core files to quantum (#11791) 2021-02-07 23:16:15 +00:00
send_string.c Move `SENDSTRING_BELL` code to `send_string.h` (#13566) 2021-07-16 09:40:20 -07:00
send_string.h Remove hex_to_keycode and move tap_random_base64 to send_string.c (#12079) 2021-03-12 18:03:44 +11:00
send_string_keycodes.h Workaround for recent changes to mouse keycodes (#12367) 2021-03-24 19:38:35 +00:00
util.h Migrate some tmk_core files to quantum (#11791) 2021-02-07 23:16:15 +00:00
variable_trace.c clang-format changes 2019-08-30 15:01:52 -07:00
variable_trace.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
velocikey.c clang-format changes 2019-08-30 15:01:52 -07:00
velocikey.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
via.c Fix keycode mappings for via and ensure they don't change within protocol (#12130) 2021-03-15 12:19:01 +11:00
via.h Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
via_ensure_keycode.h Fix keycode mappings for via and ensure they don't change within protocol (#12130) 2021-03-15 12:19:01 +11:00
wpm.c Fix overflows in WPM calculations (#13128) 2021-08-04 07:40:08 +10:00
wpm.h 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00