* Refactor bastardkb/charybdis/3x5
- Migrate various configuration to data-driven
- Use short SPDX license headers
- Remove configuration that trends towards user-specific (CRC Table)
- Migrate common configuration upwards
- Migrate keymap to JSON
- Remove likely unneeded v1 revision per #23638
- Remove revisions splinky_2, splinky_3, and stemcell where a converter
should be used
- Rename v2/elitec -> elitec. Specifically named elitec, as this board
requires pin compatibility with an Elite-C (bottom 5 pins)
* Aliases
* Refactor bastardkb/dilemma/3x5_2
- Rename splinky -> promicro as the DIY PCB supports a Pro Micro
compatible development board
- Update keyboard aliases accordingly
- Migrated shared configuration to top level 3x5_2 directory
- Migrate keymap to JSON
- Migrate miscellaneous configuration to JSON
- Remove configuration that trends towards user-specific (CRC Table)
- Use short SPDX license headers
- Tidy up readme and make note of differences between PCBs
In short, the only difference between these two revisions (assembled vs.
promicro) is SPI vs. I2C (respectively) is used for the Cirque Trackpad.
* Migrate promicro configuration to AVR
The code in dilemma.c that reinitialises the ADC capable pins on RP2040
as digital inputs is not needed. Per section RP2040-E6 (p.630) of RP2040
datasheet, it appears digital inputs are *not* disabled, and this should
be handled internally anyway in matrix initialisation
* Refactor bastardkb/skeletyl
- Update keyboard aliases accordingly
- Migrate keymap to JSON
- skeletyl/blackpill
- Migrate common configuration to keyboard level
- Remove unnecessary or user-specific configuration
- Migrate some configuration to data-driven
- Use short SPDX license headers
- Remove unnecessary rules.mk file
- Formatting pass on keyboard.json
- skeletyl/v1
- Remove likely unneeded version, per qmk#23812
- skeletyl/v2
- Remove splinky_2 revision, per qmk#23812
- Remove splinky_3, stemcell revisions; converter feature should
be used here
- Rename skeletyl/v2/elitec -> skeletyl/promicro, as a converter can
be used for any pin-compatible microcontrollers
* Update keyboards/bastardkb/skeletyl/keymaps/default/keymap.json
Co-authored-by: Ryan <fauxpark@gmail.com>
---------
Co-authored-by: Ryan <fauxpark@gmail.com>
* Refactor bastardkb/scylla
- Update keyboard aliases accordingly
- Migrate keymap to JSON and better represent physical layout
- scylla/blackpill
- Migrate common configuration to keyboard level
- Remove unnecessary or user-specific configuration
- Migrate some configuration to data-driven
- Use short SPDX license headers
- Remove unnecessary rules.mk file
- Formatting pass on keyboard.json
- scylla/v1
- Remove likely unneeded version, per qmk#23814
- scylla/v2
- Remove splinky_2 revision, per qmk#23814
- Remove splinky_3, stemcell revisions; converter feature should
be used here
- Rename scylla/v2/elitec -> scylla/promicro, as a converter can
be used for any pin-compatible microcontrollers
* Small keymap fix
* [Keyboard] Move Erogdox STM32 to handwired folder
To minimize confusion with ZSA's ergodox EZ ST (stm32f303) and because this is basically a one-off board
* Don't forget mapping
* Fix readme
* 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.
* Modify PR23309 changelog
Adds a direct link to the pull request.
* Add PR23329 changelog
* Update keyboard aliases file
Updates the legacy keyboard aliases for the JJ40 and JJ50, which have
been moved again for version 0.25.0.
* Minor touch-up for JJ40 rev1 readme