| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Co-authored-by: Sergey Vlasov <[email protected]>
|
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| | |
(#24879)
|
| |
| |
| |
| | |
stuttered sequence. (#24878)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Achordion, Bilateral Combinations. (#24560)
* Chordal Hold: restrict what chords settle as hold
* Chordal Hold: docs and further improvements
* Fix formatting.
* Doc rewording and minor edit.
* Support Chordal Hold of multiple tap-hold keys.
* Fix formatting.
* Simplification and additional test.
* Fix formatting.
* Tighten tests.
* Add test two_mod_taps_same_hand_hold_til_timeout.
* Revise handing of pairs of tap-hold keys.
* Generate a default chordal_hold_layout.
* Document chordal_hold_handedness().
* Add license notice to new and branched files in PR.
* Add `tapping.chordal_hold` property for info.json.
* Update docs/reference_info_json.md
* Revise "hand" jsonschema.
* Chordal Hold: Improved layout handedness heuristic.
This commit improves the heuristic used in generate-keyboard-c for
inferring key handedness from keyboard.json geometry data.
Heuristic summary:
1. If the layout is symmetric (e.g. most split keyboards), guess the
handedness based on the sign of (x - layout_x_midpoint).
2. Otherwise, if the layout has a key of >=6u width, it is probably the
spacebar. Form a dividing line through the spacebar, nearly vertical
but with a slight angle to follow typical row stagger.
3. Otherwise, assume handedness based on the widest horizontal
separation.
I have tested this strategy on a couple dozen keyboards and found it to
work reliably.
* Use Optional instead of `| None`.
* Refactor to avoid lambdas.
* Remove trailing comma in chordal_hold_layout.
* Minor docs edits.
* Revise to allow combining multiple same-hand mods.
This commit revises Chordal Hold as described in discussion in
https://github.com/qmk/qmk_firmware/pull/24560#discussion_r1894655238
1. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, RCTL_T(KC_A)↑" before the tapping
term, RCTL_T(KC_A) is settled as tapped.
2. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, RSFT_T(KC_C)↑", both RCTL_T(KC_A)
and RSFT_T(KC_C) are settled as tapped.
3. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, KC_U↓" (all keys on the same side),
both RCTL_T(KC_A) and RSFT_T(KC_C) are settled as tapped.
4. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, LSFT_T(KC_T)↓", with the third key
on the other side, we allow Permissive Hold or Hold On Other Keypress
to decide how/when to settle the keys.
5. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓" held until the tapping term, the
keys are settled as held.
1–3 provide same-hand roll protection. 4–5 are for combining multiple
same-hand modifiers.
I've updated the unit tests and have been running it on my keyboard, for
a few hours so far, and all seems good. I really like this scheme. It
allows combining same-side mods, yet it also has roll protection on
streaks. For me, this feels like Achordion, but clearly better streak
handling and improved responsiveness.
* Fix formatting.
* Add a couple tests with LT keys.
* Remove stale use of CHORDAL_HOLD_LAYOUT.
* Fix misspelling lastest -> latest
* Handling tweak for LTs and tests.
* Fix formatting.
* More tests with LT keys.
* Fix formatting.
|
|\| |
|
| | |
|
| | |
|
| | |
|
|\| |
|
| |
| |
| |
| | |
Co-authored-by: Ryan <[email protected]>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| | |
Regenerate Files
|
|\| |
|
| |
| |
| | |
Regenerate Files
|
| |
| |
| |
| |
| | |
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Stefan Kerkmann <[email protected]>
|
| |
| |
| | |
Output for U+0656 is AltGr + V
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* [Feature] Add keycode PDF(layer) to set the default layer in EEPROM (#21881)
* Apply suggestions from code review
Co-authored-by: Nick Brassel <[email protected]>
---------
Co-authored-by: Nebuleon <[email protected]>
Co-authored-by: Nick Brassel <[email protected]>
|
| |
|
|
|
|
|
|
| |
Co-authored-by: Daniel <[email protected]>
Co-authored-by: Pascal Getreuer <[email protected]>
Co-authored-by: Pascal Getreuer <[email protected]>
|
|
|
|
| |
Co-authored-by: Dasky <[email protected]>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Expose rgb_matrix_update_pwm_buffers to be available in keymaps
Exposing this API enables the examples in the keyboard shutdown/reboot
documentation to compile instead of calling `rgb_matrix_driver.flush`
directly.
* Remove extraneous rgb_matrix_update_pwm_buffers prototype declarations
Now that `rgb_matrix_update_pwm_buffers` is public, there isn't the need
for local prototype declarations.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Co-authored-by: Ryan <[email protected]>
|
|
|
|
| |
Co-authored-by: Drashna Jaelre <[email protected]>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
implementations (#24258)
* usb_device_state: add idle_rate, led and protocol
Previously all usb drivers and platform implementations (expect for our
oddball atsam) tracked the same two global variables:
- keyboard_protocol: to indicate if we are in report or boot protocol
- keyboard_idle: for the idle_rate of the keyboard endpoint
And a local variable that was exposed trough some indirection:
- keyboard_led_state: for the currently set indicator leds (caps lock etc.)
These have all been moved into the usb_device_state struct wich is
accessible by getters and setters.
This reduces code duplication and centralizes the state management
across platforms and drivers.
Signed-off-by: Stefan Kerkmann <[email protected]>
* usb_device_state: reset protocol on reset
The usb hid specification section 7.2.6 states:
When initialized, all devices default to report protocol. However the
host should not make any assumptions about the device’s state and should
set the desired protocol whenever initializing a device.
Thus on reset we should always do exactly that.
Signed-off-by: Stefan Kerkmann <[email protected]>
* keyboards: fix oversize warnings
Signed-off-by: Stefan Kerkmann <[email protected]>
---------
Signed-off-by: Stefan Kerkmann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
quantum: util: add bit and bitmask helpers
These helpers are handy and can prevent off-by-one errors when working
with registers and general low level bit manipulation tasks. The macros
themself are inspired by the bits.h macros from the linux kernel source
code.
Signed-off-by: Stefan Kerkmann <[email protected]>
Co-authored-by: Pascal Getreuer <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Separate RGBLight/RGB Matrix keycode handling
* Remove `_DISABLE_KEYCODES` handling
* Update RGB Matrix keycode docs
* Update underglow keycodes for previously migrated boards
* Update keycodes for boards with custom handling
* Fix typos
* Fix bad merge
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
* Add check Tap Dance count check to keymap introspection
* Add checks for combos and key overrides to introspection
|
| |
| |
| | |
extended wheel reports
|