Commit Graph

216 Commits

Author SHA1 Message Date
Jack Sangdahl
56ad3a5f43
Refactor bastardkb/charybdis/3x5 (#25488)
* 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
2025-07-13 21:26:04 -06:00
jack
e1b42d5252
Refactor bastardkb/dilemma/3x5_2 (#25462)
* 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
2025-07-10 12:42:36 +01:00
jack
15e7c8f37a
Refactor bastardkb/skeletyl (#25456)
* 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>
2025-07-08 14:23:05 -06:00
jack
8d29bd07c2
Refactor bastardkb/scylla (#25459)
* 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
2025-07-08 14:08:49 -06:00
ClownFish
e19991ec46
[Keyboard] Add CSTC40 rev3 (#25285)
* refactor cstc40, add rev3 fxtwink variant

* cleanup readmes

* readme nitpick

* add cstc40 aliases

* format-json

* add communty_layouts per code review

* touch copied legacy files for newline

* fix LED flags

* update readme files per code review
2025-07-07 13:14:12 -06:00
Joel Challis
d9f2d8d241
Convert novelkeys/nk65 to use RGB Matrix (#25450) 2025-07-07 16:15:37 +01:00
jack
036745e853
Refactor helix/rev2 (#25429)
* Refactor helix/rev2

- Rename rev2 -> beta & update keyboard aliases accordingly
- Removes redundant back, base, sc, under, & qmk_conf revisions
- Removes unnecessary keymaps
- Migrates legacy defines and configuration to keyboard.json
- Tidy's keymap and migrates to JSON
- Fixes RGB configuration to illuminate 32 LEDs per half
- Adds an alternate 4 row layout for snappable PCB
- Tidy's up OLED code
- Enables standard features (bootmagic, extrakey, etc.)
2025-07-06 09:52:24 +01:00
jack
0842f54a27
Refactor bastardkb/tbkmini (#25438) 2025-07-05 23:50:37 -07:00
jack
e92f1fb220
Refactor helix/pico (#25428)
Refactor helix/pico

- Updates keyboard aliases accordingly
- Removes redundant back, base, sc, under, & qmk_conf revisions
- Migrates legacy defines and configuration to keyboard.json
- Tidy's keymap and migrates to JSON
- Fixes RGB configuration to illuminate 25 LEDs per half
- Enables standard features (bootmagic, extrakey, etc.)
2025-07-06 07:42:42 +01:00
Joel Challis
a1a5869ef8
Add MATRIX_MASKED DD config (#25383) 2025-06-27 08:17:45 +01:00
Joel Challis
5bdeb7dad1
Migrate remaining DEFAULT_FOLDER to keyboard aliases (#25291) 2025-06-10 22:20:34 +01:00
Joel Challis
0326355edc
Remove DEFAULT_FOLDER handling (#23281) 2025-06-09 05:08:56 +01:00
ivan
24895c46f3
Move rookiebwoy to ivndbt (#25142) 2025-05-19 22:15:19 +01:00
Joel Challis
05ff5443b1
Deprecate usb.force_nkro/FORCE_NKRO (#25262) 2025-05-14 22:02:43 +10:00
Joel Challis
660d248549
Add debounce to duplicated defaults check (#25246) 2025-05-08 01:12:58 +01:00
Joel Challis
8244659b44
Extend lint checks to reject duplication of defaults (#25149) 2025-04-24 05:39:56 +01:00
Pascal Getreuer
8d8dcb089e
[Core] Flow Tap tap-hold option to disable HRMs during fast typing (#25125)
aka Global Quick Tap, Require Prior Idle
2025-04-14 09:46:24 -07:00
Joel Challis
06610c3da6
Remove CTPC/CONVERT_TO_PROTON_C options (#25111) 2025-04-08 01:55:49 +01:00
Pham Duc Minh
30c0036db1
Refactor Deemen17 Works DE60 (#25088) 2025-04-06 10:53:13 -07:00
Ivan Gromov
0f1dcc0592
Add kt60HS-T v2 PCB (#25080)
* Add kt60HS-Tv2

* Update keyboards/keyten/kt60hs_t/readme.md

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Update keyboards/keyten/kt60hs_t/v1/readme.md

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Update keyboards/keyten/kt60hs_t/v2/keyboard.json

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Update keyboards/keyten/kt60hs_t/v2/readme.md

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Update keyboards/keyten/kt60hs_t/info.json

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Change of structure

* Moving the keyboard

* Update data/mappings/keyboard_aliases.hjson

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Update keyboards/keyten/kt60hs_t/v1/keyboard.json

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

* Update keyboards/keyten/kt60hs_t/v2/keyboard.json

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

---------

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2025-04-03 12:51:25 -06:00
Ramon Imbao
ea238d5a8a
Add the plywrks ply8x hotswap variant. (#23558)
* Add hotswap variant

* Update RGB matrix

* Move files around to target develop

* Revert rules.mk for keyboards/jaykeeb/joker/rules.mk

* Update keyboards/plywrks/ply8x/hotswap/keyboard.json

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Apply suggestions from code review

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

* Add missing community layouts

* Delete keyboards/plywrks/ply8x/rules.mk

* Update missing keys in RGB matrix

* Add missing key in RGB matrix for hotswap ver

* Remove via keymaps

* Add keyboard alias for plywrks/ply8x to plywrks/ply8x/solder

* Fix typo

* Fix another typo

---------

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2025-03-21 08:53:27 +11:00
Joel Challis
63daf94ee6
Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson (#24938) 2025-02-22 01:48:42 +00:00
Joel Challis
164b7331c3
Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson (#24915) 2025-02-17 08:39:29 +11:00
Drashna Jaelre
7fe168a8ed
[Keyboard] Move Ergodox STM32 to handwired folder (#24903)
* [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
2025-02-07 19:10:45 +11:00
Joel Challis
7073ba3dbb
Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson (#24845) 2025-01-30 06:21:09 +11:00
Joel Challis
c7904502e5
handwired/xealous - Remove DEFAULT_FOLDER (#24877) 2025-01-28 05:58:21 +00:00
Pascal Getreuer
544ddde113
[Core] Add Chordal Hold, an "opposite hands rule" tap-hold option similar to 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.
2025-01-27 12:32:23 +01:00
Joel Challis
1a30e2b32b
Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson (#24835) 2025-01-20 22:26:25 +00:00
Joel Challis
7a0dbe36f3
Formally deprecate DEFAULT_FOLDER (#24836) 2025-01-20 04:55:01 +00:00
muge
93de533580
Move cxt_studio keyboard to own folder (#24748) 2024-12-26 08:58:26 +00:00
Less/Rikki
b4ece24c7d
move ymdk/id75 to revision (#24590) 2024-12-22 13:03:03 -08:00
Drashna Jaelre
36b5559b99
[Core] Add Layer Lock feature (#23430)
Co-authored-by: Daniel <1767914+iamdanielv@users.noreply.github.com>
Co-authored-by: Pascal Getreuer <getreuer@google.com>
Co-authored-by: Pascal Getreuer <50221757+getreuer@users.noreply.github.com>
2024-11-21 17:31:54 +11:00
Ramon Imbao
c6b2553470
Rename saevus to concreteflowers (#24249) 2024-10-19 13:25:30 +01:00
Sadek Baroudi
9d17779832
Add svlinky converter (#24449) 2024-10-12 00:16:25 +01:00
Drashna Jaelre
2d2eed9594
[Keyboard] Move Planck EZ to ZSA vendor folder (#23917) 2024-08-14 14:27:37 +01:00
Less/Rikki
938837e881
refactor: keyboard/ncr80/r2 (#22670)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-07-26 19:14:00 -07:00
Joel Challis
4ab36df48f
Move split.soft_serial_pin to split.serial.pin (#24127) 2024-07-18 09:02:53 +10:00
leyew
2623a258f1
[Keyboard] Rename dnworks/9973 to dnworks/tkl87 (#23692) 2024-07-11 14:40:54 +01:00
Joel Challis
f5319d8911
Remove DEFAULT_FOLDER from maple_computing/lets_split_eh (#24054) 2024-07-10 17:17:08 -07:00
Joel Challis
53a0cdc446
Implement data driven joysticks (#22947) 2024-06-18 03:44:22 +01:00
Joel Challis
51acd35e6f
Implement data driven serial driver (#23923) 2024-06-17 19:22:47 +01:00
James Young
249f1706f1
noroadsleft's 0.25.0 Changelogs and Touch-Ups (#23793)
* 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
2024-05-26 21:45:29 +01:00
Ryan
0ff53b2498
Rename RGBW define to WS2812_RGBW (#23585) 2024-04-28 00:36:54 +10:00
Joel Challis
d333a25868
Add audio driver to keyboard.json schema (#23616) 2024-04-26 05:41:22 +01:00
Joel Challis
16cca527a6
Fix WAIT_FOR_USB handling (#23598) 2024-04-24 19:33:52 +01:00
Ryan
c505ea48b3
Add haptic driver to keyboard.json schema (#23591) 2024-04-24 04:59:57 +01:00
James Young
47dc471bd4
KPRepublic JJ40 rev1 Refactor (#23299)
* Move `kprepublic/jj40` to `kprepublic/jj40/rev1`

[chore]

* Friendly-format `info.json`

[style]

* Add layout/matrix diagram

[docs]

* Refactor keymaps

- use four-space indent
- grid-align keycodes
- refactor to use `LAYOUT_ortho_4x12` macro

[refactor]

* Rename `LAYOUT_planck_mit` to `LAYOUT_ortho_4x12_1x2u_c`

[refactor]

* Rename `LAYOUT_planck_1x2uR` to `LAYOUT_ortho_4x12_1x2u_r`

[refactor]

* Re-sort `layouts` object

Places `LAYOUT_ortho_4x12` (the `LAYOUT_all` equivalent) first in
sequence.

[refactor]

* Add `LAYOUT_ortho_4x12_1x2u_l`

[enhancement]

* Add `LAYOUT_ortho_4x12_2x2u`

[enhancement]

* Convert `rules.mk` to data driven

[chore]

* Remove `console` and `command` settings from keyboard level

[chore]

* Rename `info.json` to `keyboard.json`

[chore]
[enhancement]

* Remove `audio` setting from keyboard level

[chore]
2024-03-17 07:03:58 +00:00
James Young
bbe0c515f8
KPRepublic JJ50 rev1 Refactor (#23294)
* Move `kprepublic/jj50` to `kprepublic/jj50/rev1`

[chore]

* Add layout/matrix diagram

[docs]

* Add `LAYOUT_ortho_5x12_1x2u_c`

[enhancement]

* Add `LAYOUT_ortho_5x12_1x2u_l`

[enhancement]

* Add `LAYOUT_ortho_5x12_1x2u_r`

[enhancement]

* Add `LAYOUT_ortho_5x12_2x2u`

[enhancement]

* Convert `rules.mk` to data driven

[chore]

* Remove `console` and `command` from keyboard level

[chore]

* Rename `info.json` to `keyboard.json`

Also deletes `rules.mk` as it's no longer needed.

[chore]
[enhancement]
2024-03-16 00:30:16 +00:00
Drashna Jaelre
83e6ddbbb4
[Audio] Add support for audio shutdown pin (#22731)
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-03-06 22:02:37 +11:00
フィルターペーパー
bc7d1cc397
Refactor: group kbdfans keyboards (#22764)
Move two kbdfans keyboard into kbdfans folder
2024-02-19 11:18:20 +00:00