Commit Graph

2904 Commits

Author SHA1 Message Date
Joel Challis b43ec9d65a
2025q3 develop changelog (#25597) 2025-09-06 07:07:20 +10:00
Joel Challis cc696a2ae8
Refactor battery driver (#25550) 2025-08-17 01:14:48 +01:00
Jack Sangdahl 00ca362826
Migrate `helix` common configuration (#25433)
* Initial tidying up of top level helix/ directory

Align readme.md with template & provide more detailed PCB information
Remove unused rules.mk
Add common config.h file
Update glcdfont.c with formatting and license header

* Further migrations after PRs merged

Move shared configuration to top level info.json and config.h
More descriptive hardware compatibility

* Add changelog

* Align configuration between PCBs

- Migrate beta & pico to use RGB Matrix
- Move previously RGB Matrix-dependent OLED code in rev3/rev3.c to top level
- Remove reundant OLED code in beta/beta.c
- Remove RGBLight references

* Update changelog with RGB Matrix configuration
2025-08-10 00:27:13 +02:00
Jack Sangdahl 12dc6d1ac8
Fix serial speed DD configuration & migrate keyboards (#25546)
* 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
2025-08-09 23:14:40 +01:00
QMK Bot efce9bc9b5 Merge remote-tracking branch 'origin/master' into develop 2025-08-01 13:27:05 +00:00
Nick Brassel d575bf7ddc
Add proprietary libraries policy page. (#25532) 2025-08-01 23:26:30 +10:00
QMK Bot 717b6b8f13 Merge remote-tracking branch 'origin/master' into develop 2025-07-23 12:09:23 +00:00
Joel Challis 36c3f4deba
[docs] Align more keyboard placeholders (#25510) 2025-07-23 13:08:48 +01:00
QMK Bot a954b568ea Merge remote-tracking branch 'origin/master' into develop 2025-07-23 03:34:12 +00:00
Joel Challis 74d64c7f43
[docs] Align keyboard and keymap placeholders (#25509) 2025-07-23 04:33:37 +01:00
QMK Bot 558fee16e4 Merge remote-tracking branch 'origin/master' into develop 2025-07-10 11:02:47 +00:00
Andrew Cooney 87e5df1b9e
Changes to the Stenography documentation page. (#25426) 2025-07-10 12:02:08 +01:00
QMK Bot 75b899d87d Merge remote-tracking branch 'origin/master' into develop 2025-07-08 19:18:09 +00:00
jack c3b3f09702
[Docs] Tidy up keyboard guidelines (#25461)
* Initial

* Grammar
2025-07-08 13:17:33 -06:00
QMK Bot e4e5bca6bc Merge remote-tracking branch 'origin/master' into develop 2025-07-07 19:12:45 +00:00
Ryan 8ff7b1de11
[docs] WS2812: rewrite Open Drain section (#25454) 2025-07-07 13:12:11 -06:00
Ryan baf0060761
Deprecate some nonstandard mod & mod-tap keycode aliases (#25437) 2025-07-06 20:30:47 +10:00
QMK Bot e68389a11e Merge remote-tracking branch 'origin/master' into develop 2025-07-06 06:58:28 +00:00
Ryan ba63bac661
Add short aliases for `OSM()` (#25443) 2025-07-06 16:57:51 +10:00
QMK Bot 49a4ec538d Merge remote-tracking branch 'origin/master' into develop 2025-07-04 19:10:00 +00:00
Joel Challis 9e103614f8
Fix invalid layer API usage in RGB Matrix docs (#25449) 2025-07-04 20:09:27 +01:00
Joel Challis 711b109246
Mitigate VIA keylogger security issues (#25414)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2025-06-29 02:29:33 +01:00
QMK Bot fef7932e55 Merge remote-tracking branch 'origin/master' into develop 2025-06-28 03:21:48 +00:00
Pascal Getreuer b42191a2dd
[Docs] Fix typo in Chordal Hold example JSON, comma to colon. (#25424) 2025-06-28 13:21:12 +10:00
QMK Bot f09f3643ad Merge remote-tracking branch 'origin/master' into develop 2025-06-28 02:44:58 +00:00
Ryan 36636205dd
Clean up mod & mod-tap shortcuts (#25399) 2025-06-28 12:44:24 +10:00
QMK Bot 18f5a04eaa Merge remote-tracking branch 'origin/master' into develop 2025-06-27 20:23:44 +00:00
Peter Cock 89e39b9858
[Docs] Link to `awesome-qmk` userspaces repository (#25357)
* Fix link - users folder now empty on default branch

* Point at drashna/qmk_userspace repo

* Link to awesome-qmk instead
2025-06-27 14:23:05 -06:00
Joel Challis a1a5869ef8
Add MATRIX_MASKED DD config (#25383) 2025-06-27 08:17:45 +01:00
QMK Bot f39e08e2ba Merge remote-tracking branch 'origin/master' into develop 2025-06-27 05:49:59 +00:00
Joel Challis e15d9ca4b3
Update link to AW20216S datasheet (#25416) 2025-06-27 06:49:26 +01:00
QMK Bot eeac23464b Merge remote-tracking branch 'origin/master' into develop 2025-06-26 07:20:17 +00:00
timovp 5354ec5791
fix order of code in tapdance example3 (#25410) 2025-06-26 08:19:42 +01:00
QMK Bot 584e390703 Merge remote-tracking branch 'origin/master' into develop 2025-06-22 02:34:26 +00:00
Ryan 1ac255fd1c
[docs] Change GUI key references to "Meta" -> "Super" (#25394) 2025-06-22 12:33:53 +10:00
Dasky 7919848324
Add core handling for pointing device failures. (#25315) 2025-06-14 13:55:35 +01:00
QMK Bot a4436b32df Merge remote-tracking branch 'origin/master' into develop 2025-06-14 03:12:31 +00:00
luroc 7ecdb57414
[Docs] Fix example code on key_overrides.md (#25367)
The description of the code snippet says right alt, but the snippet itself contained the right control keycode
2025-06-13 21:11:58 -06:00
Joel Challis 0326355edc
Remove `DEFAULT_FOLDER` handling (#23281) 2025-06-09 05:08:56 +01:00
Nick Brassel 7808f8f56b
Add `{rgb|led}_matrix_get_mode_name()`. (#25344) 2025-06-07 22:56:58 +10:00
Nick Brassel 0d477bf570
More Yunzii notes regarding refusal to provide sources. (#25335) 2025-06-05 16:29:53 +01:00
obosob 2e3664d2c0
Add CrossDIY to license_violations.md (#25324)
Co-authored-by: jack <jack@pngu.org>
2025-06-04 22:42:57 +10:00
Joel Challis fad44ae10c
[Docs] Fix PS/2 Driver headers (#25332) 2025-06-04 22:41:37 +10:00
Joel Challis faf77f1651
Fix typo in Battery Driver docs (#25312)
* Fix typo in Battery Driver docs

* Update battery.md
2025-05-28 16:05:44 +10:00
Joel Challis 3703699757
2025 Q2 changelog (#25297)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2025-05-26 21:04:52 +10:00
Joel Challis 8b7c351e56
[Docs] Fix tap_hold code blocks (#25298) 2025-05-24 19:00:22 +01:00
Pablo Martínez 955809bd5a
Add `compiler_support.h` (#25274) 2025-05-22 23:31:15 +10:00
QMK Bot bcd06f03a5 Merge remote-tracking branch 'origin/master' into develop 2025-05-18 15:43:21 +00:00
Joel Challis 02517bd806
Update PR checklist notes on custom matrix (#25240) 2025-05-18 16:42:43 +01:00
Joel Challis 0b6a460b7f
Remove duplicate of SPI default config from keyboards (#25266) 2025-05-16 17:35:05 +01:00
Joel Challis 05ff5443b1
Deprecate `usb.force_nkro`/`FORCE_NKRO` (#25262) 2025-05-14 22:02:43 +10:00
Pascal Getreuer f4171412a6
Enable community modules to define LED matrix and RGB matrix effects. (#25187)
Co-authored-by: Joel Challis <git@zvecr.com>
2025-05-12 09:30:19 +10:00
art-was-here 7f42a5bc03
[New Feature/Core] New RGB Matrix Animation "Starlight Smooth" (#25203) 2025-05-12 08:50:36 +10:00
Drashna Jaelre 5a57d2115b
[Docs] Fix typos introduced by PR #25050 (#25250)
It isn't a drashna PR if there aren't some typos in it somewhere.
2025-05-09 07:18:30 +10:00
QMK Bot 084ed078d6 Merge remote-tracking branch 'origin/master' into develop 2025-05-07 14:42:14 +00:00
Nathan Cain 32204095e5
Docs update for installing qmk with uv (#24995) 2025-05-07 15:41:37 +01:00
Nick Brassel ac991405d0
Deprecate `qmk generate-compilation-database`. (#25237) 2025-05-06 09:52:41 +10:00
Joel Challis 5611a40064
Add battery changed callbacks (#25207) 2025-05-05 03:28:33 +01:00
Drashna Jaelre 12caf0be4e
Add additional hooks for Community modules (#25050) 2025-05-05 10:21:47 +10:00
eynsai 7a2cd0fa96
High resolution scrolling (without feature report parsing) (#24423)
* hires scrolling without feature report parsing

* fix valid range for exponent

* fix incorrect minimum exponent value documentation
2025-04-23 00:04:31 +02:00
QMK Bot b779c5f567 Merge remote-tracking branch 'origin/master' into develop 2025-04-20 09:42:05 +00:00
Jan Bláha a1cb822861
DOCS: `qmk-hid` missing in bootloaders list? (#25177) 2025-04-20 19:41:30 +10:00
QMK Bot 642c169bc3 Merge remote-tracking branch 'origin/master' into develop 2025-04-17 16:24:18 +00:00
ClownFish 7641359240
[Docs] Unify lighting step descriptions (#25167)
unify lighting step descriptions and defaults across docs
2025-04-17 10:23:16 -06: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
QMK Bot f35f4ee933 Merge remote-tracking branch 'origin/master' into develop 2025-04-08 02:31:52 +00:00
Joel Challis ca84b57042
Remove direct docs.qmk.fm links from docs (#25113) 2025-04-08 12:31:17 +10: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 a8fb9e1462 Merge remote-tracking branch 'origin/master' into develop 2025-03-29 02:48:02 +00:00
フィルターペーパー d0cfb938ef
Module documentation typo correction (#25073) 2025-03-28 20:47:26 -06:00
QMK Bot fd1d4d71aa Merge remote-tracking branch 'origin/master' into develop 2025-03-20 21:36:32 +00:00
Anthony Abruzzini c5232ba699
Fix typo in docs: split_keyboard.md SPLIT_USB_DETECT ("theres's -> "there's") (#24984)
* Fix typo "theres's"

* Update docs/features/split_keyboard.md

Co-authored-by: jack <jack@pngu.org>

---------

Co-authored-by: jack <jack@pngu.org>
2025-03-21 08:35:58 +11:00
Joel Challis f820a186d4
Align to latest CLI dependencies (#24553)
* Align to latest CLI dependencies

* Update docs
2025-03-20 14:04:10 +11:00
Pascal Getreuer 3484f0a0df
[Core] get_keycode_string(): function to format keycodes as strings, for more readable debug logging. (#24787)
* keycode_string(): Format keycodes as strings.

This adds the `keycode_string()` function described in
https://getreuer.info/posts/keyboards/keycode-string/index.html
as a core feature.

* Fix formatting.

* keycode_string review revisions.

* Rename keycode_string() -> get_keycode_string() for consistency with
  existing string utils like get_u8_str().

* Revise custom keycode names with separate _user and _kb tables.

* Correct indent in builddefs/generic_features.mk.

Co-authored-by: Ryan <fauxpark@gmail.com>

* Add KC_NUHS, KC_NUBS, and KC_CAPS.

* Fix linking error with custom names.

* Attempt at simplifying interface.

* Formatting fix.

* Several fixes and revisions.

* Don't use PSTR in KEYCODE_STRING_NAME, since this fails to build on
  AVR. Store custom names in RAM.
* Revise the internal table of common keycode names to use its own
  storage representation, still in PROGMEM, and now more efficiently
  stored flat in 8 bytes per entry.
* Support Swap Hands keycodes and a few other keycodes.

* Revert "Formatting fix."

This reverts commit 2a2771068c7ee545ffac4103aa07e847a9ec3816.

* Revert "Attempt at simplifying interface."

This reverts commit 8eaf67de76e75bc92d106a8b0decc893fbc65fa5.

* Simplify custom names API by sigprof's suggestion.

* Support more keycodes.

* Add QK_LOCK keycode.
* Add Secure keycodes.
* Add Joystick keycodes.
* Add Programmable Button keycodes.
* Add macro MC_ keycodes.
* For remaining keys in known code ranges, stringify them as
  "QK_<feature>+<number>". For instance, "QK_MIDI+7".

* Bug fix and a few improvements.

* Fix missing right-hand bit when displaying 5-bit mods numerically.
* Support KC_HYPR, KC_MEH, HYPR_T(kc), MEH_T(kc).
* Exclude one-shot keycodes when NO_ACTION_ONESHOT is defined.

---------

Co-authored-by: Ryan <fauxpark@gmail.com>
2025-03-19 20:45:56 +01:00
QMK Bot 80b16f688c Merge remote-tracking branch 'origin/master' into develop 2025-03-18 15:49:02 +00:00
Nick Brassel 271efeb8bc
Latest batch of license violations. (#25031) 2025-03-18 15:48:27 +00:00
QMK Bot 40fafad6bc Merge remote-tracking branch 'origin/master' into develop 2025-03-17 19:07:56 +00:00
Nick Brassel 95223aa872
Latest batch of license violations as per #24085. (#25023)
* Latest batch of license violations as per #24085.

* No links.
2025-03-18 06:07:24 +11:00
Joel Challis 6e1d3d6d07
Add EOL to non-keyboard files (#24990) 2025-03-06 23:17:51 +00:00
QMK Bot 5151abc298 Merge remote-tracking branch 'origin/master' into develop 2025-03-01 21:02:04 +00:00
Eric Banker 0419cd2eed
[Docs] Fix example code in quantum_painter.md (#24897)
https://github.com/qmk/qmk_firmware/issues/24896
2025-03-01 14:01:30 -07:00
Joel Challis 6ee806f376
Implement battery level interface (#24666)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2025-02-28 16:46:14 +11:00
Joel Challis c4aaab5fa3
2025q1 develop changelog (#24949)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2025-02-28 09:14:32 +11:00
Nick Brassel 1efc82403b
Community modules (#24848) 2025-02-26 22:25:41 +11:00
Ryan 273d8d6a1a
`qmk docs`: restore `--port` and `--browser` arguments (#24623)
* `qmk docs`: restore `--port` and `--browser` arguments

* Make docs command args always a list
2025-02-01 21:19:30 +11: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
Ryan ee63d39058
Unify spi_master headers (#24857)
* Move default config to .c file

* Explicitly define PAL modes for boards with custom init

* Unify spi_master headers
2025-01-26 22:37:37 +01:00
Ryan ef29a46c87
Unify i2c_master headers (#24846)
* Unify i2c_master headers

* More documentation improvements

* Reorganise PAL mode defaults
2025-01-26 13:48:46 +01:00
Ryan 291d154d7b
Unify UART headers (#24855)
* Remove deprecated defines

* Move default config to .c files

* Unify UART headers

* Clean up docs

* Reorganise PAL mode defaults
2025-01-26 13:46:46 +01:00
QMK Bot a2353df422 Merge remote-tracking branch 'origin/master' into develop 2025-01-25 15:59:13 +00:00
Xelus22 0a049163f1
[License Violation] add pressplayid (#24869)
add pressplayid lic viol

Co-authored-by: Xelus22 <>
2025-01-25 08:58:38 -07:00
QMK Bot acb2f34c5c Merge remote-tracking branch 'origin/master' into develop 2025-01-21 00:01:34 +00:00
Rory Chatterton 163b894b97
Updated Licence Violations for Chosfox L75 (#24833)
Co-authored-by: Joel Challis <git@zvecr.com>
2025-01-21 11:01:02 +11:00
Ryan a98070f212
[Docs] Correct I2C API reference (#24840) 2025-01-20 22:53:35 +00:00
QMK Bot df8cdde782 Merge remote-tracking branch 'origin/master' into develop 2025-01-20 21:33:27 +00:00
Nick Brassel a573931fef
License violations updates. (#24831) 2025-01-21 08:32:52 +11:00
QMK Bot 1174d16b5a Merge remote-tracking branch 'origin/master' into develop 2025-01-15 19:36:54 +00:00
Haim Gelfenbeyn 7b83bb9d26
Allow running Docker container on MacOS (without in-container USB support) (#24412) 2025-01-16 06:36:20 +11:00
QMK Bot 8247f9e114 Merge remote-tracking branch 'origin/master' into develop 2025-01-08 03:13:29 +00:00
jack 95c74b6276
[Docs] Fix wording in Mod Tap documentation (#24796) 2025-01-07 19:13:04 -08:00