1
0
Fork 0
Commit graph

191 commits

Author SHA1 Message Date
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
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
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
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
Nick Brassel
9d9cdaaa2d
Add encoder abstraction. (#21548) 2024-02-18 21:17:15 +11:00
Joel Challis
e2dbe39b94
Removal of bootmagic lite terminology (#22979) 2024-02-17 12:27:34 +00:00
フィルターペーパー
0cad5e9d4a
Refactor: move p3d keyboards (#22763)
Group standalone p3dstore keyboards into p3d folder
2024-02-12 16:37:17 -07:00
Duncan Sutherland
b1ea30ca7c
Move redox_w into redox (#21448)
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-01-12 22:44:44 -08:00
Joel Challis
71257e21e6
Generate true/false for _DEFAULT_ON options (#22829) 2024-01-06 13:16:23 +00:00
フィルターペーパー
594d03f4aa
Refactor: group hub keyboards (#22762) 2023-12-26 20:28:06 -08:00
フィルターペーパー
2a048fbb65
Refactor: group kira keyboards (#22760) 2023-12-26 20:27:29 -08:00
フィルターペーパー
e5a92fa80f
Refactor: group rookiebwoy keyboards (#22745)
Move @rookiebwoy's keyboards into rookiebwoy folder
2023-12-25 07:40:30 -07:00
Joel Challis
b24bd2351a
Remove redundant audio eeconfig init (#22736) 2023-12-24 06:52:58 +00:00
フィルターペーパー
b37d23bfa5
Refactor: group shandoncodes keyboards (#22743) 2023-12-23 19:02:29 -08:00
フィルターペーパー
456291d04e
Refactor: move miniaxe into kagizaraya (#22708)
Co-authored-by: Ryan <fauxpark@gmail.com>
2023-12-23 15:49:47 -08:00
フィルターペーパー
6510188138
Refactor: move keyboards into kbdmania folder (#22714) 2023-12-23 15:49:18 -08:00
フィルターペーパー
6f16349e93
Refactor: move keyboards into monokei folder (#22715) 2023-12-23 15:48:40 -08:00
フィルターペーパー
9642cd9046
Refactor: move keyboards into kumaokobo (#22719) 2023-12-23 15:48:32 -08:00
フィルターペーパー
77688ac706
Refactor: move keyboards into kezewa (#22712) 2023-12-23 15:48:18 -08:00
フィルターペーパー
0b410ffd77
Refactor: move keyboards into zigotica folder (#22709) 2023-12-23 15:46:46 -08:00
70a7ed26e1
[Keyboard] Move Moonlander to ZSA folder (#22740) 2023-12-23 15:46:07 -08:00
フィルターペーパー
300af1e5bf
Refactor: move keyboards into laneware folder (#22710) 2023-12-23 15:45:53 -08:00
Ryan
8812a09581
Rename RGB_DISABLE_WHEN_USB_SUSPENDED -> RGB_MATRIX_SLEEP (#22682) 2023-12-20 13:31:50 +11:00
Ryan
73758d3d3a
Rename LED_DISABLE_WHEN_USB_SUSPENDED -> LED_MATRIX_SLEEP (#22681) 2023-12-20 13:31:39 +11:00
Zykrah
05d2b7e2ac
Rename Pumpkin Pad to Pumkinpad (#22651) 2023-12-13 18:28:17 +00:00
Ryan
e648155113
Rename RGBLED_NUM -> RGBLIGHT_LED_COUNT (#22570) 2023-12-12 15:30:08 +11:00
SmollChungus
2d3f2e92d8
consolidate firmware folder in smoll parent folder (#22401)
* consolidate firmware folder in smoll parent folder

* add moved keyboards to mapping

* typo fix

* typo..

* Update rules.mk

fix default folder lefty

* Update data/mappings/keyboard_aliases.hjson

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

---------

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2023-12-08 04:36:38 +00:00
era
11aa512c85
[Keyboard] Remove era/klein (#22384)
* Remove era/klein

era/klein is replaced by sirind/era/klein_sd

* Add an entry to data/mappings/keyboard_aliases.hjson

Add an entry to data/mappings/keyboard_aliases.hjson
2023-12-05 15:57:07 -07:00
zvecr
daa5afcf1d Merge remote-tracking branch 'origin/master' into develop 2023-12-04 13:58:34 +00:00