* Recommend the use of functions instead of keycodes
* Commit suggested review
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Recommend the use of functions instead of keycodes
* Commit suggested revision
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Add layer key indicator example
* Update description
* Deobfuscate with index variable
* Add missing layer variable
* Correct color name and indicator function
* Function typo
* Place layer variable outside loops to save firmware space
Co-authored-by: filterpaper <filterpaper@localhost>
* Update feature_macros.md
Added a link to the usage of SAFE_RANGE as this wasn't clear to me when I visited this page in isolation.
* Fix typo
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Changelog.
* Remove the asymmetric encoder PR from listing due to revert.
* More docs
* More docs
* More docs
* Links to changelog, updated schedule, slotted in 2 weeks of testing at the end so that there's no ambiguity with PR merge dates.
* Clarify keyboard moves.
* Fix dates
* Sidebar
* Fixup dates.
* Fixup dates.
* Wording.
* 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 ifndef to WS2812 timing constraints
Due to the way that the PrimeKB Meridian PCB was designed, this change
is needed in order to properly adjust the LEDs.
Testing:
* Compiled primekb/meridian:default successfully
* Compiled random board (walletburner/neuron:default) successfully
* Fix linting errors
Missed some spacing
* More linting fixes
Spacing on the comments... really?
* Rename WS2812 timing parameters for clarity; add comments
* Add docs update for the WS2812 timing macros
* Fix typo on comment
* Add ifndef for WS2812_RES
* Update double backticks and table with parameters
* Move timing adjustments documentation to ws2812_drivers
* Move timings adjustment discussion to bitbang section
* Update T0H and T1H definitions in subtractions
* format
Co-authored-by: Gondolindrim <alvaro.volpato@usp.br>
Co-authored-by: zvecr <git@zvecr.com>
* [Docs] Squeezing space out of AVR
* Add more info
* Apply suggestions from code review
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Add oled section
* Apply suggestions from code review
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Update layers and intro wording
* Rename doc file
* add get_u8_str support
* oled clarifications
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Nick Brassel <nick@tzarc.org>
* macros in json keymaps
* add advanced macro support to json
* add a note about escaping macro strings
* add simple examples
* format json
* add support for language specific keymap extras
* switch to dictionaries instead of inline text for macros
* use SS_TAP on the innermost tap keycode
* add the new macro format to the schema
* document the macro limit
* add the json keyword for syntax highlighting
* fix format that vscode screwed up
* Update feature_macros.md
* add tests for macros
* change ding to beep
* add json support for SENDSTRING_BELL
* update doc based on feedback from sigprof
* document host_layout
* remove unused var
* improve carriage return handling
* support tab characters as well
* Update docs/feature_macros.md
Co-authored-by: Nick Brassel <nick@tzarc.org>
* escape backslash characters
* format
* flake8
* Update quantum/quantum_keycodes.h
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Reimplements WPM feature.
- Now calculates exact WPM over the last up to three seconds of typing.
- WPM_SMOOTHING removed, as it's no longer needed.
- WPM_SAMPLE_SECONDS added, to specify how long a period to average WPM
over, set to 5 seconds by default.
- WPM_SAMPLE_PERIODS added, to specify how many sampling buffers we'll
use. Each one uses one extra byte of space. Having more will lead
to smoother decay of WPM values. Defaults to 50 (we're saving so
many bytes of firmware space I felt like being extravagent, and this
change is still a big size saving overall)
- WPM_UNFILTERED option added (defaults to unset), which disables all
filtering within the WPM feature. This saves some space in the
firmware and also reduces latency between typing and the WPM
calculation measuring it. (saves 70 bytes in my tests)
- WPM_LAUNCH_CONTROL added (defaults to unset). When typing begins
while the current displayed WPM value is zero, the WPM calculation
only considers the time elapsed since typing began, not the whole
WPM_SAMPLE_SECONDS buffer. The result of this is that the displayed
WPM value much more rapidly reaches an accurate WPM value, even when
results are being filtered. (costs 22 bytes in my tests)
- Updates documentation to reflect changed options.
Saves about 900 bytes, in my tests, compared against the previous implementation,
with default settings.
* Apply suggestions from code review
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Trevor Powell <trevor@vectorstorm.org>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>