Compare commits

...

1062 Commits

Author SHA1 Message Date
Drashna Jaelre
49a1a12a32 Expand count checks in keymap introspection (#24464)
* Add check Tap Dance count check to keymap introspection

* Add checks for combos and key overrides to introspection
2024-10-11 06:54:53 +11:00
フィルターペーパー
fb598e7e61 Fixup Lily58 keymap comment (#24466) 2024-10-09 05:30:32 +01:00
yiancar
c0d57a6826 Fix indicator code for NK classics (#24462)
Fix indicator code

Co-authored-by: yiancar <yiancar@gmail.com>
2024-10-08 12:51:23 -06:00
Álvaro A. Volpato
1a284f2b92 Fix Caps Lock indication on Valhalla v2 (#23012)
* Fix Caps Lock indication

* User LED state function override added

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

* Change backlight enabled check and remove backlight headers

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

---------

Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-10-07 17:29:03 +13:00
Joel Challis
f25624dca4 Fix thumbsup:default keymap (#24459) 2024-10-06 18:26:48 +01:00
sizezero
035dcf213c Add keyboard Jris65 (#23936)
* first compiled, flashed, and tested version of jris65

* adding readmes for mykeyclub and jris65

* removed commented out code and unneeded files

* typo in build instructions

* renamed info.json to keyboard.json as per new standard

* formatted with qmk format-json

* fixed layout offset problem

* moved some settings from c/h files to json

* moved matrix from .h file to .json

* cleaned up non-json options

* moved settings from rules.mk to keyboard.json

* fix for via after removing .h file

* converted keymap.c to keymap.json

* keymap.c has been replaced by keymap.json

* FN+Backspace loads bootload

* added custom keymap for Sean

* config.h setting is only needed by via

* formatted json

* convert via keymap from .c .h .mk to keymap.json

* moved keyboard configuration to hotswap dir; note in readme that only hotswap has been tested

* Update keyboards/mykeyclub/jris65/keymaps/default/keymap.json

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

* typo

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

* blank layers do not need to be specified

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

* added other valid layouts

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

* added other valid layouts

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

* added other valid layouts

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

* added other valid layouts

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

* removed extra newline

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

* cleaned up wording in readme

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

* QMK no longer supports user keymaps

* remove settings that are already the default (false settings)

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

* add image

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

* add missing commas (formatting)

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

* add missing commas (formatting)

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

* add missing commas (formatting)

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

* re-added second layer with QK_BOOT for backspace

* make the hotswap the default keyboard

* added keyboard director prefix to DEFAULT_FOLDER

* ran qmk format-json on keyboard.json

* DEFAULT_FOLDER option is going away so don't use it

* removed via keymap as they now reside in qmk_userspace_via

---------

Co-authored-by: jack <jack@pngu.org>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-10-06 11:01:30 -06:00
ak66666
7446c6ea7d Added a new keyboard ThumbsUp! v9 with a default keymap (#23800)
* Added a cleaned-up set of files for ThumbsUp! v9.

* Renamed the keymap for v9 as default

* Update keyboards/thumbsup/keymaps/default/keymap.c

As per PR review suggestions.

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/thumbsup/keymaps/default/keymap.c

As per PR review suggestions.

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/thumbsup/keymaps/default/keymap.c

As per PR review suggestions.

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/thumbsup/keymaps/default/keymap.c

As per PR review suggestions.

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/thumbsup/keymaps/default/keymap.c

As per PR review suggestions.

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/thumbsup/rev9_promicro_4x12/info.json

As per PR review suggestions.

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/thumbsup/rev9_promicro_4x12/readme.md

As per PR review suggestions.

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/thumbsup/rev9_promicro_4x12/readme.md

As per PR review suggestions.

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/thumbsup/rev9_promicro_4x12/rules.mk

As per PR review suggestions.

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/thumbsup/rev9_promicro_4x12/info.json

As per PR review suggestions.

Co-authored-by: jack <0x6a73@protonmail.com>

* Apply suggestions from code review

Co-authored-by: jack <0x6a73@protonmail.com>

* Delete keyboards/thumbsup/keymaps/default/readme.md as per review recommendation.

* v9: Fixed the layout name in keymap.c file.

* v9: PR recommendatios applied - rules.mk file removed, info.json renamed to keyboard.json.

* v9: PR recommendatios applied - rules.mk file removed, info.json renamed to keyboard.json.

* v9: Fixed the copyright header modified by mistake.

* v9: Fixed the tri-layer switch as per the review recommendation.

* v9: Fixed the copyright header modified by mistake.

---------

Co-authored-by: jack <0x6a73@protonmail.com>
2024-10-06 22:08:18 +13:00
Robin Haberkorn
ff21363627 ibm/model_m/modelh: added ISO layout and keymap for Wheelwriter 10/15 keyboard modules (#24248)
These are probably compatible with the Wheelwriter 1000 as well.
2024-10-06 22:01:20 +13:00
Steven Karrmann
c2dd0c1845 Update Janus keyboard firmware to use EE_HANDS (#24261)
* Use EE_HANDS https://docs.qmk.fm/features/split_keyboard#handedness-by-eeprom

* Update Janus readme to indicate EEPROM handedness is used
2024-10-06 21:52:56 +13:00
rahanahu
13a87ad354 hotdox76v2: Update g_led_config.matrix_co to fix key electrical matrix to led index lookup table. (#24293)
update g_led_config on hotdox76v2/hotdox76v2.c

Co-authored-by: rahanahu <ra87who@gmail.com>
2024-10-06 21:51:06 +13:00
Nick Brassel
c82f675266 Install dnf copr plugin if not present (i.e. docker containers). (#24308)
* Install `dnf copr` plugin if not present (i.e. docker containers).

* Don't need to skip prompt when invoking help.
2024-10-06 21:39:37 +13:00
yiancar
e12c1fefdf NK Classic TKL ISO (#24434)
* initial_commit

* fix keymap

* Update keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json

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

---------

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-10-05 10:16:25 -06:00
anubhav dhiman
6a73c8299b Add atset AT2 keyboard (#24099)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: jack <jack@pngu.org>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: zvecr <git@zvecr.com>
2024-10-02 17:28:41 -07:00
DOIO2022
6374bad540 Add KB09-01 keyboard (#24044)
Co-authored-by: jack <jack@pngu.org>
2024-10-02 17:27:36 -07:00
dependabot[bot]
b78118b2dd Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.8 (#24453)
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.4 to 4.6.8.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.4...v4.6.8)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-30 20:31:03 +01:00
Pham Duc Minh
015cd23616 [Keyboard] Add DE80 PCB (#24439) 2024-09-30 01:23:21 +01:00
Ryan
f18a699393 [docs] reference_info_json: add type hints (#24443) 2024-09-30 00:26:31 +01:00
Joel Challis
4d6337539d Revert "Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.6" (#24450)
Revert "Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.6 (#24446)"

This reverts commit 17fac880bf.
2024-09-28 01:58:22 +01:00
dependabot[bot]
17fac880bf Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.6 (#24446)
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.4 to 4.6.6.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.4...v4.6.6)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-27 20:38:32 +01:00
Eric
805cde674d input_club/ergodox_infinity ST7565 call spi_stop (#24429) 2024-09-26 11:43:39 -07:00
nopunin10did
f7393a5ab8 Fix jabberwocky key coordinates in QMK Configurator (#24435) 2024-09-25 20:25:03 +01:00
dependabot[bot]
93cc3f58b1 Bump rollup from 4.16.4 to 4.22.4 in /builddefs/docsgen (#24430)
Bumps [rollup](https://github.com/rollup/rollup) from 4.16.4 to 4.22.4.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.16.4...v4.22.4)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-24 09:55:18 +01:00
pancho horrillo
6a536d5588 .editorconfig: fix inline comment, tidy name section for yaml (#24416) 2024-09-21 19:48:31 +01:00
studiokestra
4665d9c405 [Keyboard] Add Fairholme PCB (#24400)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-09-21 10:29:12 -07:00
Joe Scotto
2e86b05cab Add Scotto69 (PCB Edition) (#24402)
Co-authored-by: Joel Challis <git@zvecr.com>
2024-09-21 10:24:38 -07:00
plodah
61778f6136 Fix a_jazz/akc084 render (#24411)
* Alter ZXC row to have y index of 4 and bottom row to have index of 5

* Fix other issues with `]}`,  `'"` & Enter - pointed out by noroadsleft
2024-09-19 18:28:57 -07:00
Dasky
1c03574424 Fix ADNS-9800 read (#24406) 2024-09-18 15:46:13 +01:00
kbladewht
42f1763db9 Workaround for broken STM32L433 startup (#24404)
Change STM32L433 LSI to False, this is to fix board startup issue , change is same to stm32L432 board
2024-09-18 19:06:50 +10:00
dependabot[bot]
e7c009c142 Bump vite from 5.2.10 to 5.2.14 in /builddefs/docsgen (#24403)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.2.10 to 5.2.14.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.2.14/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.14/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-18 09:56:46 +01:00
jack
aa05fa649f Update PR template (#24397)
Initial
2024-09-14 16:09:01 -06:00
Sergey Vlasov
0b3ece1189 qmk find: Fix handling of keys with dots in filter functions (#24393) 2024-09-14 06:52:31 +10:00
nopunin10did
ae4ab5ed31 [Keyboard] Styrka Atmel Custom PCB (#24380)
* Workaround for broken ChibiOS startup (#23822)

* Add personal keymap JSON

* Delete viktus_styrka_nopunin10did_20240529.json

* Add custom Styrka Atmel firmware

* Styrka Atmel fixes to compile and readme

* Remove VIA keymap

* Remove user keymap and edit readme

---------

Co-authored-by: Joel Challis <git@zvecr.com>
2024-09-12 22:58:02 -06:00
Ryan
0c19eae916 4pplet/waffling80/rev_b_ansi: fix missing keyboard.json (#24390) 2024-09-12 18:30:28 +01:00
nonameCCC
b7729fa019 [Keyboard] Add Support for PH-AC Rhythm Game Controller (#24368)
* [Keyboard] Add PHDesign PH-AC Rhythm Game Contoller

Co-authored by alt-0191

* Detail Improvement

* Update keyboard.json

* Update readme.md

* Update readme.md

* Created Encoder Matrix

* Posted Images

* Suggested Changes

* Update keyboard.json

* Update readme.md

* Update keyboard.json

* Update readme.md
2024-09-10 23:43:36 -06:00
Cipulot
e0788d19d4 Update EC60X LED count (#24374)
Update keyboard.json
2024-09-08 12:19:39 -06:00
jack
f043545144 [Docs] Remove references to bootmagic lite (#24369) 2024-09-06 17:30:54 +01:00
Duncan Sutherland
c44f5375ab Correct 2u backspace matrix co-ordinate for Fave65s (#24353) 2024-09-06 07:59:39 -07:00
jack
6d4f8d8963 [Keyboard] Add Klor (#24302) 2024-09-06 07:42:22 -07:00
4pplet
75848477fb Add waffling80 hotswap PCB (#23551)
Co-authored-by: jack <0x6a73@protonmail.com>
2024-09-05 23:35:26 -07:00
Ryan
4a6ba1e808 Fix RGBW for WS2812 SPI driver (#24367) 2024-09-05 23:46:29 +01:00
Perry Wang
e83a36dfbf Fixes renaming typo of uno/rev2 json back to keyboard.json (#24366)
Rename keyboard.jsono to keyboard.json
2024-09-06 07:27:35 +10:00
dependabot[bot]
2b55e43e54 Bump peter-evans/create-pull-request from 6 to 7 (#24361)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v7)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 03:57:19 +01:00
dependabot[bot]
ef3a939880 Bump JamesIves/github-pages-deploy-action from 4.6.3 to 4.6.4 (#24358)
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.3 to 4.6.4.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.3...v4.6.4)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 20:46:02 +01:00
Ryan
28b6a8841f Add 60_ansi_tsangan_split_bs_rshift to community layouts (#24186) 2024-09-02 09:13:28 +10:00
Stefan Otte
884a808813 doc: "docker getting started" mentions flash limitations (#24336)
* doc: "docker getting started" mentions `flash` limitations

Mass storage bootloader don't work with `flash` target.

* Update docs/getting_started_docker.md

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

---------

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2024-09-01 10:59:21 -06:00
Duncan Sutherland
fba0408cb3 Add matrix diagram for EC 60X (#24045)
* add matrix_diagram.md

* Update matrix_diagram.md

* Update matrix_diagram.md

* Update matrix_diagram.md

* unix line endings
2024-08-31 21:46:47 -06:00
Joe Scotto
16a811604b [Keyboard] Add ScottoHazard (#24181)
* Add ScottoHazard

* Update to proper layout

* Add header license

* Update keyboards/handwired/scottokeebs/scottohazard/config.h

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

* Update keyboards/handwired/scottokeebs/scottohazard/keyboard.json

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

* Delete keyboards/handwired/scottokeebs/scottohazard/rules.mk

---------

Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-08-30 21:46:38 -06:00
Armin Anderson
d7e1eb3e48 [Docs] Update joystick.md (#23928)
Explicit note about compatibility with ARM boards and the ADC driver
2024-08-30 21:44:03 -06:00
fenggx-a-jazz
0da9bd2709 Add a-jazz akc084 keyboard (#24224)
Co-authored-by: jack <jack@pngu.org>
2024-08-29 19:57:06 -07:00
jack
d4811c19b0 Fix wrong OLED code for a few keyboards (#24344)
* Initial

* Other keyboards too
2024-08-29 20:21:53 -06:00
Ryan
496f448090 Fix two firmware size warnings (#24343) 2024-08-29 20:20:05 -06:00
Antoine Bertin
d95690d89c [Keyboard] Fix splitkb/corne OLED code (#24260) 2024-08-29 19:56:25 -06:00
leyew
fd65bd5ae0 [Keyboard] Add Acid and Co. Stellaron TKL (#24154) 2024-08-28 15:52:02 +01:00
Thanh Son Tran
4b1f916b99 [Keyboard] Add Tyson60s keyboard (#24047) 2024-08-28 15:38:37 +01:00
Nick Brassel
0f43486537 Changelog update with actual qmk_userspace_via link. (#24332) 2024-08-26 23:05:45 +01:00
Joel Challis
530e044762 Update PR Checklist for 'via' keymaps (#24330) 2024-08-27 07:28:23 +10:00
zlabkeeb
8b42e5fb8f [Keyboard] Add Macropad VRYNBOARD (#23931)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: jack <jack@pngu.org>
Co-authored-by: ZahraNetMe <vericheri@gmail.com>
2024-08-26 21:58:48 +10:00
Ryan
c134822486 Update next breaking changes date (#24331) 2024-08-26 15:14:06 +10:00
MrMustardTBC
63206aebcf fixed spelling errors in example 4 (#24318) 2024-08-26 04:34:42 +01:00
Joel Challis
c05cafa3df Add via keymaps to gitignore (#24329) 2024-08-26 04:33:40 +01:00
Joel Challis
7a4f21d340 Reject via keymaps in lint (#24325) 2024-08-26 03:56:03 +01:00
Nick Brassel
5d76c5280d Merge branch 'develop' 2024-08-26 10:01:57 +10:00
Nick Brassel
81dcf2b547 Merge point for 2024q3 breaking change -- take 2 2024-08-26 10:00:11 +10:00
Nick Brassel
5741eb7b10 Fixup python tests for missing via keymaps. 2024-08-26 09:57:35 +10:00
Nick Brassel
9976d0f547 Merge point for 2024q3 breaking change 2024-08-26 09:49:08 +10:00
Nick Brassel
acac787842 2024q3 breaking changes changelog (#24324)
Co-authored-by: Joel Challis <git@zvecr.com>
2024-08-26 09:46:12 +10:00
Nick Brassel
45dc2499dc Remove all via-enabled keymaps, including via. (#24322) 2024-08-26 07:51:22 +10:00
Ryan
8f6d2ac53c Update Underglow keycodes (#23765)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-08-25 22:15:07 +10:00
Nebuleon
fc9d848a77 Fix build failure on zsa/moonlander with DYNAMIC_MACRO_ENABLE (#24316) 2024-08-24 14:10:48 +01:00
QMK Bot
b3bb19a96d Merge remote-tracking branch 'origin/master' into develop 2024-08-21 21:56:55 +00:00
dependabot[bot]
e6a898e3ee Bump tj-actions/changed-files from 44 to 45 (#24313)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 44 to 45.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v44...v45)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-21 22:56:22 +01:00
QMK Bot
048f2ddcbf Merge remote-tracking branch 'origin/master' into develop 2024-08-21 14:16:01 +00:00
Danny
373364afd1 Add Quefrency Rev. 6 (#24291)
* Initial commit of Quefrency Rev. 6

* Use more memory for storing VIA layout options

* Add missing underglow LED

* Set bootmagic keys for each half, split transport matrix for RGB, update pinout for right half

* Enable encoders

* Add/update license headers

* Remove fudge thing

* Remove EEPROM leveling specification now that is the default

* Fix bootmagic position for right half
2024-08-21 10:15:06 -04:00
QMK Bot
31b962b339 Merge remote-tracking branch 'origin/master' into develop 2024-08-19 19:05:10 +00:00
Joel Challis
557e4e7ffc Fix dead link in porting_your_keyboard_to_qmk.md (#24306) 2024-08-19 20:04:37 +01:00
QMK Bot
97a0091bbb Merge remote-tracking branch 'origin/master' into develop 2024-08-19 18:08:45 +00:00
Joel Challis
e910c89e0b Fix auto 'keyboard' label (#24221) 2024-08-19 19:08:11 +01:00
フィルターペーパー
21b84596e7 Enhance overlapping mouse keys control (#23341)
Enhance the overlapping mouse key press acceleration (introduced in #21494) with user preprocessor controls.
2024-08-19 03:18:28 +01:00
Drashna Jaelre
e9cb9f42a5 [Keyboard] Update ZSA Moonlander (#23911) 2024-08-19 01:13:38 +01:00
QMK Bot
48d3edd66f Merge remote-tracking branch 'origin/master' into develop 2024-08-18 21:33:42 +00:00
Joel Challis
1355eb493f Default STM32G431 back to wear_leveling EFL driver (#24299) 2024-08-19 07:33:11 +10:00
Drashna Jaelre
ab4c13e835 Add dynamic macro keyboard callbacks (#24142) 2024-08-18 01:35:10 +01:00
QMK Bot
faf51c7449 Merge remote-tracking branch 'origin/master' into develop 2024-08-17 20:41:16 +00:00
marksard
072947e573 Remove like_jis keymap. (#24292) 2024-08-17 21:40:45 +01:00
QMK Bot
8db800bfba Merge remote-tracking branch 'origin/master' into develop 2024-08-15 14:22:39 +00:00
Wilfried JEANNIARD
fe50774cb4 [Keyboard] Add/Update Pimoroni keybow 2040 (#23986)
* [Keyboard] Add pimoroni/keybow2040

* [Keyboard] Update pimoroni/keybow2040

Co-Authored-By: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-Authored-By: Joel Challis <git@zvecr.com>
Co-Authored-By: Sandy Macdonald <1325593+sandyjmacdonald@users.noreply.github.com>

---------

Co-authored-by: Tony Finch <dot@dotat.at>
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Sandy Macdonald <1325593+sandyjmacdonald@users.noreply.github.com>
2024-08-15 15:22:07 +01:00
QMK Bot
5f8aaf236f Merge remote-tracking branch 'origin/master' into develop 2024-08-15 13:37:59 +00:00
Joel Challis
39324e642f Update Discord URL (#24283) 2024-08-15 14:37:27 +01:00
QMK Bot
1f02cd45af Merge remote-tracking branch 'origin/master' into develop 2024-08-15 11:11:07 +00:00
Ryan
b07a68230d Fix version check in Fedora install script to be >= 39 (#24281) 2024-08-15 12:10:35 +01:00
Drashna Jaelre
2d2eed9594 [Keyboard] Move Planck EZ to ZSA vendor folder (#23917) 2024-08-14 14:27:37 +01:00
フィルターペーパー
822a4580f4 Refactor starlight RGB matrix effects (#24202)
* Use unsigned integers
* Use lib8tion random8 function
* Test for valid LED flags
* Use rgb_matrix_hsv_to_rgb function
2024-08-14 00:55:00 +01:00
フィルターペーパー
91f293d0c7 Refactor riverflow RGB matrix loop (#24203)
Check for LED flags at the start of loop to skip early
2024-08-14 00:54:01 +01:00
Izumemori
40f2575b56 Fix NKRO and Mouse Emulation on arm_atsam (#23945) 2024-08-13 09:06:24 +10:00
QMK Bot
45397a44e3 Merge remote-tracking branch 'origin/master' into develop 2024-08-12 13:26:02 +00:00
Nick Brassel
dccada95aa Remove debugging prints. (#24271) 2024-08-12 23:25:29 +10: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
Joel Challis
783f97ff32 Remove handling of keyboard level keymap templates (#24234) 2024-08-12 22:29:05 +10:00
QMK Bot
ca6ba30a72 Merge remote-tracking branch 'origin/master' into develop 2024-08-12 10:36:29 +00:00
Nick Brassel
158aaef78c ChibiOS update script updates. (#24267) 2024-08-12 20:35:56 +10:00
Joel Challis
019b6f67b2 Remove keyboard level QK_BOOT implementations (#24231) 2024-08-10 13:50:36 +01:00
jack
339b820520 Fixup handwired/dactyl_minidox (#24253)
* Initial

* Fix missing bracket

* Fix keymap name

* Fix rgb matrix coordinates

* Remove unncessary centre point
2024-08-07 21:48:44 -06:00
QMK Bot
fc209e1c51 Merge remote-tracking branch 'origin/master' into develop 2024-08-07 20:44:32 +00:00
Andrew Kannan
5acc3b2b7b Add extra compatibility to Sat75 HS PCB (#24156) 2024-08-07 14:40:31 -06:00
QMK Bot
c0e2ecb825 Merge remote-tracking branch 'origin/master' into develop 2024-08-07 20:38:19 +00:00
stephen776
78900720fd JJ50 v2 Support (#24212)
* add support for JJ50 V2 PCB

* fix bootloader config

* update mousekey setting

* run format-json

---------

Co-authored-by: Steve Jacobs <sjacobs@truefit.io>
2024-08-07 14:34:21 -06:00
QMK Bot
142128740d Merge remote-tracking branch 'origin/master' into develop 2024-08-07 20:29:11 +00:00
Sắn
c67c3d375b Add support for bunnygirl65 (#24244)
* Add support for bunnygirl65

* Update keyboard.json

* Update keymap.c

* Update keymap.c

* Update keyboards/sawnsprojects/bunnygirl65/readme.md

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/sawnsprojects/bunnygirl65/keyboard.json

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/sawnsprojects/bunnygirl65/keyboard.json

---------

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: jack <jack@pngu.org>
2024-08-07 14:28:41 -06:00
Joel Challis
ac1b488170 Refactor printedpad (#24236) 2024-08-04 20:34:57 +01:00
Joel Challis
b5b4e93857 Refactor orthocode (#24237) 2024-08-04 15:14:30 +01:00
Ryan
1f942bb17e Small tweaks to keymap generation (#24240) 2024-08-04 12:28:40 +01:00
Nick Brassel
5c10bd3d8c Fixup changelog entry path. 2024-08-04 11:44:24 +10:00
Joel Challis
0fbe150303 Remove unnecessary RGB Matrix shutdown hooks (#24238) 2024-08-04 02:07:02 +01:00
Ryan
0b4065b50c hs60/v1: separate into ANSI and ISO revisions (#24136) 2024-08-04 02:03:54 +01:00
QMK Bot
b04fee4ff7 Merge remote-tracking branch 'origin/master' into develop 2024-08-03 23:48:33 +00:00
eason
75402109e9 Add Void65h (#24183) 2024-08-04 00:46:12 +01:00
QMK Bot
ddc60da839 Merge remote-tracking branch 'origin/master' into develop 2024-08-03 23:38:27 +00:00
Ryan
fa657fef70 atlantis/ak81_ve: move RGB Matrix LED config to data driven (#24115) 2024-08-04 00:38:26 +01:00
Ryan
eb78ca1c1a handwired/p65rgb: move RGB Matrix LED config to data driven (#24124) 2024-08-04 00:37:57 +01:00
QMK Bot
bb20093b24 Merge remote-tracking branch 'origin/master' into develop 2024-08-03 22:17:52 +00:00
Christian Greene
d28a50e176 FX19 Support (#24220) 2024-08-03 23:11:49 +01:00
Joel Challis
8808fffc2f Refactor opendeck/32 (#24233) 2024-08-03 23:10:09 +01:00
Ryan
9f387f525c Remove handwired/pytest/has_template (#24232) 2024-08-03 16:55:02 +01:00
QMK Bot
807ba71c89 Merge remote-tracking branch 'origin/master' into develop 2024-07-31 00:08:24 +00:00
akyp
c7662e4f36 [Keyboard] Add archerkeyboard/desire65 (#23776)
Co-authored-by: jack <0x6a73@protonmail.com>
2024-07-31 10:07:51 +10:00
QMK Bot
5439507f5e Merge remote-tracking branch 'origin/master' into develop 2024-07-30 21:22:14 +00:00
Cipulot
73cb6fd89f cipulot/ec_60x: Fix VIA layout options (#24217)
This fixes the issue of one layout option not being applied correctly because it was out of bound.
2024-07-30 22:21:42 +01:00
Nick Brassel
8ca082892a Eliminate use of #include "../default/keymap.c". (#24215) 2024-07-30 13:06:15 +10:00
QMK Bot
9c1e1d1fee Merge remote-tracking branch 'origin/master' into develop 2024-07-28 18:16:45 +00:00
Dasky
d538451adb Remove AVR GCC version warning (#24206) 2024-07-28 19:16:15 +01:00
Joel Challis
02b43b4b60 Refactor use of matrix_scan_kb (#24200) 2024-07-26 22:02:51 -07:00
Joel Challis
20ae67ba01 Remove duplicate calls to housekeeping_task_user (#24201) 2024-07-26 21:56:33 -07: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
QMK Bot
b3d8d5671c Merge remote-tracking branch 'origin/master' into develop 2024-07-26 00:42:26 +00:00
Dasky
cf84ea7662 Fix Reverb lockup when using GCC14 (#24199) 2024-07-26 01:41:54 +01:00
Dasky
56ebd3b829 Rename promicro_rp2040 converter to sparkfun_pm2040 (#24192) 2024-07-25 22:51:32 +01:00
Joel Challis
f98ddf02f4 Remove split.transport.protocol=serial (#24191) 2024-07-24 22:11:18 +01:00
QMK Bot
c25b3bbe90 Merge remote-tracking branch 'origin/master' into develop 2024-07-24 05:17:22 +00:00
Nick Brassel
8c35011d0a [CLI] Only generate files if contents change. (#24038)
Don't overwrite if the content doesn't change.
2024-07-24 06:16:51 +01:00
QMK Bot
c45e75037b Merge remote-tracking branch 'origin/master' into develop 2024-07-24 03:51:08 +00:00
Joel Challis
8c5acdea12 Update to automatic-approve-action fork (#24188) 2024-07-24 04:50:38 +01:00
QMK Bot
783f465cd4 Merge remote-tracking branch 'origin/master' into develop 2024-07-23 23:06:19 +00:00
dependabot[bot]
60c5ad821c Bump actions/labeler from 4 to 5 (#22608)
* Bump actions/labeler from 4 to 5

Bumps [actions/labeler](https://github.com/actions/labeler) from 4 to 5.
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/labeler
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: zvecr <git@zvecr.com>
2024-07-24 00:05:50 +01:00
フィルターペーパー
59c275afbc Check LED flags for Pixel Fractal effect (#23881) 2024-07-23 19:34:00 +01:00
Joel Challis
bcfe3a0718 Migrate split.soft_serial_pin to split.serial.pin H-O (#24185) 2024-07-23 15:49:11 +01:00
QMK Bot
adb884761d Merge remote-tracking branch 'origin/master' into develop 2024-07-23 11:21:45 +00:00
Ryan
622dc56250 kingly_keys/ave: adjust layout names (#24179) 2024-07-23 21:20:17 +10:00
Joel Challis
e8103722bc Migrate split.soft_serial_pin to split.serial.pin 0-H (#24155) 2024-07-23 12:13:05 +01:00
Joel Challis
ce1adce696 Migrate split.soft_serial_pin to split.serial.pin O-Z (#24146)
Migrate split.soft_serial_pin to split.serial.pin
2024-07-23 12:12:52 +01:00
QMK Bot
df2d30fd2c Merge remote-tracking branch 'origin/master' into develop 2024-07-23 11:04:03 +00:00
Ryan
d079372580 meme: adjust layout names (#24178) 2024-07-23 21:03:02 +10:00
Cipulot
883821fa62 Rename EC Type-K (#24180)
Board name order change and default brightness change
2024-07-23 11:38:03 +01:00
QMK Bot
599899c5fb Merge remote-tracking branch 'origin/master' into develop 2024-07-23 10:37:50 +00:00
Ikko Eltociear Ashimine
af70e3759a [docs] update serial.md (#24182)
capabilites -> capabilities
2024-07-23 11:37:19 +01:00
QMK Bot
1eaead3ba4 Merge remote-tracking branch 'origin/master' into develop 2024-07-22 16:13:06 +00:00
Ryan
4bcc80ad46 merge/um80: reduce firmware size (#24177) 2024-07-22 17:12:55 +01:00
Ryan
d09c11dc78 kprepublic/bm40hsrgb/rev2: reduce firmware size (#24176) 2024-07-22 17:12:34 +01:00
fauxpark
9da9b245d3 Merge remote-tracking branch 'upstream/master' into develop 2024-07-23 01:40:23 +10:00
Ryan
82f9019cc9 melgeek/mojo68/rev1: reduce firmware size (#24171) 2024-07-23 01:29:40 +10:00
Ryan
4e2effc538 rubi: reduce firmware size (#24170) 2024-07-23 01:16:00 +10:00
QMK Bot
a9d6825795 Merge remote-tracking branch 'origin/master' into develop 2024-07-22 15:05:12 +00:00
Ryan
8d5517fa63 doro67/rgb: reduce firmware size (#24169) 2024-07-23 01:04:34 +10:00
QMK Bot
8ef275789c Merge remote-tracking branch 'origin/master' into develop 2024-07-22 14:53:04 +00:00
Ryan
ee1505971f handwired/hnah108: reduce firmware size (#24168) 2024-07-23 00:52:31 +10:00
QMK Bot
a5e9926c45 Merge remote-tracking branch 'origin/master' into develop 2024-07-21 20:30:14 +00:00
yiancar
b6e1a20950 Keycult TKL (#24148)
Co-authored-by: yiancar <yiancar@gmail.com>
2024-07-21 13:29:45 -07:00
Dasky
cced3ee622 Fix incorrect conflict resolution 2024-07-21 01:53:11 +01:00
Dasky
4e20740efa Merge branch 'master' into develop 2024-07-21 01:08:51 +01:00
Dasky
f2c789bb4a Fix build failures noticed in #24163 CI log. (#24164) 2024-07-21 09:56:39 +10:00
Dasky
d5cc00ab62 Remove instances of MASTER_LEFT. (#24163) 2024-07-20 23:49:20 +01:00
QMK Bot
1e4435f22d Merge remote-tracking branch 'origin/master' into develop 2024-07-20 22:02:26 +00:00
Ryan
fab50be817 mwstudio/mw75: reduce size (#24161) 2024-07-21 07:59:45 +10:00
Ryan
f04fd13dff mechlovin/delphine/rgb_led: reduce size (#24160) 2024-07-21 07:57:10 +10:00
QMK Bot
23e7d93d0e Merge remote-tracking branch 'origin/master' into develop 2024-07-20 21:53:32 +00:00
Ryan
eb60235cd5 handwired/tractyl_manuform/5x6_right/arduinomicro: reduce size (#24159) 2024-07-21 07:53:04 +10:00
QMK Bot
8a58ad27a2 Merge remote-tracking branch 'origin/master' into develop 2024-07-20 13:04:27 +00:00
Joel Challis
2fb9816c77 Remove incorrect use of split.main (#24158) 2024-07-20 14:03:57 +01:00
QMK Bot
2764e48146 Merge remote-tracking branch 'origin/master' into develop 2024-07-20 09:57:21 +00:00
Ryan
6fbe91aecd keychron/q2: fix RGB Matrix config for JIS variant (#24138) 2024-07-20 10:56:51 +01:00
QMK Bot
a6c8c41c68 Merge remote-tracking branch 'origin/master' into develop 2024-07-19 05:56:43 +00:00
Ryan
a6857872f2 kopibeng/xt60/xt60_singa: reduce firmware size (#24149) 2024-07-19 06:56:00 +01:00
QMK Bot
78fa0f5ca0 Merge remote-tracking branch 'origin/master' into develop 2024-07-19 05:55:19 +00:00
Ryan
56323f75c6 pixelspace/capsule65i: reduce firmware size (#24150) 2024-07-19 06:54:50 +01:00
QMK Bot
ddb679ba88 Merge remote-tracking branch 'origin/master' into develop 2024-07-19 05:54:27 +00:00
Ryan
11031adc1b clueboard/66/rev3: reduce firmware size (#24152) 2024-07-19 06:53:56 +01:00
Ryan
7b4e806c25 Move LED Matrix LED config to data driven (#24122) 2024-07-19 08:13:49 +10:00
QMK Bot
8b46500a74 Merge remote-tracking branch 'origin/master' into develop 2024-07-18 22:05:16 +00:00
Ryan
d79f46e408 vertex/angler2: reduce firmware size (#24140) 2024-07-19 08:04:40 +10:00
Joel Challis
5a0112df08 Migrate half-duplex SERIAL_USART_TX_PIN to DD (#24143) 2024-07-18 22:21:26 +01:00
QMK Bot
7ca0424189 Merge remote-tracking branch 'origin/master' into develop 2024-07-18 07:11:15 +00:00
Ryan
2ddfd60be7 amjkeyboard/amj60: reduce firmware size (#24139) 2024-07-18 08:10:45 +01:00
Joel Challis
4ab36df48f Move split.soft_serial_pin to split.serial.pin (#24127) 2024-07-18 09:02:53 +10:00
Nick Brassel
daa777d6fb [WIP] Adds bus acquire/release semantics to SPI start/stop. (#23439) 2024-07-18 08:59:08 +10:00
QMK Bot
e69be076fc Merge remote-tracking branch 'origin/master' into develop 2024-07-17 19:31:51 +00:00
Joel Challis
63ef6516d3 Avoid path issues with qmk flash on Windows (#24130) 2024-07-17 20:31:18 +01:00
Ryan
275e9de350 Remove pointless RGB_MATRIX_LED_COUNTs (#24133) 2024-07-17 16:13:40 +01:00
QMK Bot
35356c4623 Merge remote-tracking branch 'origin/master' into develop 2024-07-16 04:43:55 +00:00
yiancar
522bf1daf2 Skelett40 (#24121)
Co-authored-by: yiancar <yiancar@gmail.com>
2024-07-15 21:43:26 -07:00
Nick Brassel
8abaa3bc2d Add support for key override introspection. (#24120) 2024-07-16 09:22:17 +10:00
QMK Bot
fef8e7195b Merge remote-tracking branch 'origin/master' into develop 2024-07-15 08:42:14 +00:00
Ryan
a763dd5bbd matrix/noah: move RGB Matrix LED config to data driven (#24117) 2024-07-15 18:41:44 +10:00
QMK Bot
65143b08a3 Merge remote-tracking branch 'origin/master' into develop 2024-07-15 05:30:07 +00:00
Logan Butler
c70c99367a Add matchstickworks normiepad (#23183)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-07-14 22:29:37 -07:00
QMK Bot
fd44e96110 Merge remote-tracking branch 'origin/master' into develop 2024-07-15 05:06:22 +00:00
Ryan
b5b06f1094 checkerboards/axon40: adjust layout name (#24119) 2024-07-15 06:04:27 +01:00
Ryan
caa7599b83 checkerboards/pursuit40: adjust layout name (#24118) 2024-07-15 06:04:00 +01:00
QMK Bot
40d617f812 Merge remote-tracking branch 'origin/master' into develop 2024-07-15 04:59:04 +00:00
Lex Brugman
c2dbbc060a Add MMkeyboard Class60 (#22972)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2024-07-14 21:58:35 -07:00
Robbie
d885963e38 [Keyboard] Whitefacemountain Ampersand (#23437)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-07-14 21:23:13 -07:00
Ryan
85447bd53b LED drivers: extract documentation from LED/RGB Matrix pages (#23630) 2024-07-15 12:03:30 +10:00
Tvrd Rad Keyboards
21b9b70c50 Add TRKeyboard TRK1 keyboard (#23642) 2024-07-13 23:00:26 -07:00
Joel Challis
c0aca9f45c Various fixes for keyboards not implementing callbacks correctly (#24116) 2024-07-14 06:38:04 +01:00
QMK Bot
e76069ea4e Merge remote-tracking branch 'origin/master' into develop 2024-07-13 13:41:12 +00:00
Ryan
875eb43a28 dp60: move RGB Matrix LED config to data driven (#24022) 2024-07-13 23:40:36 +10:00
QMK Bot
2db93b5945 Merge remote-tracking branch 'origin/master' into develop 2024-07-13 13:28:04 +00:00
Alabahuy
2908f0b846 Add Aums Work keyboard (#23600) 2024-07-13 06:24:11 -07:00
QMK Bot
3ebf9880ca Merge remote-tracking branch 'origin/master' into develop 2024-07-13 13:19:36 +00:00
Ryan
a3d938d822 ryanskidmore/rskeys100: move RGB Matrix LED config to data driven (#24114) 2024-07-13 14:19:07 +01:00
QMK Bot
83a7506438 Merge remote-tracking branch 'origin/master' into develop 2024-07-13 12:44:22 +00:00
Yue Wu
6dfd7ed46f Fix i2c received value in georgi and bajjak (#24113) 2024-07-13 22:43:52 +10:00
Joel Challis
f0807ea64f Migrate SPLIT_HAND_PIN to json (#23924) 2024-07-13 13:29:16 +01:00
Joel Challis
26e84c513c Migrate SERIAL_DRIVER to json (#23925) 2024-07-13 13:12:35 +01:00
Ryan
1552cf2ddc Update atomic GPIO macros in keyboard custom matrix (#23796) 2024-07-13 18:41:05 +10:00
QMK Bot
5c43a9bed1 Merge remote-tracking branch 'origin/master' into develop 2024-07-13 02:11:31 +00:00
c0ldbru
7b5d7907df adds veilid SAO macropad (#23868)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: c0ldbru <c0ldbrusec@gmail.com>
2024-07-12 19:11:00 -07:00
QMK Bot
cfd0ab2198 Merge remote-tracking branch 'origin/master' into develop 2024-07-12 20:47:09 +00:00
paradoxskin
79ad561b67 Fix typo in Keychron comments: "lcok" to "lock" (#24107) 2024-07-12 14:46:38 -06:00
QMK Bot
85cf8b5183 Merge remote-tracking branch 'origin/master' into develop 2024-07-12 09:36:02 +00:00
Ryan
5a5f68038e mechwild/bbpad: fix build (#24106) 2024-07-12 10:35:32 +01:00
Joel Challis
52ee9f2ce1 Convert eeconfig_init_kb implementations to config (#24087) 2024-07-12 08:06:19 +01:00
Joel Challis
2c2885639e Remove broken keymap from keebio/iris (#24094) 2024-07-12 02:42:23 +01:00
QMK Bot
57b7f8534b Merge remote-tracking branch 'origin/master' into develop 2024-07-12 00:20:05 +00:00
Nick Brassel
4d4d7b76b0 [CI] Disable Discord webhook when CI run is cancelled. (#24104)
* Disable Discord webhook when CI run is cancelled.

* Include link to binaries in Discord output.
2024-07-12 01:19:33 +01:00
QMK Bot
6051fc87e3 Merge remote-tracking branch 'origin/master' into develop 2024-07-12 00:19:31 +00:00
zvecr
c58c5fa8fa Fix missing hashbang 2024-07-12 01:18:50 +01:00
QMK Bot
aaf9074e85 Merge remote-tracking branch 'origin/master' into develop 2024-07-11 23:49:18 +00:00
Nick Brassel
565bb704e0 fixup CI exec flag 2024-07-12 09:48:38 +10:00
QMK Bot
1ba4fef711 Merge remote-tracking branch 'origin/master' into develop 2024-07-11 23:19:55 +00:00
Nick Brassel
890909c2d7 [CI] Remove via keymap builds. (#24103) 2024-07-12 09:19:04 +10:00
QMK Bot
3251f4b168 Merge remote-tracking branch 'origin/master' into develop 2024-07-11 23:01:49 +00:00
Nick Brassel
f15fff3258 [CI] Pull full history before generating index (#24102)
For some reason the history generation is way out.
2024-07-12 00:01:20 +01:00
QMK Bot
f7a53df9d4 [CI] Format code according to conventions (#24101) 2024-07-12 09:00:17 +10:00
QMK Bot
f922ed4283 Merge remote-tracking branch 'origin/master' into develop 2024-07-11 22:59:43 +00:00
QMK Bot
7d94db8661 [CI] Format code according to conventions (#24100) 2024-07-12 08:58:57 +10:00
QMK Bot
4827d383a8 Merge remote-tracking branch 'origin/master' into develop 2024-07-11 22:49:15 +00:00
Joel Challis
063f1444c6 Add json index of files to CI uploads (#24097) 2024-07-12 08:48:43 +10:00
QMK Bot
ec5786bdd1 Merge remote-tracking branch 'origin/master' into develop 2024-07-11 13:54:04 +00:00
QMK Bot
2e671cfd8b [CI] Format code according to conventions (#24095)
Format code according to conventions
2024-07-11 14:50:39 +01:00
QMK Bot
2df8046dd0 Merge remote-tracking branch 'origin/master' into develop 2024-07-11 13:44:07 +00:00
Nick Brassel
1b8b6801d4 [CI] Add index page generator. (#23737) 2024-07-11 14:43:26 +01:00
leyew
2623a258f1 [Keyboard] Rename dnworks/9973 to dnworks/tkl87 (#23692) 2024-07-11 14:40:54 +01:00
QMK Bot
ac8759fe74 Merge remote-tracking branch 'origin/master' into develop 2024-07-11 13:40:17 +00:00
jack
cc62eb503d [Keyboard] Add boardsource/sessenta (#23823) 2024-07-11 14:39:45 +01:00
QMK Bot
22f830d67c Merge remote-tracking branch 'origin/master' into develop 2024-07-11 12:52:22 +00:00
4pplet
0c4fd514f1 Adding support for IBE60 (#24075) 2024-07-11 13:51:43 +01:00
Ryan
9be6d76c61 mt/mt64rgb: move RGB Matrix config to data driven (#24089) 2024-07-11 13:50:26 +01:00
QMK Bot
27ea1b1332 Merge remote-tracking branch 'origin/master' into develop 2024-07-11 12:50:20 +00:00
Ryan
3d10171e2c mt/mt84: move RGB Matrix config to data driven (#24090) 2024-07-11 13:49:45 +01:00
Joel Challis
e0809eade5 Various fixes for keyboards not implementing callbacks correctly (#24092) 2024-07-11 13:47:53 +01:00
QMK Bot
23c4704123 Merge remote-tracking branch 'origin/master' into develop 2024-07-11 12:47:41 +00:00
tarxvf
e3ef5b2d9d mntre_v3: fix matrix bottom row (#24077) 2024-07-11 13:46:54 +01:00
QMK Bot
4d4ccdc41a Merge remote-tracking branch 'origin/master' into develop 2024-07-11 12:11:16 +00:00
Dasky
f8cf58a512 Remove a user keymap from crkbd. (#24091)
remove personal keymap
2024-07-11 13:10:28 +01:00
zvecr
b066c86e43 bad_kb_funcs1 2024-07-11 11:03:11 +01:00
jack
494af672ce Fixup boardsource/the_q RGB matrix coordinates (#24086) 2024-07-11 07:14:49 +01:00
QMK Bot
aa8d68036a Merge remote-tracking branch 'origin/master' into develop 2024-07-11 02:50:40 +00:00
era
efa5b30cfd [Keyboard] Add Linx3 FAve65S (#24034)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-07-10 19:50:09 -07:00
Joel Challis
f5319d8911 Remove DEFAULT_FOLDER from maple_computing/lets_split_eh (#24054) 2024-07-10 17:17:08 -07:00
Will Hedges
d69b44e68a refactor bear_face/v1, v2 (#24060)
Co-authored-by: jack <jack@pngu.org>
2024-07-10 17:15:35 -07:00
QMK Bot
f637ff8966 Merge remote-tracking branch 'origin/master' into develop 2024-07-11 00:10:22 +00:00
Ryan
fb54a59bba jadookb/jkb65: move RGB Matrix LED config to data driven (#24080) 2024-07-10 17:09:41 -07:00
jack
c97ec805cd [Keyboard] Add boardsource/the_q (#23782)
* initial unsplit keyboard

* move shared code

* unsplit: fix underglow led x,y & remove unecessary code

* unsplit: remove split code & tidy readme

* unsplit: limit brightness & community layout

* rename keyboard

* the_q: tidy keymap & readme

* lulu: remove accidental build target

* rename file
2024-07-10 13:19:06 -06:00
QMK Bot
07fd206370 Merge remote-tracking branch 'origin/master' into develop 2024-07-08 16:27:41 +00:00
Ryan
fbbc71ec34 kakunpc/rabbit_capture_plan: update keymap layout name (#24079)
`kakunpc/rabbit_capture_plan`: update keymap layout names
2024-07-08 10:27:09 -06:00
fauxpark
83d436581f Merge remote-tracking branch 'upstream/master' into develop 2024-07-08 16:08:57 +10:00
Ryan
a0bb7ff992 latinpad/latin60rgb: move RGB Matrix LED config to data driven (#24076) 2024-07-08 15:57:45 +10:00
Ryan
6eb6e3048a pearlboards/zeuspad: add additional layouts (#24066) 2024-07-08 15:57:29 +10:00
Ryan
d08da05cb8 mechlovin/olly/octagon: move LED Matrix LED config to data driven (#24069) 2024-07-08 15:57:13 +10:00
Ryan
8336b5c72f ash1800: add additional layouts (#24065) 2024-07-08 15:56:57 +10:00
Y.KEISUKE
54f907bfe9 Fix for encoders and support ENCODER_MAP_ENABLE on Planck rev7 (#23967)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-07-08 08:45:35 +10:00
Less/Rikki
b23ddb9ad8 [keyboard] mechwild/bbpad (#24072)
* Initial bbpad commit

* refactor: bbpad

---------

Co-authored-by: Kyle McCreery <mccreery.kyle@gmail.com>
2024-07-07 13:09:48 -06:00
Lex Brugman
67d512e639 Fix enter for two ANSI layouts on the TKD Cycle7 (#24070) 2024-07-07 00:58:04 +01:00
takashicompany
e643fa03ef Fix dogtag/info.json (#23520) 2024-07-07 00:56:57 +01:00
Ryan
4fbb395602 ano: fix layout name (#24067) 2024-07-06 09:21:11 +01:00
Nick Brassel
1c02c3dfad [docs] Fixup home link. (#24068) 2024-07-06 16:19:00 +10:00
Ryan
e4dfbb075e handwired/swiftrax/bumblebee: fix layout name (#24064) 2024-07-06 16:19:00 +10:00
Ryan
2477aa9161 [docs] Update RGBLight (Underglow) keycode names (#23999) 2024-07-06 16:18:59 +10:00
Nick Brassel
300505bd9e [docs] Fixup home link. (#24068) 2024-07-06 16:08:55 +10:00
Ryan
38f07e1fd2 handwired/swiftrax/bumblebee: fix layout name (#24064) 2024-07-06 03:23:54 +01:00
Ryan
b82f6ac402 [docs] Update RGBLight (Underglow) keycode names (#23999) 2024-07-06 11:14:09 +10:00
Nick Brassel
4ae0ca5a11 Tap dance introspection (#24049) 2024-07-06 00:57:54 +01:00
QMK Bot
b9e67347f1 Merge remote-tracking branch 'origin/master' into develop 2024-07-05 22:43:39 +00:00
Ryan
be967d42d2 playkbtw/pk64rgb: move RGB Matrix LED config to data driven (#24062) 2024-07-05 23:41:32 +01:00
QMK Bot
c5e317aad9 Merge remote-tracking branch 'origin/master' into develop 2024-07-05 22:26:17 +00:00
dependabot[bot]
af72a58c8f Bump JamesIves/github-pages-deploy-action from 4.6.1 to 4.6.3 (#24063)
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.1 to 4.6.3.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.1...v4.6.3)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-05 23:25:48 +01:00
Joel Challis
d0e89aecca Align LUFA suspend logic (#24055) 2024-07-05 12:02:39 +01:00
QMK Bot
ecf5b26ff0 Merge remote-tracking branch 'origin/master' into develop 2024-07-05 10:58:17 +00:00
Ryan
9fb51cfe2b kbdfans/baguette66: fix layout name (#24061) 2024-07-05 11:57:39 +01:00
QMK Bot
4e8772b5cc Merge remote-tracking branch 'origin/master' into develop 2024-07-05 10:55:55 +00:00
ai03
6d21898c14 Add support for Equinox XL (#23695) 2024-07-05 11:55:25 +01:00
QMK Bot
5078ca651c Merge remote-tracking branch 'origin/master' into develop 2024-07-05 06:36:06 +00:00
Ryan
096dc672c1 kakunpc/rabbit_capture_plan: add additional layouts (#24059) 2024-07-05 16:35:48 +10:00
QMK Bot
10e2f1e29f Merge remote-tracking branch 'origin/master' into develop 2024-07-05 06:35:47 +00:00
Ryan
8e64ff574a kakunpc/angel64: add additional layouts (#24058) 2024-07-05 16:35:35 +10:00
Ryan
5e2368984e ash_xiix: add additional layouts (#24057) 2024-07-05 16:35:15 +10:00
QMK Bot
9dba1cadc9 Merge remote-tracking branch 'origin/master' into develop 2024-07-05 05:25:47 +00:00
Ryan
15af5d7d0d handwired/tkk: fix layout name (#24056) 2024-07-04 23:25:00 -06:00
QMK Bot
443d111403 Merge remote-tracking branch 'origin/master' into develop 2024-07-05 05:10:31 +00:00
Ryan
62c1787d72 dc01/arrow: fix layout name (#24025) 2024-07-05 15:10:02 +10:00
QMK Bot
777db159ac Merge remote-tracking branch 'origin/master' into develop 2024-07-05 01:36:01 +00:00
Coby Sher
8fe667a1a4 Add Sleepy Craft Studios Sleepy Keeb Split (#23844) 2024-07-04 18:35:29 -07:00
Nick Brassel
3a711f4cfa Allow overriding get_hardware_id(). (#24051) 2024-07-05 11:22:08 +10:00
QMK Bot
cd22b8a945 Merge remote-tracking branch 'origin/master' into develop 2024-07-04 23:55:04 +00:00
Ryan
031ccd4887 salicylic_acid3/setta21: fix RGB Matrix LED config (#24041) 2024-07-05 00:49:05 +01:00
QMK Bot
41878d276e Merge remote-tracking branch 'origin/master' into develop 2024-07-04 23:44:53 +00:00
Ryan
43fc7b5a4f kikoslab/kl90: add additional layouts (#24024) 2024-07-05 00:44:23 +01:00
QMK Bot
9536b86a09 Merge remote-tracking branch 'origin/master' into develop 2024-07-04 19:50:25 +00:00
Ryan Neff
4ced8d9371 Fixes duplicate pid/vid for sofle_choc (#24030) 2024-07-04 13:49:55 -06:00
QMK Bot
9adac59c29 Merge remote-tracking branch 'origin/master' into develop 2024-07-04 02:42:11 +00:00
Cipulot
1c6cdb8d74 [Keyboard] Addition of EC 60X (#24028)
* Addition of EC 60X

* Update keyboards/cipulot/ec_60x/keymaps/via/keymap.c

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

* Update keyboards/cipulot/ec_60x/keymaps/default/keymap.c

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

* Update keyboards/cipulot/ec_60x/keyboard.json

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

* Update keyboards/cipulot/ec_60x/keyboard.json

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

* Update keyboards/cipulot/ec_60x/keyboard.json

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

* Update keyboards/cipulot/ec_60x/keyboard.json

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

* Revert "Update keyboards/cipulot/ec_60x/keyboard.json"

This reverts commit 5f49ef63cd.

* Revert "Update keyboards/cipulot/ec_60x/keyboard.json"

This reverts commit 5fb9706acd.

* revert of what was done with the layouts

* Update keyboards/cipulot/ec_60x/mcuconf.h

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

---------

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-07-03 20:42:07 -06:00
chalex
c663f5e9f3 [Keyboard] Add chlx lfn merro (#24026)
* add previous working files to new branch

* update config files. tested via version

* update per qmk PR requested changes - 1. rename info.json -> keyboard.json, move config.h -> keyamps/via/config.h, remove rules.mk

* update photo link for pcb

* remove redundant community keymaps

* Update keyboards/chlx/lfn_merro60/keymaps/default/keymap.c

correct keycode for iso keys

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

* switch image url to source from imgur instead of github

---------

Co-authored-by: chalex <alejandrelee+magbogbro@gmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-07-03 20:40:24 -06:00
QMK Bot
32ec677d8d Merge remote-tracking branch 'origin/master' into develop 2024-07-04 02:39:15 +00:00
Guanzhong Chen
977918982d monsgeek/m5: make numlock and capslock LEDs work (#24027) 2024-07-03 20:38:38 -06:00
Will Hedges
26c114a2b4 [keyboard] added bear_face/v3 (#24032)
* added keyboard.json, default, default_iso, and keymap READMEs
2024-07-03 20:38:03 -06:00
QMK Bot
17c6744c82 Merge remote-tracking branch 'origin/master' into develop 2024-07-04 02:34:47 +00:00
James Gzowski
c2f7974c8e [Keyboard] Add Ashwing66 (#24031)
* Create hello.txt

* Add files via upload

* Create keymap.c

* Ashwing66

* Update readme.md

* Update keymap.c

* Ashwing66 addition

* Ashwing66 addition

* Changes as per request

* Changes as per request

* Changes as per request, Updated repo, fixed filenames

* 02-Jul-11:04:08
2024-07-03 20:34:17 -06:00
Drashna Jaelre
bdca9318f9 Change suspend condition check order on ChibiOS (#24020) 2024-07-04 12:13:00 +10:00
DavidSannier
e07f752a57 [build_test] set CONSOLE_ENABLE=yes if DEBUG > 0 (#23097) 2024-07-04 00:15:44 +01:00
QMK Bot
eed2a74be9 Merge remote-tracking branch 'origin/master' into develop 2024-07-03 12:01:26 +00:00
Nick Brassel
bc8ac86422 Minimum python version listing. (#23989) 2024-07-03 22:00:53 +10:00
QMK Bot
ce9edc94e5 Merge remote-tracking branch 'origin/master' into develop 2024-07-03 10:32:19 +00:00
Ryan
33adb8cba0 vertex/arc60h: add additional layouts (#24023) 2024-07-03 20:31:49 +10:00
QMK Bot
a400c332d2 Merge remote-tracking branch 'origin/master' into develop 2024-07-03 08:46:37 +00:00
kopibeng
e754c9f2b4 Update keymap for KLC x TGR Lena (#23688) 2024-07-03 01:38:57 -07:00
Ryan
f8596b40a4 Normalise mouse keycodes (#23975) 2024-07-03 18:35:54 +10:00
Ryan
bc0c69570b Rename encoder pins defines (#24003) 2024-07-03 17:18:27 +10:00
QMK Bot
8471dcc563 Merge remote-tracking branch 'origin/master' into develop 2024-07-02 21:35:55 +00:00
Cipulot
869b7d9ae6 Fix index EC Dolice (#24033)
* Update keyboard.json

Fixed wrong index in keyboard.json

* Small touch layout
2024-07-02 15:35:26 -06:00
Nick Brassel
7bc3eef8cc SPI flash API cleanup, add async erase capability. (#23894) 2024-07-02 10:16:41 +10:00
QMK Bot
641a1ce568 Merge remote-tracking branch 'origin/master' into develop 2024-06-30 02:40:18 +00:00
Joel Challis
3ffe8d917a Fix 'qmk new-keyboard' processing of development_board (#23996) 2024-06-30 03:39:49 +01:00
QMK Bot
e8e5d11ed8 Merge remote-tracking branch 'origin/master' into develop 2024-06-30 01:58:04 +00:00
Danylo Kondratiev
12379dc1eb Fix ploopy Adept/Madromys link (#24018) 2024-06-30 02:57:35 +01:00
Joel Challis
0947299864 Remove custom keycodes from nullbitsco/snap (#24017) 2024-06-29 14:25:24 +01:00
QMK Bot
bd5da148ec Merge remote-tracking branch 'origin/master' into develop 2024-06-29 10:57:00 +00:00
Ryan
d6bfbdb6b1 horrortroll/handwired_k552: fix RGB Matrix LED config (#24014) 2024-06-29 20:56:29 +10:00
QMK Bot
3e4159bc55 Merge remote-tracking branch 'origin/master' into develop 2024-06-29 09:27:40 +00:00
Ryan
cc0b2f9814 jels/boaty: adjust layout name (#24013) 2024-06-29 10:20:11 +01:00
Ryan
5624804c68 h0oni/deskpad and hotduck: adjust layout names (#24004) 2024-06-29 10:19:51 +01:00
Joel Challis
38f72c5d2b Relocate xelus/pachi/rgb/rev2 VIA logic (#24016) 2024-06-29 10:17:47 +01:00
Joel Challis
07253bfe4a Relocate work_louder VIA logic (#24011) 2024-06-29 09:33:20 +01:00
QMK Bot
62f81cfcc3 Merge remote-tracking branch 'origin/master' into develop 2024-06-29 06:55:21 +00:00
Ryan
2bde8ce206 ez_maker: adjust layout names (#24015) 2024-06-29 07:54:52 +01:00
QMK Bot
b94f70d642 Merge remote-tracking branch 'origin/master' into develop 2024-06-29 06:00:35 +00:00
Ryan
086e8e938e tzarc/djinn: adjust layout name (#24012) 2024-06-29 16:00:05 +10:00
Ryan
af8fe44e0f atreus: misc cleanups (#24010) 2024-06-29 05:50:08 +01:00
Joel Challis
7bc53b8baa Relocate m256ws VIA logic (#24009) 2024-06-29 04:20:08 +01:00
Joel Challis
9ca1f35333 Relocate winry315 VIA logic (#24008) 2024-06-29 04:16:52 +01:00
QMK Bot
2998d20a00 Merge remote-tracking branch 'origin/master' into develop 2024-06-29 03:08:12 +00:00
Ryan
cd374b1500 clueboard/card: Swap layout and alias (#24007) 2024-06-29 04:07:42 +01:00
Joel Challis
be7728ae58 Relocate m256wh VIA logic (#24006) 2024-06-29 03:36:28 +01:00
QMK Bot
ffd9062190 Merge remote-tracking branch 'origin/master' into develop 2024-06-27 17:39:02 +00:00
Danny
9d02ac37f7 Add Nyquist Rev. 5 (#23971)
* Add Nyquist Rev. 5

* Remove unused keymap
2024-06-27 13:37:41 -04:00
Dasky
a7aa58cc81 Change ADNS9800 and PMW33XX SROM uploads to opt in. (#24001)
Make SROM upload optional
2024-06-27 05:10:13 +01:00
QMK Bot
276ecd4693 Merge remote-tracking branch 'origin/master' into develop 2024-06-27 03:56:17 +00:00
David Hoelscher
603586800c [Keyboard] Add Elysian (#23949)
* adding Elysian

* corrections from zvecr
2024-06-26 21:56:16 -06:00
TyraelWasTaken
90b043e01c Add support for Equanimity (#23965)
* Add Equanimity files

* Update keyboard.json format

* Update readme.md

* CRLF to LF

* Force LF and correct rules.mk

* Remove config.h

* Remove rules.mk

* Update keymap.c

* Update keyboard.json

* Update name in readme.md
2024-06-26 21:55:47 -06:00
QMK Bot
5e3b558d5a Merge remote-tracking branch 'origin/master' into develop 2024-06-26 04:36:22 +00:00
Ryan
5f794217b4 xelus/snap96: add matrix diagram and some additional layouts (#23992) 2024-06-26 14:35:45 +10:00
QMK Bot
7c6dbe5e7c Merge remote-tracking branch 'origin/master' into develop 2024-06-26 04:29:16 +00:00
Ryan
b71b81d539 hs60/v2/hhkb: Adjust layout name (#23998) 2024-06-26 05:28:45 +01:00
QMK Bot
8bccabca25 Merge remote-tracking branch 'origin/master' into develop 2024-06-26 03:48:06 +00:00
Ryan
17ae6f9b53 helix/pico and rev2: add keyboard.jsons (#23964) 2024-06-26 13:47:36 +10:00
QMK Bot
2f18d4f449 Merge remote-tracking branch 'origin/master' into develop 2024-06-26 01:34:55 +00:00
Joel Challis
cebe521b11 Fix docker_cmd.sh when userspace is not configured (#23997) 2024-06-26 11:34:24 +10:00
QMK Bot
94586f821c Merge remote-tracking branch 'origin/master' into develop 2024-06-25 06:39:26 +00:00
Joel Challis
0b572a1be6 Remove some redundant 'blank' files (#23995) 2024-06-25 07:38:56 +01:00
Joel Challis
a2176f6a03 Migrate led_update_kb implementations to DD (#23985) 2024-06-25 03:25:05 +01:00
QMK Bot
751482580e Merge remote-tracking branch 'origin/master' into develop 2024-06-24 08:20:17 +00:00
Ryan
378dbd32bd custommk/ergostrafer_rgb: move to keyboard.json (#23990) 2024-06-24 18:19:48 +10:00
QMK Bot
c973ee1445 Merge remote-tracking branch 'origin/master' into develop 2024-06-24 02:30:03 +00:00
Nick Brassel
03e688e91f Add support for userspace to docker build commands. (#23988) 2024-06-24 12:29:30 +10:00
QMK Bot
d4e98e9fda Merge remote-tracking branch 'origin/master' into develop 2024-06-23 18:33:57 +00:00
Ryan
d5e0562a70 Rename layouts containing keyboard name (#23930) 2024-06-23 19:33:26 +01:00
Joel Challis
f0471dd5b4 Remove skipped schema files (#23987) 2024-06-23 09:02:13 +01:00
Ryan
e96d6d9bd4 Migrate RGB Matrix layout for two boards (#23963) 2024-06-23 04:08:57 +01:00
QMK Bot
b4047be3eb Merge remote-tracking branch 'origin/master' into develop 2024-06-23 02:58:22 +00:00
Ryan
191c8cca33 handwired/symmetric70_proto: add keyboard.json (#23966) 2024-06-23 03:57:50 +01:00
Joel Challis
7824e7ed9b Migrate led_update_kb implementations to DD (#23983) 2024-06-22 12:14:17 +01:00
Joel Challis
17498fa48a Migrate led_update_kb implementations to DD (#23981) 2024-06-22 12:14:07 +01:00
Joel Challis
cb39df273d Remove deprecated led_set_user (#23979) 2024-06-22 09:10:58 +01:00
Joel Challis
99aa4f5191 Migrate led_update_kb implementations to DD (#23980) 2024-06-22 09:10:12 +01:00
QMK Bot
35f0a17679 Merge remote-tracking branch 'origin/master' into develop 2024-06-22 04:45:34 +00:00
Joel Challis
7aa2ce2b38 Update documentation suggestion in top level readme (#23978) 2024-06-22 05:45:04 +01:00
QMK Bot
b180a0d415 Merge remote-tracking branch 'origin/master' into develop 2024-06-22 03:28:27 +00:00
Joel Challis
6f03d20a92 Fix 'qmk import-kbfirmware' WS2812 config (#23976) 2024-06-22 04:27:57 +01:00
QMK Bot
cc6bcf9bac Merge remote-tracking branch 'origin/master' into develop 2024-06-22 03:27:46 +00:00
Danny
e5c80fc6b3 Update what's powering QMK docs (#23977) 2024-06-22 04:27:15 +01:00
QMK Bot
05573be7b5 Merge remote-tracking branch 'origin/master' into develop 2024-06-22 00:54:29 +00:00
Kevin Horvat
aa11ef5bcf Fix leftover reference to previous AW20216S EN pin definition (#23974) 2024-06-22 01:53:59 +01:00
Amir
751a6b5bc4 add farsi keymap extras (#23650) 2024-06-20 16:12:16 -07:00
QMK Bot
27455bba6c Merge remote-tracking branch 'origin/master' into develop 2024-06-20 08:10:13 +00:00
Drashna Jaelre
a6ef34cd16 [Keyboard] fixes for ZSA Voyager (#23912) 2024-06-20 09:08:57 +01:00
QMK Bot
92881d38ef Merge remote-tracking branch 'origin/master' into develop 2024-06-20 01:59:59 +00:00
Joel Challis
4fdde75333 Update 'qmk import-kbfirmware' to use 'keyboard.json' (#23960) 2024-06-20 02:59:29 +01:00
Ryan
0a5b892820 [CLI] Force dump_lines() to always use Unix line endings (#23954) 2024-06-19 19:43:23 +01:00
Joel Challis
53a0cdc446 Implement data driven joysticks (#22947) 2024-06-18 03:44:22 +01:00
Joel Challis
938badc3b0 Generate keymap dd keycodes to header (#20273) 2024-06-17 21:51:53 +01:00
QMK Bot
59a3098139 Merge remote-tracking branch 'origin/master' into develop 2024-06-17 19:33:26 +00:00
lizaoreo
dafc46f1d1 Update RGB matrix indicator example (#23947)
Changed the example in indicator-examples-2 to use a compound literal, otherwise the code fails to compile.
2024-06-17 20:30:57 +01:00
QMK Bot
590281f4f2 Merge remote-tracking branch 'origin/master' into develop 2024-06-17 19:24:14 +00:00
Ryan
baa564bddf Remove references to bootloadHID flashing page in keyboard readmes (#23942)
* Remove references to bootloadHID flashing page in keyboard readmes

* Remove bootloadHID flashing page
2024-06-17 20:23:45 +01:00
Joel Challis
51acd35e6f Implement data driven serial driver (#23923) 2024-06-17 19:22:47 +01:00
QMK Bot
9f449246bb Merge remote-tracking branch 'origin/master' into develop 2024-06-17 10:12:58 +00:00
Ryan
3f44231d2d Strip decimals from RGB Matrix layout positions (#23943) 2024-06-17 20:12:26 +10:00
QMK Bot
63848603be Merge remote-tracking branch 'origin/master' into develop 2024-06-17 04:48:03 +00:00
Ryan
4864d5afca Mechwild OBE/Waka60: Fix build warnings (#23929) 2024-06-17 14:47:33 +10:00
QMK Bot
0966901f95 Merge remote-tracking branch 'origin/master' into develop 2024-06-16 20:58:08 +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
fca1417f6b Merge remote-tracking branch 'origin/master' into develop 2024-06-16 18:16:33 +00:00
Danny
751fbd75d3 Add Chiri CE (#23926)
* Add Chiri CE

* Add more layers for dynamic keymap

* Move EEPROM clear

* Convert to keymap.json

* Change bootmagic matrix position
2024-06-16 12:16:05 -06:00
QMK Bot
1317a0732b Merge remote-tracking branch 'origin/master' into develop 2024-06-16 12:53:18 +00:00
Ryan
3c868b9316 ergodox_ez/base: Add missing features object (#23935) 2024-06-16 22:52:47 +10:00
QMK Bot
3ddd20cf51 Merge remote-tracking branch 'origin/master' into develop 2024-06-16 09:53:32 +00:00
Nick Brassel
7ac1a34a34 [CLI] Older python compat. (#23933) 2024-06-16 19:53:03 +10:00
QMK Bot
c43667fa74 Merge remote-tracking branch 'origin/master' into develop 2024-06-16 04:46:54 +00:00
David Hoelscher
ad82c4703a [Keyboard] ErgoStrafer RGB (#22936)
* adding ergostrafer rgb

* removing comment
2024-06-15 21:46:22 -07:00
QMK Bot
faa84a7c90 Merge remote-tracking branch 'origin/master' into develop 2024-06-15 09:38:16 +00:00
Nick Brassel
0262161914 [CLI] Don't exit() when certain exceptions occur. (#23442) 2024-06-15 10:37:47 +01:00
QMK Bot
e31418ee11 Merge remote-tracking branch 'origin/master' into develop 2024-06-14 21:58:43 +00:00
Ryan
d4654ab893 Various keyboard fixes (#23919) 2024-06-14 22:58:13 +01:00
QMK Bot
0c8a968e3d Merge remote-tracking branch 'origin/master' into develop 2024-06-14 20:26:31 +00:00
ai03
aec7569a04 [Keyboard] Add Altair (#23878)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-06-14 13:26:21 -07:00
ai03
0594121b68 [Keyboard] Add Altair-X (#23879)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-06-14 13:26:00 -07:00
QMK Bot
a2f2de7d2c Merge remote-tracking branch 'origin/master' into develop 2024-06-14 07:34:37 +00:00
Myriam
4e8b740dd7 fix keymap for kprepublic bm60hsrgb_iso (#23733)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-06-14 00:34:06 -07:00
QMK Bot
4f8aab748b Merge remote-tracking branch 'origin/master' into develop 2024-06-14 04:10:54 +00:00
adophoxia
c92becc57e [Keyboard] Enable dip switch for Keychron Q4 (#23889) 2024-06-13 21:10:23 -07:00
QMK Bot
e1839238a4 Merge remote-tracking branch 'origin/master' into develop 2024-06-13 23:24:28 +00:00
Joel Challis
cd565a95a0 Remove suggestion of creating issues for unsupported keyboards. (#23918) 2024-06-14 00:23:57 +01:00
QMK Bot
a98aa70f80 Merge remote-tracking branch 'origin/master' into develop 2024-06-13 22:36:55 +00:00
Danny
caf13bb9db Fix order of RGB LEDs to correct one for Iris CE (#23914) 2024-06-13 15:36:26 -07:00
QMK Bot
248a09d545 Merge remote-tracking branch 'origin/master' into develop 2024-06-13 13:01:12 +00:00
Danny
4a4eda4c3c Add missing encode enable for BAMFK-1 (#23821)
Add missing encode enable
2024-06-13 09:00:42 -04:00
Ryan
55538b2e1e APA102: API rework (#23355) 2024-06-13 22:19:45 +10:00
Ryan
c4a74be7f0 Add process_keycode handlers for new RGB Matrix and Underglow keycodes (#23896) 2024-06-13 21:59:46 +10:00
QMK Bot
dafbb92f4e Merge remote-tracking branch 'origin/master' into develop 2024-06-13 03:31:33 +00:00
Ryan
942c2a8d5a Fix nonunique anchors (#23910) 2024-06-13 13:31:03 +10:00
QMK Bot
8fe777adff Merge remote-tracking branch 'origin/master' into develop 2024-06-13 02:56:17 +00:00
Ryan
be9dfe65dd Add API reference section for LED/RGB Matrix docs (#23902) 2024-06-13 12:55:47 +10:00
QMK Bot
49317f058a Merge remote-tracking branch 'origin/master' into develop 2024-06-13 02:02:13 +00:00
Joel Challis
fa40356250 Ensure documentation pull requests build (#23908) 2024-06-13 02:59:37 +01:00
QMK Bot
b3d3a7c46f Merge remote-tracking branch 'origin/master' into develop 2024-06-13 01:56:23 +00:00
Nick Brassel
7247039742 Fixup docs. (#23906) 2024-06-13 02:55:52 +01:00
QMK Bot
9fbf4579a4 Merge remote-tracking branch 'origin/master' into develop 2024-06-12 23:48:54 +00:00
Nick Brassel
e69d30a9e9 VIA keymap deprecation notice. (#23905) 2024-06-13 09:48:24 +10:00
QMK Bot
52b4058ca4 Merge remote-tracking branch 'origin/master' into develop 2024-06-12 07:44:58 +00:00
Nick Brassel
bdd10ef8e7 Remove VIA_ENABLE from default keymaps. (#23903) 2024-06-12 17:43:09 +10:00
QMK Bot
c785584fa5 Merge remote-tracking branch 'origin/master' into develop 2024-06-12 07:12:20 +00:00
4pplet
031ca3b40b [Keyboard] Fix settings for 4pplet/waffling60 (#23862) 2024-06-12 00:11:50 -07:00
Joel Challis
b826877c40 Decouple VIA from STM32 L0/L1 EEPROM implementation (#23901) 2024-06-12 13:00:23 +10:00
QMK Bot
e239d0383a Merge remote-tracking branch 'origin/master' into develop 2024-06-12 00:50:57 +00:00
Ryan
8041a88f5d Slight clarification of LED/RGB Matrix custom effect docs (#23897) 2024-06-12 01:50:25 +01:00
Ryan
354a2e40cf splitkb/kyria: remove CONVERT_TO at keyboard level (#23857) 2024-06-11 13:25:51 +10:00
QMK Bot
e381f91c6e Merge remote-tracking branch 'origin/master' into develop 2024-06-10 00:24:00 +00:00
Joel Challis
8b5cdfabf5 Re-implement eeprom_write_qword as define (#23890) 2024-06-10 01:23:25 +01:00
QMK Bot
d4f8b478aa Merge remote-tracking branch 'origin/master' into develop 2024-06-09 20:15:38 +00:00
Ryan
df4538d894 Fix Iris/Irispad keymaps (#23856) 2024-06-09 13:14:48 -07:00
QMK Bot
c6ecb9ce41 Merge remote-tracking branch 'origin/master' into develop 2024-06-09 19:48:19 +00:00
Alabahuy
e484a3a179 [Keyboard] add jaykeeb jk60 (#23876) 2024-06-09 12:47:48 -07:00
QMK Bot
186dab5619 Merge remote-tracking branch 'origin/master' into develop 2024-06-09 17:58:16 +00:00
Alex Mayer
9dc183afe4 Fix Tri-Layer Keycode Descriptions (#23888) 2024-06-09 10:57:45 -07:00
フィルターペーパー
4926f0de8b [Keyboard] Fixup mt/mt84 (#23883) 2024-06-09 10:57:08 -07:00
Drashna Jaelre
333f8bf0d7 Add STM32F405RG ld script for tinyuf2 (#23885) 2024-06-09 11:08:53 +10:00
QMK Bot
3de5e44f52 Merge remote-tracking branch 'origin/master' into develop 2024-06-07 13:26:23 +00:00
Joel Challis
e7a08ef1a9 Fix broken link in PR checklist (#23877) 2024-06-07 23:25:20 +10:00
QMK Bot
d12f090d1e Merge remote-tracking branch 'origin/master' into develop 2024-06-07 01:17:50 +00:00
Syenasweta a.k.a. Nashrullah Ali Fauzi
950d765370 Add SyenaKeyboards Elaruus (#23870)
* add syenakeyboard elaruus

* add syenakeyboards elaruus

* add syenakeyboards elaruus

* add syenakeyboards elaruus

* add syenakeyboards/elaruus

* add syenakeyboards elaruus

* add syenakeyboards elaruus

* add syenakeyboards elaruus

* Update keyboards/syenakeyboards/elaruus/keyboard.json

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/syenakeyboards/elaruus/keymaps/default/keymap.c

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/syenakeyboards/elaruus/keymaps/via/keymap.c

Co-authored-by: jack <0x6a73@protonmail.com>

---------

Co-authored-by: Syenasweta <syenasweta@gmail.com>
Co-authored-by: jack <0x6a73@protonmail.com>
2024-06-06 19:17:21 -06:00
QMK Bot
c561750f73 Merge remote-tracking branch 'origin/master' into develop 2024-06-06 02:10:14 +00:00
Kim Viberti
260e9a546e Fix documentation error (#23872)
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-06-06 12:09:44 +10:00
QMK Bot
0d360b64fa Merge remote-tracking branch 'origin/master' into develop 2024-06-05 02:21:27 +00:00
Nick Brassel
a4da5f219f Fixup build failures. (#23869) 2024-06-05 12:20:57 +10:00
Fernando Birra
a82b0628b3 GC9xxx LCD family drivers (GC9107 and GC9A01) (#23091)
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: jack <0x6A73@pm.me>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
Co-authored-by: rookiebwoy <81021475+rookiebwoy@users.noreply.github.com>
Fixup boardsource/equals (#23106)
Fix make clean test:os_detection (#23112)
Fix make clean test:os_detection (#23112)"
Fixup boardsource/equals (#23106)"
2024-06-05 08:41:26 +10:00
dexter93
75d11e0421 [wear_leveling] efl updates (#22489)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-06-04 20:16:45 +10:00
QMK Bot
1a343cfaf4 Merge remote-tracking branch 'origin/master' into develop 2024-06-04 02:24:35 +00:00
Nick Brassel
6d365dd8f1 Add helper make targets for formatting and pytest. (#23858) 2024-06-04 12:23:25 +10:00
QMK Bot
c1c7c4f6e0 Merge remote-tracking branch 'origin/master' into develop 2024-06-03 12:36:18 +00:00
Stefan Kerkmann
8253697a63 [FIX] ChibiOS: USB Digitizer and Joystick IN endpoint compilation (#23854)
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-06-03 22:35:46 +10:00
QMK Bot
1c536513b3 Merge remote-tracking branch 'origin/master' into develop 2024-06-02 22:55:36 +00:00
Nick Brassel
282253a7e0 [docs] Add ability to redirect based on input path. (#23851) 2024-06-03 08:55:03 +10:00
QMK Bot
a1b2e0261d Merge remote-tracking branch 'origin/master' into develop 2024-06-02 03:19:50 +00:00
Alex Mayer
41dbb4c86c Fix Vitamins Included Keymap Formatting (#23803) 2024-06-01 20:19:23 -07:00
QMK Bot
c67789b717 Merge remote-tracking branch 'origin/master' into develop 2024-06-02 02:42:52 +00:00
Ryan
78a0adfbb4 [docs] Organize driver & feature docs into subfolders (#23848)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-06-02 12:42:24 +10:00
QMK Bot
6c87500231 Merge remote-tracking branch 'origin/master' into develop 2024-06-01 00:38:08 +00:00
Ryan
fa6d23235b [docs] Remove gitbook directory (#23839) 2024-06-01 10:37:40 +10:00
QMK Bot
93f566280e Merge remote-tracking branch 'origin/master' into develop 2024-05-31 00:35:30 +00:00
Joel Challis
119e54e9e3 Docs theme updates (#23832) 2024-05-31 10:34:30 +10:00
QMK Bot
c60554e090 Merge remote-tracking branch 'origin/master' into develop 2024-05-30 09:27:11 +00:00
Ryan
32af90ae84 [docs] Fix old anchor IDs (#23831) 2024-05-30 19:26:32 +10:00
QMK Bot
64098fafa6 Merge remote-tracking branch 'origin/master' into develop 2024-05-30 09:10:50 +00:00
Joel Challis
8a394503c7 [docs] Update "Get Started" blocks (#23830)
Update "Get Started" blocks
2024-05-30 19:10:00 +10:00
Ryan
8b84fa6b50 [docs] Better logo SVG (#23828) 2024-05-30 19:09:07 +10:00
QMK Bot
6ca94ae158 Merge remote-tracking branch 'origin/master' into develop 2024-05-30 09:00:58 +00:00
Joel Challis
b39285807e [docs] Fix code blocks overflowing page width (#23829)
Fix code blocks overflowing page width
2024-05-30 10:00:28 +01:00
QMK Bot
47356b2201 Merge remote-tracking branch 'origin/master' into develop 2024-05-30 02:01:09 +00:00
Nick Brassel
6ef9717288 Vitepress conversion of docs. (#23795) 2024-05-30 12:00:41 +10:00
QMK Bot
b36c7b99ae Merge remote-tracking branch 'origin/master' into develop 2024-05-30 00:44:13 +00:00
Nick Brassel
395766657f Decrease CPU count by one to try and stop GHA from killing runners. (#23826) 2024-05-30 10:43:45 +10:00
burkfers
4d32073681 BastardKB: remove legacy board tbk (#23818)
remove legacy board `tbk`
2024-05-28 22:53:48 -06:00
QMK Bot
9be50fdce5 Merge remote-tracking branch 'origin/master' into develop 2024-05-29 01:55:15 +00:00
Joel Challis
2f9f000d0c Workaround for broken ChibiOS startup (#23822) 2024-05-29 11:54:47 +10:00
Purdea Andrei
267dffda15 EEPROM: Don't erase if we don't have to. Adding eeprom_driver_format abstraction. (#18332) 2024-05-28 12:49:55 +01:00
Nick Brassel
6921c8a7dd Branch point for 2024q3 Breaking Change. 2024-05-28 14:42:21 +10:00
Nick Brassel
f76cc320fd Merge branch 'develop' 2024-05-28 14:39:23 +10:00
Nick Brassel
465ab5a206 Merge point for 2024q2 Breaking Changes.
- Remove `develop` notice from readme.
2024-05-28 14:38:20 +10:00
Joel Challis
c9f9cb2510 2024 Q2 changelog (#23794)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-05-28 11:48:48 +10: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
b8f29c3865 Update GPIO macros in keymaps (#23792) 2024-05-24 19:38:57 +01:00
James Young
8ff8e9eae5 Migrate LOCKING_*_ENABLE to Data-Driven: X-Z (#23790)
Affects:

  - `x16`
  - `xelus/akis`
  - `xelus/dharma`
  - `xelus/kangaroo/rev1`
  - `xelus/kangaroo/rev2`
  - `xelus/ninjin`
  - `xelus/pachi/mini_32u4`
  - `xelus/pachi/rev1`
  - `xelus/snap96`
  - `xelus/xs108`
  - `xiudi/xd60/rev2`
  - `xiudi/xd60/rev3`
  - `xiudi/xd68`
  - `xiudi/xd75`
  - `xiudi/xd84pro`
  - `xiudi/xd87`
  - `xmmx`
  - `ydkb/chili`
  - `ydkb/grape`
  - `ydkb/just60`
  - `yiancardesigns/barleycorn`
  - `yiancardesigns/gingham`
  - `yiancardesigns/seigaiha`
  - `ymdk/melody96/soldered`
  - `ymdk/np21`
  - `ymdk/yd60mq`
  - `ymdk/ymd09`
  - `ymdk/ymd67`
  - `yoichiro/lunakey_mini`
  - `yushakobo/quick7`
  - `yynmt/acperience12/rev1`
  - `yynmt/dozen0`
  - `yynmt/kagamidget`
  - `zigotica/z12`
  - `zigotica/z34`
  - `zj68`
  - `zlant`
  - `zoo/wampus`
  - `zsa/moonlander`
  - `ztboards/after`
  - `ztboards/noon`
2024-05-24 03:14:15 +01:00
James Young
8abd87d586 Migrate LOCKING_*_ENABLE to Data-Driven: W, Part 2 (#23789)
Affects:

  - `wilba_tech/rama_works_kara`
  - `wilba_tech/rama_works_koyu`
  - `wilba_tech/rama_works_m10_b`
  - `wilba_tech/rama_works_m10_c`
  - `wilba_tech/rama_works_m50_a`
  - `wilba_tech/rama_works_m50_ax`
  - `wilba_tech/rama_works_m60_a`
  - `wilba_tech/rama_works_m65_b`
  - `wilba_tech/rama_works_m65_bx`
  - `wilba_tech/rama_works_m6_a`
  - `wilba_tech/rama_works_m6_b`
  - `wilba_tech/rama_works_u80_a`
  - `wilba_tech/wt60_a`
  - `wilba_tech/wt60_b`
  - `wilba_tech/wt60_bx`
  - `wilba_tech/wt60_c`
  - `wilba_tech/wt60_d`
  - `wilba_tech/wt60_g`
  - `wilba_tech/wt60_g2`
  - `wilba_tech/wt60_h1`
  - `wilba_tech/wt60_h2`
  - `wilba_tech/wt60_h3`
  - `wilba_tech/wt60_xt`
  - `wilba_tech/wt65_a`
  - `wilba_tech/wt65_b`
  - `wilba_tech/wt65_d`
  - `wilba_tech/wt65_f`
  - `wilba_tech/wt65_fx`
  - `wilba_tech/wt65_g`
  - `wilba_tech/wt65_g2`
  - `wilba_tech/wt65_h1`
  - `wilba_tech/wt65_xt`
  - `wilba_tech/wt65_xtx`
  - `wilba_tech/wt69_a`
  - `wilba_tech/wt70_jb`
  - `wilba_tech/wt75_a`
  - `wilba_tech/wt75_b`
  - `wilba_tech/wt75_c`
  - `wilba_tech/wt80_a`
  - `wilba_tech/wt80_g`
  - `wilba_tech/zeal60`
  - `wilba_tech/zeal65`
  - `woodkeys/meira/featherble`
  - `wsk/alpha9`
  - `wsk/g4m3ralpha`
  - `wsk/gothic50`
  - `wsk/gothic70`
  - `wsk/houndstooth`
  - `wsk/jerkin`
  - `wsk/kodachi50`
  - `wsk/pain27`
  - `wsk/sl40`
  - `wsk/tkl30`
  - `wuque/ikki68`
  - `wuque/mammoth20x`
  - `wuque/mammoth75x`
  - `wuque/nemui65`
  - `wuque/tata80/wk`
  - `wuque/tata80/wkl`
2024-05-24 03:14:06 +01:00
James Young
8413411571 Migrate LOCKING_*_ENABLE to Data-Driven: S, Part 1 (#23783)
Affects:

  - `salicylic_acid3/7skb/rev1`
  - `salicylic_acid3/7splus`
  - `salicylic_acid3/ajisai74`
  - `salicylic_acid3/ergoarrows`
  - `salicylic_acid3/getta25/rev1`
  - `salicylic_acid3/jisplit89/rev1`
  - `salicylic_acid3/nafuda`
  - `salicylic_acid3/naked48/rev1`
  - `salicylic_acid3/naked60/rev1`
  - `salicylic_acid3/naked64/rev1`
  - `salicylic_acid3/nknl7en`
  - `salicylic_acid3/nknl7jp`
  - `salicylic_acid3/setta21/rev1`
  - `sandwich/keeb68`
  - `satt/vision`
  - `sauce/mild`
  - `scatter42`
  - `sck/gtm`
  - `sck/m0116b`
  - `sck/neiso`
  - `sekigon/grs_70ec`
  - `sendyyeah/pix`
  - `senselessclay/ck65`
  - `senselessclay/gos65`
  - `senselessclay/had60`
  - `sentraq/s60_x/default`
  - `sentraq/s60_x/rgb`
  - `sentraq/s65_plus`
  - `sentraq/s65_x`
  - `sets3n/kk980`
  - `shambles`
  - `shandoncodes/flygone60/rev3`
  - `shandoncodes/mino/hotswap`
  - `shapeshifter4060`
  - `shiro`
  - `shk9`
  - `sidderskb/majbritt/rev2`
  - `sixkeyboard`
  - `skeletonkbd/skeletonnumpad`
  - `skme/zeno`
2024-05-23 20:38:43 +01:00
James Young
0094a6f571 Migrate LOCKING_*_ENABLE to Data-Driven: S, Part 2 (#23784)
Affects:

  - `slz40`
  - `smithrune/iron160/iron160_s`
  - `smithrune/iron165r2/f072`
  - `smithrune/iron165r2/f411`
  - `smithrune/iron180`
  - `smithrune/iron180v2/v2h`
  - `smithrune/iron180v2/v2s`
  - `smoll/lefty`
  - `snampad`
  - `sneakbox/aliceclone`
  - `sneakbox/disarray/ortho`
  - `sneakbox/disarray/staggered`
  - `soup10`
  - `soy20`
  - `sparrow62`
  - `split67`
  - `splitish`
  - `splitography`
  - `star75`
  - `stello65/beta`
  - `stello65/hs_rev1`
  - `stello65/sl_rev1`
  - `stenokeyboards/the_uni/pro_micro`
  - `stenokeyboards/the_uni/usb_c`
  - `strech/soulstone`
  - `studiokestra/bourgeau`
  - `studiokestra/cascade`
  - `studiokestra/frl84`
  - `studiokestra/galatea/rev1`
  - `studiokestra/galatea/rev2`
  - `studiokestra/galatea/rev3`
  - `studiokestra/line_friends_tkl`
  - `studiokestra/nascent`
  - `studiokestra/nue`
  - `suavity/ehan`
  - `subatomic`
  - `switchplate/southpaw_65`
  - `switchplate/southpaw_fullsize`
  - `switchplate/switchplate910`
  - `sx60`
  - `system76/launch_1`
2024-05-23 20:34:56 +01:00
James Young
634ebc9763 Migrate LOCKING_*_ENABLE to Data-Driven: Q-R (#23781)
Affects:

  - `qpockets/space_space/rev1`
  - `qpockets/space_space/rev2`
  - `quad_h/lb75`
  - `quantrik/kyuu`
  - `qwertlekeys/calice`
  - `rabbit/rabbit68`
  - `rainkeebs/delilah`
  - `rainkeebs/rainkeeb`
  - `rainkeebs/yasui`
  - `rart/rart45`
  - `rart/rart4x4`
  - `rart/rart60`
  - `rart/rart67`
  - `rart/rart67m`
  - `rart/rart75`
  - `rart/rart75m`
  - `rart/rartand`
  - `rart/rartland`
  - `rart/rartlice`
  - `rart/rartlite`
  - `rart/rartpad`
  - `rate/pistachio/rev1`
  - `rate/pistachio/rev2`
  - `rate/pistachio_mp`
  - `rate/pistachio_pro`
  - `redox/rev1`
  - `redscarf_iiplus/verb`
  - `redscarf_iiplus/verc`
  - `redscarf_iiplus/verd`
  - `retro_75`
  - `reversestudio/decadepad`
  - `reviung/reviung5`
  - `reviung/reviung33`
  - `reviung/reviung34`
  - `reviung/reviung39`
  - `reviung/reviung41`
  - `reviung/reviung53`
  - `rgbkb/zen/rev1`
  - `rgbkb/zen/rev2`
  - `rmi_kb/aelith`
  - `rmi_kb/chevron`
  - `rmi_kb/herringbone/pro`
  - `rmi_kb/herringbone/v1`
  - `rmi_kb/squishy65`
  - `rmi_kb/squishyfrl`
  - `rmi_kb/squishytkl`
  - `rmi_kb/wete/v1`
  - `rmi_kb/wete/v2`
  - `rocketboard_16`
  - `rominronin/katana60/rev1`
  - `rominronin/katana60/rev2`
  - `roseslite`
  - `rotr`
  - `rpiguy9907/southpaw66`
  - `rubi`
  - `rura66/rev1`
  - `ryanbaekr/rb1`
  - `ryanbaekr/rb18`
  - `ryanbaekr/rb69`
  - `ryanbaekr/rb86`
  - `ryanbaekr/rb87`
  - `ryanskidmore/rskeys100`
  - `ryloo_studio/m0110`
2024-05-23 20:30:25 +01:00
James Young
013b51a904 Migrate LOCKING_*_ENABLE to Data-Driven: W, Part 1 (#23788)
Affects:

  - `waldo`
  - `walletburner/cajal`
  - `walletburner/neuron`
  - `wavtype/foundation`
  - `wavtype/p01_ultra`
  - `weirdo/geminate60`
  - `weirdo/kelowna/rgb64`
  - `weirdo/ls_60`
  - `weirdo/naiping/np64`
  - `weirdo/naiping/nphhkb`
  - `weirdo/naiping/npminila`
  - `weirdo/tiger910`
  - `wekey/polaris`
  - `westfoxtrot/aanzee`
  - `westfoxtrot/cyclops`
  - `westfoxtrot/cypher/rev1`
  - `westfoxtrot/cypher/rev5`
  - `westfoxtrot/prophet`
  - `westm/westm9`
  - `westm/westm68`
2024-05-23 19:55:38 +01:00
James Young
c4e182b98e Migrate LOCKING_*_ENABLE to Data-Driven: P, Part 2 (#23780)
Affects:

  - `preonic/rev1`
  - `preonic/rev2`
  - `preonic/rev3`
  - `preonic/rev3_drop`
  - `primekb/meridian/ktr1010`
  - `primekb/meridian/ws2812`
  - `primekb/meridian_rgb`
  - `primekb/prime_m`
  - `primekb/prime_o`
  - `primekb/prime_r`
  - `projectcain/relic`
  - `projectcain/vault45`
  - `projectd/65/projectd_65_ansi`
  - `projectd/75/ansi`
  - `projectkb/alice/rev1`
  - `projectkb/alice/rev2`
  - `projectkb/signature65`
  - `projectkb/signature87`
  - `prototypist/allison`
  - `prototypist/allison_numpad`
  - `prototypist/j01`
  - `psuieee/pluto12`
  - `pteron36`
  - `puck`
  - `punk75`
2024-05-23 19:49:53 +01:00
James Young
bfa05cc5e7 Migrate LOCKING_*_ENABLE to Data-Driven: P, Part 1 (#23779)
Affects:

  - `p3d/eu_isolation`
  - `p3d/glitch`
  - `p3d/q4z`
  - `p3d/synapse`
  - `p3d/tw40`
  - `panc40`
  - `papercranekeyboards/gerald65`
  - `parallel/parallel_65/hotswap`
  - `parallel/parallel_65/soldered`
  - `pdxkbc`
  - `pearlboards/atlas`
  - `pearlboards/pandora`
  - `pearlboards/pearl`
  - `pearlboards/zeus`
  - `pearlboards/zeuspad`
  - `pegasus`
  - `phantom`
  - `phoenix`
  - `picolab/frusta_fundamental`
  - `pimentoso/paddino02/rev1`
  - `pimentoso/paddino02/rev2/left`
  - `pimentoso/paddino02/rev2/right`
  - `pisces`
  - `pizzakeyboards/pizza65`
  - `pkb65`
  - `planck`
  - `playkbtw/ca66`
  - `playkbtw/pk60`
  - `playkbtw/pk64rgb`
  - `pluckey`
  - `plume/plume65`
  - `plywrks/ahgase`
  - `plywrks/lune`
  - `pohjolaworks/louhi`
  - `polycarbdiet/s20`
  - `pom_keyboards/tnln95`
  - `portal_66/hotswap`
  - `portal_66/soldered`
  - `pos78`
2024-05-23 19:49:48 +01:00
James Young
f37f27f02a Migrate LOCKING_*_ENABLE to Data-Driven: O (#23778)
Affects:

  - `oddball`
  - `oddforge/vea`
  - `ok60`
  - `om60`
  - `omkbd/ergodash/mini`
  - `omkbd/ergodash/rev1`
  - `omkbd/runner3680/3x6`
  - `omkbd/runner3680/3x7`
  - `omkbd/runner3680/3x8`
  - `omkbd/runner3680/4x6`
  - `omkbd/runner3680/4x7`
  - `omkbd/runner3680/4x8`
  - `omkbd/runner3680/5x6`
  - `omkbd/runner3680/5x6_5x8`
  - `omkbd/runner3680/5x7`
  - `omkbd/runner3680/5x8`
  - `omnikeyish`
  - `orange75`
  - `org60`
  - `ortho5by12`
  - `orthocode`
2024-05-23 19:49:30 +01:00
James Young
912124f71c Migrate LOCKING_*_ENABLE to Data-Driven: T (#23785)
Affects:

  - `takashicompany/center_enter`
  - `takashicompany/endzone34`
  - `takashicompany/qoolee`
  - `takashicompany/radialex`
  - `takashiski/namecard2x4/rev1`
  - `takashiski/namecard2x4/rev2`
  - `takashiski/otaku_split/rev0`
  - `takashiski/otaku_split/rev1`
  - `taleguers/taleguers75`
  - `tanuki`
  - `team0110/p1800fl`
  - `technika`
  - `tenki`
  - `tetris`
  - `tg4x`
  - `the_royal/liminal`
  - `the_royal/schwann`
  - `thevankeyboards/bananasplit`
  - `thevankeyboards/caravan`
  - `thevankeyboards/jetvan`
  - `thevankeyboards/minivan`
  - `thevankeyboards/roadkit`
  - `tkc/california`
  - `tkc/m0lly`
  - `tkc/tkc1800`
  - `tkc/tkl_ab87`
  - `tkw/stoutgat/v2`
  - `tmo50`
  - `toad`
  - `toffee_studio/blueberry`
  - `tokyokeyboard/alix40`
  - `tokyokeyboard/tokyo60`
  - `tominabox1/adalyn`
  - `tominabox1/le_chiffre`
  - `tominabox1/qaz`
  - `tr60w`
  - `treasure/type9`
  - `tszaboo/ortho4exent`
2024-05-23 19:48:32 +01:00
James Young
04bf30aad8 Migrate LOCKING_*_ENABLE to Data-Driven: U-V (#23786)
Affects:

  - `uk78`
  - `ungodly/nines`
  - `unikeyboard/diverge3`
  - `unikeyboard/divergetm2`
  - `unikeyboard/felix`
  - `uranuma`
  - `utd80`
  - `v60_type_r`
  - `vagrant_10`
  - `viendi8l`
  - `viktus/at101_bh`
  - `viktus/omnikey_bh`
  - `viktus/smolka`
  - `viktus/sp111`
  - `viktus/styrka`
  - `viktus/z150_bh`
  - `vitamins_included/rev1`
2024-05-23 19:40:41 +01:00
Ryan
e659c3dae9 Remove some useless code from keymaps (#23787) 2024-05-23 19:21:39 +01:00
James Young
2e0498080f Migrate LOCKING_*_ENABLE to Data-Driven: K, Part 2 (#23769)
Affects:

  - `keebio/bamfk4`
  - `keebio/bdn9/rev1`
  - `keebio/bdn9/rev2`
  - `keebio/bfo9000`
  - `keebio/bigswitchseat`
  - `keebio/choconum`
  - `keebio/dilly`
  - `keebio/dsp40/rev1`
  - `keebio/ergodicity`
  - `keebio/foldkb/rev1`
  - `keebio/fourier`
  - `keebio/iris/rev1`
  - `keebio/iris/rev1_led`
  - `keebio/iris/rev2`
  - `keebio/iris/rev3`
  - `keebio/iris/rev4`
  - `keebio/kbo5000/rev1`
  - `keebio/levinson/rev1`
  - `keebio/levinson/rev2`
  - `keebio/levinson/rev3`
  - `keebio/nyquist/rev1`
  - `keebio/nyquist/rev2`
  - `keebio/nyquist/rev3`
  - `keebio/quefrency/rev1`
  - `keebio/quefrency/rev4`
  - `keebio/quefrency/rev5`
  - `keebio/rorschach/rev1`
  - `keebio/sinc/rev1`
  - `keebio/sinc/rev2`
  - `keebio/tragicforce68`
  - `keebio/tukey`
  - `keebio/viterbi/rev1`
  - `keebio/viterbi/rev2`
  - `keebio/wavelet`
  - `keebio/wtf60`
  - `keebsforall/coarse60`
  - `keebsforall/freebirdnp/lite`
  - `keebsforall/freebirdnp/pro`
  - `keebsforall/freebirdtkl`
  - `keebwerk/nano_slider`
  - `keebzdotnet/fme`
  - `keebzdotnet/wazowski`
  - `keyboardio/atreus`
  - `keycapsss/kimiko/rev1`
  - `keycapsss/o4l_5x12`
  - `keygem/kg60ansi`
  - `keygem/kg65rgbv2`
  - `keyhive/absinthe`
  - `keyhive/ergosaurus`
  - `keyhive/lattice60`
  - `keyhive/maypad`
  - `keyhive/navi10/rev0`
  - `keyhive/navi10/rev2`
  - `keyhive/navi10/rev3`
  - `keyhive/opus`
  - `keyhive/southpole`
  - `keyhive/ut472`
  - `keyprez/bison`
  - `keyprez/corgi`
  - `keyprez/rhino`
  - `keyprez/unicorn`
  - `keysofkings/twokey`
  - `keystonecaps/gameroyadvance`
2024-05-22 22:14:00 +01:00
James Young
030d503d35 Migrate LOCKING_*_ENABLE to Data-Driven: K, Part 3 (#23770)
Affects:

  - `kindakeyboards/conone65`
  - `kinesis`
  - `kingly_keys/ave/ortho`
  - `kingly_keys/ave/staggered`
  - `kingly_keys/little_foot`
  - `kingly_keys/romac`
  - `kingly_keys/romac_plus`
  - `kingly_keys/ropro`
  - `kingly_keys/smd_milk`
  - `kingly_keys/soap`
  - `kira/kira75`
  - `kisakeyluxury/qtz`
  - `kiserdesigns/madeline`
  - `kiwikeebs/macro`
  - `kiwikeebs/macro_v2`
  - `kiwikey/borderland`
  - `kiwikey/kawii9`
  - `kiwikey/wanderland`
  - `kkatano/bakeneko60`
  - `kkatano/bakeneko65/rev2`
  - `kkatano/bakeneko65/rev3`
  - `kkatano/bakeneko80`
  - `kkatano/wallaby`
  - `kkatano/yurei`
  - `knops/mini`
  - `kona_classic`
  - `kopibeng/mnk60_stm32`
  - `kopibeng/mnk65`
  - `kopibeng/mnk65_stm32`
  - `kopibeng/mnk88`
  - `kopibeng/typ65`
  - `kopibeng/xt60`
  - `kopibeng/xt60_singa`
  - `kopibeng/xt65`
  - `kopibeng/xt8x`
  - `kprepublic/bm16s`
  - `kprepublic/bm40hsrgb/rev1`
  - `kprepublic/bm65hsrgb/rev1`
  - `kprepublic/bm68hsrgb/rev1`
  - `kprepublic/bm980hsrgb`
  - `kprepublic/cospad`
  - `ktec/daisy`
  - `kumaokobo/kudox/columner`
  - `kumaokobo/kudox/rev1`
  - `kumaokobo/kudox/rev2`
  - `kumaokobo/kudox/rev3`
  - `kumaokobo/kudox_full/rev1`
  - `kumaokobo/kudox_game/rev1`
  - `kumaokobo/kudox_game/rev2`
  - `kumaokobo/pico/65keys`
  - `kumaokobo/pico/70keys`
  - `kv/revt`
  - `kwub/bloop`
  - `ky01`
2024-05-22 21:59:35 +01:00
James Young
199f01cc57 Migrate LOCKING_*_ENABLE to Data-Driven: M, Part 1 (#23772)
Affects:

  - `m10a`
  - `machine_industries/m4_a`
  - `magic_force/mf34`
  - `majistic`
  - `makenova/omega/omega4`
  - `makrosu`
  - `manta60`
  - `maple_computing/christmas_tree/v2017`
  - `maple_computing/ivy/rev1`
  - `maple_computing/launchpad/rev1`
  - `maple_computing/minidox/rev1`
  - `maple_computing/the_ruler`
  - `marksard/leftover30`
  - `marksard/treadstone48/rev1`
  - `marksard/treadstone48/rev2`
  - `masterworks/classy_tkl/rev_a`
  - `maxipad`
  - `maxr1998/phoebe`
  - `mc_76k`
  - `mechkeys/acr60`
  - `mechkeys/alu84`
  - `mechkeys/espectro`
  - `mechkeys/mechmini/v2`
  - `mechkeys/mk60`
  - `mechlovin/hannah910/rev1`
  - `mechlovin/hannah910/rev2`
  - `mechlovin/hannah910/rev3`
  - `mechlovin/jay60`
  - `mechlovin/tmkl`
  - `mechwild/bde/lefty`
  - `mechwild/bde/rev2`
  - `mechwild/bde/righty`
  - `mechwild/mercutio`
  - `mechwild/mokulua/mirrored`
  - `mechwild/mokulua/standard`
  - `mechwild/murphpad`
  - `mechwild/obe`
  - `mechwild/puckbuddy`
  - `meletrix/zoom98`
  - `melgeek/mj6xy/rev3`
  - `meme`
  - `meow65`
  - `mesa/mesa_tkl`
  - `meson`
  - `mikeneko65`
  - `millipad`
  - `mini_elixivy`
  - `mini_ten_key_plus`
  - `minimon/index_tab`
  - `mint60`
  - `misonoworks/karina`
  - `miuni32`
  - `mixi`
2024-05-22 21:49:15 +01:00
James Young
7baaac9531 Migrate LOCKING_*_ENABLE to Data-Driven: K, Part 1 (#23768)
Affects:

  - `kabedon/kabedon98e`
  - `kagizaraya/chidori`
  - `kagizaraya/halberd`
  - `kagizaraya/miniaxe`
  - `kagizaraya/scythe`
  - `kakunpc/angel17/alpha`
  - `kakunpc/angel17/rev1`
  - `kakunpc/angel64/alpha`
  - `kakunpc/angel64/rev1`
  - `kakunpc/business_card/alpha`
  - `kakunpc/business_card/beta`
  - `kakunpc/choc_taro`
  - `kakunpc/rabbit_capture_plan`
  - `kakunpc/suihankey/alpha`
  - `kakunpc/suihankey/rev1`
  - `kakunpc/suihankey/split/alpha`
  - `kakunpc/suihankey/split/rev1`
  - `kakunpc/thedogkeyboard`
  - `kapcave/arya`
  - `kapcave/gskt00`
  - `kapcave/paladin64`
  - `kapl/rev1`
  - `kb58`
  - `kb_elmo/aek2_usb`
  - `kb_elmo/m0110a_usb`
  - `kb_elmo/m0116_usb`
  - `kbdclack/kaishi65`
  - `kbdfans/bella/soldered`
  - `kbdfans/bounce/pad`
  - `kbdfans/jm60`
  - `kbdfans/kbd19x`
  - `kbdfans/kbd4x`
  - `kbdfans/kbd66`
  - `kbdfans/kbd67/hotswap`
  - `kbdfans/kbd67/mkii_soldered`
  - `kbdfans/kbd6x`
  - `kbdfans/kbd75/rev1`
  - `kbdfans/kbd75/rev2`
  - `kbdfans/kbd8x`
  - `kbdfans/kbd8x_mk2`
  - `kbdfans/kbdpad/mk2`
  - `kbdfans/maja_soldered`
  - `kbdfans/niu_mini`
  - `kbdfans/phaseone`
  - `kbdmania/kmac`
  - `kbdmania/kmac_pad`
  - `kc60`
2024-05-22 21:41:34 +01:00
James Young
efe0d96845 Migrate LOCKING_*_ENABLE to Data-Driven: N (#23774)
Affects:

  - `nacly/sodium42`
  - `nacly/sodium50`
  - `nacly/sodium62`
  - `nacly/splitreus62`
  - `nacly/ua62`
  - `nek_type_a`
  - `nemui`
  - `nibiria/stream15`
  - `nightingale_studios/hailey`
  - `nightly_boards/adellein`
  - `nightly_boards/alter/rev1`
  - `nightly_boards/alter_lite`
  - `nightly_boards/conde60`
  - `nightly_boards/daily60`
  - `nightly_boards/jisoo`
  - `nightly_boards/n2`
  - `nightly_boards/n40_o`
  - `nightly_boards/n60_s`
  - `nightly_boards/n87`
  - `nightly_boards/n9`
  - `nightly_boards/octopad`
  - `nightly_boards/octopadplus`
  - `nightly_boards/paraluman`
  - `nightly_boards/ph_arisu`
  - `nightmare`
  - `nimrod`
  - `nix_studio/oxalys80`
  - `nopunin10did/jabberwocky/v1`
  - `nopunin10did/jabberwocky/v2`
  - `nopunin10did/railroad/rev0`
  - `novelkeys/novelpad`
  - `noxary/220`
  - `noxary/260`
  - `noxary/268`
  - `noxary/268_2`
  - `noxary/268_2_rgb`
  - `noxary/280`
  - `noxary/378`
  - `noxary/valhalla`
  - `noxary/vulcan`
  - `noxary/x268`
  - `numatreus`
2024-05-22 20:41:29 +01:00
James Young
16d2db5048 Migrate LOCKING_*_ENABLE to Data-Driven: I-J (#23767)
Affects:

  - `ianklug/grooveboard`
  - `ibm/model_m/modelh`
  - `ibm/model_m_122/ibm122m`
  - `ibnuda/gurindam`
  - `idb/idb_60`
  - `idobao/id75/v1`
  - `idobao/id75/v2`
  - `idobao/id96`
  - `idobao/montex/v1`
  - `illuminati/is0`
  - `illusion/rosa`
  - `ilumkb/primus75`
  - `ilumkb/volcano660`
  - `inland/kb83`
  - `input_club/ergodox_infinity`
  - `irene`
  - `iriskeyboards`
  - `iron180`
  - `jacky_studio/bear_65/rev1`
  - `jacky_studio/bear_65/rev2`
  - `jacky_studio/s7_elephant/rev1`
  - `jacky_studio/s7_elephant/rev2`
  - `jadookb/jkb65`
  - `jae/j01`
  - `jagdpietr/drakon`
  - `jd40`
  - `jd45`
  - `jels/boaty`
  - `jels/jels60/v1`
  - `jels/jels60/v2`
  - `jels/jels88`
  - `jolofsor/denial75`
  - `jorne/rev1`
  - `joshajohnson/hub16`
  - `joshajohnson/hub20`
  - `jukaie/jk01`
2024-05-22 19:06:09 +01:00
James Young
071434c04f Migrate LOCKING_*_ENABLE to Data-Driven: L (#23771)
Affects:

  - `labbe/labbeminiv1`
  - `labyrinth75`
  - `laneware/lpad`
  - `laneware/lw67`
  - `laneware/lw75`
  - `laneware/macro1`
  - `laneware/raindrop`
  - `laser_ninja/pumpkinpad`
  - `latincompass/latin47ble`
  - `lazydesigners/dimple/ortho`
  - `lazydesigners/dimple/staggered/rev1`
  - `lazydesigners/dimple/staggered/rev2`
  - `lazydesigners/dimple/staggered/rev3`
  - `lazydesigners/dimple`
  - `lazydesigners/the50`
  - `lazydesigners/the60/rev1`
  - `lets_split/rev1`
  - `lets_split/rev2`
  - `lfkeyboards/lfk65_hs`
  - `lfkeyboards/lfk78/revb`
  - `lfkeyboards/lfk78/revc`
  - `lfkeyboards/lfk78/revj`
  - `lfkeyboards/lfk87/reva`
  - `lfkeyboards/lfk87/revc`
  - `lfkeyboards/lfkpad`
  - `lfkeyboards/mini1800/reva`
  - `lfkeyboards/mini1800/revc`
  - `lfkeyboards/smk65/revb`
  - `lfkeyboards/smk65/revf`
  - `linworks/fave60`
  - `lizard_trick/tenkey_plusplus`
  - `lm_keyboard/lm60n`
  - `lucid/alexa`
  - `lucid/alexa_solder`
  - `lucid/kbd8x_hs`
  - `lucid/phantom_hs`
  - `lucid/phantom_solder`
  - `lucid/scarlet`
  - `lyso1/lck75`
  - `lyso1/lefishe`
2024-05-22 11:17:43 +01:00
James Young
495e83b30f Migrate LOCKING_*_ENABLE to Data-Driven: M, Part 2 (#23773)
Affects:

  - `mkh_studio/bully`
  - `mlego/m48/rev1`
  - `mlego/m60/rev1`
  - `mlego/m60_split/rev1`
  - `mlego/m60_split/rev2`
  - `mntre`
  - `mode/m65ha_alpha`
  - `mode/m65hi_alpha`
  - `mode/m65s`
  - `mode/m80v1/m80h`
  - `mode/m80v1/m80s`
  - `mode/m80v2/m80v2h`
  - `mode/m80v2/m80v2s`
  - `molecule`
  - `momoka_ergo`
  - `monarch`
  - `monsgeek/m1`
  - `monsgeek/m3`
  - `monsgeek/m5`
  - `monsgeek/m6`
  - `monstargear/xo87/rgb`
  - `monstargear/xo87/solderable`
  - `montsinger/rebound/rev1`
  - `montsinger/rebound/rev2`
  - `montsinger/rebound/rev3`
  - `montsinger/rebound/rev4`
  - `montsinger/rewind`
  - `moon`
  - `morizon`
  - `mountainblocks/mb17`
  - `mt/blocked65`
  - `mt/mt64rgb`
  - `mt/mt980`
  - `mtbkeys/mtb60/hotswap`
  - `mtbkeys/mtb60/solder`
  - `murcielago/rev1`
  - `mxss`
  - `mysticworks/wyvern`
2024-05-22 11:13:39 +01:00
James Young
d1547320a0 Migrate LOCKING_*_ENABLE to Data-Driven: H, Part 2 (#23762)
Affects:

  - `handwired/108key_trackpoint`
  - `handwired/2x5keypad`
  - `handwired/3dp660`
  - `handwired/412_64`
  - `handwired/42`
  - `handwired/amigopunk`
  - `handwired/aranck`
  - `handwired/atreus50`
  - `handwired/axon`
  - `handwired/battleship_gamepad`
  - `handwired/bdn9_ble`
  - `handwired/bento/rev1`
  - `handwired/bolek`
  - `handwired/brain`
  - `handwired/bstk100`
  - `handwired/cans12er`
  - `handwired/chiron`
  - `handwired/ck4x4`
  - `handwired/cmd60`
  - `handwired/co60/rev6`
  - `handwired/co60/rev7`
  - `handwired/colorlice`
  - `handwired/curiosity`
  - `handwired/dactyl_left`
  - `handwired/dactyl_manuform/4x5`
  - `handwired/dactyl_manuform/4x5_5`
  - `handwired/dactyl_manuform/4x6`
  - `handwired/dactyl_manuform/4x6_4_3`
  - `handwired/dactyl_manuform/4x6_5`
  - `handwired/dactyl_manuform/5x6`
  - `handwired/dactyl_manuform/5x6_2_5`
  - `handwired/dactyl_manuform/5x6_5`
  - `handwired/dactyl_manuform/5x6_6`
  - `handwired/dactyl_manuform/5x6_68`
  - `handwired/dactyl_manuform/5x7`
  - `handwired/dactyl_manuform/6x6/blackpill_f411`
  - `handwired/dactyl_manuform/6x6/promicro`
  - `handwired/dactyl_manuform/6x6_4`
  - `handwired/dactyl_manuform/6x7`
  - `handwired/dactyl_promicro`
  - `handwired/dactyl_rah`
  - `handwired/datahand`
  - `handwired/evk/v1_3`
  - `handwired/fc200rt_qmk`
  - `handwired/fivethirteen`
  - `handwired/floorboard`
  - `handwired/fruity60`
  - `handwired/gamenum`
  - `handwired/hacked_motospeed`
  - `handwired/heisenberg`
  - `handwired/hnah40`
2024-05-22 10:53:40 +01:00
QMK Bot
ac2e19b4d6 Merge remote-tracking branch 'origin/master' into develop 2024-05-22 02:50:16 +00:00
Jerome Berclaz
7620c64b99 Added MATRIX_HAS_GHOST definition for IBM Model H controller (#23744) 2024-05-21 19:49:49 -07:00
QMK Bot
37b1898488 Merge remote-tracking branch 'origin/master' into develop 2024-05-21 23:04:47 +00:00
Dasky
3d0f4fa692 Fix font artefact on Reverb keyboard. (#23761) 2024-05-22 00:04:18 +01:00
James Young
a1c1427594 Migrate LOCKING_*_ENABLE to Data-Driven: H, Part 3 (#23763)
Affects:

  - `handwired/jn68m`
  - `handwired/jopr`
  - `handwired/jot50`
  - `handwired/jotanck`
  - `handwired/jotpad16`
  - `handwired/jtallbean/split_65`
  - `handwired/juliet`
  - `handwired/k_numpad17`
  - `handwired/kbod`
  - `handwired/ks63`
  - `handwired/leftynumpad`
  - `handwired/lemonpad`
  - `handwired/m40/5x5_macropad`
  - `handwired/macroboard/f401`
  - `handwired/macroboard/f411`
  - `handwired/magicforce61`
  - `handwired/magicforce68`
  - `handwired/mechboards_micropad`
  - `handwired/minorca`
  - `handwired/mutepad`
  - `handwired/nicekey`
  - `handwired/nortontechpad`
  - `handwired/not_so_minidox`
  - `handwired/novem`
  - `handwired/nozbe_macro`
  - `handwired/numpad20`
  - `handwired/obuwunkunubi/spaget`
  - `handwired/oem_ansi_fullsize`
  - `handwired/onekey`
  - `handwired/ortho5x13`
  - `handwired/ortho5x14`
  - `handwired/p65rgb`
  - `handwired/pilcrow`
  - `handwired/polly40`
  - `handwired/postageboard/mini`
  - `handwired/postageboard/r1`
  - `handwired/prime_exl`
  - `handwired/prime_exl_plus`
2024-05-22 00:03:56 +01:00
James Young
89b9a39614 Migrate LOCKING_*_ENABLE to Data-Driven: H, Part 4 (#23764)
Affects:

  - `handwired/reclined`
  - `handwired/retro_refit`
  - `handwired/selene`
  - `handwired/sick68`
  - `handwired/sick_pad`
  - `handwired/skakunm_dactyl`
  - `handwired/slash`
  - `handwired/snatchpad`
  - `handwired/sono1`
  - `handwired/space_oddity`
  - `handwired/split89`
  - `handwired/split_cloud`
  - `handwired/steamvan/rev1`
  - `handwired/sticc14`
  - `handwired/stream_cheap/2x3`
  - `handwired/stream_cheap/2x4`
  - `handwired/stream_cheap/2x5`
  - `handwired/symmetric70_proto/promicro`
  - `handwired/symmetric70_proto/proton_c`
  - `handwired/symmetry60`
  - `handwired/tennie`
  - `handwired/terminus_mini`
  - `handwired/trackpoint`
  - `handwired/tritium_numpad`
  - `handwired/twadlee/tp69`
  - `handwired/unk/rev1`
  - `handwired/uthol/rev3`
  - `handwired/videowriter`
  - `handwired/wabi`
  - `handwired/woodpad`
2024-05-21 23:57:59 +01:00
James Young
0a84bf8b57 Migrate LOCKING_*_ENABLE to Data-Driven: F (#23757)
Affects:

  - `fallacy`
  - `ffkeebs/puca`
  - `fjlabs/7vhotswap`
  - `fjlabs/ad65`
  - `fjlabs/avalon`
  - `fjlabs/bks65`
  - `fjlabs/bks65solder`
  - `fjlabs/bolsa65`
  - `fjlabs/kf87`
  - `fjlabs/kyuu`
  - `fjlabs/ldk65`
  - `fjlabs/midway60`
  - `fjlabs/mk61rgbansi`
  - `fjlabs/peaker`
  - `fjlabs/polaris`
  - `fjlabs/ready100`
  - `fjlabs/sinanju`
  - `fjlabs/sinanjuwk`
  - `fjlabs/solanis`
  - `fjlabs/swordfish`
  - `fjlabs/tf60ansi`
  - `fjlabs/tf60v2`
  - `fjlabs/tf65rgbv2`
  - `flehrad/downbubble`
  - `flehrad/numbrero`
  - `flehrad/snagpad`
  - `flehrad/tradestation`
  - `fleuron`
  - `fluorite`
  - `flx/lodestone`
  - `flxlb/zplit`
  - `foostan/cornelius`
  - `forever65`
  - `fortitude60/rev1`
  - `foxlab/key65/hotswap`
  - `foxlab/key65/universal`
  - `foxlab/leaf60/hotswap`
  - `foxlab/leaf60/universal`
  - `foxlab/time80`
  - `fr4/southpaw75`
  - `fractal`
  - `fungo/rev1`
  - `funky40`
2024-05-21 23:54:13 +01:00
Joel Challis
1c650aa55c Remove includes of config.h (#23760) 2024-05-21 13:38:30 +01:00
Joel Challis
3400908b08 Move VIA config to keymap level (#23754) 2024-05-21 13:25:28 +01:00
James Young
73f9fb91a3 Migrate LOCKING_*_ENABLE to Data-Driven: G (#23758)
Affects:

  - `gboards/ergotaco`
  - `gboards/georgi`
  - `gboards/gergo`
  - `geekboards/tester`
  - `geonworks/frogmini/fmh`
  - `geonworks/frogmini/fms`
  - `gh60/revc`
  - `gh60/satan`
  - `ghs/rar`
  - `gkeyboard/gkb_m16`
  - `gkeyboard/gpad8_2r`
  - `gl516/a52gl`
  - `gl516/j73gl`
  - `gl516/n51gl`
  - `gmmk/gmmk2/p65`
  - `gmmk/gmmk2/p96`
  - `gmmk/numpad`
  - `gmmk/pro`
  - `gon/nerd60`
  - `gon/nerdtkl`
  - `gray_studio/aero75`
  - `gray_studio/cod67`
  - `gray_studio/space65`
  - `gray_studio/space65r3`
  - `gray_studio/think65v3`
  - `grid600/press`
2024-05-21 13:04:53 +01:00
James Young
2b926774ca Migrate LOCKING_*_ENABLE to Data-Driven: H, Part 1 (#23759)
Affects:

  - `h0oni/deskpad`
  - `h0oni/hotduck`
  - `halfcliff`
  - `halokeys/elemental75`
  - `han60`
  - `hardlineworks/otd_plus`
  - `helix/rev3_4rows`
  - `helix/rev3_5rows`
  - `hfdkb/ac001`
  - `hidtech/bastyl`
  - `hineybush/h08_ocelot`
  - `hineybush/h10`
  - `hineybush/h60`
  - `hineybush/h65`
  - `hineybush/h65_hotswap`
  - `hineybush/h660s`
  - `hineybush/h75_singa`
  - `hineybush/h87a`
  - `hineybush/h88`
  - `hineybush/hbcp`
  - `hineybush/hineyg80`
  - `hineybush/physix`
  - `hineybush/sm68`
  - `hnahkb/freyr`
  - `hnahkb/stella`
  - `hnahkb/vn66`
  - `horizon`
  - `hotdox`
  - `hs60/v1`
2024-05-21 13:00:53 +01:00
QMK Bot
b699679037 Merge remote-tracking branch 'origin/master' into develop 2024-05-21 00:21:09 +00:00
eason
a8de554d22 Add Meow65 (#23427) 2024-05-21 01:16:55 +01:00
Duncan Sutherland
02af906de1 Add second encoder to matrix info of arrowmechanics/wings (#23390) 2024-05-21 00:49:14 +01:00
QMK Bot
a823422cac Merge remote-tracking branch 'origin/master' into develop 2024-05-20 23:48:55 +00:00
VertorWang
bf918a8f6c Add moky67 keyboard (#23118) 2024-05-21 00:48:26 +01:00
Michael Büchler
a850f7d695 Fix PS/2 Trackpoint mouse clicks (#22265) (#23694) 2024-05-21 00:36:48 +01:00
James Young
8ad2e30732 Migrate LOCKING_*_ENABLE to Data-Driven: A-C, Part 1 (#23745)
Affects:

  - `atreus`
  - `cablecardesigns/cypher/rev6`
  - `caffeinated/serpent65`
  - `cannonkeys/adelie`
  - `cannonkeys/aella`
  - `cannonkeys/an_c`
  - `cannonkeys/atlas`
  - `cannonkeys/atlas_alps`
  - `cannonkeys/balance`
  - `cannonkeys/brutalv2_65`
  - `cannonkeys/chimera65`
  - `cannonkeys/cloudline`
  - `cannonkeys/crin`
  - `cannonkeys/db60`
  - `cannonkeys/devastatingtkl`
  - `cannonkeys/gentoo`
  - `cannonkeys/gentoo_hs`
  - `cannonkeys/hoodrowg`
  - `cannonkeys/instant60`
  - `cannonkeys/instant65`
  - `cannonkeys/iron165`
  - `cannonkeys/malicious_ergo`
  - `cannonkeys/obliterated75`
  - `cannonkeys/onyx`
  - `cannonkeys/ortho48`
  - `cannonkeys/ortho60`
  - `cannonkeys/ortho75`
  - `cannonkeys/practice60`
  - `cannonkeys/practice65`
  - `cannonkeys/rekt1800`
  - `cannonkeys/ripple`
  - `cannonkeys/sagittarius`
  - `cannonkeys/satisfaction75`
  - `cannonkeys/savage65`
  - `cannonkeys/tmov2`
  - `cannonkeys/tsukuyomi`
  - `cannonkeys/vicious40`
  - `capsunlocked/cu24`
  - `capsunlocked/cu65`
  - `capsunlocked/cu7`
  - `capsunlocked/cu75`
  - `capsunlocked/cu80/v1`
2024-05-20 21:07:40 +01:00
QMK Bot
4852b04c20 Merge remote-tracking branch 'origin/master' into develop 2024-05-20 20:02:24 +00:00
dependabot[bot]
3029a23cfa Bump JamesIves/github-pages-deploy-action from 4.6.0 to 4.6.1 (#23752)
---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-20 21:01:20 +01:00
James Young
079ac7c166 Migrate LOCKING_*_ENABLE to Data-Driven: A-C, Part 2 (#23746)
Affects:

  - `chalice`
  - `charue/sunsetter_r2`
  - `checkerboards/axon40`
  - `checkerboards/candybar_ortho`
  - `checkerboards/g_idb60`
  - `checkerboards/nop60`
  - `checkerboards/phoenix45_ortho`
  - `checkerboards/plexus75`
  - `checkerboards/plexus75_he`
  - `checkerboards/pursuit40`
  - `checkerboards/quark`
  - `checkerboards/quark_lp`
  - `checkerboards/quark_plus`
  - `checkerboards/quark_squared`
  - `checkerboards/snop60`
  - `checkerboards/ud40_ortho_alt`
  - `cheshire/curiosity`
  - `chickenman/ciel`
  - `chlx/merro60`
  - `chlx/str_merro60`
  - `chosfox/cf81`
  - `citrus/erdnuss65`
  - `ckeys/handwire_101`
  - `ckeys/nakey`
  - `ckeys/obelus`
  - `ckeys/thedora`
  - `ckeys/washington`
  - `clueboard/2x1800/2018`
  - `clueboard/2x1800/2021`
2024-05-20 21:00:35 +01:00
James Young
b7b4ffc449 Migrate LOCKING_*_ENABLE to Data-Driven: A-C, Part 3 (#23747)
Affects:

  - `ck60i`
  - `coarse/cordillera`
  - `contender`
  - `converter/a1200/mistress1200`
  - `converter/adb_usb`
  - `converter/m0110_usb`
  - `converter/siemens_tastatur`
  - `cool836a`
  - `copenhagen_click/click_pad_v1`
  - `coseyfannitutti/discipad`
  - `coseyfannitutti/discipline`
  - `coseyfannitutti/mysterium`
  - `coseyfannitutti/romeo`
  - `cozykeys/bloomer`
  - `cozykeys/speedo/v2`
  - `cozykeys/speedo/v3`
  - `craftwalk`
  - `crawlpad`
  - `crazy_keyboard_68`
  - `crbn`
  - `creatkeebs/glacier`
  - `crimsonkeyboards/resume1800`
  - `crin`
  - `cutie_club/borsdorf`
  - `cutie_club/fidelity`
  - `cutie_club/giant_macro_pad`
  - `cutie_club/keebcats/denis`
  - `cutie_club/keebcats/dougal`
  - `cutie_club/novus`
  - `cutie_club/wraith`
2024-05-20 20:55:19 +01:00
James Young
bf42707eed Migrate LOCKING_*_ENABLE to Data-Driven: E (#23751)
Affects:

  - `e88`
  - `ealdin/quadrant`
  - `earth_rover`
  - `eco`
  - `edc40`
  - `edi/standaside`
  - `eek`
  - `ein_60`
  - `eniigmakeyboards/ek65`
  - `eniigmakeyboards/ek87`
  - `ep/96`
  - `ep/comsn/hs68`
  - `ep/comsn/mollydooker`
  - `ep/comsn/tf_longeboye`
  - `ergodox_ez`
  - `ergotravel/rev1`
  - `eternal_keypad`
  - `evil80`
  - `evolv`
  - `evyd13/atom47/rev2`
  - `evyd13/atom47/rev5`
  - `evyd13/eon65`
  - `evyd13/eon75`
  - `evyd13/eon87`
  - `evyd13/eon95`
  - `evyd13/gh80_1800`
  - `evyd13/gh80_3700`
  - `evyd13/minitomic`
  - `evyd13/mx5160`
  - `evyd13/nt750`
  - `evyd13/nt980`
  - `evyd13/omrontkl`
  - `evyd13/quackfire`
  - `evyd13/solheim68`
  - `evyd13/ta65`
  - `evyd13/wasdat_code`
  - `exclusive/e65`
  - `exclusive/e7v1`
  - `exclusive/e7v1se`
  - `exclusive/e85/hotswap`
  - `exclusive/e85/soldered`
2024-05-20 20:40:23 +01:00
James Young
03f0d68342 Migrate LOCKING_*_ENABLE to Data-Driven: D, Part 2 (#23750)
Affects:

  - `do60`
  - `doio/kb30`
  - `donutcables/scrabblepad`
  - `doppelganger`
  - `doro67/rgb`
  - `dotmod/dymium65`
  - `draytronics/daisy`
  - `draytronics/elise`
  - `draytronics/elise_v2`
  - `drewkeys/iskar`
  - `drhigsby/bkf`
  - `drhigsby/dubba175`
  - `drhigsby/ogurec`
  - `drhigsby/packrat`
  - `dtisaac/cg108`
  - `dumbo`
  - `dz60`
  - `dztech/bocc`
  - `dztech/duo_s`
2024-05-20 20:34:57 +01:00
James Young
4d31c51725 Migrate LOCKING_*_ENABLE to Data-Driven: D, Part 1 (#23749)
Affects:

  - `dailycraft/owl8`
  - `dailycraft/sandbox/rev1`
  - `dailycraft/sandbox/rev2`
  - `dailycraft/stickey4`
  - `dailycraft/wings42/rev1`
  - `dailycraft/wings42/rev1_extkeys`
  - `dailycraft/wings42/rev2`
  - `daji/seis_cinco`
  - `dark/magnum_ergo_1`
  - `darkproject/kd83a_bfg_edition`
  - `darkproject/kd87a_bfg_edition`
  - `dc01/arrow`
  - `dc01/left`
  - `dc01/numpad`
  - `dc01/right`
  - `dcpedit/redherring`
  - `delikeeb/flatbread60`
  - `delikeeb/vaguettelite`
  - `delikeeb/vanana/rev1`
  - `delikeeb/vanana/rev2`
  - `delikeeb/vaneela`
  - `delikeeb/vaneelaex`
  - `delikeeb/waaffle/rev3/elite_c`
  - `delikeeb/waaffle/rev3/pro_micro`
  - `deltapad`
  - `deltasplit75/v2`
  - `dk60`
  - `dm9records/lain`
  - `dm9records/plaid`
  - `dm9records/tartan`
  - `dmqdesign/spin`
2024-05-20 20:31:42 +01:00
Ryan
5fda349018 Remove RGB keycodes from boards with no RGB config (#23709) 2024-05-20 17:11:49 +10:00
Vertex-kb
48c0b60141 KB name change to Part.1-75-HS (#23403) 2024-05-18 22:36:45 -07:00
QMK Bot
dcd450645d Merge remote-tracking branch 'origin/master' into develop 2024-05-19 05:25:53 +00:00
gskygithub
2fd5631776 [Keyboard] Add Projectd 75 iso (#21942)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: gksygithub <106651989+gksygithub@users.noreply.github.com>
2024-05-18 22:25:19 -07:00
QMK Bot
e31f13ff09 Merge remote-tracking branch 'origin/master' into develop 2024-05-19 05:23:52 +00:00
Ryan
93023511ab macOS install script: remove brew upgrade --ignore-pinned (#23735) 2024-05-19 15:23:24 +10:00
QMK Bot
ec5d3ef052 Merge remote-tracking branch 'origin/master' into develop 2024-05-19 05:21:32 +00:00
blindassassin111
2420487e55 [Keyboard] Adding TX_Roundup_Pad PCB (#23526)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-05-18 22:19:32 -07:00
QMK Bot
9ffe516c85 Merge remote-tracking branch 'origin/master' into develop 2024-05-19 04:52:25 +00:00
sotoba
eab07b8655 Add via support for craftwalk (#23658)
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
2024-05-18 21:51:52 -07:00
Coby Sher
5bb01794ee Add sleepy_craft_studios sleepy_keeb (#23659)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-05-18 21:51:36 -07:00
QMK Bot
a76a6580f8 Merge remote-tracking branch 'origin/master' into develop 2024-05-19 04:44:03 +00:00
フィルターペーパー
dd56bee9e1 [Doc] Reference advance keycodes in combos (#23666) 2024-05-18 21:41:03 -07:00
Skyler Hawthorne
a29f665769 Insert delay between shifted chars in send_string_with_delay for AVR (#23673) 2024-05-18 21:37:33 -07:00
Shandon Anderson
e9e26c2b52 Add media key support to Riot Pad (#23719) 2024-05-18 21:15:59 +01:00
QMK Bot
8fac6224d5 Merge remote-tracking branch 'origin/master' into develop 2024-05-18 17:52:54 +00:00
c0ldbru
d0ac04a841 [Keyboard] Add h4ckb0ard (#23717)
* adds h4ckb0ard

* Update keyboards/rot13labs/h4ckb0ard/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/rot13labs/h4ckb0ard/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/rot13labs/h4ckb0ard/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

* Update info.json

updating flags to indicate backlighting

* Update info.json

reduces max brightness to 100

* Delete keyboards/rot13labs/h4ckb0ard/config.h

removes this since its not needed anymore

* Update keyboards/rot13labs/h4ckb0ard/info.json

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/rot13labs/h4ckb0ard/keymaps/default/keymap.c

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/rot13labs/h4ckb0ard/keymaps/default/keymap.c

Co-authored-by: jack <0x6a73@protonmail.com>

---------

Co-authored-by: c0ldbru <c0ldbrusec@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: jack <0x6a73@protonmail.com>
2024-05-18 11:52:24 -06:00
QMK Bot
a32870ea1b Merge remote-tracking branch 'origin/master' into develop 2024-05-18 17:51:33 +00:00
Danny
8f2085421e [Keyboard] Add Irispad (#23724)
* Add Irispad

* Fix x positions for RGB LEDs

* Add encoder/bootmagic settings in info.json and run format-json

* Add missing info.json

* Fix README formatting
2024-05-18 11:51:02 -06:00
James Young
5469f30dfe Migrate LOCKING_*_ENABLE to Data-Driven: 0-9 (#23716)
Affects:

  - `0_sixty`
  - `1upkeyboards/pi40`
  - `1upkeyboards/pi50`
  - `40percentclub/gherkin`
  - `4pplet/perk60_iso/rev_a`
2024-05-17 23:55:29 +01:00
James Young
924147dfe4 Miscellaneous Data-Driven Keyboard Conversions (#23712)
Converts `rules.mk` entries to data-driven where applicable.

Affects:

  - `handwired/dygma/raise/ansi`
  - `handwired/dygma/raise/iso`
  - `handwired/symmetric70_proto/promicro`
  - `handwired/symmetric70_proto/proton_c`
  - `lazydesigners/dimple/ortho`
  - `lazydesigners/dimple/staggered/rev2`
  - `lazydesigners/dimple/staggered/rev3`
  - `sirius/uni660/rev2/ansi`
  - `sirius/uni660/rev2/iso`
2024-05-17 23:54:21 +01:00
Ryan
5c592ab0c0 Delete trivial keymap readmes (#23714) 2024-05-17 23:49:29 +01:00
QMK Bot
a871dab668 Merge remote-tracking branch 'origin/master' into develop 2024-05-17 22:00:13 +00:00
Dasky
47bc02b2ff Force CPI update using timer when using split pointing. (#23545) 2024-05-17 22:59:45 +01:00
QMK Bot
b1ed1c6082 Merge remote-tracking branch 'origin/master' into develop 2024-05-16 23:06:50 +00:00
Joel Challis
340be4bae3 Resolve home directory in userspace config (#23730) 2024-05-17 00:06:19 +01:00
Ryan
a9ba83c7be Remove useless LED/RGB_MATRIX_ENABLE ifdefs (#23726) 2024-05-16 12:52:15 +01:00
QMK Bot
38d6aa2674 Merge remote-tracking branch 'origin/master' into develop 2024-05-15 04:06:47 +00:00
Vertex-kb
eb5172f4b5 [Keyboard] Add cycle7 (#23290)
* Add files via upload

* Update keyboards/vertex/cycle7/readme.md

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/mcuconf.h

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/halconf.h

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/keymaps/default/keymap.c

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/keymaps/via/keymap.c

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/config.h

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Add files via upload

* Update info.json

* Add files via upload

* Update keyboards/vertex/cycle7/keymaps/default/keymap.c

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

* Update keyboards/vertex/cycle7/keymaps/via/keymap.c

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

* Update keyboards/vertex/cycle7/keymaps/via/keymap.c

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

* Update keyboards/vertex/cycle7/keymaps/default/keymap.c

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

* Update keyboards/vertex/cycle7/info.json

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

* Update keyboards/vertex/cycle7/info.json

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

* Update keyboards/vertex/cycle7/info.json

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

---------

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-05-14 22:06:17 -06:00
George Secillano
ef80077b68 Fix mapping of GUI/ALT for Win/Mac layers (#22662) 2024-05-15 12:24:27 +10:00
QMK Bot
f21dc7914f Merge remote-tracking branch 'origin/master' into develop 2024-05-15 01:31:45 +00:00
Nick Brassel
501f988666 [CLI] Fixup return code for qmk userspace-compile. (#23720) 2024-05-15 11:31:14 +10:00
QMK Bot
722dedc118 Merge remote-tracking branch 'origin/master' into develop 2024-05-13 18:21:16 +00:00
Cipulot
fcbbaf4485 Fix for RGB color override and brightness for EC Type K (#23703)
Fix for RGB color override and brightness
2024-05-13 12:20:47 -06:00
QMK Bot
cfe0709fc3 Merge remote-tracking branch 'origin/master' into develop 2024-05-13 17:16:21 +00:00
leep-frog
6d222b71c6 Add housekeeping execution to unit tests (#22999) 2024-05-13 18:15:52 +01:00
QMK Bot
7778e6dcb0 Merge remote-tracking branch 'origin/master' into develop 2024-05-13 09:33:58 +00:00
Vino Rodrigues
8c05254a68 [Bug][Keyboard] Fix encoder resolution issue with Binepad BNK9 (#23707) 2024-05-13 10:33:25 +01:00
Ryan
f9f67d4cb3 Change all RGB mode keycodes to short aliases (#23691) 2024-05-12 10:05:11 +10:00
QMK Bot
66eb5d0a90 Merge remote-tracking branch 'origin/master' into develop 2024-05-11 23:33:35 +00:00
フィルターペーパー
d09ea04fa1 [Doc] Revise squeezing AVR (#23665)
* Note AVR's flash space
* Include guards for magic functions
* Remove mention of silicon shortage
* Demote an unavailable controller
2024-05-12 00:33:01 +01:00
QMK Bot
f903c7a8cb Merge remote-tracking branch 'origin/master' into develop 2024-05-11 17:26:41 +00:00
Joel Challis
a8e9d4f207 Add embed to docs capabilities (#23698) 2024-05-12 03:26:11 +10:00
Ryan
1184e0d9be Adjust keycode alignment around QK_BOOT (#23697) 2024-05-11 16:50:48 +01:00
Joel Challis
2d4832f57a Align RGBKB keyboards to current standards (#23663) 2024-05-11 13:11:50 +01:00
QMK Bot
73f3f6e56d Merge remote-tracking branch 'origin/master' into develop 2024-05-11 09:03:46 +00:00
Ryan
af4a806e3f qmk find: Fix typo in filter logging (#23693) 2024-05-11 10:03:16 +01:00
Joel Challis
ef0734b7a6 Remove 'split.transport.protocol=serial_usart' (#23668) 2024-05-10 20:54:44 +10:00
Joel Challis
42a37577e1 Remove redundant keymap templates (#23685) 2024-05-09 12:06:21 +01:00
QMK Bot
c3b06efb1d Merge remote-tracking branch 'origin/master' into develop 2024-05-07 11:52:16 +00:00
Alexandr
16557f9975 add example for c2json command (#23061) 2024-05-07 12:51:46 +01:00
QMK Bot
a69bf7af04 Merge remote-tracking branch 'origin/master' into develop 2024-05-07 09:02:46 +00:00
Nick Brassel
69640365f8 [CI] Fail workflow if there were build failures (#23678)
More whack-a-mole
2024-05-07 10:02:16 +01:00
Ryan
224ff1d262 Normalise RGBLight (underglow) keycodes (#23656) 2024-05-07 18:36:50 +10:00
QMK Bot
18735599b4 Merge remote-tracking branch 'origin/master' into develop 2024-05-07 02:24:35 +00:00
Nick Brassel
a58906ceb3 [CI] Use existing repo variables instead (#23676) 2024-05-07 12:23:56 +10:00
QMK Bot
9227eaa185 Merge remote-tracking branch 'origin/master' into develop 2024-05-06 22:45:47 +00:00
Nick Brassel
02737307ff [CI] Allow secrets to propagate from parent to child workflow. (#23675) 2024-05-07 08:45:17 +10:00
QMK Bot
022979c4e0 Merge remote-tracking branch 'origin/master' into develop 2024-05-06 20:00:56 +00:00
dependabot[bot]
834d03b577 Bump geekyeggo/delete-artifact from 4 to 5 (#23674)
Bumps [geekyeggo/delete-artifact](https://github.com/geekyeggo/delete-artifact) from 4 to 5.
- [Release notes](https://github.com/geekyeggo/delete-artifact/releases)
- [Changelog](https://github.com/GeekyEggo/delete-artifact/blob/main/CHANGELOG.md)
- [Commits](https://github.com/geekyeggo/delete-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: geekyeggo/delete-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 21:00:27 +01:00
QMK Bot
4f7fb29b76 Merge remote-tracking branch 'origin/master' into develop 2024-05-06 07:25:25 +00:00
Nick Brassel
dca7c3f86f Reworked CI builds for master/develop. (#23182) 2024-05-06 08:24:53 +01:00
QMK Bot
33c80be940 Merge remote-tracking branch 'origin/master' into develop 2024-05-05 10:38:59 +00:00
Nick Brassel
7fc552632e Add page for capabilties used by docs site. (#23428) 2024-05-05 11:38:31 +01:00
Stefan Kerkmann
5daae4bee9 split_util: rename usbIsActive to usb_bus_detected (#23657)
split_util: rename usbIsActive to usb_bus_detected

This follows the style rules and better reflects the intent.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
2024-05-05 08:17:22 +01:00
QMK Bot
8db8431d84 Merge remote-tracking branch 'origin/master' into develop 2024-05-05 01:39:01 +00:00
Alexei Robyn
e3e587fc74 Add support for Smart 68 keyboard (#23043) 2024-05-04 18:38:32 -07:00
Less/Rikki
5c90facf93 refactor: mechwild/bbs (#23373) 2024-05-04 18:36:08 -07:00
Joel Challis
5f9917856a Fix iris via keymap (#23652) 2024-05-04 10:59:41 +01:00
Ryan
b7d5a6c50b Add new set of keycodes for RGB Matrix (#23463) 2024-05-04 16:49:19 +10:00
Joel Challis
c8d1b6fefa xiudi/xd75 - Fix backlight compilation issues (#23655) 2024-05-04 13:44:43 +10:00
Joel Challis
4c2bdf7ab0 Migrate build target markers to keyboard.json - Misc (#23653) 2024-05-03 16:13:43 +01:00
Ryan
d09a06a1b3 Update GPIO API usage in keyboard code (#23361) 2024-05-03 15:21:29 +10:00
QMK Bot
5426a7a129 Merge remote-tracking branch 'origin/master' into develop 2024-05-03 05:11:58 +00:00
James Young
8075003e60 ZSA Voyager Layout Fix (#23651) 2024-05-03 06:11:23 +01:00
QMK Bot
d5598eb714 Merge remote-tracking branch 'origin/master' into develop 2024-05-03 04:08:11 +00:00
James Young
257319f9ff Tomak: Layout Data Correction (#23649)
Corrects the key size and positioning for position [8, 7] on all
layouts.
2024-05-03 05:07:43 +01:00
QMK Bot
b9834744d9 Merge remote-tracking branch 'origin/master' into develop 2024-05-03 00:43:03 +00:00
Andrew Kannan
e3fed98ecb [Keyboard] Add Petrichor Keyboard (#23413)
Co-authored-by: jack <0x6a73@protonmail.com>
2024-05-02 17:42:33 -07:00
QMK Bot
c3ad2e2daf Merge remote-tracking branch 'origin/master' into develop 2024-05-02 22:21:34 +00:00
yiancar
26d444c616 [Keyboard] NK Classic TKL (#23435)
* First commit

* Fix keycode range and color on indicator

* bit of cleanup

* prettify

* Update keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/novelkeys/nk_classic_tkl/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/novelkeys/nk_classic_tkl/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

* readme fix

---------

Co-authored-by: yiancar <yiancar@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2024-05-02 23:21:01 +01:00
Nick Brassel
ac80cee9da Merge remote-tracking branch 'upstream/master' into develop 2024-05-02 20:32:16 +10:00
Nick Brassel
9a4f39b738 clangd enhancements. (#23310) 2024-05-02 20:08:41 +10:00
James Young
29a4e5c50b N86: Layout Data Correction (#23644)
* Correct `LAYOUT_all` data

Corrects incorrect key sizes and positioning.

* Correct `LAYOUT_tkl_ansi_tsangan` data

Corrects incorrect matrix assignments on the bottom row.

* Correct `LAYOUT_tkl_ansi_tsangan_split_bs_rshift` data

Corrects incorrect matrix assignments on the bottom row.

* Set `LAYOUT_all` as an alias

Sets `LAYOUT_all` as an alias for
`LAYOUT_tkl_ansi_tsangan_split_bs_rshift`, because the layout and matrix
data for these two macros is identical.
2024-05-02 03:02:38 -07:00
Ryan
61c7c1f74c Convert some AVR GPIO operations to macros (#23424) 2024-05-02 10:48:49 +01:00
Duncan Sutherland
337776105d add 60_iso_arrow and arrow_split_bs Community Layouts (#22556) 2024-05-01 12:27:40 -07:00
Duncan Sutherland
7220715dd1 Remove 60_ansi_arrow_split_bs_7u_spc Community Layout (#23259) 2024-05-01 12:18:20 -07:00
QMK Bot
248096aa9b Merge remote-tracking branch 'origin/master' into develop 2024-05-01 19:02:54 +00:00
Duncan Sutherland
7b838f330f add tkl_(ansi|iso)_wkl* community layouts (#21809)
* update layouts/default/readme.md

* add tkl_wkl layouts to layouts/default

* amend layouts/default/readme.md

* `tsangan_wkl` to `wkl`

* Update readme.md

* update keymap.c

* local testing corrections applied

* add layouts/community readmes

* minor text correction(s)

* Apply suggestions from code review

* further copyright header changes
2024-05-01 12:02:03 -07:00
QMK Bot
5f07d3c958 Merge remote-tracking branch 'origin/master' into develop 2024-05-01 07:06:16 +00:00
josh-l-wang
8753ae354b add Bruce le Clavier (#23640) 2024-05-01 00:05:45 -07:00
Less/Rikki
4a0ffea41e refactor: mechwild/waka60 (#23423) 2024-04-30 23:58:36 -07:00
Pavel Kroupa
1fc4bfa313 Add MacOS Czech ISO and ANSI keymaps #23346 (#23412) 2024-04-30 23:53:30 -07:00
QMK Bot
ca98cdc2df Merge remote-tracking branch 'origin/master' into develop 2024-05-01 06:51:22 +00:00
era
5f755b9822 [Keyboard] Add N87 (#23457) 2024-04-30 23:50:53 -07:00
QMK Bot
e7d8c189f1 Merge remote-tracking branch 'origin/master' into develop 2024-05-01 06:44:15 +00:00
James Young
0a3c486476 Epomaker Tide 65: Layout Data Cleanup (#23643) 2024-04-30 23:43:43 -07:00
QMK Bot
145ec6189d Merge remote-tracking branch 'origin/master' into develop 2024-05-01 06:43:13 +00:00
Druah
8fbdc45648 [Keyboard] Add DK Saver Redux (#23510) 2024-04-30 23:42:43 -07:00
QMK Bot
6de8c9a3a2 Merge remote-tracking branch 'origin/master' into develop 2024-05-01 06:36:07 +00:00
Joy Lee
719c99afa1 [Keyboard] Add skiller_sgk50_s4 keyboard (#23636)
Co-authored-by: wb <wb@westberrytech.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-04-30 23:35:58 -07:00
josh-l-wang
8129b73d8a [Keyboard] add Bruce the keyboard (#23639) 2024-04-30 23:35:39 -07:00
QMK Bot
c18d11b57a Merge remote-tracking branch 'origin/master' into develop 2024-05-01 06:33:18 +00:00
Ivan Gromov
9289d934b0 [Keyboard] Add imi60 (#23570)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-04-30 23:32:35 -07:00
DavidSannier
c5fb6b4348 Refactoring successive press() -> release() calls (#23573) 2024-04-30 23:31:53 -07:00
Simon
94e9bb406b [Keyboard] 3x3macropad (#23594)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-04-30 23:31:23 -07:00
Joel Challis
54c1ae55bf Align 'qmk lint' argument handling (#23297) 2024-05-01 11:52:34 +10:00
QMK Bot
7b9a1ac4be Merge remote-tracking branch 'origin/master' into develop 2024-04-30 18:32:53 +00:00
Cipulot
31c81d432c Add EC980C (#23172) 2024-04-30 14:32:08 -04:00
QMK Bot
e2b77e9689 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 17:44:24 +00:00
Cipulot
69acadf967 Add Chroma Support (#22889)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-04-30 18:43:06 +01:00
Cipulot
900bec6211 Add EC Menhir (#23175) 2024-04-30 18:41:29 +01:00
QMK Bot
3f9400d974 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 17:40:40 +00:00
Cipulot
822ba1edfa Add EC Vero (#23176) 2024-04-30 18:40:40 +01:00
Cipulot
d21363325d Add EC Dolice (#23178) 2024-04-30 18:39:50 +01:00
QMK Bot
aa68d95e56 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 17:38:42 +00:00
Cipulot
3377813f5d Add EC660C (#23171) 2024-04-30 18:38:12 +01:00
QMK Bot
f91e793e85 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 17:37:02 +00:00
Cipulot
a426abf017 Add EC TKL (#23177) 2024-04-30 18:36:28 +01:00
QMK Bot
ebff2d0244 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 17:36:13 +00:00
Cipulot
4e9967557e Add EC Type-B (#23170) 2024-04-30 18:35:40 +01:00
QMK Bot
7a28c6ede3 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 17:35:07 +00:00
Cipulot
636c96ad25 Add EC Virgo (#23173)
Co-authored-by: jack <0x6a73@protonmail.com>
2024-04-30 18:34:37 +01:00
QMK Bot
0debba3681 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 08:54:37 +00:00
Duncan Sutherland
e2618dc35c Uniform ISO Enter key sequence in JIS Community Layouts (#23181) 2024-04-30 01:54:05 -07:00
James Young
dc2db0c1d4 MechKeys ACR60 Layout Updates (#23309) 2024-04-29 20:04:04 -07:00
QMK Bot
e888187e03 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 02:50:58 +00:00
Joe Scotto
f215da3b7c Add ScottoWing keyboard (#23513)
Co-authored-by: jack <0x6a73@protonmail.com>
2024-04-29 19:50:18 -07:00
QMK Bot
009f67a91b Merge remote-tracking branch 'origin/master' into develop 2024-04-30 02:50:02 +00:00
josh-l-wang
4f4602abd5 [Keyboard] Vault35 WKL universal (#23519) 2024-04-29 19:49:34 -07:00
QMK Bot
3e04bf5f1b Merge remote-tracking branch 'origin/master' into develop 2024-04-30 02:46:15 +00:00
Stefan Gluszek
b99e09ee0e [Keyboard] Fatotesa - custom asymmetric split keyboard (#23528)
Co-authored-by: jack <0x6a73@protonmail.com>
2024-04-29 19:45:46 -07:00
QMK Bot
8ea68f5841 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 02:42:59 +00:00
Alabahuy
284e29d4a1 [Keyboard] add jaykeeb jk65 (#23536) 2024-04-29 19:42:32 -07:00
QMK Bot
5fe63d4b4d Merge remote-tracking branch 'origin/master' into develop 2024-04-30 02:33:17 +00:00
era
ae8458e12d [Keyboard] Add SIRIND TOMAK (#23554)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
2024-04-29 19:32:43 -07:00
QMK Bot
ee178557ed Merge remote-tracking branch 'origin/master' into develop 2024-04-30 01:47:16 +00:00
Stephon Parker
c94c6fcc25 [Keyboard] Add MECHWILD BB65 (#23581)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-04-29 18:46:48 -07:00
QMK Bot
cf07d5bcc9 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 01:40:31 +00:00
QMK Bot
2ddb320401 Merge remote-tracking branch 'origin/master' into develop 2024-04-30 01:40:02 +00:00
Florent Linguenheld
cc35aaadbf Add Chew keyboard (#23628) 2024-04-29 18:40:01 -07:00
Ming-Gih Lam
fd32861c9f Masonry keyboard support (#23597) 2024-04-29 18:39:29 -07:00
QMK Bot
5d6d6b3e8f Merge remote-tracking branch 'origin/master' into develop 2024-04-30 01:37:02 +00:00
Richard Dawe
4f087591a8 Add YMDK YMD62 ISO PCB (#23629) 2024-04-29 18:36:32 -07:00
chalex
b4b222a6e3 gh80_3000 - Enable indicator LED functionality (#23633)
Co-authored-by: chalex <alejandrelee+magbogbro@gmail.com>
2024-04-29 18:36:10 -07:00
Danny
78a76b6c1e Iris keymap update (#23635) 2024-04-29 23:45:58 +01:00
QMK Bot
a0d43c3a64 Merge remote-tracking branch 'origin/master' into develop 2024-04-28 11:12:46 +00:00
Nick Brassel
e99b7f240a Remove broken CI workflow (#23631) 2024-04-28 21:12:14 +10:00
Joel Challis
a65818d929 Migrate build target markers to keyboard.json - BM (#23627) 2024-04-27 11:40:36 -07:00
Ryan
0ff53b2498 Rename RGBW define to WS2812_RGBW (#23585) 2024-04-28 00:36:54 +10:00
James Young
8f8fffc174 Data-Driven Keyboard Conversions: Mechlovin (#23624) 2024-04-27 13:58:04 +01:00
James Young
569be5951e Data-Driven Keyboard Conversions: BastardKB (#23622) 2024-04-27 13:26:23 +01:00
James Young
0ab77cf2e5 Data-Driven Keyboard Conversions: M, Part 2 (#23601) 2024-04-27 03:17:40 +01:00
QMK Bot
82f7e7d7fe Merge remote-tracking branch 'origin/master' into develop 2024-04-26 23:29:05 +00:00
Sergey Vlasov
2224a768d5 Fix encoder breakage with 4 or more encoders (#23595) 2024-04-27 09:28:29 +10:00
Joel Challis
d333a25868 Add audio driver to keyboard.json schema (#23616) 2024-04-26 05:41:22 +01:00
James Young
42f61611e8 Data-Driven Keyboard Conversions: M, Part 3 (#23614) 2024-04-26 05:41:09 +01:00
QMK Bot
1d455fc5f3 Merge remote-tracking branch 'origin/master' into develop 2024-04-26 00:03:18 +00:00
Jay Greco
2893038fda nullbitsco/snap: once again reduce size of bongo_reactive (#23284) 2024-04-25 18:02:48 -06:00
Joel Challis
e9b8929357 Migrate build target markers to keyboard.json - Misc (#23612) 2024-04-25 10:37:44 -07:00
Joel Challis
3d83b3e7c5 Migrate build target markers to keyboard.json - Misc (#23609) 2024-04-25 08:42:48 +01:00
Joel Challis
b6d5cfe575 Migrate build target markers to keyboard.json - L (#23607) 2024-04-25 00:59:13 +01:00
Joel Challis
861a904924 Align NO_SUSPEND_POWER_DOWN keyboard config (#23606) 2024-04-24 22:53:58 +01:00
Joel Challis
16cca527a6 Fix WAIT_FOR_USB handling (#23598) 2024-04-24 19:33:52 +01:00
Joel Challis
c8ceda461a Remove RGBLIGHT_SPLIT in rules.mk (#23599) 2024-04-24 05:59:12 +01:00
Ryan
c505ea48b3 Add haptic driver to keyboard.json schema (#23591) 2024-04-24 04:59:57 +01:00
Joel Challis
d9740c9de1 Migrate build target markers to keyboard.json - Keychron (#23593) 2024-04-23 16:33:39 +01:00
Duncan Sutherland
32136afe24 Change to development_board (#21695) 2024-04-23 19:47:30 +10:00
QMK Bot
0786314bfb Merge remote-tracking branch 'origin/master' into develop 2024-04-23 09:39:18 +00:00
Nick Brassel
1fa84ea83c Fix up license check path. (#23571) 2024-04-23 19:38:47 +10:00
QMK Bot
4b4d024c6b Merge remote-tracking branch 'origin/master' into develop 2024-04-23 09:38:41 +00:00
Nick Brassel
33c453d771 PR Checklist: explain wireless requirements. (#23584) 2024-04-23 19:38:08 +10:00
James Young
a1cbdf145f Data-Driven Keyboard Conversions: M, Part 1 (#23590) 2024-04-23 04:06:24 +01:00
Joel Challis
dc0095c64b Migrate build target markers to keyboard.json - N (#23589) 2024-04-23 03:59:58 +01:00
Joel Challis
e69b638756 Migrate build target markers to keyboard.json - JK (#23588) 2024-04-23 03:59:04 +01:00
QMK Bot
d674724d4e Merge remote-tracking branch 'origin/master' into develop 2024-04-22 14:23:08 +00:00
Ivan Gromov
e807bb7e37 Add Lisa keyboard (#23575)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-04-22 08:22:36 -06:00
James Young
f387410c97 Data-Driven Keyboard Conversions: L (#23576) 2024-04-22 11:13:45 +01:00
QMK Bot
125d050761 Merge remote-tracking branch 'origin/master' into develop 2024-04-22 01:09:42 +00:00
dependabot[bot]
ac2424fec6 Bump JamesIves/github-pages-deploy-action from 4.5.0 to 4.6.0 (#23548)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 02:09:11 +01:00
Joel Challis
40d0512794 Migrate build target markers to keyboard.json - P (#23565) 2024-04-22 02:06:41 +01:00
James Young
191f626880 Data-Driven Keyboard Conversions: K, Part 3 (#23566) 2024-04-22 01:54:11 +01:00
James Young
69f96e1411 Data-Driven Keyboard Conversions: K, Part 4 (#23567) 2024-04-22 01:53:31 +01:00
James Young
7b96e54e8c Data-Driven Keyboard Conversions: K, Part 5 (#23569) 2024-04-20 09:20:16 +01:00
James Young
5936a96620 Data-Driven Keyboard Conversions: K, Part 2 (#23562) 2024-04-20 09:19:11 +01:00
Joel Challis
49593dc81f Migrate build target markers to keyboard.json - OQ (#23564) 2024-04-20 09:18:12 +01:00
James Young
5ab3b27e5f Data-Driven Keyboard Conversions: K, Part 1 (#23556) 2024-04-19 17:25:03 +01:00
Joel Challis
1513966c38 Tidy use of raw hid within keyboards (#23557) 2024-04-19 02:18:51 +01:00
QMK Bot
4a7fdda668 Merge remote-tracking branch 'origin/master' into develop 2024-04-19 00:59:42 +00:00
Santosh Kumar
2693d6fd84 [sofle] Fix layout order affecting messed up lower/raise/adjust layer (#23555) 2024-04-19 01:59:14 +01:00
James Young
d0e1d36144 Data-Driven Keyboard Conversions: J (#23547) 2024-04-19 01:49:15 +01:00
QMK Bot
435aab534b Merge remote-tracking branch 'origin/master' into develop 2024-04-19 00:17:13 +00:00
Alabahuy
f75e66dd19 add jaykeeb joker (#23535) 2024-04-18 18:16:43 -06:00
Joel Challis
abcaf39e6c Migrate build target markers to keyboard.json - R (#23542) 2024-04-17 19:32:56 +01:00
QMK Bot
860c218415 Merge remote-tracking branch 'origin/master' into develop 2024-04-17 15:57:55 +00:00
yiancar
aa15b64f55 [Keyboard] Keycult 65 (#23485)
Co-authored-by: yiancar <yiancar@gmail.com>
2024-04-17 16:57:21 +01:00
QMK Bot
8e098ff49f Merge remote-tracking branch 'origin/master' into develop 2024-04-17 13:46:50 +00:00
suikagiken
c25dfe543b [Keyboard] Add suika85ergo (#23380) 2024-04-17 07:46:20 -06:00
QMK Bot
35474e19c8 Merge remote-tracking branch 'origin/master' into develop 2024-04-17 13:45:22 +00:00
Epomaker
b31ebe789d [Keyboard] Add Epomaker tide65 (#23356)
Co-authored-by: 岩弈 <oncwnuItq3UWm0BoCNj7YclFsdYs@git.weixin.qq.com>
Co-authored-by: yanyi24 <yanyi9399@outlook.com>
2024-04-17 07:44:53 -06:00
Joel Challis
fffe8ee75f Remove *_SUPPORTED = yes (#23541) 2024-04-17 07:20:42 +01:00
Joel Challis
36a6f2ba3c Migrate build target markers to keyboard.json - S (#23532) 2024-04-17 03:15:02 +01:00
Joel Challis
e869c80af7 Migrate build target markers to keyboard.json - HI (#23540) 2024-04-17 02:49:17 +01:00
James Young
baa6000ed3 Data-Driven Keyboard Conversions: H, Part 3 (#23530) 2024-04-17 00:36:21 +01:00
James Young
7be23a9cb4 Data-Driven Keyboard Conversions: I (#23533) 2024-04-17 00:15:34 +01:00
QMK Bot
783eb01037 Merge remote-tracking branch 'origin/master' into develop 2024-04-16 22:56:09 +00:00
Drashna Jaelre
45d60214f4 [Keyboard] ZSA Voyager (#22181)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: László Bácsi <lackac@lackac.hu>
Co-authored-by: Joel Challis <git@zvecr.com>
2024-04-17 08:55:40 +10:00
Joel Challis
1d5ee895ad Migrate build target markers to keyboard.json - FG (#23534) 2024-04-16 05:42:34 +01:00
Joel Challis
abe4d9cdca Migrate build target markers to keyboard.json - E (#23529) 2024-04-16 02:16:08 +01:00
James Young
3c9dd36809 Data-Driven Keyboard Conversions: H, Part 2 (#23525) 2024-04-15 19:22:31 +01:00
Joel Challis
9c1662f8f9 Migrate build target markers to keyboard.json - TUV (#23514) 2024-04-15 19:19:23 +01:00
James Young
2e01b67ecc Data-Driven Keyboard Conversions: H, Part 1 (#23524) 2024-04-15 19:19:08 +01:00
James Young
130a2a31a6 Data-Driven Keyboard Conversions: G (#23522) 2024-04-15 02:09:46 +01:00
James Young
bc8ff28a58 Data-Driven Keyboard Conversions: F (#23516) 2024-04-14 18:31:26 +01:00
Joel Challis
22b3cf4e91 Migrate build target markers to keyboard.json - DE (#23515) 2024-04-14 18:28:15 +01:00
QMK Bot
e5e2b8a262 Merge remote-tracking branch 'origin/master' into develop 2024-04-14 13:00:48 +00:00
Andrew Kannan
9baafef968 Swap PID and VID on is0gr in QMK (#23458) 2024-04-14 23:00:19 +10:00
QMK Bot
360a53fe7d Merge remote-tracking branch 'origin/master' into develop 2024-04-14 05:12:46 +00:00
Logan Foster
1a831a01b7 Adjusted Compensator on-state and keymaps (#23509) 2024-04-13 23:12:14 -06:00
James Young
9de5238103 Data-Driven Keyboard Conversions: E (#23512) 2024-04-14 00:16:06 +01:00
zvecr
96025250d1 Fix dailycraft/wings42/rev2 2024-04-13 08:49:31 +01:00
Joel Challis
2eea2cdc46 Miscellaneous keyboard.json migrations (#23486) 2024-04-13 08:45:27 +01:00
James Young
8ad3a36fb6 Data-Driven Keyboard Conversions: D (#23461) 2024-04-13 06:33:49 +01:00
Joel Challis
43a122e050 Migrate build target markers to keyboard.json - W (#23511) 2024-04-13 06:31:34 +01:00
Ryan
bbf63a8466 LED Matrix: replace backlight keycodes with newly added ones (#23455) 2024-04-13 04:15:22 +01:00
Joel Challis
6b60089fc7 Migrate build target markers to keyboard.json - 0AB (#23488) 2024-04-12 23:34:44 +01:00
Joel Challis
214e091ec2 Corrections to split keyboard migrations (#23462) 2024-04-12 13:44:06 +01:00
Linus Sjölinder
244b7143b6 [Keyboard] Add Chapter1 (#23452)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
2024-04-11 21:08:01 -07:00
Joel Challis
45b710f9e1 Migrate build target markers to keyboard.json - X (#23460) 2024-04-12 04:36:31 +01:00
Duncan Sutherland
8caa8674d2 Move SPLIT_KEYBOARD to data driven (#21410) 2024-04-11 20:22:15 -07:00
James Young
cb81913d18 Data-Driven Keyboard Conversions: B (#23425)
Converts configuration definitions and rules to data-driven where
applicable. Renames `info.json` to `keyboard.json` in instances where
`rules.mk` can be safely deleted.

Affects:

  - `bacca70`
  - `baguette`
  - `baion_808`
  - `bajjak`
  - `bandominedoni`
  - `bantam44`
  - `barleycorn_smd`
  - `barracuda`
  - `basekeys/slice/rev1`
  - `basekeys/slice/rev1_rgb`
  - `basekeys/trifecta`
  - `basketweave`
  - `bastardkb/dilemma/4x6_4`
  - `bbrfkr/dynamis`
  - `bear_face`
  - `beatervan`
  - `bemeier/bmek`
  - `biacco42/ergo42`
  - `biacco42/meishi`
  - `biacco42/meishi2`
  - `binepad/bn003`
  - `binepad/bn009/r1`
  - `binepad/bnr1`
  - `bioi/g60`
  - `bioi/g60ble`
  - `bioi/morgan65`
  - `bioi/s65`
  - `blackplum`
  - `blank/blank01`
  - `blank_tehnologii/manibus`
  - `blockey`
  - `bluebell/swoop`
  - `boardrun/bizarre`
  - `boardrun/classic`
  - `boardsource/equals/48`
  - `boardsource/equals/60`
  - `boardwalk`
  - `bop`
  - `boston`
  - `boston_meetup/2019`
  - `box75`
  - `bpiphany/four_banger`
  - `bpiphany/frosty_flake`
  - `bpiphany/ghost_squid`
  - `bpiphany/hid_liber`
  - `bpiphany/kitten_paw`
  - `bpiphany/tiger_lily`
  - `bpiphany/unloved_bastard`
  - `bt66tech/bt66tech60`
  - `bubble75/hotswap`
  - `budgy`
  - `buildakb/potato65`
  - `buildakb/potato65hs`
  - `buildakb/potato65s`
  - `buzzard`
2024-04-11 14:21:32 -07:00
James Young
a532d1cc5a Data-driven Keyboard Conversions: C (#23453) 2024-04-11 16:29:10 +01:00
QMK Bot
8bbbe753fd Merge remote-tracking branch 'origin/master' into develop 2024-04-11 04:49:03 +00:00
era
de4d28cd60 [Keyboard] Add N8X (#23444)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-04-10 22:48:32 -06:00
QMK Bot
2daaaba2a3 Merge remote-tracking branch 'origin/master' into develop 2024-04-11 04:47:44 +00:00
era
f73e69f56d [Keyboard] Add N86 (#23454) 2024-04-10 22:47:14 -06:00
Ryan
52d3ef0fe4 Add new set of keycodes for LED Matrix (#23432) 2024-04-11 14:14:02 +10:00
Ryan
25f608c1b4 Separate keycode handling for LED Matrix and Backlight (#23426) 2024-04-11 14:06:36 +10:00
Nick Brassel
4acdddbf48 Bodge consolidation. (#23448) 2024-04-10 19:03:11 +10:00
NoOne2246
b99143fdd2 Oneshot locked mods split transaction (#23434) 2024-04-08 12:55:42 -06:00
QMK Bot
cd94664d15 Merge remote-tracking branch 'origin/master' into develop 2024-04-08 15:47:42 +00:00
Draic
cd0043de8f Fix Layout_Arrow 3rd key in bottom row (#23443)
Co-authored-by: v <v@phux.dev>
2024-04-08 16:47:11 +01:00
Joel Challis
ad8d934d3c Tidy up default layer handling in keymaps (#23436) 2024-04-08 02:56:46 +01:00
QMK Bot
11deaf60b4 Merge remote-tracking branch 'origin/master' into develop 2024-04-06 22:57:40 +00:00
Felix Teutsch
b0e948c380 Update hand_wire.md (#23429) 2024-04-06 16:57:12 -06:00
QMK Bot
061f5adc15 Merge remote-tracking branch 'origin/master' into develop 2024-04-06 08:43:49 +00:00
yiancar
36ae585468 [Keyboard] Add Skelett60 (#23409)
Co-authored-by: yiancar <yiancar@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-04-06 09:43:20 +01:00
Joel Challis
1f3d709fcb Migrate build target markers to keyboard.json - YZ (#23421) 2024-04-05 15:44:06 +01:00
Ryan
9fa91ad494 Rename process_{led,rgb}_matrix() (#23422) 2024-04-05 15:43:52 +01:00
Ryan
a14c03b96e Remove more unnecessary quantum.h includes (#23402) 2024-04-05 14:48:21 +11:00
Nick Brassel
f8a7a6848d Update ChibiOS submodules. (#23405) 2024-04-05 13:23:43 +11:00
Joel Challis
0696a62476 "features.split" is not a valid key (#23419) 2024-04-05 02:38:35 +01:00
Joel Challis
fd17ae34ec Tidy up keyboards/zvecr (#23418) 2024-04-05 02:38:12 +01:00
Ryan
2a25e79760 Remove deprecated quantum keycodes (#23407) 2024-04-04 15:16:27 +01:00
QMK Bot
7a939ca9b4 Merge remote-tracking branch 'origin/master' into develop 2024-04-04 06:44:48 +00:00
James Young
b9b8ff8302 Fix malformed JSON in layouts/default/ortho_5x10/info.json (#23414) 2024-04-04 07:44:20 +01:00
QMK Bot
8d8d6af124 Merge remote-tracking branch 'origin/master' into develop 2024-04-04 03:39:48 +00:00
Taro Hayashi
c70ebd4a0e Fix pointing_device_set_cpi_on_side() (#23391)
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
2024-04-03 20:39:02 -07:00
QMK Bot
e578434ba8 Merge remote-tracking branch 'origin/master' into develop 2024-04-03 23:12:15 +00:00
Ryan
2a4c746718 handwired/technicpad: fix keyboard in keymaps (#23408) 2024-04-04 10:11:45 +11:00
Joel Challis
f29daff9b6 Miscellaneous keyboard.json migrations (#23378) 2024-04-03 23:14:03 +01:00
Joel Challis
62af50ceef Fix failing keyboards on develop (#23406) 2024-04-03 14:01:30 +01:00
Ryan
c635733a7f Remove quantum.h includes from keyboard code (#23394) 2024-04-03 10:44:25 +11:00
DOIO2022
408f6e43cd Change the VID and PID of the file kb38 info.json (#23393) 2024-04-03 00:36:49 +01:00
Joel Challis
73daecdc23 Fix spaceholdings/nebula68b (#23399) 2024-04-03 00:36:30 +01:00
zlabkeeb
03a3a2673d Update 15PAD & 6PAD (#23397) 2024-04-02 20:58:31 +01:00
James Young
63bc7b63a6 Data-Driven Keyboard Conversions: A (#23379) 2024-04-02 17:45:44 +01:00
QMK Bot
38f7c6e3f3 Merge remote-tracking branch 'origin/master' into develop 2024-04-02 15:06:04 +00:00
Ryan
b108524314 merge/um80: remove pointless empty layers (#23398) 2024-04-02 16:05:32 +01:00
Ryan
05731202a2 0xcb/splaytoraid: remove CONVERT_TO at keyboard level (#23395) 2024-04-02 15:37:11 +01:00
Ryan
1bea8b9d31 40percentclub/gherkin: remove CONVERT_TO at keyboard level (#23396) 2024-04-02 15:32:48 +01:00
Joel Challis
573db7a0ee Produce warning if keyboard is not configured via keyboard.json (#23321) 2024-04-02 00:48:30 +01:00
QMK Bot
6f53d10960 Merge remote-tracking branch 'origin/master' into develop 2024-04-01 21:50:18 +00:00
Cipulot
d4d8b0c6d3 Add EC Type-K (#23193) 2024-04-01 17:49:46 -04:00
QMK Bot
314e3fc2f4 Merge remote-tracking branch 'origin/master' into develop 2024-04-01 21:45:40 +00:00
Cipulot
8757a19375 Fix in 60_iso_wkl_split_bs_rshift diagram (#22654) 2024-04-01 22:45:09 +01:00
QMK Bot
525cf0080f Merge remote-tracking branch 'origin/master' into develop 2024-04-01 21:44:49 +00:00
Cipulot
5fc4e331bd Add MNK 65 EC (#23168) 2024-04-01 17:44:16 -04:00
Cipulot
81b5ae9bdd Add MNK 60 EC (#23167)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-04-01 17:42:21 -04:00
QMK Bot
33ddc90043 Merge remote-tracking branch 'origin/master' into develop 2024-04-01 19:32:52 +00:00
SmollChungus
73e3053e25 [Keyboard] Add rose75 (#22968)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-04-01 13:32:21 -06:00
Less/Rikki
a922627319 refactor: flehrad/bigswitch (#23384) 2024-04-01 10:33:50 -06:00
Joel Challis
ea71945441 Align encoder layout validation with encoder.h logic (#23330) 2024-03-31 21:38:58 +01:00
QMK Bot
a939ee1197 Merge remote-tracking branch 'origin/master' into develop 2024-03-31 11:24:09 +00:00
Joel Challis
319d9aa7b9 Fix 'qmk compile' mass_compile execution (#23296) 2024-03-31 12:23:40 +01:00
Joel Challis
5db6f7967e Remove redundant DEFAULT_FOLDER from keyboards (#23377) 2024-03-31 08:49:47 +01:00
QMK Bot
809c5f2c01 Merge remote-tracking branch 'origin/master' into develop 2024-03-31 01:07:30 +00:00
Joy Lee
e9f187f612 [Keyboard] Add skiller_skg50_s2 (#23364)
Co-authored-by: wb <wb@westberrytech.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: jack <0x6a73@protonmail.com>
2024-03-30 19:07:03 -06:00
Arthur
83625da36b Add solid_reactive effects for MIIIW BlackIO83 (#22251) 2024-03-30 11:59:51 -06:00
QMK Bot
b92bca7786 Merge remote-tracking branch 'origin/master' into develop 2024-03-30 17:53:08 +00:00
c0ldbru
72ec742d2c [Keyboard] Add rot13labs hackboard (#23218)
Co-authored-by: c0ldbru <c0ldbrusec@gmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-03-30 11:52:40 -06:00
QMK Bot
c9f15cf081 Merge remote-tracking branch 'origin/master' into develop 2024-03-30 17:49:35 +00:00
Filip Strzałka
6dbc1b800f [Keyboard] add arrowmechanics/wings (#23328)
Co-authored-by: Arrow Mechanics <filip@arrowmechanics.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-03-30 11:48:50 -06:00
Joel Challis
04d6803b34 Remove 'NO_USB_STARTUP_CHECK = no' from keyboards (#23376) 2024-03-30 17:19:03 +00:00
Ryan
2dd406f08f Remove quantum.h includes from keyboard custom matrix.cs (#23371) 2024-03-30 14:07:19 +00:00
James Young
76bd5142cf Data-Driven Keyboard Conversions: 0-9 (#23357) 2024-03-30 13:51:57 +00:00
Joel Challis
831deac212 Migrate build target markers to keyboard.json (#23293) 2024-03-30 11:31:50 +00:00
Joel Challis
1c8e99ca45 Migrate features and LTO from rules.mk to data driven (#23307) 2024-03-30 10:57:30 +00:00
Joel Challis
426bb9c651 Migrate features and LTO from rules.mk to data driven (#23302) 2024-03-30 10:43:15 +00:00
Duncan Sutherland
86e7df0c2a Remove "w": 1 from keyboards/ (#23367) 2024-03-29 21:14:26 -07:00
QMK Bot
da041fcd53 Merge remote-tracking branch 'origin/master' into develop 2024-03-30 03:46:45 +00:00
takashicompany
54593975bf Add new keyboard "Rookey" (#22483)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-03-29 20:46:15 -07:00
QMK Bot
cf84ec0123 Merge remote-tracking branch 'origin/master' into develop 2024-03-30 02:03:45 +00:00
takashicompany
abc101c122 [Keyboard] Add miniDivide MAX (#22804)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: jack <0x6a73@protonmail.com>
2024-03-29 19:03:17 -07:00
QMK Bot
291b665d6a Merge remote-tracking branch 'origin/master' into develop 2024-03-30 02:01:22 +00:00
yulei
ac74d106d6 [Keyboard] add neson design 810e keyboard (#22883)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: jack <0x6a73@protonmail.com>
2024-03-29 19:00:51 -07:00
QMK Bot
01ea60a7a8 Merge remote-tracking branch 'origin/master' into develop 2024-03-30 01:58:00 +00:00
khchen2004
93737eccc9 [Keyboard] Add scorpio rev2 (#22906) 2024-03-29 18:57:29 -07:00
QMK Bot
1eb24155db Merge remote-tracking branch 'origin/master' into develop 2024-03-30 01:04:52 +00:00
Duncan Sutherland
7bff385840 Update serial_driver.md (#23035)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-03-29 19:04:23 -06:00
QMK Bot
e1f905def5 Merge remote-tracking branch 'origin/master' into develop 2024-03-30 01:01:13 +00:00
Victor Camargo
696bf80375 Clearer text about double tapping reset only working for boot after already having QMK running in board (#23042)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-03-29 19:00:41 -06:00
QMK Bot
bc3d1f4fab Merge remote-tracking branch 'origin/master' into develop 2024-03-30 00:16:49 +00:00
Duncan Sutherland
c52ad5c38e tidy keymap of 60_ansi_arrow Community Layout (#23301) 2024-03-29 17:16:17 -07:00
Ryan
d0cf7b8519 Update GPIO expander API naming (#23375) 2024-03-29 16:57:21 +00:00
James Young
e891109c4e P3D Spacey Layout Updates (#23329) 2024-03-28 22:23:13 -07:00
QMK Bot
60aa0fda96 Merge remote-tracking branch 'origin/master' into develop 2024-03-29 05:20:28 +00:00
joliverMI
041f60f9a9 [Keyboard] Add recore keyboard (#23320)
Co-authored-by: joliverMI <qmk@Desktop2023>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-03-28 22:19:14 -07:00
LLLKST
387a1aef8d Add RGB lighting for the PetruziaMini (#23305) 2024-03-28 22:12:09 -07:00
QMK Bot
e8d9e3955b Merge remote-tracking branch 'origin/master' into develop 2024-03-29 05:07:49 +00:00
James Young
2d8902c884 Kalakos Bahrnob Layout Additions (#23300) 2024-03-28 22:06:38 -07:00
QMK Bot
01ce77b01d Merge remote-tracking branch 'origin/master' into develop 2024-03-29 05:05:13 +00:00
Archetype
742ff91cf8 [Keyboard] Add Minerva LX (#23291)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Álvaro A. Volpato <alvaro.augusto.volpato@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-03-28 22:04:43 -07:00
QMK Bot
765fa718c5 Merge remote-tracking branch 'origin/master' into develop 2024-03-29 04:56:06 +00:00
Joel Challis
5ef5a79fd9 Remove IGNORE_MOD_TAP_INTERRUPT from keymaps (#23279) 2024-03-28 21:55:38 -07:00
QMK Bot
4e941c3caf Merge remote-tracking branch 'origin/master' into develop 2024-03-29 04:53:41 +00:00
DOIO2022
eac3809266 [Keyboard] Add kb3x keyboard (#23268)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
2024-03-28 21:53:11 -07:00
QMK Bot
bcc4dc4f25 Merge remote-tracking branch 'origin/master' into develop 2024-03-29 04:51:51 +00:00
Veriyans
afafce0a5e [Keyboard] Add Macropad 15Pad (#23257)
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2024-03-28 21:51:22 -07:00
Robin Carlier
42a725e355 Remove midi_ep_task from ChibiOS (#23162)
Co-authored-by: Joel Challis <git@zvecr.com>
2024-03-28 20:40:41 -07:00
QMK Bot
1d55b5e661 Merge remote-tracking branch 'origin/master' into develop 2024-03-29 03:33:30 +00:00
Freather
06cb283604 [Keyboard] Add haven60 (#23062)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-03-28 20:33:00 -07:00
QMK Bot
81df9ba478 Merge remote-tracking branch 'origin/master' into develop 2024-03-29 03:23:12 +00:00
Kyrre Havik
e44cbf7556 [Keyboard] Bartlesplit (#23114)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-03-28 20:22:41 -07:00
QMK Bot
3a22c4a31f Merge remote-tracking branch 'origin/master' into develop 2024-03-29 01:22:21 +00:00
Less/Rikki
4cd92cac1c [Keyboard] mechwild/bb40 (#22958)
Co-authored-by: Kyle McCreery <mccreery.kyle@gmail.com>
2024-03-28 18:21:49 -07:00
QMK Bot
3a0b5d4ed4 Merge remote-tracking branch 'origin/master' into develop 2024-03-27 20:56:04 +00:00
dependabot[bot]
c035a37249 Bump tj-actions/changed-files from 43 to 44 (#23369)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-27 20:55:32 +00:00
Ryan
01be746fc4 Update I2C API usage in keyboard code (#23360) 2024-03-27 12:41:53 +00:00
QMK Bot
148d66fc9f Merge remote-tracking branch 'origin/master' into develop 2024-03-26 23:31:28 +00:00
Jacky
1d58530e79 [Keyboard] Add T75 (#23344)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: jack <0x6a73@protonmail.com>
2024-03-26 17:30:58 -06:00
Dasky
d0ee4a1cb2 Fix rgblight init (#23335) 2024-03-24 11:20:05 +11:00
QMK Bot
38813e864b Merge remote-tracking branch 'origin/master' into develop 2024-03-22 23:30:59 +00:00
JuanoD
4afbade6d1 Add ES_GRV to latam language-specific keycodes (#23333) 2024-03-22 23:30:30 +00:00
QMK Bot
9b910bbbf4 Merge remote-tracking branch 'origin/master' into develop 2024-03-22 12:13:36 +00:00
Moritz Plattner
551489645a Add werk.technica werk.one keyboard (#23130)
* add wt one

* update readme for One

* Apply suggestions from code review

Co-authored-by: Joel Challis <git@zvecr.com>

* remove redundant file

* reformatted info.json

* Update keyboards/werk_technica/one/keymaps/via/rules.mk

Co-authored-by: Danny <nooges@users.noreply.github.com>

---------

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Danny <nooges@users.noreply.github.com>
2024-03-22 08:13:07 -04:00
Ryan
583cde398a Un-extern RGBLight led[] array (#23322) 2024-03-22 06:04:13 +00:00
Etienne Collin
c038292c1e Adding standard keymap for wave keyboard to fix #22695 (#22741) 2024-03-22 13:40:59 +11:00
QMK Bot
c8253af773 Merge remote-tracking branch 'origin/master' into develop 2024-03-21 22:30:42 +00:00
jotix
f95f93b0fc handwired/jotlily60 via keymap (#23325) 2024-03-21 22:30:14 +00:00
Joel Challis
ae9c5389f0 Reduce firmware size of helix/rev3 (#23324) 2024-03-21 21:54:48 +00:00
QMK Bot
f497c5ee8e Merge remote-tracking branch 'origin/master' into develop 2024-03-21 05:07:35 +00:00
Benjamin Božič
8a429fce33 [Keyboard] Add marshkeys flowerpad (#23240) 2024-03-21 05:06:38 +00:00
NW
5d6b291845 Add TechnicPad macropad (#23238) 2024-03-21 05:05:18 +00:00
QMK Bot
1439e3348f Merge remote-tracking branch 'origin/master' into develop 2024-03-21 05:04:57 +00:00
jotix
4bc57c8d46 Add handwired/Jotlily60 (#23212) 2024-03-21 05:04:25 +00:00
QMK Bot
3c1fccbd8e Merge remote-tracking branch 'origin/master' into develop 2024-03-21 05:04:15 +00:00
Ramon Imbao
18ae0f61ab Add the EQUATOR keyboard (#23237) 2024-03-21 05:03:42 +00:00
QMK Bot
f24b55b212 Merge remote-tracking branch 'origin/master' into develop 2024-03-21 04:54:33 +00:00
Chad Skeeters
a1b16b8227 Support for slice65 from PizzaKeyboards (#23148) 2024-03-21 04:54:02 +00:00
Ryan
319ac3b27b Remove RGBLight led[] references (#23311) 2024-03-21 04:43:26 +00:00
QMK Bot
5b472a93de Merge remote-tracking branch 'origin/master' into develop 2024-03-21 04:04:43 +00:00
Bregoliii
d5374b7e01 Add Swiss support (#23272) 2024-03-21 04:04:14 +00:00
QMK Bot
a729516edb Merge remote-tracking branch 'origin/master' into develop 2024-03-20 22:24:27 +00:00
Joel Challis
34374d2e2e Assume only 32u4 boards can run 'promicro' converters (#23312) 2024-03-20 22:23:58 +00:00
QMK Bot
536b4d5cf1 Merge remote-tracking branch 'origin/master' into develop 2024-03-20 20:32:34 +00:00
zlabkeeb
977f667da9 Add Macropad 6Pad (#23099) 2024-03-20 20:32:04 +00:00
QMK Bot
f8b427d5ab Merge remote-tracking branch 'origin/master' into develop 2024-03-20 19:51:33 +00:00
Joel Challis
a9e9c9acc5 Fix invalid use of stemcell converter (#23317) 2024-03-20 19:51:01 +00:00
QMK Bot
063f971177 Merge remote-tracking branch 'origin/master' into develop 2024-03-20 15:10:23 +00:00
jack
53f46893ce Updates to PR Checklist (#23318) 2024-03-20 09:09:29 -06:00
QMK Bot
4c8f33baa4 Merge remote-tracking branch 'origin/master' into develop 2024-03-20 14:52:53 +00:00
joliverMI
b1235baf42 [Keyboard] Add posey_split v4/v5 (#23258)
* Created posey_split keyboards and included default keymaps.

* Update keyboards/pmk/posey_split/posey_split_v4/config.h

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/pmk/posey_split/posey_split_v4/config.h

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/pmk/posey_split/posey_split_v4/info.json

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/pmk/posey_split/posey_split_v4/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/pmk/posey_split/posey_split_v4/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/pmk/posey_split/posey_split_v4/readme.md

Co-authored-by: jack <0x6a73@protonmail.com>

* Various cleanup updates per QMK maintainers on PR #23258

* removed config files from via keymaps

* removed additional keyboard for PR.

* changed folder structure per PR suggestion

* Update keyboards/pmk/posey_split/v5/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/pmk/posey_split/v5/rules.mk

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/pmk/posey_split/v4/rules.mk

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/pmk/posey_split/v5/keymaps/VIA/keymap.c

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/pmk/posey_split/v5/keymaps/default/keymap.c

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/pmk/posey_split/v4/keymaps/default/keymap.c

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/pmk/posey_split/v4/keymaps/VIA/keymap.c

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/pmk/posey_split/v5/readme.md

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/pmk/posey_split/v4/readme.md

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/pmk/posey_split/v4/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

* changed via folders to lowercase

* cleaned up extra via files in wrong folder

* Added better descriptions to keyboard projects and added hardware listing to v5

* Cleaned up keymap format

* removed extra rules

* Update keyboards/pmk/posey_split/v4/keymaps/via/keymap.c

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/pmk/posey_split/v5/readme.md

Co-authored-by: Joel Challis <git@zvecr.com>

* removed "about" from readme on v4

* Removed title from readme

---------

Co-authored-by: joliverMI <qmk@Desktop2023>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2024-03-20 08:52:20 -06:00
Ryan
f7cf40fa77 Add init function to RGBLight driver struct (#23076) 2024-03-18 22:03:27 +11:00
Ryan
23b7a02ebe LED drivers: add support for IS31FL3236 (#23264) 2024-03-17 19:23:14 +11: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
164065682e Swift65 Hotswap Layout Name Standardization (#23288)
* Rename `LAYOUT_7u_space` to `LAYOUT_ansi_blocker_tsangan`

[refactor]

* Refactor keymaps

Updates the keycode grid alignment to better resemble the assembled
board.

[style]
2024-03-16 03:38:01 +00:00
James Young
7e39635c0a Swift65 Solder Layout Name Standardization (#23289)
* Rename `LAYOUT_625u_space` to `LAYOUT_ansi_blocker`

[refactor]

* Rename `LAYOUT_625u_space_split_bs` to `LAYOUT_ansi_blocker_split_bs`

[refactor]

* Rename `LAYOUT_7u_space` to `LAYOUT_ansi_blocker_tsangan`

[refactor]

* Rename `LAYOUT_7u_space_split_bs` to `LAYOUT_ansi_blocker_tsangan_split_bs`

[refactor]

* Rename `LAYOUT_iso_625u_space` to `LAYOUT_iso_blocker`

[refactor]

* Rename `LAYOUT_iso_625u_space_split_bs` to `LAYOUT_iso_blocker_split_bs`

[refactor]

* Rename `LAYOUT_iso_7u_space` to `LAYOUT_iso_blocker_tsangan`

[refactor]

* Rename `LAYOUT_iso_7u_space_split_bs` to `LAYOUT_iso_blocker_tsangan_split_bs`

[refactor]

* Refactor keymaps

Updates the keycode grid alignment to better resemble the assembled
board.

[style]
2024-03-16 03:37:40 +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
James Young
1f8f0f70a2 Linworks FAve 87H Keymap Refactor/Bugfix (#23292)
* Refactor keymaps

- use QMK-native keycode aliases
- grid-align keycodes

[refactor]

* Correct key sequence

Moves the keycode representing the right half of a split Backspace to
the number row, after the left half/2u Backspace keycode.

Updates the keycode grid alignment to maintain readability.

[bugfix]
2024-03-15 22:36:23 +00:00
Joel Challis
14990ca5a2 Migrate features from rules.mk to data driven - ST (#23286) 2024-03-15 22:24:10 +00:00
Joel Challis
1a90337284 Migrate features from rules.mk to data driven - OPQR (#23285) 2024-03-15 22:24:00 +00:00
Joel Challis
24d824aae4 Migrate features from rules.mk to data driven - UVWXYZ (#23287) 2024-03-15 22:23:40 +00:00
Drashna Jaelre
68e8d74188 [Keyboard] Overhaul ploopyco devices (#22967) 2024-03-14 22:15:44 -07:00
QMK Bot
359cec14fa Merge remote-tracking branch 'origin/master' into develop 2024-03-15 05:10:50 +00:00
Wilba
c5f544cd96 Added WT65-H3 (HIBI HIBIKI) (#22886) 2024-03-14 22:10:17 -07:00
QMK Bot
020481b258 Merge remote-tracking branch 'origin/master' into develop 2024-03-15 05:09:50 +00:00
Wilba
cba2b5645f Added WT65-G3 (HIBI HIBIKI) (#22888) 2024-03-14 22:09:20 -07:00
Joe Scotto
add7c13d61 Update ScottoAlp handwired keyboard to 12 column layout (#22962)
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-03-14 22:03:23 -07:00
QMK Bot
b9d65269ca Merge remote-tracking branch 'origin/master' into develop 2024-03-15 02:00:34 +00:00
AlanLiu
f0e219a1c8 Modify wording in 'getting_started_introduction.md' (#23232)
Co-authored-by: Joel Challis <git@zvecr.com>
2024-03-14 19:00:03 -07:00
QMK Bot
24d7d0ec77 Merge remote-tracking branch 'origin/master' into develop 2024-03-15 01:45:14 +00:00
dependabot[bot]
0d9399234d Bump tj-actions/changed-files from 42 to 43 (#23282)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 42 to 43.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v42...v43)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-15 01:44:32 +00:00
Joel Challis
01473075f8 Migrate features from rules.mk to data driven - EFGH (#23248) 2024-03-15 01:42:55 +00:00
Joel Challis
80b72487ce Migrate features from rules.mk to data drive - LMN (#23277) 2024-03-15 01:42:33 +00:00
Joel Challis
539fa21bf8 Migrate features from rules.mk to data driven - IJK (#23276) 2024-03-15 01:42:15 +00:00
QMK Bot
16ad09299c Merge remote-tracking branch 'origin/master' into develop 2024-03-15 01:32:49 +00:00
James Young
7d417b78eb AMJKeyboard AMJ96 Layout Additions (#23267) 2024-03-14 18:32:17 -07:00
QMK Bot
c43f48f6a9 Merge remote-tracking branch 'origin/master' into develop 2024-03-14 17:53:03 +00:00
Nick Brassel
67df06eb44 Fixup cipulot eeprom. (#23280) 2024-03-14 17:52:30 +00:00
Joel Challis
63dd131d81 Refactor vusb to protocol use pre/post task (#14944) 2024-03-14 21:45:12 +11:00
Joel Challis
4bbfecae90 Infer eeconfig identifiers (#22135)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-03-14 21:45:03 +11:00
Joel Challis
6720e9c58c qmk new-keyboard - detach community layout when selecting "none of the above" (#20405) 2024-03-14 21:24:24 +11:00
Joel Challis
aea414fd82 Migrate content where only parent info.json exists (#22895) 2024-03-14 21:21:33 +11:00
Joel Challis
f1a279810f Migrate features from rules.mk to DD (#23202) 2024-03-14 03:57:48 +00:00
Joel Challis
8e5cd981e1 Migrate features from rules.mk to DD (#23247) 2024-03-14 03:56:42 +00:00
QMK Bot
f217cd4657 Merge remote-tracking branch 'origin/master' into develop 2024-03-14 03:29:24 +00:00
achim-t
1080025973 Update feature_tri_layer.md - typo (#23275) 2024-03-14 14:28:54 +11:00
Joel Challis
af1ac6b1bd Reject duplicate matrix locations in LAYOUT macros (#23273) 2024-03-13 23:04:49 +00:00
QMK Bot
6c95ec0c09 Merge remote-tracking branch 'origin/master' into develop 2024-03-13 07:24:52 +00:00
galile0
aa73362674 [Keyboard] add glyphkbd_v2 (#23131)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-03-13 00:24:21 -07:00
QMK Bot
0b6e1f1932 Merge remote-tracking branch 'origin/master' into develop 2024-03-13 07:24:01 +00:00
elmo
8c9dea0d0a Add support new kb_elmo PCBs (#23138)
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-03-13 00:23:30 -07:00
DavidSannier
c92277a8ae Remove unuseful layer_on() call (#23055) 2024-03-13 00:19:23 -07:00
QMK Bot
8449ad0fc3 Merge remote-tracking branch 'origin/master' into develop 2024-03-13 03:21:16 +00:00
era
be9fcbd503 Add SIRIND Brick65 (#23245) 2024-03-13 03:21:06 +00:00
wind
49596b0692 Add KM113 keyboard (#22669) 2024-03-13 03:20:46 +00:00
zvecr
66060f1935 Merge remote-tracking branch 'origin/master' into develop 2024-03-13 00:30:09 +00:00
Joel Challis
fb11330eab Absolute paths for -kb argument should error consistently (#23262) 2024-03-13 00:28:08 +00:00
QMK Bot
1ea9f2e92b Merge remote-tracking branch 'origin/master' into develop 2024-03-12 22:52:11 +00:00
LLLKST
6788a5eb27 [Keyboard] Add PetruziaMini (#23201)
* Uploading the PetruziaMini

My first try on uploading somethings on github. Hoping it works, this is my handwired PetruziaMini. I don't know if it will be visible on qmk configurator now

* 36 key hhbk inspired kb

* Required changes done

I compiled it locally and works

* Last changes requested

Added a imgur image (first time using, hoping i did it right) and summarized the description as requeste

* Fixed imegur link

* Ops, i've lost this. Here it comes

Thanks for helping! I'll take notes for next time :)
2024-03-12 16:51:42 -06:00
jack
aa33d8ba8e Fixup work_board (#23266)
* initial

* Update keyboards/work_louder/work_board/keymaps/default/keymap.c

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

---------

Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-03-12 16:31:51 -06:00
QMK Bot
df397a3bba Merge remote-tracking branch 'origin/master' into develop 2024-03-12 22:18:56 +00:00
James Young
3a3b4d155e Ares Layout Additions (#23254) 2024-03-12 15:18:19 -07:00
QMK Bot
1f26ce7a9e Merge remote-tracking branch 'origin/master' into develop 2024-03-12 22:16:54 +00:00
James Young
2121931e34 Aero 75 Hotswap: correct layout data (#23253) 2024-03-12 15:16:22 -07:00
QMK Bot
9b5eff5b01 Merge remote-tracking branch 'origin/master' into develop 2024-03-12 22:14:09 +00:00
James Young
7cbbcdc5d4 KBDfans KBD75 Layout Additions (#23234) 2024-03-12 15:13:37 -07:00
QMK Bot
a0e8e26a21 Merge remote-tracking branch 'origin/master' into develop 2024-03-12 17:28:51 +00:00
Allie
654dc267db Fix Magicforce MF17 RGB matrix (#23263) 2024-03-12 11:28:20 -06:00
QMK Bot
2756912a0d Merge remote-tracking branch 'origin/master' into develop 2024-03-12 04:28:31 +00:00
Joel Challis
ae38bdd5dc Flag LAYOUT macros still defined in .h files (#23260) 2024-03-12 15:28:02 +11:00
QMK Bot
eb1304b16c Merge remote-tracking branch 'origin/master' into develop 2024-03-10 17:40:39 +00:00
James Young
abf6504903 kb-elmo AEK II USB: correct Configurator data (#23252)
Correct the QMK Configurator / `qmk info -m` data.

[chore]
2024-03-10 17:40:11 +00:00
QMK Bot
67ba46f5c8 Merge remote-tracking branch 'origin/master' into develop 2024-03-10 11:24:45 +00:00
Nick Brassel
3e1ac7a38f Fixes for encoder abstraction. (#23195) 2024-03-10 22:24:17 +11:00
QMK Bot
95de18792f Merge remote-tracking branch 'origin/master' into develop 2024-03-10 07:04:27 +00:00
James Young
be42ea306b KBDfans KBD19x Layout Additions (#23230)
* Add layout/matrix diagram

[docs]

* Re-sort JSON `layouts` object

Moves the `LAYOUT_all` object to be first in sequence.

[refactor]

* Add `LAYOUT_ansi_split_bs`

[enhancement]

* Add `LAYOUT_iso_split_bs`

[enhancement]

* Add `LAYOUT_ansi_wkl_split_bs`

[enhancement]

* Add `LAYOUT_ansi_wkl`

[enhancement]

* Add `LAYOUT_iso_wkl_split_bs`

[enhancement]

* Add `LAYOUT_iso_wkl`

[enhancement]
2024-03-09 23:04:00 -08:00
Drashna Jaelre
c0dbe9a336 Add utility functions for Pointing Device Auto Mouse feature (#23144)
* Make is_auto_mouse_active() available globally

* Add mouse key tracker functions for auto mouse layer
2024-03-10 05:34:41 +00:00
Joel Challis
9f4a9d5826 Enable 'keyboard.json' as a build target (#22891) 2024-03-10 16:20:25 +11:00
Pablo Martínez
c5225ab500 [Feature] Some metadata on QGF/QFF files (#20101) 2024-03-10 00:29:09 +00:00
Thibaut CHARLES
729520f302 Fix keychron q1v1 led config for iso layout (#23222) 2024-03-10 00:06:58 +00:00
jotix
461eaed7aa [Keyboard] update Jotanck config(#23228) 2024-03-09 06:52:49 -08:00
QMK Bot
145a1eca1b Merge remote-tracking branch 'origin/master' into develop 2024-03-09 10:40:47 +00:00
Nick Brassel
900e79febe Attempt to deal with GCC 13+ and rv32 arch extensions. (#23086) 2024-03-09 21:40:19 +11:00
Danny
1db7ff7f18 Update BAMFK-1 (#23236)
* Bump version number so VIA doesn't choke due to reconfiguration of keys/encoders

* Move rules.mk stuff into info.json, convert RGBLIGHT TO RGB_MATRIX

* Run format-json on info.json
2024-03-09 07:39:08 +00:00
Joel Challis
bb691bed96 Fixes for idobao vendor keymaps (#23246) 2024-03-09 04:12:44 +00:00
Joel Challis
58c38175e6 Remove redundant disabling of features (#22926) 2024-03-09 03:05:07 +00:00
QMK Bot
5dfe2bc37a Merge remote-tracking branch 'origin/master' into develop 2024-03-09 01:27:01 +00:00
James Young
fec2323089 Orthograph: correct layout data (#23213)
* correct layout data

Correct the key sizes and positions in the layout data.

[chore]

* remove layout offset

Remove the dead space from the layout data.

[chore]
2024-03-09 01:26:33 +00:00
QMK Bot
42c048e08a Merge remote-tracking branch 'origin/master' into develop 2024-03-09 01:24:59 +00:00
James Young
a8991722bc Xiudi XD96 Layout Bugfixes and Touch-Up (#23242)
* Correct AliExpress Hardware Availability link in readme

Previous URL linked to a Cospad listing.

[chore]
[docs]

* Convert `info.json` to four-space indent

[style]

* Correct `LAYOUT_all` matrix data

The right half of split Backspace is actually located at [5, 9], not
[5, 3].

[bugfix]

* Correct `LAYOUT_96_iso` matrix data

Corrects the matrix positions of the ISO Hash/Tilde and ISO Enter keys
to [3, 12] and [3, 13], respectively.

[bugfix]

* Add layout/matrix diagram

[docs]

* Refactor keymaps

- remove "inline block" comments
- grid-align keycodes
- use four-space indent

[style]
2024-03-09 01:24:31 +00:00
peepeetee
acfbfe0dae Change default RGB effect for momokai keypads to solid white (#23217) 2024-03-08 13:44:26 -07:00
QMK Bot
fc0b3eec53 Merge remote-tracking branch 'origin/master' into develop 2024-03-08 19:45:01 +00:00
strayfade
62e2cb9286 [Keyboard] Add sf2040 (#23211)
Co-authored-by: jack <0x6a73@protonmail.com>
2024-03-08 11:44:32 -08:00
QMK Bot
d247c24e99 Merge remote-tracking branch 'origin/master' into develop 2024-03-08 15:41:09 +00:00
David Hoelscher
113d3d6001 [Keyboard] Add CMK11 (#23239)
* adding cmk11

* correcting default keymap

* removing rules.mk

* removing unnecessary comment
2024-03-08 08:40:32 -07:00
jack
bd1f1068f7 Fixup annepro2 (#23206)
Co-authored-by: Joel Challis <git@zvecr.com>
2024-03-08 08:27:40 -07:00
QMK Bot
86f7531173 Merge remote-tracking branch 'origin/master' into develop 2024-03-08 11:24:40 +00:00
Nick Brassel
8946aace5b Add instructions for debugging ARM with VSCode+BMP. (#11217) 2024-03-08 22:24:11 +11:00
QMK Bot
7278b01775 Merge remote-tracking branch 'origin/master' into develop 2024-03-08 10:52:08 +00:00
takashicompany
0a03fc512c [Keyboard] Add Ejectix (#23204)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-03-08 02:51:37 -08:00
QMK Bot
3ac9b80e2e Merge remote-tracking branch 'origin/master' into develop 2024-03-08 10:51:31 +00:00
Cipulot
30b0600ea2 [Keyboard] Add 60XT (#23210)
Co-authored-by: jack <0x6a73@protonmail.com>
2024-03-08 02:51:00 -08:00
Joel Challis
c48f372c87 Migrate annepro2 away from custom matrix (#23221)
* Migrate annepro2 away from custom matrix

* LTO
2024-03-06 17:02:52 +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
QMK Bot
045e5c9729 Merge remote-tracking branch 'origin/master' into develop 2024-03-05 16:59:58 +00:00
Joel Challis
a2c23e9419 Initial 'qmk test-c' functionality (#23038) 2024-03-05 16:59:30 +00:00
Joel Challis
4443fa8a32 Attempt to fix changed files on CI workflow (#23205) 2024-03-05 16:59:09 +00:00
QMK Bot
bbeb9c1ccd Merge remote-tracking branch 'origin/master' into develop 2024-03-05 11:48:57 +00:00
dependabot[bot]
7836906f3e Bump peter-evans/create-pull-request from 5 to 6 (#22995)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-05 22:48:25 +11:00
QMK Bot
d048de70db Merge remote-tracking branch 'origin/master' into develop 2024-03-04 19:43:31 +00:00
James Young
9ae4d01e33 Iron180 V2 H: correct key sizes (#23214) 2024-03-04 19:42:37 +00:00
QMK Bot
2cace5a7e9 Merge remote-tracking branch 'origin/master' into develop 2024-03-04 19:42:24 +00:00
James Young
73bddf0ea6 mntre_v3: correct layout data (#23216) 2024-03-04 19:41:55 +00:00
QMK Bot
000c1c1475 Merge remote-tracking branch 'origin/master' into develop 2024-03-04 19:40:46 +00:00
James Young
1919644934 Iron180 V2 S: correct ANSI Enter key sizes (#23215) 2024-03-04 19:40:16 +00:00
Markus Knutsson
fcf906657b [Keyboard] Add rp2040_ce option to lotus58 (#23185)
* Update keymap

Corrected OLED orientation, added autoshift status on OLED.

* Update keymap

Corrected OLED orientation, added autoshift status on OLED.

* Added make target to bottom folder

With default folder

* Update keyboards/tweetydabird/lotus58/keymaps/default/keymap.c

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Reformatted files

* Update keymap.c

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Updated name

* Added rp2040ce

* Update info.json

* Update info.json

* Added rp2040ce

* Small fix

* Update info.json

Co-authored-by: jack <0x6a73@protonmail.com>

* Update info.json

* Update info.json

* Update info.json

* Update info.json

* Update info.json

* Update info.json

* Apply suggestions from code review

Co-authored-by: jack <0x6a73@protonmail.com>

* Fixed stray char

* Apply suggestions from code review

Co-authored-by: jack <0x6a73@protonmail.com>

* Update info.json

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

* Update info.json

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

* Moved LTO

---------

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-03-03 10:37:35 -07:00
QMK Bot
73c4ca175b Merge remote-tracking branch 'origin/master' into develop 2024-03-02 18:20:47 +00:00
Joel Challis
092ef661af Workaround for uart makefile issues (#23192) 2024-03-02 18:20:18 +00:00
Ryan
569b0c70be WS2812 PWM: prefix for DMA defines (#23111)
* WS2812 PWM: prefix for DMA defines

* Add backward compatibility defines
2024-03-02 17:16:47 +00:00
QMK Bot
3bf1ce5cf8 Merge remote-tracking branch 'origin/master' into develop 2024-03-02 12:23:57 +00:00
Nick Brassel
21276de7d5 Normalise .editorconfig. (#23186) 2024-03-02 23:23:34 +11:00
Joel Challis
c060876692 Remove cd suggestion from new-keyboard (#23194) 2024-03-02 23:23:25 +11:00
QMK Bot
7fd0201a92 Merge remote-tracking branch 'origin/master' into develop 2024-03-01 21:45:21 +00:00
Nick Brassel
d5ac75385b Fix up scanning for Djinn, post-asyncUSB. (#23188) 2024-03-02 08:45:11 +11:00
Nick Brassel
1875659df0 CLI Speed improvements. (#23189) 2024-03-02 08:45:01 +11:00
Nick Brassel
8b8f73098b Fix up AVR production build target. (#23190) 2024-03-02 08:44:51 +11:00
QMK Bot
7dd57f16c3 Merge remote-tracking branch 'origin/master' into develop 2024-03-01 18:04:23 +00:00
blindassassin111
3b76a3a323 Fixing typos for OSAv2 and OSAv2_Topre (#23161)
Correcting tilde to grave, fixing a typo in ec.c, and removing some comments that were accidentally left in.
2024-03-01 18:03:56 +00:00
QMK Bot
f983b2de14 Merge remote-tracking branch 'origin/master' into develop 2024-03-01 16:18:49 +00:00
Moritz Plattner
012b101b2e geistmaschine/geist: enable mousekey, fix issues in default/via keymap (#23187) 2024-03-01 09:18:19 -07:00
jack
4e953f1169 Fixup mechlovin/octagon (#23179)
* initial

* replace led count
2024-02-28 19:13:04 -07:00
jack
b35389317e Fixup qk100 (firmware size) (#23169)
* initial

* further size reduction

and more...

remove rgb matrix effects
2024-02-28 11:50:04 -07:00
Stefan Kerkmann
0e02b0c41e [Core] Refactor ChibiOS USB endpoints to be fully async (#21656) 2024-02-28 22:00:27 +11:00
Nick Brassel
b43f6cb7ef Branch point for 2024q2 Breaking Change 2024-02-28 21:52:10 +11:00
21334 changed files with 728660 additions and 859885 deletions

View File

@@ -1,4 +1,4 @@
CompileFlags:
Add: [-Wno-unknown-attributes, -Wno-maybe-uninitialized, -Wno-unknown-warning-option]
Remove: [-W*, -mcall-prologues]
Remove: [-W*, -mmcu=*, -mcpu=*, -mfpu=*, -mfloat-abi=*, -mno-unaligned-access, -mno-thumb-interwork, -mcall-prologues]
Compiler: clang

View File

@@ -4,39 +4,40 @@
root = true
[*]
end_of_line = lf
indent_style = space
indent_size = 4
# We recommend you to keep these unchanged
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
# To match GitHub Actions formatting
[*.{yaml,yml}]
indent_size = 2
[*.md]
trim_trailing_whitespace = false
indent_size = 4
[{qmk,*.py}]
charset = utf-8
max_line_length = 200
# Make these match what we have in .gitattributes
[*.mk]
end_of_line = lf
[{Makefile,*.mk}]
indent_style = tab
[Makefile]
end_of_line = lf
indent_style = tab
[*.sh]
end_of_line = lf
# The gitattributes file will handle the line endings conversion properly according to the operating system settings for other files
# We don't have gitattributes properly for these
# So if the user have for example core.autocrlf set to true
# the line endings would be wrong.
# Don't override anything in `lib/`...
[lib/**]
indent_style = unset
indent_size = unset
tab_width = unset
end_of_line = unset
charset = unset
spelling_language = unset
trim_trailing_whitespace = unset
insert_final_newline = unset
# ...except QMK's `lib/python`.
[{*.py,lib/python/**.py}]
end_of_line = lf
indent_style = space
indent_size = 4
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 200

View File

@@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: QMK Discord
url: https://discord.gg/Uq7gcHh
url: https://discord.gg/qmk
about: Ask questions, discuss issues and features. Chill.
- name: OLKB Subreddit
url: https://www.reddit.com/r/olkb

View File

@@ -1,6 +1,5 @@
<!--- Provide a general summary of your changes in the title above. -->
<!--- This template is entirely optional and can be removed, but is here to help both you and us. -->
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->
## Description
@@ -15,7 +14,7 @@
- [ ] New feature
- [ ] Enhancement/optimization
- [ ] Keyboard (addition or update)
- [ ] Keymap/layout/userspace (addition or update)
- [ ] Keymap/layout (addition or update)
- [ ] Documentation
## Issues Fixed or Closed by This PR

82
.github/labeler.yml vendored
View File

@@ -1,46 +1,56 @@
core:
- quantum/**/*
- tmk_core/**/*
- drivers/**/*
- tests/**/*
- util/**/*
- platforms/**/*
- builddefs/**/*
- Makefile
- '*.mk'
- changed-files:
- any-glob-to-any-file:
- quantum/**
- tmk_core/**
- drivers/**
- tests/**
- util/**
- platforms/**
- builddefs/*.mk
- Makefile
- '*.mk'
dependencies:
- any:
- 'lib/**/*'
- '!lib/python/**/*'
- changed-files:
- all-globs-to-any-file:
- lib/**
- '!lib/python/**'
keyboard:
- any:
- 'keyboards/**/*'
- '!keyboards/**/keymaps/**/*'
- changed-files:
- all-globs-to-any-file:
- keyboards/**
- '!keyboards/**/keymaps/**'
keymap:
- users/**/*
- layouts/**/*
- keyboards/**/keymaps/**/*
- changed-files:
- any-glob-to-any-file:
- users/**
- layouts/**
- keyboards/**/keymaps/**
via:
- keyboards/**/keymaps/via/*
- changed-files:
- any-glob-to-any-file:
- keyboards/**/keymaps/via/*
cli:
- requirements.txt
- lib/python/**/*
- changed-files:
- any-glob-to-any-file:
- requirements.txt
- lib/python/**
python:
- '**/*.py'
- changed-files:
- any-glob-to-any-file:
- '**/*.py'
documentation:
- docs/**/*
translation:
- docs/fr-fr/**/*
- docs/es/**/*
- docs/ja/**/*
- docs/he-il/**/*
- docs/pt-br/**/*
- docs/zh-cn/**/*
- docs/de/**/*
- docs/ru-ru/**/*
- changed-files:
- any-glob-to-any-file:
- docs/**
- builddefs/docsgen/**
CI:
- .github/**/*
- changed-files:
- any-glob-to-any-file:
- .github/**
dd:
- data/constants/**/*
- data/mappings/**/*
- data/schemas/**/*
- changed-files:
- any-glob-to-any-file:
- data/constants/**
- data/mappings/**
- data/schemas/**

View File

@@ -13,8 +13,8 @@ jobs:
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: mheap/automatic-approve-action@v1
- uses: zvecr/automatic-approve-action@safe_files
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
workflows: "format.yml,lint.yml,unit_test.yml"
dangerous_files: "lib/python/,Makefile,paths.mk,builddefs/"
workflows: "labeler.yml,lint.yml,docs.yml"
safe_files: "keyboards/,docs/"

View File

@@ -0,0 +1,139 @@
name: CI Build Major Branch
permissions:
contents: read
actions: write
on:
push:
branches: [master, develop]
workflow_dispatch:
inputs:
branch:
type: choice
description: "Branch to build"
options: [master, develop]
env:
# https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#usage-limits
# We've decreased it from 20 to 15 to allow for other GHA to run unimpeded
CONCURRENT_JOBS: 15
# Ensure we only have one build running at a time, cancelling any active builds if a new commit is pushed to the respective branch
concurrency:
group: ci_build-${{ github.event.inputs.branch || github.ref_name }}
cancel-in-progress: true
jobs:
determine_concurrency:
name: "Determine concurrency"
if: github.repository == 'qmk/qmk_firmware'
runs-on: ubuntu-latest
container: ghcr.io/qmk/qmk_cli
outputs:
slice_length: ${{ steps.generate_slice_length.outputs.slice_length }}
steps:
- name: Install prerequisites
run: |
apt-get update
apt-get install -y jq
- name: Disable safe.directory check
run: |
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v4
- name: Determine concurrency
id: generate_slice_length
run: |
target_count=$( {
qmk find -km default 2>/dev/null
# qmk find -km xap 2>/dev/null
} | sort | uniq | wc -l)
slice_length=$((target_count / ($CONCURRENT_JOBS - 1))) # Err on the side of caution
echo "slice_length=$slice_length" >> $GITHUB_OUTPUT
build_targets:
name: "Compile keymap ${{ matrix.keymap }}"
needs: determine_concurrency
strategy:
fail-fast: false
matrix:
keymap: [default]
# keymap: [default, xap]
uses: ./.github/workflows/ci_build_major_branch_keymap.yml
with:
branch: ${{ inputs.branch || github.ref_name }}
keymap: ${{ matrix.keymap }}
slice_length: ${{ needs.determine_concurrency.outputs.slice_length }}
secrets: inherit
rollup_tasks:
name: "Consolidation"
needs: build_targets
runs-on: ubuntu-latest
steps:
- name: Disable safe.directory check
run: |
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download firmwares
uses: actions/download-artifact@v4
with:
pattern: firmware-*
path: .
merge-multiple: true
- name: Generate index page
run: |
python3 -m pip install -r ./util/ci/requirements.txt
./util/ci/index_generator.py > index.html
./util/ci/firmware_list_generator.py > firmware_list.json
- name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/${{ github.sha }}
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include 'firmware_list.json' --include '*.hex' --include '*.bin' --include '*.uf2'
env:
AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_QMK_FM_SPACES_SECRET }}
AWS_REGION: ${{ vars.CI_QMK_FM_SPACES_REGION }}
AWS_S3_ENDPOINT: ${{ vars.CI_QMK_FM_SPACES_ENDPOINT }}
SOURCE_DIR: .
DEST_DIR: ${{ inputs.branch || github.ref_name }}/${{ github.sha }}
- name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/latest
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include 'firmware_list.json' --include '*.hex' --include '*.bin' --include '*.uf2'
env:
AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_QMK_FM_SPACES_SECRET }}
AWS_REGION: ${{ vars.CI_QMK_FM_SPACES_REGION }}
AWS_S3_ENDPOINT: ${{ vars.CI_QMK_FM_SPACES_ENDPOINT }}
SOURCE_DIR: .
DEST_DIR: ${{ inputs.branch || github.ref_name }}/latest
- name: Check if failure marker file exists
id: check_failure_marker
uses: andstor/file-existence-action@v3
with:
files: ./.failed
- name: Fail build if needed
if: steps.check_failure_marker.outputs.files_exists == 'true'
run: |
# Exit with failure if the compilation stage failed
exit 1

View File

@@ -0,0 +1,181 @@
name: CI Build Major Branch Keymap
permissions:
contents: read
actions: write
on:
workflow_call:
inputs:
branch:
type: string
required: true
keymap:
type: string
required: true
slice_length:
type: string
required: true
jobs:
generate_targets:
name: "Generate targets (${{ inputs.keymap }})"
runs-on: ubuntu-latest
container: ghcr.io/qmk/qmk_cli
outputs:
targets: ${{ steps.generate_targets.outputs.targets }}
steps:
- name: Install prerequisites
run: |
apt-get update
apt-get install -y jq
- name: Disable safe.directory check
run: |
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v4
- name: Generate build targets
id: generate_targets
run: |
{ # Intentionally use `shuf` here so that we share manufacturers across all build groups -- some have a lot of ARM-based boards which inherently take longer
counter=0
echo -n '{'
qmk find -km ${{ inputs.keymap }} 2>/dev/null | sort | uniq | shuf | xargs -L${{ inputs.slice_length }} | while IFS=$'\n' read target ; do
if [ $counter -gt 0 ]; then
echo -n ','
fi
counter=$((counter+1))
printf "\"group %02d\":{" $counter
echo -n '"targets":"'
echo $target | tr ' ' '\n' | sort | uniq | xargs echo -n
echo -n '"}'
done
echo -n '}'
} | sed -e 's@\n@@g' > targets.json
# Output the target keys as a variable
echo "targets=$(jq -c 'keys' targets.json)" >> $GITHUB_OUTPUT
- name: Upload targets json
uses: actions/upload-artifact@v4
with:
name: targets-${{ inputs.keymap }}
path: targets.json
build_targets:
name: "Compile ${{ matrix.target }} (${{ inputs.keymap }})"
needs: generate_targets
runs-on: ubuntu-latest
container: ghcr.io/qmk/qmk_cli
continue-on-error: true
strategy:
matrix:
target: ${{ fromJson(needs.generate_targets.outputs.targets) }}
steps:
- name: Install prerequisites
run: |
apt-get update
apt-get install -y jq
- name: Disable safe.directory check
run: |
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v4
- name: Get target definitions
uses: actions/download-artifact@v4
with:
name: targets-${{ inputs.keymap }}
path: .
- name: Deploy submodules
run: |
qmk git-submodule -f
- name: Dump targets
run: |
jq -r '.["${{ matrix.target }}"].targets' targets.json | tr ' ' '\n' | sort
- name: Build targets
continue-on-error: true
run: |
export NCPUS=$(( $(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -1 ))
qmk mass-compile -t -j $NCPUS -e DUMP_CI_METADATA=yes $(jq -r '.["${{ matrix.target }}"].targets' targets.json) || touch .failed
- name: Upload binaries
uses: actions/upload-artifact@v4
with:
name: firmware-${{ inputs.keymap }}-${{ matrix.target }}
if-no-files-found: ignore
path: |
*.bin
*.hex
*.uf2
.build/failed.*
.failed
- name: Fail build if any group failed
run: |
# Exit with failure if the compilation stage failed
[ ! -f .failed ] || exit 1
repack_firmware:
if: always()
name: "Repack artifacts"
needs: build_targets
runs-on: ubuntu-latest
steps:
- name: Checkout QMK Firmware
uses: actions/checkout@v4
- name: Download firmwares
uses: actions/download-artifact@v4
with:
pattern: firmware-${{ inputs.keymap }}-*
path: .
merge-multiple: true
- name: Upload all firmwares
uses: actions/upload-artifact@v4
with:
name: firmware-${{ inputs.keymap }}
if-no-files-found: ignore
path: |
*.bin
*.hex
*.uf2
.build/failed.*
.failed
- name: Generate output logs
run: |
# Generate the step summary markdown
./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true
# Truncate to a maximum of 1MB to deal with GitHub workflow limit
truncate --size='<960K' $GITHUB_STEP_SUMMARY || true
- name: Delete temporary build artifacts
uses: geekyeggo/delete-artifact@v5
with:
name: |
firmware-${{ inputs.keymap }}-*
targets-${{ inputs.keymap }}
- name: 'CI Discord Notification'
if: always() && !cancelled()
working-directory: util/ci/
env:
DISCORD_WEBHOOK: ${{ secrets.CI_DISCORD_WEBHOOK }}
run: |
python3 -m pip install -r requirements.txt
python3 ./discord-results.py --branch ${{ inputs.branch || github.ref_name }} --sha $(git rev-parse HEAD) --keymap ${{ inputs.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}

View File

@@ -1,74 +0,0 @@
name: CI Builds
permissions:
contents: read
on:
push:
branches: [master, develop]
workflow_dispatch:
inputs:
branch:
type: choice
description: 'Branch to build'
options: [master, develop]
concurrency: ci_build-${{ github.event.inputs.branch || github.ref_name }}
jobs:
ci_builds:
if: github.repository == 'qmk/qmk_firmware'
name: "CI Build"
runs-on: self-hosted
timeout-minutes: 1380
strategy:
fail-fast: false
matrix:
keymap: [default, via]
container: ghcr.io/qmk/qmk_cli
steps:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v4
with:
submodules: recursive
ref: ${{ github.event.inputs.branch || github.ref }}
- name: Install dependencies
run: pip3 install -r requirements.txt
- name: Run `qmk mass-compile` (keymap ${{ matrix.keymap }})
run: |
export NCPUS=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null)
qmk mass-compile -t -j $NCPUS -km ${{ matrix.keymap }} -e DUMP_CI_METADATA=yes || touch .failed
# Generate the step summary markdown
./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true
# Truncate to a maximum of 1MB to deal with GitHub workflow limit
truncate --size='<960K' $GITHUB_STEP_SUMMARY || true
# Exit with failure if the compilation stage failed
[ ! -f .failed ] || exit 1
- name: 'Upload artifacts'
uses: actions/upload-artifact@v4
if: always()
with:
name: artifacts-${{ github.event.inputs.branch || github.ref_name }}-${{ matrix.keymap }}
if-no-files-found: ignore
path: |
*.bin
*.hex
*.uf2
.build/failed.*
- name: 'CI Discord Notification'
if: always()
working-directory: util/ci/
env:
DISCORD_WEBHOOK: ${{ secrets.CI_DISCORD_WEBHOOK }}
run: |
python3 -m pip install -r requirements.txt
python3 ./discord-results.py --branch ${{ github.event.inputs.branch || github.ref_name }} --keymap ${{ matrix.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}

View File

@@ -8,20 +8,27 @@ on:
branches:
- master
paths:
- 'builddefs/docsgen/**'
- 'tmk_core/**'
- 'quantum/**'
- 'platforms/**'
- 'docs/**'
- '.github/workflows/docs.yml'
pull_request:
paths:
- 'builddefs/docsgen/**'
- 'docs/**'
- '.github/workflows/docs.yml'
defaults:
run:
shell: bash
jobs:
generate:
runs-on: ubuntu-latest
container: ghcr.io/qmk/qmk_cli
# protect against those who develop with their fork on master
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: actions/checkout@v4
with:
@@ -29,18 +36,30 @@ jobs:
- name: Install dependencies
run: |
apt-get update && apt-get install -y rsync nodejs npm doxygen
npm install -g moxygen
apt-get update && apt-get install -y rsync doxygen
# install nvm
touch $HOME/.bashrc
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
- name: Install node
run: |
source $HOME/.bashrc
nvm install 20
nvm use 20
corepack enable
- name: Build docs
run: |
source $HOME/.bashrc
nvm use 20
qmk --verbose generate-docs
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4.5.0
if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }}
uses: JamesIves/github-pages-deploy-action@v4.6.8
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BASE_BRANCH: master
BRANCH: gh-pages
FOLDER: .build/docs
GIT_CONFIG_EMAIL: hello@qmk.fm
token: ${{ secrets.GITHUB_TOKEN }}
branch: gh-pages
folder: .build/docs
git-config-name: QMK Bot
git-config-email: hello@qmk.fm

View File

@@ -35,7 +35,9 @@ jobs:
- name: Get changed files
id: file_changes
uses: tj-actions/changed-files@v42
uses: tj-actions/changed-files@v45
with:
use_rest_api: true
- name: Run qmk formatters
shell: 'bash {0}'

View File

@@ -47,7 +47,7 @@ jobs:
git config user.email 'hello@qmk.fm'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
uses: peter-evans/create-pull-request@v7
if: ${{ github.repository == 'qmk/qmk_firmware'}}
with:
token: ${{ secrets.QMK_BOT_TOKEN }}

View File

@@ -1,18 +1,13 @@
name: "Pull Request Labeler"
permissions:
contents: read
pull-requests: write
on:
pull_request_target:
types: [opened, synchronize, reopened, ready_for_review, locked]
- pull_request_target
jobs:
triage:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: '.github/labeler.yml'
- uses: actions/labeler@v5

View File

@@ -27,7 +27,9 @@ jobs:
- name: Get changed files
id: file_changes
uses: tj-actions/changed-files@v42
uses: tj-actions/changed-files@v45
with:
use_rest_api: true
- name: Print info
run: |
@@ -62,10 +64,12 @@ jobs:
qmk format-text ${{ steps.file_changes.outputs.all_changed_files}} || true
for file in ${{ steps.file_changes.outputs.all_changed_files}}; do
if ! git diff --quiet $file; then
echo "File '${file}' Requires Formatting"
echo "::error file=${file}::Requires Formatting"
exit_code=$(($exit_code + 1))
if [[ -f $file ]]; then
if ! git diff --quiet $file; then
echo "File '${file}' Requires Formatting"
echo "::error file=${file}::Requires Formatting"
exit_code=$(($exit_code + 1))
fi
fi
done

View File

@@ -34,7 +34,7 @@ jobs:
git config user.email 'hello@qmk.fm'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
uses: peter-evans/create-pull-request@v7
if: ${{ github.repository == 'qmk/qmk_firmware'}}
with:
token: ${{ secrets.QMK_BOT_TOKEN }}

View File

@@ -32,4 +32,4 @@ jobs:
- name: Install dependencies
run: pip3 install -r requirements-dev.txt
- name: Run tests
run: make test:all
run: qmk test-c

4
.gitignore vendored
View File

@@ -25,6 +25,8 @@
*.la
*.stackdump
*.sym
index.html
firmware_list.json
# QMK-specific
api_data/v1
@@ -37,6 +39,7 @@ quantum/version.h
# DD config at wrong location
/keyboards/**/keymaps/*/info.json
/keyboards/**/keymaps/*/keyboard.json
# Old-style QMK Makefiles
/keyboards/**/Makefile
@@ -115,4 +118,5 @@ compile_commands.json
# VIA(L) files that don't belong in QMK repo
via*.json
/keyboards/**/keymaps/via/*
/keyboards/**/keymaps/vial/*

View File

@@ -21,7 +21,7 @@ DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "QMK Firmware"
PROJECT_NUMBER = https://github.com/qmk/qmk_firmware
PROJECT_BRIEF = "Keyboard controller firmware for Atmel AVR and ARM USB families"
OUTPUT_DIRECTORY = .build/doxygen
OUTPUT_DIRECTORY = .build/docs/static/doxygen
ALLOW_UNICODE_NAMES = NO
OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES
@@ -40,8 +40,8 @@ ABBREVIATE_BRIEF = "The $name class" \
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
QT_AUTOBRIEF = NO
@@ -49,13 +49,13 @@ MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 4
ALIASES =
TCL_SUBST =
ALIASES =
TCL_SUBST =
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
EXTENSION_MAPPING =
EXTENSION_MAPPING =
MARKDOWN_SUPPORT = YES
TOC_INCLUDE_HEADINGS = 2
AUTOLINK_SUPPORT = YES
@@ -104,14 +104,14 @@ GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_FILES = YES
SHOW_NAMESPACES = YES
FILE_VERSION_FILTER =
LAYOUT_FILE =
CITE_BIB_FILES =
FILE_VERSION_FILTER =
LAYOUT_FILE =
CITE_BIB_FILES =
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
@@ -124,7 +124,7 @@ WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_AS_ERROR = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
WARN_LOGFILE =
#---------------------------------------------------------------------------
# Configuration options related to the input files
@@ -143,19 +143,19 @@ FILE_PATTERNS = *.c \
*.hpp \
*.h++
RECURSIVE = YES
EXCLUDE =
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = */protocol/arm_atsam/*
EXCLUDE_SYMBOLS =
EXAMPLE_PATH =
EXCLUDE_SYMBOLS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE =
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE =
#---------------------------------------------------------------------------
# Configuration options related to source browsing
@@ -177,7 +177,7 @@ VERBATIM_HEADERS = YES
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to disabled outputs
@@ -207,18 +207,18 @@ ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = __DOXYGEN__ PROGMEM
EXPAND_AS_DEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration options related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
EXTERNAL_PAGES = YES
@@ -229,14 +229,14 @@ PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
MSCGEN_PATH =
DIA_PATH =
MSCGEN_PATH =
DIA_PATH =
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = NO
DOT_NUM_THREADS = 0
DOT_FONTNAME = Helvetica
DOT_FONTSIZE = 10
DOT_FONTPATH =
DOT_FONTPATH =
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
@@ -251,13 +251,13 @@ GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
INTERACTIVE_SVG = NO
DOT_PATH =
DOTFILE_DIRS =
MSCFILE_DIRS =
DIAFILE_DIRS =
PLANTUML_JAR_PATH =
PLANTUML_CFG_FILE =
PLANTUML_INCLUDE_PATH =
DOT_PATH =
DOTFILE_DIRS =
MSCFILE_DIRS =
DIAFILE_DIRS =
PLANTUML_JAR_PATH =
PLANTUML_CFG_FILE =
PLANTUML_INCLUDE_PATH =
DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO

View File

@@ -465,3 +465,18 @@ distclean_userspace: clean
rm -f $(QMK_USERSPACE)/*.bin $(QMK_USERSPACE)/*.hex $(QMK_USERSPACE)/*.uf2
echo 'done.'
endif
# Extra targets for formatting and/or pytest, running within the qmk/qmk_cli container to match GHA.
CONTAINER_PREAMBLE := export HOME="/tmp"; export PATH="/tmp/.local/bin:\$$PATH"; python3 -m pip install --upgrade pip; python3 -m pip install -r requirements-dev.txt
.PHONY: format-core
format-core:
RUNTIME=docker ./util/docker_cmd.sh bash -lic "$(CONTAINER_PREAMBLE); qmk format-c --core-only -a && qmk format-python -a"
.PHONY: pytest
pytest:
RUNTIME=docker ./util/docker_cmd.sh bash -lic "$(CONTAINER_PREAMBLE); qmk pytest"
.PHONY: format-and-pytest
format-and-pytest:
RUNTIME=docker ./util/docker_cmd.sh bash -lic "$(CONTAINER_PREAMBLE); qmk format-c --core-only -a && qmk format-python -a && qmk pytest"

View File

@@ -34,10 +34,13 @@ ifeq ($(strip $(DUMP_CI_METADATA)),yes)
endif
# Force expansion
TARGET := $(TARGET)
override TARGET := $(TARGET)
ifneq ($(FORCE_LAYOUT),)
TARGET := $(TARGET)_$(FORCE_LAYOUT)
override TARGET := $(TARGET)_$(FORCE_LAYOUT)
endif
ifneq ($(CONVERT_TO),)
override TARGET := $(TARGET)_$(CONVERT_TO)
endif
# Object files and generated keymap directory
@@ -58,9 +61,6 @@ ifdef SKIP_GIT
VERSION_H_FLAGS += --skip-git
endif
# Generate the board's version.h file.
$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o $(INTERMEDIATE_OUTPUT)/src/version.h)
# Determine which subfolders exist.
KEYBOARD_FOLDER_PATH_1 := $(KEYBOARD)
KEYBOARD_FOLDER_PATH_2 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_1)))
@@ -119,7 +119,7 @@ MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP)
# Pull in rules from info.json
# Pull in rules from DD keyboard config
INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(INTERMEDIATE_OUTPUT)/src/info_rules.mk)
include $(INFO_RULES_MK)
@@ -212,16 +212,24 @@ $(INTERMEDIATE_OUTPUT)/src/config.h: $(KEYMAP_JSON)
$(eval CMD=$(QMK_BIN) generate-config-h --quiet --output $(KEYMAP_H) $(KEYMAP_JSON))
@$(BUILD_CMD)
generated-files: $(INTERMEDIATE_OUTPUT)/src/config.h $(INTERMEDIATE_OUTPUT)/src/keymap.c
$(INTERMEDIATE_OUTPUT)/src/keymap.h: $(KEYMAP_JSON)
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
$(eval CMD=$(QMK_BIN) generate-keymap-h --quiet --output $(INTERMEDIATE_OUTPUT)/src/keymap.h $(KEYMAP_JSON))
@$(BUILD_CMD)
generated-files: $(INTERMEDIATE_OUTPUT)/src/config.h $(INTERMEDIATE_OUTPUT)/src/keymap.c $(INTERMEDIATE_OUTPUT)/src/keymap.h
endif
include $(BUILDDEFS_PATH)/converters.mk
# Generate the board's version.h file.
$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o $(INTERMEDIATE_OUTPUT)/src/version.h)
MCU_ORIG := $(MCU)
include $(wildcard $(PLATFORM_PATH)/*/mcu_selection.mk)
# PLATFORM_KEY should be detected in info.json via key 'processor' (or rules.mk 'MCU')
# PLATFORM_KEY should be detected in DD keyboard config via key 'processor' (or rules.mk 'MCU')
ifeq ($(PLATFORM_KEY),)
$(call CATASTROPHIC_ERROR,Platform not defined)
endif
@@ -335,38 +343,54 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_config.h)","")
POST_CONFIG_H += $(KEYBOARD_PATH_5)/post_config.h
endif
# Pull in stuff from info.json
INFO_JSON_FILES :=
# Create dependencies on DD keyboard config - structure validated elsewhere
DD_CONFIG_FILES :=
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_1)/info.json
DD_CONFIG_FILES += $(KEYBOARD_PATH_1)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_2)/info.json
DD_CONFIG_FILES += $(KEYBOARD_PATH_2)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_3)/info.json
DD_CONFIG_FILES += $(KEYBOARD_PATH_3)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_4)/info.json
DD_CONFIG_FILES += $(KEYBOARD_PATH_4)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_5)/info.json
DD_CONFIG_FILES += $(KEYBOARD_PATH_5)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/keyboard.json)","")
DD_CONFIG_FILES += $(KEYBOARD_PATH_1)/keyboard.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/keyboard.json)","")
DD_CONFIG_FILES += $(KEYBOARD_PATH_2)/keyboard.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/keyboard.json)","")
DD_CONFIG_FILES += $(KEYBOARD_PATH_3)/keyboard.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/keyboard.json)","")
DD_CONFIG_FILES += $(KEYBOARD_PATH_4)/keyboard.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/keyboard.json)","")
DD_CONFIG_FILES += $(KEYBOARD_PATH_5)/keyboard.json
endif
CONFIG_H += $(INTERMEDIATE_OUTPUT)/src/info_config.h
KEYBOARD_SRC += $(INTERMEDIATE_OUTPUT)/src/default_keyboard.c
$(INTERMEDIATE_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES)
$(INTERMEDIATE_OUTPUT)/src/info_config.h: $(DD_CONFIG_FILES)
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
$(eval CMD=$(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --output $(INTERMEDIATE_OUTPUT)/src/info_config.h)
@$(BUILD_CMD)
$(INTERMEDIATE_OUTPUT)/src/default_keyboard.c: $(INFO_JSON_FILES)
$(INTERMEDIATE_OUTPUT)/src/default_keyboard.c: $(DD_CONFIG_FILES)
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
$(eval CMD=$(QMK_BIN) generate-keyboard-c --quiet --keyboard $(KEYBOARD) --output $(INTERMEDIATE_OUTPUT)/src/default_keyboard.c)
@$(BUILD_CMD)
$(INTERMEDIATE_OUTPUT)/src/default_keyboard.h: $(INFO_JSON_FILES)
$(INTERMEDIATE_OUTPUT)/src/default_keyboard.h: $(DD_CONFIG_FILES)
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
$(eval CMD=$(QMK_BIN) generate-keyboard-h --quiet --keyboard $(KEYBOARD) --include $(FOUND_KEYBOARD_H) --output $(INTERMEDIATE_OUTPUT)/src/default_keyboard.h)
@$(BUILD_CMD)
@@ -505,22 +529,14 @@ ifeq ($(strip $(KEEP_INTERMEDIATES)), yes)
OPT_DEFS += -save-temps=obj
endif
# TODO: remove this bodge?
PROJECT_DEFS := $(OPT_DEFS)
PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS)
PROJECT_CONFIG := $(CONFIG_H)
CONFIG_H += $(POST_CONFIG_H)
ALL_CONFIGS := $(PROJECT_CONFIG) $(CONFIG_H)
OUTPUTS := $(INTERMEDIATE_OUTPUT)
$(INTERMEDIATE_OUTPUT)_SRC := $(SRC) $(PLATFORM_SRC)
$(INTERMEDIATE_OUTPUT)_DEFS := $(OPT_DEFS) \
$(INTERMEDIATE_OUTPUT)_DEFS := \
-DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(INTERMEDIATE_OUTPUT)/src/default_keyboard.h\" \
-DQMK_KEYMAP=\"$(KEYMAP)\" -DQMK_KEYMAP_H=\"$(KEYMAP).h\" -DQMK_KEYMAP_CONFIG_H=\"$(KEYMAP_PATH)/config.h\" \
$(PROJECT_DEFS)
$(INTERMEDIATE_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS) $(PROJECT_INC)
$(INTERMEDIATE_OUTPUT)_CONFIG := $(CONFIG_H) $(PROJECT_CONFIG)
$(OPT_DEFS)
$(INTERMEDIATE_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS)
$(INTERMEDIATE_OUTPUT)_CONFIG := $(CONFIG_H) $(POST_CONFIG_H)
# Default target.
all: build check-size

View File

@@ -47,7 +47,8 @@ PLATFORM:=TEST
PLATFORM_KEY:=test
BOOTLOADER_TYPE:=none
ifeq ($(strip $(DEBUG)), 1)
DEBUG ?= 0
ifneq ($(strip $(DEBUG)), 0)
CONSOLE_ENABLE = yes
endif

View File

@@ -282,18 +282,17 @@ ifneq ($(strip $(WEAR_LEVELING_DRIVER)),none)
endif
endif
VALID_FLASH_DRIVER_TYPES := spi
VALID_FLASH_DRIVER_TYPES := spi custom
FLASH_DRIVER ?= none
ifneq ($(strip $(FLASH_DRIVER)), none)
ifeq ($(filter $(FLASH_DRIVER),$(VALID_FLASH_DRIVER_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid FLASH_DRIVER,FLASH_DRIVER="$(FLASH_DRIVER)" is not a valid flash driver)
else
OPT_DEFS += -DFLASH_ENABLE
OPT_DEFS += -DFLASH_ENABLE -DFLASH_DRIVER -DFLASH_DRIVER_$(strip $(shell echo $(FLASH_DRIVER) | tr '[:lower:]' '[:upper:]'))
COMMON_VPATH += $(DRIVER_PATH)/flash
ifeq ($(strip $(FLASH_DRIVER)),spi)
SPI_DRIVER_REQUIRED = yes
OPT_DEFS += -DFLASH_DRIVER -DFLASH_SPI
COMMON_VPATH += $(DRIVER_PATH)/flash
SRC += flash_spi.c
SPI_DRIVER_REQUIRED = yes
endif
endif
endif
@@ -340,7 +339,7 @@ LED_MATRIX_DRIVER := snled27351
endif
LED_MATRIX_ENABLE ?= no
VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 custom
VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3236 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 custom
ifeq ($(strip $(LED_MATRIX_ENABLE)), yes)
ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),)
@@ -353,7 +352,7 @@ ifeq ($(strip $(LED_MATRIX_ENABLE)), yes)
COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations
COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations/runners
POST_CONFIG_H += $(QUANTUM_DIR)/led_matrix/post_config.h
SRC += $(QUANTUM_DIR)/process_keycode/process_backlight.c
SRC += $(QUANTUM_DIR)/process_keycode/process_led_matrix.c
SRC += $(QUANTUM_DIR)/led_matrix/led_matrix.c
SRC += $(QUANTUM_DIR)/led_matrix/led_matrix_drivers.c
LIB8TION_ENABLE := yes
@@ -365,6 +364,12 @@ ifeq ($(strip $(LED_MATRIX_ENABLE)), yes)
SRC += is31fl3218-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3236)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3236-mono.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3729)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
@@ -443,7 +448,7 @@ endif
RGB_MATRIX_ENABLE ?= no
VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 ws2812 custom
VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3236 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 ws2812 custom
ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type)
@@ -474,6 +479,12 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
SRC += is31fl3218.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3236)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3236.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3729)
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi

View File

@@ -5,8 +5,10 @@ ifneq ($(findstring yes, $(CTPC)$(CONVERT_TO_PROTON_C)),)
$(call CATASTROPHIC_ERROR,The `CONVERT_TO_PROTON_C` and `CTPC` options are now deprecated. `CONVERT_TO=proton_c` should be used instead.)
endif
# TODO: opt in rather than assume everything uses a pro micro
PIN_COMPATIBLE ?= promicro
ifneq (,$(filter $(MCU),atmega32u4))
# TODO: opt in rather than assume everything uses a pro micro
PIN_COMPATIBLE ?= promicro
endif
# Remove whitespace from any rule.mk provided vars
# - env cannot be overwritten but cannot have whitespace anyway
@@ -16,6 +18,10 @@ ifneq ($(CONVERT_TO),)
# stash so we can overwrite env provided vars if needed
ACTIVE_CONVERTER=$(CONVERT_TO)
ifeq ($(PIN_COMPATIBLE),)
$(call CATASTROPHIC_ERROR,Converting to '$(CONVERT_TO)' not possible!)
endif
# glob to search each platfrorm and/or check for valid converter
CONVERTER := $(wildcard $(PLATFORM_PATH)/*/converters/$(PIN_COMPATIBLE)_to_$(CONVERT_TO)/)
ifeq ($(CONVERTER),)
@@ -26,9 +32,6 @@ ifneq ($(CONVERT_TO),)
PLATFORM_KEY = $(shell echo $(CONVERTER) | cut -d "/" -f2)
# force setting as value can be from environment
override TARGET := $(TARGET)_$(CONVERT_TO)
# Configure any defaults
OPT_DEFS += -DCONVERT_TO_$(shell echo $(CONVERT_TO) | tr '[:lower:]' '[:upper:]')
OPT_DEFS += -DCONVERTER_TARGET=\"$(CONVERT_TO)\"

5
builddefs/docsgen/.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
node_modules
.vitepress/cache
.vitepress/.temp
.vitepress/dist
docs

View File

@@ -0,0 +1,51 @@
import { defineConfig } from "vitepress";
import { tabsMarkdownPlugin } from "vitepress-plugin-tabs";
import sidebar from "../../../docs/_sidebar.json";
// https://vitepress.dev/reference/site-config
export default defineConfig(({ mode }) => {
const prod = mode === "production";
return {
title: "QMK Firmware",
description: "Documentation for QMK Firmware",
srcDir: prod ? "docs" : "../../docs",
outDir: "../../.build/docs",
cleanUrls: true,
markdown: {
config(md) {
md.use(tabsMarkdownPlugin);
},
},
vite: {
resolve: {
preserveSymlinks: true,
},
},
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
logo: {
light: "/qmk-logo-light.svg",
dark: "/qmk-logo-dark.svg",
},
title: 'QMK Firmware',
nav: [{ text: "Home", link: "/" }],
search: {
provider: "local",
},
sidebar: sidebar,
socialLinks: [
{ icon: { svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="50px" height="50px"><path d="M 29 3 C 28.0625 3 27.164063 3.382813 26.5 4 C 25.835938 4.617188 25.363281 5.433594 25 6.40625 C 24.355469 8.140625 24.085938 10.394531 24.03125 13.03125 C 19.234375 13.179688 14.820313 14.421875 11.28125 16.46875 C 10.214844 15.46875 8.855469 14.96875 7.5 14.96875 C 6.089844 14.96875 4.675781 15.511719 3.59375 16.59375 C 1.425781 18.761719 1.425781 22.238281 3.59375 24.40625 L 3.84375 24.65625 C 3.3125 26.035156 3 27.488281 3 29 C 3 33.527344 5.566406 37.585938 9.5625 40.4375 C 13.558594 43.289063 19.007813 45 25 45 C 30.992188 45 36.441406 43.289063 40.4375 40.4375 C 44.433594 37.585938 47 33.527344 47 29 C 47 27.488281 46.6875 26.035156 46.15625 24.65625 L 46.40625 24.40625 C 48.574219 22.238281 48.574219 18.761719 46.40625 16.59375 C 45.324219 15.511719 43.910156 14.96875 42.5 14.96875 C 41.144531 14.96875 39.785156 15.46875 38.71875 16.46875 C 35.195313 14.433594 30.800781 13.191406 26.03125 13.03125 C 26.09375 10.546875 26.363281 8.46875 26.875 7.09375 C 27.164063 6.316406 27.527344 5.757813 27.875 5.4375 C 28.222656 5.117188 28.539063 5 29 5 C 29.460938 5 29.683594 5.125 30.03125 5.40625 C 30.378906 5.6875 30.785156 6.148438 31.3125 6.6875 C 32.253906 7.652344 33.695313 8.714844 36.09375 8.9375 C 36.539063 11.238281 38.574219 13 41 13 C 43.75 13 46 10.75 46 8 C 46 5.25 43.75 3 41 3 C 38.605469 3 36.574219 4.710938 36.09375 6.96875 C 34.3125 6.796875 33.527344 6.109375 32.75 5.3125 C 32.300781 4.851563 31.886719 4.3125 31.3125 3.84375 C 30.738281 3.375 29.9375 3 29 3 Z M 41 5 C 42.667969 5 44 6.332031 44 8 C 44 9.667969 42.667969 11 41 11 C 39.332031 11 38 9.667969 38 8 C 38 6.332031 39.332031 5 41 5 Z M 25 15 C 30.609375 15 35.675781 16.613281 39.28125 19.1875 C 42.886719 21.761719 45 25.226563 45 29 C 45 32.773438 42.886719 36.238281 39.28125 38.8125 C 35.675781 41.386719 30.609375 43 25 43 C 19.390625 43 14.324219 41.386719 10.71875 38.8125 C 7.113281 36.238281 5 32.773438 5 29 C 5 25.226563 7.113281 21.761719 10.71875 19.1875 C 14.324219 16.613281 19.390625 15 25 15 Z M 7.5 16.9375 C 8.203125 16.9375 8.914063 17.148438 9.53125 17.59375 C 7.527344 19.03125 5.886719 20.769531 4.75 22.71875 C 3.582031 21.296875 3.660156 19.339844 5 18 C 5.714844 17.285156 6.609375 16.9375 7.5 16.9375 Z M 42.5 16.9375 C 43.390625 16.9375 44.285156 17.285156 45 18 C 46.339844 19.339844 46.417969 21.296875 45.25 22.71875 C 44.113281 20.769531 42.472656 19.03125 40.46875 17.59375 C 41.085938 17.148438 41.796875 16.9375 42.5 16.9375 Z M 17 22 C 14.800781 22 13 23.800781 13 26 C 13 28.199219 14.800781 30 17 30 C 19.199219 30 21 28.199219 21 26 C 21 23.800781 19.199219 22 17 22 Z M 33 22 C 30.800781 22 29 23.800781 29 26 C 29 28.199219 30.800781 30 33 30 C 35.199219 30 37 28.199219 37 26 C 37 23.800781 35.199219 22 33 22 Z M 17 24 C 18.117188 24 19 24.882813 19 26 C 19 27.117188 18.117188 28 17 28 C 15.882813 28 15 27.117188 15 26 C 15 24.882813 15.882813 24 17 24 Z M 33 24 C 34.117188 24 35 24.882813 35 26 C 35 27.117188 34.117188 28 33 28 C 31.882813 28 31 27.117188 31 26 C 31 24.882813 31.882813 24 33 24 Z M 34.15625 33.84375 C 34.101563 33.851563 34.050781 33.859375 34 33.875 C 33.683594 33.9375 33.417969 34.144531 33.28125 34.4375 C 33.28125 34.4375 32.757813 35.164063 31.4375 36 C 30.117188 36.835938 28.058594 37.6875 25 37.6875 C 21.941406 37.6875 19.882813 36.835938 18.5625 36 C 17.242188 35.164063 16.71875 34.4375 16.71875 34.4375 C 16.492188 34.082031 16.066406 33.90625 15.65625 34 C 15.332031 34.082031 15.070313 34.316406 14.957031 34.632813 C 14.84375 34.945313 14.894531 35.292969 15.09375 35.5625 C 15.09375 35.5625 15.863281 36.671875 17.46875 37.6875 C 19.074219 38.703125 21.558594 39.6875 25 39.6875 C 28.441406 39.6875 30.925781 38.703125 32.53125 37.6875 C 34.136719 36.671875 34.90625 35.5625 34.90625 35.5625 C 35.207031 35.273438 35.296875 34.824219 35.128906 34.441406 C 34.960938 34.058594 34.574219 33.820313 34.15625 33.84375 Z"/></svg>' }, link: "https://reddit.com/r/olkb" },
{ icon: "discord", link: "https://discord.gg/qmk" },
{ icon: "github", link: "https://github.com/qmk/qmk_firmware" },
],
}
};
});

View File

@@ -0,0 +1,29 @@
<script setup>
import DefaultTheme from 'vitepress/theme'
import { useRouter } from 'vitepress'
import { onBeforeMount } from 'vue';
import aliases from "../../../../docs/_aliases.json";
const router = useRouter()
onBeforeMount(async () => {
// Convert from docsify-style to vitepress-style URLs
let newUrl = window.location.href.replace(/\/#\//, '/').replace(/\?id=/, '#');
// Convert any aliases
let testUrl = new URL(newUrl);
while (testUrl.pathname in aliases) {
testUrl.pathname = aliases[testUrl.pathname];
}
newUrl = testUrl.toString();
// Redirect if required
if (newUrl != window.location.href) {
window.history.replaceState({}, '', newUrl);
await router.go(newUrl);
}
});
</script>
<template>
<DefaultTheme.Layout/>
</template>

View File

@@ -0,0 +1,19 @@
/* Override <kbd> as vitepress doesn't put them with borders */
kbd {
border: 1px solid var(--vp-c-text-1);
border-radius: 5px;
margin: 0.2em;
padding: 0.2em;
}
:root {
--vp-nav-logo-height: 32px;
--vp-layout-max-width: calc(98% + 64px);
--vp-sidebar-width: 300px;
}
.VPDoc.has-aside .content-container {
max-width: unset !important;
}

View File

@@ -0,0 +1,13 @@
import type { Theme } from 'vitepress'
import DefaultTheme from 'vitepress/theme'
import { enhanceAppWithTabs } from 'vitepress-plugin-tabs/client'
import QMKLayout from './QMKLayout.vue'
import './custom.css'
export default {
extends: DefaultTheme,
Layout: QMKLayout,
enhanceApp({ app }) {
enhanceAppWithTabs(app)
}
} satisfies Theme

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
cd "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"
yarn install
[[ -e docs ]] || ln -sf ../../docs docs
DEBUG='vitepress:*,vite:*' yarn run docs:build

View File

@@ -0,0 +1,14 @@
{
"license": "GPL-2.0-or-later",
"devDependencies": {
"vite": "^5.2.14",
"vitepress": "^1.1.0",
"vitepress-plugin-tabs": "^0.5.0",
"vue": "^3.4.24"
},
"scripts": {
"docs:dev": "vitepress dev --host 0.0.0.0",
"docs:build": "vitepress build",
"docs:preview": "vitepress preview --host 0.0.0.0"
}
}

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
cd "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"
yarn install
DEBUG='vitepress:*,vite:*' yarn run docs:dev

797
builddefs/docsgen/yarn.lock Normal file
View File

@@ -0,0 +1,797 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@algolia/autocomplete-core@1.9.3":
version "1.9.3"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz#1d56482a768c33aae0868c8533049e02e8961be7"
integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==
dependencies:
"@algolia/autocomplete-plugin-algolia-insights" "1.9.3"
"@algolia/autocomplete-shared" "1.9.3"
"@algolia/autocomplete-plugin-algolia-insights@1.9.3":
version "1.9.3"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz#9b7f8641052c8ead6d66c1623d444cbe19dde587"
integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==
dependencies:
"@algolia/autocomplete-shared" "1.9.3"
"@algolia/autocomplete-preset-algolia@1.9.3":
version "1.9.3"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz#64cca4a4304cfcad2cf730e83067e0c1b2f485da"
integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==
dependencies:
"@algolia/autocomplete-shared" "1.9.3"
"@algolia/autocomplete-shared@1.9.3":
version "1.9.3"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa"
integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==
"@algolia/cache-browser-local-storage@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz#0cc26b96085e1115dac5fcb9d826651ba57faabc"
integrity sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==
dependencies:
"@algolia/cache-common" "4.23.3"
"@algolia/cache-common@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.23.3.tgz#3bec79092d512a96c9bfbdeec7cff4ad36367166"
integrity sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==
"@algolia/cache-in-memory@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz#3945f87cd21ffa2bec23890c85305b6b11192423"
integrity sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==
dependencies:
"@algolia/cache-common" "4.23.3"
"@algolia/client-account@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.23.3.tgz#8751bbf636e6741c95e7c778488dee3ee430ac6f"
integrity sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==
dependencies:
"@algolia/client-common" "4.23.3"
"@algolia/client-search" "4.23.3"
"@algolia/transporter" "4.23.3"
"@algolia/client-analytics@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.23.3.tgz#f88710885278fe6fb6964384af59004a5a6f161d"
integrity sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==
dependencies:
"@algolia/client-common" "4.23.3"
"@algolia/client-search" "4.23.3"
"@algolia/requester-common" "4.23.3"
"@algolia/transporter" "4.23.3"
"@algolia/client-common@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.23.3.tgz#891116aa0db75055a7ecc107649f7f0965774704"
integrity sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==
dependencies:
"@algolia/requester-common" "4.23.3"
"@algolia/transporter" "4.23.3"
"@algolia/client-personalization@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.23.3.tgz#35fa8e5699b0295fbc400a8eb211dc711e5909db"
integrity sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==
dependencies:
"@algolia/client-common" "4.23.3"
"@algolia/requester-common" "4.23.3"
"@algolia/transporter" "4.23.3"
"@algolia/client-search@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.23.3.tgz#a3486e6af13a231ec4ab43a915a1f318787b937f"
integrity sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==
dependencies:
"@algolia/client-common" "4.23.3"
"@algolia/requester-common" "4.23.3"
"@algolia/transporter" "4.23.3"
"@algolia/logger-common@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.23.3.tgz#35c6d833cbf41e853a4f36ba37c6e5864920bfe9"
integrity sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==
"@algolia/logger-console@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.23.3.tgz#30f916781826c4db5f51fcd9a8a264a06e136985"
integrity sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==
dependencies:
"@algolia/logger-common" "4.23.3"
"@algolia/recommend@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-4.23.3.tgz#53d4f194d22d9c72dc05f3f7514c5878f87c5890"
integrity sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==
dependencies:
"@algolia/cache-browser-local-storage" "4.23.3"
"@algolia/cache-common" "4.23.3"
"@algolia/cache-in-memory" "4.23.3"
"@algolia/client-common" "4.23.3"
"@algolia/client-search" "4.23.3"
"@algolia/logger-common" "4.23.3"
"@algolia/logger-console" "4.23.3"
"@algolia/requester-browser-xhr" "4.23.3"
"@algolia/requester-common" "4.23.3"
"@algolia/requester-node-http" "4.23.3"
"@algolia/transporter" "4.23.3"
"@algolia/requester-browser-xhr@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz#9e47e76f60d540acc8b27b4ebc7a80d1b41938b9"
integrity sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==
dependencies:
"@algolia/requester-common" "4.23.3"
"@algolia/requester-common@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.23.3.tgz#7dbae896e41adfaaf1d1fa5f317f83a99afb04b3"
integrity sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==
"@algolia/requester-node-http@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz#c9f94a5cb96a15f48cea338ab6ef16bbd0ff989f"
integrity sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==
dependencies:
"@algolia/requester-common" "4.23.3"
"@algolia/transporter@4.23.3":
version "4.23.3"
resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.23.3.tgz#545b045b67db3850ddf0bbecbc6c84ff1f3398b7"
integrity sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==
dependencies:
"@algolia/cache-common" "4.23.3"
"@algolia/logger-common" "4.23.3"
"@algolia/requester-common" "4.23.3"
"@babel/parser@^7.24.4":
version "7.24.4"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88"
integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==
"@docsearch/css@3.6.0", "@docsearch/css@^3.6.0":
version "3.6.0"
resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.6.0.tgz#0e9f56f704b3a34d044d15fd9962ebc1536ba4fb"
integrity sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==
"@docsearch/js@^3.6.0":
version "3.6.0"
resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.6.0.tgz#f9e46943449b9092d874944f7a80bcc071004cfb"
integrity sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==
dependencies:
"@docsearch/react" "3.6.0"
preact "^10.0.0"
"@docsearch/react@3.6.0":
version "3.6.0"
resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.6.0.tgz#b4f25228ecb7fc473741aefac592121e86dd2958"
integrity sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==
dependencies:
"@algolia/autocomplete-core" "1.9.3"
"@algolia/autocomplete-preset-algolia" "1.9.3"
"@docsearch/css" "3.6.0"
algoliasearch "^4.19.1"
"@esbuild/aix-ppc64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537"
integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==
"@esbuild/android-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9"
integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==
"@esbuild/android-arm@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995"
integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==
"@esbuild/android-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98"
integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==
"@esbuild/darwin-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb"
integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==
"@esbuild/darwin-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0"
integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==
"@esbuild/freebsd-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911"
integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==
"@esbuild/freebsd-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c"
integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==
"@esbuild/linux-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5"
integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==
"@esbuild/linux-arm@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c"
integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==
"@esbuild/linux-ia32@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa"
integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==
"@esbuild/linux-loong64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5"
integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==
"@esbuild/linux-mips64el@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa"
integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==
"@esbuild/linux-ppc64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20"
integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==
"@esbuild/linux-riscv64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300"
integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==
"@esbuild/linux-s390x@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685"
integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==
"@esbuild/linux-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff"
integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==
"@esbuild/netbsd-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6"
integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==
"@esbuild/openbsd-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf"
integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==
"@esbuild/sunos-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f"
integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==
"@esbuild/win32-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90"
integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==
"@esbuild/win32-ia32@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23"
integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==
"@esbuild/win32-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc"
integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==
"@jridgewell/sourcemap-codec@^1.4.15":
version "1.4.15"
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
"@rollup/rollup-android-arm-eabi@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz#8b613b9725e8f9479d142970b106b6ae878610d5"
integrity sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==
"@rollup/rollup-android-arm64@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz#654ca1049189132ff602bfcf8df14c18da1f15fb"
integrity sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==
"@rollup/rollup-darwin-arm64@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz#6d241d099d1518ef0c2205d96b3fa52e0fe1954b"
integrity sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==
"@rollup/rollup-darwin-x64@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz#42bd19d292a57ee11734c980c4650de26b457791"
integrity sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==
"@rollup/rollup-linux-arm-gnueabihf@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz#f23555ee3d8fe941c5c5fd458cd22b65eb1c2232"
integrity sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==
"@rollup/rollup-linux-arm-musleabihf@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz#f3bbd1ae2420f5539d40ac1fde2b38da67779baa"
integrity sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==
"@rollup/rollup-linux-arm64-gnu@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz#7abe900120113e08a1f90afb84c7c28774054d15"
integrity sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==
"@rollup/rollup-linux-arm64-musl@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz#9e655285c8175cd44f57d6a1e8e5dedfbba1d820"
integrity sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==
"@rollup/rollup-linux-powerpc64le-gnu@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz#9a79ae6c9e9d8fe83d49e2712ecf4302db5bef5e"
integrity sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==
"@rollup/rollup-linux-riscv64-gnu@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz#67ac70eca4ace8e2942fabca95164e8874ab8128"
integrity sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==
"@rollup/rollup-linux-s390x-gnu@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz#9f883a7440f51a22ed7f99e1d070bd84ea5005fc"
integrity sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==
"@rollup/rollup-linux-x64-gnu@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz#70116ae6c577fe367f58559e2cffb5641a1dd9d0"
integrity sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==
"@rollup/rollup-linux-x64-musl@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz#f473f88219feb07b0b98b53a7923be716d1d182f"
integrity sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==
"@rollup/rollup-win32-arm64-msvc@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz#4349482d17f5d1c58604d1c8900540d676f420e0"
integrity sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==
"@rollup/rollup-win32-ia32-msvc@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz#a6fc39a15db618040ec3c2a24c1e26cb5f4d7422"
integrity sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==
"@rollup/rollup-win32-x64-msvc@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz#3dd5d53e900df2a40841882c02e56f866c04d202"
integrity sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==
"@shikijs/core@1.3.0", "@shikijs/core@^1.3.0":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-1.3.0.tgz#5b93b51ddb8def1e3a1543107f9b5b0540f716f6"
integrity sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==
"@shikijs/transformers@^1.3.0":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@shikijs/transformers/-/transformers-1.3.0.tgz#b03c5733ef61e25e4f53666bf11889f8876f34e9"
integrity sha512-3mlpg2I9CjhjE96dEWQOGeCWoPcyTov3s4aAsHmgvnTHa8MBknEnCQy8/xivJPSpD+olqOqIEoHnLfbNJK29AA==
dependencies:
shiki "1.3.0"
"@types/estree@1.0.5":
version "1.0.5"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
"@types/linkify-it@*":
version "3.0.5"
resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-3.0.5.tgz#1e78a3ac2428e6d7e6c05c1665c242023a4601d8"
integrity sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==
"@types/markdown-it@^14.0.1":
version "14.0.1"
resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-14.0.1.tgz#3d3fdf9dba83b69edececc070d39ec72b84270a7"
integrity sha512-6WfOG3jXR78DW8L5cTYCVVGAsIFZskRHCDo5tbqa+qtKVt4oDRVH7hyIWu1SpDQJlmIoEivNQZ5h+AGAOrgOtQ==
dependencies:
"@types/linkify-it" "*"
"@types/mdurl" "*"
"@types/mdurl@*":
version "1.0.5"
resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.5.tgz#3e0d2db570e9fb6ccb2dc8fde0be1d79ac810d39"
integrity sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==
"@types/web-bluetooth@^0.0.20":
version "0.0.20"
resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz#f066abfcd1cbe66267cdbbf0de010d8a41b41597"
integrity sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==
"@vitejs/plugin-vue@^5.0.4":
version "5.0.4"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz#508d6a0f2440f86945835d903fcc0d95d1bb8a37"
integrity sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==
"@vue/compiler-core@3.4.24":
version "3.4.24"
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.24.tgz#6b4a5ffddcd874a692f2acfa68981201bcd7096b"
integrity sha512-vbW/tgbwJYj62N/Ww99x0zhFTkZDTcGh3uwJEuadZ/nF9/xuFMC4693P9r+3sxGXISABpDKvffY5ApH9pmdd1A==
dependencies:
"@babel/parser" "^7.24.4"
"@vue/shared" "3.4.24"
entities "^4.5.0"
estree-walker "^2.0.2"
source-map-js "^1.2.0"
"@vue/compiler-dom@3.4.24":
version "3.4.24"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.24.tgz#b7335a49f095b6d35e48b6f7be8da513c1fa52b8"
integrity sha512-4XgABML/4cNndVsQndG6BbGN7+EoisDwi3oXNovqL/4jdNhwvP8/rfRMTb6FxkxIxUUtg6AI1/qZvwfSjxJiWA==
dependencies:
"@vue/compiler-core" "3.4.24"
"@vue/shared" "3.4.24"
"@vue/compiler-sfc@3.4.24":
version "3.4.24"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.24.tgz#2872e353147ce2a145169a33ddd4d68dc95c3a18"
integrity sha512-nRAlJUK02FTWfA2nuvNBAqsDZuERGFgxZ8sGH62XgFSvMxO2URblzulExsmj4gFZ8e+VAyDooU9oAoXfEDNxTA==
dependencies:
"@babel/parser" "^7.24.4"
"@vue/compiler-core" "3.4.24"
"@vue/compiler-dom" "3.4.24"
"@vue/compiler-ssr" "3.4.24"
"@vue/shared" "3.4.24"
estree-walker "^2.0.2"
magic-string "^0.30.10"
postcss "^8.4.38"
source-map-js "^1.2.0"
"@vue/compiler-ssr@3.4.24":
version "3.4.24"
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.24.tgz#0d11fe54dabd17cbd6393a16bf7f785da1cfab46"
integrity sha512-ZsAtr4fhaUFnVcDqwW3bYCSDwq+9Gk69q2r/7dAHDrOMw41kylaMgOP4zRnn6GIEJkQznKgrMOGPMFnLB52RbQ==
dependencies:
"@vue/compiler-dom" "3.4.24"
"@vue/shared" "3.4.24"
"@vue/devtools-api@^7.0.27":
version "7.1.2"
resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-7.1.2.tgz#8808b0f008842b756bf1e9c30788837abb62ab3a"
integrity sha512-AKd49cN3BdRgttmX5Aw8op7sx6jmaPwaILcDjaa05UKc1yIHDYST7P8yGZs6zd2pKFETAQz40gmyG7+b57slsQ==
dependencies:
"@vue/devtools-kit" "^7.1.2"
"@vue/devtools-kit@^7.1.2":
version "7.1.2"
resolved "https://registry.yarnpkg.com/@vue/devtools-kit/-/devtools-kit-7.1.2.tgz#dfb7306edf895dadc556dd5f0c516809c2f94826"
integrity sha512-UTrcUSOhlI9eXqbPMHUWwA6NQiiPT3onzXsVk2JHGR8ZFFSkzsWTTpHyVA1woG8zvgu2HNV/wigW2k87p858zw==
dependencies:
"@vue/devtools-shared" "^7.1.2"
hookable "^5.5.3"
mitt "^3.0.1"
perfect-debounce "^1.0.0"
speakingurl "^14.0.1"
"@vue/devtools-shared@^7.1.2":
version "7.1.2"
resolved "https://registry.yarnpkg.com/@vue/devtools-shared/-/devtools-shared-7.1.2.tgz#7b1c1de10bab4756f271c377370a62833b4ee94b"
integrity sha512-r9cUf93VMhKSsxF2/cBbf6Lm1nRBx+r1pRuji5CiAf3JIPYPOjeEqJ13OuwP1fauYh1tyBFcCxt3eJPvHT59gg==
dependencies:
rfdc "^1.3.1"
"@vue/reactivity@3.4.24":
version "3.4.24"
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.24.tgz#150584316ca2acc4ed19a24f9f29863c3a17a7b2"
integrity sha512-nup3fSYg4i4LtNvu9slF/HF/0dkMQYfepUdORBcMSsankzRPzE7ypAFurpwyRBfU1i7Dn1kcwpYsE1wETSh91g==
dependencies:
"@vue/shared" "3.4.24"
"@vue/runtime-core@3.4.24":
version "3.4.24"
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.4.24.tgz#066c544dc59a07a96c12874a57b750c239124874"
integrity sha512-c7iMfj6cJMeAG3s5yOn9Rc5D9e2/wIuaozmGf/ICGCY3KV5H7mbTVdvEkd4ZshTq7RUZqj2k7LMJWVx+EBiY1g==
dependencies:
"@vue/reactivity" "3.4.24"
"@vue/shared" "3.4.24"
"@vue/runtime-dom@3.4.24":
version "3.4.24"
resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.4.24.tgz#4f8e7acbe1e8ffa7c55af1366e4438729ebe9b20"
integrity sha512-uXKzuh/Emfad2Y7Qm0ABsLZZV6H3mAJ5ZVqmAOlrNQRf+T5mxpPGZBfec1hkP41t6h6FwF6RSGCs/gd8WbuySQ==
dependencies:
"@vue/runtime-core" "3.4.24"
"@vue/shared" "3.4.24"
csstype "^3.1.3"
"@vue/server-renderer@3.4.24":
version "3.4.24"
resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.4.24.tgz#80dd546f8d6a9f5c4f8b68083fe9cc2d62299332"
integrity sha512-H+DLK4sQF6sRgzKyofmlEVBIV/9KrQU6HIV7nt6yIwSGGKvSwlV8pqJlebUKLpbXaNHugdSfAbP6YmXF69lxow==
dependencies:
"@vue/compiler-ssr" "3.4.24"
"@vue/shared" "3.4.24"
"@vue/shared@3.4.24":
version "3.4.24"
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.24.tgz#278ac71f492b392b9b17fe8fc7d324db1a8842db"
integrity sha512-BW4tajrJBM9AGAknnyEw5tO2xTmnqgup0VTnDAMcxYmqOX0RG0b9aSUGAbEKolD91tdwpA6oCwbltoJoNzpItw==
"@vueuse/core@10.9.0", "@vueuse/core@^10.9.0":
version "10.9.0"
resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-10.9.0.tgz#7d779a95cf0189de176fee63cee4ba44b3c85d64"
integrity sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==
dependencies:
"@types/web-bluetooth" "^0.0.20"
"@vueuse/metadata" "10.9.0"
"@vueuse/shared" "10.9.0"
vue-demi ">=0.14.7"
"@vueuse/integrations@^10.9.0":
version "10.9.0"
resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-10.9.0.tgz#2b1a9556215ad3c1f96d39cbfbef102cf6e0ec05"
integrity sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==
dependencies:
"@vueuse/core" "10.9.0"
"@vueuse/shared" "10.9.0"
vue-demi ">=0.14.7"
"@vueuse/metadata@10.9.0":
version "10.9.0"
resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-10.9.0.tgz#769a1a9db65daac15cf98084cbf7819ed3758620"
integrity sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==
"@vueuse/shared@10.9.0":
version "10.9.0"
resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-10.9.0.tgz#13af2a348de15d07b7be2fd0c7fc9853a69d8fe0"
integrity sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==
dependencies:
vue-demi ">=0.14.7"
algoliasearch@^4.19.1:
version "4.23.3"
resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.23.3.tgz#e09011d0a3b0651444916a3e6bbcba064ec44b60"
integrity sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==
dependencies:
"@algolia/cache-browser-local-storage" "4.23.3"
"@algolia/cache-common" "4.23.3"
"@algolia/cache-in-memory" "4.23.3"
"@algolia/client-account" "4.23.3"
"@algolia/client-analytics" "4.23.3"
"@algolia/client-common" "4.23.3"
"@algolia/client-personalization" "4.23.3"
"@algolia/client-search" "4.23.3"
"@algolia/logger-common" "4.23.3"
"@algolia/logger-console" "4.23.3"
"@algolia/recommend" "4.23.3"
"@algolia/requester-browser-xhr" "4.23.3"
"@algolia/requester-common" "4.23.3"
"@algolia/requester-node-http" "4.23.3"
"@algolia/transporter" "4.23.3"
csstype@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
entities@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
esbuild@^0.20.1:
version "0.20.2"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1"
integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==
optionalDependencies:
"@esbuild/aix-ppc64" "0.20.2"
"@esbuild/android-arm" "0.20.2"
"@esbuild/android-arm64" "0.20.2"
"@esbuild/android-x64" "0.20.2"
"@esbuild/darwin-arm64" "0.20.2"
"@esbuild/darwin-x64" "0.20.2"
"@esbuild/freebsd-arm64" "0.20.2"
"@esbuild/freebsd-x64" "0.20.2"
"@esbuild/linux-arm" "0.20.2"
"@esbuild/linux-arm64" "0.20.2"
"@esbuild/linux-ia32" "0.20.2"
"@esbuild/linux-loong64" "0.20.2"
"@esbuild/linux-mips64el" "0.20.2"
"@esbuild/linux-ppc64" "0.20.2"
"@esbuild/linux-riscv64" "0.20.2"
"@esbuild/linux-s390x" "0.20.2"
"@esbuild/linux-x64" "0.20.2"
"@esbuild/netbsd-x64" "0.20.2"
"@esbuild/openbsd-x64" "0.20.2"
"@esbuild/sunos-x64" "0.20.2"
"@esbuild/win32-arm64" "0.20.2"
"@esbuild/win32-ia32" "0.20.2"
"@esbuild/win32-x64" "0.20.2"
estree-walker@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
focus-trap@^7.5.4:
version "7.5.4"
resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-7.5.4.tgz#6c4e342fe1dae6add9c2aa332a6e7a0bbd495ba2"
integrity sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==
dependencies:
tabbable "^6.2.0"
fsevents@~2.3.2, fsevents@~2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
hookable@^5.5.3:
version "5.5.3"
resolved "https://registry.yarnpkg.com/hookable/-/hookable-5.5.3.tgz#6cfc358984a1ef991e2518cb9ed4a778bbd3215d"
integrity sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==
magic-string@^0.30.10:
version "0.30.10"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.10.tgz#123d9c41a0cb5640c892b041d4cfb3bd0aa4b39e"
integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==
dependencies:
"@jridgewell/sourcemap-codec" "^1.4.15"
mark.js@8.11.1:
version "8.11.1"
resolved "https://registry.yarnpkg.com/mark.js/-/mark.js-8.11.1.tgz#180f1f9ebef8b0e638e4166ad52db879beb2ffc5"
integrity sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==
minisearch@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-6.3.0.tgz#985a2f1ca3c73c2d65af94f0616bfe57164b0b6b"
integrity sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==
mitt@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.1.tgz#ea36cf0cc30403601ae074c8f77b7092cdab36d1"
integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==
nanoid@^3.3.7:
version "3.3.7"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
perfect-debounce@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a"
integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==
picocolors@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
postcss@^8.4.38:
version "8.4.38"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e"
integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
dependencies:
nanoid "^3.3.7"
picocolors "^1.0.0"
source-map-js "^1.2.0"
preact@^10.0.0:
version "10.20.2"
resolved "https://registry.yarnpkg.com/preact/-/preact-10.20.2.tgz#0b343299a8c020562311cc25db93b3d832ec5e71"
integrity sha512-S1d1ernz3KQ+Y2awUxKakpfOg2CEmJmwOP+6igPx6dgr6pgDvenqYviyokWso2rhHvGtTlWWnJDa7RaPbQerTg==
rfdc@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f"
integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==
rollup@^4.13.0:
version "4.22.4"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.22.4.tgz#4135a6446671cd2a2453e1ad42a45d5973ec3a0f"
integrity sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==
dependencies:
"@types/estree" "1.0.5"
optionalDependencies:
"@rollup/rollup-android-arm-eabi" "4.22.4"
"@rollup/rollup-android-arm64" "4.22.4"
"@rollup/rollup-darwin-arm64" "4.22.4"
"@rollup/rollup-darwin-x64" "4.22.4"
"@rollup/rollup-linux-arm-gnueabihf" "4.22.4"
"@rollup/rollup-linux-arm-musleabihf" "4.22.4"
"@rollup/rollup-linux-arm64-gnu" "4.22.4"
"@rollup/rollup-linux-arm64-musl" "4.22.4"
"@rollup/rollup-linux-powerpc64le-gnu" "4.22.4"
"@rollup/rollup-linux-riscv64-gnu" "4.22.4"
"@rollup/rollup-linux-s390x-gnu" "4.22.4"
"@rollup/rollup-linux-x64-gnu" "4.22.4"
"@rollup/rollup-linux-x64-musl" "4.22.4"
"@rollup/rollup-win32-arm64-msvc" "4.22.4"
"@rollup/rollup-win32-ia32-msvc" "4.22.4"
"@rollup/rollup-win32-x64-msvc" "4.22.4"
fsevents "~2.3.2"
shiki@1.3.0, shiki@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/shiki/-/shiki-1.3.0.tgz#3eda35cb49f6f0a98525e9da48fc072e6c655a3f"
integrity sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==
dependencies:
"@shikijs/core" "1.3.0"
source-map-js@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af"
integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
speakingurl@^14.0.1:
version "14.0.1"
resolved "https://registry.yarnpkg.com/speakingurl/-/speakingurl-14.0.1.tgz#f37ec8ddc4ab98e9600c1c9ec324a8c48d772a53"
integrity sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==
tabbable@^6.2.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
vite@^5.2.14, vite@^5.2.9:
version "5.2.14"
resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.14.tgz#fd5f60facf6b5f90ec7da6323c467a365d380c3d"
integrity sha512-TFQLuwWLPms+NBNlh0D9LZQ+HXW471COABxw/9TEUBrjuHMo9BrYBPrN/SYAwIuVL+rLerycxiLT41t4f5MZpA==
dependencies:
esbuild "^0.20.1"
postcss "^8.4.38"
rollup "^4.13.0"
optionalDependencies:
fsevents "~2.3.3"
vitepress-plugin-tabs@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/vitepress-plugin-tabs/-/vitepress-plugin-tabs-0.5.0.tgz#2b193a72ed36b9fcd63e3907d3044fe7b6cf3e4e"
integrity sha512-SIhFWwGsUkTByfc2b279ray/E0Jt8vDTsM1LiHxmCOBAEMmvzIBZSuYYT1DpdDTiS3SuJieBheJkYnwCq/yD9A==
vitepress@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.1.3.tgz#ded22392f5274680aaba8bb81dd4fb1c4741c02e"
integrity sha512-hGrIYN0w9IHWs0NQSnlMjKV/v/HLfD+Ywv5QdvCSkiT32mpNOOwUrZjnqZv/JL/WBPpUc94eghTUvmipxw0xrA==
dependencies:
"@docsearch/css" "^3.6.0"
"@docsearch/js" "^3.6.0"
"@shikijs/core" "^1.3.0"
"@shikijs/transformers" "^1.3.0"
"@types/markdown-it" "^14.0.1"
"@vitejs/plugin-vue" "^5.0.4"
"@vue/devtools-api" "^7.0.27"
"@vueuse/core" "^10.9.0"
"@vueuse/integrations" "^10.9.0"
focus-trap "^7.5.4"
mark.js "8.11.1"
minisearch "^6.3.0"
shiki "^1.3.0"
vite "^5.2.9"
vue "^3.4.23"
vue-demi@>=0.14.7:
version "0.14.7"
resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.7.tgz#8317536b3ef74c5b09f268f7782e70194567d8f2"
integrity sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==
vue@^3.4.23, vue@^3.4.24:
version "3.4.24"
resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.24.tgz#f269549939a6c092480f018aa0bd886ba64f4c6f"
integrity sha512-NPdx7dLGyHmKHGRRU5bMRYVE+rechR+KDU5R2tSTNG36PuMwbfAJ+amEvOAw7BPfZp5sQulNELSLm5YUkau+Sg==
dependencies:
"@vue/compiler-dom" "3.4.24"
"@vue/compiler-sfc" "3.4.24"
"@vue/runtime-dom" "3.4.24"
"@vue/server-renderer" "3.4.24"
"@vue/shared" "3.4.24"

View File

@@ -0,0 +1,580 @@
{
"aliases": {
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ \ │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ' │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ú │ ) │ ¨ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ů │ § │ │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
* │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"KC_GRV": {
"key": "CZ_BSLS",
"label": "\\",
}
"KC_1": {
"key": "CZ_PLUS",
"label": "+",
}
"KC_2": {
"key": "CZ_ECAR",
"label": "ě",
}
"KC_3": {
"key": "CZ_SCAR",
"label": "š",
}
"KC_4": {
"key": "CZ_CCAR",
"label": "č",
}
"KC_5": {
"key": "CZ_RCAR",
"label": "ř",
}
"KC_6": {
"key": "CZ_ZCAR",
"label": "ž",
}
"KC_7": {
"key": "CZ_YACU",
"label": "ý",
}
"KC_8": {
"key": "CZ_AACU",
"label": "á",
}
"KC_9": {
"key": "CZ_IACU",
"label": "í",
}
"KC_0": {
"key": "CZ_EACU",
"label": "é",
}
"KC_MINS": {
"key": "CZ_EQL",
"label": "=",
}
"KC_EQL": {
"key": "CZ_ACUT",
"label": "' (dead)",
}
"KC_Q": {
"key": "CZ_Q",
"label": "Q",
}
"KC_W": {
"key": "CZ_W",
"label": "W",
}
"KC_E": {
"key": "CZ_E",
"label": "E",
}
"KC_R": {
"key": "CZ_R",
"label": "R",
}
"KC_T": {
"key": "CZ_T",
"label": "T",
}
"KC_Y": {
"key": "CZ_Z",
"label": "Z",
}
"KC_U": {
"key": "CZ_U",
"label": "U",
}
"KC_I": {
"key": "CZ_I",
"label": "I",
}
"KC_O": {
"key": "CZ_O",
"label": "O",
}
"KC_P": {
"key": "CZ_P",
"label": "P",
}
"KC_LBRC": {
"key": "CZ_UACU",
"label": "ú",
}
"KC_RBRC": {
"key": "CZ_RPRN",
"label": ")",
}
"KC_NUHS": {
"key": "CZ_DIAE",
"label": "¨ (dead)",
}
"KC_A": {
"key": "CZ_A",
"label": "A",
}
"KC_S": {
"key": "CZ_S",
"label": "S",
}
"KC_D": {
"key": "CZ_D",
"label": "D",
}
"KC_F": {
"key": "CZ_F",
"label": "F",
}
"KC_G": {
"key": "CZ_G",
"label": "G",
}
"KC_H": {
"key": "CZ_H",
"label": "H",
}
"KC_J": {
"key": "CZ_J",
"label": "J",
}
"KC_K": {
"key": "CZ_K",
"label": "K",
}
"KC_L": {
"key": "CZ_L",
"label": "L",
}
"KC_SCLN": {
"key": "CZ_URNG",
"label": "ů",
}
"KC_QUOT": {
"key": "CZ_SECT",
"label": "§",
}
"KC_Z": {
"key": "CZ_Y",
"label": "Y",
}
"KC_X": {
"key": "CZ_X",
"label": "X",
}
"KC_C": {
"key": "CZ_C",
"label": "C",
}
"KC_V": {
"key": "CZ_V",
"label": "V",
}
"KC_B": {
"key": "CZ_B",
"label": "B",
}
"KC_N": {
"key": "CZ_N",
"label": "N",
}
"KC_M": {
"key": "CZ_M",
"label": "M",
}
"KC_COMM": {
"key": "CZ_COMM",
"label": ",",
}
"KC_DOT": {
"key": "CZ_DOT",
"label": ".",
}
"KC_SLSH": {
"key": "CZ_MINS",
"label": "-",
}
/* Shifted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ | │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ ` │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │ │ │ │ │ │ │ │ │ │ │ " │ ! │ │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
* │ │ │ │ │ │ │ │ │ ? │ : │ _ │ │
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"S(CZ_BSLS)": {
"key": "CZ_PIPE",
"label": "|",
}
"S(CZ_PLUS)": {
"key": "CZ_1",
"label": "1",
}
"S(CZ_ECAR)": {
"key": "CZ_2",
"label": "2",
}
"S(CZ_SCAR)": {
"key": "CZ_3",
"label": "3",
}
"S(CZ_CCAR)": {
"key": "CZ_4",
"label": "4",
}
"S(CZ_RCAR)": {
"key": "CZ_5",
"label": "5",
}
"S(CZ_ZCAR)": {
"key": "CZ_6",
"label": "6",
}
"S(CZ_YACU)": {
"key": "CZ_7",
"label": "7",
}
"S(CZ_AACU)": {
"key": "CZ_8",
"label": "8",
}
"S(CZ_IACU)": {
"key": "CZ_9",
"label": "9",
}
"S(CZ_EACU)": {
"key": "CZ_0",
"label": "0",
}
"S(CZ_EQL)": {
"key": "CZ_PERC",
"label": "%",
}
"S(CZ_ACUT)": {
"key": "CZ_CARN",
"label": "ˇ (dead)",
}
"S(CZ_UACU)": {
"key": "CZ_SLSH",
"label": "/",
}
"S(CZ_RPRN)": {
"key": "CZ_LPRN",
"label": "(",
}
"S(CZ_DIAE)": {
"key": "CZ_GRV",
"label": "`",
}
"S(CZ_URNG)": {
"key": "CZ_DQUO",
"label": "\"",
}
"S(CZ_SECT)": {
"key": "CZ_EXLM",
"label": "!",
}
"S(CZ_COMM)": {
"key": "CZ_QUES",
"label": "?",
}
"S(CZ_DOT)": {
"key": "CZ_COLN",
"label": ":",
}
"S(CZ_MINS)": {
"key": "CZ_UNDS",
"label": "_",
}
/* Alted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ │ │ @ │ # │ $ │ ~ │ ^ │ & │ * │ { │ } │ ° │ ^ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ │ ė │ ę │ € │ │ │ │ │ │ │ [ │ ] │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │ │ ą │ ß │ ∂ │ │ │ │ │ ł │ ; │ ' │ │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
* │ │ │ │ │ │ │ │ │ < │ > │ │ │
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"A(CZ_ECAR)": {
"key": "CZ_AT",
"label": "@",
}
"A(CZ_SCAR)": {
"key": "CZ_HASH",
"label": "#",
}
"A(CZ_CCAR)": {
"key": "CZ_DLR",
"label": "$",
}
"A(CZ_RCAR)": {
"key": "CZ_TILD",
"label": "~",
}
"A(CZ_ZCAR)": {
"key": "CZ_CIRC",
"label": "^",
}
"A(CZ_YACU)": {
"key": "CZ_AMPR",
"label": "&",
}
"A(CZ_AACU)": {
"key": "CZ_ASTR",
"label": "*",
}
"A(CZ_IACU)": {
"key": "CZ_LCBR",
"label": "{",
}
"A(CZ_EACU)": {
"key": "CZ_RCBR",
"label": "}",
}
"A(CZ_EQL)": {
"key": "CZ_RNGA",
"label": "° (dead)",
}
"A(CZ_ACUT)": {
"key": "CZ_DCIR",
"label": "^ (dead)",
}
"A(CZ_W)": {
"key": "CZ_LEDT",
"label": "ė",
}
"A(CZ_E)": {
"key": "CZ_LEOG",
"label": "ę",
}
"A(CZ_R)": {
"key": "CZ_EURO",
"label": "€",
}
"A(CZ_Z)": {
"key": "CZ_LZDT",
"label": "ż",
}
"A(CZ_UACU)": {
"key": "CZ_LBRC",
"label": "[",
}
"A(CZ_RPRN)": {
"key": "CZ_RBRC",
"label": "]",
}
"A(CZ_A)": {
"key": "CZ_LAOG",
"label": "ą",
}
"A(CZ_S)": {
"key": "CZ_SS",
"label": "ß",
}
"A(CZ_D)": {
"key": "CZ_PDIF",
"label": "∂",
}
"A(CZ_H)": {
"key": "CZ_LSQU",
"label": "",
}
"A(CZ_J)": {
"key": "CZ_RSQU",
"label": "",
}
"A(CZ_L)": {
"key": "CZ_LLST",
"label": "ł",
}
"A(CZ_URNG)": {
"key": "CZ_SCLN",
"label": ";",
}
"A(CZ_SECT)": {
"key": "CZ_QUOT",
"label": "'",
}
"A(CZ_N)": {
"key": "CZ_SLQU",
"label": "",
}
"A(CZ_COMM)": {
"key": "CZ_LABK",
"label": "<",
}
"A(CZ_DOT)": {
"key": "CZ_RABK",
"label": ">",
}
"A(CZ_MINS)": {
"key": "CZ_NDSH",
"label": "",
}
/* Shift+Alted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ │ ¬ │ • │ ≠ │ £ │ ◊ │ † │ ¶ │ ÷ │ « │ » │ , │ - │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ │ Ė │ Ę │ ® │ ™ │ Ż │ │ │ │ │ │ " │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
* │ │ Ą │ ∑ │ ∆ │ │ │ “ │ ” │ │ Ł │ … │ ~ │ │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
* │ │ │ │ © │ √ │ │ „ │ │ ≤ │ ≥ │ — │ │
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"S(A(CZ_1))": {
"key": "CZ_NOT",
"label": "¬",
}
"S(A(CZ_2))": {
"key": "CZ_BULT",
"label": "•",
}
"S(A(CZ_3))": {
"key": "CZ_NEQL",
"label": "≠",
}
"S(A(CZ_4))": {
"key": "CZ_PND",
"label": "£",
}
"S(A(CZ_5))": {
"key": "CZ_LOZN",
"label": "◊",
}
"S(A(CZ_6))": {
"key": "CZ_DAGG",
"label": "†",
}
"S(A(CZ_7))": {
"key": "CZ_PARA",
"label": "¶",
}
"S(A(CZ_8))": {
"key": "CZ_DIV",
"label": "÷",
}
"S(A(CZ_9))": {
"key": "CZ_LDAQ",
"label": "«",
}
"S(A(CZ_0))": {
"key": "CZ_RDAQ",
"label": "»",
}
"S(A(CZ_EQL))": {
"key": "CZ_DCOM",
"label": ", (dead)",
}
"S(A(CZ_ACUT))": {
"key": "CZ_DHPN",
"label": "- (dead)",
}
"S(A(CZ_W))": {
"key": "CZ_CEDT",
"label": "Ė",
}
"S(A(CZ_E))": {
"key": "CZ_CEOG",
"label": "Ę",
}
"S(A(CZ_R))": {
"key": "CZ_REGD",
"label": "®",
}
"S(A(CZ_T))": {
"key": "CZ_TM",
"label": "™",
}
"S(A(CZ_Z))": {
"key": "CZ_CZDT",
"label": "Ż",
}
"S(A(CZ_UACU))": {
"key": "CZ_LSAQ",
"label": "",
}
"S(A(CZ_RPRN))": {
"key": "CZ_RSAQ",
"label": "",
}
"S(A(CZ_DIAE))": {
"key": "CZ_DDQT",
"label": "\" (dead)",
}
"S(A(CZ_A))": {
"key": "CZ_CAOG",
"label": "Ą",
}
"S(A(CZ_S))": {
"key": "CZ_NARS",
"label": "∑",
}
"S(A(CZ_D))": {
"key": "CZ_INCR",
"label": "∆",
}
"S(A(CZ_H))": {
"key": "CZ_LDQU",
"label": "“",
}
"S(A(CZ_J))": {
"key": "CZ_RDQU",
"label": "”",
}
"S(A(CZ_L))": {
"key": "CZ_CLST",
"label": "Ł",
}
"S(A(CZ_URNG))": {
"key": "CZ_ELLP",
"label": "…",
}
"S(A(CZ_SECT))": {
"key": "CZ_DTIL",
"label": "~ (dead)",
}
"S(A(CZ_C))": {
"key": "CZ_COPY",
"label": "©",
}
"S(A(CZ_V))": {
"key": "CZ_SQRT",
"label": "√",
}
"S(A(CZ_N))": {
"key": "CZ_DLQU",
"label": "„",
}
"S(A(CZ_COMM))": {
"key": "CZ_LEQL",
"label": "≤",
}
"S(A(CZ_DOT))": {
"key": "CZ_GEQL",
"label": "≥",
}
"S(A(CZ_MINS))": {
"key": "CZ_MDSH",
"label": "—",
}
}
}

View File

@@ -0,0 +1,580 @@
{
"aliases": {
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ' │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ) │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ů │ § │ ¨ │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
* │ │ \ │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"KC_1": {
"key": "CZ_PLUS",
"label": "+",
}
"KC_2": {
"key": "CZ_ECAR",
"label": "ě",
}
"KC_3": {
"key": "CZ_SCAR",
"label": "š",
}
"KC_4": {
"key": "CZ_CCAR",
"label": "č",
}
"KC_5": {
"key": "CZ_RCAR",
"label": "ř",
}
"KC_6": {
"key": "CZ_ZCAR",
"label": "ž",
}
"KC_7": {
"key": "CZ_YACU",
"label": "ý",
}
"KC_8": {
"key": "CZ_AACU",
"label": "á",
}
"KC_9": {
"key": "CZ_IACU",
"label": "í",
}
"KC_0": {
"key": "CZ_EACU",
"label": "é",
}
"KC_MINS": {
"key": "CZ_EQL",
"label": "=",
}
"KC_EQL": {
"key": "CZ_ACUT",
"label": "' (dead)",
}
"KC_Q": {
"key": "CZ_Q",
"label": "Q",
}
"KC_W": {
"key": "CZ_W",
"label": "W",
}
"KC_E": {
"key": "CZ_E",
"label": "E",
}
"KC_R": {
"key": "CZ_R",
"label": "R",
}
"KC_T": {
"key": "CZ_T",
"label": "T",
}
"KC_Y": {
"key": "CZ_Z",
"label": "Z",
}
"KC_U": {
"key": "CZ_U",
"label": "U",
}
"KC_I": {
"key": "CZ_I",
"label": "I",
}
"KC_O": {
"key": "CZ_O",
"label": "O",
}
"KC_P": {
"key": "CZ_P",
"label": "P",
}
"KC_LBRC": {
"key": "CZ_UACU",
"label": "ú",
}
"KC_RBRC": {
"key": "CZ_RPRN",
"label": ")",
}
"KC_A": {
"key": "CZ_A",
"label": "A",
}
"KC_S": {
"key": "CZ_S",
"label": "S",
}
"KC_D": {
"key": "CZ_D",
"label": "D",
}
"KC_F": {
"key": "CZ_F",
"label": "F",
}
"KC_G": {
"key": "CZ_G",
"label": "G",
}
"KC_H": {
"key": "CZ_H",
"label": "H",
}
"KC_J": {
"key": "CZ_J",
"label": "J",
}
"KC_K": {
"key": "CZ_K",
"label": "K",
}
"KC_L": {
"key": "CZ_L",
"label": "L",
}
"KC_SCLN": {
"key": "CZ_URNG",
"label": "ů",
}
"KC_QUOT": {
"key": "CZ_SECT",
"label": "§",
}
"KC_NUHS": {
"key": "CZ_DIAE",
"label": "¨ (dead)",
}
"KC_NUBS": {
"key": "CZ_BSLS",
"label": "\\",
}
"KC_Z": {
"key": "CZ_Y",
"label": "Y",
}
"KC_X": {
"key": "CZ_X",
"label": "X",
}
"KC_C": {
"key": "CZ_C",
"label": "C",
}
"KC_V": {
"key": "CZ_V",
"label": "V",
}
"KC_B": {
"key": "CZ_B",
"label": "B",
}
"KC_N": {
"key": "CZ_N",
"label": "N",
}
"KC_M": {
"key": "CZ_M",
"label": "M",
}
"KC_COMM": {
"key": "CZ_COMM",
"label": ",",
}
"KC_DOT": {
"key": "CZ_DOT",
"label": ".",
}
"KC_SLSH": {
"key": "CZ_MINS",
"label": "-",
}
/* Shifted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ │ │ │ │ │ │ │ │ │ " │ ! │ ` │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
* │ │ | │ │ │ │ │ │ │ │ ? │ : │ _ │ │
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"S(CZ_PLUS)": {
"key": "CZ_1",
"label": "1",
}
"S(CZ_ECAR)": {
"key": "CZ_2",
"label": "2",
}
"S(CZ_SCAR)": {
"key": "CZ_3",
"label": "3",
}
"S(CZ_CCAR)": {
"key": "CZ_4",
"label": "4",
}
"S(CZ_RCAR)": {
"key": "CZ_5",
"label": "5",
}
"S(CZ_ZCAR)": {
"key": "CZ_6",
"label": "6",
}
"S(CZ_YACU)": {
"key": "CZ_7",
"label": "7",
}
"S(CZ_AACU)": {
"key": "CZ_8",
"label": "8",
}
"S(CZ_IACU)": {
"key": "CZ_9",
"label": "9",
}
"S(CZ_EACU)": {
"key": "CZ_0",
"label": "0",
}
"S(CZ_EQL)": {
"key": "CZ_PERC",
"label": "%",
}
"S(CZ_ACUT)": {
"key": "CZ_CARN",
"label": "ˇ (dead)",
}
"S(CZ_UACU)": {
"key": "CZ_SLSH",
"label": "/",
}
"S(CZ_RPRN)": {
"key": "CZ_LPRN",
"label": "(",
}
"S(CZ_URNG)": {
"key": "CZ_DQUO",
"label": "\"",
}
"S(CZ_SECT)": {
"key": "CZ_EXLM",
"label": "!",
}
"S(CZ_DIAE)": {
"key": "CZ_GRV",
"label": "`",
}
"S(CZ_BSLS)": {
"key": "CZ_PIPE",
"label": "|",
}
"S(CZ_COMM)": {
"key": "CZ_QUES",
"label": "?",
}
"S(CZ_DOT)": {
"key": "CZ_COLN",
"label": ":",
}
"S(CZ_MINS)": {
"key": "CZ_UNDS",
"label": "_",
}
/* Alted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ │ │ @ │ # │ $ │ ~ │ ^ │ & │ * │ { │ } │ ° │ ^ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ │ ė │ ę │ € │ │ ż │ │ │ │ │ [ │ ] │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ ą │ ß │ ∂ │ │ │ │ │ ł │ ; │ ' │ │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
* │ │ │ │ │ │ │ │ │ │ < │ > │ │ │
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"A(CZ_ECAR)": {
"key": "CZ_AT",
"label": "@",
}
"A(CZ_SCAR)": {
"key": "CZ_HASH",
"label": "#",
}
"A(CZ_CCAR)": {
"key": "CZ_DLR",
"label": "$",
}
"A(CZ_RCAR)": {
"key": "CZ_TILD",
"label": "~",
}
"A(CZ_ZCAR)": {
"key": "CZ_CIRC",
"label": "^",
}
"A(CZ_YACU)": {
"key": "CZ_AMPR",
"label": "&",
}
"A(CZ_AACU)": {
"key": "CZ_ASTR",
"label": "*",
}
"A(CZ_IACU)": {
"key": "CZ_LCBR",
"label": "{",
}
"A(CZ_EACU)": {
"key": "CZ_RCBR",
"label": "}",
}
"A(CZ_EQL)": {
"key": "CZ_RNGA",
"label": "° (dead)",
}
"A(CZ_ACUT)": {
"key": "CZ_DCIR",
"label": "^ (dead)",
}
"A(CZ_W)": {
"key": "CZ_LEDT",
"label": "ė",
}
"A(CZ_E)": {
"key": "CZ_LEOG",
"label": "ę",
}
"A(CZ_R)": {
"key": "CZ_EURO",
"label": "€",
}
"A(CZ_Z)": {
"key": "CZ_LZDT",
"label": "ż",
}
"A(CZ_UACU)": {
"key": "CZ_LBRC",
"label": "[",
}
"A(CZ_RPRN)": {
"key": "CZ_RBRC",
"label": "]",
}
"A(CZ_A)": {
"key": "CZ_LAOG",
"label": "ą",
}
"A(CZ_S)": {
"key": "CZ_SS",
"label": "ß",
}
"A(CZ_D)": {
"key": "CZ_PDIF",
"label": "∂",
}
"A(CZ_H)": {
"key": "CZ_LSQU",
"label": "",
}
"A(CZ_J)": {
"key": "CZ_RSQU",
"label": "",
}
"A(CZ_L)": {
"key": "CZ_LLST",
"label": "ł",
}
"A(CZ_URNG)": {
"key": "CZ_SCLN",
"label": ";",
}
"A(CZ_SECT)": {
"key": "CZ_QUOT",
"label": "'",
}
"A(CZ_N)": {
"key": "CZ_SLQU",
"label": "",
}
"A(CZ_COMM)": {
"key": "CZ_LABK",
"label": "<",
}
"A(CZ_DOT)": {
"key": "CZ_RABK",
"label": ">",
}
"A(CZ_MINS)": {
"key": "CZ_NDSH",
"label": "",
}
/* Shift+Alted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
* │ │ ¬ │ • │ ≠ │ £ │ ◊ │ † │ ¶ │ ÷ │ « │ » │ , │ - │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
* │ │ │ Ė │ Ę │ ® │ ™ │ Ż │ │ │ │ │ │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ Ą │ ∑ │ ∆ │ │ │ “ │ ” │ │ Ł │ … │ ~ │ " │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
* │ │ │ │ │ © │ √ │ │ „ │ │ ≤ │ ≥ │ — │ │
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
* │ │ │ │ │ │ │ │
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
*/
"S(A(CZ_1))": {
"key": "CZ_NOT",
"label": "¬",
}
"S(A(CZ_2))": {
"key": "CZ_BULT",
"label": "•",
}
"S(A(CZ_3))": {
"key": "CZ_NEQL",
"label": "≠",
}
"S(A(CZ_4))": {
"key": "CZ_PND",
"label": "£",
}
"S(A(CZ_5))": {
"key": "CZ_LOZN",
"label": "◊",
}
"S(A(CZ_6))": {
"key": "CZ_DAGG",
"label": "†",
}
"S(A(CZ_7))": {
"key": "CZ_PARA",
"label": "¶",
}
"S(A(CZ_8))": {
"key": "CZ_DIV",
"label": "÷",
}
"S(A(CZ_9))": {
"key": "CZ_LDAQ",
"label": "«",
}
"S(A(CZ_0))": {
"key": "CZ_RDAQ",
"label": "»",
}
"S(A(CZ_EQL))": {
"key": "CZ_DCOM",
"label": ", (dead)",
}
"S(A(CZ_ACUT))": {
"key": "CZ_DHPN",
"label": "- (dead)",
}
"S(A(CZ_W))": {
"key": "CZ_CEDT",
"label": "Ė",
}
"S(A(CZ_E))": {
"key": "CZ_CEOG",
"label": "Ę",
}
"S(A(CZ_R))": {
"key": "CZ_REGD",
"label": "®",
}
"S(A(CZ_T))": {
"key": "CZ_TM",
"label": "™",
}
"S(A(CZ_Z))": {
"key": "CZ_CZDT",
"label": "Ż",
}
"S(A(CZ_UACU))": {
"key": "CZ_LSAQ",
"label": "",
}
"S(A(CZ_RPRN))": {
"key": "CZ_RSAQ",
"label": "",
}
"S(A(CZ_A))": {
"key": "CZ_CAOG",
"label": "Ą",
}
"S(A(CZ_S))": {
"key": "CZ_NARS",
"label": "∑",
}
"S(A(CZ_D))": {
"key": "CZ_INCR",
"label": "∆",
}
"S(A(CZ_H))": {
"key": "CZ_LDQU",
"label": "“",
}
"S(A(CZ_J))": {
"key": "CZ_RDQU",
"label": "”",
}
"S(A(CZ_L))": {
"key": "CZ_CLST",
"label": "Ł",
}
"S(A(CZ_URNG))": {
"key": "CZ_ELLP",
"label": "…",
}
"S(A(CZ_SECT))": {
"key": "CZ_DTIL",
"label": "~ (dead)",
}
"S(A(CZ_DIAE))": {
"key": "CZ_DDQT",
"label": "\" (dead)",
}
"S(A(CZ_C))": {
"key": "CZ_COPY",
"label": "©",
}
"S(A(CZ_V))": {
"key": "CZ_SQRT",
"label": "√",
}
"S(A(CZ_N))": {
"key": "CZ_DLQU",
"label": "„",
}
"S(A(CZ_COMM))": {
"key": "CZ_LEQL",
"label": "≤",
}
"S(A(CZ_DOT))": {
"key": "CZ_GEQL",
"label": "≥",
}
"S(A(CZ_MINS))": {
"key": "CZ_MDSH",
"label": "—",
}
}
}

View File

@@ -0,0 +1,616 @@
{
"aliases": {
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ │ ۱ │ ۲ │ ۳ │ ۴ │ ۵ │ ۶ │ ۷ │ ۸ │ ۹ │ ۰ │ - │ = │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │ │ ض │ ص │ ث │ ق │ ف │ غ │ ع │ ه │ خ │ ح │ ج │ چ │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ ش │ س │ ی │ ب │ ل │ ا │ ت │ ن │ م │ ک │ گ │ \ │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
* │ │ < │ ظ │ ط │ ز │ ر │ ذ │ د │ پ │ و │ . │ / │ │
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │ │ │ │ │ │ │ │ │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
"KC_GRV": {
"key": "FA_ZWJ",
"label": "(zero-width joiner)",
}
"KC_1": {
"key": "FA_1A",
"label": "۱",
}
"KC_2": {
"key": "FA_2A",
"label": "۲",
}
"KC_3": {
"key": "FA_3A",
"label": "۳",
}
"KC_4": {
"key": "FA_4A",
"label": "۴",
}
"KC_5": {
"key": "FA_5A",
"label": "۵",
}
"KC_6": {
"key": "FA_6A",
"label": "۶",
}
"KC_7": {
"key": "FA_7A",
"label": "۷",
}
"KC_8": {
"key": "FA_8A",
"label": "۸",
}
"KC_9": {
"key": "FA_9A",
"label": "۹",
}
"KC_0": {
"key": "FA_0A",
"label": "۰",
}
"KC_MINS": {
"key": "FA_MINS",
"label": "-",
}
"KC_EQL": {
"key": "FA_EQL",
"label": "=",
}
"KC_Q": {
"key": "FA_ZAD",
"label": "ض",
}
"KC_W": {
"key": "FA_SAD",
"label": "ص",
}
"KC_E": {
"key": "FA_SE",
"label": "ث",
}
"KC_R": {
"key": "FA_QAF",
"label": "ق",
}
"KC_T": {
"key": "FA_FE",
"label": "ف",
}
"KC_Y": {
"key": "FA_GHYN",
"label": "غ",
}
"KC_U": {
"key": "FA_EYN",
"label": "ع",
}
"KC_I": {
"key": "FA_HE",
"label": "ه",
}
"KC_O": {
"key": "FA_KHE",
"label": "خ",
}
"KC_P": {
"key": "FA_HEJ",
"label": "ح",
}
"KC_LBRC": {
"key": "FA_JIM",
"label": "ج",
}
"KC_RBRC": {
"key": "FA_CHE",
"label": "چ",
}
"KC_A": {
"key": "FA_SHIN",
"label": "ش",
}
"KC_S": {
"key": "FA_SIN",
"label": "س",
}
"KC_D": {
"key": "FA_YE",
"label": "ی",
}
"KC_F": {
"key": "FA_BE",
"label": "ب",
}
"KC_G": {
"key": "FA_LAM",
"label": "ل",
}
"KC_H": {
"key": "FA_ALEF",
"label": "ا",
}
"KC_J": {
"key": "FA_TE",
"label": "ت",
}
"KC_K": {
"key": "FA_NOON",
"label": "ن",
}
"KC_L": {
"key": "FA_MIM",
"label": "م",
}
"KC_SCLN": {
"key": "FA_KAF",
"label": "ک",
}
"KC_QUOT": {
"key": "FA_GAF",
"label": "گ",
}
"KC_BSLS": {
"key": "FA_BSLS",
"label": "\\",
}
"KC_LT": {
"key": "FA_LT",
"label": "<",
}
"KC_Z": {
"key": "FA_ZA",
"label": "ظ",
}
"KC_X": {
"key": "FA_TA",
"label": "ط",
}
"KC_C": {
"key": "FA_ZE",
"label": "ز",
}
"KC_V": {
"key": "FA_RE",
"label": "ر",
}
"KC_B": {
"key": "FA_ZAL",
"label": "ذ",
}
"KC_N": {
"key": "FA_DAL",
"label": "د",
}
"KC_M": {
"key": "FA_PE",
"label": "پ",
}
"KC_COMM": {
"key": "FA_WAW",
"label": "و",
}
"KC_DOT": {
"key": "FA_DOT",
"label": ".",
}
"KC_SLSH": {
"key": "FA_SLSH",
"label": "/",
}
"KC_SPC": {
"key": "FA_SPC",
"label": " ",
}
/* Shifted symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ ÷ │ ! │ ٬ │ ٫ │ ﷼ │ ٪ │ × │ ، │ * │ ) │ ( │ ـ │ + │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │ │ ْ │ ٌ │ ٍ │ ً │ ُ │ ِ │ َ │ ّ │ ] │ [ │ } │ { │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ ؤ │ ئ │ ي │ إ │ أ │ آ │ ة │ » │ « │ : │ ؛ │ | │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
* │ │ > │ ك │ ٓ │ ژ │ ٰ │ │ ٔ │ ء │ │ │ ؟ │ │
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │ │ │ │ │ │ │ │ │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
"S(FA_ZWJ)": {
"key": "FA_DIV",
"label": "÷",
}
"S(FA_1A)": {
"key": "FA_EXLM",
"label": "!",
}
"S(FA_2A)": {
"key": "FA_THS",
"label": "٬",
}
"S(FA_3A)": {
"key": "FA_DECS",
"label": "٫",
}
"S(FA_4A)": {
"key": "FA_RIAL",
"label": "﷼",
}
"S(FA_5A)": {
"key": "FA_PRCA",
"label": "٪",
}
"S(FA_6A)": {
"key": "FA_MUL",
"label": "×",
}
"S(FA_7A)": {
"key": "FA_COMA",
"label": "،",
}
"S(FA_8A)": {
"key": "FA_ASTR",
"label": "*",
}
"S(FA_9A)": {
"key": "FA_RPRN",
"label": ")",
}
"S(FA_0A)": {
"key": "FA_LPRN",
"label": "(",
}
"S(FA_MINS)": {
"key": "FA_TATW",
"label": "ـ",
}
"S(FA_EQL)": {
"key": "FA_PLUS",
"label": "+",
}
"S(FA_ZAD)": {
"key": "FA_SUK",
"label": "ْ",
}
"S(FA_SAD)": {
"key": "FA_DMTN",
"label": "ٌ",
}
"S(FA_SE)": {
"key": "FA_KSTN",
"label": "ٍ",
}
"S(FA_QAF)": {
"key": "FA_FTHN",
"label": "ً",
}
"S(FA_FE)": {
"key": "FA_DMM",
"label": "ُ",
}
"S(FA_GHYN)": {
"key": "FA_KAS",
"label": "ِ",
}
"S(FA_EYN)": {
"key": "FA_FAT",
"label": "َ",
}
"S(FA_HE)": {
"key": "FA_TSDD",
"label": "",
}
"S(FA_KHE)": {
"key": "FA_RBRC",
"label": "]",
}
"S(FA_HEJ)": {
"key": "FA_LBRC",
"label": "[",
}
"S(FA_JIM)": {
"key": "FA_RCBR",
"label": "}",
}
"S(FA_CHE)": {
"key": "FA_LCBR",
"label": "{",
}
"S(FA_SHIN)": {
"key": "FA_HMZV",
"label": "ؤ",
}
"S(FA_SIN)": {
"key": "FA_HMZY",
"label": "ئ",
}
"S(FA_YE)": {
"key": "FA_YEA",
"label": "ي",
}
"S(FA_BE)": {
"key": "FA_HMZU",
"label": "إ",
}
"S(FA_LAM)": {
"key": "FA_HMZO",
"label": "أ",
}
"S(FA_ALEF)": {
"key": "FA_MALF",
"label": "آ",
}
"S(FA_TE)": {
"key": "FA_TEHM",
"label": "ة",
}
"S(FA_NOON)": {
"key": "FA_RQOT",
"label": "»",
}
"S(FA_MIM)": {
"key": "FA_LQOT",
"label": "«",
}
"S(FA_KAF)": {
"key": "FA_COLN",
"label": ":",
}
"S(FA_GAF)": {
"key": "FA_SCLA",
"label": "؛",
}
"S(FA_LT)": {
"key": "FA_GT",
"label": ">",
}
"S(FA_ZA)": {
"key": "FA_KAFA",
"label": "ك",
}
"S(FA_TA)": {
"key": "FA_MADO",
"label": "ٓ",
}
"S(FA_ZE)": {
"key": "FA_JEH",
"label": "ژ",
}
"S(FA_RE)": {
"key": "FA_SUPA",
"label": "ٰ",
}
"S(FA_ZAL)": {
"key": "FA_ZWNJ",
"label": "(zero-width non-joiner)",
}
"S(FA_DAL)": {
"key": "FA_HMZA",
"label": "ٔ",
}
"S(FA_PE)": {
"key": "FA_HMZ",
"label": "ء",
}
"S(FA_SLSH)": {
"key": "FA_QSA",
"label": "؟",
}
/* AltGr symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ ~ │ ` │ @ │ # │ $ │ % │ ^ │ & │ • │ │ │ _ │ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │ │ ° │ │ € │ │ │ │ │ │ │ │ │ │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ │ │ ى │ │ │ ٱ │ │ ﴿ │ ; │ " │ │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
* │ │ | │ │ │ │ ٖ │ │ ٕ │ … │ , │ ' │ ? │ │
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │ │ │ │ │ │ │ │ │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
"ALGR(FA_ZWJ)": {
"key": "FA_TILD",
"label": "~",
}
"ALGR(FA_1A)": {
"key": "FA_GRV",
"label": "`",
}
"ALGR(FA_2A)": {
"key": "FA_AT",
"label": "@",
}
"ALGR(FA_3A)": {
"key": "FA_HASH",
"label": "#",
}
"ALGR(FA_4A)": {
"key": "FA_DLR",
"label": "$",
}
"ALGR(FA_5A)": {
"key": "FA_PERC",
"label": "%",
}
"ALGR(FA_6A)": {
"key": "FA_CIRC",
"label": "^",
}
"ALGR(FA_7A)": {
"key": "FA_AMPR",
"label": "&",
}
"ALGR(FA_8A)": {
"key": "FA_BULT",
"label": "•",
}
"ALGR(FA_9A)": {
"key": "FA_LRM",
"label": "(left-to-right mark)",
}
"ALGR(FA_0A)": {
"key": "FA_RLM",
"label": "(right-to-left mark)",
}
"ALGR(FA_MINS)": {
"key": "FA_UNDS",
"label": "_",
}
"ALGR(FA_EQL)": {
"key": "FA_DMNS",
"label": " (dead)",
}
"ALGR(FA_ZAD)": {
"key": "FA_DEG",
"label": "°",
}
"ALGR(FA_SE)": {
"key": "FA_EURO",
"label": "€",
}
"ALGR(FA_HE)": {
"key": "FA_LRO",
"label": "(left-to-right override)",
}
"ALGR(FA_KHE)": {
"key": "FA_RLO",
"label": "(right-to-left override)",
}
"ALGR(FA_HEJ)": {
"key": "FA_PDF",
"label": "(pop directional formatting)",
}
"ALGR(FA_JIM)": {
"key": "FA_LRE",
"label": "(left-to-right embedding)",
}
"ALGR(FA_CHE)": {
"key": "FA_RLE",
"label": "(right-to-left embedding)",
}
"ALGR(FA_YE)": {
"key": "FA_ALFM",
"label": "ى",
}
"ALGR(FA_ALEF)": {
"key": "FA_ALFW",
"label": "ٱ",
}
"ALGR(FA_NOON)": {
"key": "FA_LORP",
"label": "",
}
"ALGR(FA_MIM)": {
"key": "FA_RORP",
"label": "﴿",
}
"ALGR(FA_KAF)": {
"key": "FA_SCLN",
"label": ";",
}
"ALGR(FA_GAF)": {
"key": "FA_DQT",
"label": "\"",
}
"ALGR(FA_BSLS)": {
"key": "FA_MINA",
"label": "-",
}
"ALGR(FA_ZA)": {
"key": "FA_PIPE",
"label": "|",
}
"ALGR(FA_RA)": {
"key": "FA_SUBA",
"label": "ٖ",
}
"ALGR(FA_DAL)": {
"key": "FA_HMZB",
"label": "ء",
}
"ALGR(FA_PE)": {
"key": "FA_ELLP",
"label": "…",
}
"ALGR(FA_WAW)": {
"key": "FA_COMM",
"label": ",",
}
"ALGR(FA_DOT)": {
"key": "FA_QUOT",
"label": "'",
}
"ALGR(FA_SLSH)": {
"key": "FA_QUES",
"label": "?",
}
/* Shift+AltGr symbols
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
* │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ │ │ │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
* │ │ ¦ │ │ │ │ │ │ │ │ │ │ │ │
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │ │ │ │ │ │ │ │ │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
"S(ALGR(FA_1A))": {
"key": "FA_1",
"label": "1",
}
"S(ALGR(FA_2A))": {
"key": "FA_2",
"label": "2",
}
"S(ALGR(FA_3A))": {
"key": "FA_3",
"label": "3",
}
"S(ALGR(FA_4A))": {
"key": "FA_4",
"label": "4",
}
"S(ALGR(FA_5A))": {
"key": "FA_5",
"label": "5",
}
"S(ALGR(FA_6A))": {
"key": "FA_6",
"label": "6",
}
"S(ALGR(FA_7A))": {
"key": "FA_7",
"label": "7",
}
"S(ALGR(FA_8A))": {
"key": "FA_8",
"label": "8",
}
"S(ALGR(FA_9A))": {
"key": "FA_9",
"label": "9",
}
"S(ALGR(FA_0A))": {
"key": "FA_0",
"label": "0",
}
"S(ALGR(FA_LT))": {
"key": "FA_BRKP",
"label": "¦",
}
"S(ALGR(FA_SPC))": {
"key": "FA_NNBS",
"label": "(narrow non-breaking space)",
}
}
}

View File

@@ -335,5 +335,9 @@
"key": "ES_CIRC",
"label": "^",
}
"ALGR(KC_NUHS)": {
"key": "ES_GRV",
"label": "`",
}
}
}

View File

@@ -0,0 +1,239 @@
{
"keycodes": {
"0x7810": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_ON",
"aliases": [
"LM_ON"
]
},
"0x7811": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_OFF",
"aliases": [
"LM_OFF"
]
},
"0x7812": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_TOGGLE",
"aliases": [
"LM_TOGG"
]
},
"0x7813": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_MODE_NEXT",
"aliases": [
"LM_NEXT"
]
},
"0x7814": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_MODE_PREVIOUS",
"aliases": [
"LM_PREV"
]
},
"0x7815": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_BRIGHTNESS_UP",
"aliases": [
"LM_BRIU"
]
},
"0x7816": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_BRIGHTNESS_DOWN",
"aliases": [
"LM_BRID"
]
},
"0x7817": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_SPEED_UP",
"aliases": [
"LM_SPDU"
]
},
"0x7818": {
"group": "led_matrix",
"key": "QK_LED_MATRIX_SPEED_DOWN",
"aliases": [
"LM_SPDD"
]
},
"0x7820": {
"group": "underglow",
"key": "QK_UNDERGLOW_TOGGLE",
"aliases": [
"UG_TOGG"
]
},
"0x7821": {
"group": "underglow",
"key": "QK_UNDERGLOW_MODE_NEXT",
"aliases": [
"!reset!",
"UG_NEXT"
]
},
"0x7822": {
"group": "underglow",
"key": "QK_UNDERGLOW_MODE_PREVIOUS",
"aliases": [
"!reset!",
"UG_PREV"
]
},
"0x7823": {
"group": "underglow",
"key": "QK_UNDERGLOW_HUE_UP",
"aliases": [
"UG_HUEU"
]
},
"0x7824": {
"group": "underglow",
"key": "QK_UNDERGLOW_HUE_DOWN",
"aliases": [
"UG_HUED"
]
},
"0x7825": {
"group": "underglow",
"key": "QK_UNDERGLOW_SATURATION_UP",
"aliases": [
"UG_SATU"
]
},
"0x7826": {
"group": "underglow",
"key": "QK_UNDERGLOW_SATURATION_DOWN",
"aliases": [
"UG_SATD"
]
},
"0x7827": {
"group": "underglow",
"key": "QK_UNDERGLOW_VALUE_UP",
"aliases": [
"UG_VALU"
]
},
"0x7828": {
"group": "underglow",
"key": "QK_UNDERGLOW_VALUE_DOWN",
"aliases": [
"UG_VALD"
]
},
"0x7829": {
"group": "underglow",
"key": "QK_UNDERGLOW_SPEED_UP",
"aliases": [
"UG_SPDU"
]
},
"0x782A": {
"group": "underglow",
"key": "QK_UNDERGLOW_SPEED_DOWN",
"aliases": [
"UG_SPDD"
]
},
"0x7840": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_ON",
"aliases": [
"RM_ON"
]
},
"0x7841": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_OFF",
"aliases": [
"RM_OFF"
]
},
"0x7842": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_TOGGLE",
"aliases": [
"RM_TOGG"
]
},
"0x7843": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_MODE_NEXT",
"aliases": [
"RM_NEXT"
]
},
"0x7844": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_MODE_PREVIOUS",
"aliases": [
"RM_PREV"
]
},
"0x7845": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_HUE_UP",
"aliases": [
"RM_HUEU"
]
},
"0x7846": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_HUE_DOWN",
"aliases": [
"RM_HUED"
]
},
"0x7847": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_SATURATION_UP",
"aliases": [
"RM_SATU"
]
},
"0x7848": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_SATURATION_DOWN",
"aliases": [
"RM_SATD"
]
},
"0x7849": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_VALUE_UP",
"aliases": [
"RM_VALU"
]
},
"0x784A": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_VALUE_DOWN",
"aliases": [
"RM_VALD"
]
},
"0x784B": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_SPEED_UP",
"aliases": [
"RM_SPDU"
]
},
"0x784C": {
"group": "rgb_matrix",
"key": "QK_RGB_MATRIX_SPEED_DOWN",
"aliases": [
"RM_SPDD"
]
}
}
}

View File

@@ -0,0 +1,175 @@
{
"keycodes": {
"0x00CD": {
"group": "mouse",
"key": "QK_MOUSE_CURSOR_UP",
"label": "Mouse cursor up",
"aliases": [
"!reset!",
"MS_UP"
]
},
"0x00CE": {
"group": "mouse",
"key": "QK_MOUSE_CURSOR_DOWN",
"label": "Mouse cursor down",
"aliases": [
"!reset!",
"MS_DOWN"
]
},
"0x00CF": {
"group": "mouse",
"key": "QK_MOUSE_CURSOR_LEFT",
"label": "Mouse cursor left",
"aliases": [
"!reset!",
"MS_LEFT"
]
},
"0x00D0": {
"group": "mouse",
"key": "QK_MOUSE_CURSOR_RIGHT",
"label": "Mouse cursor right",
"aliases": [
"!reset!",
"MS_RGHT"
]
},
"0x00D1": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_1",
"label": "Mouse button 1",
"aliases": [
"!reset!",
"MS_BTN1"
]
},
"0x00D2": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_2",
"label": "Mouse button 2",
"aliases": [
"!reset!",
"MS_BTN2"
]
},
"0x00D3": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_3",
"label": "Mouse button 3",
"aliases": [
"!reset!",
"MS_BTN3"
]
},
"0x00D4": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_4",
"label": "Mouse button 4",
"aliases": [
"!reset!",
"MS_BTN4"
]
},
"0x00D5": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_5",
"label": "Mouse button 5",
"aliases": [
"!reset!",
"MS_BTN5"
]
},
"0x00D6": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_6",
"label": "Mouse button 6",
"aliases": [
"!reset!",
"MS_BTN6"
]
},
"0x00D7": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_7",
"label": "Mouse button 7",
"aliases": [
"!reset!",
"MS_BTN7"
]
},
"0x00D8": {
"group": "mouse",
"key": "QK_MOUSE_BUTTON_8",
"label": "Mouse button 8",
"aliases": [
"!reset!",
"MS_BTN8"
]
},
"0x00D9": {
"group": "mouse",
"key": "QK_MOUSE_WHEEL_UP",
"label": "Mouse wheel up",
"aliases": [
"!reset!",
"MS_WHLU"
]
},
"0x00DA": {
"group": "mouse",
"key": "QK_MOUSE_WHEEL_DOWN",
"label": "Mouse wheel down",
"aliases": [
"!reset!",
"MS_WHLD"
]
},
"0x00DB": {
"group": "mouse",
"key": "QK_MOUSE_WHEEL_LEFT",
"label": "Mouse wheel left",
"aliases": [
"!reset!",
"MS_WHLL"
]
},
"0x00DC": {
"group": "mouse",
"key": "QK_MOUSE_WHEEL_RIGHT",
"label": "Mouse wheel right",
"aliases": [
"!reset!",
"MS_WHLR"
]
},
"0x00DD": {
"group": "mouse",
"key": "QK_MOUSE_ACCELERATION_0",
"label": "Set mouse acceleration to 0",
"aliases": [
"!reset!",
"MS_ACL0"
]
},
"0x00DE": {
"group": "mouse",
"key": "QK_MOUSE_ACCELERATION_1",
"label": "Set mouse acceleration to 1",
"aliases": [
"!reset!",
"MS_ACL1"
]
},
"0x00DF": {
"group": "mouse",
"key": "QK_MOUSE_ACCELERATION_2",
"label": "Set mouse acceleration to 2",
"aliases": [
"!reset!",
"MS_ACL2"
]
}
}
}

View File

@@ -19,6 +19,8 @@
// Audio
"AUDIO_DEFAULT_ON": {"info_key": "audio.default.on", "value_type": "bool"},
"AUDIO_DEFAULT_CLICKY_ON": {"info_key": "audio.default.clicky", "value_type": "bool"},
"AUDIO_POWER_CONTROL_PIN": {"info_key": "audio.power_control.pin"},
"AUDIO_POWER_CONTROL_PIN_ON_STATE": {"info_key": "audio.power_control.on_state", "value_type": "int" },
"AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "flag"},
"SENDSTRING_BELL": {"info_key": "audio.macro_beep", "value_type": "flag"},
@@ -70,6 +72,11 @@
"LED_KANA_PIN": {"info_key": "indicators.kana"},
"LED_PIN_ON_STATE": {"info_key": "indicators.on_state", "value_type": "int"},
// Joystick
"JOYSTICK_AXIS_COUNT": {"info_key": "joystick.axis_count", "value_type": "int"},
"JOYSTICK_AXIS_RESOLUTION": {"info_key": "joystick.axis_resolution", "value_type": "int"},
"JOYSTICK_BUTTON_COUNT": {"info_key": "joystick.button_count", "value_type": "int"},
// Leader Key
"LEADER_PER_KEY_TIMING": {"info_key": "leader_key.timing", "value_type": "flag"},
"LEADER_KEY_STRICT_KEY_PROCESSING": {"info_key": "leader_key.strict_processing", "value_type": "flag"},
@@ -162,7 +169,6 @@
"RGBLIGHT_DEFAULT_SAT": {"info_key": "rgblight.default.sat", "value_type": "int"},
"RGBLIGHT_DEFAULT_VAL": {"info_key": "rgblight.default.val", "value_type": "int"},
"RGBLIGHT_DEFAULT_SPD": {"info_key": "rgblight.default.speed", "value_type": "int"},
"RGBW": {"info_key": "rgblight.rgbw", "value_type": "flag"},
// Secure
"SECURE_IDLE_TIMEOUT": {"info_key": "secure.idle_timeout", "value_type": "int"},
@@ -170,7 +176,7 @@
"SECURE_UNLOCK_TIMEOUT": {"info_key": "secure.unlock_timeout", "value_type": "int"},
// Split Keyboard
"SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"},
"SOFT_SERIAL_PIN": {"info_key": "split.serial.pin"},
"SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
"SPLIT_HAND_MATRIX_GRID": {"info_key": "split.handedness.matrix_grid", "value_type": "array", "to_c": false},
"SPLIT_HAND_PIN": {"info_key": "split.handedness.pin"},
@@ -213,6 +219,7 @@
"WS2812_DI_PIN": {"info_key": "ws2812.pin"},
"WS2812_I2C_ADDRESS": {"info_key": "ws2812.i2c_address", "value_type": "hex"},
"WS2812_I2C_TIMEOUT": {"info_key": "ws2812.i2c_timeout", "value_type": "int"},
"WS2812_RGBW": {"info_key": "ws2812.rgbw", "value_type": "flag"},
"LAYOUTS": {"info_key": "layout_aliases", "value_type": "mapping"},
@@ -227,6 +234,7 @@
"PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true},
"QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true},
"RGB_DI_PIN": {"info_key": "rgblight.pin", "invalid": true, "replace_with": "WS2812_DI_PIN or APA102_DI_PIN"},
"RGBW": {"info_key": "rgblight.rgbw", "invalid": true, "replace_with": "WS2812_RGBW"},
"RGB_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "_invalid.rgb_matrix_sleep", "invalid": true, "replace_with": "RGB_MATRIX_SLEEP"},
"RGBLIGHT_ANIMATIONS": {"info_key": "_invalid.rgblight.animations.all", "value_type": "flag", "invalid": true},
"TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "flag", "deprecated": true},

View File

@@ -11,6 +11,7 @@
// invalid: Default `false`. Set to `true` to generate errors when a value exists
// replace_with: use with a key marked deprecated or invalid to designate a replacement
"AUDIO_DRIVER": {"info_key": "audio.driver"},
"BACKLIGHT_DRIVER": {"info_key": "backlight.driver"},
"BLUETOOTH_DRIVER": {"info_key": "bluetooth.driver"},
"BOARD": {"info_key": "board"},
@@ -23,6 +24,9 @@
"ENCODER_ENABLE": {"info_key": "encoder.enabled", "value_type": "bool"},
"ENCODER_DRIVER": {"info_key": "encoder.driver"},
"FIRMWARE_FORMAT": {"info_key": "build.firmware_format"},
"HAPTIC_DRIVER": {"info_key": "haptic.driver"},
"JOYSTICK_DRIVER": {"info_key": "joystick.driver"},
"JOYSTICK_ENABLE": {"info_key": "joystick.enabled", "value_type": "bool"},
"KEYBOARD_SHARED_EP": {"info_key": "usb.shared_endpoint.keyboard", "value_type": "bool"},
"LAYOUTS": {"info_key": "community_layouts", "value_type": "list"},
"LED_MATRIX_DRIVER": {"info_key": "led_matrix.driver"},
@@ -39,11 +43,12 @@
"RGB_MATRIX_DRIVER": {"info_key": "rgb_matrix.driver"},
"RGBLIGHT_DRIVER": {"info_key": "rgblight.driver"},
"SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"},
"SERIAL_DRIVER": {"info_key": "split.serial.driver"},
"SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"},
"SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false},
"STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"},
"STENO_PROTOCOL": {"info_key": "stenography.protocol"},
"WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"},
"USB_WAIT_FOR_ENUMERATION": {"info_key": "usb.wait_for_enumeration", "value_type": "bool"},
"WEAR_LEVELING_DRIVER": {"info_key": "eeprom.wear_leveling.driver"},
"WS2812_DRIVER": {"info_key": "ws2812.driver"},

View File

@@ -306,13 +306,13 @@
"target": "jacky_studio/piggy60/rev1"
},
"jj40": {
"target": "kprepublic/jj40"
"target": "kprepublic/jj40/rev1"
},
"jj4x4": {
"target": "kprepublic/jj4x4"
},
"jj50": {
"target": "kprepublic/jj50"
"target": "kprepublic/jj50/rev1"
},
"jm60": {
"target": "kbdfans/jm60"
@@ -563,6 +563,15 @@
"plain60": {
"target": "evyd13/plain60"
},
"planck/ez": {
"target": "zsa/planck_ez/base"
},
"planck/ez/base": {
"target": "zsa/planck_ez/base"
},
"planck/ez/glow": {
"target": "zsa/planck_ez/glow"
},
"ploopyco/trackball": {
"target": "ploopyco/trackball/rev1_005"
},
@@ -1060,7 +1069,7 @@
"target": "lyso1/lefishe"
},
"lets_split_eh/eh": {
"target": "maple_computing/lets_split_eh/eh"
"target": "maple_computing/lets_split_eh"
},
"ls_60": {
"target": "weirdo/ls_60"
@@ -1080,6 +1089,9 @@
"macro1": {
"target": "laneware/macro1"
},
"maple_computing/lets_split_eh/eh": {
"target": "maple_computing/lets_split_eh"
},
"massdrop/thekey": {
"target": "drop/thekey/v1"
},
@@ -1137,6 +1149,12 @@
"mt980": {
"target": "mt/mt980"
},
"mt/ncr80/hotswap": {
"target": "mt/ncr80/r2/hotswap"
},
"mt/ncr80/solder": {
"target": "mt/ncr80/r2/solder"
},
"nafuda": {
"target": "salicylic_acid3/nafuda"
},
@@ -1518,5 +1536,15 @@
// Moved during 2023 Q4 cycle
"ymdk/melody96": {
"target": "ymdk/melody96/soldered"
},
// Moved during 2024 Q2 cycle
"kprepublic/jj40": {
"target": "kprepublic/jj40/rev1"
},
"kprepublic/jj50": {
"target": "kprepublic/jj50/rev1"
},
"dnworks/9973": {
"target": "dnworks/tkl87"
}
}

View File

@@ -16,12 +16,6 @@
"type": "object",
"additionalProperties": {"type": "boolean"}
},
"build_target": {
"oneOf": [
{"$ref": "#/keyboard_keymap_tuple"},
{"$ref": "#/json_file_path"}
]
},
"filename": {
"type": "string",
"minLength": 1,
@@ -40,7 +34,8 @@
"pattern": "^[0-9a-z_/\\-]+\\.json$"
},
"key_unit": {
"type": "number"
"type": "number",
"minimum": 0
},
"keyboard": {
"type": "string",
@@ -52,6 +47,19 @@
{"$ref": "#/keyboard"},
{"$ref": "#/filename"}
],
"minItems": 2,
"maxItems": 2,
"unevaluatedItems": false
},
"keyboard_keymap_env": {
"type": "array",
"prefixItems": [
{"$ref": "#/keyboard"},
{"$ref": "#/filename"},
{"$ref": "#/kvp_object"}
],
"minItems": 3,
"maxItems": 3,
"unevaluatedItems": false
},
"keycode": {
@@ -86,6 +94,10 @@
"maxLength": 7,
"pattern": "^[A-Z][A-Zs_0-9]*$"
},
"kvp_object": {
"type": "object",
"additionalProperties": {"type": "string"}
},
"layout_macro": {
"oneOf": [
{

View File

@@ -1 +0,0 @@
false

View File

@@ -133,8 +133,20 @@
"clicky": {"type": "boolean"}
}
},
"driver": {
"type": "string",
"enum": ["dac_additive", "dac_basic", "pwm_software", "pwm_hardware"]
},
"macro_beep": {"type": "boolean"},
"pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
"power_control": {
"type": "object",
"additionalProperties": false,
"properties": {
"on_state": {"$ref": "qmk.definitions.v1#/bit"},
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
}
},
"voices": {"type": "boolean"}
}
},
@@ -330,6 +342,36 @@
"on_state": {"$ref": "qmk.definitions.v1#/bit"}
}
},
"joystick": {
"type": "object",
"properties": {
"enabled": {"type": "boolean"},
"driver": {"type": "string"},
"button_count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"axis_resolution": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"axes": {
"type": "object",
"propertyNames": {"enum": ["x", "y", "z", "rx", "ry", "rz"]}
"additionalProperties": {
"oneOf": [
{
"type": "object",
"properties": {
"input_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"low": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"rest": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"high": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
},
{
"type": "string",
"enum": ["virtual"]
}
]
}
}
}
},
"keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
"layout_aliases": {
"type": "object",
@@ -379,6 +421,15 @@
}
}
},
"haptic": {
"type": "object",
"properties": {
"driver": {
"type": "string",
"enum": ["drv2605l", "solenoid"]
}
}
},
"leader_key": {
"type": "object",
"properties": {
@@ -445,6 +496,7 @@
"enum": [
"custom",
"is31fl3218",
"is31fl3236",
"is31fl3729",
"is31fl3731",
"is31fl3733",
@@ -493,8 +545,8 @@
"minimum": 0
}
},
"x": {"$ref": "qmk.definitions.v1#/key_unit"},
"y": {"$ref": "qmk.definitions.v1#/key_unit"},
"x": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"y": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
}
}
@@ -527,6 +579,7 @@
"aw20216s",
"custom",
"is31fl3218",
"is31fl3236",
"is31fl3729",
"is31fl3731",
"is31fl3733",
@@ -578,8 +631,8 @@
"minimum": 0
}
},
"x": {"$ref": "qmk.definitions.v1#/key_unit"},
"y": {"$ref": "qmk.definitions.v1#/key_unit"},
"x": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"y": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
}
}
@@ -638,7 +691,10 @@
"$ref": "qmk.definitions.v1#/mcu_pin",
"$comment": "Deprecated: use ws2812.pin instead"
},
"rgbw": {"type": "boolean"},
"rgbw": {
"type": "boolean",
"$comment": "Deprecated: use ws2812.rgbw instead"
},
"saturation_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"sleep": {"type": "boolean"},
"split": {"type": "boolean"},
@@ -767,19 +823,33 @@
}
}
},
"soft_serial_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"soft_serial_pin": {
"$ref": "qmk.definitions.v1#/mcu_pin",
"$comment": "Deprecated: use split.serial.pin instead"
},
"soft_serial_speed": {
"type": "integer",
"minimum": 0,
"maximum": 5
},
"serial": {
"type": "object",
"additionalProperties": false,
"properties": {
"driver": {
"type": "string",
"enum": ["bitbang", "usart", "vendor"]
},
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
}
},
"transport": {
"type": "object",
"additionalProperties": false,
"properties": {
"protocol": {
"type": "string",
"enum": ["custom", "i2c", "serial", "serial_usart"]
"enum": ["custom", "i2c", "serial"]
},
"sync": {
"type": "object",
@@ -875,7 +945,7 @@
}
},
"suspend_wakeup_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"wait_for": {"type": "boolean"}
"wait_for_enumeration": {"type": "boolean"}
}
},
"qmk": {
@@ -914,6 +984,7 @@
"enum": ["bitbang", "custom", "i2c", "pwm", "spi", "vendor"]
},
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"rgbw": {"type": "boolean"},
"i2c_address": {"$ref": "qmk.definitions.v1#/hex_number_2d"},
"i2c_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}

View File

@@ -1 +0,0 @@
true

View File

@@ -3,6 +3,14 @@
"$id": "qmk.user_repo.v1",
"title": "User Repository Information",
"type": "object",
"definitions": {
"build_target": {
"oneOf": [
{"$ref": "qmk.definitions.v1#/keyboard_keymap_tuple"},
{"$ref": "qmk.definitions.v1#/json_file_path"}
]
},
},
"required": [
"userspace_version",
"build_targets"
@@ -15,7 +23,7 @@
"build_targets": {
"type": "array",
"items": {
"$ref": "qmk.definitions.v1#/build_target"
"$ref": "#/definitions/build_target"
}
}
}

View File

@@ -0,0 +1,31 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema#",
"$id": "qmk.user_repo.v1_1",
"title": "User Repository Information",
"type": "object",
"definitions": {
"build_target": {
"oneOf": [
{"$ref": "qmk.definitions.v1#/keyboard_keymap_tuple"},
{"$ref": "qmk.definitions.v1#/keyboard_keymap_env"},
{"$ref": "qmk.definitions.v1#/json_file_path"}
]
},
},
"required": [
"userspace_version",
"build_targets"
],
"properties": {
"userspace_version": {
"type": "string",
"enum": ["1.1"]
},
"build_targets": {
"type": "array",
"items": {
"$ref": "#/definitions/build_target"
}
}
}
}

View File

@@ -1,20 +0,0 @@
// Copyright %YEAR% %REAL_NAME% (@%USER_NAME%)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

View File

@@ -1,25 +0,0 @@
{
"keyboard_name": "%KEYBOARD%",
"maintainer": "%USER_NAME%",
"manufacturer": "%REAL_NAME%",
"processor": "%MCU%",
"bootloader": "%BOOTLOADER%",
"diode_direction": "COL2ROW",
"matrix_pins": {
"cols": ["C2"],
"rows": ["D1"]
},
"usb": {
"vid": "0xFEED",
"pid": "0x0000",
"device_version": "1.0.0"
},
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
}
}

View File

@@ -0,0 +1,23 @@
{
"keyboard_name": "%KEYBOARD%",
"maintainer": "%USER_NAME%",
"manufacturer": "%REAL_NAME%",
"diode_direction": "COL2ROW",
"matrix_pins": {
"cols": ["C2"],
"rows": ["D1"]
},
"usb": {
"vid": "0xFEED",
"pid": "0x0000",
"device_version": "1.0.0"
},
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
}
}

View File

@@ -1 +0,0 @@
# This file intentionally left blank

View File

@@ -1 +0,0 @@
docs.qmk.fm

View File

@@ -20,7 +20,7 @@ This document marks the inaugural Breaking Change merge. A list of changes follo
* `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()`
* The end result of removing this obsolete feature should result in a decent reduction in firmware size and code complexity
* All keymaps affected are recommended to switch away from `fn_actions` in favour of the [custom keycode](https://docs.qmk.fm/#/custom_quantum_functions) and [macro](https://docs.qmk.fm/#/feature_macros) features
* All keymaps affected are recommended to switch away from `fn_actions` in favour of the [custom keycode](../custom_quantum_functions) and [macro](../feature_macros) features
## Update Atreus to current code conventions
@@ -43,7 +43,7 @@ This document marks the inaugural Breaking Change merge. A list of changes follo
* `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()`
* All keymaps using these actions have had the relevant `KC_FN*` keys replaced with the equivalent `BL_*` keys
* If you currently use `KC_FN*` you will need to replace `fn_actions` with the [custom keycode](https://docs.qmk.fm/#/custom_quantum_functions) and [macro](https://docs.qmk.fm/#/feature_macros) features
* If you currently use `KC_FN*` you will need to replace `fn_actions` with the [custom keycode](../custom_quantum_functions) and [macro](../feature_macros) features
## Remove `KC_DELT` alias in favor of `KC_DEL`

View File

@@ -51,7 +51,7 @@ Four times a year QMK runs a process for merging Breaking Changes. A Breaking Ch
* `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()`
* The end result of removing this obsolete feature should result in a decent reduction in firmware size and code complexity
* All keymaps affected are recommended to switch away from `fn_actions` in favour of the [custom keycode](https://docs.qmk.fm/#/custom_quantum_functions) and [macro](https://docs.qmk.fm/#/feature_macros) features
* All keymaps affected are recommended to switch away from `fn_actions` in favour of the [custom keycode](../custom_quantum_functions) and [macro](../feature_macros) features
## Moving backlight keycode handling to `process_keycode/`

View File

@@ -3,9 +3,9 @@
Four times a year QMK runs a process for merging Breaking Changes. A Breaking Change is any change which modifies how QMK behaves in a way that is incompatible or potentially dangerous. We limit these changes to 4 times per year so that users can have confidence that updating their QMK tree will not break their keymaps.
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### Relocated Keyboards :id=relocated-keyboards
### Relocated Keyboards {#relocated-keyboards}
#### The Key Company project consolidation ([#9547](https://github.com/qmk/qmk_firmware/pull/9547))
#### relocating boards by flehrad to flehrad/ folder ([#9635](https://github.com/qmk/qmk_firmware/pull/9635))
@@ -24,7 +24,7 @@ handwired/numbrero | flehrad/numbrero
snagpad | flehrad/snagpad
handwired/tradestation | flehrad/tradestation
### Updated Keyboard Codebases :id=keyboard-updates
### Updated Keyboard Codebases {#keyboard-updates}
#### Keebio RGB wiring update ([#7754](https://github.com/qmk/qmk_firmware/pull/7754))
@@ -46,7 +46,7 @@ This change affects:
* Quefrency rev1
* Viterbi, revs. 1 and 2
### Changes to Core Functionality :id=core-updates
### Changes to Core Functionality {#core-updates}
* Bigger Combo index ([#9318](https://github.com/qmk/qmk_firmware/pull/9318))
@@ -58,14 +58,14 @@ Any fork that uses `process_combo_event` needs to update the function's first ar
* New function: `void process_combo_event(uint16_t combo_index, bool pressed)`
## Core Changes :id=core-changes
## Core Changes {#core-changes}
### Fixes :id=core-fixes
### Fixes {#core-fixes}
* Mousekeys: scrolling acceleration is no longer coupled to mouse movement acceleration ([#9174](https://github.com/qmk/qmk_firmware/pull/9174))
* Keymap Extras: correctly assign Question Mark in Czech layout ([#9987](https://github.com/qmk/qmk_firmware/pull/9987))
### Additions and Enhancements :id=core-additions
### Additions and Enhancements {#core-additions}
* allow for WS2812 PWM to work on DMAMUX-capable devices ([#9471](https://github.com/qmk/qmk_firmware/pull/9471))
* Newer STM32 MCUs have a DMAMUX peripheral, which allows mapping of DMAs to different DMA streams, rather than hard-defining the target streams in silicon.
@@ -109,7 +109,7 @@ Any fork that uses `process_combo_event` needs to update the function's first ar
* The K-Type has been refactored to use QMK's native matrix scanning routine, and now has partial support for the RGB Matrix feature.
* Joysticks can now be used without defining analog pins ([#10169](https://github.com/qmk/qmk_firmware/pull/10169))
### Clean-ups and Optimizations :id=core-optimizations
### Clean-ups and Optimizations {#core-optimizations}
* iWRAP protocol removed ([#9284](https://github.com/qmk/qmk_firmware/pull/9284))
* work begun for consolidation of ChibiOS platform files ([#8327](https://github.com/qmk/qmk_firmware/pull/8327) and [#9315](https://github.com/qmk/qmk_firmware/pull/9315))
@@ -140,7 +140,7 @@ Any fork that uses `process_combo_event` needs to update the function's first ar
* remove support for Adafruit EZ Key Bluetooth controller ([#10103](https://github.com/qmk/qmk_firmware/pull/10103))
## QMK Infrastructure and Internals :id=qmk-internals
## QMK Infrastructure and Internals {#qmk-internals}
* Attempt to fix CI for non-master branches. ([#9308](https://github.com/qmk/qmk_firmware/pull/9308))
* Actually fetch the branch we're attempting to compare against.

View File

@@ -3,9 +3,9 @@
Four times a year QMK runs a process for merging Breaking Changes. A Breaking Change is any change which modifies how QMK behaves in a way that is incompatible or potentially dangerous. We limit these changes to 4 times per year so that users can have confidence that updating their QMK tree will not break their keymaps.
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### Relocated Keyboards :id=relocated-keyboards
### Relocated Keyboards {#relocated-keyboards}
#### Reduce Helix keyboard build variation ([#8669](https://github.com/qmk/qmk_firmware/pull/8669))
@@ -88,21 +88,21 @@ The Valor and Dawn60 keyboards by Xelus22 both now require their revisions to be
| xelus/valor | xelus/valor/rev1 |
### Updated Keyboard Codebases :id=keyboard-updates
### Updated Keyboard Codebases {#keyboard-updates}
#### AEboards EXT65 Refactor ([#10820](https://github.com/qmk/qmk_firmware/pull/10820))
The EXT65 codebase has been reworked so keymaps can be used with either revision.
## Core Changes :id=core-changes
## Core Changes {#core-changes}
### Fixes :id=core-fixes
### Fixes {#core-fixes}
* Reconnect the USB if users wake up a computer from the keyboard to restore the USB state ([#10088](https://github.com/qmk/qmk_firmware/pull/10088))
* Fix cursor position bug in oled_write_raw functions ([#10800](https://github.com/qmk/qmk_firmware/pull/10800))
### Additions and Enhancements :id=core-additions
### Additions and Enhancements {#core-additions}
* Allow MATRIX_ROWS to be greater than 32 ([#10183](https://github.com/qmk/qmk_firmware/pull/10183))
* Add support for soft serial to ATmega32U2 ([#10204](https://github.com/qmk/qmk_firmware/pull/10204))
@@ -119,7 +119,7 @@ The EXT65 codebase has been reworked so keymaps can be used with either revision
* Add AT90USB support for serial.c ([#10706](https://github.com/qmk/qmk_firmware/pull/10706))
* Auto shift: support repeats and early registration (#9826)
### Clean-ups and Optimizations :id=core-optimizations
### Clean-ups and Optimizations {#core-optimizations}
* Haptic and solenoid cleanup ([#9700](https://github.com/qmk/qmk_firmware/pull/9700))
* XD75 cleanup ([#10524](https://github.com/qmk/qmk_firmware/pull/10524))
@@ -129,7 +129,7 @@ The EXT65 codebase has been reworked so keymaps can be used with either revision
* Remove references to HD44780 ([#10735](https://github.com/qmk/qmk_firmware/pull/10735))
## QMK Infrastructure and Internals :id=qmk-internals
## QMK Infrastructure and Internals {#qmk-internals}
* Add ability to build a subset of all keyboards based on platform. ([#10420](https://github.com/qmk/qmk_firmware/pull/10420))
* Initialise EEPROM drivers at startup, instead of upon first execution ([#10438](https://github.com/qmk/qmk_firmware/pull/10438))

View File

@@ -1,30 +1,30 @@
# QMK Breaking Changes - 2021 May 29 Changelog
## Notable Changes :id=notable-changes
## Notable Changes {#notable-changes}
### RGB Matrix support for split common ([#11055](https://github.com/qmk/qmk_firmware/pull/11055)) :id=rgb-matrix-split-common
### RGB Matrix support for split common ([#11055](https://github.com/qmk/qmk_firmware/pull/11055)) {#rgb-matrix-split-common}
Split boards can now use RGB Matrix without defining a custom matrix.
### Teensy 3.6 support ([#12258](https://github.com/qmk/qmk_firmware/pull/12258)) :id=teensy-3-6-support
### Teensy 3.6 support ([#12258](https://github.com/qmk/qmk_firmware/pull/12258)) {#teensy-3-6-support}
Added support for MK66F18 (Teensy 3.6) microcontroller.
### New command: qmk console ([#12828](https://github.com/qmk/qmk_firmware/pull/12828)) :id=new-command-qmk-console
### New command: qmk console ([#12828](https://github.com/qmk/qmk_firmware/pull/12828)) {#new-command-qmk-console}
A new `qmk console` command has been added for attaching to your keyboard's console. It operates similiarly to QMK Toolbox by allowing you to connect to one or more keyboard consoles to display debugging messages.
### Improved command: qmk config :id=improve-command-qmk-config
### Improved command: qmk config {#improve-command-qmk-config}
We've updated the `qmk config` command to show only the configuration items you have actually set. You can now display (almost) all of the available configuration options, along with their default values, using `qmk config -a`.
### LED Matrix Improvements ([#12509](https://github.com/qmk/qmk_firmware/pull/12509), [#12580](https://github.com/qmk/qmk_firmware/pull/12580), [#12588](https://github.com/qmk/qmk_firmware/pull/12588), [#12633](https://github.com/qmk/qmk_firmware/pull/12633), [#12651](https://github.com/qmk/qmk_firmware/pull/12651), [#12685](https://github.com/qmk/qmk_firmware/pull/12685)) :id=led-matrix-improvements
### LED Matrix Improvements ([#12509](https://github.com/qmk/qmk_firmware/pull/12509), [#12580](https://github.com/qmk/qmk_firmware/pull/12580), [#12588](https://github.com/qmk/qmk_firmware/pull/12588), [#12633](https://github.com/qmk/qmk_firmware/pull/12633), [#12651](https://github.com/qmk/qmk_firmware/pull/12651), [#12685](https://github.com/qmk/qmk_firmware/pull/12685)) {#led-matrix-improvements}
LED Matrix has been improved with effects, CIE1931 curves, and a task system.
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### Updated Keyboard Codebases :id=updated-keyboard-codebases
### Updated Keyboard Codebases {#updated-keyboard-codebases}
* Durgod keyboard refactor in preparation for adding additional durgod keyboards ([#11978](https://github.com/qmk/qmk_firmware/pull/11978))
* Updated Function96 with V2 files and removed chconf.h and halconf.h ([#12613](https://github.com/qmk/qmk_firmware/pull/12613))
@@ -52,7 +52,7 @@ The codebase for the [Durgod K320](https://github.com/qmk/qmk_firmware/tree/0.13
Additionally, the `crkbd/rev1/legacy` keyboard has been removed.
### Bootmagic Deprecation and Refactor ([#12172](https://github.com/qmk/qmk_firmware/pull/12172)) :id=bootmagic-deprecation-and-refactor
### Bootmagic Deprecation and Refactor ([#12172](https://github.com/qmk/qmk_firmware/pull/12172)) {#bootmagic-deprecation-and-refactor}
QMK has decided to deprecate the full Bootmagic feature and leave Bootmagic Lite as the only remaining option.
@@ -68,11 +68,11 @@ This is the current planned roadmap for the behavior of `BOOTMAGIC_ENABLE`:
- From 2021 Aug 28, `BOOTMAGIC_ENABLE` must be either `yes`, `lite`, or `no` setting `BOOTMAGIC_ENABLE = full` will cause compilation to fail.
- From 2021 Nov 27, `BOOTMAGIC_ENABLE` must be either `yes` or `no` setting `BOOTMAGIC_ENABLE = lite` will cause compilation to fail.
### Removal of LAYOUT_kc ([#12160](https://github.com/qmk/qmk_firmware/pull/12160)) :id=removal-of-layout-kc
### Removal of LAYOUT_kc ([#12160](https://github.com/qmk/qmk_firmware/pull/12160)) {#removal-of-layout-kc}
We've removed support for `LAYOUT_kc` macros, if your keymap uses one you will need to update it use a regular `LAYOUT` macro.
### Encoder callbacks are now boolean ([#12805](https://github.com/qmk/qmk_firmware/pull/12805), [#12985](https://github.com/qmk/qmk_firmware/pull/12985)) :id=encoder-callback-boolean
### Encoder callbacks are now boolean ([#12805](https://github.com/qmk/qmk_firmware/pull/12805), [#12985](https://github.com/qmk/qmk_firmware/pull/12985)) {#encoder-callback-boolean}
To allow for keyboards to override (or not) keymap level code the `encoder_update_kb` function has been changed from `void` to `bool`. You will need to update your function definition to reflect this and ensure that you return a `true` or `false` value.
@@ -127,9 +127,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
}
```
## Core Changes :id=core-changes
## Core Changes {#core-changes}
### Fixes :id=core-fixes
### Fixes {#core-fixes}
* Fix connection issue in split keyboards when slave and OLED display are connected via I2C (fixes #9335) ([#11487](https://github.com/qmk/qmk_firmware/pull/11487))
* Terrazzo: Fix wrong LED Matrix function names ([#12561](https://github.com/qmk/qmk_firmware/pull/12561))
@@ -147,7 +147,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
* [Keyboard] Fix Terrazzo build failure ([#12977](https://github.com/qmk/qmk_firmware/pull/12977))
* Do not hard set config in CPTC files ([#11864](https://github.com/qmk/qmk_firmware/pull/11864))
### Additions and Enhancements :id=core-additions
### Additions and Enhancements {#core-additions}
* ARM - Refactor SLEEP_LED to support more platforms ([#8403](https://github.com/qmk/qmk_firmware/pull/8403))
* Add ability to toggle One Shot functionality ([#4198](https://github.com/qmk/qmk_firmware/pull/4198))
@@ -193,7 +193,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
* Backlight: add defines for default level and breathing state ([#12560](https://github.com/qmk/qmk_firmware/pull/12560), [#13024](https://github.com/qmk/qmk_firmware/pull/13024))
* Add dire message about LUFA mass storage bootloader ([#13014](https://github.com/qmk/qmk_firmware/pull/13014))
### Clean-ups and Optimizations :id=core-optimizations
### Clean-ups and Optimizations {#core-optimizations}
* Overhaul bootmagic logic to have single entrypoint ([#8532](https://github.com/qmk/qmk_firmware/pull/8532))
* Refactor of USB code within split_common ([#11890](https://github.com/qmk/qmk_firmware/pull/11890))
@@ -218,7 +218,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
* Deprecate `send_unicode_hex_string()` ([#12602](https://github.com/qmk/qmk_firmware/pull/12602))
* [Keyboard] Remove redundant legacy and common headers for crkbd ([#13023](https://github.com/qmk/qmk_firmware/pull/13023))
### QMK Infrastructure and Internals :id=qmk-internals
### QMK Infrastructure and Internals {#qmk-internals}
* trivial change to trigger api update ([`b15288fb87`](https://github.com/qmk/qmk_firmware/commit/b15288fb87))
* fix some references to bin/qmk that slipped in ([#12832](https://github.com/qmk/qmk_firmware/pull/12832))

View File

@@ -1,28 +1,28 @@
# QMK Breaking Changes - 2021 August 28 Changelog
## Notable Features :id=notable-features
## Notable Features {#notable-features}
### Combo processing improvements ([#8591](https://github.com/qmk/qmk_firmware/pull/8591)) :id=combo-processing-improvements
### Combo processing improvements ([#8591](https://github.com/qmk/qmk_firmware/pull/8591)) {#combo-processing-improvements}
Combo processing has been reordered with respect to keypress handling, allowing for much better compatibility with mod taps.
It is also now possible to define combos that have keys overlapping with other combos, triggering only one. For example, a combo of `A`, `B` can coexist with a longer combo of `A`, `B`, `C` -- previous functionality would trigger both combos if all three keys were pressed.
### Key Overrides ([#11422](https://github.com/qmk/qmk_firmware/pull/11422)) :id=key-overrides
### Key Overrides ([#11422](https://github.com/qmk/qmk_firmware/pull/11422)) {#key-overrides}
QMK now has a new feature: [key overrides](https://docs.qmk.fm/#/feature_key_overrides). This feature allows for overriding the output of key combinations involving modifiers. As an example, pressing <kbd>Shift+2</kbd> normally results in an <kbd>@</kbd> on US-ANSI keyboard layouts -- the new key overrides allow for adding similar functionality, but for any <kbd>modifier + key</kbd> press.
QMK now has a new feature: [key overrides](../features/key_overrides). This feature allows for overriding the output of key combinations involving modifiers. As an example, pressing <kbd>Shift+2</kbd> normally results in an <kbd>@</kbd> on US-ANSI keyboard layouts -- the new key overrides allow for adding similar functionality, but for any <kbd>modifier + key</kbd> press.
To illustrate, it's now possible to use the key overrides feature to translate <kbd>Shift + Backspace</kbd> into <kbd>Delete</kbd> -- an often-requested example of where this functionality comes in handy.
There's far more to describe that what lives in this changelog, so head over to the [key overrides documentation](https://docs.qmk.fm/#/feature_key_overrides) for more examples and info.
There's far more to describe that what lives in this changelog, so head over to the [key overrides documentation](../features/key_overrides) for more examples and info.
### Digitizer support ([#12851](https://github.com/qmk/qmk_firmware/pull/12851))
QMK gained the ability to pretend to be a digitizer device -- much like a tablet device. A mouse uses delta-coordinates -- move up, move right -- but a digitizer works with absolute coordinates -- top left, bottom right.
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### Updated Keyboard Codebases :id=updated-keyboard-codebases
### Updated Keyboard Codebases {#updated-keyboard-codebases}
The following keyboards have had their source moved within QMK:
@@ -69,7 +69,7 @@ xd84pro | xiudi/xd84pro
xd87 | xiudi/xd87
xd96 | xiudi/xd96
### Bootmagic Full Removal ([#13846](https://github.com/qmk/qmk_firmware/pull/13846)) :id=bootmagic-full-removal
### Bootmagic Full Removal ([#13846](https://github.com/qmk/qmk_firmware/pull/13846)) {#bootmagic-full-removal}
As noted during last breaking changes cycle, QMK has decided to deprecate the full Bootmagic feature and leave Bootmagic Lite as the only remaining option.
@@ -85,7 +85,7 @@ This is the current roadmap for the behavior of `BOOTMAGIC_ENABLE`:
- (now) From 2021 Aug 28, `BOOTMAGIC_ENABLE` must be either `yes`, `lite`, or `no` setting `BOOTMAGIC_ENABLE = full` will cause compilation to fail.
- (next) From 2021 Nov 27, `BOOTMAGIC_ENABLE` must be either `yes` or `no` setting `BOOTMAGIC_ENABLE = lite` will cause compilation to fail.
### DIP switch callbacks are now boolean ([#13399](https://github.com/qmk/qmk_firmware/pull/13399)) :id=dip-switch-boolean
### DIP switch callbacks are now boolean ([#13399](https://github.com/qmk/qmk_firmware/pull/13399)) {#dip-switch-boolean}
To match the encoder change last breaking changes cycle, DIP switch callbacks now return `bool`, too.
@@ -149,9 +149,9 @@ bool dip_switch_update_mask_user(uint32_t state) {
}
```
## Notable core changes :id=notable-core
## Notable core changes {#notable-core}
### Split transport improvements :id=split-transport-improvements
### Split transport improvements {#split-transport-improvements}
Split keyboards gained a significant amount of improvements during this breaking changes cycle, specifically:
@@ -160,9 +160,11 @@ Split keyboards gained a significant amount of improvements during this breaking
* Make solo half of split keyboards (more) usable. ([#13523](https://github.com/qmk/qmk_firmware/pull/13523)) -- allows the slave to be disconnected, enabling one-handed use.
* Switch split_common to CRC subsystem ([#13418](https://github.com/qmk/qmk_firmware/pull/13418))
!> If you're updating your split keyboard, you will need to flash both sides of the split with the your firmware.
::: warning
If you're updating your split keyboard, you will need to flash both sides of the split with the your firmware.
:::
### Teensy 4.x support ([#13056](https://github.com/qmk/qmk_firmware/pull/13056), [#13076](https://github.com/qmk/qmk_firmware/pull/13076), [#13077](https://github.com/qmk/qmk_firmware/pull/13077)) :id=teensy-4-x-support
### Teensy 4.x support ([#13056](https://github.com/qmk/qmk_firmware/pull/13056), [#13076](https://github.com/qmk/qmk_firmware/pull/13076), [#13077](https://github.com/qmk/qmk_firmware/pull/13077)) {#teensy-4-x-support}
Updated ChibiOS and ChibiOS-Contrib, which brought in support for Teensy 4.x dev boards, running NXP i.MX1062.
@@ -243,7 +245,7 @@ We've added dozens of new keys to `info.json` so that you can configure more tha
* `usb.force_nkro`, `usb.max_power`, `usb.no_startup_check`, `usb.polling_interval`, `usb.shared_endpoint.keyboard`, `usb.shared_endpoint.mouse`, `usb.suspend_wakeup_delay`, `usb.wait_for`
* `qmk.keys_per_scan`, `qmk.tap_keycode_delay`, `qmk.tap_capslock_delay`
### Codebase restructure and cleanup :id=codebase-restructure
### Codebase restructure and cleanup {#codebase-restructure}
QMK was originally based on TMK, and has grown in size considerably since its first inception. To keep moving things forward, restructure of some of the core areas of the code is needed to support new concepts and new hardware, and progress is happening along those lines:

View File

@@ -1,6 +1,6 @@
# QMK Breaking Changes - 2021 November 27 Changelog
## 2000 keyboards! :id=qmk-2000th-keyboard
## 2000 keyboards! {#qmk-2000th-keyboard}
QMK had it's 2000th keyboard submitted during this breaking changes cycle.... and it only _just_ made the cut-off!
@@ -11,9 +11,9 @@ QMK had it's 2000th keyboard submitted during this breaking changes cycle.... an
From the whole QMK team, a major thankyou to the community for embracing QMK as your preferred keyboard firmware!
## Notable Features :id=notable-features
## Notable Features {#notable-features}
### Expanded Pointing Device support ([#14343](https://github.com/qmk/qmk_firmware/pull/14343)) :id=expanded-pointing-device
### Expanded Pointing Device support ([#14343](https://github.com/qmk/qmk_firmware/pull/14343)) {#expanded-pointing-device}
Pointing device support has been reworked and reimplemented to allow for easier integration of new peripherals.
@@ -31,9 +31,9 @@ QMK now has core-supplied support for the following pointing device peripherals:
| `POINTING_DEVICE_DRIVER = pimoroni_trackball` | Pimoroni Trackball |
| `POINTING_DEVICE_DRIVER = pmw3360` | PMW 3360 |
See the new documentation for the [Pointing Device](../feature_pointing_device.md) feature for more information on specific configuration for each driver.
See the new documentation for the [Pointing Device](../features/pointing_device) feature for more information on specific configuration for each driver.
### Dynamic Tapping Term ([#11036](https://github.com/qmk/qmk_firmware/pull/11036)) :id=dynamic-tapping-term
### Dynamic Tapping Term ([#11036](https://github.com/qmk/qmk_firmware/pull/11036)) {#dynamic-tapping-term}
For people who are starting out with tapping keys, or for people who think tapping keys don't "feel right", it's sometimes quite difficult to determine what duration of tapping term to use to make things seem natural.
@@ -47,9 +47,9 @@ If you're in this stage of discovery, you can now add `DYNAMIC_TAPPING_TERM_ENAB
Coupled with the use of `qmk console` or QMK Toolbox to show console output from your keyboard, you can tweak the tapping term dynamically in order to narrow down what "feels right" to you. Once you're happy, drop in the resulting number into your keymap's `config.h` and you're good to go!
### Macros in JSON keymaps ([#14374](https://github.com/qmk/qmk_firmware/pull/14374)) :id=macros-in-keymap-json
### Macros in JSON keymaps ([#14374](https://github.com/qmk/qmk_firmware/pull/14374)) {#macros-in-keymap-json}
You can now define up to 32 macros in your `keymap.json` file, as used by [QMK Configurator](newbs_building_firmware_configurator.md), and `qmk compile`. You can define these macros in a list under the `macros` keyword, like this:
You can now define up to 32 macros in your `keymap.json` file, as used by [QMK Configurator](../newbs_building_firmware_configurator), and `qmk compile`. You can define these macros in a list under the `macros` keyword, like this:
```json
{
@@ -83,9 +83,9 @@ You can now define up to 32 macros in your `keymap.json` file, as used by [QMK C
In due course, [QMK Configurator](https://config.qmk.fm/) will pick up support for defining these in its UI, but for now the json is the only way to define macros.
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### Updated Keyboard Codebases :id=updated-keyboard-codebases
### Updated Keyboard Codebases {#updated-keyboard-codebases}
The following keyboards have had their source moved within QMK:
@@ -104,21 +104,21 @@ The following keyboards have had their source moved within QMK:
| signum/3_0/elitec | signum/3_0 |
| tgr/jane | tgr/jane/v2 |
### Squeezing space out of AVR ([#15243](https://github.com/qmk/qmk_firmware/pull/15243)) :id=squeezing-space-from-avr
### Squeezing space out of AVR ([#15243](https://github.com/qmk/qmk_firmware/pull/15243)) {#squeezing-space-from-avr}
The AVR platform has been problematic for some time, in the sense that it is severely resource-constrained -- this makes life difficult for anyone attempting to add new functionality such as display panels to their keymap code. The illustrious Drashna has contributed some newer documentation on how to attempt to free up some space on AVR-based keyboards that are in short supply.
Of course, there are much fewer constraints with ARM chips... ;)
### Require explicit enabling of RGB Matrix modes ([#15018](https://github.com/qmk/qmk_firmware/pull/15018)) :id=explicit-rgb-modes
### Require explicit enabling of RGB Matrix modes ([#15018](https://github.com/qmk/qmk_firmware/pull/15018)) {#explicit-rgb-modes}
Related to the previous section -- RGB Matrix modes have now been made to be opt-in, rather than opt-out. As these animations are now opt-in, you may find that your keyboard no longer has all the RGB modes you're expecting -- you may need to configure and recompile your firmware and enable your animations of choice... with any luck they'll still fit in the space available.
Most keyboards keep their original functionality, but over time the QMK maintainers have found that removal of animations ends up being the quickest way to free up space... and some keyboards have had animations such as reactive effects disabled by default in order to still fit within the flash space available.
The full list of configurables to turn specific animations back on can be found at on the [RGB Matrix documentation](feature_rgb_matrix.md#rgb-matrix-effects) page.
The full list of configurables to turn specific animations back on can be found at on the [RGB Matrix documentation](../features/rgb_matrix#rgb-matrix-effects) page.
### OLED task refactoring ([#14864](https://github.com/qmk/qmk_firmware/pull/14864)) :id=oled-task-refactor
### OLED task refactoring ([#14864](https://github.com/qmk/qmk_firmware/pull/14864)) {#oled-task-refactor}
OLED display code was traditionally difficult to override in keymaps as they did not follow the standard pattern of `bool *_kb()` deferring to `bool *_user()` functions, allowing signalling to the higher level that processing had already been done.
@@ -152,7 +152,7 @@ bool oled_task_kb(void) {
}
```
### Bootmagic Full Removal ([#15002](https://github.com/qmk/qmk_firmware/pull/15002)) :id=bootmagic-full-removal
### Bootmagic Full Removal ([#15002](https://github.com/qmk/qmk_firmware/pull/15002)) {#bootmagic-full-removal}
As noted during previous breaking changes cycles, QMK decided to deprecate the full Bootmagic feature and leave Bootmagic Lite as the only remaining option.
@@ -170,13 +170,13 @@ This is the historical timeline for the behavior of `BOOTMAGIC_ENABLE`:
- (done) From 2021 Aug 28, `BOOTMAGIC_ENABLE` must be either `yes`, `lite`, or `no` setting `BOOTMAGIC_ENABLE = full` will cause compilation to fail.
- (now) From 2021 Nov 27, `BOOTMAGIC_ENABLE` must be either `yes` or `no` setting `BOOTMAGIC_ENABLE = lite` will cause compilation to fail.
### Remove QWIIC_DRIVERS ([#14174](https://github.com/qmk/qmk_firmware/pull/14174)) :id=remove-qwiic
### Remove QWIIC_DRIVERS ([#14174](https://github.com/qmk/qmk_firmware/pull/14174)) {#remove-qwiic}
Due to minimal QWIIC adoption and other options for similar functionality, the QWIIC drivers were removed from QMK. Existing OLED usages have been migrated across to the normal QMK OLED driver instead.
## Notable core changes :id=notable-core
## Notable core changes {#notable-core}
### New MCU Support :id=new-mcu-support
### New MCU Support {#new-mcu-support}
QMK firmware picked up support for a handful of new MCU families, potentially making it a bit easier to source components.
@@ -187,7 +187,7 @@ QMK firmware is now no longer limited to AVR and ARM - it also picked up support
* Westberrytech pr ([#14422](https://github.com/qmk/qmk_firmware/pull/14422))
* Initial pass of F405 support ([#14584](https://github.com/qmk/qmk_firmware/pull/14584))
### EEPROM Changes :id=eeprom-changes
### EEPROM Changes {#eeprom-changes}
There were a few EEPROM-related changes that landed during this breaking changes cycle, most prominently the long-awaited ability for the Drop boards to gain persistent storage. Any users of the Drop CTRL or Drop ALT should update QMK Toolbox as well -- coupled with a QMK firmware update settings should now be saved.
@@ -197,7 +197,7 @@ There were a few EEPROM-related changes that landed during this breaking changes
* Further tidy up of STM32 eeprom emulation ([#14591](https://github.com/qmk/qmk_firmware/pull/14591))
* Enable eeprom with F401xE ld ([#14752](https://github.com/qmk/qmk_firmware/pull/14752))
### Compilation Database :id=compile-commands
### Compilation Database {#compile-commands}
A clang-compatible compilation database generator has been added as an option in order to help development environments such as Visual Studio Code.
@@ -208,7 +208,7 @@ Do note that switching keyboards will require re-generation of this file.
* New CLI subcommand to create clang-compatible compilation database (`compile_commands.json`) ([#14370](https://github.com/qmk/qmk_firmware/pull/14370))
* compiledb: query include paths from gcc directly. ([#14462](https://github.com/qmk/qmk_firmware/pull/14462))
### Codebase restructure and cleanup :id=codebase-restructure
### Codebase restructure and cleanup {#codebase-restructure}
QMK continues on its restructuring journey, in order to make it easier to integrate newer features and add support for new hardware. This quarter's batch of changes include:

View File

@@ -1,6 +1,6 @@
# QMK Breaking Changes - 2022 February 26 Changelog
## Notable Features :id=notable-features
## Notable Features {#notable-features}
### Default USB Polling rate now 1kHz ([#15352](https://github.com/qmk/qmk_firmware/pull/15352))
@@ -12,13 +12,13 @@ Something something *Lets go gamers!*
Pointing devices can now be shared across a split keyboard with support for a single pointing device or a pointing device on each side.
See the [Pointing Device](feature_pointing_device.md) documentation for further configuration options.
See the [Pointing Device](../features/pointing_device) documentation for further configuration options.
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### Legacy macro and action_function system removed ([#16025](https://github.com/qmk/qmk_firmware/pull/16025))
The long time deprecated `MACRO()` and `action_get_macro` methods have been removed. Where possible, existing usages have been migrated over to core [Macros](feature_macros.md).
The long time deprecated `MACRO()` and `action_get_macro` methods have been removed. Where possible, existing usages have been migrated over to core [Macros](../feature_macros).
### Create a build error if no bootloader is specified ([#16181](https://github.com/qmk/qmk_firmware/pull/16181))
@@ -31,7 +31,7 @@ Bootloader configuration is no longer assumed. Keyboards must now set either:
In preparation of future bluetooth work, the `AdafruitBLE` integration has been renamed to allow potential for any other Adafruit BLE products.
### Updated Keyboard Codebases :id=updated-keyboard-codebases
### Updated Keyboard Codebases {#updated-keyboard-codebases}
The following keyboards have had their source moved within QMK:
@@ -241,9 +241,9 @@ The following keyboards have had their source moved within QMK:
| zinc/rev1 | 25keys/zinc/rev1 |
| zinc/reva | 25keys/zinc/reva |
## Notable core changes :id=notable-core
## Notable core changes {#notable-core}
### New MCU Support :id=new-mcu-support
### New MCU Support {#new-mcu-support}
Building on previous cycles, QMK firmware picked up support for a couple extra MCU variants:

View File

@@ -1,16 +1,16 @@
# QMK Breaking Changes - 2022 May 28 Changelog
## Notable Features :id=notable-features
## Notable Features {#notable-features}
### Caps Word ([#16588](https://github.com/qmk/qmk_firmware/pull/16588)) :id=caps-word
### Caps Word ([#16588](https://github.com/qmk/qmk_firmware/pull/16588)) {#caps-word}
This is a new feature that allows for capslock-like functionality that turns itself off at the end of the word.
For instance, if you wish to type "QMK" without holding shift the entire time, you can either tap both left and right shift, or double-tap shift, to turn on _Caps Word_ -- then type `qmk` (lowercase) without holding shift. Once you hit any key other than `a`--`z`, `0`--`9`, `-`, `_`, delete, or backspace, this will go back to normal typing!
There are other activation mechanisms as well as configurable options like timeout and the like -- see the [Caps Word documentation](feature_caps_word.md) for more information.
There are other activation mechanisms as well as configurable options like timeout and the like -- see the [Caps Word documentation](../features/caps_word) for more information.
### Quantum Painter ([#10174](https://github.com/qmk/qmk_firmware/pull/10174)) :id=quantum-painter
### Quantum Painter ([#10174](https://github.com/qmk/qmk_firmware/pull/10174)) {#quantum-painter}
QMK has had support for small OLED displays for some time now, but hasn't really gained too much ability to draw to panels other than the SSD1306 or SH1106 panels.
@@ -18,27 +18,31 @@ Quantum Painter is a new drawing subsystem available to suitable ARM and RISC-V
The QMK CLI has new commands added to be able to generate images and fonts for Quantum Painter to digest -- it's even capable of converting animated gifs for display on screen.
See the [Quantum Painter documentation](quantum_painter.md) for more information on how to set up the displays as well as how to convert images and fonts.
See the [Quantum Painter documentation](../quantum_painter) for more information on how to set up the displays as well as how to convert images and fonts.
!> Quantum Painter is not supported on AVR due to complexity and size constraints. Boards based on AVR such as ProMicro or Elite-C builds will not be able to leverage Quantum Painter.
::: warning
Quantum Painter is not supported on AVR due to complexity and size constraints. Boards based on AVR such as ProMicro or Elite-C builds will not be able to leverage Quantum Painter.
:::
### Encoder Mapping ([#13286](https://github.com/qmk/qmk_firmware/pull/13286)) :id=encoder-mapping
### Encoder Mapping ([#13286](https://github.com/qmk/qmk_firmware/pull/13286)) {#encoder-mapping}
One of the long-standing complaints with Encoders is that there has been no easy way to configure them in user keymaps. [#13286](https://github.com/qmk/qmk_firmware/pull/13286) added support for [Encoder Mapping](feature_encoders.md#encoder-map), which allows users to define encoder functionality in a similar way to their normal keymap.
One of the long-standing complaints with Encoders is that there has been no easy way to configure them in user keymaps. [#13286](https://github.com/qmk/qmk_firmware/pull/13286) added support for [Encoder Mapping](../features/encoders#encoder-map), which allows users to define encoder functionality in a similar way to their normal keymap.
!> This is not yet supported by QMK Configurator. It is also unlikely to ever be supported by VIA.
::: warning
This is not yet supported by QMK Configurator. It is also unlikely to ever be supported by VIA.
:::
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### `RESET` => `QK_BOOT` ([#17037](https://github.com/qmk/qmk_firmware/pull/17037)) :id=reset-2-qk_boot
### `RESET` => `QK_BOOT` ([#17037](https://github.com/qmk/qmk_firmware/pull/17037)) {#reset-2-qk_boot}
QMK is always in the process of picking up support for new hardware platforms. One of the side-effects for future integrations has shown that QMK's usage of `RESET` as a keycode is causing naming collisions. As a result, [#17037](https://github.com/qmk/qmk_firmware/pull/17037) changed usages of `RESET` to the new keycode `QK_BOOT` in the majority of default-like keymaps. At this stage the old keycode is still usable but will likely be removed in the next breaking changes cycle. Users with keymaps containing `RESET` should also move to `QK_BOOT`.
### Sendstring keycode overhaul ([#16941](https://github.com/qmk/qmk_firmware/pull/16941)) :id=sendstring-keycodes
### Sendstring keycode overhaul ([#16941](https://github.com/qmk/qmk_firmware/pull/16941)) {#sendstring-keycodes}
Some keycodes used with `SEND_STRING` and its relatives have been deprecated and may have their old keycode usages removed at a later date. The list of [deprecated keycodes](https://github.com/qmk/qmk_firmware/blob/ebd402788346aa6e88bde1486b2a835684d40d39/quantum/send_string_keycodes.h#L456-L505) should be consulted to determine if you're using one of the older names (the first identifier after `#define`) -- you should swap to the newer variant (the second identifier on the same line).
### Pillow Installation ([#17133](https://github.com/qmk/qmk_firmware/pull/17133)) :id=pillow-install
### Pillow Installation ([#17133](https://github.com/qmk/qmk_firmware/pull/17133)) {#pillow-install}
The merge of Quantum Painter added some new dependencies in the QMK CLI, most notably _Pillow_, which requires some installation in order for the CLI to function. If you've got an existing installation, you'll need to run some commands in order to get things working:
@@ -62,7 +66,7 @@ On Linux or WSL:
python3 -m pip install --user --upgrade qmk
```
### Updated Keyboard Codebases :id=updated-keyboard-codebases
### Updated Keyboard Codebases {#updated-keyboard-codebases}
The following keyboards have had their source moved within QMK:
@@ -97,7 +101,7 @@ The following keyboards have had their source moved within QMK:
---
## Full changelist :id=full-changelist
## Full changelist {#full-changelist}
Core:
* Quantum Painter ([#10174](https://github.com/qmk/qmk_firmware/pull/10174))

View File

@@ -1,28 +1,28 @@
# QMK Breaking Changes - 2022 August 27 Changelog
## Notable Features :id=notable-features
## Notable Features {#notable-features}
### Add Raspberry Pi RP2040 support ([#14877](https://github.com/qmk/qmk_firmware/pull/14877), [#17514](https://github.com/qmk/qmk_firmware/pull/17514), [#17516](https://github.com/qmk/qmk_firmware/pull/17516), [#17519](https://github.com/qmk/qmk_firmware/pull/17519), [#17612](https://github.com/qmk/qmk_firmware/pull/17612), [#17512](https://github.com/qmk/qmk_firmware/pull/17512), [#17557](https://github.com/qmk/qmk_firmware/pull/17557), [#17817](https://github.com/qmk/qmk_firmware/pull/17817), [#17839](https://github.com/qmk/qmk_firmware/pull/17839), [#18100](https://github.com/qmk/qmk_firmware/pull/18100)) :id=rp2040-support
### Add Raspberry Pi RP2040 support ([#14877](https://github.com/qmk/qmk_firmware/pull/14877), [#17514](https://github.com/qmk/qmk_firmware/pull/17514), [#17516](https://github.com/qmk/qmk_firmware/pull/17516), [#17519](https://github.com/qmk/qmk_firmware/pull/17519), [#17612](https://github.com/qmk/qmk_firmware/pull/17612), [#17512](https://github.com/qmk/qmk_firmware/pull/17512), [#17557](https://github.com/qmk/qmk_firmware/pull/17557), [#17817](https://github.com/qmk/qmk_firmware/pull/17817), [#17839](https://github.com/qmk/qmk_firmware/pull/17839), [#18100](https://github.com/qmk/qmk_firmware/pull/18100)) {#rp2040-support}
QMK _finally_ picked up support for RP2040-based boards, such as the Raspberry Pi Pico, the Sparkfun Pro Micro RP2040, and the Adafruit KB2040. One of QMK's newest collaborators, _@KarlK90_, effectively did `/micdrop` with RP2040, with a massive set of changes to both QMK and the repository QMK uses for the base platform support, ChibiOS[-Contrib]. There has been a flurry of development this breaking changes cycle related to RP2040 from a large number of contributors -- so much so that almost all standard QMK hardware subsystems are supported.
Check the [RP2040 platform development page](platformdev_rp2040.md) for all supported peripherals and other hardware implementation details.
Check the [RP2040 platform development page](../platformdev_rp2040) for all supported peripherals and other hardware implementation details.
### Allow `qmk flash` to use prebuilt firmware binaries ([#16584](https://github.com/qmk/qmk_firmware/pull/16584)) :id=cli-flash-binaries
### Allow `qmk flash` to use prebuilt firmware binaries ([#16584](https://github.com/qmk/qmk_firmware/pull/16584)) {#cli-flash-binaries}
A long-requested capability of the QMK CLI has been the ability to flash binaries directly, without needing to build a firmware. QMK provides prebuilt `develop`-based default firmwares on our [CI page](https://qmk.tzarc.io/) -- normally people would need [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases/latest) to flash them. This new functionality written by _@Erovia_ allows `qmk flash` to be provided the prebuilt file instead, simplifying the workflow for people who haven't got Toolbox available.
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### Default layers dropped from 32 to 16 ([#15286](https://github.com/qmk/qmk_firmware/pull/15286))
QMK allows for controlling the maximum number of layers it supports through `LAYER_STATE_(8|16|32)BIT`. Each definition allows for the same number of maximum layers -- `LAYER_STATE_8BIT` => 8 layers. There is also a corresponding firmware size decrease that goes along with smaller numbers -- given the vast majority of users don't use more than 16 layers the default has been swapped to 16. AVR users who were not previously specifying their max layer count may see some space freed up as a result.
### `RESET` => `QK_BOOT` ([#17940](https://github.com/qmk/qmk_firmware/pull/17940)) :id=reset-2-qk_boot
### `RESET` => `QK_BOOT` ([#17940](https://github.com/qmk/qmk_firmware/pull/17940)) {#reset-2-qk_boot}
Following the last breaking changes cycle, QMK has been migrating usages of `RESET` to `QK_BOOT` due to naming collisions with our upstream board support packages. [#17940](https://github.com/qmk/qmk_firmware/pull/17940) converts user keymaps across to use the new keycode name. `RESET` should also move to `QK_BOOT`.
### Updated Keyboard Codebases :id=updated-keyboard-codebases
### Updated Keyboard Codebases {#updated-keyboard-codebases}
The following keyboards have had their source moved within QMK:
@@ -33,7 +33,7 @@ The following keyboards have had their source moved within QMK:
| idobao/id80/v1/ansi | idobao/id80/v2/ansi |
| idobao/id80/v1/iso | idobao/id80/v2/iso |
### Data-driven USB IDs Refactoring ([#18152](https://github.com/qmk/qmk_firmware/pull/18152)) :id=usb-ids-Refactoring
### Data-driven USB IDs Refactoring ([#18152](https://github.com/qmk/qmk_firmware/pull/18152)) {#usb-ids-Refactoring}
QMK has decided to deprecate the specification of USB IDs inside `config.h` in favour of `info.json`, eventually leaving data-driven as the only method to specify USB information.
@@ -67,25 +67,25 @@ Replaced by `info.json`:
- From 2022 Aug 27, specifying USB information in `config.h` will produce warnings during build but will still function as previously.
- From 2022 Nov 26, specifying USB information in `config.h` will cause compilation to fail.
## Notable core changes :id=notable-core
## Notable core changes {#notable-core}
### Board converters ([#17514](https://github.com/qmk/qmk_firmware/pull/17514), [#17603](https://github.com/qmk/qmk_firmware/pull/17603), [#17711](https://github.com/qmk/qmk_firmware/pull/17711), [#17827](https://github.com/qmk/qmk_firmware/pull/17827), [#17593](https://github.com/qmk/qmk_firmware/pull/17593), [#17652](https://github.com/qmk/qmk_firmware/pull/17652), [#17595](https://github.com/qmk/qmk_firmware/pull/17595)) :id=board-converters
### Board converters ([#17514](https://github.com/qmk/qmk_firmware/pull/17514), [#17603](https://github.com/qmk/qmk_firmware/pull/17603), [#17711](https://github.com/qmk/qmk_firmware/pull/17711), [#17827](https://github.com/qmk/qmk_firmware/pull/17827), [#17593](https://github.com/qmk/qmk_firmware/pull/17593), [#17652](https://github.com/qmk/qmk_firmware/pull/17652), [#17595](https://github.com/qmk/qmk_firmware/pull/17595)) {#board-converters}
Historically QMK had a `CONVERT_TO_PROTON_C` directive for `rules.mk` to allow people to replace an AVR-based Pro Micro with a QMK Proton C. Global parts shortages have prompted people to create their own pin-compatible boards -- QMK has made this conversion generic and now allows for drop-in replacements for a lot more boards. see the [Converters Feature](feature_converters.md) documentation for the full list of supported replacement boards -- in this breaking changes cycle we've gone from 1 to 7.
Historically QMK had a `CONVERT_TO_PROTON_C` directive for `rules.mk` to allow people to replace an AVR-based Pro Micro with a QMK Proton C. Global parts shortages have prompted people to create their own pin-compatible boards -- QMK has made this conversion generic and now allows for drop-in replacements for a lot more boards. see the [Converters Feature](../feature_converters) documentation for the full list of supported replacement boards -- in this breaking changes cycle we've gone from 1 to 7.
### Add cli command to import keyboard|keymap|kbfirmware ([#16668](https://github.com/qmk/qmk_firmware/pull/16668)) :id=cli-import
### Add cli command to import keyboard|keymap|kbfirmware ([#16668](https://github.com/qmk/qmk_firmware/pull/16668)) {#cli-import}
To help with importing keyboards and keymaps from other sources, _@zvecr_ added [#16668](https://github.com/qmk/qmk_firmware/pull/16668) which adds a new set of commands to the CLI to automatically import keyboards (`qmk import-keyboard -h`), keymaps (`qmk import-keymap -h`), and kbfirmware definitions (`qmk import-kbfirmware -h`) into QMK.
The now-EOL kbfirmware allowed people who aren't set up with QMK the ability to create keyboard firmwares without requiring a full installation of QMK. Unfortunately, it targets a 7-year-old version of QMK -- adding frustration for users who want the newest features, as well as for QMK maintainers who have to spend time explaining why QMK can't just accept a drive-by code drop from kbfirmware. With any luck, this new command helps both camps!
### Generic wear-leveling for EEPROM emulation ([#16996](https://github.com/qmk/qmk_firmware/pull/16996), [#17376](https://github.com/qmk/qmk_firmware/pull/17376), [#18102](https://github.com/qmk/qmk_firmware/pull/18102)) :id=wear-leveling
### Generic wear-leveling for EEPROM emulation ([#16996](https://github.com/qmk/qmk_firmware/pull/16996), [#17376](https://github.com/qmk/qmk_firmware/pull/17376), [#18102](https://github.com/qmk/qmk_firmware/pull/18102)) {#wear-leveling}
QMK has had the ability to write to internal MCU flash in order to emulate EEPROM for some time now, but it was only limited to a small number of MCUs. The base HAL used by QMK for a large number of ARM devices provides a "proper" embedded MCU flash driver, so _@tzarc_ decoupled the wear-leveling algorithm from the old flash writing code, improved it, wrote some tests, and enabled its use for a much larger number of other devices... including RP2040's XIP flash, and external SPI NOR Flash.
See the [EEPROM Driver](eeprom_driver.md) documentation for more information.
See the [EEPROM Driver](../drivers/eeprom) documentation for more information.
### Pointing Device Improvements ([#16371](https://github.com/qmk/qmk_firmware/pull/16371), [#17111](https://github.com/qmk/qmk_firmware/pull/17111), [#17176](https://github.com/qmk/qmk_firmware/pull/17176), [#17482](https://github.com/qmk/qmk_firmware/pull/17482), [#17776](https://github.com/qmk/qmk_firmware/pull/17776), [#17613](https://github.com/qmk/qmk_firmware/pull/17613)) :id=pointing-device-improvements
### Pointing Device Improvements ([#16371](https://github.com/qmk/qmk_firmware/pull/16371), [#17111](https://github.com/qmk/qmk_firmware/pull/17111), [#17176](https://github.com/qmk/qmk_firmware/pull/17176), [#17482](https://github.com/qmk/qmk_firmware/pull/17482), [#17776](https://github.com/qmk/qmk_firmware/pull/17776), [#17613](https://github.com/qmk/qmk_firmware/pull/17613)) {#pointing-device-improvements}
Ever since Pointing Device Driver support and Split Pointing Device support were added by _@drashna_ and _@daskygit_, there has been increased interest in the development of the pointing device subsystem and its associated code.
@@ -102,7 +102,7 @@ Other related changes:
---
## Full changelist :id=full-changelist
## Full changelist {#full-changelist}
Core:
* Tentative Teensy 3.5 support ([#14420](https://github.com/qmk/qmk_firmware/pull/14420))

View File

@@ -1,14 +1,14 @@
# QMK Breaking Changes - 2022 November 26 Changelog
## Notable Features :id=notable-features
## Notable Features {#notable-features}
### Autocorrect ([#15699](https://github.com/qmk/qmk_firmware/pull/15699)) :id=autocorrect
### Autocorrect ([#15699](https://github.com/qmk/qmk_firmware/pull/15699)) {#autocorrect}
_@getreuer_ in their infinite wisdom decided that autocorrect was a feature needed by QMK. As is customary, _@drashna_ adapted it to core and got it into a state that everyone else can use it. See [Feature: Autocorrect](feature_autocorrect.md) for more ifnormation (grin).
_@getreuer_ in their infinite wisdom decided that autocorrect was a feature needed by QMK. As is customary, _@drashna_ adapted it to core and got it into a state that everyone else can use it. See [Feature: Autocorrect](../features/autocorrect) for more ifnormation (grin).
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### Updated Keyboard Codebases :id=updated-keyboard-codebases
### Updated Keyboard Codebases {#updated-keyboard-codebases}
The following keyboards have had their source moved within QMK:
@@ -23,17 +23,19 @@ The following keyboards have had their source moved within QMK:
| handwired/hillside/52 | hillside/52 |
| maple_computing/christmas_tree/V2017 | maple_computing/christmas_tree/v2017 |
### Keycodes refactoring :id=keycodes-overhaul-user-action
### Keycodes refactoring {#keycodes-overhaul-user-action}
QMK's keycodes got a very significant overhaul this breaking changes cycle, with the bulk of the work done by _@zvecr_ and _@fauxpark_ -- renaming, reordering, removing has been their focus in this area. In an attempt to standardise interoperation with host applications, keycode values now have strong versioning so that any connected application has confidence that the keys it thinks exist on the board actually match up with what's compiled in. These strongly-versioned keycode definitions are now published online and will not change, so tools that remap keycodes have a reference to work with. In future versions of QMK, any new or changed keycodes will result in a new version specification. See [API docs](api_docs.md#qmk-constants) for more information on the published versions if you're writing a tool to manage keycodes.
QMK's keycodes got a very significant overhaul this breaking changes cycle, with the bulk of the work done by _@zvecr_ and _@fauxpark_ -- renaming, reordering, removing has been their focus in this area. In an attempt to standardise interoperation with host applications, keycode values now have strong versioning so that any connected application has confidence that the keys it thinks exist on the board actually match up with what's compiled in. These strongly-versioned keycode definitions are now published online and will not change, so tools that remap keycodes have a reference to work with. In future versions of QMK, any new or changed keycodes will result in a new version specification. See [API docs](../api_docs#qmk-constants) for more information on the published versions if you're writing a tool to manage keycodes.
In most cases user keymaps in the repository have already been updated to reflect the new naming scheme. In some cases user keymaps outside the repository may strike a missing keycode with the old name -- it's highly likely that the name had already been deprecated for some time, and should have been updated previously.
See below for the full list of changesets.
!> Keycode aliases have been put in place in most cases to cater for "old names" being mapped to "new names" -- the documentation already reflects all the new naming of keys.
::: warning
Keycode aliases have been put in place in most cases to cater for "old names" being mapped to "new names" -- the documentation already reflects all the new naming of keys.
:::
### Configuration Item Refactoring :id=config-refactoring
### Configuration Item Refactoring {#config-refactoring}
A number of configuration items have been renamed for consistency.
@@ -66,7 +68,7 @@ Joystick configuration:
| JOYSTICK_AXES_COUNT | JOYSTICK_AXIS_COUNT |
| JOYSTICK_AXES_RESOLUTION | JOYSTICK_AXIS_RESOLUTION |
### Data-driven USB IDs Refactoring ([#18152](https://github.com/qmk/qmk_firmware/pull/18152)) :id=usb-ids-Refactoring
### Data-driven USB IDs Refactoring ([#18152](https://github.com/qmk/qmk_firmware/pull/18152)) {#usb-ids-Refactoring}
QMK has decided to deprecate the specification of USB IDs inside `config.h` in favour of `info.json`, leaving data-driven as the only method to specify USB information. As per the deprecation schedule put forward last breaking changes cycle, USB information must be specified in `info.json` instead.
@@ -92,7 +94,7 @@ Replaced by `info.json`:
}
```
### LED Indicator callback refactoring ([#14864](https://github.com/qmk/qmk_firmware/pull/18450)) :id=led-callback-refactor
### LED Indicator callback refactoring ([#14864](https://github.com/qmk/qmk_firmware/pull/18450)) {#led-callback-refactor}
_RGB Matrix_ and _LED Matrix_ Indicator display code was traditionally difficult to override in keymaps as they did not follow the standard pattern of `bool *_kb()` deferring to `bool *_user()` functions, allowing signalling to the higher level that processing had already been done.
@@ -128,15 +130,15 @@ bool rgb_matrix_indicators_kb(void) {
The equivalent transformations should be done for LED Matrix boards.
### Unicode mode refactoring :id=unicode-mode-renaming
### Unicode mode refactoring {#unicode-mode-renaming}
Unicode modes were renamed in order to prevent collision with equivalent keycodes. The available values for `UNICODE_SELECTED_MODES` changed -- see [Feature: Unicode](feature_unicode.md#setting-the-input-mode) for the new list of values and how to configure them.
Unicode modes were renamed in order to prevent collision with equivalent keycodes. The available values for `UNICODE_SELECTED_MODES` changed -- see [Feature: Unicode](../features/unicode#setting-the-input-mode) for the new list of values and how to configure them.
## Notable core changes :id=notable-core
## Notable core changes {#notable-core}
This breaking changes cycle, a lot of the core changes are related to cleanup and refactoring -- commonly called "tech debt".
### Keycodes refactoring :id=keycodes-overhaul-core-changes
### Keycodes refactoring {#keycodes-overhaul-core-changes}
We aren't going to list each and every change -- they're far too numerous -- instead, we'll just list the related PRs in order to convey just how wide-reaching these changes were:
@@ -181,7 +183,7 @@ We aren't going to list each and every change -- they're far too numerous -- ins
* Remove legacy sendstring keycodes ([#18749](https://github.com/qmk/qmk_firmware/pull/18749))
* Reworked backlight keycodes. ([#18961](https://github.com/qmk/qmk_firmware/pull/18961))
### Board Converters :id=board-converters
### Board Converters {#board-converters}
There was additional work in the space of board converters -- historically QMK allowed for "converting" a Pro Micro build to a QMK Proton-C build. The last few versions of QMK have added support for replacement boards much like the Proton-C, and this quarter was no exception:
@@ -191,9 +193,9 @@ There was additional work in the space of board converters -- historically QMK a
* Add Elite-Pi converter ([#18236](https://github.com/qmk/qmk_firmware/pull/18236))
* Allow QK_MAKE to work with converters ([#18637](https://github.com/qmk/qmk_firmware/pull/18637))
See [Feature: Converters](feature_converters.md) for the full list of board conversions available.
See [Feature: Converters](../feature_converters) for the full list of board conversions available.
### Pointing and Digitizer device updates :id=pointing-and-digitizer
### Pointing and Digitizer device updates {#pointing-and-digitizer}
Both pointing devices and digitizer got a host of updates this cycle. Inertia, automatic mouse layers, fixes for preventing sleep... you even get more buttons with digitizers!
@@ -207,7 +209,7 @@ Both pointing devices and digitizer got a host of updates this cycle. Inertia, a
* Invert pointing device motion pin for cirque touchpads ([#18404](https://github.com/qmk/qmk_firmware/pull/18404))
* Refactor more host code (programmable button & digitizer) ([#18565](https://github.com/qmk/qmk_firmware/pull/18565))
## Full changelist :id=full-changelist
## Full changelist {#full-changelist}
Core:
* quantum: led: split out led_update_ports() for customization of led behaviour ([#14452](https://github.com/qmk/qmk_firmware/pull/14452))

View File

@@ -1,8 +1,8 @@
# QMK Breaking Changes - 2023 February 26 Changelog
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### `IGNORE_MOD_TAP_INTERRUPT` behaviour changes ([#15741](https://github.com/qmk/qmk_firmware/pull/15741)) :id=i-m-t-i
### `IGNORE_MOD_TAP_INTERRUPT` behaviour changes ([#15741](https://github.com/qmk/qmk_firmware/pull/15741)) {#i-m-t-i}
`IGNORE_MOD_TAP_INTERRUPT_PER_KEY` has been removed and `IGNORE_MOD_TAP_INTERRUPT` deprecated as a stepping stone towards making `IGNORE_MOD_TAP_INTERRUPT` the new default behavior for mod-taps in the future.
@@ -46,9 +46,9 @@ bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
}
```
For more information, you are invited to read the sections on [IGNORE_MOD_TAP_INTERRUPT](tap_hold.md#ignore-mod-tap-interrupt) and [HOLD_ON_OTHER_KEY_PRESS](tap_hold.md#hold-on-other-key-press) in the page on [Tap-Hold configuration options](tap_hold.md).
For more information, you are invited to read the sections on [IGNORE_MOD_TAP_INTERRUPT](../tap_hold#ignore-mod-tap-interrupt) and [HOLD_ON_OTHER_KEY_PRESS](../tap_hold#hold-on-other-key-press) in the page on [Tap-Hold configuration options](../tap_hold).
### `TAPPING_FORCE_HOLD` => `QUICK_TAP_TERM` ([#17007](https://github.com/qmk/qmk_firmware/pull/17007)) :id=quick-tap-term
### `TAPPING_FORCE_HOLD` => `QUICK_TAP_TERM` ([#17007](https://github.com/qmk/qmk_firmware/pull/17007)) {#quick-tap-term}
`TAPPING_FORCE_HOLD` feature is now replaced by `QUICK_TAP_TERM`. Instead of turning off auto-repeat completely, user will have the option to configure a `QUICK_TAP_TERM` in milliseconds. When the user holds a tap-hold key after tapping it within `QUICK_TAP_TERM`, QMK will send the tap keycode to the host, enabling auto-repeat.
@@ -80,9 +80,9 @@ uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
}
```
For more details, please read the updated documentation section on [Quick Tap Term](tap_hold.md#quick-tap-term).
For more details, please read the updated documentation section on [Quick Tap Term](../tap_hold#quick-tap-term).
### Leader Key Rework :id=leader-key-rework ([#19632](https://github.com/qmk/qmk_firmware/pull/19632))
### Leader Key Rework {#leader-key-rework ([#19632](https://github.com/qmk/qmk_firmware/pull/19632))}
The Leader Key feature API has been significantly improved, along with some bugfixes and added tests.
@@ -106,9 +106,9 @@ void leader_end_user(void) {
}
```
For more information please see the [Leader Key documentation](feature_leader_key.md).
For more information please see the [Leader Key documentation](../features/leader_key).
### Updated Keyboard Codebases :id=updated-keyboard-codebases
### Updated Keyboard Codebases {#updated-keyboard-codebases}
The following keyboards have had their source moved within QMK:
@@ -130,7 +130,7 @@ The following keyboards have had their source moved within QMK:
| the_uni | stenothe_uni |
| xelus/xs60 | xelus/xs60/soldered |
## Notable core changes :id=notable-core
## Notable core changes {#notable-core}
As per last breaking changes cycle, there has been _a lot_ of emphasis on behind-the-scenes changes, mainly around consolidation of core subsystems and constant values, as well as addressing tech debt. Whilst not outwardly visible, this cleanup and refactoring should start paying dividends as it simplifies future development and maintenance.
@@ -142,7 +142,7 @@ A handful of examples:
* Many more configuration options have moved into `info.json`, such as backlight, encoders
* Additional unit tests to ensure keycode behaviours don't accidentally change
## Full changelist :id=full-changelist
## Full changelist {#full-changelist}
Core:
* Remove IGNORE_MOD_TAP_INTERRUPT_PER_KEY in favour of HOLD_ON_OTHER_KEY_PRESS_PER_KEY ([#15741](https://github.com/qmk/qmk_firmware/pull/15741))

View File

@@ -1,6 +1,6 @@
# QMK Breaking Changes - 2023 May 28 Changelog
## Notable Changes :id=notable-changes
## Notable Changes {#notable-changes}
As per last breaking changes cycle, there has been _a lot_ of emphasis on behind-the-scenes changes, mainly around migration of configurables into `info.json` files, cleanup of `info.json` files, additional layout definitions for keyboards, adding support for general community layouts to keyboards, as well as addressing technical debt.
@@ -20,11 +20,11 @@ Of note for keyboard designers:
* `encoder_map[][NUM_ENCODERS][2]` => `encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS]`
* Users assumed the `2` referred to the number of encoders, rather than the number of directions (which is always 2)
### Repeat last key ([#19700](https://github.com/qmk/qmk_firmware/pull/19700)) :id=repeat-last-key
### Repeat last key ([#19700](https://github.com/qmk/qmk_firmware/pull/19700)) {#repeat-last-key}
A new pair of keys has been added to QMK -- namely `QK_REPEAT_KEY` and `QK_ALT_REPEAT_KEY` (shortened: `QK_REP`/`QK_AREP`). These allow you to repeat the last key pressed, or in the case of the alternate key, press the "opposite" of the last key. For example, if you press `KC_LEFT`, pressing `QK_REPEAT_KEY` afterwards repeats `KC_LEFT`, but pressing `QK_ALT_REPEAT_KEY` instead sends `KC_RIGHT`.
The full list of default alternate keys is available on the [Repeat Key](feature_repeat_key.md) documentation.
The full list of default alternate keys is available on the [Repeat Key](../features/repeat_key) documentation.
To enable these keys, in your keymap's `rules.mk`, add:
@@ -34,27 +34,27 @@ REPEAT_KEY_ENABLE = yes
...and add them to your keymap.
### User callback for pre process record ([#20584](https://github.com/qmk/qmk_firmware/pull/20584)) :id=user-callback-for-pre-process-record
### User callback for pre process record ([#20584](https://github.com/qmk/qmk_firmware/pull/20584)) {#user-callback-for-pre-process-record}
Two new boolean callback functions, `pre_process_record_kb` and `pre_process_record_user`, have been added. They are called at the beginning of `process_record`, right before `process_combo`.
Similar to existing `*_kb` and `*_user` callback functions, returning `false` will halt further processing of key events. The `pre_process_record_user` function will allow user space opportunity to handle or capture an input before it undergoes quantum processing. For example, while action tapping is still resolving the tap or hold output of a mod-tap key, `pre_process_record_user` can capture the next key record of an input event that follows. That key record can be used to influence the [decision of the mod-tap](https://docs.qmk.fm/#/tap_hold) key that is currently undergoing quantum processing.
Similar to existing `*_kb` and `*_user` callback functions, returning `false` will halt further processing of key events. The `pre_process_record_user` function will allow user space opportunity to handle or capture an input before it undergoes quantum processing. For example, while action tapping is still resolving the tap or hold output of a mod-tap key, `pre_process_record_user` can capture the next key record of an input event that follows. That key record can be used to influence the [decision of the mod-tap](../tap_hold) key that is currently undergoing quantum processing.
### Consolidate modelm ([#14996](https://github.com/qmk/qmk_firmware/pull/14996) :id=consolidate-modelm
### Consolidate modelm ([#14996](https://github.com/qmk/qmk_firmware/pull/14996) {#consolidate-modelm}
Several build targets for the IBM Model M were cluttered in different folders. The maintainers of several Model M replacement controller projects agreed to consolidate them under one common folder.
The list of all moved keyboard locations is listed [below](20230528.md#updated-keyboard-codebases).
The list of all moved keyboard locations is listed [below](20230528#updated-keyboard-codebases).
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### `IGNORE_MOD_TAP_INTERRUPT` behaviour changes ([#20211](https://github.com/qmk/qmk_firmware/pull/20211)) :id=i-m-t-i
### `IGNORE_MOD_TAP_INTERRUPT` behaviour changes ([#20211](https://github.com/qmk/qmk_firmware/pull/20211)) {#i-m-t-i}
Following up from the last breaking changes cycle, `IGNORE_MOD_TAP_INTERRUPT` has been removed and if present in keymap code, will now fail to build. The previous functionality for `IGNORE_MOD_TAP_INTERRUPT` is now default, and should you wish to revert to the old behaviour, you can use `HOLD_ON_OTHER_KEY_PRESS` instead.
For more information, you are invited to read the section on [HOLD_ON_OTHER_KEY_PRESS](tap_hold.md#hold-on-other-key-press) in the page on [Tap-Hold configuration options](tap_hold.md).
For more information, you are invited to read the section on [HOLD_ON_OTHER_KEY_PRESS](../tap_hold#hold-on-other-key-press) in the page on [Tap-Hold configuration options](../tap_hold).
### Updated Keyboard Codebases :id=updated-keyboard-codebases
### Updated Keyboard Codebases {#updated-keyboard-codebases}
| Old Keyboard Name | New Keyboard Name |
|---------------------------------|-------------------------------------|
@@ -77,9 +77,9 @@ For more information, you are invited to read the section on [HOLD_ON_OTHER_KEY_
| tronguylabs/m122_3270/teensy | ibm/model_m_122/m122_3270/teensy |
| yugo_m/model_m_101 | ibm/model_m/yugo_m |
## Notable core changes :id=notable-core
## Notable core changes {#notable-core}
### Encoder functionality fallback ([#20320](https://github.com/qmk/qmk_firmware/pull/20320)) :id=encoder-functionality-fallback
### Encoder functionality fallback ([#20320](https://github.com/qmk/qmk_firmware/pull/20320)) {#encoder-functionality-fallback}
For keyboards who have not yet been migrated to encoder map, a default set of encoder functionality is now enabled, gracefully degrading functionality depending on which flags are enabled by the keyboard:
@@ -89,13 +89,13 @@ For keyboards who have not yet been migrated to encoder map, a default set of en
Additionally, this ensures that builds on QMK Configurator produce some sort of usable encoder mapping.
### OLED Driver Improvements ([#20331](https://github.com/qmk/qmk_firmware/pull/20331)) :id=oled-driver-improvements
### OLED Driver Improvements ([#20331](https://github.com/qmk/qmk_firmware/pull/20331)) {#oled-driver-improvements}
The "classic" OLED driver picked up support for additional sizes of OLED displays, support for the SH1107 controller, and SPI-based OLED support.
Other configurable items are available and can be found on the [OLED Driver page](https://docs.qmk.fm/#/feature_oled_driver).
Other configurable items are available and can be found on the [OLED Driver page](../features/oled_driver).
## Full changelist :id=full-changelist
## Full changelist {#full-changelist}
Core:
* Refactor `keyevent_t` for 1ms timing resolution ([#15847](https://github.com/qmk/qmk_firmware/pull/15847))

View File

@@ -1,14 +1,14 @@
# QMK Breaking Changes - 2023 Aug 27 Changelog
## Notable Changes :id=notable-changes
## Notable Changes {#notable-changes}
As per last few breaking changes cycles, there have been _a lot_ of behind-the-scenes changes, mainly around migration of configurables into `info.json` files, cleanup of `info.json` files, additional layout definitions for keyboards, adding support for general community layouts to keyboards, as well as addressing technical debt.
One thing to note for this release -- `qmk/qmk_firmware` is no longer accepting PRs for keymaps other than for manufacturer-supported keymaps. User keymap workflow has been documented [here](https://docs.qmk.fm/#/newbs) for several years. This change is to progressively reduce the maintenance burden on the project, and to allow us to focus on the core features of QMK.
One thing to note for this release -- `qmk/qmk_firmware` is no longer accepting PRs for keymaps other than for manufacturer-supported keymaps. User keymap workflow has been documented [here](../newbs) for several years. This change is to progressively reduce the maintenance burden on the project, and to allow us to focus on the core features of QMK.
Existing user keymaps and userspace areas will likely be relocated/removed in the future -- non-building keymaps and userspace will be first targets, likely during the new breaking changes cycle. We will provide more information on Discord regarding this initiative as it becomes available.
### RGB Matrix optimizations ([#21134](https://github.com/qmk/qmk_firmware/pull/21134), [#21135](https://github.com/qmk/qmk_firmware/pull/21135)) :id=rgb-matrix-optimizations
### RGB Matrix optimizations ([#21134](https://github.com/qmk/qmk_firmware/pull/21134), [#21135](https://github.com/qmk/qmk_firmware/pull/21135)) {#rgb-matrix-optimizations}
Most RGB Matrix implementations now check whether or not RGB LED data has changed and skip transmission if it hasn't. This was measured to improve scan frequency in cases of static or infrequently-changing colors.
@@ -18,9 +18,9 @@ Some audio code relating to "notes" used `double` datatypes, which are implement
AVR sees minimal (if any) benefit -- `double` was interpreted as `float` on AVR anyway.
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### Updated Keyboard Codebases :id=updated-keyboard-codebases
### Updated Keyboard Codebases {#updated-keyboard-codebases}
| Old Keyboard Name | New Keyboard Name |
|---------------------------------------|-------------------------------------|
@@ -40,11 +40,11 @@ AVR sees minimal (if any) benefit -- `double` was interpreted as `float` on AVR
| modelh | ibm/model_m/modelh |
| vinta | coarse/vinta |
### Remove encoder in-matrix workaround code ([#20389](https://github.com/qmk/qmk_firmware/pull/20389)) :id=remove-encoder-in-matrix-workaround-code
### Remove encoder in-matrix workaround code ([#20389](https://github.com/qmk/qmk_firmware/pull/20389)) {#remove-encoder-in-matrix-workaround-code}
Some keyboards "hacked" encoder support into spare slots in the key matrix in order to interoperate with VIA. This workaround is no longer necessary, and the code has been removed. If you have a keyboard that uses this workaround, you will need to update your keymap to use the new [Encoder Map](feature_encoders.md#encoder-map) API instead.
Some keyboards "hacked" encoder support into spare slots in the key matrix in order to interoperate with VIA. This workaround is no longer necessary, and the code has been removed. If you have a keyboard that uses this workaround, you will need to update your keymap to use the new [Encoder Map](../features/encoders#encoder-map) API instead.
### Unicodemap keycodes rename ([#21092](https://github.com/qmk/qmk_firmware/pull/21092)) :id=unicodemap-keycodes-rename
### Unicodemap keycodes rename ([#21092](https://github.com/qmk/qmk_firmware/pull/21092)) {#unicodemap-keycodes-rename}
The Unicodemap keycodes have been renamed:
@@ -53,11 +53,11 @@ The Unicodemap keycodes have been renamed:
| `X(i)` | `UM(i)` |
| `XP(i,j)` | `UP(i,j)` |
### Remove old OLED API code ([#21651](https://github.com/qmk/qmk_firmware/pull/21651)) :id=remove-old-oled-api-code
### Remove old OLED API code ([#21651](https://github.com/qmk/qmk_firmware/pull/21651)) {#remove-old-oled-api-code}
Old OLED code using `ssd1306.c` `ssd1306.h`, and `SSD1306OLED` and other similar files have been consolidated to use the standard OLED driver. External user keymaps will need to be updated to use the standard OLED driver accordingly.
### Driver naming consolidation ([#21551](https://github.com/qmk/qmk_firmware/pull/21551), [#21558](https://github.com/qmk/qmk_firmware/pull/21558), [#21580](https://github.com/qmk/qmk_firmware/pull/21580), [#21594](https://github.com/qmk/qmk_firmware/pull/21594), [#21624](https://github.com/qmk/qmk_firmware/pull/21624), [#21710](https://github.com/qmk/qmk_firmware/pull/21710)) :id=driver-naming-consolidation
### Driver naming consolidation ([#21551](https://github.com/qmk/qmk_firmware/pull/21551), [#21558](https://github.com/qmk/qmk_firmware/pull/21558), [#21580](https://github.com/qmk/qmk_firmware/pull/21580), [#21594](https://github.com/qmk/qmk_firmware/pull/21594), [#21624](https://github.com/qmk/qmk_firmware/pull/21624), [#21710](https://github.com/qmk/qmk_firmware/pull/21710)) {#driver-naming-consolidation}
In most circumstances this won't affect users -- only keyboard designers with currently-unmerged boards. The only users affected are people who have modified existing keyboards in order to add/modify haptics, lighting, or bluetooth -- and only if the base keyboard did not configure them already. Driver naming has been modified to be lowercase.
@@ -116,7 +116,7 @@ Bluetooth (`BLUETOOTH_DRIVER` / `bluetooth.driver`):
| `BluefruitLE` | `bluefruit_le` |
| `RN42` | `rn42` |
## Full changelist :id=full-changelist
## Full changelist {#full-changelist}
Core:
* On-each-release tap dance function ([#20255](https://github.com/qmk/qmk_firmware/pull/20255))

View File

@@ -1,14 +1,14 @@
# QMK Breaking Changes - 2023 November 26 Changelog
## Notable Features :id=notable-features
## Notable Features {#notable-features}
As per last few breaking changes cycles, there have been _a lot_ of behind-the-scenes changes, mainly around consolidation of config into `info.json` files, cleanup of `info.json` files, cleaning up driver naming, as well as addressing technical debt.
As a followup to last cycle's [notable changes](20230827.md#notable-changes), as `qmk/qmk_firmware` is no longer accepting PRs for keymaps we're pleased to announce that storing and building keymaps externally from the normal QMK Firmware repository is now possible. This is done through the new [External Userspace](newbs_external_userspace.md) feature, more details below!
As a followup to last cycle's [notable changes](20230827#notable-changes), as `qmk/qmk_firmware` is no longer accepting PRs for keymaps we're pleased to announce that storing and building keymaps externally from the normal QMK Firmware repository is now possible. This is done through the new [External Userspace](../newbs_external_userspace) feature, more details below!
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### Updated Keyboard Codebases :id=updated-keyboard-codebases
### Updated Keyboard Codebases {#updated-keyboard-codebases}
| Old Keyboard Name | New Keyboard Name |
|---------------------------------------|-------------------------------|
@@ -29,29 +29,31 @@ As a followup to last cycle's [notable changes](20230827.md#notable-changes), as
| studiokestra/line_tkl | studiokestra/line_friends_tkl |
| ymdk/melody96 | ymdk/melody96/soldered |
## Notable core changes :id=notable-core
## Notable core changes {#notable-core}
### External Userspace ([#22222](https://github.com/qmk/qmk_firmware/pull/22222))
As mentioned above, the new External Userspace feature allows for keymaps to be stored and built externally from the main QMK Firmware repository. This allows for keymaps to be stored separately -- usually in their own repository -- and for users to be able to maintain and build their keymaps without needing to fork the main QMK Firmware repository.
See the [External Userspace documentation](newbs_external_userspace.md) for more details.
See the [External Userspace documentation](../newbs_external_userspace) for more details.
A significant portion of user keymaps have already been removed from `qmk/qmk_firmware` and more will follow in coming weeks. You can still recover your keymap from the tag [user-keymaps-still-present](https://github.com/qmk/qmk_firmware/tree/user-keymaps-still-present) if required -- a perfect time to migrate to the new External Userspace!
!> This feature is still in beta, and we're looking for feedback on it. Please try it out and let us know what you think -- a new `#help-userspace` channel has been set up on Discord.
::: warning
This feature is still in beta, and we're looking for feedback on it. Please try it out and let us know what you think -- a new `#help-userspace` channel has been set up on Discord.
:::
### Improve and Cleanup Shutdown callbacks ([#21060](https://github.com/qmk/qmk_firmware/pull/20160)) :id=improve-and-cleanup-shutdown-callbacks
### Improve and Cleanup Shutdown callbacks ([#21060](https://github.com/qmk/qmk_firmware/pull/20160)) {#improve-and-cleanup-shutdown-callbacks}
Shutdown callbacks at the keyboard level were never present, preventing safe shutdown sequencing for peripherals such as OLEDs, RGB LEDs, and other devices. This PR adds a new `shutdown_kb` function, as well as amending `shutdown_user`, allowing for safe shutdown of peripherals at both keyboard and keymap level.
See the [Keyboard Shutdown/Reboot Code](custom_quantum_functions.md#keyboard-shutdown-reboot-code) documentation for more details.
See the [Keyboard Shutdown/Reboot Code](../custom_quantum_functions#keyboard-shutdown-reboot-code) documentation for more details.
### OLED Force Flush ([#20953](https://github.com/qmk/qmk_firmware/pull/20953)) :id=oled-force-flush
### OLED Force Flush ([#20953](https://github.com/qmk/qmk_firmware/pull/20953)) {#oled-force-flush}
Along with the new `shutdown_kb` function, a new API `oled_render_dirty(bool)` function has been added. This allows OLED contents to be written deterministically when supplied with `true` -- that is, the OLED will be updated immediately, rather than waiting for the next OLED update cycle. This allows for OLEDs to show things such as "BOOTLOADER MODE" and the like if resetting to bootloader from QMK.
### Switch statement helpers for keycode ranges ([#20059](https://github.com/qmk/qmk_firmware/pull/20059)) :id=switch-statement-helpers-for-keycode-ranges
### Switch statement helpers for keycode ranges ([#20059](https://github.com/qmk/qmk_firmware/pull/20059)) {#switch-statement-helpers-for-keycode-ranges}
Predefined ranges usable within switch statements have been added for groups of similar keycodes, where people who wish to handle entire blocks at once can do so. This allows keymaps to be immune to changes in keycode values, and also allows for more efficient code generation.
@@ -98,17 +100,17 @@ Becomes:
/* do stuff with basic and modifier keycodes */
```
### Quantum Painter OLED support ([#19997](https://github.com/qmk/qmk_firmware/pull/19997)) :id=quantum-painter-oled-support
### Quantum Painter OLED support ([#19997](https://github.com/qmk/qmk_firmware/pull/19997)) {#quantum-painter-oled-support}
Quantum Painter has picked up support for SH1106 displays -- commonly seen as 128x64 OLEDs. Support for both I2C and SPI displays is available.
If you're already using OLED through `OLED_DRIVER_ENABLE = yes` or equivalent in `info.json` and wish to use Quantum Painter instead, you'll need to disable the old OLED system, instead enabling Quantum Painter as well as enabling the appropriate SH1106 driver. See the [Quantum Painter driver documentation](quantum_painter.md#quantum-painter-drivers) for more details. The old OLED driver is still available, and keymaps do not require migrating to Quantum Painter if you don't want to do so.
If you're already using OLED through `OLED_DRIVER_ENABLE = yes` or equivalent in `info.json` and wish to use Quantum Painter instead, you'll need to disable the old OLED system, instead enabling Quantum Painter as well as enabling the appropriate SH1106 driver. See the [Quantum Painter driver documentation](../quantum_painter#quantum-painter-drivers) for more details. The old OLED driver is still available, and keymaps do not require migrating to Quantum Painter if you don't want to do so.
### RGB/LED lighting driver naming and cleanup ([#21890](https://github.com/qmk/qmk_firmware/pull/21890), [#21891](https://github.com/qmk/qmk_firmware/pull/21891), [#21892](https://github.com/qmk/qmk_firmware/pull/21892), [#21903](https://github.com/qmk/qmk_firmware/pull/21903), [#21904](https://github.com/qmk/qmk_firmware/pull/21904), [#21905](https://github.com/qmk/qmk_firmware/pull/21905), [#21918](https://github.com/qmk/qmk_firmware/pull/21918), [#21929](https://github.com/qmk/qmk_firmware/pull/21929), [#21938](https://github.com/qmk/qmk_firmware/pull/21938), [#22004](https://github.com/qmk/qmk_firmware/pull/22004), [#22008](https://github.com/qmk/qmk_firmware/pull/22008), [#22009](https://github.com/qmk/qmk_firmware/pull/22009), [#22071](https://github.com/qmk/qmk_firmware/pull/22071), [#22090](https://github.com/qmk/qmk_firmware/pull/22090), [#22099](https://github.com/qmk/qmk_firmware/pull/22099), [#22126](https://github.com/qmk/qmk_firmware/pull/22126), [#22133](https://github.com/qmk/qmk_firmware/pull/22133), [#22163](https://github.com/qmk/qmk_firmware/pull/22163), [#22200](https://github.com/qmk/qmk_firmware/pull/22200), [#22308](https://github.com/qmk/qmk_firmware/pull/22308), [#22309](https://github.com/qmk/qmk_firmware/pull/22309), [#22311](https://github.com/qmk/qmk_firmware/pull/22311), [#22325](https://github.com/qmk/qmk_firmware/pull/22325), [#22365](https://github.com/qmk/qmk_firmware/pull/22365), [#22379](https://github.com/qmk/qmk_firmware/pull/22379), [#22380](https://github.com/qmk/qmk_firmware/pull/22380), [#22381](https://github.com/qmk/qmk_firmware/pull/22381), [#22383](https://github.com/qmk/qmk_firmware/pull/22383), [#22436](https://github.com/qmk/qmk_firmware/pull/22436))
As you can probably tell by the list of PRs just above, there has been a lot of cleanup and consolidation this cycle when it comes to RGB/LED lighting drivers. The number of changes is too large to list here, but the general theme has been focusing on consistency of naming, both of drivers themselves and their respective implementation and configuration. Most changes only affect keyboard designers -- if you find that your in-development keyboard is no longer building due to naming of defines changing, your best bet is to refer to another board already in the repository which has had the changes applied.
### Peripheral subsystem enabling ([#22253](https://github.com/qmk/qmk_firmware/pull/22253), [#22448](https://github.com/qmk/qmk_firmware/pull/22448), [#22106](https://github.com/qmk/qmk_firmware/pull/22106)) :id=peripheral-subsystem-enabling
### Peripheral subsystem enabling ([#22253](https://github.com/qmk/qmk_firmware/pull/22253), [#22448](https://github.com/qmk/qmk_firmware/pull/22448), [#22106](https://github.com/qmk/qmk_firmware/pull/22106)) {#peripheral-subsystem-enabling}
When enabling peripherals such as I2C, SPI, or Analog/ADC, some required manual inclusion of source files in order to provide driver support, and in some cases, when multiple drivers were using the same underlying peripheral, files were being added to the build multiple times.
@@ -125,11 +127,11 @@ For a concrete example, users or keyboard designers who previously added `SRC +=
| `UART_DRIVER_REQUIRED = yes` | `SRC += uart.c` |
| `WS2812_DRIVER_REQUIRED = yes` | `SRC += ws2812.c` |
### NKRO on V-USB boards ([#22398](https://github.com/qmk/qmk_firmware/pull/22398)) :id=vusb-nkro
### NKRO on V-USB boards ([#22398](https://github.com/qmk/qmk_firmware/pull/22398)) {#vusb-nkro}
NKRO is now available for ATmega32A and 328P-based keyboards (including PS2AVRGB/Bootmapper boards), thanks to some internal refactoring and cleanup. To enable it, the process is the same as always - add `NKRO_ENABLE = yes` to your `rules.mk`, then assign and press the `NK_TOGG` keycode to switch modes.
## Full changelist :id=full-changelist
## Full changelist {#full-changelist}
Core:
* Compilation warning if both `keymap.json` and `keymap.c` exist ([#19939](https://github.com/qmk/qmk_firmware/pull/19939))

View File

@@ -1,6 +1,6 @@
# QMK Breaking Changes - 2024 February 25 Changelog
## Notable Features :id=notable-features
## Notable Features {#notable-features}
_0.24.0_ is mainly a maintenance release of QMK Firmware -- as per last few breaking changes cycles, there have been a lot of behind-the-scenes changes, mainly:
@@ -10,17 +10,17 @@ _0.24.0_ is mainly a maintenance release of QMK Firmware -- as per last few brea
* keyboard relocations
* addressing technical debt
## Changes Requiring User Action :id=changes-requiring-user-action
## Changes Requiring User Action {#changes-requiring-user-action}
### Windows Driver Changes ([QMK Toolbox 0.3.0 Release](https://github.com/qmk/qmk_toolbox/releases/tag/0.3.0))
Flashing keyboards that target `atmel-dfu` or `qmk-dfu` on Windows using `qmk flash` or QMK Toolbox have traditionally used _libusb_ for access to the DFU USB device. Since QMK Toolbox 0.3.0, this has changed to WinUSB.
If you update QMK Toolbox or update QMK MSYS, you may find that flashing Atmel DFU keyboards no longer functions as intended. If you strike such issues when flashing new firmware, you will need to replace the _libusb_ driver with _WinUSB_ using Zadig. You can follow the [Recovering from Installation to Wrong Device](driver_installation_zadig.md#recovering-from-installation-to-wrong-device) instructions to replace the driver associated with the Atmel DFU bootloader, skipping the section about removal as Zadig will safely replace the driver instead. Please ensure your keyboard is in bootloader mode and has _libusb_ as the existing driver before attempting to use Zadig to replace the driver. If instead you see _HidUsb_ you're not in bootloader mode and should not continue with driver replacement.
If you update QMK Toolbox or update QMK MSYS, you may find that flashing Atmel DFU keyboards no longer functions as intended. If you strike such issues when flashing new firmware, you will need to replace the _libusb_ driver with _WinUSB_ using Zadig. You can follow the [Recovering from Installation to Wrong Device](../driver_installation_zadig#recovering-from-installation-to-wrong-device) instructions to replace the driver associated with the Atmel DFU bootloader, skipping the section about removal as Zadig will safely replace the driver instead. Please ensure your keyboard is in bootloader mode and has _libusb_ as the existing driver before attempting to use Zadig to replace the driver. If instead you see _HidUsb_ you're not in bootloader mode and should not continue with driver replacement.
### Updated Keyboard Codebases :id=updated-keyboard-codebases
### Updated Keyboard Codebases {#updated-keyboard-codebases}
One note with updated keyboard names -- historical keyboard names are still considered valid when using [External Userspace](newbs_external_userspace.md) for builds. If you're already using External Userspace, you do not need to move your keymap inside your repository.
One note with updated keyboard names -- historical keyboard names are still considered valid when using [External Userspace](../newbs_external_userspace) for builds. If you're already using External Userspace, you do not need to move your keymap inside your repository.
| Old Keyboard Name | New Keyboard Name |
|-------------------------|---------------------------------|
@@ -77,9 +77,9 @@ One note with updated keyboard names -- historical keyboard names are still cons
| z12 | zigotica/z12 |
| z34 | zigotica/z34 |
## Notable core changes :id=notable-core
## Notable core changes {#notable-core}
### Renaming Arduino-style GPIO pin functions ([#23085](https://github.com/qmk/qmk_firmware/pull/23085), [#23093](https://github.com/qmk/qmk_firmware/pull/23093)) :id=gpio-rename
### Renaming Arduino-style GPIO pin functions ([#23085](https://github.com/qmk/qmk_firmware/pull/23085), [#23093](https://github.com/qmk/qmk_firmware/pull/23093)) {#gpio-rename}
QMK has long used Arduino-style GPIO naming conventions. This has been confusing for users, as over time they've had new variations added, as well as users mistakenly thinking that QMK supports the rest of the Arduino ecosystem.
@@ -110,17 +110,17 @@ Much like the GPIO refactoring, I2C APIs were also updated to conform to QMK nam
| `i2c_writeReg()` | `i2c_write_register()` |
| `i2c_writeReg16()` | `i2c_write_register16()` |
### Renaming _Bootmagic Lite_ => _Bootmagic_ ([#22970](https://github.com/qmk/qmk_firmware/pull/22970), [#22979](https://github.com/qmk/qmk_firmware/pull/22979)) :id=bootmagic-rename
### Renaming _Bootmagic Lite_ => _Bootmagic_ ([#22970](https://github.com/qmk/qmk_firmware/pull/22970), [#22979](https://github.com/qmk/qmk_firmware/pull/22979)) {#bootmagic-rename}
Bootmagic "Lite" had no real meaning once the historical Bootmagic "Full" was deprecated and removed. Any references to _Bootmagic Lite_ should now just refer to _Bootmagic_. We hope we got the majority of the code and the documentation, so if you find any more, let us know!
### Threshold for automatic mouse layer activation ([#21398](https://github.com/qmk/qmk_firmware/pull/21398)) :id=auto-mouse-layer
### Threshold for automatic mouse layer activation ([#21398](https://github.com/qmk/qmk_firmware/pull/21398)) {#auto-mouse-layer}
In some cases, accidental automatic activation of the mouse layer made it difficult to continue typing, such as when brushing across a trackball. `AUTO_MOUSE_THRESHOLD` is now a configurable option in `config.h` which allows for specifying what the movement threshold is before automatically activating the mouse layer.
### DIP Switch Mapping ([#22543](https://github.com/qmk/qmk_firmware/pull/22543)) :id=dip-switch-map
### DIP Switch Mapping ([#22543](https://github.com/qmk/qmk_firmware/pull/22543)) {#dip-switch-map}
Much like Encoder Mapping, DIP Switch Mapping allows for specifying a table of actions to execute when a DIP switch state changes. See the [DIP Switch Documentation](feature_dip_switch.md#dip-switch-map) for more information.
Much like Encoder Mapping, DIP Switch Mapping allows for specifying a table of actions to execute when a DIP switch state changes. See the [DIP Switch Documentation](../features/dip_switch#dip-switch-map) for more information.
```c
#if defined(DIP_SWITCH_MAP_ENABLE)
@@ -131,7 +131,7 @@ const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = {
#endif
```
### Quantum Painter updates ([#18521](https://github.com/qmk/qmk_firmware/pull/18521), [#20645](https://github.com/qmk/qmk_firmware/pull/20645), [#22358](https://github.com/qmk/qmk_firmware/pull/22358)) :id=qp-updates
### Quantum Painter updates ([#18521](https://github.com/qmk/qmk_firmware/pull/18521), [#20645](https://github.com/qmk/qmk_firmware/pull/20645), [#22358](https://github.com/qmk/qmk_firmware/pull/22358)) {#qp-updates}
Quantum Painter picked up support for the following:
@@ -141,7 +141,7 @@ Quantum Painter picked up support for the following:
Quantum Painter now supports the majority of common OLED panels supported by the basic OLED driver, so if you're using an ARM-based board you may find Quantum Painter a much more feature-rich API in comparison.
## Full changelist :id=full-changelist
## Full changelist {#full-changelist}
Core:
* [Driver] ILI9486 on Quantum Painter ([#18521](https://github.com/qmk/qmk_firmware/pull/18521))

344
docs/ChangeLog/20240526.md Normal file
View File

@@ -0,0 +1,344 @@
# QMK Breaking Changes - 2024 May 26 Changelog
## Notable Features {#notable-features}
May 2024 brings about another heavy maintenance release of QMK. Of the 209 PRs created this breaking changes cycle against the `develop` branch, 174 behind-the-scenes PRs (83%!) were aimed at converting, consolidating, and cleaning up keyboards and their configuration data. Not the most glamorous work, but it means QMK is in a much more manageable spot than what it was 3 months prior. The work steadily continues!
## Changes Requiring User Action {#changes-requiring-user-action}
### Updated Keyboard Codebases {#updated-keyboard-codebases}
One note with updated keyboard names -- historical keyboard names are still considered valid when using [External Userspace](../newbs_external_userspace) for builds. If you're already using External Userspace, you do not need to move your keymap inside your repository.
| Old Keyboard Name | New Keyboard Name |
|------------------------------|-----------------------------------|
| adkb96 | adkb96/rev1 |
| canary/canary60rgb | canary/canary60rgb/v1 |
| handwired/meck_tkl | handwired/meck_tkl/blackpill_f401 |
| handwired/qc60 | handwired/qc60/proto |
| handwired/stef9998/split_5x7 | handwired/stef9998/split_5x7/rev1 |
| junco | junco/rev1 |
| keaboard | keaboard/rev1 |
| kprepublic/jj40 | kprepublic/jj40/rev1 |
| kprepublic/jj50 | kprepublic/jj50/rev1 |
| melgeek/mj65 | melgeek/mj65/rev3 |
| melgeek/mojo68 | melgeek/mojo68/rev1 |
| melgeek/mojo75 | melgeek/mojo75/rev1 |
| melgeek/tegic | melgeek/tegic/rev1 |
| melgeek/z70ultra | melgeek/z70ultra/rev1 |
| miiiw/blackio83 | miiiw/blackio83/rev_0100 |
| murcielago | murcielago/rev1 |
| polilla | polilla/rev1 |
| qwertyydox | qwertyydox/rev1 |
| spaceholdings/nebula68b | spaceholdings/nebula68b/solder |
| splitty | splitty/rev1 |
| xiudi/xd004 | xiudi/xd004/v1 |
### Remove deprecated quantum keycodes ([#23407](https://github.com/qmk/qmk_firmware/pull/23407))
A bunch of legacy keycodes have been removed -- check [the affected keycodes](https://github.com/qmk/qmk_firmware/blob/70e34e491c297231a3f987fd69760d38e79dbfa4/quantum/quantum_keycodes_legacy.h) if you run into compilation problems, as it'll show you what the problematic keycodes should be replaced with.
The latest of these were officially deprecated within QMK in the August 2023 breaking changes -- the new keycodes are the way forward.
### P3D Spacey Layout Updates ([#23329](https://github.com/qmk/qmk_firmware/pull/23329)) {#spacey-layout-updates}
This PR removed the `LAYOUT` macro that was configured for the Spacey.
If you have a keymap for this keyboard, you will need to update your
keymap using the following steps:
1. Change your layout macro to `LAYOUT_all`.
2. Remove the two `KC_NO` keycodes following the Space and Delete keys
on the bottom row.
3. Move the keycode for the encoder pushbutton (customarily Mute) to the
end of the top row, after the customary Backspace key.
4. Move the keycode for the Right Arrow to the end of the Shift row,
after the Down Arrow key.
### MechKeys ACR60 Layout Updates ([#23309](https://github.com/qmk/qmk_firmware/pull/23309)) {#acr60-layout-updates}
This PR removed and changed some of the layouts that were configured for the ACR60. If you use one of the following layouts, you will need to update your keymap:
- [`LAYOUT_hhkb`](#layout-hhkb)
- [`LAYOUT_true_hhkb`](#layout-true-hhkb)
- [`LAYOUT_directional`](#layout-directional)
- [`LAYOUT_mitchsplit`](#layout-mitchsplit)
#### `LAYOUT_hhkb` {#acr60-layout-hhkb}
1. Change your layout macro to `LAYOUT_60_hhkb`.
1. Remove any keycodes for the key between Left Shift and QWERTY Z.
#### `LAYOUT_true_hhkb` {#acr60-layout-true-hhkb}
1. Change your layout macro to `LAYOUT_60_true_hhkb`.
1. Remove any keycodes for the key between Left Shift and QWERTY Z.
#### `LAYOUT_directional` {#acr60-layout-directional}
1. Change your layout macro to `LAYOUT_60_ansi_arrow_split_bs`.
1. Remove any keycodes for the key between Left Shift and QWERTY Z.
1. Remove any keycodes for the keys immediately before *and* after the 1.25u key of Split Spacebar.
If you need split spacebars, you may implement `LAYOUT_60_ansi_arrow_split_space_split_bs` and change your layout to it, removing the keycode between Left Shift and QWERTY Z.
#### `LAYOUT_mitchsplit` {#acr60-layout-mitchsplit}
1. Use `LAYOUT_60_ansi_split_space_split_rshift`.
## Notable core changes {#notable-core}
### Introduction of `keyboard.json` ([22891](https://github.com/qmk/qmk_firmware/pull/22891)) {#keyboard-json}
One longer term goal of QMK is increased maintainability.
As part of the continued push towards [Data Driven Configuration](../data_driven_config), the build system has been updated to simplify the existing codebase, and power future workflows.
The `keyboard.json` configuration file allows the support of a single data file for keyboard level config.
Additionally,
* `info.json` now represents potential fragments of config that can be shared across keyboard revisions.
* `rules.mk` is now optional - Completely blank files are no longer required.
* Currently supported keyboards have been migrated to reflect this change.
Backwards compatibility of the old system has been maintained, but will be removed in a future breaking changes cycle.
### Refactor ChibiOS USB endpoints to be fully async ([#21656](https://github.com/qmk/qmk_firmware/pull/21656))
For most users, this change will mean suspend and resume on ARM-based boards works correctly. Others will notice that their keyboard now works correctly in BIOS/UEFI.
Essentially, changes were made in the internals of how QMK interacts with USB for ARM-based devices. Before this change, whenever a packet was attempted to be sent from the keyboard to the host machine, QMK would wait for the transmission to complete. After this change, those packets are queued and sent when opportune; this results in much better "correctness" as far as the USB protocol is concerned, and means far less likelihood of failure scenarios such as "stuck keys" or "random lockups" and the like.
Compliance checks were run against QMK firmwares for the most popular ARM microcontrollers, as well as suspend/resume tests. As far as we can tell, a whole host of hard-to-reproduce issues are mitigated by this change.
## Deprecation Notices
In line with the [notice period](../support_deprecation_policy#how-much-advance-notice-will-be-given), deprecation notices for larger items are listed here.
### Migration of VIA keymaps to VIA team control
The QMK team has been in discussion with the VIA maintainers and all VIA-related keymaps in the `qmk_firmware` repository will transition to a `qmk_userspace`-style repository under the VIA team's control at the end of the next breaking changes period. This allows the VIA team to support many more custom keyboard configurations, as well as reduces the turnaround time for any changes to the VIA protocol they wish to make.
At the end of the breaking changes cycle ending 2024-08-25, VIA-enabled keymaps will no longer be accepted into the QMK repository. At the time of migration, any open PRs against `qmk_firmware` which include new VIA-related keymaps will be subsequently be asked to remove those keymaps and instead raise a PR against the userspace repository containing all VIA keymaps.
## Full changelist {#full-changelist}
Core:
* Refactor vusb to protocol use pre/post task ([#14944](https://github.com/qmk/qmk_firmware/pull/14944))
* Refactor ChibiOS USB endpoints to be fully async ([#21656](https://github.com/qmk/qmk_firmware/pull/21656))
* Infer eeconfig identifiers ([#22135](https://github.com/qmk/qmk_firmware/pull/22135))
* [Audio] Add support for audio shutdown pin ([#22731](https://github.com/qmk/qmk_firmware/pull/22731))
* Enable 'keyboard.json' as a build target ([#22891](https://github.com/qmk/qmk_firmware/pull/22891))
* Remove unuseful layer_on() call ([#23055](https://github.com/qmk/qmk_firmware/pull/23055))
* Add init function to RGBLight driver struct ([#23076](https://github.com/qmk/qmk_firmware/pull/23076))
* Add utility functions for Pointing Device Auto Mouse feature ([#23144](https://github.com/qmk/qmk_firmware/pull/23144))
* Remove midi_ep_task from ChibiOS ([#23162](https://github.com/qmk/qmk_firmware/pull/23162))
* LED drivers: add support for IS31FL3236 ([#23264](https://github.com/qmk/qmk_firmware/pull/23264))
* Un-`extern` RGBLight `led[]` array ([#23322](https://github.com/qmk/qmk_firmware/pull/23322))
* Update I2C API usage in keyboard code ([#23360](https://github.com/qmk/qmk_firmware/pull/23360))
* Update GPIO expander API naming ([#23375](https://github.com/qmk/qmk_firmware/pull/23375))
* Remove deprecated quantum keycodes ([#23407](https://github.com/qmk/qmk_firmware/pull/23407))
* Add MacOS Czech ISO and ANSI keymaps #23346 ([#23412](https://github.com/qmk/qmk_firmware/pull/23412))
* Rename `process_{led,rgb}_matrix()` ([#23422](https://github.com/qmk/qmk_firmware/pull/23422))
* Separate keycode handling for LED Matrix and Backlight ([#23426](https://github.com/qmk/qmk_firmware/pull/23426))
* Add new set of keycodes for LED Matrix ([#23432](https://github.com/qmk/qmk_firmware/pull/23432))
* Oneshot locked mods split transaction ([#23434](https://github.com/qmk/qmk_firmware/pull/23434))
* Bodge consolidation. ([#23448](https://github.com/qmk/qmk_firmware/pull/23448))
* LED Matrix: replace backlight keycodes with newly added ones ([#23455](https://github.com/qmk/qmk_firmware/pull/23455))
* Add new set of keycodes for RGB Matrix ([#23463](https://github.com/qmk/qmk_firmware/pull/23463))
* Refactoring successive press() release() calls into tap_key() calls ([#23573](https://github.com/qmk/qmk_firmware/pull/23573))
* Rename `RGBW` define to `WS2812_RGBW` ([#23585](https://github.com/qmk/qmk_firmware/pull/23585))
* Normalise RGBLight (underglow) keycodes ([#23656](https://github.com/qmk/qmk_firmware/pull/23656))
* split_util: rename `usbIsActive` to `usb_bus_detected` ([#23657](https://github.com/qmk/qmk_firmware/pull/23657))
* Insert delay between shifted chars in send_string_with_delay for AVR ([#23673](https://github.com/qmk/qmk_firmware/pull/23673))
* Remove useless `LED/RGB_MATRIX_ENABLE` ifdefs ([#23726](https://github.com/qmk/qmk_firmware/pull/23726))
CLI:
* Some metadata on QGF/QFF files ([#20101](https://github.com/qmk/qmk_firmware/pull/20101))
* `qmk new-keyboard` - detach community layout when selecting "none of the above" ([#20405](https://github.com/qmk/qmk_firmware/pull/20405))
* Initial `qmk test-c` functionality ([#23038](https://github.com/qmk/qmk_firmware/pull/23038))
* Reject duplicate matrix locations in LAYOUT macros ([#23273](https://github.com/qmk/qmk_firmware/pull/23273))
* Align 'qmk lint' argument handling ([#23297](https://github.com/qmk/qmk_firmware/pull/23297))
* Produce warning if keyboard is not configured via `keyboard.json` ([#23321](https://github.com/qmk/qmk_firmware/pull/23321))
Submodule updates:
* Update ChibiOS submodules. ([#23405](https://github.com/qmk/qmk_firmware/pull/23405))
Keyboards:
* Move `SPLIT_KEYBOARD` to data driven ([#21410](https://github.com/qmk/qmk_firmware/pull/21410))
* Change to `development_board` ([#21695](https://github.com/qmk/qmk_firmware/pull/21695))
* Add solid_reactive effects for MIIIW BlackIO83 ([#22251](https://github.com/qmk/qmk_firmware/pull/22251))
* Migrate content where only parent info.json exists ([#22895](https://github.com/qmk/qmk_firmware/pull/22895))
* Remove redundant disabling of features ([#22926](https://github.com/qmk/qmk_firmware/pull/22926))
* Update ScottoAlp handwired keyboard to 12 column layout ([#22962](https://github.com/qmk/qmk_firmware/pull/22962))
* Overhaul ploopyco devices ([#22967](https://github.com/qmk/qmk_firmware/pull/22967))
* Add rp2040_ce option to lotus58 ([#23185](https://github.com/qmk/qmk_firmware/pull/23185))
* Migrate features from rules.mk to data driven - 0-9 ([#23202](https://github.com/qmk/qmk_firmware/pull/23202))
* Change default RGB effect for momokai keypads to solid white ([#23217](https://github.com/qmk/qmk_firmware/pull/23217))
* Migrate annepro2 away from custom matrix ([#23221](https://github.com/qmk/qmk_firmware/pull/23221))
* Update BAMFK-1 ([#23236](https://github.com/qmk/qmk_firmware/pull/23236))
* Migrate features from rules.mk to data driven - ABCD ([#23247](https://github.com/qmk/qmk_firmware/pull/23247))
* Migrate features from rules.mk to data driven - EFGH ([#23248](https://github.com/qmk/qmk_firmware/pull/23248))
* Remove 60_ansi_arrow_split_bs_7u_spc Community Layout ([#23259](https://github.com/qmk/qmk_firmware/pull/23259))
* Migrate features from rules.mk to data driven - IJK ([#23276](https://github.com/qmk/qmk_firmware/pull/23276))
* Migrate features from rules.mk to data driven - LMN ([#23277](https://github.com/qmk/qmk_firmware/pull/23277))
* Migrate features from rules.mk to data driven - OPQR ([#23285](https://github.com/qmk/qmk_firmware/pull/23285))
* Migrate features from rules.mk to data driven - ST ([#23286](https://github.com/qmk/qmk_firmware/pull/23286))
* Migrate features from rules.mk to data driven - UVWXYZ ([#23287](https://github.com/qmk/qmk_firmware/pull/23287))
* Swift65 Hotswap Layout Name Standardization ([#23288](https://github.com/qmk/qmk_firmware/pull/23288))
* Swift65 Solder Layout Name Standardization ([#23289](https://github.com/qmk/qmk_firmware/pull/23289))
* Migrate build target markers to keyboard.json ([#23293](https://github.com/qmk/qmk_firmware/pull/23293))
* KPRepublic JJ50 rev1 Refactor ([#23294](https://github.com/qmk/qmk_firmware/pull/23294))
* KPRepublic JJ40 rev1 Refactor ([#23299](https://github.com/qmk/qmk_firmware/pull/23299))
* Migrate features and LTO from rules.mk to data driven ([#23302](https://github.com/qmk/qmk_firmware/pull/23302))
* Add RGB lighting for the PetruziaMini ([#23305](https://github.com/qmk/qmk_firmware/pull/23305))
* Migrate features and LTO from rules.mk to data driven ([#23307](https://github.com/qmk/qmk_firmware/pull/23307))
* MechKeys ACR60 Layout Updates ([#23309](https://github.com/qmk/qmk_firmware/pull/23309))
* Remove RGBLight `led[]` references ([#23311](https://github.com/qmk/qmk_firmware/pull/23311))
* Reduce firmware size of helix/rev3 ([#23324](https://github.com/qmk/qmk_firmware/pull/23324))
* P3D Spacey Layout Updates ([#23329](https://github.com/qmk/qmk_firmware/pull/23329))
* Data-Driven Keyboard Conversions: 0-9 ([#23357](https://github.com/qmk/qmk_firmware/pull/23357))
* Update GPIO API usage in keyboard code ([#23361](https://github.com/qmk/qmk_firmware/pull/23361))
* Remove "w": 1 from keyboards/ ([#23367](https://github.com/qmk/qmk_firmware/pull/23367))
* Remove `quantum.h` includes from keyboard custom `matrix.c`s ([#23371](https://github.com/qmk/qmk_firmware/pull/23371))
* refactor: mechwild/bbs ([#23373](https://github.com/qmk/qmk_firmware/pull/23373))
* Remove 'NO_USB_STARTUP_CHECK = no' from keyboards ([#23376](https://github.com/qmk/qmk_firmware/pull/23376))
* Remove completely redundant DEFAULT_FOLDER from keyboards ([#23377](https://github.com/qmk/qmk_firmware/pull/23377))
* Miscellaneous keyboard.json migrations ([#23378](https://github.com/qmk/qmk_firmware/pull/23378))
* Data-Driven Keyboard Conversions: A ([#23379](https://github.com/qmk/qmk_firmware/pull/23379))
* refactor: flehrad/bigswitch ([#23384](https://github.com/qmk/qmk_firmware/pull/23384))
* add second encoder to matrix info of arrowmechanics/wings ([#23390](https://github.com/qmk/qmk_firmware/pull/23390))
* Change the VID and PID of the file kb38 info.json ([#23393](https://github.com/qmk/qmk_firmware/pull/23393))
* Remove `quantum.h` includes from keyboard code ([#23394](https://github.com/qmk/qmk_firmware/pull/23394))
* [ UPDATE 15PAD & 6PAD ] ([#23397](https://github.com/qmk/qmk_firmware/pull/23397))
* Remove more unnecessary `quantum.h` includes ([#23402](https://github.com/qmk/qmk_firmware/pull/23402))
* KB name change to Part.1-75-HS ([#23403](https://github.com/qmk/qmk_firmware/pull/23403))
* Tidy up keyboards/zvecr ([#23418](https://github.com/qmk/qmk_firmware/pull/23418))
* "features.split" is not a valid key ([#23419](https://github.com/qmk/qmk_firmware/pull/23419))
* Migrate build target markers to keyboard.json - YZ ([#23421](https://github.com/qmk/qmk_firmware/pull/23421))
* refactor: mechwild/waka60 ([#23423](https://github.com/qmk/qmk_firmware/pull/23423))
* Convert some AVR GPIO operations to macros ([#23424](https://github.com/qmk/qmk_firmware/pull/23424))
* Data-Driven Keyboard Conversions: B ([#23425](https://github.com/qmk/qmk_firmware/pull/23425))
* Tidy up default layer handling in keymaps ([#23436](https://github.com/qmk/qmk_firmware/pull/23436))
* Added Chapter1 ([#23452](https://github.com/qmk/qmk_firmware/pull/23452))
* Data-driven Keyboard Conversions: C ([#23453](https://github.com/qmk/qmk_firmware/pull/23453))
* Migrate build target markers to keyboard.json - X ([#23460](https://github.com/qmk/qmk_firmware/pull/23460))
* Data-Driven Keyboard Conversions: D ([#23461](https://github.com/qmk/qmk_firmware/pull/23461))
* Miscellaneous keyboard.json migrations ([#23486](https://github.com/qmk/qmk_firmware/pull/23486))
* Migrate build target markers to keyboard.json - 0AB ([#23488](https://github.com/qmk/qmk_firmware/pull/23488))
* Migrate build target markers to keyboard.json - W ([#23511](https://github.com/qmk/qmk_firmware/pull/23511))
* Data-Driven Keyboard Conversions: E ([#23512](https://github.com/qmk/qmk_firmware/pull/23512))
* Migrate build target markers to keyboard.json - TUV ([#23514](https://github.com/qmk/qmk_firmware/pull/23514))
* Migrate build target markers to keyboard.json - DE ([#23515](https://github.com/qmk/qmk_firmware/pull/23515))
* Data-Driven Keyboard Conversions: F ([#23516](https://github.com/qmk/qmk_firmware/pull/23516))
* Data-Driven Keyboard Conversions: G ([#23522](https://github.com/qmk/qmk_firmware/pull/23522))
* Data-Driven Keyboard Conversions: H, Part 1 ([#23524](https://github.com/qmk/qmk_firmware/pull/23524))
* Data-Driven Keyboard Conversions: H, Part 2 ([#23525](https://github.com/qmk/qmk_firmware/pull/23525))
* Migrate build target markers to keyboard.json - C ([#23529](https://github.com/qmk/qmk_firmware/pull/23529))
* Data-Driven Keyboard Conversions: H, Part 3 ([#23530](https://github.com/qmk/qmk_firmware/pull/23530))
* Migrate build target markers to keyboard.json - S ([#23532](https://github.com/qmk/qmk_firmware/pull/23532))
* Data-Driven Keyboard Conversions: I ([#23533](https://github.com/qmk/qmk_firmware/pull/23533))
* Migrate build target markers to keyboard.json - FG ([#23534](https://github.com/qmk/qmk_firmware/pull/23534))
* Migrate build target markers to keyboard.json - HI ([#23540](https://github.com/qmk/qmk_firmware/pull/23540))
* Remove *_SUPPORTED = yes ([#23541](https://github.com/qmk/qmk_firmware/pull/23541))
* Migrate build target markers to keyboard.json - R ([#23542](https://github.com/qmk/qmk_firmware/pull/23542))
* Data-Driven Keyboard Conversions: J ([#23547](https://github.com/qmk/qmk_firmware/pull/23547))
* Data-Driven Keyboard Conversions: K, Part 1 ([#23556](https://github.com/qmk/qmk_firmware/pull/23556))
* Tidy use of raw hid within keyboards ([#23557](https://github.com/qmk/qmk_firmware/pull/23557))
* Data-Driven Keyboard Conversions: K, Part 2 ([#23562](https://github.com/qmk/qmk_firmware/pull/23562))
* Migrate build target markers to keyboard.json - OQ ([#23564](https://github.com/qmk/qmk_firmware/pull/23564))
* Migrate build target markers to keyboard.json - P ([#23565](https://github.com/qmk/qmk_firmware/pull/23565))
* Data-Driven Keyboard Conversions: K, Part 3 ([#23566](https://github.com/qmk/qmk_firmware/pull/23566))
* Data-Driven Keyboard Conversions: K, Part 4 ([#23567](https://github.com/qmk/qmk_firmware/pull/23567))
* Data-Driven Keyboard Conversions: K, Part 5 ([#23569](https://github.com/qmk/qmk_firmware/pull/23569))
* Data-Driven Keyboard Conversions: L ([#23576](https://github.com/qmk/qmk_firmware/pull/23576))
* Migrate build target markers to keyboard.json - JK ([#23588](https://github.com/qmk/qmk_firmware/pull/23588))
* Migrate build target markers to keyboard.json - N ([#23589](https://github.com/qmk/qmk_firmware/pull/23589))
* Data-Driven Keyboard Conversions: M, Part 1 ([#23590](https://github.com/qmk/qmk_firmware/pull/23590))
* Add haptic driver to keyboard.json schema ([#23591](https://github.com/qmk/qmk_firmware/pull/23591))
* Migrate build target markers to keyboard.json - Keychron ([#23593](https://github.com/qmk/qmk_firmware/pull/23593))
* Remove RGBLIGHT_SPLIT in rules.mk ([#23599](https://github.com/qmk/qmk_firmware/pull/23599))
* Data-Driven Keyboard Conversions: M, Part 2 ([#23601](https://github.com/qmk/qmk_firmware/pull/23601))
* Align NO_SUSPEND_POWER_DOWN keyboard config ([#23606](https://github.com/qmk/qmk_firmware/pull/23606))
* Migrate build target markers to keyboard.json - L ([#23607](https://github.com/qmk/qmk_firmware/pull/23607))
* Migrate build target markers to keyboard.json - Misc ([#23609](https://github.com/qmk/qmk_firmware/pull/23609))
* Migrate build target markers to keyboard.json - Misc ([#23612](https://github.com/qmk/qmk_firmware/pull/23612))
* Data-Driven Keyboard Conversions: M, Part 3 ([#23614](https://github.com/qmk/qmk_firmware/pull/23614))
* Add audio driver to keyboard.json schema ([#23616](https://github.com/qmk/qmk_firmware/pull/23616))
* Data-Driven Keyboard Conversions: BastardKB ([#23622](https://github.com/qmk/qmk_firmware/pull/23622))
* Data-Driven Keyboard Conversions: Mechlovin ([#23624](https://github.com/qmk/qmk_firmware/pull/23624))
* Migrate build target markers to keyboard.json - BM ([#23627](https://github.com/qmk/qmk_firmware/pull/23627))
* gh80_3000 - Enable indicator LED functionality ([#23633](https://github.com/qmk/qmk_firmware/pull/23633))
* Iris keymap update ([#23635](https://github.com/qmk/qmk_firmware/pull/23635))
* Migrate build target markers to keyboard.json - Misc ([#23653](https://github.com/qmk/qmk_firmware/pull/23653))
* Add via support for craftwalk ([#23658](https://github.com/qmk/qmk_firmware/pull/23658))
* Align RGBKB keyboards to current standards ([#23663](https://github.com/qmk/qmk_firmware/pull/23663))
* Remove 'split.transport.protocol=serial_usart' ([#23668](https://github.com/qmk/qmk_firmware/pull/23668))
* Remove redundant keymap templates ([#23685](https://github.com/qmk/qmk_firmware/pull/23685))
* Change all RGB mode keycodes to short aliases ([#23691](https://github.com/qmk/qmk_firmware/pull/23691))
* Adjust keycode alignment around `QK_BOOT` ([#23697](https://github.com/qmk/qmk_firmware/pull/23697))
* Remove RGB keycodes from boards with no RGB config ([#23709](https://github.com/qmk/qmk_firmware/pull/23709))
* Miscellaneous Data-Driven Keyboard Conversions ([#23712](https://github.com/qmk/qmk_firmware/pull/23712))
* Delete trivial keymap readmes ([#23714](https://github.com/qmk/qmk_firmware/pull/23714))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: 0-9 ([#23716](https://github.com/qmk/qmk_firmware/pull/23716))
* Add media key support to Riot Pad ([#23719](https://github.com/qmk/qmk_firmware/pull/23719))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: A-C, Part 1 ([#23745](https://github.com/qmk/qmk_firmware/pull/23745))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: A-C, Part 2 ([#23746](https://github.com/qmk/qmk_firmware/pull/23746))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: A-C, Part 3 ([#23747](https://github.com/qmk/qmk_firmware/pull/23747))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: D, Part 1 ([#23749](https://github.com/qmk/qmk_firmware/pull/23749))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: D, Part 2 ([#23750](https://github.com/qmk/qmk_firmware/pull/23750))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: E ([#23751](https://github.com/qmk/qmk_firmware/pull/23751))
* Move VIA config to keymap level ([#23754](https://github.com/qmk/qmk_firmware/pull/23754))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: F ([#23757](https://github.com/qmk/qmk_firmware/pull/23757))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: G ([#23758](https://github.com/qmk/qmk_firmware/pull/23758))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 1 ([#23759](https://github.com/qmk/qmk_firmware/pull/23759))
* Remove includes of config.h ([#23760](https://github.com/qmk/qmk_firmware/pull/23760))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 2 ([#23762](https://github.com/qmk/qmk_firmware/pull/23762))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 3 ([#23763](https://github.com/qmk/qmk_firmware/pull/23763))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 4 ([#23764](https://github.com/qmk/qmk_firmware/pull/23764))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: I-J ([#23767](https://github.com/qmk/qmk_firmware/pull/23767))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: K, Part 1 ([#23768](https://github.com/qmk/qmk_firmware/pull/23768))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: K, Part 2 ([#23769](https://github.com/qmk/qmk_firmware/pull/23769))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: K, Part 3 ([#23770](https://github.com/qmk/qmk_firmware/pull/23770))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: L ([#23771](https://github.com/qmk/qmk_firmware/pull/23771))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: M, Part 1 ([#23772](https://github.com/qmk/qmk_firmware/pull/23772))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: M, Part 2 ([#23773](https://github.com/qmk/qmk_firmware/pull/23773))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: N ([#23774](https://github.com/qmk/qmk_firmware/pull/23774))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: O ([#23778](https://github.com/qmk/qmk_firmware/pull/23778))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: P, Part 1 ([#23779](https://github.com/qmk/qmk_firmware/pull/23779))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: P, Part 2 ([#23780](https://github.com/qmk/qmk_firmware/pull/23780))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: Q-R ([#23781](https://github.com/qmk/qmk_firmware/pull/23781))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: S, Part 1 ([#23783](https://github.com/qmk/qmk_firmware/pull/23783))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: S, Part 2 ([#23784](https://github.com/qmk/qmk_firmware/pull/23784))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: T ([#23785](https://github.com/qmk/qmk_firmware/pull/23785))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: U-V ([#23786](https://github.com/qmk/qmk_firmware/pull/23786))
* Remove some useless code from keymaps ([#23787](https://github.com/qmk/qmk_firmware/pull/23787))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: W, Part 1 ([#23788](https://github.com/qmk/qmk_firmware/pull/23788))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: W, Part 2 ([#23789](https://github.com/qmk/qmk_firmware/pull/23789))
* Migrate `LOCKING_*_ENABLE` to Data-Driven: X-Z ([#23790](https://github.com/qmk/qmk_firmware/pull/23790))
* Update GPIO macros in keymaps ([#23792](https://github.com/qmk/qmk_firmware/pull/23792))
* noroadsleft's 0.25.0 Changelogs and Touch-Ups ([#23793](https://github.com/qmk/qmk_firmware/pull/23793))
Keyboard fixes:
* Fix mapping of GUI/ALT for Win/Mac layers ([#22662](https://github.com/qmk/qmk_firmware/pull/22662))
* Adding standard keymap for wave keyboard to fix #22695 ([#22741](https://github.com/qmk/qmk_firmware/pull/22741))
* Fixup qk100 (firmware size) ([#23169](https://github.com/qmk/qmk_firmware/pull/23169))
* Fixup mechlovin/octagon ([#23179](https://github.com/qmk/qmk_firmware/pull/23179))
* Fix up scanning for Djinn, post-asyncUSB. ([#23188](https://github.com/qmk/qmk_firmware/pull/23188))
* Fixup annepro2 ([#23206](https://github.com/qmk/qmk_firmware/pull/23206))
* Fixed keychron q1v1 led config for iso layout ([#23222](https://github.com/qmk/qmk_firmware/pull/23222))
* Fixes for idobao vendor keymaps ([#23246](https://github.com/qmk/qmk_firmware/pull/23246))
* Fixup work_board ([#23266](https://github.com/qmk/qmk_firmware/pull/23266))
* Linworks FAve 87H Keymap Refactor/Bugfix ([#23292](https://github.com/qmk/qmk_firmware/pull/23292))
* Align encoder layout validation with encoder.h logic ([#23330](https://github.com/qmk/qmk_firmware/pull/23330))
* 0xcb/splaytoraid: remove `CONVERT_TO` at keyboard level ([#23395](https://github.com/qmk/qmk_firmware/pull/23395))
* 40percentclub/gherkin: remove `CONVERT_TO` at keyboard level ([#23396](https://github.com/qmk/qmk_firmware/pull/23396))
* Fix spaceholdings/nebula68b ([#23399](https://github.com/qmk/qmk_firmware/pull/23399))
* Fix failing keyboards on develop ([#23406](https://github.com/qmk/qmk_firmware/pull/23406))
* Corrections to split keyboard migrations ([#23462](https://github.com/qmk/qmk_firmware/pull/23462))
* Fix iris via keymap ([#23652](https://github.com/qmk/qmk_firmware/pull/23652))
* xiudi/xd75 - Fix backlight compilation issues ([#23655](https://github.com/qmk/qmk_firmware/pull/23655))
Bugs:
* WS2812 PWM: prefix for DMA defines ([#23111](https://github.com/qmk/qmk_firmware/pull/23111))
* Fix rgblight init ([#23335](https://github.com/qmk/qmk_firmware/pull/23335))
* Fix WAIT_FOR_USB handling ([#23598](https://github.com/qmk/qmk_firmware/pull/23598))
* Fix PS/2 Trackpoint mouse clicks (#22265) ([#23694](https://github.com/qmk/qmk_firmware/pull/23694))

198
docs/ChangeLog/20240825.md Normal file
View File

@@ -0,0 +1,198 @@
# QMK Breaking Changes - 2024 August 25 Changelog
## Notable Features
August 2024 brings another maintenance release of QMK. Almost all PRs this cycle were to do with cleanup or re-organization of existing features and code.
One key item is that there are no longer any `via`-enabled keymaps in the QMK repository -- these have all transitioned to an [External Userspace](../newbs_external_userspace) repository under the VIA team's control. Going forward, all PRs to `qmk_firmware` must not contain `via` keymaps; these should instead be redirected to the [VIA QMK Userspace](https://github.com/the-via/qmk_userspace_via) repository.
## Changes Requiring User Action
### Updated Keyboard Codebases
One note with updated keyboard names -- historical keyboard names are still considered valid when using [External Userspace](../newbs_external_userspace) for builds. If you're already using External Userspace, you do not need to move your keymap inside your repository.
| Old Keyboard Name | New Keyboard Name |
|----------------------------------|-------------------------------|
| dnworks/9973 | dnworks/tkl87 |
| maple_computing/lets_split_eh/eh | maple_computing/lets_split_eh |
| planck/ez/base | zsa/planck_ez/base |
### SparkFun Pro Micro RP2040 converter renamed ([#24192](https://github.com/qmk/qmk_firmware/pull/24192))
The converter for the SparkFun Pro Micro RP2040 has been renamed.
| Old | New |
|-------------------|-------------------|
| `promicro_rp2040` | `sparkfun_rp2040` |
This change was made to avoid confusion between the clones named ProMicro RP2040 and the SparkFun Pro Micro RP2040. The clones should be using the `rp2040_ce` option.
### Key Override `keymap.c` signature change ([#24120](https://github.com/qmk/qmk_firmware/pull/24120))
Changes were made to key overrides in order to hook them into the keymap introspection system.
If you're using key overrides, your `keymap.c` will need a change to the signature of your list of key overrides, as well as removing the `NULL` terminator.
For example, you'll need to change existing code from (note the highlighted lines):
```c{1,4-5}
const key_override_t **key_overrides = (const key_override_t *[]){
&my_override_1,
&my_override_2,
NULL
};
```
to:
```c{1,4}
const key_override_t *key_overrides[] = {
&my_override_1,
&my_override_2,
};
```
### ADNS9800 and PMW33xx firmware upload now opt-in ([#24001](https://github.com/qmk/qmk_firmware/pull/24001))
Due to ambiguity with licensing compatibility, QMK has made the firmware ROM uploads for the ADNS9800 and PMW33xx lines of pointing device sensors temporarily opt-in with the view to removing them. Historically they were included by default, but as of this PR this is now no longer the case.
Please get in touch with the QMK team if your sensor no longer functions without the firmware upload -- so far we've tested each device type and they still seem to function without a new firmware, but this has not been a 100% exhaustive validation.
To re-enable firmware upload for your own builds, add the following to your keymap's `config.h`:
| Sensor | Define |
|----------|--------------------------------|
| ADNS9800 | `#define ADNS9800_UPLOAD_SROM` |
| PMW33xx | `#define PMW33XX_UPLOAD_SROM` |
:::info Note
If no issues arise during this current breaking changes cycle, these sensor firmware ROMs will be removed from QMK entirely.
:::
## Deprecation Notices
In line with the [notice period](../support_deprecation_policy#how-much-advance-notice-will-be-given), deprecation notices for larger items are listed here.
### Migration of VIA keymaps to VIA team control
Last breaking changes cycle, the QMK team informed that [`via` keymaps are moving](./20240526#migration-of-via-keymaps-to-via-team-control) to the control of the VIA team. As of this merge, any `via`-enabled keymaps should now be PR'ed to the [VIA QMK Userspace](https://github.com/the-via/qmk_userspace_via) repository.
Any existing or newly-opened PRs against `qmk_firmware` will now be asked to remove any `via`-enabled keymaps from their submissions.
### ADNS9800 and PMW33xx sensor firmware ROM removal
As mentioned above, there's license compatibility issues between QMK and the firmware blobs historically uploaded for the ADNS9800 and PMW33xx sensors. This notice is to inform users that these firmware blobs will almost certainly be removed from QMK in the next breaking changes merge.
As previously noted this does not seem to have any detrimental effect to any of those devices, as they seem to include firmware on-chip without requiring one to be uploaded. Please get in touch with the QMK team on Discord if your sensor is no longer functional.
## Full changelist
Core:
* EEPROM: Don't erase if we don't have to. Adding eeprom_driver_format abstraction. ([#18332](https://github.com/qmk/qmk_firmware/pull/18332))
* Generate keymap dd keycodes to header ([#20273](https://github.com/qmk/qmk_firmware/pull/20273))
* [wear_leveling] efl updates ([#22489](https://github.com/qmk/qmk_firmware/pull/22489))
* GC9xxx LCD family drivers (GC9107 and GC9A01) ([#23091](https://github.com/qmk/qmk_firmware/pull/23091))
* [build_test] set CONSOLE_ENABLE=yes if DEBUG > 0 ([#23097](https://github.com/qmk/qmk_firmware/pull/23097))
* Enhance overlapping mouse keys control ([#23341](https://github.com/qmk/qmk_firmware/pull/23341))
* APA102: API rework ([#23355](https://github.com/qmk/qmk_firmware/pull/23355))
* [WIP] Adds bus acquire/release semantics to SPI start/stop. ([#23439](https://github.com/qmk/qmk_firmware/pull/23439))
* add farsi keymap extras ([#23650](https://github.com/qmk/qmk_firmware/pull/23650))
* Update atomic GPIO macros in keyboard custom matrix ([#23796](https://github.com/qmk/qmk_firmware/pull/23796))
* Check LED flags for Pixel Fractal effect ([#23881](https://github.com/qmk/qmk_firmware/pull/23881))
* Add STM32F405RG ld script for tinyuf2 ([#23885](https://github.com/qmk/qmk_firmware/pull/23885))
* SPI flash API cleanup, add async erase capability. ([#23894](https://github.com/qmk/qmk_firmware/pull/23894))
* Add process_keycode handlers for new RGB Matrix and Underglow keycodes ([#23896](https://github.com/qmk/qmk_firmware/pull/23896))
* Decouple VIA from STM32 L0/L1 EEPROM implementation ([#23901](https://github.com/qmk/qmk_firmware/pull/23901))
* Normalise mouse keycodes ([#23975](https://github.com/qmk/qmk_firmware/pull/23975))
* Remove deprecated `led_set_user` ([#23979](https://github.com/qmk/qmk_firmware/pull/23979))
* Change ADNS9800 and PMW33XX SROM uploads to opt in. ([#24001](https://github.com/qmk/qmk_firmware/pull/24001))
* Rename encoder pins defines ([#24003](https://github.com/qmk/qmk_firmware/pull/24003))
* Change suspend condition check order on ChibiOS ([#24020](https://github.com/qmk/qmk_firmware/pull/24020))
* Tap dance introspection ([#24049](https://github.com/qmk/qmk_firmware/pull/24049))
* Allow overriding `get_hardware_id()`. ([#24051](https://github.com/qmk/qmk_firmware/pull/24051))
* Align LUFA suspend logic ([#24055](https://github.com/qmk/qmk_firmware/pull/24055))
* Add support for key override introspection. ([#24120](https://github.com/qmk/qmk_firmware/pull/24120))
* Dynamic macro callbacks ([#24142](https://github.com/qmk/qmk_firmware/pull/24142))
* Rename promicro_rp2040 converter to sparkfun_pm2040 ([#24192](https://github.com/qmk/qmk_firmware/pull/24192))
* Refactor starlight RGB matrix effects ([#24202](https://github.com/qmk/qmk_firmware/pull/24202))
* Refactor riverflow RGB matrix loop ([#24203](https://github.com/qmk/qmk_firmware/pull/24203))
CLI:
* Remove handling of keyboard level keymap templates ([#24234](https://github.com/qmk/qmk_firmware/pull/24234))
* Small tweaks to keymap generation ([#24240](https://github.com/qmk/qmk_firmware/pull/24240))
Keyboards:
* refactor: keyboard/ncr80/r2 ([#22670](https://github.com/qmk/qmk_firmware/pull/22670))
* Implement data driven joysticks ([#22947](https://github.com/qmk/qmk_firmware/pull/22947))
* Whitefacemountain Ampersand ([#23437](https://github.com/qmk/qmk_firmware/pull/23437))
* Add TRKeyboard TRK1 keyboard ([#23642](https://github.com/qmk/qmk_firmware/pull/23642))
* Rename dnworks/9973 to dnworks/tkl87 ([#23692](https://github.com/qmk/qmk_firmware/pull/23692))
* Update Underglow keycodes ([#23765](https://github.com/qmk/qmk_firmware/pull/23765))
* Add boardsource/the_q ([#23782](https://github.com/qmk/qmk_firmware/pull/23782))
* BastardKB: remove legacy board `tbk` ([#23818](https://github.com/qmk/qmk_firmware/pull/23818))
* Update ZSA Moonlander ([#23911](https://github.com/qmk/qmk_firmware/pull/23911))
* Move Planck EZ to ZSA vendor folder ([#23917](https://github.com/qmk/qmk_firmware/pull/23917))
* Migrate SPLIT_HAND_PIN to json ([#23924](https://github.com/qmk/qmk_firmware/pull/23924))
* Migrate SERIAL_DRIVER to json ([#23925](https://github.com/qmk/qmk_firmware/pull/23925))
* Migrate RGB Matrix layout for two boards ([#23963](https://github.com/qmk/qmk_firmware/pull/23963))
* Migrate `led_update_kb` implementations to DD ([#23980](https://github.com/qmk/qmk_firmware/pull/23980))
* Migrate `led_update_kb` implementations to DD ([#23981](https://github.com/qmk/qmk_firmware/pull/23981))
* Migrate `led_update_kb` implementations to DD ([#23983](https://github.com/qmk/qmk_firmware/pull/23983))
* Migrate `led_update_kb` implementations to DD ([#23985](https://github.com/qmk/qmk_firmware/pull/23985))
* Relocate m256wh VIA logic ([#24006](https://github.com/qmk/qmk_firmware/pull/24006))
* Relocate winry315 VIA logic ([#24008](https://github.com/qmk/qmk_firmware/pull/24008))
* Relocate m256ws VIA logic ([#24009](https://github.com/qmk/qmk_firmware/pull/24009))
* `atreus`: misc cleanups ([#24010](https://github.com/qmk/qmk_firmware/pull/24010))
* Relocate work_louder VIA logic ([#24011](https://github.com/qmk/qmk_firmware/pull/24011))
* Relocate xelus/pachi/rgb/rev2 VIA logic ([#24016](https://github.com/qmk/qmk_firmware/pull/24016))
* Remove custom keycodes from nullbitsco/snap ([#24017](https://github.com/qmk/qmk_firmware/pull/24017))
* added bear_face/v3 ([#24032](https://github.com/qmk/qmk_firmware/pull/24032))
* Remove DEFAULT_FOLDER from maple_computing/lets_split_eh ([#24054](https://github.com/qmk/qmk_firmware/pull/24054))
* refactor bear_face/v1, v2 ([#24060](https://github.com/qmk/qmk_firmware/pull/24060))
* Convert `eeconfig_init_kb` implementations to config ([#24087](https://github.com/qmk/qmk_firmware/pull/24087))
* Remove broken keymap from keebio/iris ([#24094](https://github.com/qmk/qmk_firmware/pull/24094))
* Move LED Matrix LED config to data driven ([#24122](https://github.com/qmk/qmk_firmware/pull/24122))
* Move split.soft_serial_pin to split.serial.pin ([#24127](https://github.com/qmk/qmk_firmware/pull/24127))
* Remove pointless `RGB_MATRIX_LED_COUNT`s ([#24133](https://github.com/qmk/qmk_firmware/pull/24133))
* `hs60/v1`: separate into ANSI and ISO revisions ([#24136](https://github.com/qmk/qmk_firmware/pull/24136))
* Migrate half-duplex `SERIAL_USART_TX_PIN` to DD ([#24143](https://github.com/qmk/qmk_firmware/pull/24143))
* Migrate split.soft_serial_pin to split.serial.pin O-Z ([#24146](https://github.com/qmk/qmk_firmware/pull/24146))
* Migrate split.soft_serial_pin to split.serial.pin 0-H ([#24155](https://github.com/qmk/qmk_firmware/pull/24155))
* Remove instances of MASTER_LEFT. ([#24163](https://github.com/qmk/qmk_firmware/pull/24163))
* Rename EC Type-K ([#24180](https://github.com/qmk/qmk_firmware/pull/24180))
* Migrate split.soft_serial_pin to split.serial.pin H-O ([#24185](https://github.com/qmk/qmk_firmware/pull/24185))
* Remove split.transport.protocol=serial ([#24191](https://github.com/qmk/qmk_firmware/pull/24191))
* Refactor use of `matrix_scan_kb` ([#24200](https://github.com/qmk/qmk_firmware/pull/24200))
* Eliminate use of `#include "../default/keymap.c"`. ([#24215](https://github.com/qmk/qmk_firmware/pull/24215))
* Remove keyboard level `QK_BOOT` implementations ([#24231](https://github.com/qmk/qmk_firmware/pull/24231))
* Remove `handwired/pytest/has_template` ([#24232](https://github.com/qmk/qmk_firmware/pull/24232))
* Refactor opendeck/32 ([#24233](https://github.com/qmk/qmk_firmware/pull/24233))
* Refactor printedpad ([#24236](https://github.com/qmk/qmk_firmware/pull/24236))
* Refactor orthocode ([#24237](https://github.com/qmk/qmk_firmware/pull/24237))
* Remove unnecessary RGB Matrix shutdown hooks ([#24238](https://github.com/qmk/qmk_firmware/pull/24238))
* Remove all via-enabled keymaps, including `via`. ([#24322](https://github.com/qmk/qmk_firmware/pull/24322))
Keyboard fixes:
* Fix dogtag/info.json ([#23520](https://github.com/qmk/qmk_firmware/pull/23520))
* splitkb/kyria: remove `CONVERT_TO` at keyboard level ([#23857](https://github.com/qmk/qmk_firmware/pull/23857))
* Fixup mt/mt84 ([#23883](https://github.com/qmk/qmk_firmware/pull/23883))
* Fix for encoders and support ENCODER_MAP_ENABLE on Planck rev7 ([#23967](https://github.com/qmk/qmk_firmware/pull/23967))
* `handwired/swiftrax/bumblebee`: fix layout name ([#24064](https://github.com/qmk/qmk_firmware/pull/24064))
* Fixup boardsource/the_q RGB matrix coordinates ([#24086](https://github.com/qmk/qmk_firmware/pull/24086))
* Various fixes for keyboards not implementing callbacks correctly ([#24092](https://github.com/qmk/qmk_firmware/pull/24092))
* Various fixes for keyboards not implementing callbacks correctly ([#24116](https://github.com/qmk/qmk_firmware/pull/24116))
* Remove duplicate calls to `housekeeping_task_user` ([#24201](https://github.com/qmk/qmk_firmware/pull/24201))
* Fixup `handwired/dactyl_minidox` ([#24253](https://github.com/qmk/qmk_firmware/pull/24253))
* Fix build failure on zsa/moonlander with DYNAMIC_MACRO_ENABLE ([#24316](https://github.com/qmk/qmk_firmware/pull/24316))
Others:
* LED drivers: extract documentation from LED/RGB Matrix pages ([#23630](https://github.com/qmk/qmk_firmware/pull/23630))
* Implement data driven serial driver ([#23923](https://github.com/qmk/qmk_firmware/pull/23923))
* Remove skipped schema files ([#23987](https://github.com/qmk/qmk_firmware/pull/23987))
* Update RGBLight (Underglow) keycode names ([#23999](https://github.com/qmk/qmk_firmware/pull/23999))
Bugs:
* Fix NKRO and Mouse Emulation on arm_atsam ([#23945](https://github.com/qmk/qmk_firmware/pull/23945))
* Force `dump_lines()` to always use Unix line endings ([#23954](https://github.com/qmk/qmk_firmware/pull/23954))
* Fixup home link. ([#24068](https://github.com/qmk/qmk_firmware/pull/24068))

View File

@@ -1,37 +0,0 @@
# Quantum Mechanical Keyboard Firmware
## What is QMK Firmware?
QMK (*Quantum Mechanical Keyboard*) is an open source community centered around developing computer input devices. The community encompasses all sorts of input devices, such as keyboards, mice, and MIDI devices. A core group of collaborators maintains [QMK Firmware](https://github.com/qmk/qmk_firmware), [QMK Configurator](https://config.qmk.fm), [QMK Toolbox](https://github.com/qmk/qmk_toolbox), [qmk.fm](https://qmk.fm), and this documentation with the help of community members like you.
## Get Started
<div class="flex-container">
?> **Basic** [QMK Configurator](newbs_building_firmware_configurator.md) <br>
User friendly graphical interfaces, no programming knowledge required.
?> **Advanced** [Use The Source](newbs.md) <br>
More powerful, but harder to use.
</div>
## Make It Yours
QMK has lots of features to explore, and a good deal of reference documentation to dig through. Most features are taken advantage of by modifying your [keymap](keymap.md), and changing the [keycodes](keycodes.md).
## Need help?
Check out the [support page](support.md) to see how you can get help using QMK.
## Give Back
There are a lot of ways you can contribute to the QMK Community. The easiest way to get started is to use it and spread the word to your friends.
* Help people out on our forums and chat rooms:
* [/r/olkb](https://www.reddit.com/r/olkb/)
* [Discord Server](https://discord.gg/Uq7gcHh)
* Contribute to our documentation by clicking "Edit This Page" at the bottom
* [Translate our documentation into your language](translating.md)
* [Report a bug](https://github.com/qmk/qmk_firmware/issues/new/choose)
* [Open a Pull Request](contributing.md)

298
docs/__capabilities.md Normal file
View File

@@ -0,0 +1,298 @@
# Documentation Capabilities
This page lays out the capabilities used by the QMK Firmware documentation, in order to aid future transitions to other page generators. Focuses mainly on things other than normal Markdown, as it's assumed that markdown generators should still function accordingly.
## Overall capabilities
Unrelated to styling, high-level tech.
* Title anchors -- `:id=some-anchor-name`, used for direct linking to sections
* Links to anchors:
* Style 1: [early initialization](platformdev_chibios_earlyinit.md?id=board-init)
* Style 2: [early initialization](platformdev_chibios_earlyinit.md#board-init)
* Links to anchors on the same page, i.e. [Emoji](#emoji)
* Specifying CNAME for root domain -- `docs.qmk.fm`
* Moved pages, see `index.html`
* Text search
* Footnotes [like this][1]
<!-- Comments should not show up -->
<!-- Nor should
multiline
comments with
newlines show up -->
### Dividing lines
---
<hr>
<hr/>
### Images
![QMK Color Wheel with HSV Values](https://i.imgur.com/vkYVo66.jpg)
![QMK Light](./public/badge-community-light.svg)
![QMK Dark](./public/badge-community-dark.svg)
<img src="./public/color-wheel.svg" alt="HSV Color Wheel" width="250"/>
### Lists
Newlines with `<br>`:
Line one<br>
Line two<br/>
Line three
Nested dotted:
* The PR is complete and ready to merge
* GitHub checks for the PR are green whenever possible
* A "red" check may be disregarded by maintainers if the items flagged are unrelated to the change proposed in the PR
* Modifications to existing files should not need to add license headers to pass lint, for instance.
* If it's not directly related to your PR's functionality, prefer avoiding making a change.
Nested dashed:
- The PR is complete and ready to merge
- GitHub checks for the PR are green whenever possible
- A "red" check may be disregarded by maintainers if the items flagged are unrelated to the change proposed in the PR
- Modifications to existing files should not need to add license headers to pass lint, for instance.
- If it's not directly related to your PR's functionality, prefer avoiding making a change.
Nested numbered:
1. The PR is complete and ready to merge
1. GitHub checks for the PR are green whenever possible
1. A "red" check may be disregarded by maintainers if the items flagged are unrelated to the change proposed in the PR
1. Modifications to existing files should not need to add license headers to pass lint, for instance.
1. If it's not directly related to your PR's functionality, prefer avoiding making a change.
Nested mixed:
1. Add it to the schema in `data/schemas/keyboards.jsonschema`
1. Add a mapping in `data/maps`
1. (optional and discouraged) Add code to extract/generate it to:
* `lib/python/qmk/info.py`
* `lib/python/qmk/cli/generate/config_h.py`
* `lib/python/qmk/cli/generate/rules_mk.py`
### Emoji {#emoji}
#### Direct:
👍🎉 First off, thanks for taking the time to read this and contribute! 🎉👍
#### As colon-name-colon:
:heavy_check_mark: : works and was tested
:o: : does not apply
:x: : not supported by MCU
### XML Entities
[`clueboard`](https://github.com/qmk/qmk_firmware/tree/master/keyboards/clueboard) &larr; This is the organization folder, there's no `rules.mk` file
1&ndash;4
Command+<code>&#96;</code>
## Styling
### CSS-ish
<b style="font-size:150%">This is 150% of normal sizing, and bold!</b>
### Tables
| Column A | Column B |
|----------|----------|
| Left | Right |
### Indented sections
> Indent without any sort of marker
?> Query, this?
!> Notification, damnit!
::: info
This is an info box.
:::
::: tip
This is a tip.
:::
::: warning
This is a warning.
:::
::: danger
This is a dangerous warning.
:::
::: details
This is a details block.
:::
### Keyboard keys
<kbd>,</kbd>
<kbd>Right Alt</kbd>+<kbd>Right Shift</kbd>
1. Click <kbd>File</kbd> > <kbd>New</kbd> > <kbd>Makefile Project with Existing Code</kbd>
1. Click <kbd><kbd>File</kbd> > <kbd>Preferences ></kbd> > <kbd>Settings</kbd> </kbd>
1. Hit Ctrl-<code>&#96;</code> (Grave) to bring up the terminal or go to <kbd><kbd>View</kbd> > <kbd>Terminal</kbd></kbd> (command `workbench.action.terminal.toggleTerminal`). A new terminal will be opened if there isnt one already.
This should start the terminal in the workspace's folder (so the `qmk_firmware` folder), and then you can compile your keyboard.
### Code Blocks
Inline code with tag: <code>test</code>
Inline code with backticks: `test`
This is preformatted
Indented by 4 spaces
The letters lined up
```c
int c_code(void) {
return -1;
}
```
```makefile
ifeq ($(BUILD),)
CHUNDER_REQUIRED = yes
endif
```
```python
from pathlib import Path
p = Path('/path/to/qmk_firmware')
```
```json
{
"a": "b",
"c": 4,
"d": {
"e": [
0, 1, 2, 3
]
}
}
```
```diff
#undef RGBLIGHT_LED_COUNT
+#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
+#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_LED_COUNT 12
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
```
Indented code as part of a list:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
* [Teensy Loader](https://www.pjrc.com/teensy/loader.html)
* [Teensy Loader Command Line](https://www.pjrc.com/teensy/loader_cli.html) / `:teensy` target in QMK (recommended command line)
```
teensy_loader_cli -v -mmcu=<mcu> <filename>
```
### Sub/Superscript
<sub>This is subscripted, apparently.</sub>
<sup>This is superscripted, apparently.</sup>
I<sup>2</sup>C
T<sub>0H</sub>, T<sub>0L</sub>
### Tabs
Tabs are based on section headers, with `**` enclosing the tab title.
<!-- tabs:start -->
#### ** Tab one **
Content one
<!-- tabs:start -->
##### ** Nested one **
Nested content one
##### ** Nested two **
Nested content two
<!-- tabs:end -->
#### ** Tab two **
Content two
#### ** Tab three **
Content three
<!-- tabs:end -->
::::tabs
=== tab a
a content 2
=== tab b
b content 2
=== tab c
:::tabs
== nested tab a
nested a content 2
== nested tab b
nested b content 2
:::
::::
## Details sections
Expandable:
<details>
<summary>Some summary text that shows up before expanding</summary>
!> Embedded notification!
This is some inner content.
</details>
## Embed
[example embed](__capabilities_inc.md ':include')
<!--@include: ./__capabilities_inc.md-->
[1]: https://en.wikipedia.org/wiki/Eclipse_(software)

View File

@@ -0,0 +1 @@
Lorem ipsum dolor sit amet.

75
docs/_aliases.json Normal file
View File

@@ -0,0 +1,75 @@
{
"/adding_a_keyboard_to_qmk": "/hardware_keyboard_guidelines",
"/build_environment_setup": "/newbs_getting_started",
"/cli_dev_configuration": "/cli_configuration",
"/dynamic_macros": "/feature_dynamic_macros",
"/feature_common_shortcuts": "/feature_advanced_keycodes",
"/flashing_bootloadhid": "/flashing",
"/getting_started_build_tools": "/newbs_getting_started",
"/getting_started_getting_help": "/support",
"/glossary": "/reference_glossary",
"/key_lock": "/feature_key_lock",
"/make_instructions": "/getting_started_make_guide",
"/python_development": "/cli_development",
"/space_cadet_shift": "/feature_space_cadet_shift",
"/tap_dance": "/feature_tap_dance",
"/tutorial": "/newbs",
"/unicode": "/feature_unicode",
"/adc_driver": "/drivers/adc",
"/apa102_driver": "/drivers/apa102",
"/audio_driver": "/drivers/audio",
"/eeprom_driver": "/drivers/eeprom",
"/feature_audio": "/features/audio",
"/feature_auto_shift": "/features/auto_shift",
"/feature_autocorrect": "/features/autocorrect",
"/feature_backlight": "/features/backlight",
"/feature_bluetooth": "/features/bluetooth",
"/feature_bootmagic": "/features/bootmagic",
"/feature_caps_word": "/features/caps_word",
"/feature_combo": "/features/combo",
"/feature_command": "/features/command",
"/feature_digitizer": "/features/digitizer",
"/feature_dip_switch": "/features/dip_switch",
"/feature_dynamic_macros": "/features/dynamic_macros",
"/feature_encoders": "/features/encoders",
"/feature_grave_esc": "/features/grave_esc",
"/feature_haptic_feedback": "/features/haptic_feedback",
"/feature_hd44780": "/features/hd44780",
"/feature_joystick": "/features/joystick",
"/feature_key_lock": "/features/key_lock",
"/feature_key_overrides": "/features/key_overrides",
"/feature_leader_key": "/features/leader_key",
"/feature_led_indicators": "/features/led_indicators",
"/feature_led_matrix": "/features/led_matrix",
"/feature_midi": "/features/midi",
"/feature_mouse_keys": "/features/mouse_keys",
"/feature_oled_driver": "/features/oled_driver",
"/feature_os_detection": "/features/os_detection",
"/feature_pointing_device": "/features/pointing_device",
"/feature_programmable_button": "/features/programmable_button",
"/feature_ps2_mouse": "/features/ps2_mouse",
"/feature_rawhid": "/features/rawhid",
"/feature_repeat_key": "/features/repeat_key",
"/feature_rgb_matrix": "/features/rgb_matrix",
"/feature_rgblight": "/features/rgblight",
"/feature_secure": "/features/secure",
"/feature_send_string": "/features/send_string",
"/feature_sequencer": "/features/sequencer",
"/feature_space_cadet": "/features/space_cadet",
"/feature_split_keyboard": "/features/split_keyboard",
"/feature_st7565": "/features/st7565",
"/feature_stenography": "/features/stenography",
"/feature_swap_hands": "/features/swap_hands",
"/feature_tap_dance": "/features/tap_dance",
"/feature_tri_layer": "/features/tri_layer",
"/feature_unicode": "/features/unicode",
"/feature_wpm": "/features/wpm",
"/flash_driver": "/drivers/flash",
"/gpio_control": "/drivers/gpio",
"/i2c_driver": "/drivers/i2c",
"/serial_driver": "/drivers/serial",
"/spi_driver": "/drivers/spi",
"/uart_driver": "/drivers/uart",
"/ws2812_driver": "/drivers/ws2812"
}

View File

@@ -1,4 +0,0 @@
- Translations
- [:uk: English](/)
- [:cn: 简体中文](/zh-cn/)
- [:jp: 日本語](/ja/)

304
docs/_sidebar.json Normal file
View File

@@ -0,0 +1,304 @@
[
{
"text": "Tutorial",
"items": [
{ "text": "Introduction", "link": "/newbs" },
{ "text": "Setup", "link": "/newbs_getting_started" },
{ "text": "Building Your First Firmware", "link": "/newbs_building_firmware" },
{ "text": "Flashing Firmware", "link": "/newbs_flashing" },
{ "text": "Getting Help/Support", "link": "/support" },
{ "text": "External Userspace", "link": "/newbs_external_userspace" },
{ "text": "Other Resources", "link": "/newbs_learn_more_resources" },
{ "text": "Syllabus", "link": "/syllabus" }
]
},
{
"text": "FAQs",
"items": [
{ "text": "General FAQ", "link": "/faq_general" },
{ "text": "Build/Compile QMK", "link": "/faq_build" },
{ "text": "Troubleshooting QMK", "link": "/faq_misc" },
{ "text": "Debugging QMK", "link": "/faq_debug" },
{ "text": "Keymap FAQ", "link": "/faq_keymap" },
{ "text": "Squeezing Space from AVR", "link": "/squeezing_avr" },
{ "text": "Glossary", "link": "/reference_glossary" }
]
},
{
"text": "Configurator",
"items": [
{ "text": "Overview", "link": "/newbs_building_firmware_configurator" },
{ "text": "Step by Step", "link": "/configurator_step_by_step" },
{ "text": "Troubleshooting", "link": "/configurator_troubleshooting" },
{ "text": "Architecture", "link": "/configurator_architecture" },
{
"text": "QMK API",
"items": [
{ "text": "Overview", "link": "/api_overview" },
{ "text": "API Documentation", "link": "/api_docs" },
{ "text": "Keyboard Support", "link": "/reference_configurator_support" },
{ "text": "Adding Default Keymaps", "link": "/configurator_default_keymaps" }
]
}
]
},
{
"text": "CLI",
"items": [
{ "text": "Overview", "link": "/cli" },
{ "text": "Configuration", "link": "/cli_configuration" },
{ "text": "Commands", "link": "/cli_commands" },
{ "text": "Tab Completion", "link": "/cli_tab_complete" }
]
},
{
"text": "Using QMK",
"items": [
{
"text": "Guides",
"items": [
{ "text": "Customizing Functionality", "link": "/custom_quantum_functions" },
{ "text": "Driver Installation with Zadig", "link": "/driver_installation_zadig" },
{ "text": "Keymap Overview", "link": "/keymap" },
{
"text": "Development Environments",
"items": [{ "text": "Docker Guide", "link": "/getting_started_docker" }]
},
{ "text": "Flashing", "link": "/flashing" },
{
"text": "IDEs",
"items": [
{ "text": "Using Eclipse with QMK", "link": "/other_eclipse" },
{ "text": "Using VSCode with QMK", "link": "/other_vscode" }
]
},
{
"text": "Git Best Practices",
"items": [
{ "text": "Introduction", "link": "/newbs_git_best_practices" },
{ "text": "Your Fork", "link": "/newbs_git_using_your_master_branch" },
{ "text": "Merge Conflicts", "link": "/newbs_git_resolving_merge_conflicts" },
{ "text": "Fixing Your Branch", "link": "/newbs_git_resynchronize_a_branch" }
]
}
]
},
{
"text": "Simple Keycodes",
"items": [
{ "text": "Full List", "link": "/keycodes" },
{ "text": "Basic Keycodes", "link": "/keycodes_basic" },
{ "text": "Language-Specific Keycodes", "link": "/reference_keymap_extras" },
{ "text": "Modifier Keys", "link": "/feature_advanced_keycodes" },
{ "text": "Quantum Keycodes", "link": "/quantum_keycodes" },
{ "text": "Magic Keycodes", "link": "/keycodes_magic" }
]
},
{
"text": "Advanced Keycodes",
"items": [
{ "text": "Command", "link": "/features/command" },
{ "text": "Dynamic Macros", "link": "/features/dynamic_macros" },
{ "text": "Grave Escape", "link": "/features/grave_esc" },
{ "text": "Leader Key", "link": "/features/leader_key" },
{ "text": "Mod-Tap", "link": "/mod_tap" },
{ "text": "Macros", "link": "/feature_macros" },
{ "text": "Mouse Keys", "link": "/features/mouse_keys" },
{ "text": "Programmable Button", "link": "/features/programmable_button" },
{ "text": "Repeat Key", "link": "/features/repeat_key" },
{ "text": "Space Cadet Shift", "link": "/features/space_cadet" },
{ "text": "US ANSI Shifted Keys", "link": "/keycodes_us_ansi_shifted" }
]
},
{
"text": "Software Features",
"items": [
{ "text": "Auto Shift", "link": "/features/auto_shift" },
{ "text": "Autocorrect", "link": "/features/autocorrect" },
{ "text": "Caps Word", "link": "/features/caps_word" },
{ "text": "Combos", "link": "/features/combo" },
{ "text": "Debounce API", "link": "/feature_debounce_type" },
{ "text": "Digitizer", "link": "/features/digitizer" },
{ "text": "EEPROM", "link": "/feature_eeprom" },
{ "text": "Key Lock", "link": "/features/key_lock" },
{ "text": "Key Overrides", "link": "/features/key_overrides" },
{ "text": "Layers", "link": "/feature_layers" },
{ "text": "One Shot Keys", "link": "/one_shot_keys" },
{ "text": "OS Detection", "link": "/features/os_detection" },
{ "text": "Raw HID", "link": "/features/rawhid" },
{ "text": "Secure", "link": "/features/secure" },
{ "text": "Send String", "link": "/features/send_string" },
{ "text": "Sequencer", "link": "/features/sequencer" },
{ "text": "Swap Hands", "link": "/features/swap_hands" },
{ "text": "Tap Dance", "link": "/features/tap_dance" },
{ "text": "Tap-Hold Configuration", "link": "/tap_hold" },
{ "text": "Tri Layer", "link": "/features/tri_layer" },
{ "text": "Unicode", "link": "/features/unicode" },
{ "text": "Userspace", "link": "/feature_userspace" },
{ "text": "WPM Calculation", "link": "/features/wpm" }
]
},
{
"text": "Hardware Features",
"items": [
{
"text": "Displays",
"items": [
{
"text": "Quantum Painter",
"link": "quantum_painter",
"items": [
{ "text": "Quantum Painter LVGL Integration", "link": "/quantum_painter_lvgl" }
]
},
{ "text": "HD44780 LCD Driver", "link": "/features/hd44780" },
{ "text": "ST7565 LCD Driver", "link": "/features/st7565" },
{ "text": "OLED Driver", "link": "/features/oled_driver" }
]
},
{
"text": "Lighting",
"items": [
{ "text": "Backlight", "link": "/features/backlight" },
{ "text": "LED Matrix", "link": "/features/led_matrix" },
{ "text": "RGB Lighting", "link": "/features/rgblight" },
{ "text": "RGB Matrix", "link": "/features/rgb_matrix" }
]
},
{ "text": "Audio", "link": "/features/audio" },
{ "text": "Bluetooth", "link": "/features/bluetooth" },
{ "text": "Bootmagic", "link": "/features/bootmagic" },
{ "text": "Converters", "link": "/feature_converters" },
{ "text": "Custom Matrix", "link": "/custom_matrix" },
{ "text": "DIP Switch", "link": "/features/dip_switch" },
{ "text": "Encoders", "link": "/features/encoders" },
{ "text": "Haptic Feedback", "link": "/features/haptic_feedback" },
{ "text": "Joystick", "link": "/features/joystick" },
{ "text": "LED Indicators", "link": "/features/led_indicators" },
{ "text": "MIDI", "link": "/features/midi" },
{ "text": "Pointing Device", "link": "/features/pointing_device" },
{ "text": "PS/2 Mouse", "link": "/features/ps2_mouse" },
{ "text": "Split Keyboard", "link": "/features/split_keyboard" },
{ "text": "Stenography", "link": "/features/stenography" }
]
},
{
"text": "Keyboard Building",
"items": [
{ "text": "Easy Maker for One Offs", "link": "/easy_maker" },
{ "text": "Porting Keyboards", "link": "/porting_your_keyboard_to_qmk" },
{ "text": "Hand Wiring Guide", "link": "/hand_wire" },
{ "text": "ISP Flashing Guide", "link": "/isp_flashing_guide" }
]
}
]
},
{
"text": "Developing QMK",
"items": [
{ "text": "PR Checklist", "link": "/pr_checklist" },
{
"text": "Breaking Changes",
"items": [
{ "text": "Overview", "link": "/breaking_changes" },
{ "text": "My Pull Request Was Flagged", "link": "/breaking_changes_instructions" },
{
"text": "Most Recent ChangeLog",
"link": "/ChangeLog/20240825"
},
{ "text": "Past Breaking Changes", "link": "/breaking_changes_history" },
{ "text": "Deprecation Policy", "link": "/support_deprecation_policy" }
]
},
{
"text": "C Development",
"items": [
{ "text": "ARM Debugging Guide", "link": "/arm_debugging" },
{ "text": "Coding Conventions", "link": "/coding_conventions_c" },
{ "text": "Compatible Microcontrollers", "link": "/compatible_microcontrollers" },
{
"text": "Drivers",
"link": "hardware_drivers",
"items": [
{ "text": "ADC Driver", "link": "/drivers/adc" },
{ "text": "APA102 Driver", "link": "/drivers/apa102" },
{ "text": "Audio Driver", "link": "/drivers/audio" },
{ "text": "EEPROM Driver", "link": "/drivers/eeprom" },
{ "text": "Flash Driver", "link": "/drivers/flash" },
{ "text": "I2C Driver", "link": "/drivers/i2c" },
{ "text": "'serial' Driver", "link": "/drivers/serial" },
{ "text": "SPI Driver", "link": "/drivers/spi" },
{ "text": "UART Driver", "link": "/drivers/uart" },
{ "text": "WS2812 Driver", "link": "/drivers/ws2812" }
]
},
{ "text": "GPIO Controls", "link": "/drivers/gpio" },
{ "text": "Keyboard Guidelines", "link": "/hardware_keyboard_guidelines" }
]
},
{
"text": "Python Development",
"items": [
{ "text": "Coding Conventions", "link": "/coding_conventions_python" },
{ "text": "QMK CLI Development", "link": "/cli_development" }
]
},
{
"text": "Configurator Development",
"items": [
{
"text": "QMK API",
"items": [
{ "text": "Development Environment", "link": "/api_development_environment" },
{ "text": "Architecture Overview", "link": "/api_development_overview" }
]
}
]
},
{
"text": "Hardware Platform Development",
"items": [
{
"text": "Arm/ChibiOS",
"items": [
{ "text": "Selecting an MCU", "link": "/platformdev_selecting_arm_mcu" },
{ "text": "Early initialization", "link": "/platformdev_chibios_earlyinit" },
{ "text": "Raspberry Pi RP2040", "link": "/platformdev_rp2040" },
{ "text": "Proton C", "link": "/platformdev_proton_c" },
{ "text": "WeAct Blackpill F4x1", "link": "/platformdev_blackpill_f4x1" }
]
}
]
},
{
"text": "QMK Reference",
"items": [
{ "text": "Contributing to QMK", "link": "/contributing" },
{ "text": "Config Options", "link": "/config_options" },
{ "text": "Data Driven Configuration", "link": "/data_driven_config" },
{ "text": "Make Documentation", "link": "/getting_started_make_guide" },
{ "text": "Documentation Best Practices", "link": "/documentation_best_practices" },
{ "text": "Documentation Templates", "link": "/documentation_templates" },
{ "text": "Community Layouts", "link": "/feature_layouts" },
{ "text": "Unit Testing", "link": "/unit_testing" },
{ "text": "Useful Functions", "link": "/ref_functions" },
{ "text": "info.json Format", "link": "/reference_info_json" }
]
},
{
"text": "For a Deeper Understanding",
"items": [
{ "text": "How Keyboards Work", "link": "/how_keyboards_work" },
{ "text": "How a Matrix Works", "link": "/how_a_matrix_works" },
{ "text": "Understanding QMK", "link": "/understanding_qmk" }
]
}
]
}
]

View File

@@ -1,204 +0,0 @@
* Tutorial
* [Introduction](newbs.md)
* [Setup](newbs_getting_started.md)
* [Building Your First Firmware](newbs_building_firmware.md)
* [Flashing Firmware](newbs_flashing.md)
* [Getting Help/Support](support.md)
* [External Userspace](newbs_external_userspace.md)
* [Other Resources](newbs_learn_more_resources.md)
* [Syllabus](syllabus.md)
* FAQs
* [General FAQ](faq_general.md)
* [Build/Compile QMK](faq_build.md)
* [Troubleshooting QMK](faq_misc.md)
* [Debugging QMK](faq_debug.md)
* [Keymap FAQ](faq_keymap.md)
* [Squeezing Space from AVR](squeezing_avr.md)
* [Glossary](reference_glossary.md)
* Configurator
* [Overview](newbs_building_firmware_configurator.md)
* [Step by Step](configurator_step_by_step.md)
* [Troubleshooting](configurator_troubleshooting.md)
* [Architecture](configurator_architecture.md)
* QMK API
* [Overview](api_overview.md)
* [API Documentation](api_docs.md)
* [Keyboard Support](reference_configurator_support.md)
* [Adding Default Keymaps](configurator_default_keymaps.md)
* CLI
* [Overview](cli.md)
* [Configuration](cli_configuration.md)
* [Commands](cli_commands.md)
* [Tab Completion](cli_tab_complete.md)
* Using QMK
* Guides
* [Customizing Functionality](custom_quantum_functions.md)
* [Driver Installation with Zadig](driver_installation_zadig.md)
* [Keymap Overview](keymap.md)
* Development Environments
* [Docker Guide](getting_started_docker.md)
* Flashing
* [Flashing](flashing.md)
* [Flashing ATmega32A (ps2avrgb)](flashing_bootloadhid.md)
* IDEs
* [Using Eclipse with QMK](other_eclipse.md)
* [Using VSCode with QMK](other_vscode.md)
* Git Best Practices
* [Introduction](newbs_git_best_practices.md)
* [Your Fork](newbs_git_using_your_master_branch.md)
* [Merge Conflicts](newbs_git_resolving_merge_conflicts.md)
* [Fixing Your Branch](newbs_git_resynchronize_a_branch.md)
* Simple Keycodes
* [Full List](keycodes.md)
* [Basic Keycodes](keycodes_basic.md)
* [Language-Specific Keycodes](reference_keymap_extras.md)
* [Modifier Keys](feature_advanced_keycodes.md)
* [Quantum Keycodes](quantum_keycodes.md)
* [Magic Keycodes](keycodes_magic.md)
* Advanced Keycodes
* [Command](feature_command.md)
* [Dynamic Macros](feature_dynamic_macros.md)
* [Grave Escape](feature_grave_esc.md)
* [Leader Key](feature_leader_key.md)
* [Mod-Tap](mod_tap.md)
* [Macros](feature_macros.md)
* [Mouse Keys](feature_mouse_keys.md)
* [Programmable Button](feature_programmable_button.md)
* [Repeat Key](feature_repeat_key.md)
* [Space Cadet Shift](feature_space_cadet.md)
* [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md)
* Software Features
* [Auto Shift](feature_auto_shift.md)
* [Autocorrect](feature_autocorrect.md)
* [Caps Word](feature_caps_word.md)
* [Combos](feature_combo.md)
* [Debounce API](feature_debounce_type.md)
* [Digitizer](feature_digitizer.md)
* [EEPROM](feature_eeprom.md)
* [Key Lock](feature_key_lock.md)
* [Key Overrides](feature_key_overrides.md)
* [Layers](feature_layers.md)
* [One Shot Keys](one_shot_keys.md)
* [OS Detection](feature_os_detection.md)
* [Raw HID](feature_rawhid.md)
* [Secure](feature_secure.md)
* [Send String](feature_send_string.md)
* [Sequencer](feature_sequencer.md)
* [Swap Hands](feature_swap_hands.md)
* [Tap Dance](feature_tap_dance.md)
* [Tap-Hold Configuration](tap_hold.md)
* [Tri Layer](feature_tri_layer.md)
* [Unicode](feature_unicode.md)
* [Userspace](feature_userspace.md)
* [WPM Calculation](feature_wpm.md)
* Hardware Features
* Displays
* [Quantum Painter](quantum_painter.md)
* [Quantum Painter LVGL Integration](quantum_painter_lvgl.md)
* [HD44780 LCD Driver](feature_hd44780.md)
* [ST7565 LCD Driver](feature_st7565.md)
* [OLED Driver](feature_oled_driver.md)
* Lighting
* [Backlight](feature_backlight.md)
* [LED Matrix](feature_led_matrix.md)
* [RGB Lighting](feature_rgblight.md)
* [RGB Matrix](feature_rgb_matrix.md)
* [Audio](feature_audio.md)
* [Bluetooth](feature_bluetooth.md)
* [Bootmagic Lite](feature_bootmagic.md)
* [Converters](feature_converters.md)
* [Custom Matrix](custom_matrix.md)
* [DIP Switch](feature_dip_switch.md)
* [Encoders](feature_encoders.md)
* [Haptic Feedback](feature_haptic_feedback.md)
* [Joystick](feature_joystick.md)
* [LED Indicators](feature_led_indicators.md)
* [MIDI](feature_midi.md)
* [Pointing Device](feature_pointing_device.md)
* [PS/2 Mouse](feature_ps2_mouse.md)
* [Split Keyboard](feature_split_keyboard.md)
* [Stenography](feature_stenography.md)
* Keyboard Building
* [Easy Maker for One Offs](easy_maker.md)
* [Porting Keyboards](porting_your_keyboard_to_qmk.md)
* [Hand Wiring Guide](hand_wire.md)
* [ISP Flashing Guide](isp_flashing_guide.md)
* Developing QMK
* [PR Checklist](pr_checklist.md)
* Breaking Changes
* [Overview](breaking_changes.md)
* [My Pull Request Was Flagged](breaking_changes_instructions.md)
* [Most Recent ChangeLog](ChangeLog/20240225.md "QMK v0.24.0 - 2024 Feb 25")
* [Past Breaking Changes](breaking_changes_history.md)
* C Development
* [ARM Debugging Guide](arm_debugging.md)
* [Coding Conventions](coding_conventions_c.md)
* [Compatible Microcontrollers](compatible_microcontrollers.md)
* [Drivers](hardware_drivers.md)
* [ADC Driver](adc_driver.md)
* [APA102 Driver](apa102_driver.md)
* [Audio Driver](audio_driver.md)
* [I2C Driver](i2c_driver.md)
* [SPI Driver](spi_driver.md)
* [WS2812 Driver](ws2812_driver.md)
* [EEPROM Driver](eeprom_driver.md)
* [Flash Driver](flash_driver.md)
* ['serial' Driver](serial_driver.md)
* [UART Driver](uart_driver.md)
* [GPIO Controls](gpio_control.md)
* [Keyboard Guidelines](hardware_keyboard_guidelines.md)
* Python Development
* [Coding Conventions](coding_conventions_python.md)
* [QMK CLI Development](cli_development.md)
* Configurator Development
* QMK API
* [Development Environment](api_development_environment.md)
* [Architecture Overview](api_development_overview.md)
* Hardware Platform Development
* Arm/ChibiOS
* [Selecting an MCU](platformdev_selecting_arm_mcu.md)
* [Early initialization](platformdev_chibios_earlyinit.md)
* [Raspberry Pi RP2040](platformdev_rp2040.md)
* [Proton C](platformdev_proton_c.md)
* [WeAct Blackpill F4x1](platformdev_blackpill_f4x1.md)
* QMK Reference
* [Contributing to QMK](contributing.md)
* [Translating the QMK Docs](translating.md)
* [Config Options](config_options.md)
* [Data Driven Configuration](data_driven_config.md)
* [Make Documentation](getting_started_make_guide.md)
* [Documentation Best Practices](documentation_best_practices.md)
* [Documentation Templates](documentation_templates.md)
* [Community Layouts](feature_layouts.md)
* [Unit Testing](unit_testing.md)
* [Useful Functions](ref_functions.md)
* [info.json Format](reference_info_json.md)
* For a Deeper Understanding
* [How Keyboards Work](how_keyboards_work.md)
* [How a Matrix Works](how_a_matrix_works.md)
* [Understanding QMK](understanding_qmk.md)
* QMK Internals (In Progress)
* [Defines](internals/defines.md)
* [Input Callback Reg](internals/input_callback_reg.md)
* [Midi Device](internals/midi_device.md)
* [Midi Device Setup Process](internals/midi_device_setup_process.md)
* [Midi Util](internals/midi_util.md)
* [Send Functions](internals/send_functions.md)
* [Sysex Tools](internals/sysex_tools.md)

View File

@@ -1,173 +0,0 @@
# ADC Driver
QMK can leverage the Analog-to-Digital Converter (ADC) on supported MCUs to measure voltages on certain pins. This can be useful for implementing things such as battery level indicators for Bluetooth keyboards, or volume controls using a potentiometer, as opposed to a [rotary encoder](feature_encoders.md).
This driver currently supports both AVR and a limited selection of ARM devices. The values returned are 10-bit integers (0-1023) mapped between 0V and VCC (usually 5V or 3.3V for AVR, 3.3V only for ARM), however on ARM there is more flexibility in control of operation through `#define`s if you need more precision.
## Usage
To use this driver, add the following to your `rules.mk`:
```make
ANALOG_DRIVER_REQUIRED = yes
```
Then place this include at the top of your code:
```c
#include "analog.h"
```
## Channels
### AVR
|Channel|AT90USB64/128|ATmega16/32U4|ATmega32A|ATmega328/P|
|-------|-------------|-------------|---------|----------|
|0 |`F0` |`F0` |`A0` |`C0` |
|1 |`F1` |`F1` |`A1` |`C1` |
|2 |`F2` | |`A2` |`C2` |
|3 |`F3` | |`A3` |`C3` |
|4 |`F4` |`F4` |`A4` |`C4` |
|5 |`F5` |`F5` |`A5` |`C5` |
|6 |`F6` |`F6` |`A6` |* |
|7 |`F7` |`F7` |`A7` |* |
|8 | |`D4` | | |
|9 | |`D6` | | |
|10 | |`D7` | | |
|11 | |`B4` | | |
|12 | |`B5` | | |
|13 | |`B6` | | |
<sup>\* The ATmega328/P possesses two extra ADC channels; however, they are not present on the DIP pinout, and are not shared with GPIO pins. You can use `adc_read()` directly to gain access to these.</sup>
### ARM
#### STM32
Note that some of these pins are doubled-up on ADCs with the same channel. This is because the pins can be used for either ADC.
Also note that the F0 and F3 use different numbering schemes. The F0 has a single ADC and the channels are 0-indexed, whereas the F3 has 4 ADCs and the channels are 1-indexed. This is because the F0 uses the `ADCv1` implementation of the ADC, whereas the F3 uses the `ADCv3` implementation.
|ADC|Channel|STM32F0xx|STM32F1xx|STM32F3xx|STM32F4xx|
|---|-------|---------|---------|---------|---------|
|1 |0 |`A0` |`A0` | |`A0` |
|1 |1 |`A1` |`A1` |`A0` |`A1` |
|1 |2 |`A2` |`A2` |`A1` |`A2` |
|1 |3 |`A3` |`A3` |`A2` |`A3` |
|1 |4 |`A4` |`A4` |`A3` |`A4` |
|1 |5 |`A5` |`A5` |`F4` |`A5` |
|1 |6 |`A6` |`A6` |`C0` |`A6` |
|1 |7 |`A7` |`A7` |`C1` |`A7` |
|1 |8 |`B0` |`B0` |`C2` |`B0` |
|1 |9 |`B1` |`B1` |`C3` |`B1` |
|1 |10 |`C0` |`C0` |`F2` |`C0` |
|1 |11 |`C1` |`C1` | |`C1` |
|1 |12 |`C2` |`C2` | |`C2` |
|1 |13 |`C3` |`C3` | |`C3` |
|1 |14 |`C4` |`C4` | |`C4` |
|1 |15 |`C5` |`C5` | |`C5` |
|1 |16 | | | | |
|2 |0 | |`A0`¹ | |`A0`² |
|2 |1 | |`A1`¹ |`A4` |`A1`² |
|2 |2 | |`A2`¹ |`A5` |`A2`² |
|2 |3 | |`A3`¹ |`A6` |`A3`² |
|2 |4 | |`A4`¹ |`A7` |`A4`² |
|2 |5 | |`A5`¹ |`C4` |`A5`² |
|2 |6 | |`A6`¹ |`C0` |`A6`² |
|2 |7 | |`A7`¹ |`C1` |`A7`² |
|2 |8 | |`B0`¹ |`C2` |`B0`² |
|2 |9 | |`B1`¹ |`C3` |`B1`² |
|2 |10 | |`C0`¹ |`F2` |`C0`² |
|2 |11 | |`C1`¹ |`C5` |`C1`² |
|2 |12 | |`C2`¹ |`B2` |`C2`² |
|2 |13 | |`C3`¹ | |`C3`² |
|2 |14 | |`C4`¹ | |`C4`² |
|2 |15 | |`C5`¹ | |`C5`² |
|2 |16 | | | | |
|3 |0 | |`A0`¹ | |`A0`² |
|3 |1 | |`A1`¹ |`B1` |`A1`² |
|3 |2 | |`A2`¹ |`E9` |`A2`² |
|3 |3 | |`A3`¹ |`E13` |`A3`² |
|3 |4 | |`F6`¹ | |`F6`² |
|3 |5 | |`F7`¹ |`B13` |`F7`² |
|3 |6 | |`F8`¹ |`E8` |`F8`² |
|3 |7 | |`F9`¹ |`D10` |`F9`² |
|3 |8 | |`F10`¹ |`D11` |`F10`² |
|3 |9 | | |`D12` |`F3`² |
|3 |10 | |`C0`¹ |`D13` |`C0`² |
|3 |11 | |`C1`¹ |`D14` |`C1`² |
|3 |12 | |`C2`¹ |`B0` |`C2`² |
|3 |13 | |`C3`¹ |`E7` |`C3`² |
|3 |14 | | |`E10` |`F4`² |
|3 |15 | | |`E11` |`F5`² |
|3 |16 | | |`E12` | |
|4 |1 | | |`E14` | |
|4 |2 | | |`E15` | |
|4 |3 | | |`B12` | |
|4 |4 | | |`B14` | |
|4 |5 | | |`B15` | |
|4 |6 | | |`E8` | |
|4 |7 | | |`D10` | |
|4 |8 | | |`D11` | |
|4 |9 | | |`D12` | |
|4 |10 | | |`D13` | |
|4 |11 | | |`D14` | |
|4 |12 | | |`D8` | |
|4 |13 | | |`D9` | |
|4 |14 | | | | |
|4 |15 | | | | |
|4 |16 | | | | |
<sup>¹ As of ChibiOS 20.3.4, the ADC driver for STM32F1xx devices supports only ADC1, therefore any configurations involving ADC2 or ADC3 cannot actually be used. In particular, pins `F6``F10`, which are present at least on some STM32F103x[C-G] devices, cannot be used as ADC inputs because of this driver limitation.</sup>
<sup>² Not all STM32F4xx devices have ADC2 and/or ADC3, therefore some configurations shown in this table may be unavailable; in particular, pins `F4``F10` cannot be used as ADC inputs on devices which do not have ADC3. Check the device datasheet to confirm which pin functions are supported.</sup>
#### RP2040
RP2040 has only a single ADC (`ADCD1` in ChibiOS); in the QMK API the index for that ADC is 0.
|Channel|Pin |
|-------|-------------------|
|0 |`GP26` |
|1 |`GP27` |
|2 |`GP28` |
|3 |`GP29` |
|4 |Temperature sensor*|
<sup>* The temperature sensor is disabled by default and needs to be enabled by the RP2040-specific function: `adcRPEnableTS(&ADCD1)`. The ADC must be initialized before calling that function; an easy way to ensure that is to perform a dummy conversion.</sup>
## Functions
### AVR
|Function |Description |
|----------------------------|-------------------------------------------------------------------------------------------------------------------|
|`analogReference(mode)` |Sets the analog voltage reference source. Must be one of `ADC_REF_EXTERNAL`, `ADC_REF_POWER` or `ADC_REF_INTERNAL`.|
|`analogReadPin(pin)` |Reads the value from the specified pin, eg. `F6` for ADC6 on the ATmega32U4. |
|`pinToMux(pin)` |Translates a given pin to a mux value. If an unsupported pin is given, returns the mux value for "0V (GND)". |
|`adc_read(mux)` |Reads the value from the ADC according to the specified mux. See your MCU's datasheet for more information. |
### ARM
|Function |Description |
|----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|`analogReadPin(pin)` |Reads the value from the specified pin, eg. `A0` for channel 0 on the STM32F0 and ADC1 channel 1 on the STM32F3. Note that if a pin can be used for multiple ADCs, it will pick the lower numbered ADC for this function. eg. `C0` will be channel 6 of ADC 1 when it could be used for ADC 2 as well.|
|`analogReadPinAdc(pin, adc)`|Reads the value from the specified pin and ADC, eg. `C0, 1` will read from channel 6, ADC 2 instead of ADC 1. Note that the ADCs are 0-indexed for this function. |
|`pinToMux(pin)` |Translates a given pin to a channel and ADC combination. If an unsupported pin is given, returns the mux value for "0V (GND)". |
|`adc_read(mux)` |Reads the value from the ADC according to the specified pin and ADC combination. See your MCU's datasheet for more information. |
## Configuration
## ARM
The ARM implementation of the ADC has a few additional options that you can override in your own keyboards and keymaps to change how it operates. Please consult the corresponding `hal_adc_lld.h` in ChibiOS for your specific microcontroller for further documentation on your available options.
|`#define` |Type |Default |Description |
|---------------------|------|----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|`ADC_CIRCULAR_BUFFER`|`bool`|`false` |If `true`, then the implementation will use a circular buffer. |
|`ADC_NUM_CHANNELS` |`int` |`1` |Sets the number of channels that will be scanned as part of an ADC operation. The current implementation only supports `1`. |
|`ADC_BUFFER_DEPTH` |`int` |`2` |Sets the depth of each result. Since we are only getting a 10-bit result by default, we set this to 2 bytes so we can contain our one value. This could be set to 1 if you opt for an 8-bit or lower result.|
|`ADC_SAMPLING_RATE` |`int` |`ADC_SMPR_SMP_1P5` |Sets the sampling rate of the ADC. By default, it is set to the fastest setting. |
|`ADC_RESOLUTION` |`int` |`ADC_CFGR1_RES_10BIT` or `ADC_CFGR_RES_10BITS`|The resolution of your result. We choose 10 bit by default, but you can opt for 12, 10, 8, or 6 bit. Different MCUs use slightly different names for the resolution constants. |

View File

@@ -1,49 +0,0 @@
# APA102 Driver :id=apa102-driver
This driver provides support for APA102 addressable RGB LEDs. They are similar to the [WS2812](ws2812_driver.md) LEDs, but have increased data and refresh rates.
## Usage :id=usage
In most cases, the APA102 driver code is automatically included if you are using either the [RGBLight](feature_rgblight.md) or [RGB Matrix](feature_rgb_matrix.md) feature with the `apa102` driver set, and you would use those APIs instead.
However, if you need to use the driver standalone, add the following to your `rules.mk`:
```make
APA102_DRIVER_REQUIRED = yes
```
You can then call the APA102 API by including `apa102.h` in your code.
## Basic Configuration :id=basic-configuration
Add the following to your `config.h`:
|Define |Default |Description |
|---------------------------|-------------|------------------------------------------------------------------|
|`APA102_DI_PIN` |*Not defined*|The GPIO pin connected to the DI pin of the first LED in the chain|
|`APA102_CI_PIN` |*Not defined*|The GPIO pin connected to the CI pin of the first LED in the chain|
|`APA102_DEFAULT_BRIGHTNESS`|`31` |The default global brightness level of the LEDs, from 0 to 31 |
## API :id=api
### `void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds)`
Send RGB data to the APA102 LED chain.
#### Arguments :id=api-apa102-setleds-arguments
- `rgb_led_t *start_led`
A pointer to the LED array.
- `uint16_t num_leds`
The length of the LED array.
---
### `void apa102_set_brightness(uint8_t brightness)`
Set the global brightness.
#### Arguments :id=api-apa102-set-brightness-arguments
- `uint8_t brightness`
The brightness level to set, from 0 to 31.

View File

@@ -67,7 +67,7 @@ Once your compile job has finished you'll check the `result` key. The value of t
* `firmware_source_url`: A list of URLs for the full firmware source code
* `output`: The stdout and stderr for this compile job. Errors will be found here.
## Constants :id=qmk-constants
## Constants {#qmk-constants}
If you're writing a tool that leverages constants used within QMK, the API is used to publish "locked-in" versions of those constants in order to ensure that any third-party tooling has a canonical set of information to work with.
@@ -81,9 +81,13 @@ $ curl https://keyboards.develop.qmk.fm/v1/constants_metadata.json # For `develo
{"last_updated": "2022-11-26 12:00:00 GMT", "constants": {"keycodes": ["0.0.1", "0.0.2"]}}
```
!> Versions exported by the `master` endpoint are locked-in. Any extra versions that exist on the `develop` endpoint which don't exist in `master` are subject to change.
::: warning
Versions exported by the `master` endpoint are locked-in. Any extra versions that exist on the `develop` endpoint which don't exist in `master` are subject to change.
:::
?> Only keycodes are currently published, but over time all other "externally visible" IDs are expected to appear on these endpoints.
::: tip
Only keycodes are currently published, but over time all other "externally visible" IDs are expected to appear on these endpoints.
:::
To retrieve the constants associated with a subsystem, the endpoint format is as follows:
```

View File

@@ -4,12 +4,12 @@ The QMK API provides an asynchronous API that Web and GUI tools can use to compi
## App Developers
If you are an app developer interested in using this API in your application you should head over to [Using The API](api_docs.md).
If you are an app developer interested in using this API in your application you should head over to [Using The API](api_docs).
## Keyboard Maintainers
If you would like to enhance your keyboard's support in the QMK Compiler API head over to the [Keyboard Support](reference_configurator_support.md) section.
If you would like to enhance your keyboard's support in the QMK Compiler API head over to the [Keyboard Support](reference_configurator_support) section.
## Backend Developers
If you are interested in working on the API itself you should start by setting up a [Development Environment](api_development_environment.md), then check out [Hacking On The API](api_development_overview.md).
If you are interested in working on the API itself you should start by setting up a [Development Environment](api_development_environment), then check out [Hacking On The API](api_development_overview).

View File

@@ -1,237 +0,0 @@
# Audio Driver :id=audio-driver
The [Audio feature](feature_audio.md) breaks the hardware specifics out into separate, exchangeable driver units, with a common interface to the audio-"core" - which itself handles playing songs and notes while tracking their progress in an internal state, initializing/starting/stopping the driver as needed.
Not all MCUs support every available driver, either the platform-support is not there (yet?) or the MCU simply does not have the required hardware peripheral.
## AVR :id=avr
Boards built around an Atmega32U4 can use two sets of PWM capable pins, each driving a separate speaker.
The possible configurations are:
| | Timer3 | Timer1 |
|--------------|-------------|--------------|
| one speaker | C4,C5 or C6 | |
| one speaker | | B4, B5 or B7 |
| two speakers | C4,C5 or C6 | B4, B5 or B7 |
Currently there is only one/default driver for AVR based boards, which is automatically configured to:
```make
AUDIO_DRIVER = pwm_hardware
```
## ARM :id=arm
For Arm based boards, QMK depends on ChibiOS - hence any MCU supported by the later is likely usable, as long as certain hardware peripherals are available.
Supported wiring configurations, with their ChibiOS/MCU peripheral requirement are listed below;
piezo speakers are marked with :one: for the first/primary and :two: for the secondary.
| driver | GPTD6<br>Tim6 | GPTD7<br>Tim7 | GPTD8<br>Tim8 | PWMD1<sup>1</sup><br>Tim1_Ch1 |
|--------------|------------------------------------------|------------------------|---------------|-------------------------------|
| dac_basic | A4+DACD1 = :one: | A5+DACD2 = :one: | state | |
| | A4+DACD1 = :one: + Gnd | A5+DACD2 = :two: + Gnd | state | |
| | A4+DACD1 = :two: + Gnd | A5+DACD2 = :one: + Gnd | state | |
| | A4+DACD1 = :one: + Gnd | | state | |
| | | A5+DACD2 = :one: + Gnd | state | |
| dac_additive | A4+DACD1 = :one: + Gnd | | | |
| | A5+DACD2 = :one: + Gnd | | | |
| | A4+DACD1 + A5+DACD2 = :one: <sup>2</sup> | | | |
| pwm_software | state-update | | | any = :one: |
| pwm hardware | state-update | | | A8 = :one: <sup>3</sup> |
<sup>1</sup>: the routing and alternate functions for PWM differ sometimes between STM32 MCUs, if in doubt consult the data-sheet
<sup>2</sup>: one piezo connected to A4 and A5, with AUDIO_PIN_ALT_AS_NEGATIVE set
<sup>3</sup>: TIM1_CH1 = A8 on STM32F103C8, other combinations are possible, see Data-sheet. configured with: AUDIO_PWM_DRIVER and AUDIO_PWM_CHANNEL
### DAC basic :id=dac-basic
The default driver for ARM boards, in absence of an overriding configuration.
This driver needs one Timer per enabled/used DAC channel, to trigger conversion; and a third timer to trigger state updates with the audio-core.
Additionally, in the board config, you'll want to make changes to enable the DACs, GPT for Timers 6, 7 and 8:
```c
//halconf.h:
#define HAL_USE_DAC TRUE
#define HAL_USE_GPT TRUE
#include_next <halconf.h>
```
```c
// mcuconf.h:
#include_next <mcuconf.h>
#undef STM32_DAC_USE_DAC1_CH1
#define STM32_DAC_USE_DAC1_CH1 TRUE
#undef STM32_DAC_USE_DAC1_CH2
#define STM32_DAC_USE_DAC1_CH2 TRUE
#undef STM32_GPT_USE_TIM6
#define STM32_GPT_USE_TIM6 TRUE
#undef STM32_GPT_USE_TIM7
#define STM32_GPT_USE_TIM7 TRUE
#undef STM32_GPT_USE_TIM8
#define STM32_GPT_USE_TIM8 TRUE
```
?> Note: DAC1 (A4) uses TIM6, DAC2 (A5) uses TIM7, and the audio state timer uses TIM8 (configurable).
You can also change the timer used for the overall audio state by defining the driver. For instance:
```c
#define AUDIO_STATE_TIMER GPTD9
```
### DAC additive :id=dac-additive
only needs one timer (GPTD6, Tim6) to trigger the DAC unit to do a conversion; the audio state updates are in turn triggered during the DAC callback.
Additionally, in the board config, you'll want to make changes to enable the DACs, GPT for Timer 6:
```c
//halconf.h:
#define HAL_USE_DAC TRUE
#define HAL_USE_GPT TRUE
#include_next <halconf.h>
```
```c
// mcuconf.h:
#include_next <mcuconf.h>
#undef STM32_DAC_USE_DAC1_CH1
#define STM32_DAC_USE_DAC1_CH1 TRUE
#undef STM32_DAC_USE_DAC1_CH2
#define STM32_DAC_USE_DAC1_CH2 TRUE
#undef STM32_GPT_USE_TIM6
#define STM32_GPT_USE_TIM6 TRUE
```
### DAC Config
| Define | Defaults | Description |
| -------------------------------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `AUDIO_DAC_SAMPLE_MAX` | `4095U` | Highest value allowed. Lower value means lower volume. And 4095U is the upper limit, since this is limited to a 12 bit value. Only effects non-pregenerated samples. |
| `AUDIO_DAC_OFF_VALUE` | `AUDIO_DAC_SAMPLE_MAX / 2` | The value of the DAC when not playing anything. Some setups may require a high (`AUDIO_DAC_SAMPLE_MAX`) or low (`0`) value here. |
| `AUDIO_MAX_SIMULTANEOUS_TONES` | __see next table__ | The number of tones that can be played simultaneously. A value that is too high may freeze the controller or glitch out when too many tones are being played. |
| `AUDIO_DAC_SAMPLE_RATE` | __see next table__ | Effective bit rate of the DAC (in hertz), higher limits simultaneous tones, and lower sacrifices quality. |
| `AUDIO_DAC_BUFFER_SIZE` | __see next table__ | Number of samples generated every refill. Too few may cause excessive CPU load; too many may cause freezes, RAM or flash exhaustion or lags during matrix scanning. |
There are a number of predefined quality settings that you can use, with "sane minimum" being the default. You can use custom values by simply defining the sample rate, number of simultaneous tones and buffer size, instead of using one of the listed presets.
| Define | Sample Rate | Simultaneous tones | Buffer size |
| --------------------------------- | ----------- | ------------------- | ----------- |
| `AUDIO_DAC_QUALITY_VERY_LOW` | `11025U` | `8` | `64U` |
| `AUDIO_DAC_QUALITY_LOW` | `22050U` | `4` | `128U` |
| `AUDIO_DAC_QUALITY_HIGH` | `44100U` | `2` | `256U` |
| `AUDIO_DAC_QUALITY_VERY_HIGH` | `88200U` | `1` | `256U` |
| `AUDIO_DAC_QUALITY_SANE_MINIMUM` | `16384U` | `8` | `64U` |
#### Notes on buffer size :id=buffer-size
By default, the buffer size attempts to keep to these constraints:
* The interval between buffer refills can't be too short, since the microcontroller would then only be servicing buffer refills and would freeze up.
* On the additive driver, the interval between buffer refills can't be too long, since matrix scanning would suffer lengthy pauses every so often, which would delay key presses or releases or lose some short taps altogether.
* The interval between buffer refills is kept to a minimum, which allows notes to stop as soon as possible after they should.
* For greater compatibility, the buffer size should be a power of 2.
* The buffer size being too large causes resource exhaustion leading to build failures or freezing at runtime: RAM usage (on the additive driver) or flash usage (on the basic driver).
You can lower the buffer size if you need a bit more space in your firmware, or raise it if your keyboard freezes up.
```c
/* zero crossing (or approach, whereas zero == DAC_OFF_VALUE, which can be configured to anything from 0 to DAC_SAMPLE_MAX)
* ============================*=*========================== AUDIO_DAC_SAMPLE_MAX
* * *
* * *
* ---------------------------------------------------------
* * * } AUDIO_DAC_SAMPLE_MAX/100
* --------------------------------------------------------- AUDIO_DAC_OFF_VALUE
* * * } AUDIO_DAC_SAMPLE_MAX/100
* ---------------------------------------------------------
* *
* * *
* * *
* =====*=*================================================= 0x0
*/
```
### PWM hardware :id=pwm-hardware
This driver uses the ChibiOS-PWM system to produce a square-wave on specific output pins that are connected to the PWM hardware.
The hardware directly toggles the pin via its alternate function. See your MCU's data-sheet for which pin can be driven by what timer - looking for TIMx_CHy and the corresponding alternate function.
A configuration example for the STM32F103C8 would be:
```c
//halconf.h:
#define HAL_USE_PWM TRUE
#define HAL_USE_PAL TRUE
#include_next <halconf.h>
```
```c
// mcuconf.h:
#include_next <mcuconf.h>
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
```
If we now target pin A8, looking through the data-sheet of the STM32F103C8, for the timers and alternate functions
- TIM1_CH1 = PA8 <- alternate0
- TIM1_CH2 = PA9
- TIM1_CH3 = PA10
- TIM1_CH4 = PA11
with all this information, the configuration would contain these lines:
```c
//config.h:
#define AUDIO_PIN A8
#define AUDIO_PWM_DRIVER PWMD1
#define AUDIO_PWM_CHANNEL 1
```
ChibiOS uses GPIOv1 for the F103, which only knows of one alternate function.
On 'larger' STM32s, GPIOv2 or GPIOv3 are used; with them it is also necessary to configure `AUDIO_PWM_PAL_MODE` to the correct alternate function for the selected pin, timer and timer-channel.
You can also use the Complementary output (`TIMx_CHyN`) for PWM on supported controllers. To enable this functionality, you will need to make the following changes:
```c
// config.h:
#define AUDIO_PWM_COMPLEMENTARY_OUTPUT
```
### PWM software :id=pwm-software
This driver uses the PWM callbacks from PWMD1 with TIM1_CH1 to toggle the selected AUDIO_PIN in software.
During the same callback, with AUDIO_PIN_ALT_AS_NEGATIVE set, the AUDIO_PIN_ALT is toggled inversely to AUDIO_PIN. This is useful for setups that drive a piezo from two pins (instead of one and Gnd).
You can also change the timer used for software PWM by defining the driver. For instance:
```c
#define AUDIO_STATE_TIMER GPTD8
```
### Testing Notes :id=testing-notes
While not an exhaustive list, the following table provides the scenarios that have been partially validated:
| | DAC basic | DAC additive | PWM hardware | PWM software |
| ------------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| Atmega32U4 | :o: | :o: | :heavy_check_mark: | :o: |
| RP2040 | :x: | :x: | :heavy_check_mark: | ? |
| STM32F103C8 (bluepill) | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: |
| STM32F303CCT6 (proton-c) | :heavy_check_mark: | :heavy_check_mark: | ? | :heavy_check_mark: |
| STM32F405VG | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| L0xx | :x: (no Tim8) | ? | ? | ? |
:heavy_check_mark: : works and was tested
:o: : does not apply
:x: : not supported by MCU
*Other supported ChibiOS boards and/or pins may function, it will be highly chip and configuration dependent.*

View File

@@ -10,25 +10,25 @@ Practically, this means QMK merges the `develop` branch into the `master` branch
## What has been included in past Breaking Changes?
* [2024 Feb 25](ChangeLog/20240225.md)
* [2023 Nov 26](ChangeLog/20231126.md)
* [2023 Aug 27](ChangeLog/20230827.md)
* [Older Breaking Changes](breaking_changes_history.md)
* [2024 Aug 25](ChangeLog/20240825)
* [2024 May 26](ChangeLog/20240526)
* [2024 Feb 25](ChangeLog/20240225)
* [Older Breaking Changes](breaking_changes_history)
## When is the next Breaking Change?
The next Breaking Change is scheduled for May 26, 2024.
The next Breaking Change is scheduled for November 24, 2024.
### Important Dates
* 2024 Feb 25 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
* 2024 Apr 28 - `develop` closed to new PRs.
* 2024 Apr 28 - Call for testers.
* 2024 May 5 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
* 2024 May 19 - `develop` is locked, only critical bugfix PRs merged.
* 2024 May 23 - `master` is locked, no PRs merged.
* 2024 May 26 - Merge `develop` to `master`.
* 2024 May 26 - `master` is unlocked. PRs can be merged again.
* 2024 Aug 25 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
* 2024 Oct 27 - `develop` closed to new PRs.
* 2024 Oct 27 - Call for testers.
* 2024 Nov 10 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
* 2024 Nov 17 - `develop` is locked, only critical bugfix PRs merged.
* 2024 Nov 22 - `master` is locked, no PRs merged.
* 2024 Nov 24 - Merge `develop` to `master`.
* 2024 Nov 24 - `master` is unlocked. PRs can be merged again.
## What changes will be included?
@@ -48,7 +48,7 @@ Criteria for acceptance:
Strongly suggested:
* The PR has a ChangeLog file describing the changes under `<qmk_firmware>/docs/Changelog/20240526`.
* The PR has a ChangeLog file describing the changes under `<qmk_firmware>/docs/Changelog/20241124`.
* This should be in Markdown format, with a name in the format `PR12345.md`, substituting the digits for your PRs ID.
* One strong recommendation that the ChangeLog document matches the PR description on GitHub, so as to ensure traceability.
@@ -71,7 +71,7 @@ This section documents various processes we use when running the Breaking Change
### 1 Week Before Merge
* `develop` is now closed to PR merges, only critical bugfixes may be included
* Announce that master will be closed from <2 Days Before> to <Day of Merge> -- message `@Breaking Changes Updates` on `#qmk_firmware` in Discord:
* Announce that master will be closed from `<2 Days Before>` to `<Day of Merge>` -- message `@Breaking Changes Updates` on `#qmk_firmware` in Discord:
* `@Breaking Changes Updates -- Hey folks, last day for functional PRs to be merged into qmk_firmware for this breaking changes cycle is today. After that, we're handling bugfixes only.`
### 2 Days Before Merge
@@ -136,7 +136,7 @@ This happens immediately after the previous `develop` branch is merged to `maste
* Announce that both `master` and `develop` are now unlocked -- message `@Breaking Changes Updates` on `#qmk_firmware` in Discord:
* `@Breaking Changes Updates -- Hey folks, develop has now been merged into master -- newest batch of changes are now available for everyone to use!`
* (Optional) [update ChibiOS + ChibiOS-Contrib on `develop`](chibios_upgrade_instructions.md)
* (Optional) [update ChibiOS + ChibiOS-Contrib on `develop`](chibios_upgrade_instructions)
### Set up Discord events for the next cycle

View File

@@ -2,21 +2,23 @@
This page links to all previous changelogs from the QMK Breaking Changes process.
* [2024 Feb 25](ChangeLog/20240225.md) - version 0.24.0
* [2023 Nov 26](ChangeLog/20231126.md) - version 0.23.0
* [2023 Aug 27](ChangeLog/20230827.md) - version 0.22.0
* [2023 May 28](ChangeLog/20230528.md) - version 0.21.0
* [2023 Feb 26](ChangeLog/20230226.md) - version 0.20.0
* [2022 Nov 26](ChangeLog/20221126.md) - version 0.19.0
* [2022 Aug 27](ChangeLog/20220827.md) - version 0.18.0
* [2022 May 28](ChangeLog/20220528.md) - version 0.17.0
* [2022 Feb 26](ChangeLog/20220226.md) - version 0.16.0
* [2021 Nov 27](ChangeLog/20211127.md) - version 0.15.0
* [2021 Aug 28](ChangeLog/20210828.md) - version 0.14.0
* [2021 May 29](ChangeLog/20210529.md) - version 0.13.0
* [2021 Feb 27](ChangeLog/20210227.md) - version 0.12.0
* [2020 Nov 28](ChangeLog/20201128.md) - version 0.11.0
* [2020 Aug 29](ChangeLog/20200829.md) - version 0.10.0
* [2020 May 30](ChangeLog/20200530.md) - version 0.9.0
* [2020 Feb 29](ChangeLog/20200229.md) - version 0.8.0
* [2019 Aug 30](ChangeLog/20190830.md) - version 0.7.0
* [2024 Aug 25](ChangeLog/20240825) - version 0.26.0
* [2024 May 26](ChangeLog/20240526) - version 0.25.0
* [2024 Feb 25](ChangeLog/20240225) - version 0.24.0
* [2023 Nov 26](ChangeLog/20231126) - version 0.23.0
* [2023 Aug 27](ChangeLog/20230827) - version 0.22.0
* [2023 May 28](ChangeLog/20230528) - version 0.21.0
* [2023 Feb 26](ChangeLog/20230226) - version 0.20.0
* [2022 Nov 26](ChangeLog/20221126) - version 0.19.0
* [2022 Aug 27](ChangeLog/20220827) - version 0.18.0
* [2022 May 28](ChangeLog/20220528) - version 0.17.0
* [2022 Feb 26](ChangeLog/20220226) - version 0.16.0
* [2021 Nov 27](ChangeLog/20211127) - version 0.15.0
* [2021 Aug 28](ChangeLog/20210828) - version 0.14.0
* [2021 May 29](ChangeLog/20210529) - version 0.13.0
* [2021 Feb 27](ChangeLog/20210227) - version 0.12.0
* [2020 Nov 28](ChangeLog/20201128) - version 0.11.0
* [2020 Aug 29](ChangeLog/20200829) - version 0.10.0
* [2020 May 30](ChangeLog/20200530) - version 0.9.0
* [2020 Feb 29](ChangeLog/20200229) - version 0.8.0
* [2019 Aug 30](ChangeLog/20190830) - version 0.7.0

View File

@@ -31,4 +31,4 @@ Commenting on your pull request and being responsive to questions, comments, and
### Ask for Help
Having your submission flagged may have caught you off guard. If you find yourself intimidated or overwhelmed, let us know. Comment on your pull request, or [reach out to the QMK team on Discord](https://discord.gg/Uq7gcHh).
Having your submission flagged may have caught you off guard. If you find yourself intimidated or overwhelmed, let us know. Comment on your pull request, or [reach out to the QMK team on Discord](https://discord.gg/qmk).

View File

@@ -1,14 +1,14 @@
# QMK CLI :id=qmk-cli
# QMK CLI {#qmk-cli}
## Overview :id=overview
## Overview {#overview}
The QMK CLI (command line interface) makes building and working with QMK keyboards easier. We have provided a number of commands to simplify and streamline tasks such as obtaining and compiling the QMK firmware, creating keymaps, and more.
### Requirements :id=requirements
### Requirements {#requirements}
QMK requires Python 3.7 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI.
### Install Using Homebrew (macOS, some Linux) :id=install-using-homebrew
### Install Using Homebrew (macOS, some Linux) {#install-using-homebrew}
If you have installed [Homebrew](https://brew.sh) you can tap and install QMK:
@@ -18,7 +18,7 @@ export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware`
qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment
```
### Install Using pip :id=install-using-easy_install-or-pip
### Install Using pip {#install-using-easy_install-or-pip}
If your system is not listed above you can install QMK manually. First ensure that you have Python 3.7 (or later) installed and have installed pip. Then install QMK with this command:
@@ -28,7 +28,7 @@ export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware`
qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment
```
### Packaging For Other Operating Systems :id=packaging-for-other-operating-systems
### Packaging For Other Operating Systems {#packaging-for-other-operating-systems}
We are looking for people to create and maintain a `qmk` package for more operating systems. If you would like to create a package for your OS please follow these guidelines:

View File

@@ -86,7 +86,7 @@ qmk compile -j 0 -kb <keyboard_name>
## `qmk flash`
This command is similar to `qmk compile`, but can also target a bootloader. The bootloader is optional, and is set to `:flash` by default. To specify a different bootloader, use `-bl <bootloader>`. Visit the [Flashing Firmware](flashing.md) guide for more details of the available bootloaders.
This command is similar to `qmk compile`, but can also target a bootloader. The bootloader is optional, and is set to `:flash` by default. To specify a different bootloader, use `-bl <bootloader>`. Visit the [Flashing Firmware](flashing) guide for more details of the available bootloaders.
This command is directory aware. It will automatically fill in KEYBOARD and/or KEYMAP if you are in a keyboard or keymap directory.
@@ -127,7 +127,7 @@ qmk flash -b
## `qmk config`
This command lets you configure the behavior of QMK. For the full `qmk config` documentation see [CLI Configuration](cli_configuration.md).
This command lets you configure the behavior of QMK. For the full `qmk config` documentation see [CLI Configuration](cli_configuration).
**Usage**:
@@ -254,15 +254,21 @@ qmk doctor [-y] [-n]
Check your environment for problems and prompt to fix them:
qmk doctor
```
qmk doctor
```
Check your environment and automatically fix any problems found:
qmk doctor -y
```
qmk doctor -y
```
Check your environment and report problems only:
qmk doctor -n
```
qmk doctor -n
```
## `qmk format-json`
@@ -290,15 +296,21 @@ This command is directory aware. It will automatically fill in KEYBOARD and/or K
Show basic information for a keyboard:
qmk info -kb planck/rev5
```
qmk info -kb planck/rev5
```
Show the matrix for a keyboard:
qmk info -kb ergodox_ez -m
```
qmk info -kb ergodox_ez -m
```
Show a JSON keymap for a keyboard:
qmk info -kb clueboard/california -km default
```
qmk info -kb clueboard/california -km default
```
## `qmk json2c`
@@ -322,6 +334,18 @@ Creates a keymap.json from a keymap.c.
qmk c2json -km KEYMAP -kb KEYBOARD [-q] [--no-cpp] [-o OUTPUT] filename
```
**Examples**:
```
qmk c2json -km default -kb handwired/dactyl_promicro
```
or with filename:
```
qmk c2json keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c
```
## `qmk lint`
Checks over a keyboard and/or keymap and highlights common errors, problems, and anti-patterns.
@@ -338,7 +362,9 @@ This command is directory aware. It will automatically fill in KEYBOARD and/or K
Do a basic lint check:
qmk lint -kb rominronin/katana60/rev2
```
qmk lint -kb rominronin/katana60/rev2
```
## `qmk list-keyboards`
@@ -691,30 +717,39 @@ Now open your dev environment and live a squiggly-free life.
## `qmk docs`
This command starts a local HTTP server which you can use for browsing or improving the docs. Default port is 8936.
Use the `-b`/`--browser` flag to automatically open the local webserver in your default browser.
This command starts a local HTTP server which you can use for browsing or improving the docs. Default port is 5173.
This command runs `docsify serve` if `docsify-cli` is installed (which provides live reload), otherwise Python's builtin HTTP server module will be used.
This command requires `node` and `yarn` to be installed as prerequisites, and provides live reload capability whilst editing.
**Usage**:
```
qmk docs [-b] [-p PORT]
usage: qmk docs [-h]
options:
-h, --help show this help message and exit
```
## `qmk generate-docs`
This command allows you to generate QMK documentation locally. It can be uses for general browsing or improving the docs. External tools such as [serve](https://www.npmjs.com/package/serve) can be used to browse the generated files.
This command allows you to generate QMK documentation locally. It can be uses for general browsing or improving the docs.
Use the `-s`/`--serve` flag to also serve the static site once built. Default port is 4173.
This command requires `node` and `yarn` to be installed as prerequisites, and requires the operating system to support symlinks.
**Usage**:
```
qmk generate-docs
usage: qmk generate-docs [-h] [-s]
options:
-h, --help show this help message and exit
-s, --serve Serves the generated docs once built.
```
## `qmk generate-rgb-breathe-table`
This command generates a lookup table (LUT) header file for the [RGB Lighting](feature_rgblight.md) feature's breathing animation. Place this file in your keyboard or keymap directory as `rgblight_breathe_table.h` to override the default LUT in `quantum/rgblight/`.
This command generates a lookup table (LUT) header file for the [RGB Lighting](features/rgblight) feature's breathing animation. Place this file in your keyboard or keymap directory as `rgblight_breathe_table.h` to override the default LUT in `quantum/rgblight/`.
**Usage**:
@@ -768,26 +803,76 @@ qmk pytest [-t TEST]
Run entire test suite:
qmk pytest
```
qmk pytest
```
Run test group:
qmk pytest -t qmk.tests.test_cli_commands
```
qmk pytest -t qmk.tests.test_cli_commands
```
Run single test:
qmk pytest -t qmk.tests.test_cli_commands.test_c2json
qmk pytest -t qmk.tests.test_qmk_path
```
qmk pytest -t qmk.tests.test_cli_commands.test_c2json
qmk pytest -t qmk.tests.test_qmk_path
```
## `qmk painter-convert-graphics`
This command converts images to a format usable by QMK, i.e. the QGF File Format. See the [Quantum Painter](quantum_painter.md?id=quantum-painter-cli) documentation for more information on this command.
This command converts images to a format usable by QMK, i.e. the QGF File Format. See the [Quantum Painter](quantum_painter#quantum-painter-cli) documentation for more information on this command.
## `qmk painter-make-font-image`
This command converts a TTF font to an intermediate format for editing, before converting to the QFF File Format. See the [Quantum Painter](quantum_painter.md?id=quantum-painter-cli) documentation for more information on this command.
This command converts a TTF font to an intermediate format for editing, before converting to the QFF File Format. See the [Quantum Painter](quantum_painter#quantum-painter-cli) documentation for more information on this command.
## `qmk painter-convert-font-image`
This command converts an intermediate font image to the QFF File Format. See the [Quantum Painter](quantum_painter.md?id=quantum-painter-cli) documentation for more information on this command.
This command converts an intermediate font image to the QFF File Format. See the [Quantum Painter](quantum_painter#quantum-painter-cli) documentation for more information on this command.
## `qmk test-c`
This command runs the C unit test suite. If you make changes to C code you should ensure this runs successfully.
**Usage**:
```
qmk test-c [-h] [-t TEST] [-l] [-c] [-e ENV] [-j PARALLEL]
options:
-h, --help show this help message and exit
-t TEST, --test TEST Test to run from the available list. Supports wildcard globs. May be passed multiple times.
-l, --list List available tests.
-c, --clean Remove object files before compiling.
-e ENV, --env ENV Set a variable to be passed to make. May be passed multiple times.
-j PARALLEL, --parallel PARALLEL
Set the number of parallel make jobs; 0 means unlimited.
```
**Examples**:
Run entire test suite:
```
qmk test-c
```
List available tests:
```
qmk test-c --list
```
Run matching test:
```
qmk test-c --test unicode*
```
Run single test:
```
qmk test-c --test basic
```

View File

@@ -43,7 +43,9 @@ user.keymap: None -> default
The `qmk config` command is used to interact with the underlying configuration. When run with no argument it shows the current configuration. When arguments are supplied they are assumed to be configuration tokens, which are strings containing no spaces with the following form:
<subcommand|general|default>[.<key>][=<value>]
```
<subcommand|general|default>[.<key>][=<value>]
```
## Setting Configuration Values
@@ -63,19 +65,27 @@ You can read configuration values for the entire configuration, a single key, or
### Entire Configuration Example
qmk config
```
qmk config
```
### Whole Section Example
qmk config compile
```
qmk config compile
```
### Single Key Example
qmk config compile.keyboard
```
qmk config compile.keyboard
```
### Multiple Keys Example
qmk config user compile.keyboard compile.keymap
```
qmk config user compile.keyboard compile.keymap
```
## Deleting Configuration Values

View File

@@ -192,17 +192,23 @@ We use nose2, flake8, and yapf to test, lint, and format code. You can use the `
### Testing and Linting
qmk pytest
```
qmk pytest
```
### Formatting
qmk format-python
```
qmk format-python
```
## Formatting Details
We use [yapf](https://github.com/google/yapf) to automatically format code. Our configuration is in the `[yapf]` section of `setup.cfg`.
?> Tip- Many editors can use yapf as a plugin to automatically format code as you type.
::: tip
Many editors can use yapf as a plugin to automatically format code as you type.
:::
## Testing Details
@@ -210,7 +216,9 @@ Our tests can be found in `lib/python/qmk/tests/`. You will find both unit and i
If your PR does not include a comprehensive set of tests please add comments like this to your code so that other people know where they can help:
# TODO(unassigned/<your_github_username>): Write <unit|integration> tests
```python
# TODO(unassigned/<your_github_username>): Write <unit|integration> tests
```
We use [nose2](https://nose2.readthedocs.io/en/latest/getting_started.html) to run our tests. You can refer to the nose2 documentation for more details on what you can do in your test functions.

View File

@@ -10,22 +10,30 @@ There are several ways you can setup tab completion.
Add this to the end of your `.profile` or `.bashrc`:
source ~/qmk_firmware/util/qmk_tab_complete.sh
```
source ~/qmk_firmware/util/qmk_tab_complete.sh
```
If you put `qmk_firmware` into another location you will need to adjust this path.
Zsh users will need to load `bashcompinit`. The following can be added to `~/.zshrc` file:
autoload -Uz bashcompinit && bashcompinit
```
autoload -Uz bashcompinit && bashcompinit
```
### System Wide Symlink
If you want the tab completion available to all users of the system you can add a symlink to the `qmk_tab_complete.sh` script:
ln -s ~/qmk_firmware/util/qmk_tab_complete.sh /etc/profile.d/qmk_tab_complete.sh
```
ln -s ~/qmk_firmware/util/qmk_tab_complete.sh /etc/profile.d/qmk_tab_complete.sh
```
### System Wide Copy
In some cases a symlink may not work. Instead you can copy the file directly into place. Be aware that updates to the tab complete script may happen from time to time, you will want to recopy the file periodically.
cp util/qmk_tab_complete.sh /etc/profile.d
```
cp util/qmk_tab_complete.sh /etc/profile.d
```

View File

@@ -15,7 +15,7 @@ Most of our style follows PEP8 with some local modifications to make things less
# YAPF
You can use [yapf](https://github.com/google/yapf) to style your code. We provide a config in [setup.cfg](setup.cfg).
You can use [yapf](https://github.com/google/yapf) to style your code. We provide a config in [setup.cfg](https://github.com/qmk/qmk_firmware/blob/master/setup.cfg).
# Imports

View File

@@ -73,7 +73,7 @@ You can also use any ARM chip with USB that [ChibiOS](https://www.chibios.org) s
* [RP2040](https://www.raspberrypi.com/documentation/microcontrollers/rp2040.html)
For a detailed overview about the RP2040 support by QMK see the [dedicated RP2040 page](platformdev_rp2040.md).
For a detailed overview about the RP2040 support by QMK see the [dedicated RP2040 page](platformdev_rp2040).
## Atmel ATSAM

View File

@@ -6,11 +6,13 @@ There are three main types of configuration files in QMK:
* `config.h`, which contains various preprocessor directives (`#define`, `#ifdef`)
* `rules.mk`, which contains additional variables
* `info.json`, which is utilized for [data-driven configuration](https://docs.qmk.fm/#/data_driven_config)
* `info.json`, which is utilized for [data-driven configuration](data_driven_config)
This page will only discuss the first two types, `config.h` and `rules.mk`.
?> While not all settings have data-driven equivalents yet, keyboard makers are encouraged to utilize the `info.json` file to set the metadata for their boards when possible. See the [`info.json` Format](https://docs.qmk.fm/#/reference_info_json) page for more details.
::: tip
While not all settings have data-driven equivalents yet, keyboard makers are encouraged to utilize the `info.json` file to set the metadata for their boards when possible. See the [`info.json` Format](reference_info_json) page for more details.
:::
These files exist at various levels in QMK and all files of the same type are combined to build the final configuration. The levels, from lowest priority to highest priority, are:
@@ -56,10 +58,10 @@ This is a C header file that is one of the first things included, and will persi
* the number of columns in your keyboard's matrix
* `#define MATRIX_ROW_PINS { D0, D5, B5, B6 }`
* pins of the rows, from top to bottom
* may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions.md?id=low-level-matrix-overrides) for more information.
* may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions#low-level-matrix-overrides) for more information.
* `#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }`
* pins of the columns, from left to right
* may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions.md?id=low-level-matrix-overrides) for more information.
* may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions#low-level-matrix-overrides) for more information.
* `#define MATRIX_IO_DELAY 30`
* the delay in microseconds when between changing matrix pin state and reading values
* `#define MATRIX_HAS_GHOST`
@@ -151,26 +153,26 @@ If you define these options you will enable the associated feature, which may in
* enables handling for per key `TAPPING_TERM` settings
* `#define RETRO_TAPPING`
* tap anyway, even after `TAPPING_TERM`, if there was no other key interruption between press and release
* See [Retro Tapping](tap_hold.md#retro-tapping) for details
* See [Retro Tapping](tap_hold#retro-tapping) for details
* `#define RETRO_TAPPING_PER_KEY`
* enables handling for per key `RETRO_TAPPING` settings
* `#define TAPPING_TOGGLE 2`
* how many taps before triggering the toggle
* `#define PERMISSIVE_HOLD`
* makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the `TAPPING_TERM`
* See [Permissive Hold](tap_hold.md#permissive-hold) for details
* See [Permissive Hold](tap_hold#permissive-hold) for details
* `#define PERMISSIVE_HOLD_PER_KEY`
* enabled handling for per key `PERMISSIVE_HOLD` settings
* `#define QUICK_TAP_TERM 100`
* tap-then-hold timing to use a dual role key to repeat keycode
* See [Quick Tap Term](tap_hold.md#quick-tap-term)
* See [Quick Tap Term](tap_hold#quick-tap-term)
* Changes the timing of Tap Toggle functionality (`TT` or the One Shot Tap Toggle)
* Defaults to `TAPPING_TERM` if not defined
* `#define QUICK_TAP_TERM_PER_KEY`
* enables handling for per key `QUICK_TAP_TERM` settings
* `#define HOLD_ON_OTHER_KEY_PRESS`
* selects the hold action of a dual-role key as soon as the tap of the dual-role key is interrupted by the press of another key.
* See "[hold on other key press](tap_hold.md#hold-on-other-key-press)" for details
* See "[hold on other key press](tap_hold#hold-on-other-key-press)" for details
* `#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY`
* enables handling for per key `HOLD_ON_OTHER_KEY_PRESS` settings
* `#define LEADER_TIMEOUT 300`
@@ -205,7 +207,7 @@ If you define these options you will enable the associated feature, which may in
* `#define TAP_HOLD_CAPS_DELAY 80`
* Sets the delay for Tap Hold keys (`LT`, `MT`) when using `KC_CAPS_LOCK` keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher.
* `#define KEY_OVERRIDE_REPEAT_DELAY 500`
* Sets the key repeat interval for [key overrides](feature_key_overrides.md).
* Sets the key repeat interval for [key overrides](features/key_overrides).
* `#define LEGACY_MAGIC_HANDLING`
* Enables magic configuration handling for advanced keycodes (such as Mod Tap and Layer Tap)
@@ -215,14 +217,14 @@ If you define these options you will enable the associated feature, which may in
* `#define WS2812_DI_PIN D7`
* pin the DI on the WS2812 is hooked-up to
* `#define RGBLIGHT_LAYERS`
* Lets you define [lighting layers](feature_rgblight.md?id=lighting-layers) that can be toggled on or off. Great for showing the current keyboard layer or caps lock state.
* Lets you define [lighting layers](features/rgblight#lighting-layers) that can be toggled on or off. Great for showing the current keyboard layer or caps lock state.
* `#define RGBLIGHT_MAX_LAYERS`
* Defaults to 8. Can be expanded up to 32 if more [lighting layers](feature_rgblight.md?id=lighting-layers) are needed.
* Defaults to 8. Can be expanded up to 32 if more [lighting layers](features/rgblight#lighting-layers) are needed.
* Note: Increasing the maximum will increase the firmware size and slow sync on split keyboards.
* `#define RGBLIGHT_LAYER_BLINK`
* Adds ability to [blink](feature_rgblight.md?id=lighting-layer-blink) a lighting layer for a specified number of milliseconds (e.g. to acknowledge an action).
* Adds ability to [blink](features/rgblight#lighting-layer-blink) a lighting layer for a specified number of milliseconds (e.g. to acknowledge an action).
* `#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF`
* If defined, then [lighting layers](feature_rgblight?id=overriding-rgb-lighting-onoff-status) will be shown even if RGB Light is off.
* If defined, then [lighting layers](features/rgblight#overriding-rgb-lighting-onoff-status) will be shown even if RGB Light is off.
* `#define RGBLIGHT_LED_COUNT 12`
* number of LEDs
* `#define RGBLIGHT_SPLIT`
@@ -237,7 +239,7 @@ If you define these options you will enable the associated feature, which may in
* units to step when in/decreasing saturation
* `#define RGBLIGHT_VAL_STEP 12`
* units to step when in/decreasing value (brightness)
* `#define RGBW`
* `#define WS2812_RGBW`
* Enables RGBW LED support
## Mouse Key Options
@@ -294,7 +296,7 @@ There are a few different ways to set handedness for split keyboards (listed in
* `#define MATRIX_ROW_PINS_RIGHT { <row pins> }`
* `#define MATRIX_COL_PINS_RIGHT { <col pins> }`
* If you want to specify a different pinout for the right half than the left half, you can define `MATRIX_ROW_PINS_RIGHT`/`MATRIX_COL_PINS_RIGHT`. Currently, the size of `MATRIX_ROW_PINS` must be the same as `MATRIX_ROW_PINS_RIGHT` and likewise for the definition of columns.
* may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions.md?id=low-level-matrix-overrides) for more information.
* may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions#low-level-matrix-overrides) for more information.
* `#define DIRECT_PINS_RIGHT { { F1, F0, B0, C7 }, { F4, F5, F6, F7 } }`
* If you want to specify a different direct pinout for the right half than the left half, you can define `DIRECT_PINS_RIGHT`. Currently, the size of `DIRECT_PINS` must be the same as `DIRECT_PINS_RIGHT`.
@@ -356,7 +358,7 @@ There are a few different ways to set handedness for split keyboards (listed in
* `#define SPLIT_TRANSACTION_IDS_KB .....`
* `#define SPLIT_TRANSACTION_IDS_USER .....`
* Allows for custom data sync with the slave when using the QMK-provided split transport. See [custom data sync between sides](feature_split_keyboard.md#custom-data-sync) for more information.
* Allows for custom data sync with the slave when using the QMK-provided split transport. See [custom data sync between sides](features/split_keyboard#custom-data-sync) for more information.
# The `rules.mk` File
@@ -385,7 +387,7 @@ This is a [make](https://www.gnu.org/software/make/manual/make.html) file that i
... a.o c.o ... lib_b.a lib_d.a ...
```
* `LAYOUTS`
* A list of [layouts](feature_layouts.md) this keyboard supports.
* A list of [layouts](feature_layouts) this keyboard supports.
* `LTO_ENABLE`
* Enables Link Time Optimization (LTO) when compiling the keyboard. This makes the process take longer, but it can significantly reduce the compiled size (and since the firmware is small, the added time is not noticeable).
@@ -404,14 +406,14 @@ This is a [make](https://www.gnu.org/software/make/manual/make.html) file that i
* `bootloadhid`
* `usbasploader`
## Feature Options :id=feature-options
## Feature Options {#feature-options}
Use these to enable or disable building certain features. The more you have enabled the bigger your firmware will be, and you run the risk of building a firmware too large for your MCU.
* `MAGIC_ENABLE`
* MAGIC actions (BOOTMAGIC without the boot)
* `BOOTMAGIC_ENABLE`
* Enable Bootmagic Lite
* Enable Bootmagic
* `MOUSEKEY_ENABLE`
* Mouse keys
* `EXTRAKEY_ENABLE`
@@ -446,12 +448,12 @@ Use these to enable or disable building certain features. The more you have enab
* Allows replacing the standard matrix scanning routine with a custom one.
* `DEBOUNCE_TYPE`
* Allows replacing the standard key debouncing routine with an alternative or custom one.
* `WAIT_FOR_USB`
* `USB_WAIT_FOR_ENUMERATION`
* Forces the keyboard to wait for a USB connection to be established before it starts up
* `NO_USB_STARTUP_CHECK`
* Disables usb suspend check after keyboard startup. Usually the keyboard waits for the host to wake it up before any tasks are performed. This is useful for split keyboards as one half will not get a wakeup call but must send commands to the master.
* `DEFERRED_EXEC_ENABLE`
* Enables deferred executor support -- timed delays before callbacks are invoked. See [deferred execution](custom_quantum_functions.md#deferred-execution) for more information.
* Enables deferred executor support -- timed delays before callbacks are invoked. See [deferred execution](custom_quantum_functions#deferred-execution) for more information.
* `DYNAMIC_TAPPING_TERM_ENABLE`
* Allows to configure the global tapping term on the fly.

View File

@@ -1,9 +1,9 @@
# Adding Default Keymaps to QMK Configurator :id=adding-default-keymaps
# Adding Default Keymaps to QMK Configurator {#adding-default-keymaps}
This page covers how to add a default keymap for a keyboard to QMK Configurator.
## Technical Information :id=technical-information
## Technical Information {#technical-information}
QMK Configurator uses JSON as its native file format for keymaps. As much as possible, these should be kept such that they behave the same as running `make <keyboard>:default` from `qmk_firmware`.
@@ -27,7 +27,7 @@ f14629ed1cd7c7ec9089604d64f29a99981558e8 Remove/migrate action_get_macro()s from
In this example, `f14629ed1cd7c7ec9089604d64f29a99981558e8` is the value that should be used for `commit`.
## Example :id=example
## Example {#example}
If one wished to add a default keymap for the H87a by Hineybush, one would run the `git log` command above against the H87a's default keymap in `qmk_firmware`:
@@ -96,9 +96,9 @@ The default keymap uses the `LAYOUT_all` macro, so that will be the value of the
The white space in the `layers` arrays have no effect on the functionality of the keymap, but are used to make these files easier for humans to read.
## Caveats :id=caveats
## Caveats {#caveats}
### Layers can only be referenced by number :id=layer-references
### Layers can only be referenced by number {#layer-references}
A common QMK convention is to name layers using a series of `#define`s, or an `enum` statement:
@@ -112,11 +112,11 @@ enum layer_names {
This works in C, but for Configurator, you *must* use the layer's numeric index `MO(_FN)` would need to be `MO(2)` in the above example.
### No support for custom code of any kind :id=custom-code
### No support for custom code of any kind {#custom-code}
Features that require adding functions to the keymap.c file, such as Tap Dance or Unicode, can not be compiled in Configurator **at all**. Even setting `TAP_DANCE_ENABLE = yes` in the `qmk_firmware` repository at the keyboard level will prevent Configurator from compiling **any** firmware for that keyboard. This is limited both by the API and the current spec of our JSON keymap format.
### Limited Support for Custom keycodes :id=custom-keycodes
### Limited Support for Custom keycodes {#custom-keycodes}
There is a way to support custom keycodes: if the logic for a custom keycode is implemented at the keyboard level instead of the keymap level in qmk_firmware, that keycode *can* be used in Configurator and it *will* compile and work. Instead of using the following in your `keymap.c`:
@@ -186,6 +186,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
Note the call to `process_record_user()` at the end.
## Additional Reading :id=additional-reading
## Additional Reading {#additional-reading}
For QMK Configurator to support your keyboard, your keyboard must be present in the `master` branch of the `qmk_firmware` repository. For instructions on this, please see [Supporting Your Keyboard in QMK Configurator](reference_configurator_support.md).
For QMK Configurator to support your keyboard, your keyboard must be present in the `master` branch of the `qmk_firmware` repository. For instructions on this, please see [Supporting Your Keyboard in QMK Configurator](reference_configurator_support).

View File

@@ -6,25 +6,35 @@ This page describes the steps for building your firmware in QMK Configurator.
Click the drop down box and select the keyboard you want to create a keymap for.
?> If your keyboard has several versions, make sure you select the correct one.
::: tip
If your keyboard has several versions, make sure you select the correct one.
:::
I'll say that again because it's important:
!> **MAKE SURE YOU SELECT THE RIGHT VERSION!**
::: warning
**MAKE SURE YOU SELECT THE RIGHT VERSION!**
:::
If your keyboard has been advertised to be powered by QMK but is not in the list, chances are a developer hasn't gotten to it yet or we haven't had a chance to merge it in yet. File an issue at [qmk_firmware](https://github.com/qmk/qmk_firmware/issues) requesting to support that particular keyboard, if there is no active [Pull Request](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+is%3Apr+label%3Akeyboard) for it. There are also QMK powered keyboards that are in their manufacturer's own GitHub accounts. Double check for that as well. <!-- FIXME(skullydazed): This feels too wordy and I'm not sure we want to encourage these kinds of issues. Also, should we prompt them to bug the manufacutrer? -->
Unfortunately if your keyboard has been advertised to be powered by QMK but is not in the list, you will **not** be able to use Configurator to customize your keyboard.
Chances are a developer hasn't gotten round to adding support or we haven't had a chance to merge it in yet. If there is no active [Pull Request](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+is%3Apr+label%3Akeyboard), contact the manufacturer and encourage them to add support.
## Step 2: Select Your Keyboard Layout
Choose the layout that best represents the keymap you want to create. Some keyboards do not have enough layouts or correct layouts defined yet. They will be supported in the future.
!> Sometimes there isn't a layout that supports your exact build. In that case select `LAYOUT_all`.
::: warning
Sometimes there isn't a layout that supports your exact build. In that case select `LAYOUT_all`.
:::
## Step 3: Name Your Keymap
Call this keymap what you want.
?> If you are running into issues when compiling, it may be worth changing this name, as it may already exist in the QMK Firmware repo.
::: tip
If you are running into issues when compiling, it may be worth changing this name, as it may already exist in the QMK Firmware repo.
:::
## Step 4: Define Your Keymap
@@ -34,18 +44,24 @@ Keycode Entry is accomplished in one of 3 ways:
2. Clicking on an empty spot on the layout, then clicking the keycode you desire
3. Clicking on an empty spot on the layout, then pressing the physical key on your keyboard
?> Hover your mouse over a key and a short blurb will tell you what that keycode does. For a more verbose description please see:
::: tip
Hover your mouse over a key and a short blurb will tell you what that keycode does. For a more verbose description please see:
:::
* [Basic Keycode Reference](keycodes_basic.md)
* [Advanced Keycode Reference](feature_advanced_keycodes.md)
* [Basic Keycode Reference](keycodes_basic)
* [Advanced Keycode Reference](feature_advanced_keycodes)
!> If your selected layout doesn't match your physical build leave the unused keys blank. If you're not sure which key is in use, for example you have a one backspace key but `LAYOUT_all` has 2 keys, put the same keycode in both locations.
::: warning
If your selected layout doesn't match your physical build leave the unused keys blank. If you're not sure which key is in use, for example you have a one backspace key but `LAYOUT_all` has 2 keys, put the same keycode in both locations.
:::
## Step 5: Save Your Keymap for Future Changes
When you're satisfied with your keymap or just want to work on it later, press the `Download this QMK Keymap JSON File` button. It will save your keymap to your computer. You can then load this .json file in the future by pressing the `Upload a QMK Keymap JSON File` button.
!> **CAUTION:** This is not the same type of .json file used for kbfirmware.com or any other tool. If you try to use this for those tools, or the .json from those tools with QMK Configurator, you will encounter problems.
::: warning
**CAUTION:** This is not the same type of .json file used for kbfirmware.com or any other tool. If you try to use this for those tools, or the .json from those tools with QMK Configurator, you will encounter problems.
:::
## Step 6: Compile Your Firmware File
@@ -55,4 +71,4 @@ When the compilation is done, you will be able to press the green `Download Firm
## Next steps: Flashing Your Keyboard
Please refer to [Flashing Firmware](newbs_flashing.md).
Please refer to [Flashing Firmware](newbs_flashing).

View File

@@ -14,8 +14,8 @@ If you're referring to having three spots for space bar, the best course of acti
Please see:
* [Basic Keycode Reference](keycodes_basic.md)
* [Advanced Keycode Reference](feature_advanced_keycodes.md)
* [Basic Keycode Reference](keycodes_basic)
* [Advanced Keycode Reference](feature_advanced_keycodes)
## It won't compile

View File

@@ -11,7 +11,7 @@ Third-party contributions help us grow and improve QMK. We want to make the pull
## I Don't Want to Read This Whole Thing! I Just Have a Question!
If you'd like to ask questions about QMK you can do so on the [OLKB Subreddit](https://reddit.com/r/olkb) or on [Discord](https://discord.gg/Uq7gcHh).
If you'd like to ask questions about QMK you can do so on the [OLKB Subreddit](https://reddit.com/r/olkb) or on [Discord](https://discord.gg/qmk).
Please keep these things in mind:
@@ -29,7 +29,7 @@ QMK is largely written in C, with specific features and parts written in C++. It
# Where Can I Go for Help?
If you need help you can [open an issue](https://github.com/qmk/qmk_firmware/issues) or [chat on Discord](https://discord.gg/Uq7gcHh).
If you need help you can [open an issue](https://github.com/qmk/qmk_firmware/issues) or [chat on Discord](https://discord.gg/qmk).
# How Do I Make a Contribution?
@@ -56,8 +56,8 @@ Never made an open source contribution before? Wondering how contributions work
Most of our style is pretty easy to pick up on. If you are familiar with either C or Python you should not have too much trouble with our local styles.
* [Coding Conventions - C](coding_conventions_c.md)
* [Coding Conventions - Python](coding_conventions_python.md)
* [Coding Conventions - C](coding_conventions_c)
* [Coding Conventions - Python](coding_conventions_python)
# General Guidelines
@@ -101,17 +101,15 @@ enum my_keycodes {
};
```
### Previewing the Documentation :id=previewing-the-documentation
### Previewing the Documentation {#previewing-the-documentation}
Before opening a pull request, you can preview your changes if you have set up the development environment by running this command from the `qmk_firmware/` folder:
qmk docs
```
qmk docs
```
or if you only have Python 3 installed:
python3 -m http.server 8936 --directory docs
and navigating to `http://localhost:8936/`.
and navigating to `http://localhost:5173/`.
## Keyboards
@@ -119,7 +117,7 @@ Keyboards are the raison d'être for QMK. Some keyboards are community maintaine
We also ask that you follow these guidelines:
* Write a `readme.md` using [the template](documentation_templates.md).
* Write a `readme.md` using [the template](documentation_templates).
* Include a `default` keymap that provides a clean slate for users to start with when creating their own keymaps.
* Do not lump core features in with new keyboards. Submit the feature first and then submit a separate PR for the keyboard.
* Name `.c`/`.h` file after the immediate parent folder, eg `/keyboards/<kb1>/<kb2>/<kb2>.[ch]`
@@ -128,9 +126,9 @@ We also ask that you follow these guidelines:
## Quantum/TMK Core
Before you put a lot of work into building your new feature you should make sure you are implementing it in the best way. You can get a basic understanding of QMK by reading [Understanding QMK](understanding_qmk.md), which will take you on a tour of the QMK program flow. From here you should talk to us to get a sense of the best way to implement your idea. There are two main ways to do this:
Before you put a lot of work into building your new feature you should make sure you are implementing it in the best way. You can get a basic understanding of QMK by reading [Understanding QMK](understanding_qmk), which will take you on a tour of the QMK program flow. From here you should talk to us to get a sense of the best way to implement your idea. There are two main ways to do this:
* [Chat on Discord](https://discord.gg/Uq7gcHh)
* [Chat on Discord](https://discord.gg/qmk)
* [Open an Issue](https://github.com/qmk/qmk_firmware/issues/new)
Feature and Bug Fix PRs affect all keyboards. We are also in the process of restructuring QMK. For this reason it is especially important for significant changes to be discussed before implementation has happened. If you open a PR without talking to us first please be prepared to do some significant rework if your choices do not mesh well with our planned direction.
@@ -146,7 +144,7 @@ We also ask that you follow these guidelines:
* Keep the number of commits reasonable or we will squash your PR
* Do not lump keyboards or keymaps in with core changes. Submit your core changes first.
* Write [Unit Tests](unit_testing.md) for your feature
* Write [Unit Tests](unit_testing) for your feature
* Follow the style of the file you are editing. If the style is unclear or there are mixed styles you should conform to the [coding conventions](#coding-conventions) above.
## Refactoring

View File

@@ -2,9 +2,9 @@
For a lot of people a custom keyboard is about more than sending button presses to your computer. You want to be able to do things that are more complex than simple button presses and macros. QMK has hooks that allow you to inject code, override functionality, and otherwise customize how your keyboard behaves in different situations.
This page does not assume any special knowledge about QMK, but reading [Understanding QMK](understanding_qmk.md) will help you understand what is going on at a more fundamental level.
This page does not assume any special knowledge about QMK, but reading [Understanding QMK](understanding_qmk) will help you understand what is going on at a more fundamental level.
## A Word on Core vs Keyboards vs Keymap :id=a-word-on-core-vs-keyboards-vs-keymap
## A Word on Core vs Keyboards vs Keymap {#a-word-on-core-vs-keyboards-vs-keymap}
We have structured QMK as a hierarchy:
@@ -34,7 +34,7 @@ enum my_keycodes {
};
```
## Programming the Behavior of Any Keycode :id=programming-the-behavior-of-any-keycode
## Programming the Behavior of Any Keycode {#programming-the-behavior-of-any-keycode}
When you want to override the behavior of an existing key, or define the behavior for a new key, you should use the `process_record_kb()` and `process_record_user()` functions. These are called by QMK during key processing before the actual key event is handled. If these functions return `true` QMK will process the keycodes as usual. That can be handy for extending the functionality of a key rather than replacing it. If these functions return `false` QMK will skip the normal key handling, and it will be up to you to send any key up or down events that are required.
@@ -98,7 +98,9 @@ These are the three main initialization functions, listed in the order that they
* `matrix_init_*` - Happens midway through the firmware's startup process. Hardware is initialized, but features may not be yet.
* `keyboard_post_init_*` - Happens at the end of the firmware's startup process. This is where you'd want to put "customization" code, for the most part.
!> For most people, the `keyboard_post_init_user` function is what you want to call. For instance, this is where you want to set up things for RGB Underglow.
::: warning
For most people, the `keyboard_post_init_user` function is what you want to call. For instance, this is where you want to set up things for RGB Underglow.
:::
## Keyboard Pre Initialization code
@@ -144,7 +146,7 @@ This is useful for setting up stuff that you may need elsewhere, but isn't hardw
* Keyboard/Revision: `void matrix_init_kb(void)`
* Keymap: `void matrix_init_user(void)`
### Low-level Matrix Overrides Function Documentation :id=low-level-matrix-overrides
### Low-level Matrix Overrides Function Documentation {#low-level-matrix-overrides}
* GPIO pin initialisation: `void matrix_init_pins(void)`
* This needs to perform the low-level initialisation of all row and column pins. By default this will initialise the input/output state of each of the GPIO pins listed in `MATRIX_ROW_PINS` and `MATRIX_COL_PINS`, based on whether or not the keyboard is set up for `ROW2COL`, `COL2ROW`, or `DIRECT_PINS`. Should the keyboard designer override this function, no initialisation of pin state will occur within QMK itself, instead deferring to the keyboard's override.
@@ -182,7 +184,7 @@ Whenever possible you should customize your keyboard by using `process_record_*(
### Example `matrix_scan_*` Implementation
This example has been deliberately omitted. You should understand enough about QMK internals to write this without an example before hooking into such a performance sensitive area. If you need help please [open an issue](https://github.com/qmk/qmk_firmware/issues/new) or [chat with us on Discord](https://discord.gg/Uq7gcHh).
This example has been deliberately omitted. You should understand enough about QMK internals to write this without an example before hooking into such a performance sensitive area. If you need help please [open an issue](https://github.com/qmk/qmk_firmware/issues/new) or [chat with us on Discord](https://discord.gg/qmk).
### `matrix_scan_*` Function Documentation
@@ -204,7 +206,7 @@ Similar to `matrix_scan_*`, these are called as often as the MCU can handle. To
### Example `void housekeeping_task_user(void)` implementation
This example will show you how to use `void housekeeping_task_user(void)` to turn off [RGB Light](feature_rgblight.md). For RGB Matrix, the [builtin](https://docs.qmk.fm/#/feature_rgb_matrix?id=additional-configh-options) `RGB_MATRIX_TIMEOUT` should be used.
This example will show you how to use `void housekeeping_task_user(void)` to turn off [RGB Light](features/rgblight). For RGB Matrix, the [builtin](features/rgb_matrix#additional-configh-options) `RGB_MATRIX_TIMEOUT` should be used.
First, add the following lines to your keymap's `config.h`:
@@ -284,7 +286,7 @@ void suspend_wakeup_init_user(void) {
* Keymap: `void suspend_power_down_kb(void)` and `void suspend_wakeup_init_user(void)`
# Keyboard Shutdown/Reboot Code :id=keyboard-shutdown-reboot-code
# Keyboard Shutdown/Reboot Code {#keyboard-shutdown-reboot-code}
This function gets called whenever the firmware is reset, whether it's a soft reset or reset to the bootloader. This is the spot to use for any sort of cleanup, as this happens right before the actual reset. And it can be useful for turning off different systems (such as RGB, onboard screens, etc).
@@ -296,7 +298,9 @@ If `jump_to_bootloader` is set to `true`, this indicates that the board will be
As there is a keyboard and user level function, returning `false` for the user function will disable the keyboard level function, allowing for customization.
?> Bootmagic does not trigger `shutdown_*()` as it happens before most of the initialization process.
::: tip
Bootmagic does not trigger `shutdown_*()` as it happens before most of the initialization process.
:::
### Example `shutdown_kb()` Implementation
@@ -342,7 +346,7 @@ bool shutdown_user(bool jump_to_bootloader) {
* Keyboard/Revision: `bool shutdown_kb(bool jump_to_bootloader)`
* Keymap: `bool shutdown_user(bool jump_to_bootloader)`
# Deferred Execution :id=deferred-execution
# Deferred Execution {#deferred-execution}
QMK has the ability to execute a callback after a specified period of time, rather than having to manually manage timers. To enable this functionality, set `DEFERRED_EXEC_ENABLE = yes` in rules.mk.
@@ -364,7 +368,9 @@ The second argument `cb_arg` is the same argument passed into `defer_exec()` bel
The return value is the number of milliseconds to use if the function should be repeated -- if the callback returns `0` then it's automatically unregistered. In the example above, a hypothetical `my_deferred_functionality()` is invoked to determine if the callback needs to be repeated -- if it does, it reschedules for a `500` millisecond delay, otherwise it informs the deferred execution background task that it's done, by returning `0`.
?> Note that the returned delay will be applied to the intended trigger time, not the time of callback invocation. This allows for generally consistent timing even in the face of occasional late execution.
::: tip
Note that the returned delay will be applied to the intended trigger time, not the time of callback invocation. This allows for generally consistent timing even in the face of occasional late execution.
:::
## Deferred executor registration
@@ -408,14 +414,14 @@ If registrations fail, then you can increase this value in your keyboard or keym
#define MAX_DEFERRED_EXECUTORS 16
```
# Advanced topics :id=advanced-topics
# Advanced topics {#advanced-topics}
This page used to encompass a large set of features. We have moved many sections that used to be part of this page to their own pages. Everything below this point is simply a redirect so that people following old links on the web find what they're looking for.
## Layer Change Code :id=layer-change-code
## Layer Change Code {#layer-change-code}
[Layer change code](feature_layers.md#layer-change-code)
[Layer change code](feature_layers#layer-change-code)
## Persistent Configuration (EEPROM) :id=persistent-configuration-eeprom
## Persistent Configuration (EEPROM) {#persistent-configuration-eeprom}
[Persistent Configuration (EEPROM)](feature_eeprom.md)
[Persistent Configuration (EEPROM)](feature_eeprom)

Some files were not shown because too many files have changed in this diff Show More