Commit Graph

282 Commits

Author SHA1 Message Date
QMK Bot
ef9c3810c1 Merge remote-tracking branch 'origin/develop' into xap 2025-06-27 07:18:04 +00:00
Joel Challis
a1a5869ef8
Add MATRIX_MASKED DD config (#25383) 2025-06-27 08:17:45 +01:00
QMK Bot
9d0a55a2be Merge remote-tracking branch 'origin/develop' into xap 2025-05-19 12:11:17 +00:00
Nick Brassel
919e2a4f5c
Use relative paths for schemas, instead of $id. Enables VScode validation. (#25251) 2025-05-19 22:10:39 +10:00
QMK Bot
09c3f346f3 Merge remote-tracking branch 'origin/develop' into xap 2025-05-19 05:52:05 +00:00
Stefan Kerkmann
f686ad9e63
[Core] STM32G0x1 support (#24301) 2025-05-19 15:51:28 +10:00
QMK Bot
d71176330f Merge remote-tracking branch 'origin/develop' into xap 2025-05-14 12:11:28 +00:00
Joel Challis
05ff5443b1
Deprecate usb.force_nkro/FORCE_NKRO (#25262) 2025-05-14 22:02:43 +10:00
Nick Brassel
0d6dbe4a5f
Merge remote-tracking branch 'upstream/develop' into xap 2025-04-22 14:58:42 +10:00
Nick Brassel
5c39722ab9
Allow for disabling EEPROM subsystem entirely. (#25173) 2025-04-19 20:20:00 +01:00
QMK Bot
f9ef89890e Merge remote-tracking branch 'origin/develop' into xap 2025-04-18 09:06:33 +00:00
QMK Bot
988d81581d Merge remote-tracking branch 'origin/master' into develop 2025-04-18 09:05:59 +00:00
lsh4711
800bc78d26
Fix missing and extra commas in JSON schema (#25057) 2025-04-18 19:05:25 +10:00
QMK Bot
3fdd017943 Merge remote-tracking branch 'origin/develop' into xap 2025-04-01 05:07:17 +00:00
Pascal Getreuer
da166d4d8b
Add "license" field to Community Module JSON schema. (#25085)
Add "license" field to community module schema.
2025-04-01 16:06:42 +11:00
QMK Bot
99249c88c1 Merge remote-tracking branch 'origin/develop' into xap 2025-03-09 23:41:33 +00:00
Joel Challis
21c1fd5e5b
Require 'x'/'y' properties for LED/RGB Matrix layout (#24997) 2025-03-09 23:40:59 +00:00
Nick Brassel
25f28bac16
Merge remote-tracking branch 'upstream/develop' into xap 2025-02-28 09:18:17 +11:00
Nick Brassel
1efc82403b
Community modules (#24848) 2025-02-26 22:25:41 +11:00
QMK Bot
2343e525b3 Merge remote-tracking branch 'origin/develop' into xap 2025-01-27 11:33:00 +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
QMK Bot
a9ef84fde3 Merge remote-tracking branch 'origin/develop' into xap 2024-11-24 09:33:03 +00:00
Nick Brassel
7d8f193988
Allow codegen of keymap.json => keymap.c without requiring layers/layout etc. (#23451) 2024-11-24 20:32:30 +11:00
QMK Bot
6298984d12 Merge remote-tracking branch 'origin/develop' into xap 2024-11-21 06:32:17 +00: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
HorrorTroll
39161b9ee7
Added MCU support for ArteryTek AT32F415 (#23445) 2024-11-21 17:28:28 +11:00
QMK Bot
5b4ec954e8 Merge remote-tracking branch 'origin/develop' into xap 2024-10-11 23:17:03 +00:00
Sadek Baroudi
9d17779832
Add svlinky converter (#24449) 2024-10-12 00:16:25 +01:00
zvecr
7b8bf3426d Merge remote-tracking branch 'origin/develop' into xap 2024-08-26 04:25:39 +01:00
QMK Bot
2c6409fdd8 Merge remote-tracking branch 'origin/master' into develop 2024-08-12 12:34:54 +00:00
Nick Brassel
380e0c9cad
Userspace: add support for adding environment variables during build (#22887) 2024-08-12 22:34:22 +10:00
QMK Bot
e8213ce840 Merge remote-tracking branch 'origin/develop' into xap 2024-07-17 23:03:26 +00:00
Joel Challis
4ab36df48f
Move split.soft_serial_pin to split.serial.pin (#24127) 2024-07-18 09:02:53 +10:00
QMK Bot
fea76b08d9 Merge remote-tracking branch 'origin/develop' into xap 2024-06-23 08:02:45 +00:00
Joel Challis
f0471dd5b4
Remove skipped schema files (#23987) 2024-06-23 09:02:13 +01:00
zvecr
33b84e7f24 Merge remote-tracking branch 'origin/develop' into xap 2024-06-18 03:56:01 +01:00
Joel Challis
53a0cdc446
Implement data driven joysticks (#22947) 2024-06-18 03:44:22 +01:00
QMK Bot
7f4247ab19 Merge remote-tracking branch 'origin/develop' into xap 2024-06-17 18:23:16 +00:00
Joel Challis
51acd35e6f
Implement data driven serial driver (#23923) 2024-06-17 19:22:47 +01:00
QMK Bot
2172a2fa93 Merge remote-tracking branch 'origin/develop' into xap 2024-06-16 20:58:40 +00:00
Ryan
089a819179
keyboard.json schema: set minimum value for key_unit (#23937)
* keyboard.json schema: set minimum value for `key_unit`

* Fix invalid `matrix_size` in keyboard.json

* Fix bad layout for silverbullet44
2024-06-16 21:57:37 +01:00
QMK Bot
8cc7a076bb Merge remote-tracking branch 'origin/develop' into xap 2024-05-10 10:55:13 +00:00
Joel Challis
ef0734b7a6
Remove 'split.transport.protocol=serial_usart' (#23668) 2024-05-10 20:54:44 +10:00
Nick Brassel
6aacdb0b76
Merge remote-tracking branch 'upstream/develop' into xap 2024-05-02 20:48:16 +10: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
QMK Bot
da0b05512a Merge remote-tracking branch 'origin/develop' into xap 2024-04-24 04:00:26 +00:00
Ryan
c505ea48b3
Add haptic driver to keyboard.json schema (#23591) 2024-04-24 04:59:57 +01:00
QMK Bot
b8adddc098 Merge remote-tracking branch 'origin/develop' into xap 2024-03-17 08:23:44 +00:00