- Update aliases accordingly
- Remove unnecessary elite_c revision; an alternate bootloader or
development board can easily be set by a user. The PCB is not
dependant on an Elite-C pin compatible microcontroller
- Remove unnecessary nanoboot revision; any user going to the trouble of
using this bootloader will have no trouble manually setting the size
of their bootloader
- Move the promicro revision to be the "standard" for this keyboard
- Remove unnecessary rp2040_ce revision; the converter feature should be
used here instead
* Refactor bastardkb/charybdis/4x6
- Update keyboard aliases accordingly
- 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 #23811
- 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)
* Add aliases
* Replace unecessarily removed split hand pin configuration
* Revert "Replace unecessarily removed split hand pin configuration"
This reverts commit 0b98d1bc140a4b18c16d2b524cc8731f016372b1.
After second thought, it is not necessary to configure this by default,
as any user who wishes to set handedness by pin and is using an Elite-C
pin compatible development board will need to manually set the pin
anyway, which likely means referencing the readme.md file, which also
contains the necessary SPLIT_HAND_PIN_LOW_IS_LEFT configuration.
* Refactor bastardkb/charybdis/3x6
- Update keyboard aliases accordingly
- 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 #23810
- 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)
* Correct keyboard name in keymap
* Replace unecessarily removed split hand pin configuration
* Revert "Replace unecessarily removed split hand pin configuration"
This reverts commit 737cb635fa8de29bdf0f4ae54cf51b7a4715c7f3.
After second thought, it is not necessary to configure this by default,
as any user who wishes to set handedness by pin and is using an Elite-C
pin compatible development board will need to manually set the pin
anyway, which likely means referencing the readme.md file, which also
contains the necessary SPLIT_HAND_PIN_LOW_IS_LEFT configuration.
* Fix serial speed DD configuration
- Fixes incorrect SOFT_SERIAL_SPEED mapping
- Renames key split.soft_serial_speed -> split.serial.speed
- Migrates keyoards that configure this, and remove configuration from keyboards that do not differ from the default behaviour
- Add deprecation notice and migration support
* Refactor helix/rev3_{4,5}rows
rev3_4rows and rev3_5rows are identical, except for the extra row users
can snap off of their PCBs.
- Add alias for rev3_4rows
- Migrates legacy defines and configuration to keyboard.json
- Tidy's keymap and migrates to JSON
- Removes RGB Light configuration, enables RGB Matrix
- Removes DIP switch configuration, as they do not appear to be present
on PCBs
- Adds an alternate 4 row layout for snappable PCB
- Tidy's up OLED code
- Enables standard features (bootmagic, extrakey, etc.)
* Alias for rev3_5rows -> rev3
* Add product URL
* Replace mistakenly removed DIP switch configuration
* Remove rebase artifact
* 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.