Compare commits

..

1777 Commits

Author SHA1 Message Date
Nick Brassel
8e869da1da Allow for specifying the number of symbols to output. (#19497) 2023-01-04 16:07:13 +11:00
Nick Brassel
691668340c Add qmk mass-compile, which intends to supercede qmk multibuild whilst providing support for filtering as per data-driven definitions. (#18971) 2023-01-04 04:10:18 +00:00
dependabot[bot]
46ed46e384 Bump anothrNick/github-tag-action from 1.55.0 to 1.56.0 (#19494)
Bumps [anothrNick/github-tag-action](https://github.com/anothrNick/github-tag-action) from 1.55.0 to 1.56.0.
- [Release notes](https://github.com/anothrNick/github-tag-action/releases)
- [Commits](https://github.com/anothrNick/github-tag-action/compare/1.55.0...1.56.0)

---
updated-dependencies:
- dependency-name: anothrNick/github-tag-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-03 19:36:22 +00:00
Jesus Climent
5962ebaba1 Fix github URL for the atreyu maintainer. (#19476) 2023-01-03 09:51:32 +11:00
Joel Challis
975d64cc2b adpenrose/akemipad fixes (#19477) 2023-01-03 09:12:25 +11:00
theamarin
ff73cb6290 [Keymap] Add Neo2-based keymap for Planck keyboard (#19173)
Co-authored-by: christian <christian.lueke@sonoware.de>
2023-01-01 09:31:25 -08:00
Byron Clark
867e4fc11c [Keyboard] Add community layout support to Piantor (#19455) 2023-01-01 08:05:57 -08:00
Drashna Jaelre
b4d5c22ed4 Keyboard/fix work louder micro (#18968) 2023-01-01 11:57:15 +11:00
Joel Challis
2ae215514a Add docs to cover recent LAYOUT_all lint checks (#19393) 2023-01-01 11:53:10 +11:00
Joel Challis
b8e12eed80 WSL qmk flash firmware.bin workaround (#19434) 2023-01-01 11:44:33 +11:00
Joel Challis
61696fda83 CLI flashers should allow files outside qmk_firmware folder (#19454) 2023-01-01 11:43:30 +11:00
TommyZ
c7c44de32f [Keyboard] Add Quarkeys Z60, reorganized keyboard file directory (#19404)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: jack <0x6a73@protonmail.com>
2023-01-01 11:41:58 +11:00
DOIO2022
53100496c3 Add KB30 keyboard (#19395)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2023-01-01 11:40:01 +11:00
Jesus Climent
20bafb9313 Atreyu rev2 (#19443) 2023-01-01 11:38:44 +11:00
BBBNBBB
943aae85d5 Fixes unicode_map declaration example (#19450)
If the previous example was used the incorrect codepoints are produced.
Changes the order of arguments the declaration of the unicode_map
2022-12-31 21:23:17 +00:00
Yizhen Liu
590c889537 [keyboard]Add Graystudio Space65 R3 (#18909)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-12-30 12:01:32 +11:00
HorrorTroll
5fa2aab41e Added support keyboard Pila87 / XM87 PRO (#18919) 2022-12-30 11:59:55 +11:00
Evgenii Vilkov
ced8142847 [Keyboard] Add Pica40 (#19220)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-12-30 11:53:31 +11:00
Wolf Van Herreweghe
a7ff2b8d54 Typ65+ Add code to auto turn off LEDs when the PC goes to sleep (#19365)
Co-authored-by: Wolf <contact@vwolf.be>
2022-12-30 11:51:12 +11:00
Roberto Santalla
a781672ce7 docs: add a note about reflashing both halves for encoder resolution (#19162)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-12-30 11:50:37 +11:00
jasonj2232
6b50b1be9b [Keyboard] Added support for a new keyboard - Ishi 80 Mk0 (#19195) 2022-12-30 11:50:16 +11:00
dztech
e08debb62f Fix odinmini layout macro (#19429) 2022-12-30 11:48:26 +11:00
yonatanzunger
6bd76c97be A fancy keymap for the wt65_xt. (#19375) 2022-12-30 11:47:40 +11:00
alaviss
444760efcb ploopyco/trackball_mini: always update encoder (#18561) 2022-12-30 11:45:10 +11:00
x123
ab667a8b64 add x123 keymap for splitkb/aurora/corne (#19407) 2022-12-30 11:44:21 +11:00
gachiham
4c32e060e8 [Keyboard] Add XR63GL keyboard (#19380) 2022-12-27 12:29:19 -08:00
DeskDaily
202a708ba7 [Keyboard] Add Mk65 (#19346)
Co-authored-by: Neil Brian Ramirez <nightlykeyboards@gmail.com>
Co-authored-by: Neil Brian Ramirez <nightlyboards@gmail.com>
2022-12-27 12:14:56 -08:00
Isaac Lyons
fd9c809fc3 [Keymap] Add snowskeleton preonic layout (#19357)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-12-27 12:14:42 -08:00
Arturo Avila
3de3f885de [Keyboard] Add AkemiPad (#18790)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-12-27 12:09:01 -08:00
leah-splitkb
95e97fa839 [Keyboard] Fix Aurora Lily58 default encoder behaviour (#19424) 2022-12-27 11:38:53 -08:00
dependabot[bot]
b56c0fa674 Bump actions/stale from 6 to 7 (#19392)
Bumps [actions/stale](https://github.com/actions/stale) from 6 to 7.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v6...v7)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-23 18:14:23 +00:00
Joel Challis
70f67ca908 Update breaking changes year... (#19409) 2022-12-23 17:53:08 +00:00
Joel Challis
ab1898e660 Minor alignment of rgb_breathe_table generator (#19403) 2022-12-23 11:11:56 +00:00
DeskDaily
99b69dc80e [Keyboard] Corrected a GPIO pin on config.h on the jisoo pcb (#19396)
Co-authored-by: Neil Brian Ramirez <nightlykeyboards@gmail.com>
Co-authored-by: Neil Brian Ramirez <nightlyboards@gmail.com>
2022-12-23 01:08:37 -08:00
Nick Brassel
f75ac6042e Lock down workflow permissions. (#19406)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-12-23 10:41:16 +11:00
ebastler
b8a9de206d Add Anvil Native keyboard (#19333)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-12-21 21:03:50 +11:00
dependabot[bot]
c0e54737ad Bump anothrNick/github-tag-action from 1.54.0 to 1.55.0 (#19387)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-21 11:23:38 +11:00
lalalademaxiya1
8560280afe Add Keychron S1 (#19378) 2022-12-20 17:44:23 +11:00
4pplet
8d43f20624 Adding Duck Viper/Eagle V2/V3 Replacement PCB Rev B (#18584)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: 4pplet <4pplet@protonmail.com>
Co-authored-by: 4pplet <stefan.ess@gmail.com>
2022-12-19 20:59:48 +11:00
lalalademaxiya1
90bd710b69 Add Keychron V7 (#19360) 2022-12-19 20:55:30 +11:00
lalalademaxiya1
007a8c8b35 Add Keychron V8 (#19361) 2022-12-19 20:54:05 +11:00
Manna Harbour
5922751b17 [Keyboard] Add converter/xmk (#18433) 2022-12-19 20:52:03 +11:00
lalalademaxiya1
d27d6f0485 Add Keychron Q7 (#19308)
Co-authored-by: jack <0x6a73@protonmail.com>
2022-12-19 20:48:30 +11:00
lalalademaxiya1
90c4a8785e Add Keychron Q60 (#19309)
Co-authored-by: jack <0x6a73@protonmail.com>
2022-12-19 20:46:56 +11:00
lalalademaxiya1
4c28f93520 Add Keychron Q65 (#19310)
Co-authored-by: jack <0x6a73@protonmail.com>
2022-12-19 20:45:57 +11:00
lalalademaxiya1
e0ff1189ce Add Keychron V1 (#19315) 2022-12-19 20:44:47 +11:00
lalalademaxiya1
de64c61d17 Add Keychron V2 (#19316) 2022-12-19 20:42:00 +11:00
lalalademaxiya1
a3392fdd1e Add Keychron V3 (#19317) 2022-12-19 20:39:36 +11:00
lalalademaxiya1
0ab4f53691 Add Keychron V4 (#19319) 2022-12-19 20:06:51 +11:00
lalalademaxiya1
4a0027d493 Add Keychron V5 (#19320) 2022-12-19 19:53:51 +11:00
lalalademaxiya1
359caf1432 Add Keychron Q9 (#19318) 2022-12-19 19:42:45 +11:00
Alexander Franco
11ae141835 Fix description for selectively disabling animations (#19374) 2022-12-19 19:10:11 +11:00
Salicylic-acid3
6a80b7266a [Keyboard] Add Guide68 (#19264)
Co-authored-by: jack <0x6a73@protonmail.com>
2022-12-19 19:09:35 +11:00
jack
8655b100b1 keebio/quefrency — add missing LAYOUT_all's to info.json (#19373) 2022-12-18 23:28:30 -08:00
zvecr
2e9ebf0756 Correct 19355 2022-12-18 22:33:08 +00:00
dztech
f1cf00ab70 change d45lite keyboard name to d45v2 (#19355) 2022-12-18 22:31:34 +00:00
Nostril
f3041c5500 [Keyboard] Add Synth Labs 060 keyboard (#19363)
Co-authored-by: jack <0x6a73@protonmail.com>
2022-12-17 19:21:02 -08:00
jack
bb82ded302 [Keyboard] tkc/portico75 — Fix layers & move to encoder map (#19359) 2022-12-17 11:55:37 -08:00
jack
a73014fa27 [Keyboard] tkc/portico75 — Fix layers & move to encoder map (#19359) 2022-12-17 11:55:12 -08:00
James Young
f21443d6a2 DZTECH OG60 Touch-Up (#19343) 2022-12-15 11:35:28 -08:00
Leo Deng
79d083c635 [Docs] Update feature_joystick.md (#19347) 2022-12-15 11:28:48 -08:00
Basil Sh
293a9fb342 [Keymap] Fix miryoku layout for draculad (#19338) 2022-12-15 11:25:17 -08:00
ebastler
d7225eafbe [Keymap] Add E80-1800 keymap with bongocat OLED animation (#19334) 2022-12-15 01:02:49 -08:00
jotix
33cc81f36e [Keymap] Simplifying ortho-4x12 jotix's layout (#19336) 2022-12-15 00:19:39 -08:00
Joshua Diamond
571a9794af Fix non-functional RGBLIGHT_EFFECT_TWINKLE on ARM (#19335) 2022-12-15 00:18:54 -08:00
James Young
8e50f1c5f5 DZTECH Endless80 Touch-Up (#19339) 2022-12-14 22:40:17 -08:00
Nick Brassel
6543065180 Reorder paths to (hopefully) trigger a re-tag. 2022-12-15 08:09:14 +11:00
QMK Bot
51360f3d54 Format code according to conventions (#19330) 2022-12-14 20:56:19 +00:00
Zykrah
5c817bffe9 [Keyboard] Add Slime88 (#19054)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-12-14 12:51:02 -08:00
Nick Brassel
0f97402d21 Add builddefs to the paths associated with tagging. (#19329) 2022-12-15 07:50:02 +11:00
Zykrah
35f460643a [Keyboard] Tinny50 RGB Edition (#19285)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-12-14 12:48:45 -08:00
BentoBoxStudio
5373376020 [Keyboard] Add cosmo65 (#19181) 2022-12-14 12:40:38 -08:00
Nick Brassel
e67e690cf3 Revert to legacy wear-leveling driver by default for F401. (#19328) 2022-12-15 07:27:00 +11:00
mfkiiyd
1130834513 add ubest/vn 68 keyboard (#19263)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: water <mfkiiyd@163.com>
2022-12-15 02:50:56 +11:00
dztech
4c5e0606fe add tofu_jr keyboard (#18960)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-12-15 02:49:49 +11:00
Pablo Martínez
99174edf0a [Docs] Remove broken link (#19321) 2022-12-15 01:43:39 +11:00
jack
fecfb176b4 Add encoder map to boardsource/lulu, and some other dd migrations (#19281) 2022-12-14 13:49:06 +11:00
James Young
582f879d6f Mode SixtyFive HA Layout Refactor (#19312) 2022-12-14 13:43:40 +11:00
Zykrah
411ed54b0a [Keyboard] Add Fuyu (#19055)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-12-13 01:23:37 -08:00
Leo Deng
70b9cec3f2 [Keyboard] add deng/thirty keyboard (#19228)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Leo DENG <leo.deng@nio.com>
2022-12-13 01:14:29 -08:00
Danny
e25672baef [Keyboard] Add Convolution Rev. 1 PCB (#19283)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-12-12 18:50:23 -08:00
DeskDaily
e444cf9578 [Keyboard] Add Daily60 keyboard (#19116)
Co-authored-by: Neil Brian Ramirez <nightlykeyboards@gmail.com>
Co-authored-by: Neil Brian Ramirez <nightlyboards@gmail.com>
2022-12-12 18:38:38 -08:00
dztech
7cf3dd7b8d [Keyboard] add tofu_ii keyboard (#19118)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-12-12 18:38:15 -08:00
mechlovin
7578daaf16 [Keyboard] Add Olly Orion to QMK (#19134)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-12-12 18:37:35 -08:00
Ramon Imbao
812468abb4 [Keyboard] Add the Gone Hacking Studio XLS (#19185)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-12-12 18:36:26 -08:00
Simon Fell
2792ee6573 [Keymap] superfell's custom keymap for the 0xc pad (#19196) 2022-12-12 18:36:05 -08:00
ebastler
29b8bbc4a0 [Keyboard] moved E80-1800 to data driven configuration (#19199)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-12-12 18:35:49 -08:00
TW59420
9c2703cab0 [Keyboard] add mw80 (#19223)
Co-authored-by: jack <0x6a73@protonmail.com>
2022-12-12 15:50:04 -08:00
DeskDaily
291f988423 [Keyboard] Add Jisoo pcb (#19238)
Co-authored-by: Neil Brian Ramirez <nightlykeyboards@gmail.com>
Co-authored-by: Neil Brian Ramirez <nightlyboards@gmail.com>
2022-12-12 15:48:39 -08:00
Moses Hoyt
48a80a502d [Keyboard] Add Lagom keyboard (#19240)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-12-12 15:48:18 -08:00
DeskDaily
06593acc7d [Keyboard] Add Navi60 (#19253)
Co-authored-by: Neil Brian Ramirez <nightlykeyboards@gmail.com>
Co-authored-by: Neil Brian Ramirez <nightlyboards@gmail.com>
2022-12-12 15:47:40 -08:00
yiancar
89399b5494 [Keyboard] Crypt Macro (#19279)
Co-authored-by: yiancar <yiancar@gmail.com>
2022-12-12 15:47:08 -08:00
dztech
15ef0a7e3c [Keyboard] add d45 lite keyboard (#19288)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-12-12 15:46:09 -08:00
mechlovin
68f550a3f2 [Keyboard] Add Zed65-monoLED and Zed65-Cor65 (#18872)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-12-12 15:41:06 -08:00
T.Shinohara
6d0f944e5e Keyboard rura66 (#15853)
* add : BlackMask60 and MayShi.No30

* fix:spell miss

* change:keyboard name area

* change: default keymap

* 配列を自分用に変更

* MyKemap Update

* 構成変更

* Add RURA66 new keyboard

* remove additional files

* fix file

* fix info.json from rura66

* fix KC_LANG to KC_LNG from rura66

* Fix readme
- fix purchase URL
- adjust to the recent standard

* Fix rules.mk
- no backlight
- remove DIP switch/Bluetooth
- OLED_DRIVER_ENABLE -> OLED_ENABLE

* Fix rura66.h: add LICENSE

* Fix config.h
- UNUSED_PINS is deprecated
- accept suggestion on PR

* Fix oled_display.c
- remove snprintf()
- OLED_DRIVER_ENABLE->OLED_ENABLE
- oled_task_user() returns false

* Fix config.h
- no SPLIT_HAND_MATRIX_GRID
- no RGB Matrix

* move default keymap readme

* add VIA keymap

* Fix info.json
- Fix keyboard URL
- Change VID/PID

* Fix comments in rules.mk

* fix info.json keyboard url

Co-authored-by: yswallow <1426202+yswallow@users.noreply.github.com>
2022-12-12 15:23:54 -08:00
xofyarg
25790fc886 [Keyboard] add ydpm40 keyboard (#19294) 2022-12-12 13:16:26 -08:00
MJM
b8532d100d [Keyboard] Switch heliotrope from rgblight to rgb matrix (#19296) 2022-12-12 13:15:41 -08:00
lalalademaxiya1
1431f314a4 Add Keychron Q10 (#19127)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-12-13 07:10:32 +11:00
Luc
bf2ed0174b [Keymap] user dvorak_42_key ergodox_ez and crkbd keymaps (#19154)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: luc wastiaux <luc.wastiaux@airpost.net>
Co-authored-by: Luc W <lucw@airpost.net>
2022-12-11 21:21:23 -08:00
Christopher Bunn
96ba554ca8 [Keymap] lets_split: add mypetyak map (#19205) 2022-12-11 21:17:08 -08:00
QMK Bot
57f9a2ad6d [CI] Format code according to conventions (#19292) 2022-12-11 18:14:34 +11:00
Ryan
7c72c5e436 sthlmkb/litl: fix layout macros (#19244) 2022-12-11 18:00:14 +11:00
Wolf Van Herreweghe
608ed489de Update KC_BKSP->KCBSPC for default Ortho4x6 layout (#19290)
Co-authored-by: Wolf <contact@vwolf.be>
2022-12-11 15:05:23 +11:00
MJM
57351e4a37 [Keyboard] Add heliotrope Keyboard (#19170) 2022-12-10 18:35:06 -08:00
Adam Lickel
143b7a3c3d [Keymap] Keeb.io Sinc - Lickel keymap update (#19188) 2022-12-10 12:46:24 -08:00
Joel Challis
89fdafc27d Refactor use of led_set_user within handwired/prime_exl (#19274) 2022-12-09 03:32:47 +00:00
James Young
96cd333371 TGR Jane V2 CE Refactor (#19261) 2022-12-08 18:15:44 -08:00
Joel Challis
99cd0b13e1 Refactor some led_set_kb instances (#19179)
* Refactor some led_set_kb instances

* Apply suggestions from code review

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2022-12-09 01:42:22 +00:00
James Young
ba6ee29040 fix LinWorks FAve84H keymaps (#19266)
Develop merge broke a previous refactor.
2022-12-08 19:39:54 +00:00
James Young
f4a4d841e5 Dactyl Manuform 4x5_5 Configurator Rendering Update (#18313) 2022-12-09 04:15:09 +11:00
James Young
de92e8b3b0 Idobao ID80 V2: Partial Data-Driven Conversion (#19247) 2022-12-09 04:01:56 +11:00
James Young
e4f4e0a307 Aperture: fix Community Layout support (#19260) 2022-12-09 03:50:59 +11:00
James Young
069e6a259a Soda Cherish Refactor (#19259) 2022-12-09 03:50:34 +11:00
simchee
88d8817397 [Keymap] Add personal config for Kprepublic BM40HSRGB (#19186) 2022-12-09 03:49:22 +11:00
kopibeng
1df41e6db1 Add support for MNK65_STM32 (#18744)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-12-09 03:48:42 +11:00
peepeetee
5447b075f9 [Keyboard] Add momokai tap duo (#19042) 2022-12-09 03:47:38 +11:00
adophoxia
fa56e51894 Add support for Keychron Q4 (#19048) 2022-12-09 03:45:10 +11:00
lalalademaxiya1
1215fc2a78 Update Q1 and Q2 for keychron (#18713)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: jpe230 <pablin.123.ra@gmail.com>
2022-12-09 03:43:28 +11:00
Joel Challis
6e6039995b Add lint check for keyboard/keymap license header (#19215) 2022-12-09 03:31:02 +11:00
Mikhail Nosov
071268633d [Keyboard] Fix CapsLock pin for ymdk/ymd75/rev3 (#19158) 2022-12-09 03:13:53 +11:00
syntax-magic
261e7668c6 Added mouse clicks to RBG layer (#19105)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: syntax-magic <dkim.8881@gmail.com>
2022-12-09 03:09:43 +11:00
4pplet
d30bf44a60 Add AEKISO60 rev B (#19074)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: 4pplet <4pplet@protonmail.com>
Co-authored-by: 4pplet <stefan.ess@gmail.com>
2022-12-09 03:07:54 +11:00
tarneo
ebcbbfc1e8 correct config for supersplit and add keymap (#18927) 2022-12-09 02:54:19 +11:00
Ryan
acca2eb963 Fix build failures for aurora/lily58 and sweep (#19258) 2022-12-08 13:34:32 +00:00
Jordan Duabe
bb3d694875 [Keyboard] Add NCR-80 (#19130) 2022-12-07 13:02:05 -08:00
Ryan
405aa7b2ed Fix keyboard for some JSON keymaps (#19251) 2022-12-07 17:59:23 +00:00
James Young
760e5c2ee1 ASK55: correct layout data (#19252) 2022-12-07 15:56:21 +00:00
dependabot[bot]
3fa1e8e273 Bump anothrNick/github-tag-action from 1.53.0 to 1.54.0 (#19246)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-07 08:44:19 +11:00
leah-splitkb
0e93b0d59b [Keyboard] Add splitkb.com's Aurora Lily58 (#19183) 2022-12-06 15:57:50 +00:00
dependabot[bot]
2709b6ed61 Bump anothrNick/github-tag-action from 1.52.0 to 1.53.0 (#19242)
Bumps [anothrNick/github-tag-action](https://github.com/anothrNick/github-tag-action) from 1.52.0 to 1.53.0.
- [Release notes](https://github.com/anothrNick/github-tag-action/releases)
- [Commits](https://github.com/anothrNick/github-tag-action/compare/1.52.0...1.53.0)

---
updated-dependencies:
- dependency-name: anothrNick/github-tag-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-05 19:31:20 +00:00
Joel Challis
92fadf0110 Ensure info.json layout macros are somewhat valid (#19236) 2022-12-05 02:32:40 +00:00
mechlovin
92354b2ca8 [Keyboard] Add Olly_Octagon PCB to QMK (#19128)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-12-04 21:03:41 +00:00
Charly Delay
af14b212b9 Re-structure splinky support to handle versioning in the same fashion as for the teensy (#19123) 2022-12-04 20:58:12 +00:00
mechlovin
ea1a6975a8 [Keyboard] Add ISO layout support for Zed60 PCB (#19204)
* add iso layout

* Update zed60.h
2022-12-04 20:47:56 +00:00
David Kühling
2f92880578 dqz11n1g: Documentation improvement. (#19230)
Co-authored-by: David <dvdkhlng@posteo.de>
2022-12-04 20:43:28 +00:00
dztech
4d1b1bc534 [Keyboard] add kbdpadmk3 (#18795)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-12-04 10:53:08 -08:00
gshmu
1dd77d9944 [Keymap] gshmu keymap for lily58 (#19040) 2022-12-04 01:35:23 -08:00
lalalademaxiya1
d878edfaad [Keyboard] Add Keychron Q8 (#19126) 2022-12-04 01:26:27 -08:00
dztech
ee772ad165 [Keyboard] add odinmini keyboard (#19111)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-12-04 01:22:21 -08:00
micros24
6af12001eb [Keymap] KBDFans Tiger80 Keymap (#19148)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Jasper Jan O. Solee <jjosolee@mymail.mapua.edu.ph>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-12-03 23:16:34 -08:00
mechlovin
03d7c31e6c [Keyboard] Change indicator LED state on Kay60 (#19182) 2022-12-03 12:05:23 -08:00
Nick Brassel
cf3c26533c Fixup EFL and F4's sector selection. (#19221) 2022-12-02 21:55:28 +11:00
Ryan
f98a7e8ffe Fix RGB_MATRIX_LED_COUNT for aurora/corne (#19222) 2022-12-02 16:36:47 +11:00
Drashna Jaelre
0e8d22e2b7 [Keyboard] Fix config error for Charybdis (#19219) 2022-12-01 22:12:35 +00:00
HorrorTroll
e9d5967a93 [Keyboard] Add keyboard Caticorn (#19138) 2022-11-30 15:30:41 -08:00
tsubuan_145
3f98542e52 Add meow48 ver.1.0 keyboard (#19217)
just make the PRs stop
2022-11-30 23:28:17 +00:00
Commander1024
402d3d8a86 [Keyboard] Daskeyboard4 (#18675)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-30 11:20:45 -08:00
Pablo Martínez
a5c2eea6c1 Update OLED doc (#19213)
* Update OLED doc

* Update docs/feature_oled_driver.md

Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2022-11-30 17:48:23 +00:00
Moses Hoyt
5ff7f289f2 [Keyboard] Add Litl keyboard (#19000)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-11-29 23:06:01 -08:00
IFo Hancroft
38a153b143 [Keymap] Fixed ifohancroft Swap Hands Config (#19176) 2022-11-29 22:52:44 -08:00
Adam Lickel
3d091f4a9d Keeb.io Sinc: Enable Split LED state (#19187) 2022-11-29 22:52:10 -08:00
Manna Harbour
0b29af1019 [Keymap] Update Miryoku (#19190) 2022-11-29 22:51:49 -08:00
Joel Challis
5d516ac2e2 Ignore some layout macro names from lint (#19207) 2022-11-30 06:39:41 +00:00
Joel Challis
739d4ad2fb Add some community layouts to 40percentclub boards (#19209) 2022-11-30 06:39:27 +00:00
Joel Challis
2d45e5e4b4 Add ortho_3x3 community layout (#19210) 2022-11-30 06:38:02 +00:00
Joel Challis
e0d0d81dfa Add missing default_ortho_5x5 keymap (#19208) 2022-11-30 06:18:05 +00:00
Joel Challis
bb4f094a08 Fix bad bootmagic config (#19206) 2022-11-30 17:03:19 +11:00
Joel Challis
17fec52b0f Extend layout lint checks (#19200)
* Extend layout lint checks

* Apply suggestions from code review

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

* Fix function comment

Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-30 04:27:48 +00:00
Joel Challis
4a0aa9ada2 Fix headers in info.json reference (#19202) 2022-11-30 02:45:51 +00:00
Albert Y
90fe668dd9 Enable bootmagic (#19191) 2022-11-30 01:01:10 +00:00
Drashna Jaelre
4a87af0e9a [Keymap] Drashna updates for 0.19 (#19175)
* Fix up bastardkb boards since blackpill support is officially added.
  * Check for blackpill version, not elite c.
  * Add checks in chibiOS config since multiple ARM controllers supported.
  * Rework rules.mk for keymaps to better handle arm vs avr support
* Start moving away from `matrix_*_*` functions.
  * `housekeeping_task_*` instead of `matrix_scan_*`
  * `keyboard_(pre|post)_init_*` instead of `matrix_init_*` 
* Add ℂℴmⅈℂ unicode input method.
* Clean up unicode code to be more compact and flexible.
* Remove/move Pro Micro LED commands to userspace and better filter them
* Fixup OLED code
  * Use newer quantum keycode functions/preprocessors rather than manual bit manipulation
  * Make unicode mode render much more compact/simple.
* Make qmk secrets more self contained
* Remove custom implementation of split watchdog
2022-11-29 11:43:42 -08:00
Ryan
8a8000b4ec Fix Czech sendstring LUT (#19193) 2022-11-29 16:34:57 +00:00
JayceFayne
9ddb0165a4 fix typo (#19189) 2022-11-29 16:34:20 +00:00
Ryan Baker
d27b852fcc new keyboard rb1 (#18164)
* rb1

* Update keymap.c

* Update keyboards/ryanbaekr/rb1/info.json

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

* Delete rb1.c

* Delete rb1.h

* Update keyboards/ryanbaekr/rb1/config.h

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

* Update keyboards/ryanbaekr/rb1/config.h

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

* Update keyboards/ryanbaekr/rb1/config.h

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-28 05:46:40 +00:00
gshmu
690eb4a453 Fix RWIN typo within keycode list (#19155)
fix typo
2022-11-28 05:25:56 +00:00
Ndot
5a3770d363 [Docs] Update reference_info_json.md (#18817)
* [Docs] Update reference_info_json.md

- Makes it easier to find keyboard.jsonschema.
- Adds a reference to the Data Driven page.

* Update docs/reference_info_json.md

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-28 02:08:27 +00:00
Leo Lou
cbedec64a4 Add piantor (#18920)
* Add piantor

* Update keyboards/beekeeb/piantor/readme.md

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-11-28 02:03:58 +00:00
Nick Brassel
4020674163 Merge remote-tracking branch 'upstream/develop' 2022-11-28 07:54:00 +11:00
Nick Brassel
9e78e65a56 2022 Nov 26 changelog. (#19164)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-28 07:33:55 +11:00
Joel Challis
0ab03f8fbc Fix API errors in handwired/tractyl_manuform/5x6_right/arduinomicro (#19166) 2022-11-27 02:07:07 +00:00
Joel Challis
cb57ec9c02 Revert lib/usbhost changes (#19165) 2022-11-27 02:05:04 +00:00
Christopher Hoage
9b51f02f45 Fix encoder_init call order in keyboard_init (#19140) 2022-11-27 10:07:35 +11:00
Ryan
e12ca14af8 Change RGB_MATRIX_STARTUP_* defines to RGB_MATRIX_DEFAULT_* (#19079) 2022-11-27 04:18:24 +11:00
Nick Brassel
ad7b095da6 Fixup installation procedure for different Fedora versions. (#19159) 2022-11-27 04:16:08 +11:00
Ryan
1e95f7be8f Joystick feature improvements (#19052) 2022-11-27 03:14:45 +11:00
Ryan
a5a20cc792 Change LED_MATRIX_STARTUP_* defines to LED_MATRIX_DEFAULT_* (#19080) 2022-11-27 03:14:35 +11:00
QMK Bot
2582992381 Merge remote-tracking branch 'origin/master' into develop 2022-11-25 17:32:45 +00:00
Ryan
8f9b49dc5b Fix build failures for bastardkb/tbk and jels/boaty (#19152) 2022-11-25 17:31:58 +00:00
QMK Bot
8a906d7fd5 Merge remote-tracking branch 'origin/master' into develop 2022-11-25 04:29:59 +00:00
Joel Challis
6ed605a614 Fix annepro2/c18:iso_default (#19147) 2022-11-25 15:29:20 +11:00
Joel Challis
59443fa970 jsonify some info.json (#19146) 2022-11-25 02:47:02 +00:00
jack
3209c7a42c Fixup aurora/corne on develop (#19144) 2022-11-24 18:50:17 +11:00
Joel Challis
af6aa225eb Additional DD backlight config (#19124)
* Additional dd backlight config

* Update docs
2022-11-23 18:48:22 +00:00
Drashna Jael're
b494bc4459 Merge remote-tracking branch 'origin/master' into develop 2022-11-23 10:15:28 -08:00
Adam Price
558ab18611 [Keymap] komidore64 planck rev6 (#19036)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-23 10:12:36 -08:00
Joel Challis
dfa53900dc Publish constants metadata to API (#19143)
* Publish metadata

* Ensure content is sorted
2022-11-23 18:01:07 +00:00
leah-splitkb
535dd84691 [Keyboard] Add splitkb.com's Aurora Corne (#18880) 2022-11-23 09:12:50 +00:00
Nick Brassel
bebfdad795 NVRAM refactor, phase 1. (#18969)
* Rename `eeprom_stm32` to `eeprom_legacy_emulated_flash`.

* Rename `flash_stm32` to `legacy_flash_ops`.

* Rename `eeprom_teensy` to `eeprom_kinetis_flexram`.
2022-11-23 08:50:19 +00:00
spbgzh
8b1069f15a [Add function] add 'Split Space and ISO and delete RGUI for Promise 87 (#18929)
* add split space and ISO

* Update wkl.h

* update ISO

* update

* change KC_LGUI to KC_RGUI

* delete RGUI

* format

* update promise87 readme.md

* update promise87 wkl readme.md

* Update readme.md

* Update readme.md

* change KC_SLCK to KC_SCRL

* wuque/promise87/ansi: standardize Layout Macro names

- rename `LAYOUT_tkl_f13_ansi` to `LAYOUT_tkl_f13_ansi_tsangan`
- convert `LAYOUT_tkl_f13_ansi_iso` to `LAYOUT_tkl_f13_iso_tsangan` (adds position `K41`)
- rename `LAYOUT_tkl_f13_ansi_split_space` to `LAYOUT_tkl_f13_ansi_tsangan_split_space`
- rename `LAYOUT_tkl_f13_ansi_split_bs` to `LAYOUT_tkl_f13_ansi_tsangan_split_bs`
- rename `LAYOUT_tkl_f13_ansi_split_lshift` to `LAYOUT_tkl_f13_ansi_tsangan_split_lshift`
- rename `LAYOUT_tkl_f13_ansi_split_rshift` to `LAYOUT_tkl_f13_ansi_tsangan_split_rshift`
- rename `LAYOUT_tkl_f13_ansi_split_bs_rshift` to `LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift`

* wuque/promise87/wkl: refactor LAYOUT_tkl_f13_ansi_wkl_iso

Refactors `LAYOUT_tkl_f13_ansi_wkl_iso` into `LAYOUT_tkl_f13_iso_wkl` by adding position `K41` (Non-US Backslash) to the layout macro.

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2022-11-22 12:56:48 -08:00
jack
bfdc761819 initial (#19137) 2022-11-22 23:19:38 +11:00
Joel Challis
3b11e98215 Update use of legacy keycodes (#19120) 2022-11-22 22:07:47 +11:00
zvecr
ab17d34dbd Merge remote-tracking branch 'origin/master' into develop 2022-11-22 02:48:11 +00:00
Nick Brassel
06a3801a27 Update .gitignore (#19132) 2022-11-22 13:32:36 +11:00
zvecr
08805cada0 Stub next develop dates 2022-11-22 01:27:15 +00:00
dztech
9291c8f867 [Keyboard] add og60 keyboard (#19114)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-20 20:17:09 -08:00
Joel Challis
fe577daf96 Remove .noci functionality (#19122) 2022-11-21 02:03:38 +00:00
Joel Challis
e451703680 Merge API update workflow (#19121) 2022-11-21 02:03:17 +00:00
Charly Delay
2b0a3cd2f1 Bastard Keyboards: upstream recent changes (#19083)
Co-authored-by: Simian <alex@Mandelbrot>
Co-authored-by: Charly Delay <0xcharly@users.noreply.github.com>
Co-authored-by: Alex Baldwin <alexbaldwin42@gmail.com>
2022-11-20 12:34:42 -08:00
Xelus22
127a70b6ca [Keyboard] Add Satellite Rev1 (#18869)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-20 10:24:25 -08:00
rafal0p
852952cfd8 Use modern solution for tri-layer in sofle default layout (#19113) 2022-11-20 17:23:41 +00:00
QMK Bot
c96d9d3508 Merge remote-tracking branch 'origin/master' into develop 2022-11-20 17:22:58 +00:00
CoffeeIsLife
ca693d7f9b [Keymap] Add home and end keys to coffee's bm40hsrgb keymap (#19108)
Co-authored-by: Fae <faenkhauser@gmail.com>
2022-11-20 09:22:25 -08:00
Drashna Jael're
4597e01061 Merge remote-tracking branch 'origin/master' into develop 2022-11-20 09:20:46 -08:00
jack
6c40a46057 Fixup keychron/q5 (#19119) 2022-11-20 14:30:40 +00:00
Jesus Climent
6f8bbb1632 [Keyboard] Small fixes for the Atreyu rev1 keyboard (#19098) 2022-11-20 00:57:13 -08:00
Hayley
eb63857237 [Keymap] Fix ducky one 2 sf fn layer mappings (#18955) 2022-11-20 00:54:48 -08:00
spbgzh
62160193f0 [Keyboard] change RGBLED_NUM to 20 for zoom87 (#18930)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-11-20 00:53:38 -08:00
mmccoyd
543a863766 [Keyboard] Move Hillside out of handwired (#18751)
Co-authored-by: mmccoyd <mmccoyd@cs.berkley.edu>
2022-11-20 00:50:09 -08:00
jack
0489739351 [Keyboard] Fix up Boaty (#19117) 2022-11-20 00:49:34 -08:00
JX
f5ca82854b [Keyboard] Add YR80 (#18945)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-11-20 00:29:02 -08:00
Lex Brugman
66e4add972 [Keyboard] Add support for KBDfans Odin V2 (#18910) 2022-11-20 00:28:35 -08:00
Daniel Shields
6de4870ee0 [Keyboard] Add layer tap keys to dshields keymaps. (#18953) 2022-11-20 00:27:45 -08:00
Xelus22
26db668878 [Keyboard] EXT65 rev3 support (#18873) 2022-11-20 00:27:24 -08:00
bwprobably
0420a74d4c [Keyboard] Add hardwired Dactyl macropad (#18761)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-20 00:27:10 -08:00
QMK Bot
7357426bc3 Merge remote-tracking branch 'origin/master' into develop 2022-11-20 08:24:43 +00:00
Joe Scotto
f0454c9682 [Keyboard] Add ScottoStarter Keyboard (#18626)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-20 00:24:11 -08:00
QMK Bot
473580d0ef Merge remote-tracking branch 'origin/master' into develop 2022-11-20 08:15:54 +00:00
TW59420
41399b1779 [Keyboard] add mw660 keyboard (#18849)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-11-20 00:15:16 -08:00
QMK Bot
deca2069dc Merge remote-tracking branch 'origin/master' into develop 2022-11-20 07:32:08 +00:00
Xelus22
e172148e46 [Keyboard] Add XS108 (#19112)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-19 23:31:02 -08:00
QMK Bot
4b99336c4b Merge remote-tracking branch 'origin/master' into develop 2022-11-20 05:38:05 +00:00
lalalademaxiya1
0f6a4edfb2 [Keyboard] Keychron Q5 (#18283)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-11-19 21:37:23 -08:00
QMK Bot
8c3d9c6006 Merge remote-tracking branch 'origin/master' into develop 2022-11-20 05:15:52 +00:00
Patrick Muldoon
525b472d88 Fix Typo in Saevus Cor Matrix (#19073) 2022-11-20 16:15:16 +11:00
QMK Bot
b774cb34f8 Merge remote-tracking branch 'origin/master' into develop 2022-11-20 03:46:49 +00:00
Sleepdealer
e5e186c516 [Keyboard] Add WITF (#18922)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-11-19 19:46:12 -08:00
QMK Bot
57956f506b Merge remote-tracking branch 'origin/master' into develop 2022-11-19 23:41:46 +00:00
coffeeyy
37c271460a [Keyboard] annepro2: fix bluetooth multi-pairing issue (#17483) 2022-11-20 10:40:52 +11:00
QMK Bot
0984cb8ca5 Merge remote-tracking branch 'origin/master' into develop 2022-11-19 21:52:34 +00:00
Yizhen Liu
becd7e5975 [Keyboard] GrayStudio Aero75 Hotswap (#18883)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-11-19 13:51:59 -08:00
Drashna Jael're
3d72be0637 Merge remote-tracking branch 'origin/master' into develop 2022-11-19 13:44:25 -08:00
Elliot Powell
ede2b4155d [Keyboard] Add keebsforall freebird75 (#18653)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-11-19 13:39:16 -08:00
jels
e165407957 [Keyboard] Add Boaty (#17378)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Jels02 <joah@Joah-Big-PC.localdomain>
2022-11-19 11:43:59 -08:00
nopunin10did
0bf72e4fe5 [Keyboard] Add Jabberwocky v2 and reorganize (#19014)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-19 11:35:35 -08:00
Pablo Martínez
fe652e6247 Fix references to mouse_report_t (which doesnt exist) (#19107) 2022-11-18 15:19:45 +00:00
QMK Bot
8449a4a11f Merge remote-tracking branch 'origin/master' into develop 2022-11-18 02:17:25 +00:00
Joel Challis
5d882ab6ef Disable onekey console by default (#19104) 2022-11-18 02:16:38 +00:00
Selene ToyKeeper
31fb55ae7b fixed MOUSEKEY_INERTIA on AVR (#19096)
Co-authored-by: Selene ToyKeeper <git@toykeeper.net>
2022-11-16 13:46:11 -08:00
QMK Bot
63377c8c57 Merge remote-tracking branch 'origin/master' into develop 2022-11-16 17:24:03 +00:00
Charly Delay
d86c0d3723 Use keyboard_pre_init_kb(void) at keyboard level (#19091) 2022-11-16 09:23:21 -08:00
QMK Bot
dda3a901ea Merge remote-tracking branch 'origin/master' into develop 2022-11-16 07:08:26 +00:00
Charly Delay
d6956668e3 Specify DEFAULT_FOLDER for v2/splinky (#19093) 2022-11-16 18:07:51 +11:00
Joel Challis
57ac917b43 Extend eeconfig kb/user datablock API (#19094) 2022-11-16 18:06:49 +11:00
Ryan
81a6407dca Update more DRIVER_LED_TOTAL defines to RGB_MATRIX_LED_COUNT (#19089) 2022-11-16 05:59:09 +11:00
QMK Bot
5dabc1b387 Merge remote-tracking branch 'origin/master' into develop 2022-11-15 18:41:13 +00:00
Albert Y
df5689ed06 [Docs] Note default value for TAP_CODE_DELAY (#19078) 2022-11-15 10:40:28 -08:00
QMK Bot
d2888162b4 Merge remote-tracking branch 'origin/master' into develop 2022-11-15 17:23:44 +00:00
bghull
538dbb5b8e Personal keymap updates (#18763)
* Latest updates

* Aligning and cleaning up planck and babyv layouts

* Added license, cleaned up errors
2022-11-15 17:23:03 +00:00
QMK Bot
64b744e5be Merge remote-tracking branch 'origin/master' into develop 2022-11-15 16:58:09 +00:00
trguhq
cadf18c6d3 Planck unicode rune layout (#18674)
* Furthark layout
2022-11-15 16:57:09 +00:00
QMK Bot
9974978909 Merge remote-tracking branch 'origin/master' into develop 2022-11-15 16:55:25 +00:00
Leon Anavi
7e843d0eca keyboards/anavi: Add ANAVI Knob 1 (#18623)
ANAVI Knob 1 is a mini mechanical keyboard with a clickable rotary
encoder, USB-C, RP2040 microcontroller and I2C slot for a display.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2022-11-15 16:54:45 +00:00
QMK Bot
4de3f53984 Merge remote-tracking branch 'origin/master' into develop 2022-11-15 16:54:38 +00:00
David Kosorin
c21b77fbd2 Fix typo (#19035)
Swap Hands on/off - it's `SH_ON/OFF` not `SW_ON/OFF`
2022-11-15 16:53:57 +00:00
Ryan
de66797705 Fix some old keycodes (#19086) 2022-11-15 16:52:01 +00:00
QMK Bot
594f869619 Merge remote-tracking branch 'origin/master' into develop 2022-11-15 09:34:22 +00:00
Xelus22
4e7f533998 [Keyboard] Add Constellation Rev3 (#18868)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-15 01:33:58 -08:00
Sean Jasin
ed70f42638 [Keyboard] change BT LEDs so no longer hard coded in Anne Pro (#18934) 2022-11-15 01:33:37 -08:00
QMK Bot
4238d49efe Merge remote-tracking branch 'origin/master' into develop 2022-11-15 08:52:19 +00:00
Charly Delay
30b2dbe369 Bastard Keyboards: upstream recent changes (#18903)
* bastardkb: cleanup blackpill configuration

Fixes #17

* bastardkb: fix splinky configuration

The pinout of the splinky changed between the last beta batch, and the
production one. This commit updates the keyboard definition to support
the new pinout by default, while offering backward compatibility.

Define `SPLINKY_BETA_PINOUT` to build the firmware with pre-production
pinout.

Fixes #15

* bastardkb: add support for STeMCell

* Update scylla/tbkmini/skeletyl outdated readmes

* bastardkb/dilemma: enable circular scroll

* bastardkb/dilemma: add initial version of the `via` keymap

* bastardkb/dilemma/assembled: add new keyboard

Fixes #20

* bastardkb/dilemma: remove elite-c

* Initial support for the Dilemma 3x5+3 Assembled RGB

* Address code review comments

* Address more comments

* Address review comments

* Address more nits

* bastardkb: split splinky-based keyboards to distinguish between Splinky v2 and v3 pinout
2022-11-15 08:51:44 +00:00
Drashna Jaelre
1a3f2130d5 Revert "Add pointing device support to data driven config (#18215)" (#19063) 2022-11-15 17:44:09 +11:00
jack
05540eb668 Fixup handwired/alcor_dactyl (#19072) 2022-11-14 15:44:07 +00:00
Drashna Jael're
bed5e1abf5 Merge remote-tracking branch 'origin/master' into develop 2022-11-13 17:51:56 -08:00
Joel Challis
0719d68b20 Add default limit to OLED dirty processing (#19068) 2022-11-14 01:49:58 +00:00
David Hoelscher
a42ab90220 Add Bonsai C4 as a platform board file (#18901)
* Set up Bonsai C4 as a platform board file

* corrections and improvements based on testing and feedback

* Added VBUS sensing as default capability for improved split support using Bonsai C4

* Update clock divisor for SPI flash

Co-authored-by: Nick Brassel <nick@tzarc.org>

Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-11-13 23:59:01 +00:00
jack
7901ba431a Fixup keychron/q6 (#19066) 2022-11-14 09:49:06 +11:00
jack
ee7426e7b1 Fixup day_off (#19067) 2022-11-14 09:48:31 +11:00
jack
a30964b3c5 Add missing manufacturer fields (#19065) 2022-11-14 09:40:51 +11:00
QMK Bot
3bf8e9c9bb Merge remote-tracking branch 'origin/master' into develop 2022-11-13 16:59:11 +00:00
Nick Brassel
3f579c5ef3 Cleanup. (#19061) 2022-11-14 03:58:37 +11:00
Joel Challis
9a488a44f6 Fix up laser_ninja/pumpkin_pad (#19060) 2022-11-14 03:37:07 +11:00
nicknimchuk
c1ef943ce0 Add missing prototype for get_hold_on_other_key_press to resolve #18855 (#19056)
Closes undefined
2022-11-14 03:34:59 +11:00
Nick Brassel
d627609f5e Fixup. (#19059) 2022-11-13 16:31:47 +00:00
Joel Challis
e273df8b93 Fix duplicate key in keyboard.jsonschema (#19058) 2022-11-14 03:31:29 +11:00
QMK Bot
83477bfa0f Merge remote-tracking branch 'origin/master' into develop 2022-11-13 16:07:40 +00:00
Klesh Wong
133fe1c013 fix: mousekey doesn't work with trackpoint (#18474)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-11-14 03:07:08 +11:00
Drashna Jaelre
d3073ef494 Add pointing device support to data driven config (#18215)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-11-14 03:05:46 +11:00
Drashna Jaelre
8812872794 Only trigger encoder callbacks on primary side (#18467)
Co-authored-by: zvecr <git@zvecr.com>
2022-11-14 02:51:19 +11:00
Richard Nash
4c1d8a0eb3 Fix oled_render to render all dirty blocks. (#18887) 2022-11-14 02:49:59 +11:00
QMK Bot
81bf60a636 Merge remote-tracking branch 'origin/master' into develop 2022-11-13 01:13:00 +00:00
lalalademaxiya1
6c4e6a86f7 [Keyboard] Keychron Q6 (#18288)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-12 17:12:20 -08:00
Drashna Jael're
731633e133 Merge remote-tracking branch 'origin/master' into develop 2022-11-12 17:10:04 -08:00
arcmags
2e39647618 [Keyboard] add 60_ansi layout to dz60rgb_ansi rules.mk (#18664) 2022-11-12 17:02:18 -08:00
fgoodwin
f3ea6591db [Keyboard] Add Dactyl Manuform 5x6 with 6 thumb cluster (#18845)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-12 17:01:38 -08:00
Brandon Burgess
d4b6678e99 [Keyboard] Add Dayoff60 (#17640)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2022-11-12 17:00:35 -08:00
Rocco Meli
317b800bbb [Keymap] Update/refactor userspace and add keymaps for rmeli (#18398)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Elliot Powell <johnp8727@gmail.com>
2022-11-12 17:00:13 -08:00
Andrew Kannan
ddcb8dd7ca [Keyboard] Add Serenity PCB (#18705)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-12 16:59:17 -08:00
Ethan Johnston
cd682ad8b7 [Keyboard] Add Handwired alcor dactyl (#18586)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-12 16:58:56 -08:00
Ryan
6cc9513ab0 Digitizer feature improvements (#19034) 2022-11-12 23:28:11 +00:00
jels
b7c6d6d79f [Keyboard] Add pumpkin pad (#18897)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-11-12 14:56:21 -08:00
Ryan
8cecf7fad8 onekey: disable NKRO and mousekeys by default (#19038) 2022-11-12 03:20:44 +00:00
Drashna Jaelre
1caedd10c4 Don't clear keys on layer change unless STRICT_LAYER_RELEASE is enabled (#18577)
* Don't clear mousekeys unless clearing keys

* Revert "Don't clear mousekeys unless clearing keys"

This reverts commit 29a0c06b54.

* Just don't clear anything on layer set

* Fix lint

* Enable test?
2022-11-12 02:11:50 +00:00
Nick Brassel
092228571c Move EFL wear-leveling driver to be default for F1, F3, F4, L4, G4, WB32, GD32V. (#19020) 2022-11-11 23:57:44 +00:00
Eric Gebhart
050472a4d0 Eric Gebhart user space and keymaps (#17487)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-11-11 23:09:41 +00:00
QMK Bot
8c6d2946f7 Merge remote-tracking branch 'origin/master' into develop 2022-11-11 23:08:08 +00:00
IFo Hancroft
49a78b8114 Ifohancroft HotDox76v2 keymap (#19030)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-11-11 23:07:20 +00:00
Ryan
20ed138236 LED config fixes (#18973) 2022-11-11 12:15:19 +11:00
jack
dad5262425 Fixup WS2812 vendor driver (#19028) 2022-11-11 09:38:13 +11:00
jack
159ec766f7 Fixup bn006 on develop (#19029) 2022-11-11 09:37:10 +11:00
QMK Bot
d796a84b72 Merge remote-tracking branch 'origin/master' into develop 2022-11-10 21:53:30 +00:00
Sid Quinsaat
dbd5a1d821 [Keymap] sharkby7e keymap updates (#18906)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-10 13:52:24 -08:00
QMK Bot
bb843d3a1c Merge remote-tracking branch 'origin/master' into develop 2022-11-10 20:42:51 +00:00
QMK Bot
81625e5091 Format code according to conventions (#19026) 2022-11-10 20:42:16 +00:00
QMK Bot
35baf1815c Merge remote-tracking branch 'origin/master' into develop 2022-11-10 20:38:09 +00:00
Synth and Keys
6562c5a940 Adding Synth and Keys' Debit Card (#18995)
* Adding Synth and Keys' Debit Card

Initial Commit

* Add files via upload

* Delete config.h

* Update keyboards/synthandkeys/the_debit_card/info.json

Co-authored-by: Joel Challis <git@zvecr.com>
2022-11-10 20:36:55 +00:00
Joshua Diamond
f6baf916a9 Avoid repeated calls to rgblight_set() in tight succession when setting lighting layers (#18338)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2022-11-10 20:27:40 +11:00
ForsakenRei
bc269702ee KC_GESC -> QK_GESC and better alignment (#19018) 2022-11-10 01:27:09 +00:00
QMK Bot
785e6f5476 Merge remote-tracking branch 'origin/master' into develop 2022-11-09 21:27:12 +00:00
Vino Rodrigues
84920ff5f4 Addition of the Binepad BN006 6-key macropad (#18810) 2022-11-09 21:26:43 +00:00
Stefan Kerkmann
27dec8d16d [Core] Allow custom timings for WS2812 PIO driver (#18006) 2022-11-10 07:58:15 +11:00
Wilba
bc6f8dc8b0 VIA V3 - The Custom UI Update (#18222) 2022-11-10 07:46:44 +11:00
Nick Brassel
575b0e33fa Rollback unrelated changes from previous PR. (#19015) 2022-11-10 07:43:51 +11:00
Christopher Hoage
af52a9f8ad Fix jump in report value when scale changes during cirque get report (#18992)
Fixes undefined
2022-11-09 09:48:46 -08:00
Joel Challis
dc9162438d Reject json with duplicate keys? (#18108) 2022-11-09 15:50:43 +00:00
QMK Bot
293dbfdeff Merge remote-tracking branch 'origin/master' into develop 2022-11-09 14:04:19 +00:00
Ryan
c231c5fa4f bolsa/bolsalice: fix layout (#19009) 2022-11-09 14:03:06 +00:00
Ryan
d789b4b7d9 Improve LED config parsing error messages (#19007) 2022-11-09 14:02:44 +00:00
jack
f7df771e70 Fixup keychron/q1/iso_encoder (#19006) 2022-11-09 06:51:04 +11:00
Ryan
b567622d59 handwired/swiftrax/cowfish: fix layouts (#18984) 2022-11-09 06:11:09 +11:00
Ryan
d810878d5e Normalise output selection (Bluetooth) keycodes (#19004) 2022-11-08 19:03:31 +00:00
QMK Bot
9a0f347a09 Merge remote-tracking branch 'origin/master' into develop 2022-11-08 16:25:44 +00:00
Andrew Kannan
0113550066 [Keyboard] Add Brutal v2 1800 PCB to QMK (#18891)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-08 08:23:37 -08:00
QMK Bot
d0d4ab2531 Merge remote-tracking branch 'origin/master' into develop 2022-11-08 16:22:55 +00:00
QMK Bot
425f906473 Merge remote-tracking branch 'origin/master' into develop 2022-11-08 16:22:40 +00:00
HorrorTroll
421448cd41 [Keyboard] Refactor chinese PCB folder (#18923) 2022-11-08 08:22:38 -08:00
adophoxia
a25e5ce1b3 [Keyboard] Add ISO Encoder variant of Keychron Q1v1 (#18829) 2022-11-08 08:21:51 -08:00
Ryan Anderson
2acb2e696a [Keymap] Add model01 and doio/kb16 keymaps (#18681) 2022-11-08 08:21:35 -08:00
Ryan
d11676566e gboards/gergoplex: fix matrix pins (#18999) 2022-11-08 15:49:50 +00:00
Nick Brassel
9daf77b593 Add raw output option for QGF/QFF files. (#18998) 2022-11-08 15:47:07 +00:00
QMK Bot
bb0856d231 Merge remote-tracking branch 'origin/master' into develop 2022-11-08 04:51:22 +00:00
Kevin Ohlin
a1cc41e1af [Keymap] KO Kyria (#18413)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-07 20:50:41 -08:00
Ryan
4b12bd05ea pizzakeyboards/pizza65: fix layouts (#18979) 2022-11-08 14:25:34 +11:00
Ryan
15143654b9 mechlovin/adelais/standard_led/avr/rev1: fix layout (#18997) 2022-11-08 14:17:46 +11:00
Joel Challis
7666c966d5 Publish hjson files as json (#18996) 2022-11-08 03:03:02 +00:00
Ryan
479d8de622 Format DD mappings and schemas (#18924) 2022-11-08 01:05:08 +00:00
jack
ce80a3ad46 Fixup hotdox76v2 on develop (#18991) 2022-11-08 09:16:05 +11:00
Ryan
4deaa58016 cannonkeys/db60/hotswap: fix layouts (#18982) 2022-11-07 16:16:41 +11:00
Joel Challis
e4d2ba9a4d Align haptic feedback keycode names (#18964) 2022-11-07 02:43:53 +00:00
Ryan
8b658dcc9a Normalise MIDI keycodes (#18972)
* `MI_ON`, `MI_OFF`, `MI_TOG` -> `MI_TOGG`

* `MI_CH*`, `MI_CHU` -> `MI_CHNU`, `MI_CHD` -> `MI_CHND`

* `MI_VEL_*` -> `MI_VL*`, `MI_VELU`, `MI_VELD`

* `MI_TRNS_*` -> `MI_TR*`, `MI_TRNSU` -> `MI_TRSU`, `MI_TRNSD` -> `MI_TRSD`

* `MI_OCT_*` -> `MI_OC*`, `MI_OCTU`, `MI_OCTD`

* Misc controls

* Note keycodes

* Add legacy keycodes

* Regenerate keycodes

* Typo
2022-11-07 02:26:15 +00:00
Joel Challis
442e7653cc Fix use of shifted custom keycode (#18978) 2022-11-06 23:48:31 +00:00
Sergey Vlasov
a7b2f4233c Fix keycode parameter extraction to match the new DD keycodes (#18977)
* Add macros to extract parameters from keycode values

Implement both encoding and decoding for keycodes like TO(layer) or
LM(layer, mod) in one place, so that the decoding won't get out of sync
with the encoding.

While at it, fix some macros for creating keycode values that did not
apply the appropriate masks to parameters (and therefore could allow the
result to be out of range if a wrong parameter was passed).

* keymap_common: Use extraction macros for keycodes

* pointing_device_auto_mouse: Use extraction macros for keycodes

Fixes #18970.

* process_autocorrect: Use extraction macros for keycodes

* process_caps_word: Use extraction macros for keycodes

(Also fix a minor bug - SH_TG was not handled properly)

* process_leader: Use extraction macros for keycodes

(Technically the code is not 100% correct, because it always assumes
that the LT() or MT() action was a tap, but it's a separate issue that
already existed before the keycode changes.)

* process_unicode: Use extraction macros for keycodes

* process_unicodemap: Use extraction macros for keycodes
2022-11-06 21:39:05 +00:00
Ryan
5f9b7c035b handwired/swiftrax/walter: fix layout mismatch (#18974)
* `handwired/swiftrax/walter`: fix layout mismatch

* Undo K4A removal, fix info.json instead
2022-11-06 18:42:59 +00:00
Drashna Jael're
d9e559a78e Merge remote-tracking branch 'origin/master' into develop 2022-11-06 09:05:52 -08:00
Nick Brassel
219afaba42 Reworked backlight keycodes. (#18961)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-06 08:11:59 +11:00
Drashna Jaelre
352beeac2f [Bug] Fix compilation issue with WPM (#18965) 2022-11-05 19:05:01 +00:00
Drashna Jaelre
e3a97eb1c8 [Keyboard] Add Work Louder Numpad (#18912)
* [Keyboard] Add Work Louder Numpad

* Add future proofing for rgb matrix

* Update readme

* fixup copyright headers

* Actually enable via
2022-11-05 17:55:42 +00:00
Joel Challis
69fa02c37d Align audio keycode names (#18962)
* Align audio keycode names

* Update docs

* Update quantum
2022-11-05 17:05:19 +00:00
Joel Challis
fd4c3f46fb Align dynamic tapping term keycode names (#18963)
* Align dynamic tapping term keycode names

* regen header
2022-11-05 16:58:30 +00:00
Nick Brassel
5233c69bc6 Remove thermal printer. (#18959) 2022-11-06 00:15:55 +11:00
Nick Brassel
4d33f356a6 Macro keycode name refactoring (#18958) 2022-11-05 23:22:11 +11:00
Ryan
fe00c80211 Reduce includes for send_string header (#18952) 2022-11-05 21:45:40 +11:00
Joel Challis
a69ab05dd6 Initial DD keycode migration (#18643)
* Initial DD keycode migration

* Sort magic keycodes
2022-11-05 10:30:09 +00:00
Joel Challis
a070c4c501 Remove hardcoded VIA keycode range (#18956) 2022-11-05 08:12:37 +00:00
Ryan
54682f961e Fix "no matrix definition" errors for some boards (#18954) 2022-11-05 02:48:00 +00:00
Nick Brassel
f82e90bdea Formalise keyboard- and user-specific EEPROM blocks (#18874)
* Formalise keyboard and user eeconfig datablocks.

* Add debounce helper that checks a condition and issues post-write function invocation.

* Naming.
2022-11-04 19:20:11 +00:00
Joel Challis
ea98aa8e5e Reduce includes for dip_switch header (#18951) 2022-11-04 11:54:35 +00:00
Ryan
8213eb7fbb Fix DD warnings for RGBKB boards (#18944) 2022-11-04 04:13:26 +00:00
Joel Challis
fb96b88842 Reduce includes for wpm header (#18949) 2022-11-04 00:50:59 +00:00
Joel Challis
1249f74b31 Reduce includes for caps_word header (#18948) 2022-11-03 23:42:58 +00:00
Ryan
fe18df9d41 Normalise Dynamic Macro keycodes (#18939)
* `DYN_REC_START1` -> `QK_DYNAMIC_MACRO_RECORD_START_1`

* `DYN_REC_START2` -> `QK_DYNAMIC_MACRO_RECORD_START_2`

* `DYN_MACRO_PLAY1` -> `QK_DYNAMIC_MACRO_PLAY_1`

* `DYN_MACRO_PLAY2` -> `QK_DYNAMIC_MACRO_PLAY_2`

* `DYN_REC_STOP` -> `QK_DYNAMIC_MACRO_RECORD_STOP`

* Update docs
2022-11-03 23:01:06 +00:00
Joel Challis
3de296f420 Reduce includes for crc header (#18947) 2022-11-03 21:36:58 +00:00
Joel Challis
f11a247127 Reduce includes for sequencer header (#18946) 2022-11-03 20:44:36 +00:00
Ryan
40122c28e0 Resolve info.json/rules.mk feature conflicts in three boards (#18942) 2022-11-03 18:26:18 +00:00
Ryan
db2aa039f1 Remove more UNUSED_PINS defines (#18940) 2022-11-03 17:42:19 +00:00
Drashna Jaelre
7fe76e53c1 [Keyboard] Add hotdox76v2 support (#18680) 2022-11-03 17:40:56 +00:00
Joshua Diamond
5fb80562f1 Fix syntax error introduced in #18800 (#18933) 2022-11-01 21:34:31 +00:00
Joy Lee
9435ad19ee Added analog support for WB32 MCU. (#18289)
Co-authored-by: Joy <chang.li@westberrytech.com>
2022-11-01 15:04:15 +11:00
Drashna Jaelre
ae5f818d5a Simplify Keymap Config EEPROM (#18886)
* Simplify Keymap Config EEPROM

* Decrement eeconfig magic number due to eeconfig changes

* Update quantum/eeconfig.h

Co-authored-by: Joel Challis <git@zvecr.com>
2022-11-01 01:02:43 +00:00
Ryan
7ebc396876 compiler.txt: ensure file exists before comparison (#18921) 2022-11-01 00:35:38 +00:00
Ryan
5974d989fe Normalise Unicode keycodes (#18898)
* `UC_MOD`/`UC_RMOD` -> `UC_NEXT`/`UC_PREV`

* `UNICODE_MODE_*` -> `QK_UNICODE_MODE_*`

* `UC_MAC` -> `UNICODE_MODE_MACOS`

* `UC_LNX` -> `UNICODE_MODE_LINUX`

* `UC_WIN` -> `UNICODE_MODE_WINDOWS`

* `UC_BSD` -> `UNICODE_MODE_BSD`

* `UC_WINC` -> `UNICODE_MODE_WINCOMPOSE`

* `UC_EMACS` -> `UNICODE_MODE_EMACS`

* `UC__COUNT` -> `UNICODE_MODE_COUNT`

* `UC_M_MA` -> `UC_MAC`

* `UC_M_LN` -> `UC_LINX`

* `UC_M_WI` -> `UC_WIN`

* `UC_M_BS` -> `UC_BSD`

* `UC_M_WC` -> `UC_WINC`

* `UC_M_EM` -> `UC_EMAC`

* Docs

* Update quantum/unicode/unicode.h
2022-10-31 21:15:12 +00:00
Joel Challis
96c48a5f4a Refactor to avoid deprecated wmic execution (#18122)
* wmic deprecated?

* Update platforms/avr/flash.mk

* Update platforms/avr/flash.mk
2022-10-31 20:16:43 +00:00
Max Rumpf
a45607f4e6 Phoebe: Add key to print screen (#18856) 2022-10-31 11:03:14 -07:00
James Young
1183704578 Star75 Refactor (#18885) 2022-10-31 11:02:49 -07:00
QMK Bot
743524df32 Merge remote-tracking branch 'origin/master' into develop 2022-10-31 01:57:58 +00:00
Anton Chernenko
652b10e6a7 [Keyboard] Add Hubble keyboard (#18718)
Co-authored-by: Anton Chernenko <anton.chernenko@chaintrust.it>
2022-10-30 18:57:23 -07:00
Ryan
594dcbf66c Properly fix elephant42 (#18908) 2022-10-30 15:34:24 +00:00
QMK Bot
56986e928b Merge remote-tracking branch 'origin/master' into develop 2022-10-30 05:26:59 +00:00
Joel Challis
ac4b3fd1e9 Remove duplicate key in novelkeys/nk65b (#18907) 2022-10-30 05:26:23 +00:00
Joel Challis
c63e2e378d Revert "mcp23018: add return status to init (#18178)" (#18709)
This reverts commit 3fffa51554.
2022-10-29 22:33:47 +01:00
QMK Bot
c78dc85a1a Merge remote-tracking branch 'origin/master' into develop 2022-10-29 20:49:16 +00:00
mechlovin
078a511394 [Keyboard] Update Kay65 LED state (#18895) 2022-10-29 13:48:45 -07:00
fauxpark
9d717c85dc Merge remote-tracking branch 'upstream/master' into develop 2022-10-29 16:54:14 +11:00
Andrew Kannan
e90ff84c31 Add indicator LEDs to hoodrow G PCB (#18888) 2022-10-29 00:55:18 +01:00
Toshihiro Suzuki
bb97a78d3e [Keymap] toshi0383 keymaps update (#18760)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-10-28 12:49:52 -07:00
Alabahuy
bc502348c3 [Keyboard] Add Encoder map support for rart (#18851) 2022-10-28 12:49:01 -07:00
Danny
e31fa77e9b [Keyboard] Add Sinc Rev 1&2 Encoder Map Support (#18861) 2022-10-28 12:27:38 -07:00
Ryan
22be7e79ac Normalise Auto Shift keycodes (#18892)
* Normalise Auto Shift keycodes

* Add keycode table to main list

* Add old keycodes to legacy header
2022-10-28 13:53:15 +01:00
Ryan
2ff1d85290 Normalise Autocorrect keycodes (#18893) 2022-10-28 12:21:24 +01:00
weimao
6514c25ca6 Docs: fix a typo (#18896) 2022-10-28 11:48:08 +01:00
Ryan
7407347be1 Remove rgblight_list.h (#18878)
* Remove rgblight_list defines with no usage

* Remove rgblight_setrgb_*[_at] defines

* Remove rgblight_sethsv_* defines

* Remove rgblight_sethsv_noeeprom_* defines

* Delete rgblight_list.h and remove all references
2022-10-27 23:50:14 +01:00
jack
a96a9fd5f8 Fixup keebio/sinc/rev3 (#18866) 2022-10-27 16:04:33 -04:00
Ryan
7b888fb328 elephant42: fix default keymap (#18884) 2022-10-27 19:34:00 +01:00
Ryan
90f6b75873 Remove KC_DELT (#18882) 2022-10-27 19:33:38 +01:00
Stefan Kerkmann
19145704e4 [Core] Adjust PWM hardware audio driver for RP2040 (#17723) 2022-10-27 19:26:16 +02:00
James Young
84569788d5 MelGeek MJ6XY Refactor (#18862)
* mj6xy.h: convert tabs to spaces

* info.json: convert tabs to spaces

* info.json: apply friendly formatting

Whitespace-only change.

* rename LAYOUT_60_ansi_7u_spc to LAYOUT_60_ansi_tsangan

- rename `60_ansi_7u_spc` keymap to `default_ansi_tsangan`

* add K31 position to LAYOUT_60_iso

* rename LAYOUT_60_iso_7u_spc_split_rshift to LAYOUT_60_iso_tsangan_split_rshift

- rename `60_iso_7u_spc_split_rshift` keymap to `default_iso_tsangan_split_rshift`

* add K31 position to LAYOUT_60_iso_arrow

* add K31 position to LAYOUT_60_iso_arrow_6u_spc

* add K31 position to LAYOUT_60_iso_arrow_3u_spc

* refactor LAYOUT_60_iso_7u_spc into LAYOUT_60_iso_tsangan

- add K31 position to layout macro
- rename `60_iso_7u_spc` keymap to `default_iso_tsangan`

* add K31 position to LAYOUT_64_iso

- rename `64_iso` keymap to `default_64_iso`

* add K31 position to LAYOUT_64_iso_3u_spc

- rename `64_iso_3u_spc` keymap to `default_64_iso_3u_spc`

* add K31 position to LAYOUT_64_iso_split_3u_spc

- rename `64_iso_split_3u_spc` keymap to `default_64_iso_split_3u_spc`

* remove LAYOUT_60_iso_1u_lshift_split_rshift macro and keymap

Functionally identical to `LAYOUT_60_iso_split_rshift`.

* remove LAYOUT_60_iso_1u_lshift_7u_spc_split_rshift macro and keymap

Functionally identical to `LAYOUT_60_iso_tsangan_split_rshift`.

* rename LAYOUT_60_ansi_7u_spc_split_bs to LAYOUT_60_ansi_tsangan_split_bs

- rename `60_ansi_7u_spc_split_bs` keymap to `default_60_ansi_tsangan_split_bs`

* add K31 position to LAYOUT_60_iso_split_bs

* rename LAYOUT_60_iso_7u_spc_split_bs_rshift to LAYOUT_60_iso_tsangan_split_bs_rshift

- rename `60_iso_7u_spc_split_bs_rshift` keymap to `default_60_iso_tsangan_split_bs_rshift`

* add K31 position to LAYOUT_60_iso_arrow_split_bs

* add K31 position to LAYOUT_60_iso_arrow_3u_spc_split_bs

- rename `60_iso_arrow_3u_spc_split_bs` keymap to `default_60_iso_arrow_3u_spc_split_bs`

* add K31 position to LAYOUT_60_iso_arrow_split_bs_3u_spc

- rename `60_iso_arrow_split_bs_3u_spc` keymap to `default_60_iso_arrow_split_bs_3u_spc`

* refactor LAYOUT_60_iso_7u_spc_split_bs into LAYOUT_60_iso_tsangan_split_bs

- add K31 position to layout macro
- rename `60_iso_7u_spc_split_bs` keymap to `default_60_iso_tsangan_split_bs`

* add K31 position to LAYOUT_64_iso_split_bs

- rename `64_iso_split_bs` keymap to `default_64_iso_split_bs`

* add K31 position to LAYOUT_64_iso_3u_spc_split_bs

rename `64_iso_3u_spc_split_bs` keymap to `default_64_iso_3u_spc_split_bs`

* add K31 position to LAYOUT_64_iso_split_bs_3u_spc

- rename `64_iso_split_bs_3u_spc` keymap to `default_64_iso_split_bs_3u_spc`

* remove LAYOUT_60_ansi_arrow_6u_spc macro and keymap

Functionally identical to `LAYOUT_60_ansi_arrow`.

* remove LAYOUT_64_ansi_6u_spc macro and keymap

Functionally identical to `LAYOUT_64_ansi`.

* remove LAYOUT_60_iso_arrow_6u_spc macro and keymap

Functionally identical to `LAYOUT_60_iso_arrow`.

* remove LAYOUT_64_iso_6u_spc macro and keymap

Functionally identical to `LAYOUT_64_iso`.

* remove LAYOUT_60_ansi_arrow_6u_spc_split_bs macro and keymap

Functionally identical to `LAYOUT_60_ansi_arrow_split_bs`.

* remove LAYOUT_64_ansi_6u_spc_split_bs macro and keymap

Functionally identical to `LAYOUT_64_ansi_split_bs`.

* remove LAYOUT_60_iso_arrow_6u_spc_split_bs macro and keymap

Functionally identical to `LAYOUT_60_iso_arrow_split_bs`.

* remove LAYOUT_64_iso_6u_spc_split_bs macro and keymap

Functionally identical to `LAYOUT_64_iso_split_bs`.

* remove LAYOUT_60_iso_1u_lshift_split_bs_rshift macro and keymap

Functionally identical to `LAYOUT_60_iso_split_bs_rshift`.

* remove LAYOUT_60_iso_1u_lshift_7u_spc_split_bs_rshift macro and keymap

Functionally identical to `LAYOUT_60_iso_tsangan_split_bs_rshift`.

* refactor keymaps

- convert tabs to spaces
- update keycode grid alignment

* remove LAYOUT_60_ansi_arrow_3u_spc macro and keymap

Subset of `LAYOUT_60_ansi_arrow_3u_spc_split_bs`.

* remove LAYOUT_60_iso_arrow_3u_spc macro and keymap

Subset of `LAYOUT_60_iso_arrow_3u_spc_split_bs`.

* remove LAYOUT_60_iso_tsangan_split_bs macro and keymap

Subset of `LAYOUT_60_iso_tsangan_split_bs_rshift`.

* remove LAYOUT_60_iso_tsangan_split_rshift macro and keymap

Subset of `LAYOUT_60_iso_tsangan_split_bs_rshift`.

* remove LAYOUT_64_ansi_3u_spc macro and keymap

Subset of `LAYOUT_64_ansi_3u_spc_split_bs`.

* remove LAYOUT_64_iso_3u_spc macro and keymap

Subset of `LAYOUT_64_iso_3u_spc_split_bs`.

* remove LAYOUT_60_iso_split_bs macro and keymap

Subset of `LAYOUT_60_iso_split_bs_rshift`.

* remove LAYOUT_60_iso_split_rshift macro and keymap

Subset of `LAYOUT_60_iso_split_bs_rshift`.

* add LAYOUT_60_ansi_split_bs_rshift macro and keymap

* remove LAYOUT_60_ansi_split_bs macro and keymap

Subset of `LAYOUT_60_ansi_split_bs_rshift`.

* add LAYOUT_60_tsangan_hhkb macro and keymap

* remove LAYOUT_60_ansi_tsangan_split_bs macro and keymap

Subset of `LAYOUT_60_tsangan_hhkb`.

* standardize keymap names

Rename all keymaps per QMK guidelines (e.g. keymap using `LAYOUT_60_ansi_arrow` should be named `default_60_ansi_arrow`).

* add LAYOUT_all; refactor default keymap

Add a `LAYOUT_all` macro, and update the `default` keymap to use the new macro.

* refactor via keymap

Update the `via` keymap to match the behaviour of the `default` keymap.

* improve keyboard readme

- fix broken image reference
- improve grammar on keyboard description
- fix Hardware Availability link
- fix `make` instructions
- add bootloader and flashing instructions

* fix default_60_tsangan_hhkb keymap

Fix a keycode count mismatch.

* mj6xy.h: add matrix diagram

* KC_GESC -> QK_GESC per fauxpark

* KC_SLCK -> KC_SCRL per fauxpark
2022-10-27 09:52:21 -07:00
leah-splitkb
20ce76f48c [Keyboard] Minor Aurora Sweep fixes (#18879)
- Fixes compile error with `SWAP_HANDS_ENABLE = yes`
- Fixes OLED, RGB Matrix, and encoder when using QMK Configurator
2022-10-27 16:01:17 +01:00
Ryan
efe520645e Normalise Combo keycodes (#18877) 2022-10-27 13:59:58 +01:00
Manna Harbour
d8183c5249 [Keymap] Update Miryoku (#18773)
* [miryoku] Revert "[Keymap] manna-harbour_miryoku RESET to QK_BOOT (#18755)"

This reverts commit 89dbc18161.

* [miryoku] Add keyboardio/model01

* [miryoku] Add handwired/dactyl_manuform/4x6

* [miryoku] Update BT keycodes

- Update BT keycodes on Media inner index:
  - Move OUT_AUTO to bottom row
- Move RGB_TOG in vi to pinkie column to match other TOG keycodes, and rotate row

* [miryoku] Add Extra and Tap layers

* [miryoku] Rename config workflow option to custom_config

* [miryoku] Update custom_config.h and custom_rules.mk behaviour

* [miryoku] Make mapping macro customisable globally and per layer

* [miryoku] Add layer lock

* [miryoku] Update RGB order in media-l-invertedt

* [miryoku] Change mouse button order

* [miryoku] Change to X macros for layer list

- Supports adding and removing layers from custom_config.h
- Add "U_" prefix to layer names
- Add layer name strings
- Populate keymaps array from X macro
- Populate layers enum from X macro
- Move layers enum to manna-harbour_miryoku.h
- Rename miryoku_alternatives.h to miryoku_layer_alternatives.h
- Rename miryoku_layer.h to miryoku_layer_selection.h
- Remove miryoku_layer_names.h
- Add miryoku_layer_list.h

* [miryoku] Reformat split_3x6_3 mapping

* [miryoku] Add merge field to workflows

* [miryoku] Update thumb combos with new layer names

* [miryoku] Update cover image

* [miryoku] Add satt/vision

* [miryoku] Update Branches and Building docs

* [miryoku] Update reset keycode

* [miryoku] Add xmk

* [miryoku] Add boardsource/lulu

* [miryoku] Fix keyboardio/model01
2022-10-27 13:50:32 +01:00
Ryan
8436f0dfa6 Add missing Space Cadet alias (#18876) 2022-10-27 13:08:14 +01:00
Ryan
002b58f0e4 Normalise Space Cadet keycodes (#18864) 2022-10-27 11:19:16 +01:00
Seth Barberee
18a70451fd userspace: fix up sethBarberee sinc keymap CI errors (#18865) 2022-10-27 09:57:50 +01:00
Joel Challis
8e0945c822 Fix rgb_matrix_set_flags_noeeprom declaration (#18860) 2022-10-27 09:52:51 +01:00
Nick Brassel
91b1e8a3e5 Allow overriding of dynamic keymap start address. (#18867) 2022-10-27 18:29:26 +11:00
jack
fb8cfe43a3 initial (#18859) 2022-10-27 15:24:13 +11:00
QMK Bot
dfef313587 Merge remote-tracking branch 'origin/master' into develop 2022-10-27 00:17:30 +00:00
ai03
432feecc61 [Keyboard] Add Lunar II (#18827)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: ai03 <sarcaphx510@gmail.com>
2022-10-26 17:16:59 -07:00
QMK Bot
d311d86ddf Merge remote-tracking branch 'origin/master' into develop 2022-10-26 20:44:46 +00:00
Danny
42c240f6cf Add Sinc Rev. 3 (#18846)
* Initial work on adding Sinc Rev. 3

* Add RGB Matrix support

* Add encoder map support

* Set I2C pins

* Update LED locations for right half

* Move USB definitions to info.json

* Update RGB modes

* Replace pin mappings for right half with correct ones

* Move config.h back to rev1/rev2 due to addition of rev3

* Convert initial Rev. 3 config work to be data-driven

* Convert RGB Matrix config to DD format

* More config cleanup

* Use full-duplex PIO

* Add MCU/bootloader settings for Rev. 2

* Change ISO Enter location since it shares location with Backslash

* Adjust build settings to reduce flash/EEPROM usage
2022-10-26 21:44:06 +01:00
jack
d05334cfab Fixup 1upkeyboards/pi60_rgb (#18858) 2022-10-26 21:37:59 +01:00
Selene ToyKeeper
2a61bfc27d add "inertia" mode for mouse keys (#18774)
Co-authored-by: Selene ToyKeeper <git@toykeeper.net>
2022-10-26 20:49:44 +01:00
QMK Bot
4c0c491e31 Merge remote-tracking branch 'origin/master' into develop 2022-10-26 19:41:39 +00:00
Terlekchi Seityagiya
8ea8a4edcb [Keyboard] Kepler 33 (#18771)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-10-26 12:41:30 -07:00
kopibeng
48dc8122e7 [Keyboard] Update MNK65 (#18743)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-10-26 12:41:02 -07:00
Nostril
99d5b5506a [Keymap] Add new IIDX gamepad keymap for Synth Labs Solo (#18741)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-10-26 12:40:44 -07:00
QMK Bot
1d629f75b8 Merge remote-tracking branch 'origin/master' into develop 2022-10-26 19:39:49 +00:00
Vino Rodrigues
e59475992e [Keyboard] Add Binepad BNR1 rotary encoder (#18809)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-10-26 12:39:17 -07:00
QMK Bot
c07614dadf Merge remote-tracking branch 'origin/master' into develop 2022-10-26 19:38:54 +00:00
Markus Korn
e485261e53 [Keymap] gmmk gmmk2 p65: new keymap (#18808)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-10-26 12:38:20 -07:00
QMK Bot
d051528d6c Merge remote-tracking branch 'origin/master' into develop 2022-10-26 18:00:21 +00:00
HorrorTroll
9dec43a0f2 Added new keyboard DOIO KB16 (Rev 2) (#18699) 2022-10-26 18:59:30 +01:00
QMK Bot
23b481ab03 Merge remote-tracking branch 'origin/master' into develop 2022-10-26 17:57:47 +00:00
ziptyze
cd8099539b Addition of pi60_rgb to 1upkeyboards (#18633) 2022-10-26 18:57:11 +01:00
Joel Challis
ec2414c074 Deprecate SECURE_* keycodes for QK_SECURE_* (#18847)
* Deprecate SECURE_* keycodes for QK_SECURE_*

* Update keycode process

* Update process_secure.c

* Apply suggestions from code review

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2022-10-25 22:59:17 +01:00
Ryan
812001de7f Deprecate ONESHOT_* keycodes for QK_ONE_SHOT_* (#18844)
* Deprecate `ONESHOT_*` keycodes for `QK_ONE_SHOT_*`

* Docs
2022-10-25 17:50:22 +01:00
Ryan
1d34f380eb Deprecate KEY_OVERRIDE_* keycodes for KO_* (#18843) 2022-10-25 14:45:57 +01:00
QMK Bot
fccf788285 Merge remote-tracking branch 'origin/master' into develop 2022-10-25 13:45:31 +00:00
Ryan
5d8c8a6f7c Fix splitkb/aurora/sweep (#18839)
* Fix splitkb/aurora/sweep

* Add back layout alias
2022-10-25 14:44:25 +01:00
jack
843680d85b Fixup controllerwords/mini36 (#18840) 2022-10-25 14:41:54 +01:00
jack
51cc4f804e Fixup huytbt/h50 (#18841) 2022-10-25 14:41:21 +01:00
QMK Bot
bfb926f22c Merge remote-tracking branch 'origin/master' into develop 2022-10-25 13:41:20 +00:00
jack
cb960da1f4 Fixup bpiphany/ghost_squid (#18842) 2022-10-25 14:40:40 +01:00
Drashna Jael're
eeb3f9c043 Merge remote-tracking branch 'origin/master' into develop 2022-10-24 23:28:56 -07:00
Dalius Dobravolskas
f100de88e5 Callum style layout improvements and my layout changes (#16174) 2022-10-24 23:23:35 -07:00
jack
e359413501 [Keyboard] Fixup emptystring/nqg (#18804) 2022-10-24 22:52:44 -07:00
syntax-magic
846e9d4c53 [Keymap] Added tap dance to LNG1 key (LNG2) (#18682)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: syntax-magic <dkim.8881@gmail.com>
2022-10-24 22:46:37 -07:00
Joel Challis
4f63be4d1d Remove some assumptions on sequential keycode ranges (#18838) 2022-10-24 22:07:34 -07:00
Andrew Kannan
2dff39720d [Keyboard] Add Ellipse PCB support (#18706)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-10-24 22:05:53 -07:00
Andrew Kannan
d861a35ebf [Keyboard] Add Ellipse hotswap PCB support (#18707)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-10-24 22:05:22 -07:00
Selene ToyKeeper
e863c431f6 added BS_TOGG so BS_SWAP and BS_NORM can be on a single key (#18837)
Co-authored-by: Selene ToyKeeper <git@toykeeper.net>
2022-10-24 22:02:21 -07:00
Joel Challis
67fd4e6b7a [DOCS] Use correct OSM arguments (#18835) 2022-10-24 23:29:23 +01:00
Ryan
a80b886751 Deprecate CAPS_WORD/CAPSWRD for CW_TOGG (#18834) 2022-10-24 17:30:37 +01:00
Peter Hindes
40aa9c8745 spelling fix (#18831) 2022-10-24 17:18:03 +01:00
Ryan
6bbe8b6edd Normalise Joystick and Programmable Button keycodes (#18832) 2022-10-24 15:50:33 +01:00
James Young
51dd63c926 MWStudio MW65 Black Refactor (#18824)
* mw65_black.h: add matrix diagram

* mw65_black.h: fill-in matrix definition

Fill the empty electrical positions with `KC_NO`.

* mw65_black.h: update matrix diagram

* rename LAYOUT to LAYOUT_65_ansi_blocker

* add LAYOUT_65_ansi_blocker_tsangan

* info.json: correct maintainer value
2022-10-23 14:34:42 +01:00
James Young
590ce134b3 Mode SixtyFive HI Layout Refactor (#18823)
* m65hi_alpha.h: add matrix diagram

* rename LAYOUT_all to LAYOUT_65_iso_blocker

* add LAYOUT_65_iso_blocker_tsangan

* tidy-up keymaps

- use four-space indent
- polish keycode grid alignment

* touch-up keymaps

Switch one Page Down keycode for Page Up on the `default` keymap, and switch the Page Down and Page Up keycodes on the `via` keymap.
2022-10-23 14:33:45 +01:00
James Young
64e8441910 Han60 Refactor (#18819)
* info.json: apply friendly formatting

* han60.h: add matrix diagram

* han60.h: tidy file

- remove trailing whitespace
- use four-space indent

* info.json: remove key overlaps from LAYOUT_all rendering

* rename LAYOUT_tsangan to LAYOUT_60_ansi_tsangan

* rename LAYOUT_tsangan_arrowkeys to LAYOUT_60_ansi_arrow_tsangan

* refactor LAYOUT_tsangan_iso into LAYOUT_60_iso_tsangan

Moves position `K2C` (Enter) to the home row.

* refactor LAYOUT_tsangan_iso_arrowkeys into LAYOUT_60_iso_arrow_tsangan

Moves position `K2C` (Enter) to the home row.

* refactor default keymap

- use four-space indent
- use QMK-native keycode aliases
- grid-align keycodes

* bugfix layout macros

* add reference keymaps
2022-10-23 14:33:25 +01:00
James Young
9248a04e17 Studio Kestra Galatea: fix ISO layout macros (#18825)
Switch the matrix positions for `KC_NUHS` and `KC_ENT`.
2022-10-23 14:32:34 +01:00
James Young
ac75d6e4e6 Aurora65: Correct Layout Data (#18826)
* info.json: apply friendly formatting

* info.json: correct layout data
2022-10-23 14:32:10 +01:00
Joel Challis
64ca14feea Fix garbled test output (#18822)
* Fix garbled test output

* Correct SRC listing
2022-10-23 04:30:17 +01:00
James Young
716969a01a Macro3: rename LAYOUT to LAYOUT_ortho_2x4 (#18820) 2022-10-23 00:07:31 +01:00
QMK Bot
1a1a3651d3 Format code according to conventions (#18818) 2022-10-23 00:00:40 +01:00
Huy Ta Ba Thanh
4a9771c0ec Add H50 keyboard from huytbt (#18752)
* Add H50 keyboard from huytbt

Add H50 keyboard

The H50 is a mini keyboard with a 50 percent layout. The keyboard consists of 53 keys.

* Optimize code

* Optimize keymap code

* Optimize code H50 keyboard
2022-10-22 23:59:43 +01:00
Controller Works
9e2a063163 Add mini36 (#18739) 2022-10-22 23:56:38 +01:00
precondition
c012490712 Add unit tests for HOLD_ON_OTHER_KEY_PRESS (#18721)
* Add HOLD_ON_OTHER_KEY_PRESS to data/ files

* Add unit tests for HOLD_ON_OTHER_KEY_PRESS
2022-10-22 23:51:24 +01:00
James Young
69719db6e9 Bathroom Epiphanies Ghost Squid Refactor (#18816)
* refactor default keymap

- shorten layer names
  - KM_QWERTY -> _QW
  - KM_MEDIA -> _MD
  - KM_GUI_LOCK -> _GL
- use QMK-native keycode aliases
- use four-space indent
- grid-align keycodes

* remove third layer from default keymap

The third layer only serves to disable the GUI keys, which we can do with a keycode.

* update default keymap readme

* ghost_squid.h: add matrix diagram

* add LAYOUT_fullsize_ansi

* add LAYOUT_fullsize_iso

* use LAYOUT_fullsize_iso macro in default keymap

Refactor the default keymap to use the new LAYOUT_fullsize_iso macro.

* remove LAYOUT macro

Same matrix as LAYOUT_fullsize_iso, but in a different assignment order.

* enable Community Layout support
2022-10-22 21:48:29 +01:00
James Young
af02e24aa7 MechBrewery MB65S Layout Rework (#18814)
* rename LAYOUT_65_ansi_blocker_tsangan to LAYOUT_65_ansi_blocker_tsangan_split_bs

Layout was implemented with Split Backspace.

* rename LAYOUT_65_iso_blocker_7u_spc to LAYOUT_65_iso_blocker_tsangan_split_bs

* rules.mk: update Community Layout support setting

* mb65s.h: update matrix diagram

* add LAYOUT_65_ansi_blocker

* add LAYOUT_65_iso_blocker

* add LAYOUT_65_ansi_blocker_tsangan

* add LAYOUT_65_iso_blocker_tsangan

* move Community Layout support to info.json

* update Community Layout support
2022-10-22 21:48:13 +01:00
Ryan
74484e21af Deprecate VLK_TOG for VK_TOGG (#18807) 2022-10-22 21:45:20 +01:00
QMK Bot
2e2e7511fd Merge remote-tracking branch 'origin/master' into develop 2022-10-22 20:23:08 +00:00
James Young
cdb04900cd Polyandry: rename LAYOUT to LAYOUT_ortho_4x3 (#18815) 2022-10-22 13:22:29 -07:00
QMK Bot
71480001ea Merge remote-tracking branch 'origin/master' into develop 2022-10-22 19:40:21 +00:00
Eddie Nuno
fc394dfdd4 [Docs] Fix link to keyboard layout editor (#18801) 2022-10-22 12:39:49 -07:00
Joel Challis
575db6949a Generalise CTPC logic from common_features (#18803) 2022-10-22 12:39:39 -07:00
QMK Bot
416c54297e Merge remote-tracking branch 'origin/master' into develop 2022-10-22 18:50:53 +00:00
stanrc85
68e68e7dc2 [Keyboard] Add Bolsalice keyboard (#18772) 2022-10-22 11:50:20 -07:00
Sergey Vlasov
1ea54e5052 ChibiOS USB: Add a dummy IN callback to work around LLD bugs (#18811)
In #18631 some IN notification callbacks that were doing nothing were
removed, which should be a valid thing to do (ChibiOS HAL checks the
`in_cb` and `out_cb` pointers for being non-NULL before invoking those
optional callbacks).  However, it turned out that some less popular USB
LLDs (KINETIS and MIMXRT1062) have their own checks for those pointers,
and (incorrectly) skip the ChibiOS callback handling when those pointers
are NULL, which breaks the code for the `USB_USE_WAIT` configuration
option (the waiting thread never gets resumed if the corresponding
callback pointer is NULL).

Add those dummy callbacks again (but use a single function for all of
them instead of individual ones for each endpoint); this restores the
KINETIS and MIMXRT1062 boards to the working state while the LLDs are
getting fixed.
2022-10-22 18:16:09 +01:00
Joel Challis
428114fac2 Remove broken userspace and keymaps (#18806) 2022-10-22 18:03:33 +01:00
Ryan
4f3af09209 Remove legacy fauxclicky and unicode keycodes (#18800) 2022-10-21 21:43:55 +01:00
Ryan
7cbff9d921 Deprecate KC_LOCK for QK_LOCK (#18796) 2022-10-21 15:46:10 +01:00
Ryan
b33fc34967 Deprecate KC_LEAD for QK_LEAD (#18792) 2022-10-21 14:25:54 +01:00
Selene ToyKeeper
374d5d7480 wilba_tech: allow keymaps to override backlight_effect_indicators() (#18791) 2022-10-21 14:25:01 +01:00
QMK Bot
f97ef22873 Merge remote-tracking branch 'origin/master' into develop 2022-10-21 05:02:49 +00:00
HorrorTroll
bd044ae5ff Update Black E6.5 keymap issues on QMK Configurator (#18794) 2022-10-20 22:02:11 -07:00
QMK Bot
156842bf4f Merge remote-tracking branch 'origin/master' into develop 2022-10-21 03:27:53 +00:00
Alex Berger
5343df09e0 [Keyboard] Fix saka68 solder layout (#18788) 2022-10-20 20:27:20 -07:00
QMK Bot
0ab824e744 Merge remote-tracking branch 'origin/master' into develop 2022-10-21 02:21:39 +00:00
DeskDaily
693303ddbc [Keyboard] Add Octopad+ Keyboard (#18484)
Co-authored-by: Neil Brian Ramirez <nightlyboards@gmail.com>
2022-10-20 19:21:04 -07:00
Joel Challis
345f19a5d7 Add converter support to keymap.json (#18776) 2022-10-20 18:21:17 -07:00
QMK Bot
6e55aa42fa Merge remote-tracking branch 'origin/master' into develop 2022-10-21 01:20:56 +00:00
Stefan
2c3859fbf7 Keychron Q3 I2C & CKLED2001 transfer speedup (#18780) 2022-10-20 18:20:47 -07:00
8bits4ever
93a0995e48 A1200 Converter. Small modification on a1200.h file (#18783)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-10-20 18:20:23 -07:00
QMK Bot
b0982f85e0 Merge remote-tracking branch 'origin/master' into develop 2022-10-21 01:17:36 +00:00
James Young
c3b6a4bcb2 Wavtype p01_ultra Touch-Up (#18784) 2022-10-20 18:17:04 -07:00
Ryan
1cb1a5a374 Remove legacy Grave Escape keycodes (#18787) 2022-10-20 18:04:11 -07:00
Jouke Witteveen
d192d70327 Update keyboards readme (#18714) 2022-10-20 17:42:44 -07:00
Joel Challis
08e111758d Remove stale userspace/keymaps (#18700) 2022-10-20 23:15:15 +01:00
QMK Bot
00a4774243 Merge remote-tracking branch 'origin/master' into develop 2022-10-20 21:30:35 +00:00
Markus Fritsche
dbce41cb6b [Docs] Update platformdev_blackpill_f411.md (#18666)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-10-20 14:29:57 -07:00
Thomas Kriechbaumer
c4f99f06ab ws2812: replace RGBLED_NUM with driver-owned constant to decouple driver from RGBLEDs/RGBMATRIX defines (#18036) 2022-10-21 08:17:51 +11:00
Ryan
a7d6643e3d Fix build failures uncovered by #18753 (#18789) 2022-10-21 07:28:18 +11:00
Ryan
af678521c1 Remove quantum/audio from global VPATH (#18753) 2022-10-20 14:41:45 +01:00
Joel Challis
0b41c13509 [CLI] Ensure consistent clean behaviour (#18781) 2022-10-20 14:35:27 +01:00
Ryan
c347e732be Remove legacy EEPROM clear keycodes (#18782)
* `EEP_RST` -> `EE_CLR`, default-ish keymaps

* `EEP_RST` -> `EE_CLR`, user keymaps

* `EEP_RST` -> `EE_CLR`, community layouts

* `EEP_RST` -> `EE_CLR`, userspace

* `EEP_RST` -> `EE_CLR`, docs & core
2022-10-20 12:20:07 +01:00
QMK Bot
35f1cd0ec4 Merge remote-tracking branch 'origin/master' into develop 2022-10-20 07:53:11 +00:00
Wolf Van Herreweghe
d13f5f0d66 [Keyboard] Fix LEDs being inverted on Sabre (#18762) 2022-10-20 00:52:38 -07:00
QMK Bot
053153ceb5 Merge remote-tracking branch 'origin/master' into develop 2022-10-20 07:42:13 +00:00
James Young
1b107baf56 Wilba Tech WT65-D Layout Additions (#18779) 2022-10-20 00:41:40 -07:00
Drashna Jael're
f1a9259ac9 Merge remote-tracking branch 'origin/master' into develop 2022-10-20 00:38:14 -07:00
James Young
ada77ac291 Ano Layout Refactor (#18778)
* info.json: apply friendly formatting

* info.json: remove dead space in Configurator rendering

* physically arrange layout macro

* info.json: correct Configurator key sequence
2022-10-19 17:49:37 -07:00
QMK Bot
089df34e9e Merge remote-tracking branch 'origin/master' into develop 2022-10-19 20:59:21 +00:00
James Young
04e51d7aa8 Delikeeb Vaneela Configurator Fix (#18777)
* info.json: fix layout reference

`LAYOUT` -> `LAYOUT_ortho_5x12`

* info.json: apply friendly formatting

* info.json: correct maintainer value
2022-10-19 21:58:47 +01:00
Joel Challis
aa8e0a3e7a Build correctly when out of tree (#18775) 2022-10-19 17:43:25 +01:00
Ryan
18dc851e37 Remove legacy Debug keycode (#18769)
* `DEBUG` -> `DB_TOGG`, default-ish keymaps

* `DEBUG` -> `DB_TOGG`, user keymaps

* `DEBUG` -> `DB_TOGG`, community layouts

* `DEBUG` -> `DB_TOGG`, userspace

* `DEBUG` -> `DB_TOGG`, docs & core
2022-10-19 11:33:05 +01:00
Joel Challis
fc0330a54a Correctly build keymap.json containing additional config (#18766) 2022-10-19 11:29:44 +01:00
Nick Brassel
f99b9ba270 Widen the ARM Cortex-M family support. Allow USB peripheral change. (#18767) 2022-10-19 17:17:49 +11:00
QMK Bot
d2bc11ca67 Merge remote-tracking branch 'origin/master' into develop 2022-10-19 00:41:02 +00:00
Tyler Thrailkill
0b8fbff1cb Adjust oled gen to fix flashing on timeout (#18747)
Fixes an issue in Ocean Dream that causes flashing after the oled screen
times out and turns off.

This occurs because writing to an OLED screen turns it on as well and we
are both writing then immediately turning the screen off, but only if
the timeout has occurred (no WPM, 30 seconds has passed).
2022-10-19 01:40:26 +01:00
Joshua Diamond
80fdbfce5f A little personal cleanup after #18726 and #18729 (#18734)
* A little cleanup after #18726

* Re-instate RGBLIGHT_EFFECT_STATIC_GRADIENT

* Extend to spin
2022-10-19 00:28:19 +01:00
fauxpark
803d62f78a Merge remote-tracking branch 'upstream/master' into develop 2022-10-18 13:33:37 +11:00
mmccoyd
89dbc18161 [Keymap] manna-harbour_miryoku RESET to QK_BOOT (#18755)
Co-authored-by: mmccoyd <mmccoyd@cs.berkley.edu>
2022-10-18 13:23:21 +11:00
QMK Bot
e59cb51be0 [CI] Format code according to conventions (#18756) 2022-10-18 08:29:19 +11:00
Jamal Bouajjaj
9d4c4ceee1 4 Driver support for IS31FL3737 (#18750)
* Added 4 driver support for the IS31FL3737 LED driver

* Updated docs for IS31FL3737 to support 4 drivers
2022-10-18 08:26:58 +11:00
QMK Bot
ae3825a3bc Merge remote-tracking branch 'origin/master' into develop 2022-10-17 16:14:23 +00:00
jack
5fdb49b5db Fixup handwired/kbod (#18754) 2022-10-17 17:13:40 +01:00
Ryan
bad8c5992b Remove legacy sendstring keycodes (#18749) 2022-10-17 13:45:23 +01:00
QMK Bot
c57330d340 Merge remote-tracking branch 'origin/master' into develop 2022-10-16 20:31:26 +00:00
Nick Brassel
f731e2789f Allow Fedora to update ChibiOS configs. (#18698) 2022-10-17 07:30:49 +11:00
Ryan
74223c34a9 Remove legacy keycodes, part 6 (#18740)
* `KC_RSHIFT` -> `KC_RSFT`

* `KC_RCTRL` -> `KC_RCTL`

* `KC_LSHIFT` -> `KC_LSFT`

* `KC_LCTRL` -> `KC_LCTL`
2022-10-16 14:14:40 +01:00
Nick Brassel
39c22f5cf5 Merge remote-tracking branch 'upstream/master' into develop 2022-10-16 16:08:34 +11:00
Nick Brassel
81988cc032 Slipped through the cracks. (#18742) 2022-10-16 15:58:42 +11:00
Jouke Witteveen
d089af8703 Mark the moonlander keyboard default music map as weak (#18715)
This allows user keymaps to set a different music map.
2022-10-16 03:31:51 +01:00
jack
8464bb91e2 Fixup work_louder/micro VIA keymap (#18738)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-10-15 16:16:17 -07:00
jack
4b5ebb7248 Fixup latinpadble (#18736) 2022-10-15 23:24:26 +01:00
Ryan
5e4b076af3 Remove legacy keycodes, part 5 (#18710)
* `KC_SLCK` -> `KC_SCRL`
* `KC_NLCK` -> `KC_NUM`
2022-10-15 22:29:43 +01:00
QMK Bot
92d7964b28 Merge remote-tracking branch 'origin/master' into develop 2022-10-15 21:27:30 +00:00
James Young
b5e26ccb94 Y&R Studio NZ67v2 Layout Refactor (#18724)
* info.json: apply friendly formatting

* nz67v2.h: use ____ for KC_NO

* nz67v2.h: add matrix diagram

* add LAYOUT_all

Same matrix as `LAYOUT`, but physically arranged to mimic the keyboard layout.

Rotary encoder positions move from the bottom row to the top row.

* refactor keymaps to use LAYOUT_all macro

* info.json: add LAYOUT_all data

* remove LAYOUT macro

Now unused.

* add LAYOUT_65_ansi_blocker

* add LAYOUT_65_ansi_blocker_split_space

* remove dead space from layouts

Remove empty space from `LAYOUT_65_ansi_blocker` and `LAYOUT_65_ansi_blocker_split_space` layouts.
2022-10-15 22:26:56 +01:00
QMK Bot
cbf9907c78 Merge remote-tracking branch 'origin/master' into develop 2022-10-15 21:26:26 +00:00
James Young
679cbb8426 bbrfkr Dynamis Refactor (#18733)
* dynamis.h: use XXX for KC_NO

* dynamis.h: add matrix diagram

* info.json: apply friendly formatting

* refactor keymaps

- use four-space indent
- grid-align keycodes for readability

* info.json: fix LAYOUT_iso key sequence
2022-10-15 22:25:53 +01:00
QMK Bot
3fe9fbf950 Merge remote-tracking branch 'origin/master' into develop 2022-10-15 21:23:33 +00:00
Reibl János Dániel
ccdd28930a fix: Remove OLED support (#18719)
* fix: Remove OLED support

* redundant files

Co-authored-by: zvecr <git@zvecr.com>
2022-10-15 22:22:59 +01:00
precondition
2b24f16779 Update converter/usb_usb keymaps to use LAYOUT_fullsize (#18720) 2022-10-15 22:20:20 +01:00
Jouke Witteveen
2ee573fc5f led_update_kb -> led_update_ports where appropriate (#18716)
Following #14452, less boilerplate is needed to customize indicator led
control.
2022-10-15 15:09:03 -04:00
Drashna Jaelre
ad8630bd72 Remove RGBLIGHT_ANIMATION and clean up effect defines for layouts+users (#18729) 2022-10-15 09:59:31 -07:00
Drashna Jaelre
f0da486fab Remove RGBLIGHT_ANIMATION and clean up effect defines for R-Z (#18728) 2022-10-15 09:55:53 -07:00
Drashna Jaelre
c8e998ccad Remove RGBLIGHT_ANIMATION and clean up effect defines for L-Q (#18727) 2022-10-15 09:55:40 -07:00
Drashna Jaelre
55b9a4d06e Remove RGBLIGHT_ANIMATION and clean up effect defines for G-K (#18726) 2022-10-15 09:55:27 -07:00
Drashna Jaelre
d021bedf50 Remove RGBLIGHT_ANIMTION and clean up effect defines for 0-F (#18725) 2022-10-15 09:55:12 -07:00
Drashna Jaelre
be1c9af209 Update info.json configs to explicitly list RGBLIGHT animations (#18730) 2022-10-15 09:54:52 -07:00
Ryan
19e2dd742b LUFA: Consolidate report sending code (#18629) 2022-10-15 12:53:57 -04:00
QMK Bot
7c0116a3ec Merge remote-tracking branch 'origin/master' into develop 2022-10-15 16:37:02 +00:00
James Young
1e726a13d8 Xelus RS60 Layout Refactor (#18708)
* add matrix diagrams

* add LAYOUT_60_ansi

* add LAYOUT_60_ansi_tsangan

* add LAYOUT_60_tsangan_hhkb

* enable Community Layout support

* enable Community Layout support, phase 2

Remove the `LAYOUTS` rules from the `rules.mk` files, now that the data is in `info.json`.
2022-10-15 09:36:20 -07:00
fauxpark
47f6882157 Merge remote-tracking branch 'upstream/master' into develop 2022-10-15 14:39:36 +11:00
Ryan
f0b2bfd5ca Programmable Button API refactor and improve docs (#18641) 2022-10-15 14:33:24 +11:00
Nick Brassel
19aed5e999 Make QP driver init functions weak. (#18717) 2022-10-14 18:15:02 +01:00
JohSchneider
3fffa51554 mcp23018: add return status to init (#18178) 2022-10-13 18:03:32 -07:00
jack
06a7a1c205 Fixup momoka_ergo (#18704) 2022-10-14 10:07:07 +11:00
QMK Bot
f4f638c160 Merge remote-tracking branch 'origin/master' into develop 2022-10-13 22:29:23 +00:00
jack
78484449e2 Fixup bluebell/swoop (#18703) 2022-10-13 23:28:42 +01:00
QMK Bot
e269db2440 Merge remote-tracking branch 'origin/master' into develop 2022-10-13 22:27:39 +00:00
dependabot[bot]
dcc0c3f350 Bump JamesIves/github-pages-deploy-action from 4.4.0 to 4.4.1 (#18702)
Bumps [JamesIves/github-pages-deploy-action](https://github.com/JamesIves/github-pages-deploy-action) from 4.4.0 to 4.4.1.
- [Release notes](https://github.com/JamesIves/github-pages-deploy-action/releases)
- [Commits](https://github.com/JamesIves/github-pages-deploy-action/compare/v4.4.0...v4.4.1)

---
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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-13 23:27:03 +01:00
QMK Bot
d66e5c6ea2 Merge remote-tracking branch 'origin/master' into develop 2022-10-13 19:35:10 +00:00
arnstadm
ca7cfff7c5 add akb/vero (#18652) 2022-10-13 20:34:35 +01:00
Joel Challis
17f679ea2a Fix aurora/sweep (#18701) 2022-10-13 20:31:58 +01:00
QMK Bot
d89f7f02b0 Merge remote-tracking branch 'origin/master' into develop 2022-10-13 19:02:55 +00:00
Paula Isabel
a3f9992cc9 docs: fix typos (#18671) 2022-10-13 20:02:15 +01:00
QMK Bot
676368be67 Merge remote-tracking branch 'origin/master' into develop 2022-10-13 18:56:59 +00:00
Kevin Boss
2762b458fc Add momoka ergo via support (#18678) 2022-10-13 19:56:24 +01:00
QMK Bot
53ca8a12cd Merge remote-tracking branch 'origin/master' into develop 2022-10-13 18:44:22 +00:00
Duccio
4a30ea6a18 Add Swoop keyboard (#18436) 2022-10-13 19:43:03 +01:00
Ryan
5629ba1807 Remove legacy keycodes, part 4 (#18683)
* `KC_PGDOWN` -> `KC_PGDN`

* `KC_PSCREEN` -> `KC_PSCR`

* `KC_SCOLON` -> `KC_SCLN`

* `KC_BSLASH` -> `KC_BSLS`

* `KC_BSPACE` -> `KC_BSPC`
2022-10-13 18:28:14 +01:00
jack
474c0bc8a2 Fixup dumbpad/v3x (#18692) 2022-10-13 18:26:42 +01:00
QMK Bot
6829476fb7 Merge remote-tracking branch 'origin/master' into develop 2022-10-13 10:53:59 +00:00
lalalademaxiya1
f50ba3b031 Update info.json of Q3 ISO with Encoder (#18697)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-13 21:53:16 +11:00
QMK Bot
9227c04a8d Merge remote-tracking branch 'origin/master' into develop 2022-10-13 07:15:38 +00:00
Wilba
4a74e3d02d Fix Caps Lock indicators on Wilba Tech PCBs (#18695) 2022-10-13 18:14:58 +11:00
QMK Bot
6a363fbb5b Merge remote-tracking branch 'origin/master' into develop 2022-10-13 07:13:51 +00:00
James Young
d5b9081864 Keychron Q3 Layout Touch-Up (#18696) 2022-10-13 18:13:16 +11:00
Joel Challis
a9e5e23063 Remove keymaps that still reference legacy macros (#18693) 2022-10-13 14:17:20 +11:00
jack
3f4fd85dc7 Fixup keychron/q3 (#18687)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-10-13 14:09:10 +11:00
QMK Bot
563a59d3c7 Merge remote-tracking branch 'origin/master' into develop 2022-10-13 03:06:56 +00:00
leah-splitkb
a8df5fd303 [Keyboard] Add splitkb.com's Aurora Sweep (#18691) 2022-10-13 14:06:18 +11:00
Joel Challis
14b522bb34 Remove keymaps that still reference legacy macros (#18690) 2022-10-13 02:22:16 +01:00
Ryan
2078a56369 Fix joystick functionality for ChibiOS and OTG (Blackpill) (#18631)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2022-10-13 10:28:49 +11:00
jack
cd5b2e84f5 Fixup handwired/jopr — remove deprecated keycode (#18668) 2022-10-13 10:18:33 +11:00
QMK Bot
ba69536f9a Merge remote-tracking branch 'origin/master' into develop 2022-10-12 23:18:19 +00:00
James Young
a195f78200 Vertex ARC60 Layout Refactor (#18670) 2022-10-13 10:17:35 +11:00
QMK Bot
f693f1d9c5 Merge remote-tracking branch 'origin/master' into develop 2022-10-12 23:12:30 +00:00
Alex Ong
80894f5c44 Quefrency xeal (#18657) 2022-10-13 10:12:06 +11:00
James Young
f5ac3ecaa7 Viendi 8L Layout Refactor (#18677) 2022-10-13 10:11:48 +11:00
QMK Bot
9d9c51f8ab Merge remote-tracking branch 'origin/master' into develop 2022-10-12 22:19:45 +00:00
Dicko
29169243a7 [Keyboard] Support for dumbpad_v3x (#18663)
* feat: support for dumbpad_v3x

- all credit goes to
- ref: https://github.com/qmk/qmk_firmware/pull/16285

- included comment from noroadsleft
- ref: https://github.com/qmk/qmk_firmware/pull/16285#pullrequestreview-1038213899

* fix: add newline on every .c, .h, .mk files end

* feat: response to change https://github.com/qmk/qmk_firmware/pull/18663#discussion_r991515821

* feat: response to change https://github.com/qmk/qmk_firmware/pull/18663#discussion_r991516192
2022-10-12 15:19:07 -07:00
QMK Bot
e93dc66733 Merge remote-tracking branch 'origin/master' into develop 2022-10-12 21:41:29 +00:00
Joel Challis
4dec07741b Remove unused LED_INDICATORS constant (#18686) 2022-10-12 22:40:53 +01:00
Joel Challis
fb2c7da2fd Remove some .gitignore files (#18689) 2022-10-13 08:36:51 +11:00
QMK Bot
a751565468 Merge remote-tracking branch 'origin/master' into develop 2022-10-12 18:34:25 +00:00
lalalademaxiya1
cf749f2dd0 Keychron q3 (#16912)
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: Nick Brassel <nick@tzarc.org>
Co-authored-by: Cesar Rojas <cesar.fieoner@gmail.com>
Co-authored-by: lokher <lokher@gmail.com>
Co-authored-by: Adam Karim <adam@akarsoft.com>
Co-authored-by: bootstrapper <ido.samuelson@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-13 05:33:44 +11:00
QMK Bot
2acba48623 Merge remote-tracking branch 'origin/master' into develop 2022-10-12 12:20:57 +00:00
Alex Ong
edef8d2a84 Remove xealousbrown keyboard (#18658)
Co-authored-by: alexo <alex-ong>
2022-10-12 13:20:16 +01:00
James Thomson
41159326ca Fix boundary in RGB_MATRIX_INDICATOR_SET_COLOR (#18650) 2022-10-11 11:33:02 -07:00
QMK Bot
6af7d9fa73 Merge remote-tracking branch 'origin/master' into develop 2022-10-11 13:23:28 +00:00
4pplet
868c7b5293 Bugfix waffling60 rev d solder (#18673) 2022-10-11 14:22:43 +01:00
Ryan
e96d829724 Remove legacy keycodes, part 3 (#18669)
* `KC__VOLDOWN` -> `KC_VOLD`

* `KC__VOLUP` -> `KC_VOLU`

* `KC__MUTE` -> `KC_MUTE`

* `KC_POWER` -> `KC_PWR`
2022-10-11 14:21:47 +01:00
precondition
17ada03243 Update snowe's KC_RESET to use QK_BOOT (#18667) 2022-10-11 10:27:21 +11:00
Ryan
c6f1b594a2 Remove legacy keycodes, part 2 (#18660)
* `KC_SYSREQ` -> `KC_SYRQ`

And one `KC_ALT_ERASE` -> `KC_ERAS`

* `KC_NONUS_BSLASH` -> `KC_NUBS`

* `KC_NUMLOCK` -> `KC_NUM`

* `KC_CLCK` -> `KC_CAPS`

* `KC_SCROLLLOCK` -> `KC_SCRL`

* `KC_LBRACKET` -> `KC_LBRC`

* `KC_RBRACKET` -> `KC_RBRC`

* `KC_CAPSLOCK` -> `KC_CAPS`
2022-10-10 20:06:26 +01:00
QMK Bot
c87bc92908 Merge remote-tracking branch 'origin/master' into develop 2022-10-10 08:38:04 +00:00
Andy Tsai
46fe3b0cf5 [Keyboard] Add hardwareabstraction/handwire Board (#18504)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Tom Barnes <barnestom@me.com>
2022-10-10 09:37:25 +01:00
QMK Bot
d115bcb69e Merge remote-tracking branch 'origin/master' into develop 2022-10-10 08:09:55 +00:00
James Young
2dadbbf04d Vertex AngleR2 Layout Refactor (#18661) 2022-10-10 01:09:15 -07:00
QMK Bot
aab2bad089 Merge remote-tracking branch 'origin/master' into develop 2022-10-10 08:05:15 +00:00
Artjoms Rizihs
cd4a265560 [Keyboard][Keymap] Fix random keys being sent on Mac + userspace changes (#15648)
* qmk art 2020+

* fix compilation

* remove functions. translation matrix

* fix edgecases

* whitespace

* fix memory oddity changing the keymap with every string print

* return edge cases

* support workman layout for git strings

* subm

* secrets

* fix git ignore

* rename var

* workman HW feature toggle

* remember lenght for inserting secrets

* blink leds on secret finish

* 75:fix LEDs not reflecting state on boot

* move common led functions to user file

* move common led funcs to separate file

* move funcs file to separate folder

* capsword

* move string functions to a separate file

* consolidate led funcs

* tidy up variables

* email

* fix printing random keys on Mac + temp disable dynamic macro

* make switch lang shortcut configurable

* revert ergodone behaviour

* move git ignore to userspace folder

* ergodone clean up + saving space

* navigation combos

* shift caps always turns on caps lock. more combos

* convert led funcs into header file

* convert string funcs into header file

* fix compilation for split75

* remove git cherry pick

* update legal headers

* more legal headers

* home row macros

* refactor combo names

* redo combos for homerow + f10 11 12

* custom strings implementation (like secrets)

* ergodone: more consistent f keys

* tweak left right combos to minimise typing interference

* ctr z shortcut

* ergodone: move del to a more convenient key

* rename secrets file to a shorter length

* ergodone tweaks

* fix after merge

* removed included .c files

* Update keyboards/ktec/ergodone/keymaps/art/user_config.c.example

* Update keyboards/mt/split75/keymaps/art/user_config.c.example

* Update users/art/secr.h.example

* Update users/art/custom_definitions.h.example

* Update users/art/art_user_config.h.example

* Update users/art/art.h
2022-10-10 01:04:30 -07:00
jack
9f5806781c Remove lingering DRIVER_LED_TOTAL references (#18662) 2022-10-10 01:03:19 -07:00
QMK Bot
7ac159cd4f Merge remote-tracking branch 'origin/master' into develop 2022-10-10 03:17:56 +00:00
Vino Rodrigues
7aab5e4d89 [Keyboard] New IDOBAO ID61 (a.k.a. Denwir D60) (#17362)
* initial upload

* adjust keymap

* Delete config.h

* Update post.rules.mk

* remapped to correct pins

* add idobao keymap

* disable underglow

* minor fix

* right menu on windows

* imgur

* ID61_process_special_k() function

* KC_APP fix

* Update keymap.c

* pre-pr touchups

* enum layouts

* review changes recommended by tzarc

* refactor special keys to common lib

* rename layout and add info.json labels

* account for 15 possible USER keys

* post drashna review

* Fn Arrow keys added

* post review edits

* use bitmask instead of bool array in specialk.c

* move to community layout
2022-10-09 20:17:21 -07:00
QMK Bot
4bf34ce5d7 Merge remote-tracking branch 'origin/master' into develop 2022-10-10 02:29:02 +00:00
Leon Anavi
a3d2c89c4c [Keyboard] Add ANAVI Macro Pad 10 (#18620) 2022-10-09 19:28:19 -07:00
Joel Challis
9d43cc319c Fix mouse use within send_string (#18659) 2022-10-09 18:00:26 -07:00
nezumee
d6d6cdcb4f Make MIDI output endpoint use the out direction (#18654) 2022-10-09 21:08:27 +01:00
jack
219c18703e twig50 - Remove deprecated keycodes (#18651) 2022-10-09 20:53:27 +01:00
Ryan
4b2d71de52 Remove legacy international keycodes (#18588) 2022-10-09 14:51:09 +11:00
Joel Challis
48093000e1 Various keyboard fixes (#18649) 2022-10-09 09:30:51 +11:00
jpe230
85dc473faa AnnePro2: Adjust RGB flushing (#18640) 2022-10-08 22:04:16 +01:00
jpe230
86938fd958 Allow QK_MAKE to work with converters (#18637) 2022-10-08 09:13:58 -07:00
QMK Bot
7a1517b6d4 Merge remote-tracking branch 'origin/master' into develop 2022-10-08 04:53:26 +00:00
Nick Brassel
7b3ad56f13 Fix future naming collisions. (#18645) 2022-10-08 15:52:38 +11:00
QMK Bot
010ed2e132 Merge remote-tracking branch 'origin/master' into develop 2022-10-08 02:04:49 +00:00
James Young
52a5949917 Synth Labs Solo Configurator Fixes (#18642)
* info.json: apply friendly formatting

- four-space indent
- line breaks between physical rows

* info.json: fix key sequence

* info.json: fix layout macro reference

The macro `LAYOUT` doesn't exist - this data should reference `LAYOUT_all`.

* info.json: add LAYOUT_left data

* info.json: add LAYOUT_right data

* info.json: correct LAYOUT_right key sequence and positioning
2022-10-08 03:04:07 +01:00
Joel Challis
f090cfe75c Relocate US ANSI shifted keycode aliases (#18634) 2022-10-07 23:36:38 +01:00
Giuseppe Rota
9e1ff0e6b9 fix typo in solenoid.h (#18635) 2022-10-07 22:16:31 +01:00
QMK Bot
c1e05b14d5 Merge remote-tracking branch 'origin/master' into develop 2022-10-07 19:31:00 +00:00
jpe230
5d7e19209e Update CRKBD keymap (#18619) 2022-10-07 20:30:19 +01:00
Andre Brait
150572da44 [Keymap] update andrebrait GMMK Pro keymap (#18608) 2022-10-07 11:14:29 -07:00
QMK Bot
111dcdf713 Merge remote-tracking branch 'origin/master' into develop 2022-10-07 08:09:15 +00:00
jack
de2c81d5b2 Remove all BACKLIGHT_LEVELS 0 (#18630) 2022-10-07 09:07:56 +01:00
QMK Bot
564589a006 Merge remote-tracking branch 'origin/master' into develop 2022-10-07 05:59:12 +00:00
Less/Rikki
a8d6b37fac DD mappings for build.debounce_type and backlight.levels (#18628) 2022-10-06 22:58:13 -07:00
QMK Bot
7c4a012509 Merge remote-tracking branch 'origin/master' into develop 2022-10-07 05:33:01 +00:00
adophoxia
ca2f9e4c8f Add encoder map support for Keychron Q1v1 and Q2 (#18598) 2022-10-06 22:32:19 -07:00
QMK Bot
c9d66bee70 Merge remote-tracking branch 'origin/master' into develop 2022-10-07 05:30:57 +00:00
James Young
1a9058b2d1 Studio Kestra Nascent Refactor (#18625) 2022-10-06 22:30:09 -07:00
QMK Bot
7b57bfe083 Merge remote-tracking branch 'origin/master' into develop 2022-10-07 02:55:33 +00:00
tarneo
a000ea11f7 [Keyboard] Add supersplit (#18611)
Co-authored-by: tarneo <tarneo@tarneo.fr>
2022-10-06 19:54:50 -07:00
Ryan
6dbbeea46a Refactor send_extra (#18615) 2022-10-06 19:35:01 -07:00
Thomas Weißschuh
cbe1c22d46 quantum: led: split out led_update_ports() for customization of led behaviour (#14452) 2022-10-06 21:24:41 +11:00
Dasky
c255174cf3 Implement split comms watchdog (#18599) 2022-10-06 20:52:42 +11:00
QMK Bot
a9414f4840 Merge remote-tracking branch 'origin/master' into develop 2022-10-06 01:01:47 +00:00
4pplet
b820c6db2d [Keyboard] Add waffling80 Rev B (#18603)
Co-authored-by: 4pplet <4pplet@protonmail.com>
Co-authored-by: 4pplet <stefan.ess@gmail.com>
2022-10-05 18:01:09 -07:00
Joel Challis
c59df9a54c Fix some rp2040 hardware ID errors (#18617) 2022-10-06 00:36:48 +01:00
Dasky
ab4cf9a7c1 Fix compilation of 1upkeyboards on develop (#18618) 2022-10-06 00:36:06 +01:00
QMK Bot
b3b7d601cd Merge remote-tracking branch 'origin/master' into develop 2022-10-05 23:00:41 +00:00
peepeetee
316edfd297 Enable mouse keys for momokai tap_trio (#18614) 2022-10-06 00:00:08 +01:00
QMK Bot
397c822e42 Merge remote-tracking branch 'origin/master' into develop 2022-10-05 22:38:06 +00:00
Leon Anavi
2f559c0313 [Keyboard] adafruit/macropad: Fix typo (#18616) 2022-10-05 15:37:22 -07:00
QMK Bot
18a9fdb9dc Merge remote-tracking branch 'origin/master' into develop 2022-10-05 21:52:53 +00:00
ziptyze
6313258f23 Product changes to 1up lineup (#18382) 2022-10-05 22:52:18 +01:00
Joel Challis
f120b39fb0 Update ChibiOS hardware ID (#18613) 2022-10-05 21:20:09 +01:00
QMK Bot
7f43e3ba19 Merge remote-tracking branch 'origin/master' into develop 2022-10-05 19:20:23 +00:00
precondition
248f98bdad width:2 → height:2 for spacetime thumb keys (#18605) 2022-10-05 20:19:45 +01:00
fauxpark
4d0177cd2a Merge remote-tracking branch 'upstream/master' into develop 2022-10-06 04:47:34 +11:00
adophoxia
fe6f707a85 [Keyboard] Add encoder map support for GMMK Pro (#18600) 2022-10-05 10:42:21 -07:00
precondition
49030e3e5b Use get_u16_str instead of snprintf in autoshift_timer_report (#18606) 2022-10-05 10:42:05 -07:00
QMK Bot
7a84a7458c Merge remote-tracking branch 'origin/master' into develop 2022-10-05 17:30:53 +00:00
4pplet
44aad7b92b [Keyboard] Add waffling60 Rev D ANSI Hotswap (#18579)
Co-authored-by: 4pplet <4pplet@protonmail.com>
Co-authored-by: 4pplet <stefan.ess@gmail.com>
2022-10-05 10:30:41 -07:00
4pplet
e7d5a6e490 [Keyboard] Add waffling60 Rev D Solder (#18580)
Co-authored-by: 4pplet <4pplet@protonmail.com>
Co-authored-by: 4pplet <stefan.ess@gmail.com>
2022-10-05 10:30:03 -07:00
Brian Choromanski
f7785223e5 Added new issue template for "Other issues" (#18578) 2022-10-05 10:29:43 -07:00
Stefan Kerkmann
c76d2074b6 [Bug] Fix ST7565 handler deadlock (#18609) 2022-10-05 19:22:57 +02:00
QMK Bot
86ce1d4b04 Merge remote-tracking branch 'origin/master' into develop 2022-10-05 16:55:12 +00:00
George Rodrigues
959f4cbb62 docs: some typos (#18582)
probably hacktoberism
2022-10-05 17:32:07 +01:00
Ryan
d1b6b06202 Remove legacy locking caps/num/scroll keycodes (#18601) 2022-10-05 16:21:40 +01:00
QMK Bot
ee0a2b5d49 Merge remote-tracking branch 'origin/master' into develop 2022-10-05 15:05:04 +00:00
precondition
5f671de13a RESET → QK_BOOT in nyhxis/nfr_70 (#18607) 2022-10-05 16:04:17 +01:00
QMK Bot
d150850397 Merge remote-tracking branch 'origin/master' into develop 2022-10-05 10:36:37 +00:00
Nick Brassel
c1d21de1a2 Fixup builds for mechlovin/infinity87. (#18604) 2022-10-05 21:35:56 +11:00
QMK Bot
85f87d1a02 Merge remote-tracking branch 'origin/master' into develop 2022-10-05 10:00:10 +00:00
Klesh Wong
164d2f36d1 fix: ps2_interrupt.c failed to compile (#18597) 2022-10-05 20:59:28 +11:00
QMK Bot
0c53d6fe4b Merge remote-tracking branch 'origin/master' into develop 2022-10-05 09:52:46 +00:00
Nick Brassel
df7f33582f Add C++ prerequisite for Fedora. (#18602) 2022-10-05 20:52:10 +11:00
QMK Bot
7392c6b255 Merge remote-tracking branch 'origin/master' into develop 2022-10-05 02:35:21 +00:00
Jesper Severinsen
0e81954289 [Keyboard] Add Nyhxis NFR-70 keyboard (#17562)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-10-04 19:34:48 -07:00
QMK Bot
1811ac9a6f Merge remote-tracking branch 'origin/master' into develop 2022-10-05 02:16:50 +00:00
Kim Minjong
b100db1e56 [Docs] Add a note about the print function. (#17737)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-10-04 19:16:11 -07:00
QMK Bot
dd7673f3a7 Merge remote-tracking branch 'origin/master' into develop 2022-10-05 01:40:52 +00:00
nodatk
3f63bbc7d8 [Keyboard] Twig50 (#18085)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-10-04 18:40:18 -07:00
QMK Bot
0d5e0e3b2a Merge remote-tracking branch 'origin/master' into develop 2022-10-05 01:38:10 +00:00
Conor Burns
fe7ac87f18 [Docs] Clarify how to use the bootloader LED for rp2040 (#18585) 2022-10-04 18:37:28 -07:00
jack
bb4740d95b Remove lingering DRIVER_LED_TOTAL references (#18594) 2022-10-05 01:38:19 +01:00
jack
b3211c106c Fixup linworks/fave84h (#18593) 2022-10-05 01:37:50 +01:00
Ryan
4d6fab1cfa onekey: Enable ADC for STM32F072 Discovery (#18592) 2022-10-05 11:36:20 +11:00
Drashna Jaelre
64b1ed4550 Fix Per Key LED Indicator Callbacks (#18450)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-10-04 15:24:22 -07:00
Ryan
09d3e27710 Refactor more host code (programmable button & digitizer) (#18565) 2022-10-05 09:19:12 +11:00
QMK Bot
3168a3c883 Merge remote-tracking branch 'origin/master' into develop 2022-10-04 22:09:32 +00:00
dependabot[bot]
8b824a8029 Bump anothrNick/github-tag-action from 1.51.0 to 1.52.0 (#18590)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-05 09:08:59 +11:00
QMK Bot
46762bb078 Merge remote-tracking branch 'origin/master' into develop 2022-10-04 22:00:46 +00:00
Less/Rikki
d43045e845 define oled_write_ln_P as oled_write_ln for non-AVR MCUs (#18589) 2022-10-05 09:00:01 +11:00
Stefan Kerkmann
7e844a4d55 [Core] RP2040: use built-in integer hardware divider and optimized i64 multiplication (#18464) 2022-10-04 23:43:38 +02:00
Stefan Kerkmann
996a9006d3 [Core] PWM Backlight for RP2040 (#17706) 2022-10-04 23:10:24 +02:00
Stefan Kerkmann
b6ea8837e4 [Bug] RP2040: only clear RX FIFO for serial pio driver clear (#18581) 2022-10-04 19:56:40 +01:00
Stefan Kerkmann
56f7b34289 [Core] rewrite locking in split transaction handlers (#18417) 2022-10-05 05:49:29 +11:00
QMK Bot
89e75f6230 Merge remote-tracking branch 'origin/master' into develop 2022-10-04 02:17:40 +00:00
mmccoyd
78c4907f34 [Docs] Clarify CAPS_WORD behaviors (#18137)
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: mmccoyd <mmccoyd@cs.berkley.edu>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-10-03 19:17:08 -07:00
QMK Bot
42ede46fad Merge remote-tracking branch 'origin/master' into develop 2022-10-04 01:43:30 +00:00
Brian Choromanski
dc52347461 Added new issue templates for feature requests and bug reports (#18576)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-10-04 12:42:56 +11:00
QMK Bot
eada9ba7db Merge remote-tracking branch 'origin/master' into develop 2022-10-03 21:52:36 +00:00
dependabot[bot]
88046b3ebf Bump anothrNick/github-tag-action from 1.50.0 to 1.51.0 (#18575)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-04 08:51:57 +11:00
Stefan Kerkmann
976f454df0 [Bug] Update ChibiOS-Contrib for USB IRQ and bus handling fixes (#18574) 2022-10-03 18:57:13 +01:00
Stefan Kerkmann
6bbcabe0cc [Core] Serial-protocol: always clear receive queue on main half of split keyboard (#18419) 2022-10-03 18:23:45 +02:00
Sergey Vlasov
ca0c12847a Fix layer switching from tap dances by redoing the keymap lookup (#17935) 2022-10-03 20:48:16 +11:00
QMK Bot
0e6f191436 Merge remote-tracking branch 'origin/master' into develop 2022-10-03 07:42:01 +00:00
Johns
1d194ac60f Adds Anne Pro 2 c18 ISO variant support (#18154) 2022-10-03 18:41:24 +11:00
Jason Ken Adhinarta
c0e6a28bc6 Prevent tap dance from wiping dynamic macros (#17880) 2022-10-03 18:26:47 +11:00
QMK Bot
de19cb7b22 Merge remote-tracking branch 'origin/master' into develop 2022-10-03 06:36:18 +00:00
Alabahuy
f5e81681cd add rart60 (#18570)
* add rart60
2022-10-03 07:35:43 +01:00
QMK Bot
f5df1b155a Merge remote-tracking branch 'origin/master' into develop 2022-10-03 01:26:40 +00:00
Ryan
cc1565f2a3 :flash: print bootloader (#18569) 2022-10-03 12:26:04 +11:00
QMK Bot
bdffe9efe8 Merge remote-tracking branch 'origin/master' into develop 2022-10-02 20:24:56 +00:00
Nick Brassel
9ecd6eb9b9 Add tzarc/ghoul. (#18562)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-10-03 07:24:22 +11:00
Stefan Kerkmann
6f13a76530 [Core] ChibiOS: Fix USB bus disconnect handling (#18566) 2022-10-02 15:35:33 +02:00
Ryan
c4ff8192c2 Reverse keymap search order (#18449) 2022-10-01 23:36:07 +01:00
QMK Bot
3c9ac5ce58 Merge remote-tracking branch 'origin/master' into develop 2022-10-01 17:57:17 +00:00
Peter Park
2b3f6d0ec6 [Keyboard] Add Uni v4 keyboard (#18280)
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: Peter Park <peter@Peters-MacBook-Air.local>
2022-10-01 10:56:41 -07:00
QMK Bot
38bc9b57b3 Merge remote-tracking branch 'origin/master' into develop 2022-10-01 17:45:24 +00:00
4pplet
0bae3b09a1 [Keyboard] Add waffling60 Rev D ISO Hotswap (#18372)
Co-authored-by: 4pplet <4pplet@protonmail.com>
Co-authored-by: 4pplet <stefan.ess@gmail.com>
2022-10-01 10:44:52 -07:00
Joel Challis
e068f7a8d1 RESET -> QK_BOOT user keymaps (#18560) 2022-10-01 17:47:12 +01:00
QMK Bot
818ef07c24 Merge remote-tracking branch 'origin/master' into develop 2022-10-01 16:21:12 +00:00
Joel Challis
2d25b89d11 Remove more RESET keycode references (#18559) 2022-10-01 17:20:42 +01:00
QMK Bot
2c5ceccc5a Merge remote-tracking branch 'origin/master' into develop 2022-10-01 14:22:06 +00:00
Nick Brassel
059a7fb9b0 Djinn theme, allow force redraws (#18558) 2022-10-01 15:21:22 +01:00
precondition
e78fa1fbf0 Fix comment of CM_QUES (Colemak question mark) (#18557)
`#define CM_QUES S(CM_SLSH) // /` → `#define CM_QUES S(CM_SLSH) // ?`
2022-10-01 01:52:46 -07:00
QMK Bot
f81123469e Merge remote-tracking branch 'origin/master' into develop 2022-10-01 02:55:17 +00:00
Ryan
9f0d9b4fbe onekey: fix quine keymap (#18555) 2022-10-01 12:54:42 +10:00
QMK Bot
165d2e867d Merge remote-tracking branch 'origin/master' into develop 2022-09-30 23:33:56 +00:00
Markus Knutsson
2b33d2c098 [Keyboard] Add Little Big Scroll 4 macropad (#18516)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-30 16:33:09 -07:00
QMK Bot
82a996ad2d Merge remote-tracking branch 'origin/master' into develop 2022-09-30 23:07:56 +00:00
nimishgautam
3db33fba28 [Keymap] corne layout with mac/linux text editing shortcuts (#18374)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-30 16:07:20 -07:00
QMK Bot
305fd1c877 Merge remote-tracking branch 'origin/master' into develop 2022-09-30 22:09:37 +00:00
jack
245f00b4d9 Fixup keebio/sinc (#18551) 2022-09-30 23:08:40 +01:00
jack
d1903f4dd4 Fixup controllerworks/mini42 (#18553)
fix up stuff by waffle
2022-09-30 22:26:40 +01:00
QMK Bot
394ded234f Merge remote-tracking branch 'origin/master' into develop 2022-09-30 20:46:07 +00:00
James Young
dfa5880144 Smith and Rune Iron 165R2 Refactor (#18552)
by noroadsleft
2022-09-30 21:45:21 +01:00
Ryan
2c96c75263 Small un/register_code() cleanups (#18544) 2022-09-30 16:29:24 -04:00
Jouke Witteveen
8bd73d4455 Fix keyboard pet OLED timeout logic (#17189)
The animation itself turns the screen on, preventing the normal timeout
from ever triggering.
2022-09-30 16:24:43 -04:00
QMK Bot
ff1aa6be9a Merge remote-tracking branch 'origin/master' into develop 2022-09-30 20:23:55 +00:00
Forrest Cahoon
5329f2558c Forrcaho foldkb caps lock blink (#17424)
* Add mapping for Keebio FoldKB

* Add (test) macro key; draw box chars around layout

* More programming macro keys added

* Fix stupid bug: return false when key has been handled

* Add mouse layer

* Encoder functions as mouse scroll wheel

* add readme.md for my foldkb layout

* Custom Keebio FoldKB keymap: blink backlight when caps lock is on
2022-09-30 16:23:24 -04:00
QMK Bot
01f5a5ffcd Merge remote-tracking branch 'origin/master' into develop 2022-09-30 20:08:44 +00:00
Pascal J
3b95f97a19 [Keyboard] handwired/tractyl_manuform: Arduino Micro (#17199)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-30 13:08:10 -07:00
QMK Bot
e974ba0c6a Merge remote-tracking branch 'origin/master' into develop 2022-09-30 19:43:08 +00:00
JX
4dfd744e4e [Keyboard] Add nightstar75 (#18546) 2022-09-30 12:42:28 -07:00
Ryan
e0115caab9 onekey: enable ADC for Bluepill and Blackpill (#18545) 2022-09-30 17:14:41 +01:00
QMK Bot
def966cd66 Merge remote-tracking branch 'origin/master' into develop 2022-09-30 06:13:58 +00:00
3araht
10005e9f39 Rotary encoder setting is revised to solve a malfunction. (#18227)
* Rotary encoder setting is revised to solve a mulfunction. UNUSED_PINS deleted.

* Encoder map applied.

* ENCODER_MAP_ENABLE moved to keymap level.

* Settings in rules.mk moved to info.json.

* picture sent to imgur. config.h streamlined.
2022-09-30 07:13:21 +01:00
QMK Bot
660c5f926d Merge remote-tracking branch 'origin/master' into develop 2022-09-30 06:02:57 +00:00
Purdea Andrei
e1e86cb1fb Add Unicomp PC122 keyboard (#18326) 2022-09-30 07:02:24 +01:00
QMK Bot
5aa63ed2cd Merge remote-tracking branch 'origin/master' into develop 2022-09-30 05:56:18 +00:00
Luis Moreno
b77ff4edf4 AceVice One's keymap for Kyria keyboard (#18393) 2022-09-30 06:55:46 +01:00
QMK Bot
012d2f1d77 Merge remote-tracking branch 'origin/master' into develop 2022-09-30 05:49:14 +00:00
Controller Works
043e6e72c0 [Keyboard] Add mini42 (#18491)
Co-authored-by: kevinmgee <kevingee@kevingee.biz>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-30 06:48:41 +01:00
QMK Bot
1a69acd1ad Merge remote-tracking branch 'origin/master' into develop 2022-09-30 05:42:43 +00:00
Ramon Imbao
f3351c6bfb [Keyboard] Add saevus cor (#18368) 2022-09-29 22:42:29 -07:00
Zicodia
cb2a99a415 [Keyboard] Fix tklfrlnrlmlao layout (#18543)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-29 22:42:11 -07:00
QMK Bot
fbf34353d6 Merge remote-tracking branch 'origin/master' into develop 2022-09-30 05:25:28 +00:00
Tom Barnes
454c8c3100 [Keyboard] add Ask55 (#18256)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-29 22:24:41 -07:00
QMK Bot
fa5debe201 Merge remote-tracking branch 'origin/master' into develop 2022-09-30 05:14:22 +00:00
JX
cc8f2c584a [Keyboard] Add yandrstudio/buff67v3 keyboard (#17592)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-29 22:13:49 -07:00
QMK Bot
a330217ccd Merge remote-tracking branch 'origin/master' into develop 2022-09-30 04:28:59 +00:00
James Young
dc7d2692c6 Grammar Fix for PR Checklist (#18540)
* Grammar Fix for PR Checklist

* Update docs/pr_checklist.md

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update docs/pr_checklist.md, take 2

Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-09-30 05:28:12 +01:00
QMK Bot
1f26ec0064 Merge remote-tracking branch 'origin/master' into develop 2022-09-30 03:44:55 +00:00
Joseph Fass
83776b44b3 [Keyboard] Add handwired tkk diodeless keyboard (#18379)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-29 20:44:25 -07:00
Johannes Löthberg
d412dc61ee Remove remaining use of terminal keys and related comment labels (#18402) 2022-09-29 20:42:42 -07:00
QMK Bot
6f979439a1 Merge remote-tracking branch 'origin/master' into develop 2022-09-30 03:29:53 +00:00
Andrew Kannan
be61df0827 [Keyboard] Add Moment Solderable (#18385)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-09-29 20:29:11 -07:00
QMK Bot
848984a772 Merge remote-tracking branch 'origin/master' into develop 2022-09-30 03:02:17 +00:00
Markus Knutsson
dab9edeabb [Keyboard] Add Little Big Scroll 6 macropad (#18510)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-29 20:01:33 -07:00
QMK Bot
a50b18c9aa Merge remote-tracking branch 'origin/master' into develop 2022-09-30 02:57:53 +00:00
JX
2c4fd924c0 [Keyboard] Add EAU87 (#18532) 2022-09-29 19:57:39 -07:00
Nick Brassel
168b69654f Explicitly specify path to RP2040 wear_leveling config file. (#18541) 2022-09-29 19:57:20 -07:00
QMK Bot
c490584961 Merge remote-tracking branch 'origin/master' into develop 2022-09-30 02:57:15 +00:00
jack
917c12d973 [Keyboard] fixup tklfrlnrlmlao (#18539) 2022-09-29 19:56:34 -07:00
QMK Bot
1147053498 Merge remote-tracking branch 'origin/master' into develop 2022-09-30 02:49:37 +00:00
James Young
8f7b382902 P3D Glitch Configurator Fix and Keymap Touch-Up (#18534) 2022-09-29 19:49:05 -07:00
QMK Bot
0a40299b4b Merge remote-tracking branch 'origin/master' into develop 2022-09-30 02:02:10 +00:00
ZyberSE
adcdacf93c [Keymap] Personal user space code and keymaps by ZyBeR (#18512)
Co-authored-by: ZyBeR <n/a>
2022-09-29 19:01:33 -07:00
QMK Bot
eb742d7a3f Merge remote-tracking branch 'origin/master' into develop 2022-09-30 00:57:02 +00:00
James Young
5b2eb4ec85 Plywrks Ahgase Community Layout Support (#18535) 2022-09-29 17:56:34 -07:00
QMK Bot
62a9c7276a Merge remote-tracking branch 'origin/master' into develop 2022-09-30 00:23:37 +00:00
Seth Barberee
26c3e877c7 [Keyboard] Convert most of sinc to data driven info.json (#18481) 2022-09-29 17:23:02 -07:00
QMK Bot
dbb63b380f Merge remote-tracking branch 'origin/master' into develop 2022-09-30 00:11:32 +00:00
Less/Rikki
1dd15a8f22 [Keyboard] tau4 fixup/refactor (#18523) 2022-09-29 17:10:33 -07:00
QMK Bot
2d98485f55 Merge remote-tracking branch 'origin/master' into develop 2022-09-29 23:03:03 +00:00
James Young
96c1ac24ee TKL-FF Community Layout Support (#18538) 2022-09-30 09:02:21 +10:00
QMK Bot
700723e046 Merge remote-tracking branch 'origin/master' into develop 2022-09-29 22:55:58 +00:00
Zicodia
413284a2e8 Fixed layout matrix for TKLFRLNRLMLAO (#18537)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-30 08:55:19 +10:00
QMK Bot
307173d928 Merge remote-tracking branch 'origin/master' into develop 2022-09-29 20:33:01 +00:00
Joe Scotto
43e57ab777 [Keyboard] Add ScottoCMD Keyboard (#18520) 2022-09-29 13:32:27 -07:00
QMK Bot
d44b5b512a Merge remote-tracking branch 'origin/master' into develop 2022-09-29 19:34:39 +00:00
dependabot[bot]
94ec64f91b Bump anothrNick/github-tag-action from 1.49.0 to 1.50.0 (#18536)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-30 05:34:02 +10:00
fauxpark
dbb70871fc Merge remote-tracking branch 'upstream/master' into develop 2022-09-30 05:19:53 +10:00
Ryan
45b5ed5c6e Onekey: migrate some stuff to data driven (#18502) 2022-09-30 04:23:11 +10:00
Drashna Jaelre
dbe214c326 Handle mouse keys more consistently (#18513) 2022-09-29 10:50:47 -07:00
QMK Bot
b53918fbe9 Format code according to conventions (#18533) 2022-09-29 10:47:17 -07:00
James Young
bad8c67189 Neson Design 700E Refactor (#18524) 2022-09-29 10:45:36 -07:00
Ryan
f80058d96e Start Bluetooth API (#18366) 2022-09-29 18:38:09 +01:00
syntax-magic
49128d6b85 Updated documentations. No changes to keymap.c functions. (#18530) 2022-09-29 18:33:23 +01:00
Nick Brassel
cbbb45c13f Start moving towards introspection-based data retrieval (#18441) 2022-09-29 18:25:55 +01:00
Daniel Bast
b51b3681b7 Fix keychron q2 iso default keymaps (#18501) 2022-09-29 13:15:00 -04:00
Less/Rikki
00dc764f72 [docs] Improve documentation regarding info.json (#18508)
* docs: raise info.json awareness

* docs: note that DD migration is WIP
2022-09-29 13:08:45 -04:00
lalalademaxiya1
bfcbcfe3c7 Update q0 for keychron (#18522) 2022-09-29 17:50:47 +01:00
QMK Bot
8349ff1e8b Merge remote-tracking branch 'origin/master' into develop 2022-09-29 16:49:32 +00:00
James Young
14e1886405 novelkeys/nk20: rename LAYOUT_all to LAYOUT (#18525)
This board only supports one layout.
2022-09-29 17:48:44 +01:00
jack
84ef824236 Gentoo install script — build newlib with nano USE flag (#18527) 2022-09-29 17:28:39 +01:00
QMK Bot
3a10514e4f Merge remote-tracking branch 'origin/master' into develop 2022-09-29 15:02:27 +00:00
Markus Knutsson
961de3c205 Update reference_info_json.md (#18518)
* Update reference_info_json.md

* Update docs/reference_info_json.md

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

* Update docs/reference_info_json.md

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

* Update docs/reference_info_json.md

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

* Update docs/reference_info_json.md

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

* Update docs/reference_info_json.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-29 11:01:34 -04:00
QMK Bot
ee588049a9 Merge remote-tracking branch 'origin/master' into develop 2022-09-29 10:51:26 +00:00
DeflateAwning
51f2d27321 Fix typo (#18526) 2022-09-29 11:50:32 +01:00
QMK Bot
0e01759c61 Merge remote-tracking branch 'origin/master' into develop 2022-09-29 08:33:39 +00:00
James Young
eb55551e2d Monoflex 60 Layout Refactor and Touch-Up (#18517) 2022-09-29 01:32:25 -07:00
QMK Bot
30c4529684 Merge remote-tracking branch 'origin/master' into develop 2022-09-29 06:42:10 +00:00
James Young
6b8dfdfca5 Mokey Ibis80 Refactor (#18514) 2022-09-28 23:41:33 -07:00
QMK Bot
59ea8164e3 Merge remote-tracking branch 'origin/master' into develop 2022-09-29 06:32:45 +00:00
James Young
c705f0f85f Mechlovin Zed65 Wearhaus66 Configurator Fixes (#18507) 2022-09-28 23:32:03 -07:00
QMK Bot
a32092e6c3 Merge remote-tracking branch 'origin/master' into develop 2022-09-29 01:03:19 +00:00
dependabot[bot]
c71bc77da1 Bump anothrNick/github-tag-action from 1.46.0 to 1.49.0 (#18515)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-29 11:02:36 +10:00
Joshua Diamond
d2e5e64990 Merge remote-tracking branch 'origin/master' into develop 2022-09-28 16:47:03 -04:00
Mike Ryan
d6f77637c5 [Keyboard] dygma/raise: multiple fixes and improvements (#18361[) 2022-09-28 12:23:42 -07:00
QMK Bot
2079446452 Merge remote-tracking branch 'origin/master' into develop 2022-09-28 19:23:34 +00:00
Alabahuy
d050e689f5 [Keyboard] add rart80 (#18287) 2022-09-28 12:23:17 -07:00
Luis Carlos
269600f640 Update feature_tap_dance.md (#18509)
Fixed typo
2022-09-28 20:22:59 +01:00
QMK Bot
0169a066f8 Merge remote-tracking branch 'origin/master' into develop 2022-09-28 19:22:00 +00:00
Max Renner
7b7255553c [Keymap] Add rennerom planck layout (#17283)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-28 12:21:16 -07:00
QMK Bot
628aef63fe Merge remote-tracking branch 'origin/master' into develop 2022-09-28 19:21:10 +00:00
Felix Jen
6f108642eb [Keyboard] Add KG60 and KG65 (#17565)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-28 12:20:26 -07:00
izmishi
703d8cd417 Fix retain brightness when val is changed while a layer is active (#18426)
* Fix retain brightness when val is changed while a layer is active

* Fix retain brightness for RGBLIGHT_MODE_STATIC_GRADIENT

* Fix formatting
2022-09-28 13:16:24 -04:00
QMK Bot
8d8e70fc3f Merge remote-tracking branch 'origin/master' into develop 2022-09-27 13:52:20 +00:00
Ramon Imbao
63c87f591e Update VID and PID of Abats Keyboard Club Nayeon (#18503) 2022-09-27 14:51:40 +01:00
QMK Bot
baf1847637 Merge remote-tracking branch 'origin/master' into develop 2022-09-27 12:45:21 +00:00
Arturo Avila
848e1ec318 [Keyboard] Updated Kintsugi to support encoder mapping (#18492) 2022-09-27 05:44:41 -07:00
QMK Bot
bb3627dae0 Merge remote-tracking branch 'origin/master' into develop 2022-09-27 12:37:28 +00:00
JX
f8c8005ce1 [Keyboard] Add wave75 (#18490) 2022-09-27 05:36:49 -07:00
QMK Bot
49ac435be1 Merge remote-tracking branch 'origin/master' into develop 2022-09-27 09:17:29 +00:00
James Young
7d0c1332cc Mechlovin Foundation Configurator Cleanup (#18500) 2022-09-27 02:17:08 -07:00
James Young
492c34f8d0 Linworks FAve 87H Layout Refactor (#18497) 2022-09-27 02:16:51 -07:00
James Young
e1980726ba Linworks FAve 84H Layout Refactor (#18496) 2022-09-27 02:16:35 -07:00
Arturo Avila
cad1547ee6 [Keyboard] Add Obi keyboard (#18489) 2022-09-27 02:16:23 -07:00
Zicodia
e021fe90b1 [Keyboard] Add TKLFRLNRLMLAO (#18487)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-27 02:16:03 -07:00
Ryan
be8907d634 Further refactoring of joystick feature (#18437) 2022-09-27 18:37:13 +10:00
Drashna Jaelre
fb400f2ac2 Enabling Pointing Device support in register code functions (#18363) 2022-09-26 20:49:32 -07:00
Drashna Jaelre
d909038b28 Move Oneshot mod callbacks to after mods are set (#18101) 2022-09-26 20:49:15 -07:00
QMK Bot
ce0cd17a13 Merge remote-tracking branch 'origin/master' into develop 2022-09-27 01:54:07 +00:00
James Young
045170a958 Keyten Aperture Community Layout support (#18495)
* rename LAYOUT_all to LAYOUT_65_ansi_blocker_tsangan_split_bs

* enable Community Layouts support

* info.json: format whitespace

- apply four-space indent
- remove trailing whitespace

* info.json: correct maintainer value

Field is intended to reference the maintainer's GitHub username.
2022-09-27 02:53:31 +01:00
QMK Bot
3788d4c879 Merge remote-tracking branch 'origin/master' into develop 2022-09-26 23:44:33 +00:00
James Young
357eeafd39 Keyquest Enclave-1: rename LAYOUT to LAYOUT_ortho_3x3 (#18494)
* rename LAYOUT to LAYOUT_ortho_3x3

* info.json: correct maintainer value

Field is intended to reference the maintainer's GitHub username.
2022-09-27 00:43:33 +01:00
QMK Bot
7113ff3a6a Merge remote-tracking branch 'origin/master' into develop 2022-09-26 06:16:20 +00:00
Drashna Jaelre
b521641c50 [Keyboard] Ploopy Thumb Trackball (#18214)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: ploopyco <git@ploopy.co>
2022-09-25 23:15:50 -07:00
QMK Bot
99d4225135 Merge remote-tracking branch 'origin/master' into develop 2022-09-26 06:14:44 +00:00
Nick Lopez
d98ec93eb8 [Keyboard] Add Osborne 1 handwired keyboard (#18397)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-25 23:14:36 -07:00
zhiquankhor
65d0fef47a [Keymap] Add zq keymap for w1_at (#18479) 2022-09-25 23:13:48 -07:00
QMK Bot
07db8c3813 Merge remote-tracking branch 'origin/master' into develop 2022-09-26 06:12:54 +00:00
Alejandro J
667831daba [Keymap] Add ajarov's crkbd layout (#17479)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-25 23:12:24 -07:00
QMK Bot
6d309e166b Merge remote-tracking branch 'origin/master' into develop 2022-09-26 06:12:09 +00:00
Ben Allen
1b9de35f3a [Keymap] Adding Benrestech keymap for the Crkbd (#18163)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-25 23:11:48 -07:00
JX
e2954cd432 [Keyboard] add yr6095 (#18278) 2022-09-25 23:11:22 -07:00
QMK Bot
247c40544a Merge remote-tracking branch 'origin/master' into develop 2022-09-26 06:01:32 +00:00
Ramon Imbao
7a5a99b6a5 [Keyboard] Add GHS.JEM (#17340)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-25 23:00:59 -07:00
James Young
e64ec530cd Durgod K310/K320 Refactor (#18224) 2022-09-25 22:59:58 -07:00
QMK Bot
1fd8a45dde Merge remote-tracking branch 'origin/master' into develop 2022-09-26 05:51:46 +00:00
JX
995a0077fc [Keyboard] add eau75 (#18173)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-25 22:51:09 -07:00
QMK Bot
e1d63ad0df Merge remote-tracking branch 'origin/master' into develop 2022-09-26 05:42:40 +00:00
Cao Thai Duong
6809f154c9 [Keyboard] Add Handwired 87 keys (#17682)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2022-09-25 22:42:04 -07:00
QMK Bot
77e3f8704a Merge remote-tracking branch 'origin/master' into develop 2022-09-26 04:53:53 +00:00
syntax-magic
04b93bd2a9 [Keymap] Switched keys around in RIGHFN layer and updated indicator lights to green (#18465)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: syntax-magic <dkim.8881@gmail.com>
2022-09-25 21:53:16 -07:00
Ryan
ea2819b2c2 Change {LED,RGB}_DISABLE_TIMEOUT to {LED,RGB}_MATRIX_TIMEOUT (#18415) 2022-09-26 14:40:15 +10:00
QMK Bot
9509dfbe39 Merge remote-tracking branch 'origin/master' into develop 2022-09-26 03:39:18 +00:00
Joe Scotto
fe7ee4961c [Keyboard] Add Scotto9 Macropad (#18452)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-25 20:39:09 -07:00
Daniel Shields
a4dcf22fd7 [Keymap] Tune mod tap configuration for dshields home row mods (#18458) 2022-09-25 20:38:37 -07:00
Ryan
675d91b813 Generate DD RGBLight/LED/RGB Matrix animation defines (#18459) 2022-09-26 01:04:21 +01:00
QMK Bot
5c2b598c42 Merge remote-tracking branch 'origin/master' into develop 2022-09-26 00:00:58 +00:00
jack
82eb98449d Fixup saevus/cor_tkl (#18476) 2022-09-26 01:00:20 +01:00
Drashna Jaelre
5abb125b02 [Keymap] develop updates for Drashna Keymaps (#18472) 2022-09-25 13:04:00 -07:00
QMK Bot
34490f098a Merge remote-tracking branch 'origin/master' into develop 2022-09-25 18:03:54 +00:00
Albert Y
ab58ae582e [Keyboard] Layout matrix correction (#18473) 2022-09-25 19:03:19 +01:00
jack
d84b1d1013 Fixup cradio bootloader/processor (#18477) 2022-09-25 18:56:58 +01:00
QMK Bot
ad586293eb Merge remote-tracking branch 'origin/master' into develop 2022-09-25 12:05:24 +00:00
Nick Brassel
1bdf4cdc22 Fix tzarc/djinn screen geometry. (#18478) 2022-09-25 22:04:52 +10:00
jack
c7a65558ee Remove lingering DRIVER_LED_TOTAL references (#18475) 2022-09-25 19:32:51 +10:00
QMK Bot
d69c7849b0 Merge remote-tracking branch 'origin/master' into develop 2022-09-25 07:55:12 +00:00
Ryan
056d6aee27 Untangle layouts for Dimple rev3 and Infinity87 (#18462) 2022-09-25 17:54:41 +10:00
QMK Bot
cbd6f4fa7f Merge remote-tracking branch 'origin/master' into develop 2022-09-24 19:59:05 +00:00
Drashna Jaelre
431c92893f [Keyboard] Update Work Louder VIA layouts (#18470)
* [Keyboard] Fix Encoder Maps for Work Louder Boards

* Fix via keymap for work board

* Cleanup
2022-09-24 20:58:10 +01:00
Drashna Jael're
8478e96de6 Merge remote-tracking branch 'origin/master' into develop 2022-09-24 12:23:36 -07:00
Joe Scotto
e88f0adcae [Keyboard] Add Scotto36 Keyboard (#18446) 2022-09-24 11:56:06 -07:00
adophoxia
7caf0b1ab8 [Keyboard] Add Keychron Q0 (#18348) 2022-09-24 11:53:22 -07:00
Ramon Imbao
dfa6fd4b2a [Keyboard] Add Plywrks Allaro (#18275)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-24 11:49:13 -07:00
Falke Carlsen
2901649578 [Keymap] falkecarlsen gmmk keymap and readme (#17286) 2022-09-24 09:39:44 -07:00
Andre Brait
32204f4a03 GMMK Pro: fix unintended volume encoder taps (#17129) 2022-09-24 09:37:04 -07:00
Joel Challis
6d4d228bea [Keyboard] Add SENSE75 firmware (#18442) 2022-09-24 09:05:12 -07:00
Wes Lord
244f27ac27 Remove orphan custom functions reference in keymap docs (#18444) 2022-09-24 09:04:14 -07:00
Albert Y
0dca9a1f62 [Keyboard] Convert Cradio config to data driven model (#18412) 2022-09-24 08:44:50 -07:00
Thomas
94d5fe6f90 Allow Active High for Pointing Device Motion Pin (#18404)
Needed by the Cirque Trackpad for motion detection
2022-09-24 08:44:14 -07:00
QMK Bot
c932e76d36 Merge remote-tracking branch 'origin/master' into develop 2022-09-24 15:39:10 +00:00
Andrew Kannan
fa1388a42e [Keyboard] Add Moment Hotswap PCB (#18384) 2022-09-24 08:38:42 -07:00
QMK Bot
6b998e9a6d Merge remote-tracking branch 'origin/master' into develop 2022-09-24 15:36:49 +00:00
Ramon Imbao
5ff2d93582 [Keyboard] Add Saevus Cor TKL (#18369) 2022-09-24 08:36:19 -07:00
QMK Bot
6b94c4d791 Merge remote-tracking branch 'origin/master' into develop 2022-09-24 15:36:12 +00:00
Steven Karrmann
3072feb8ed [Keyboard] Add Janus keyboard (#18367)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-24 08:35:37 -07:00
Drashna Jael're
4add874867 Merge remote-tracking branch 'origin/master' into develop 2022-09-24 07:14:33 -07:00
takashicompany
45cc7f1e94 [Keyboard] Add GOAT51 (#18220)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-24 07:05:53 -07:00
lunatic
fe9c1d8e45 [Keyboard] add CherryB CB65 (#18356) 2022-09-24 06:58:03 -07:00
jun10000
6cf4af9876 [Keyboard] Add om60 rev1 keyboard (#18126)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: jun10000 <jun1kbd@outlook.jp>
2022-09-24 00:38:43 -07:00
QMK Bot
df30327c19 Format code according to conventions (#18466) 2022-09-24 00:34:44 -07:00
Matt Chan
e3e0a35b58 kegen/gboy: Fix typo in readme.md; add labels to info.json and reformat for readability (#18269)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-24 00:03:07 -07:00
Alabastard-64
7c1797f52f [Core] Pointing Device Automatic Mouse Layer (#17962)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-09-23 23:43:55 -07:00
QMK Bot
2318ae0433 Merge remote-tracking branch 'origin/master' into develop 2022-09-23 23:41:08 +00:00
Wilba
2791ceb6aa Add caps lock and scroll lock indicators (#17725) 2022-09-23 19:39:55 -04:00
QMK Bot
15f4bc6583 Merge remote-tracking branch 'origin/master' into develop 2022-09-23 22:27:27 +00:00
James Young
03a671e795 JadooKB JKB65 Community Layout Support (#18461)
* rename LAYOUT_67_ansi to LAYOUT_65_ansi_blocker

* enable Community Layouts support
2022-09-23 23:26:52 +01:00
Ryan
36c410592d Change DRIVER_LED_COUNT to {LED,RGB}_MATRIX_LED_COUNT (#18399) 2022-09-23 22:46:23 +10:00
QMK Bot
d967de0df7 Merge remote-tracking branch 'origin/master' into develop 2022-09-22 23:52:56 +00:00
dependabot[bot]
3b7aeddc4d Bump actions/stale from 5 to 6 (#18456)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-23 09:52:21 +10:00
Stefan Kerkmann
b8ffaa6331 Copy RP2040 vector table to RAM on startup (#18424)
...this reduces possible latency when invoking interrupt handlers by
mitigating XIP cache misses which are not existent when running code from
RAM.
2022-09-22 22:48:20 +01:00
Stefan Kerkmann
828a1db035 Update chibios-contrib for RP2040 i2c fixes take 2 (#18455)
...includes missing system locking inside a timeout waiting condition and
updates to the rp2040 linker file.
2022-09-22 20:57:50 +01:00
QMK Bot
f28d899908 Merge remote-tracking branch 'origin/master' into develop 2022-09-21 21:01:00 +00:00
Drashna Jaelre
ea80141f69 [Docs] Explicitly mention kb/user callbacks as boolean (#18448)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-21 14:00:25 -07:00
QMK Bot
9b42ee1f6d Merge remote-tracking branch 'origin/master' into develop 2022-09-21 17:33:15 +00:00
bojiguard
ee22f34e69 Fungo rev1: fix QMK Configurator key sequence - info.json (#18434)
* * info.json: fix key position and order

* fix json format

* Update keyboards/fungo/rev1/info.json

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

Co-authored-by: Joel Challis <git@zvecr.com>
2022-09-21 18:32:31 +01:00
Ryan
2f48d300f4 Normalise info_config.h define generation (#18439)
* Normalise info_config.h define generation

* format

* Fix tests

* Update lib/python/qmk/cli/generate/config_h.py

Co-authored-by: Nick Brassel <nick@tzarc.org>

Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-09-21 18:31:57 +01:00
QMK Bot
fc7f3f17e6 Merge remote-tracking branch 'origin/master' into develop 2022-09-21 11:09:23 +00:00
Nick Brassel
b03a3d7047 Checklist clarification. (#18440) 2022-09-21 12:08:47 +01:00
Ryan
591701cdf9 Fix incorrect g_led_config generation (#18431) 2022-09-21 02:41:18 +01:00
Ryan
89a1374ef4 Add DD mapping for LED/RGB Matrix center (#18432) 2022-09-21 00:45:07 +01:00
QMK Bot
8dc81309f4 Merge remote-tracking branch 'origin/master' into develop 2022-09-20 18:44:34 +00:00
Álvaro A. Volpato
b0f824755a Update Apollo PCBs to use wear levelling code (#18411) 2022-09-20 11:43:49 -07:00
Stefan Kerkmann
881aab9e76 Stabilize Half-duplex PIO split comms take 2 (#18421)
...by moving the actually timing critical `enter_rx_state()` and
`leave_rx_state()` functions to RAM in order to not be affected by XIP
cache spikes. This commit also reverts the hacky USB interrupt disabling
that was done in 293c53d774
2022-09-20 08:54:43 +02:00
QMK Bot
ea90fccbd6 Merge remote-tracking branch 'origin/master' into develop 2022-09-20 06:53:12 +00:00
Joel Challis
456d6f3342 Remove legacy keycodes from unit tests (#18430) 2022-09-20 08:52:43 +02:00
QMK Bot
c4d8da4112 Merge remote-tracking branch 'origin/master' into develop 2022-09-20 06:20:27 +00:00
Jimmy Sjölund
100cf3db3a [Keymap] Added Kyria keyboard to jimmysjolund (#18335) 2022-09-19 23:19:51 -07:00
Stefan Kerkmann
5a563444ac Update ChibiOS to latest 21.11.2 (#18428)
This includes a hotfix for RP2040 deadlocks due to XIP cache misses in
the ChibiOS virtual timer implementation.
2022-09-20 01:14:43 +01:00
QMK Bot
0803e2ec00 Merge remote-tracking branch 'origin/master' into develop 2022-09-19 19:27:27 +00:00
Danny
41fdf32afb Add encoder map to Quefrency VIA keymap (#18380)
* Add encoder map to Quefrency VIA keymap

* Explicitly define which RGB animations are enabled

* Set different PID to prep for different VIA .json usage

* Add ifdefs to handle if ENCODER_ENABLE is set to NO
2022-09-19 20:26:29 +01:00
QMK Bot
e517790b5e Merge remote-tracking branch 'origin/master' into develop 2022-09-19 18:43:16 +00:00
Felix Springer
51620c1042 Fix boardsource/lulu RGB matrix (#18407)
* Fix ordering of entries for RGB matrix.

* Fix typos in RGB matrix definition.

These matrix indices overlapped.

* Improve positions in RGB matrix.

The rotary encoder and the key below that are in a new column.
The rotary encoder's height is inbetween rows.
The key below is kind of off-axis and thus hard to pin down to a
specific location.

The modifer keys in the bottom row are staggered compared to the other
columns.
2022-09-19 19:42:38 +01:00
Ryan
8d0fb4ca9e Add DD mapping for LED/RGB Matrix HSVS steps (#18414) 2022-09-19 19:36:48 +01:00
QMK Bot
731000533f Merge remote-tracking branch 'origin/master' into develop 2022-09-19 18:35:02 +00:00
Marius Renner
652d1d8a6d Fix int8_t overflow in RGB heatmap effect (#18410) 2022-09-19 19:34:29 +01:00
Stefan Kerkmann
613e3f68b5 Update pico-sdk to version 1.4.0 (#18423)
...which contains fixes for GCC warnings.
2022-09-19 19:30:16 +01:00
QMK Bot
4af51ea601 Merge remote-tracking branch 'origin/master' into develop 2022-09-19 18:19:45 +00:00
Danny
89df40d4f3 Enable more BDN9 RGB effects (#18420) 2022-09-19 19:19:13 +01:00
QMK Bot
8bcbc2aced Merge remote-tracking branch 'origin/master' into develop 2022-09-19 18:19:00 +00:00
Derek
ed6679b89c [Keyboard] Sodium50 - Fix configuration (#18422) 2022-09-19 19:18:13 +01:00
Stefan Kerkmann
2aa3a8e059 [Core] remove busy waiting from rgblight functions (#18418) 2022-09-19 18:05:31 +02:00
QMK Bot
252810a72c Merge remote-tracking branch 'origin/master' into develop 2022-09-19 01:20:51 +00:00
coliss86
2c516fab29 [Docs] Extract 'Layer Change Code' and EEPROM (#18174)
* [Docs] Extract 'Layer Change Code' and EEPROM

* adjust wording

* Update docs/custom_quantum_functions.md

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

Co-authored-by: Joel Challis <git@zvecr.com>
2022-09-19 02:20:22 +01:00
Joel Challis
20f142a772 Tidy up LAYOUT macro generation (#18262) 2022-09-19 01:35:46 +01:00
QMK Bot
07936d37b6 Merge remote-tracking branch 'origin/master' into develop 2022-09-18 23:11:22 +00:00
Daniel Shields
d8ef2ea7dd Add home row modifiers to dshields keymaps. (#18376) 2022-09-18 19:10:50 -04:00
QMK Bot
b7358825d7 Merge remote-tracking branch 'origin/master' into develop 2022-09-18 23:09:33 +00:00
Joel Challis
e7e08030d2 Reduce charue/sunsetter_r2 firmware size (#18378)
* Reduce charue/sunsetter_r2 firmware size

* add rules.mk
2022-09-19 00:09:02 +01:00
Joshua Diamond
9a1b4b78f1 Merge remote-tracking branch 'origin/master' into develop 2022-09-18 19:06:31 -04:00
Danny
ecb4ba70b1 Add encoder map to BDN9 VIA keymap (#18388) 2022-09-18 19:01:05 -04:00
jonavin
c6ff10a257 FIx ARRAYSIZE def and Murphpad string array (#18392)
Co-authored-by: Jonavin <=>
2022-09-18 18:57:37 -04:00
Ryan
8beb61b790 Add DD mapping for LED/RGB Matrix split count (#18408) 2022-09-18 22:57:50 +01:00
Nick Brassel
1849897444 [QP] Add RGB565 surface. Docs clarification, cleanup, tabsification, and reordering. (#18396) 2022-09-19 07:30:08 +10:00
QMK Bot
e9bdc4eeb1 Merge remote-tracking branch 'origin/master' into develop 2022-09-18 21:19:38 +00:00
Nick Brassel
c56dc9c0bb Fixup axon40 lint. (#18409)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-19 07:19:03 +10:00
Ryan
0f5cfc0363 Add DD mapping for LED/RGB Matrix max brightness (#18403) 2022-09-18 20:32:47 +01:00
Joel Challis
1155140631 Add Elite-C to converters (#18309) 2022-09-18 20:30:27 +01:00
Joshua Diamond
a3a47a6556 Work around WinCompose issue for U+Axxx or U+Exxx (#18260)
* Work around WinCompose issue for U+Axxx or U+Exxx

* tzarc's more efficient version

Co-authored-by: Thomas <mail@tpreisner.de>
2022-09-18 11:51:04 -04:00
QMK Bot
f0940a6fe4 Merge remote-tracking branch 'origin/master' into develop 2022-09-18 06:02:20 +00:00
Less/Rikki
3444dd5e2d [keyboard] kbdfans/kbd75rgb info.json fix (#18391) 2022-09-18 16:01:46 +10:00
Dasky
db6a637398 Fix EECONFIG_KEYMAP_UPPER_BYTE init (#18394)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-17 20:58:46 +01:00
Drashna Jaelre
fb29c0ae53 [Core] Add getreuer's Autocorrect feature to core (#15699)
Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
2022-09-17 17:50:54 +10:00
Drashna Jaelre
d67d388e77 Move mousekey keycodes into newly freed up keycode block (#16076) 2022-09-17 15:49:00 +10:00
Joshua Diamond
a26f1ddafa Chromeos keycodes (#18212) 2022-09-17 15:48:09 +10:00
Ryan
33c47fe010 Add UART support for Kinetis boards (#18370)
* Add UART support for Kinetis boards

* Default PAL mode for GPIOV1
2022-09-17 02:24:03 +01:00
QMK Bot
786fabc144 Merge remote-tracking branch 'origin/master' into develop 2022-09-16 21:04:10 +00:00
dependabot[bot]
4781a798ca Bump anothrNick/github-tag-action from 1.45.0 to 1.46.0 (#18386)
Bumps [anothrNick/github-tag-action](https://github.com/anothrNick/github-tag-action) from 1.45.0 to 1.46.0.
- [Release notes](https://github.com/anothrNick/github-tag-action/releases)
- [Commits](https://github.com/anothrNick/github-tag-action/compare/1.45.0...1.46.0)

---
updated-dependencies:
- dependency-name: anothrNick/github-tag-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-16 22:03:32 +01:00
QMK Bot
7598ea9be9 Merge remote-tracking branch 'origin/master' into develop 2022-09-16 17:38:10 +00:00
npspears
799046fd9d Quark revision - rotary encoder and 7u support (#17664)
by npspears
2022-09-16 18:37:39 +01:00
QMK Bot
3ceaf7f72c Merge remote-tracking branch 'origin/master' into develop 2022-09-16 16:25:54 +00:00
an_achronism
1ec8ae8a49 Initial support for Tetromino added (#18341)
by the spherical lad @an-achronism
2022-09-16 17:25:16 +01:00
QMK Bot
cf0494e458 Merge remote-tracking branch 'origin/master' into develop 2022-09-16 08:19:51 +00:00
Nick Brassel
cf88d95613 Add ability to remove temporary files during multibuild. (#18381) 2022-09-16 09:19:10 +01:00
Ryan
bc0756f294 Disconnect usb.device_ver (#18259) 2022-09-16 12:05:25 +10:00
QMK Bot
b223e29921 Merge remote-tracking branch 'origin/master' into develop 2022-09-16 01:03:59 +00:00
Joel Challis
617f957e82 Fix handwired/swiftrax/bumblebee layout macro (#18377) 2022-09-16 02:03:18 +01:00
Dasky
e1aed8da08 Move fake EE_HANDS (#18352) 2022-09-16 00:06:00 +01:00
QMK Bot
08738aab7e Merge remote-tracking branch 'origin/master' into develop 2022-09-15 18:17:44 +00:00
ziptyze
57c35bd817 [Keyboard] Add pi40 (#18207)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-15 11:16:58 -07:00
QMK Bot
6f75226460 Merge remote-tracking branch 'origin/master' into develop 2022-09-15 06:53:13 +00:00
Vino Rodrigues
56bad5d357 [Keyboard] Removal of deprecated defines in IDOBAO keyboards (#18358) 2022-09-14 23:52:38 -07:00
Dasky
40b0b3a983 Fix cirque tap from secondary side (#18351) 2022-09-14 23:48:43 -07:00
QMK Bot
6d39cc858f Merge remote-tracking branch 'origin/master' into develop 2022-09-15 00:14:52 +00:00
ENDO Katsuhiro
f483520ff9 Fix problem that Chidori is not recognized by host computer. (#17882) 2022-09-15 01:14:19 +01:00
QMK Bot
a949164b99 Merge remote-tracking branch 'origin/master' into develop 2022-09-15 00:05:17 +00:00
Drew Hamilton
3fbc3ac8ad [Keyboard] Add a new keyboard 'plum47' (#18359) 2022-09-15 01:04:40 +01:00
QMK Bot
13dab7f050 Merge remote-tracking branch 'origin/master' into develop 2022-09-15 00:04:32 +00:00
Joel Challis
01f31bf28e [Docs] RESET -> QK_BOOT (#18365) 2022-09-15 01:03:55 +01:00
QMK Bot
91a3ae24fe Merge remote-tracking branch 'origin/master' into develop 2022-09-14 22:56:12 +00:00
jack
0abde386ae Remove RESET keycodes from fjlabs keyboards (#18364) 2022-09-14 23:54:24 +01:00
Joel Challis
8d715fc16b Remove deprecated RESET keycode alias (#18271) 2022-09-14 11:15:57 -07:00
QMK Bot
5492dd00c7 Merge remote-tracking branch 'origin/master' into develop 2022-09-14 18:14:36 +00:00
Andrew Kannan
017398c283 [Keyboard] Add Vector PCB (#17380) 2022-09-14 11:13:13 -07:00
QMK Bot
da60b89dc0 Merge remote-tracking branch 'origin/master' into develop 2022-09-14 17:56:45 +00:00
jels
624ab64750 [Keyboard] Add Calice (#17929)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-14 10:56:09 -07:00
QMK Bot
dd7b700ab1 Merge remote-tracking branch 'origin/master' into develop 2022-09-14 16:00:10 +00:00
James Young
083ac400e2 GeonWorks Frog Mini Soldered Layout Rework (#18308) 2022-09-14 08:59:17 -07:00
QMK Bot
ff2585dc49 Merge remote-tracking branch 'origin/master' into develop 2022-09-14 15:41:05 +00:00
satorusaka
87b1b560cb [Keyboard] Add skmt/15k keyboard (#18321)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-09-14 08:40:18 -07:00
QMK Bot
41da1f42de Merge remote-tracking branch 'origin/master' into develop 2022-09-14 15:18:04 +00:00
Ramon Imbao
fc3f2dcb43 [Keyboard] Replace Nayeon ATmega32u4 config with RP2040 (#18265) 2022-09-14 08:16:54 -07:00
QMK Bot
d2ce817dfa Merge remote-tracking branch 'origin/master' into develop 2022-09-14 00:36:56 +00:00
dependabot[bot]
23666150e9 Bump anothrNick/github-tag-action from 1.42.0 to 1.45.0 (#18355)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-14 10:36:20 +10:00
QMK Bot
e591b94544 Merge remote-tracking branch 'origin/master' into develop 2022-09-14 00:21:20 +00:00
Reibl János Dániel
6984c6d3b3 fix: Remove TERM_ON/TERM_OFF from my keymap (#18354) 2022-09-14 01:20:34 +01:00
QMK Bot
38f9b0beea Merge remote-tracking branch 'origin/master' into develop 2022-09-13 11:11:26 +00:00
dependabot[bot]
2800cd31ae Bump anothrNick/github-tag-action from 1.39.0 to 1.42.0 (#18344)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 21:10:52 +10:00
Joshua Diamond
23e12497b2 Merge remote-tracking branch 'origin/master' into develop 2022-09-12 18:57:58 -04:00
Purdea Andrei
b2ad047d7f Fix keyboard_name for Unicomp Classic/Ultra Classic keyboards (#18327) 2022-09-12 23:10:17 +01:00
Joshua Diamond
7c49b8caa9 Adapt to unicode refactoring (#18345) 2022-09-12 21:32:52 +01:00
ebastler
110de0b512 Add EM.8 keyboard (#18328)
by ebastler
2022-09-12 17:17:01 +01:00
Thomas
55c637f28f [Docs] Fix docs regarding cirque pinnacle attenuation (#18279) 2022-09-12 08:56:21 -07:00
Ryan
3d667f0970 Refactor Unicode feature (#18333) 2022-09-12 08:49:04 -07:00
Vino Rodrigues
f46379f308 fixed missing x coordinate on spacebar (#18330) 2022-09-11 13:07:32 +01:00
Joel Challis
16c2b528df GMMK2: Fix 'ISO' within product name (#18322) 2022-09-10 13:31:46 +01:00
Joel Challis
4087251da6 Reboot wb32 devices after flashing (#18323) 2022-09-10 01:14:12 +01:00
Joy Lee
405a32ddf4 Added gmmk v2 p65 keyboard. (#18185) 2022-09-09 23:12:48 +01:00
Ryan
f20883fef1 RN42 driver: small cleanups (#18310)
* RN42 driver: small cleanups

* Include header

* Fix mouse report per RN42 UG

* Spacing for consistency
2022-09-09 21:36:39 +01:00
Joel Challis
725df1278b Fix '_RIGHT' matrix pins lint error (#18320) 2022-09-09 21:22:55 +01:00
Joel Challis
9e24262161 Fix DD use within boardsource/microdox (#18319) 2022-09-09 21:21:48 +01:00
QMK Bot
a18aab4c3c Merge remote-tracking branch 'origin/master' into develop 2022-09-09 18:17:46 +00:00
ZhaoYou.Ge
9ad75dbf47 'soda/cherish' support apm32f072 (#18316) 2022-09-09 19:17:10 +01:00
QMK Bot
2b30b3e168 Merge remote-tracking branch 'origin/master' into develop 2022-09-09 12:41:51 +00:00
Jacqueline Liang
88555d8e18 Add via support for 6key (#18082) 2022-09-09 13:41:18 +01:00
QMK Bot
b6a79bec46 Merge remote-tracking branch 'origin/master' into develop 2022-09-09 01:58:52 +00:00
James Young
107ccc56b4 Hillside 46 & 52: remove dead space from QMK Configurator renderings (#18315)
* Hillside 46 info.json: fix syntax error

* Hillside 46 info.json: remove dead space

* Hillside 52 info.json: remove dead space
2022-09-09 02:57:46 +01:00
Danny
fb6e821541 Add Elite-Pi converter (#18236)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-09-08 14:59:27 -04:00
QMK Bot
3e0a22d532 Merge remote-tracking branch 'origin/master' into develop 2022-09-07 21:52:45 +00:00
Danny
7b4dc5a7e4 Add Iris Rev. 6b (#18307) 2022-09-07 17:52:11 -04:00
QMK Bot
60d2108f23 Merge remote-tracking branch 'origin/master' into develop 2022-09-07 21:30:54 +00:00
James Young
ce90be0961 GeonWorks Frog Mini Hotswap Layout Rework (#18305)
* fmh.h: add matrix diagram

* info.json: apply friendly formatting

* physically arrange LAYOUT_all macro

Move position `K5D` (right half of Split Backspace) to the end of the top row.

* rename LAYOUT_all to LAYOUT_60_tsangan_hhkb

* add LAYOUT_60_ansi_tsangan

* add LAYOUT_60_hhkb

* add LAYOUT_60_ansi_wkl

* add LAYOUT_60_ansi_wkl_split_bs_rshift

* enable Community Layouts support
2022-09-07 14:30:17 -07:00
QMK Bot
fd8875f82c Merge remote-tracking branch 'origin/master' into develop 2022-09-07 21:05:23 +00:00
Danny
3f65d48539 Update Iris VIA configuration (#18306)
* Update RGB matrix max brightness

* Remove old VIA workaround code

* Fix default encoder rotations	for encoder map
2022-09-07 22:04:46 +01:00
QMK Bot
4bbac50277 Merge remote-tracking branch 'origin/master' into develop 2022-09-07 19:19:22 +00:00
mechlovin
b0dc789a1b [Keyboard] Wearhaus66 correct matrix (#18284) 2022-09-07 20:18:48 +01:00
QMK Bot
9ca91a7a98 Merge remote-tracking branch 'origin/master' into develop 2022-09-07 19:18:35 +00:00
David Luo
76910eece1 enable RGB matrix effects for drop ctrl (#18291) 2022-09-07 20:17:52 +01:00
Ryan
f7d2b001bc Move Bluetooth-related function calls up to host/keyboard level (#18274)
* Move Bluetooth-related function calls up to host/keyboard level

* Remove pointless set_output() call

* Move bluetooth (rn42) init to end of keyboard_init()

* Enable SPI/UART for ChibiOS targets

* Some more slight tweaks
2022-09-07 19:59:24 +01:00
QMK Bot
cf8cdd1992 Merge remote-tracking branch 'origin/master' into develop 2022-09-07 18:53:04 +00:00
syntax-magic
6321cbaadd [Keymap] removed else in numlock led if statement (#18304) 2022-09-07 19:52:32 +01:00
QMK Bot
54f6b61643 Merge remote-tracking branch 'origin/master' into develop 2022-09-07 16:15:38 +00:00
syntax-magic
8a0c0f72a5 added a new kprepublic/bm40hsrgb keymap called dan (#18301)
by syntax-magic
2022-09-07 17:14:46 +01:00
QMK Bot
03f6954c3a Merge remote-tracking branch 'origin/master' into develop 2022-09-07 10:39:35 +00:00
ddeklerk
a082fcc933 Delete my keymaps (#18302) 2022-09-07 20:38:54 +10:00
Dasky
d30f0f71d0 Remove legacy define SERIAL_USE_MULTI_TRANSACTION (#18299) 2022-09-07 00:42:28 +01:00
Dasky
c2b35b2327 Remove legacy define USE_SERIAL_PD2 (#18298) 2022-09-07 00:35:47 +01:00
Joshua Diamond
ff7470420a Merge remote-tracking branch 'origin/master' into develop 2022-09-06 19:03:08 -04:00
Michael Stapelberg
f733307551 keymaps/stapelberg: keypad layer for multimedia keys, wake on escape (#18295)
This makes more keys function as printed on the actual keyboard :)
2022-09-06 23:13:12 +01:00
Joshua Diamond
a4d1d8b745 Resolve conflict merging master to develop (#18297)
* Discourage use of ENCODER_MAP at keyboard level (#18286)

* Discourage use of ENCODER_MAP at keyboard level

* Update docs/feature_encoders.md

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

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

* Fungo rev1: fix QMK Configurator key sequence (#18293)

* info.json: correct JSON syntax; friendly formatting

* info.json: fix key sequence

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2022-09-06 17:42:43 -04:00
Dasky
dc4af81e0b Remove legacy USE_SERIAL define (#18292)
* Remove legacy USE_SERIAL define

* tidy up missed comments
2022-09-06 18:46:34 +01:00
James Young
7160487ccd Fungo rev1: fix QMK Configurator key sequence (#18293)
* info.json: correct JSON syntax; friendly formatting

* info.json: fix key sequence
2022-09-06 18:36:37 +01:00
Joel Challis
60cac6d938 Discourage use of ENCODER_MAP at keyboard level (#18286)
* Discourage use of ENCODER_MAP at keyboard level

* Update docs/feature_encoders.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-06 18:08:48 +01:00
Ryan
8833b28361 Remove UNICODE_KEY_OSX and UC_OSX (#18290) 2022-09-06 18:07:08 +01:00
QMK Bot
c6ab11bc45 Merge remote-tracking branch 'origin/master' into develop 2022-09-06 04:26:42 +00:00
James Young
712aa7b1cd Mars 6.5 Layout Additions (#18282)
* info.json: apply friendly formatting

* add LAYOUT_65_ansi_blocker

* add LAYOUT_65_ansi_blocker_split_bs

* add LAYOUT_65_iso_blocker

* add LAYOUT_65_iso_blocker_split_bs

* enable Community Layouts support

* info.json: correct maintainer value
2022-09-06 05:26:11 +01:00
QMK Bot
165c15e250 Merge remote-tracking branch 'origin/master' into develop 2022-09-06 04:26:03 +00:00
Joel Challis
0306bdf7fd Remove use of legacy keycode (#18281) 2022-09-06 05:25:32 +01:00
QMK Bot
f010af0c8e Merge remote-tracking branch 'origin/master' into develop 2022-09-05 13:15:04 +00:00
James Young
5f1273fca6 EU ISOlation: fix QMK Configurator key sequence (#18272)
* eu_isolation.h: physically arrange layout macros

Whitespace only; no logic changes.

* info.json: apply friendly formatting

Add line breaks between physical rows.

* info.json: correct key sequence
2022-09-05 14:14:25 +01:00
QMK Bot
0ac18bfc84 Merge remote-tracking branch 'origin/master' into develop 2022-09-05 01:01:23 +00:00
AMing Lau
a36c95db60 Fix compilation error for GH60 satan HHKB 7u layout (#18250)
* Fix compilation error for GH60 satan HHKB 7u layout

* Update keyboards/gh60/satan/info.json

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

Co-authored-by: Joel Challis <git@zvecr.com>
2022-09-05 02:00:44 +01:00
Ryan
3e02b70d28 Rename keyboards with uppercase letters (#18268) 2022-09-04 21:36:33 +01:00
QMK Bot
a9f8111eac Merge remote-tracking branch 'origin/master' into develop 2022-09-03 21:44:27 +00:00
James Young
288808526b dyz60_hs Layout Additions (#18261)
* dyz60_hs: add matrix diagram

* add LAYOUT_60_ansi

* add LAYOUT_60_ansi_split_bs_rshift

* add LAYOUT_60_tsangan_hhkb

* add LAYOUT_60_iso

* add LAYOUT_60_iso_split_bs_rshift

* enable Community Layouts support

* readme.md: correct keyboard references

Replace `dyz60` with `dyz60_hs` as needed.
2022-09-03 22:43:52 +01:00
QMK Bot
3a56e973ff Merge remote-tracking branch 'origin/master' into develop 2022-09-03 18:47:52 +00:00
Ryan
3c09db41fe Fix a couple of boards still using usb.device_ver (#18258) 2022-09-03 14:47:22 -04:00
QMK Bot
d1c4008f1c Merge remote-tracking branch 'origin/master' into develop 2022-09-03 18:45:16 +00:00
Ryan
bfec30a9fe Clean up data driven mappings syntax (#18257) 2022-09-03 19:44:42 +01:00
QMK Bot
aa2e5fc6da Merge remote-tracking branch 'origin/master' into develop 2022-09-03 17:47:15 +00:00
coliss86
39e611794d [Docs] Update 'Process Record' according to the code (#18209)
* [doc] Update 'Process Record' according to the code

* [doc] fix link
2022-09-03 13:46:42 -04:00
QMK Bot
272b6f6ddb Merge remote-tracking branch 'origin/master' into develop 2022-09-03 15:27:31 +00:00
Xelus22
489b287e1f [Keyboard] RS60 Rev2 change to eeprom emulation (#18201)
by xelus
2022-09-03 16:27:00 +01:00
QMK Bot
556fd909eb Merge remote-tracking branch 'origin/master' into develop 2022-09-03 15:21:53 +00:00
Vino Rodrigues
0c76a3c7d0 [Keyboard] Add IDOBAO Abacus ID42 Keyboard (#16923)
by vinorodrigues
2022-09-03 16:21:00 +01:00
QMK Bot
2c9c62b365 Merge remote-tracking branch 'origin/master' into develop 2022-09-03 14:47:51 +00:00
Tim Traversy
f27c70fffc Add absolute key positions to microdox info.json (#18238) 2022-09-03 15:47:20 +01:00
QMK Bot
fea65c9856 Merge remote-tracking branch 'origin/master' into develop 2022-09-03 05:51:26 +00:00
Joel Challis
5c0e87608f Remove more RESET keycode references (#18252) 2022-09-03 06:50:44 +01:00
Ryan
f76b55d5ad Adjust EXTRAKEY_ENABLE ifdefs for send_extra() (#18249) 2022-09-02 21:50:36 +01:00
Ryan
09d668eb0e Simplify extrakeys sending at the host driver level (#18230)
* Simplify extrakeys sending at the host driver level

* There are two arguments here

* Wrong syntax

* Adjust keyboards which use a custom host driver
2022-09-02 20:38:27 +01:00
QMK Bot
0ceaaaae8e Merge remote-tracking branch 'origin/master' into develop 2022-09-02 16:10:46 +00:00
Brian
5d932e2612 [Keymap] Fixing location of my Keymap for the Gentleman65 (#18246) 2022-09-02 09:10:05 -07:00
QMK Bot
db90919c7a Merge remote-tracking branch 'origin/master' into develop 2022-09-02 15:33:43 +00:00
Drashna Jaelre
90418b371f [Keymap] Fix bootmagic compilation issue with Drashna keymaps (#18223) 2022-09-02 08:32:38 -07:00
QMK Bot
4ad659f226 Merge remote-tracking branch 'origin/master' into develop 2022-09-02 03:55:05 +00:00
Yoichiro Tanaka
27671d8a43 [Keyboard] Add Lunakey Pico (#18202)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-01 20:54:33 -07:00
QMK Bot
fbfb04b253 Merge remote-tracking branch 'origin/master' into develop 2022-09-02 03:48:58 +00:00
Jannik Becker
8c793c1a43 [Keyboard] Add Shoc Keyboard (#18143)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-09-01 20:48:24 -07:00
Joy Lee
b5a52b4cff Prevent USB peripheral fault when restarting USB on WB32 MCUs (#18058)
Co-authored-by: Joy <chang.li@westberrytech.com>
2022-09-01 20:48:02 -07:00
QMK Bot
6b6cbf6038 Merge remote-tracking branch 'origin/master' into develop 2022-09-02 03:43:52 +00:00
Joel Challis
26814ca060 Install correct package on Fedora (#18243) 2022-09-01 20:43:19 -07:00
Drashna Jaelre
423826a34a Better handle EEPROM reset keycode (#18244) 2022-09-01 20:43:06 -07:00
QMK Bot
98ed5b6cfa Merge remote-tracking branch 'origin/master' into develop 2022-09-01 23:33:21 +00:00
jpuerto96
101d7b5337 [Keyboard] Add Ingrained Keyboard (#15928)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Juan Puerto <jpuerto@psc.edu>
Co-authored-by: jpuerto-psc <68066250+jpuerto-psc@users.noreply.github.com>
2022-09-01 16:32:47 -07:00
QMK Bot
bc4ab8a433 Merge remote-tracking branch 'origin/master' into develop 2022-09-01 22:39:30 +00:00
Joel Challis
7adef85fa4 Remove non promicro pins from converters (#18239) 2022-09-01 15:38:52 -07:00
Joshua Diamond
e4bf832368 Add unicode mode change callbacks (#18235) 2022-08-31 16:39:16 -07:00
QMK Bot
b9effc94db Merge remote-tracking branch 'origin/master' into develop 2022-08-31 20:06:14 +00:00
3araht
1ccd0c19da Add giabalanai keyboard (#10125)
by 3araht
2022-08-31 21:05:43 +01:00
QMK Bot
55c0c920e9 Merge remote-tracking branch 'origin/master' into develop 2022-08-31 19:30:30 +00:00
Ryan Neff
d4c935d8fa Added personal Iris Rev6a layout and Milk 2% layout (#17600)
by JellyTitan
2022-08-31 20:29:26 +01:00
QMK Bot
64749d3adc Merge remote-tracking branch 'origin/master' into develop 2022-08-31 17:20:16 +00:00
Benjamin Collet
6104b66014 Add bepo variant to massdrop/thekey keymaps (#18129)
by mrBen
2022-08-31 18:19:42 +01:00
QMK Bot
5af7982af1 Merge remote-tracking branch 'origin/master' into develop 2022-08-31 17:18:46 +00:00
3araht
786b5d310d Bandominedoni encoder fix (#18229)
by 3araht
2022-08-31 18:17:54 +01:00
QMK Bot
8e6f8ec37f Merge remote-tracking branch 'origin/master' into develop 2022-08-31 16:44:57 +00:00
Drashna Jaelre
0faedb11cc [Keyboard] Updates to Work Louder keyboards (#18232)
by Drashna
2022-08-31 17:44:00 +01:00
QMK Bot
196b71ad53 Merge remote-tracking branch 'origin/master' into develop 2022-08-31 16:41:59 +00:00
JX
de0d342b82 [Keyboard] add tg67 (#18225) 2022-08-31 09:41:14 -07:00
Ryan
50c4ca3426 Ensure all keyboards have a bootloader set (#18234) 2022-08-31 17:36:41 +01:00
Ryan
bb6f028833 Move bootloader.mk to platforms (#18228) 2022-08-31 07:17:24 -07:00
Marek Kraus
0237ff0c62 [Core] Rework PS/2 driver selection (#17892)
* [Core] Rework PS/2 driver selection

Enabling and selecting PS/2 driver was using old approach,
so it was reworked to current approach, inspired by Serial
and WS2812 driver selections.

* [Keyboard] Update keyboards using PS/2 to use new PS/2 driver selection

* [Docs] Update PS/2 documentation to use new PS/2 driver selection

* Fix indentation

* [Core] Add PS2 to data driver

* Fix oversight in property name

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

* Add PS/2 pins to data driven mappings

Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-31 09:16:07 +02:00
QMK Bot
ba7030d216 Merge remote-tracking branch 'origin/master' into develop 2022-08-31 05:20:33 +00:00
Ryan
6f804f76b4 qmk lint: fix TypeError (#18226) 2022-08-31 15:20:00 +10:00
QMK Bot
c249afefc6 Merge remote-tracking branch 'origin/master' into develop 2022-08-30 18:29:41 +00:00
Andrew Kannan
bc538e3776 [Keyboard] CannonKeys Malicious Ergo (#17076)
* Add Malicious Ergo keyboard to QMK

* Update layout

* update info.json

* update info.json again

* Update info.json again

* i h8 info.json

* its default not all

* Update keyboards/cannonkeys/malicious_ergo/config.h

* Add bootloader instructions and license header

* Update keyboards/cannonkeys/malicious_ergo/rules.mk

* Update keyboards/cannonkeys/malicious_ergo/rules.mk

* Update keyboards/cannonkeys/malicious_ergo/readme.md

* Remove rotation from info.json

* Remove labels

* Update keyboards/cannonkeys/malicious_ergo/readme.md

* Update keyboards/cannonkeys/malicious_ergo/malicious_ergo.h

* Revise info.json again

* whitespace fix

* Apply suggestions from code review

Move pid/vid into info json
Fix rounding errors in info json

Thanks to fauxpark and noroadsleft!
2022-08-30 11:29:05 -07:00
QMK Bot
757a03cf1a Merge remote-tracking branch 'origin/master' into develop 2022-08-30 09:50:48 +00:00
yiancar
a9e726501d [Keyboard] Add NK65B (#18211)
Co-authored-by: yiancar <yiancar@gmail.com>
2022-08-30 02:50:43 -07:00
yiancar
907d7bfc54 [Keyboard] Add NK87B (#18210)
Co-authored-by: yiancar <yiancar@gmail.com>
2022-08-30 02:50:00 -07:00
QMK Bot
ef4f73ff00 Merge remote-tracking branch 'origin/master' into develop 2022-08-30 08:41:07 +00:00
Drashna Jaelre
092dd58e34 [Keyboard] Fix layout macro for Cannonkeys Atlas keyboard (#18216) 2022-08-30 01:40:35 -07:00
QMK Bot
ae81e998ad Merge remote-tracking branch 'origin/master' into develop 2022-08-30 08:36:21 +00:00
jack
df4b01b433 fix boardsource/lulu (#18217) 2022-08-30 09:34:39 +01:00
Jeff Epler
9632360caa Use a macro to compute the size of arrays at compile time (#18044)
* Add ARRAY_SIZE and CEILING utility macros

* Apply a coccinelle patch to use ARRAY_SIZE

* fix up some straggling items

* Fix 'make test:secure'

* Enhance ARRAY_SIZE macro to reject acting on pointers

The previous definition would not produce a diagnostic for
```
int *p;
size_t num_elem = ARRAY_SIZE(p)
```
but the new one will.

* explicitly get definition of ARRAY_SIZE

* Convert to ARRAY_SIZE when const is involved

The following spatch finds additional instances where the array is
const and the division is by the size of the type, not the size of
the first element:
```
@ rule5a using "empty.iso" @
type T;
const T[] E;
@@

- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)

@ rule6a using "empty.iso" @
type T;
const T[] E;
@@

- sizeof(E)/sizeof(T)
+ ARRAY_SIZE(E)
```

* New instances of ARRAY_SIZE added since initial spatch run

* Use `ARRAY_SIZE` in docs (found by grep)

* Manually use ARRAY_SIZE

hs_set is expected to be the same size as uint16_t, though it's made
of two 8-bit integers

* Just like char, sizeof(uint8_t) is guaranteed to be 1

This is at least true on any plausible system where qmk is actually used.

Per my understanding it's universally true, assuming that uint8_t exists:
https://stackoverflow.com/questions/48655310/can-i-assume-that-sizeofuint8-t-1

* Run qmk-format on core C files touched in this branch

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-08-30 10:20:04 +02:00
QMK Bot
2c5aa98143 Merge remote-tracking branch 'origin/master' into develop 2022-08-30 08:04:19 +00:00
precondition
6f2c173743 Expand on the differences between Caps Word and Caps Lock (#18139)
* Expand on the differences between Caps Word and Caps Lock

* Add the equiv default KC_ next to intl alias

* It's configurable so it's not a problem
2022-08-30 10:03:25 +02:00
QMK Bot
8067c3bff5 Merge remote-tracking branch 'origin/master' into develop 2022-08-30 07:20:44 +00:00
jack
035e7fdb8b Add boardsource/lulu RP2040 support (#18200)
by waffle87
2022-08-30 08:20:05 +01:00
QMK Bot
4a7a4b2b94 Merge remote-tracking branch 'origin/master' into develop 2022-08-30 03:03:51 +00:00
Xelus22
f3d52d8fe8 [Keyboard] Kangaroo Rev2 (#18199) 2022-08-29 20:03:30 -07:00
Less/Rikki
7eb71f72a7 [Keyboard] jacky_studio/piggy60 refactor (#18197) 2022-08-29 20:03:16 -07:00
QMK Bot
1a33b5a479 Merge remote-tracking branch 'origin/master' into develop 2022-08-29 19:19:56 +00:00
3araht
f04336ff46 Redefinition of MIN is avoided in midi.c (#18203) 2022-08-29 12:18:53 -07:00
QMK Bot
774aa2499d Merge remote-tracking branch 'origin/master' into develop 2022-08-29 18:26:02 +00:00
Felix Jen
de1d6b6f15 [Keyboard] Add sinanju WK (#17736)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-29 11:25:20 -07:00
QMK Bot
bf77307ffb Merge remote-tracking branch 'origin/master' into develop 2022-08-29 18:23:39 +00:00
Felix Jen
a6b47de732 [Keyboard] Add Peaker keyboard (#17920)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-29 11:23:23 -07:00
Felix Jen
ccb244d5ed [Keyboard] Add Trailblazer Avalon (#17568)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-29 11:22:54 -07:00
QMK Bot
f87f802d6c Merge remote-tracking branch 'origin/master' into develop 2022-08-29 18:22:52 +00:00
Christian Solje
22136f8135 [Keymap] Add csolje 42 keymap for the cantor (#18125)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Christian Solje <csolje@gn.com>
2022-08-29 11:22:01 -07:00
Ryan
ef775d0fc8 Fix incorrect bluetooth.driver rules.mk mapping (#18205) 2022-08-29 19:05:05 +01:00
Stefan Kerkmann
e99ec28f5f [Core] Introduce pointing device specific debug messages (#17663) 2022-08-29 19:16:49 +02:00
Nick Brassel
d910e8df77 Use TAP_CODE_DELAY for encoder mapping by default (#18098) 2022-08-28 21:53:08 -07:00
QMK Bot
7ef6c179e4 Merge remote-tracking branch 'origin/master' into develop 2022-08-29 04:49:22 +00:00
Stefan
56b93a3ad8 [Keyboard] Add handwired Split 5x7 (#18128)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-28 21:49:17 -07:00
TJ
b719a16b03 [Keyboard] add Nearfield, fix typo in Le Chiffre Readme (#17914) 2022-08-28 21:48:41 -07:00
QMK Bot
2b8d7af941 Merge remote-tracking branch 'origin/master' into develop 2022-08-29 04:48:02 +00:00
bbrfkr
a2294bcc97 [Keyboard] Update dynamis keyboard (#17625)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-28 21:47:30 -07:00
QMK Bot
7084fc3d65 Merge remote-tracking branch 'origin/master' into develop 2022-08-29 04:40:24 +00:00
Simon Hengel
38de991fda [Keyboard] Add chord/zero (#18190) 2022-08-28 21:39:45 -07:00
Drzony
f2edb73974 Fix mouse report comparison failing on shared EP (#18060)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2022-08-28 21:34:42 -07:00
QMK Bot
7e246b8a63 Merge remote-tracking branch 'origin/master' into develop 2022-08-29 01:44:06 +00:00
NGatti1997
8b9f0a58b4 Swap KC_VOLD and KC_VOLU on GMMK2 to correct places (#18193) 2022-08-29 02:43:24 +01:00
QMK Bot
0d40c65aee Merge remote-tracking branch 'origin/master' into develop 2022-08-29 01:38:01 +00:00
biesigrr
3f99c42800 Expose Moonlander split detection to user code (#18040) 2022-08-29 02:37:29 +01:00
QMK Bot
6a13ae9fd7 Merge remote-tracking branch 'origin/master' into develop 2022-08-29 01:35:17 +00:00
Juno Nguyen
1cc0b1e371 Update junonum keymap: add AG_NORM recovery (#18170) 2022-08-29 02:34:47 +01:00
QMK Bot
cfb9486d40 Merge remote-tracking branch 'origin/master' into develop 2022-08-28 20:40:55 +00:00
Jeff Epler
3c3f55c0e9 Add an ez_maker directpins for rp2040 (#17908)
* Add an ez_maker directpins for rp2040

This allows all exposed pins on the Raspberry Pi Pico to be used
as up to 26 individual keys. Keys use a common ground arrangement.

The firmware is also expected to work on generic RP2040 boards, check
manufacturer pinout diagrams or use trial and error to find out the GP#s
of the pins.

* Update keyboards/ez_maker/directpins/rp2040/info.json

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

* Changes based on review comments

Co-authored-by: Joel Challis <git@zvecr.com>
2022-08-28 21:40:10 +01:00
QMK Bot
a699b24638 Merge remote-tracking branch 'origin/master' into develop 2022-08-28 20:21:18 +00:00
Ryan
d18698a8e8 Remove deprecated USBasp and bootloadHID bootloader types (#18195) 2022-08-28 21:20:43 +01:00
Davide Masserut
0633e71a18 [Keymap] Add Miryoku keymap for Hillside 48 (#18191) 2022-08-28 13:20:30 -07:00
QMK Bot
8fc62cb098 Merge remote-tracking branch 'origin/master' into develop 2022-08-28 19:55:56 +00:00
Ryan
8e113c5991 kegen/gboy: add manufacturer string (#18196) 2022-08-28 12:55:35 -07:00
Drashna Jaelre
fa08cb2478 [Keymap] Drashna keymap updates for 0.18.0 (#18184)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-28 12:55:19 -07:00
Ryan
3adaf6a46a Handle escaping of manufacturer/product strings (#18194) 2022-08-28 19:35:17 +01:00
QMK Bot
ac33b7b0b3 Merge remote-tracking branch 'origin/master' into develop 2022-08-28 18:24:41 +00:00
Ryan
d4a6ee1cad Clean up schema syntax (#18192) 2022-08-28 19:24:11 +01:00
QMK Bot
10a84d6b93 Merge remote-tracking branch 'origin/master' into develop 2022-08-28 17:16:50 +00:00
Less/Rikki
4adb64a91b [Keyboard] mechwild/bde cleanup and refactor (#18149) 2022-08-28 10:16:20 -07:00
QMK Bot
75c3e9545c Merge remote-tracking branch 'origin/master' into develop 2022-08-28 17:12:49 +00:00
Matt Chan
585b134729 [Keyboard] Add Kegen G-Boy (#18048)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-28 10:12:18 -07:00
QMK Bot
d2cc8d5060 Merge remote-tracking branch 'origin/master' into develop 2022-08-28 17:11:07 +00:00
Joshua Diamond
37a85e1f9b More spidey3 userspace cleanup (#18049) 2022-08-28 10:10:28 -07:00
QMK Bot
f4b5842a7a Merge remote-tracking branch 'origin/master' into develop 2022-08-28 16:59:43 +00:00
Ryan
d983251c10 Switch over MANUFACTURER and PRODUCT to string literals (#18183) 2022-08-28 09:59:40 -07:00
Albert Y
ef0c87c976 Exclude uf2 files in VS Code (#18186) 2022-08-28 09:59:07 -07:00
QMK Bot
6a28ceefcd Merge remote-tracking branch 'origin/master' into develop 2022-08-28 06:14:30 +00:00
James Young
efdd4f4d50 Clean-up of #define _ADJUST 16 instances (#18182)
* enum layer_names: 40percentclub/nori default keymap

* enum layer_names: ergotravel default keymap

* enum layer_names: handwired/atreus50 default keymap

* enum layer_names: handwired/ortho5x13 default keymap

* enum layer_names: keebio/levinson default keymap

* enum layer_names: keebio/nyquist default keymap

* enum layer_names: keebio/rorschach default keymap

* enum layer_names: keebio/viterbi default keymap

* enum layer_names: keebio/wavelet default keymap

* enum layer_names: lets_split default keymap

* enum layer_names: maple_computing/launchpad reference keymaps

Update `default` and `default_rgb` keymaps.

* enum layer_names: maple_computing/minidox default keymap

* enum layer_names: miniaxe reference keymaps

Update `default` and `underglow` keymaps.

* enum layer_names: omkbd/ergodash/mini default keymap

* enum layer_names: omkbd/ergodash/rev1 default keymap

* enum layer_names: orthodox default keymap

* enum layer_names: unikeyboard/divergetm2 default keymap

* enum layer_names: woodkeys/scarletbandana default keymap

* add _Static_assert to keymap_introspection.c
2022-08-27 23:13:44 -07:00
Nick Brassel
1258fdb9ee Branch point for 2022 Nov 26 Breaking Change 2022-08-28 14:27:52 +10:00
Nick Brassel
0a3f7e4869 Merge remote-tracking branch 'upstream/develop' 2022-08-28 14:23:01 +10:00
Nick Brassel
9b5b072255 2022q3 Changelog. (#18180)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-28 14:20:52 +10:00
Joel Challis
a2765bfe19 Add missing SS_LOPT and SS_ROPT defines (#18175) 2022-08-27 09:41:10 +10:00
Ryan
24720400a8 Update LUFA submodule (#18168) 2022-08-26 12:19:34 +10:00
Joel Challis
43fd647130 Add eeprom defaults for tinyuf2 bootloader (#18042) 2022-08-25 21:17:41 +10:00
QMK Bot
1c47bd0ddf Merge remote-tracking branch 'origin/master' into develop 2022-08-24 21:20:43 +00:00
Ryan
fc0bf67f37 Add missing DD mapping for RGB_MATRIX_DRIVER (#18160) 2022-08-24 22:20:05 +01:00
QMK Bot
fdb0cc5981 Merge remote-tracking branch 'origin/master' into develop 2022-08-24 20:41:37 +00:00
Joel Challis
4a67123310 Refactor pianoforte for configurator (#18159) 2022-08-24 13:39:49 -07:00
QMK Bot
3aba764b43 Merge remote-tracking branch 'origin/master' into develop 2022-08-24 20:39:34 +00:00
Joel Challis
e95aa2a352 Fix use of encoder map in mechlovin/zed65/retro66 (#18158) 2022-08-24 13:38:53 -07:00
QMK Bot
fa25cacf6a Merge remote-tracking branch 'origin/master' into develop 2022-08-24 20:38:47 +00:00
Joel Challis
b2db8becf9 Fix use of encoder map in mechlovin/foundation (#18157) 2022-08-24 13:38:07 -07:00
QMK Bot
129c60946c Merge remote-tracking branch 'origin/master' into develop 2022-08-24 19:26:18 +00:00
Joel Challis
3d8c624698 Update invalid pip install flag (#18146) 2022-08-24 20:25:16 +01:00
QMK Bot
5f371104bc Merge remote-tracking branch 'origin/master' into develop 2022-08-24 18:11:55 +00:00
Joel Challis
7fab889696 Fix use of encoder map in mechwild/clunker (#18156) 2022-08-24 19:10:52 +01:00
Ryan
cf41c24db8 Move keyboard USB IDs and strings to data driven: develop (#18152)
* Move keyboard USB IDs and strings to data driven: develop

* Also do new onekeys
2022-08-24 15:28:38 +01:00
QMK Bot
e06ea4a10f Merge remote-tracking branch 'origin/master' into develop 2022-08-23 17:56:51 +00:00
Ramon Imbao
a53ef56946 [Keyboard] Add Plywrks Lune (#17057)
* Add Plywrks Lune

* Add OLED functionality

* Update keyboards/plywrks/lune/keymaps/default/keymap.c

* Update keyboards/plywrks/lune/keymaps/via/keymap.c

* Update keyboards/plywrks/lune/keymaps/via/keymap.c

* Update keyboards/plywrks/lune/lune.c

* Add the missing 2 layers in the keymap

Also added a missing parenthesis in lune.c, and removed
the oled_task_user in the default keymap.

* Update keyboards/plywrks/lune/info.json

* Update keyboards/plywrks/lune/info.json

* Update keyboards/plywrks/lune/info.json

* Update keyboards/plywrks/lune/config.h
2022-08-23 10:55:59 -07:00
QMK Bot
dd0277beab Merge remote-tracking branch 'origin/master' into develop 2022-08-23 17:51:17 +00:00
Kyle McCreery
7839396614 [Keyboard] Add Clunker (#18141)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-23 10:50:19 -07:00
QMK Bot
f03f89ccb5 Merge remote-tracking branch 'origin/master' into develop 2022-08-23 13:43:09 +00:00
Joel Challis
ee416048d9 Use correct board files for cantor (#18144) 2022-08-23 14:42:23 +01:00
QMK Bot
3dd12b5425 Merge remote-tracking branch 'origin/master' into develop 2022-08-23 05:01:45 +00:00
Dave Rowe
f9584c8368 [Keyboard] Enable VIA - ALF X1.1 (#18140) 2022-08-22 22:00:58 -07:00
QMK Bot
c1ce0f44f8 Merge remote-tracking branch 'origin/master' into develop 2022-08-23 02:13:07 +00:00
Brandon Claveria
b395f40e07 [Keyboard] add rgb animation handwired/swiftrax/glacier (#18121)
Co-authored-by: swiftrax <swiftrax@github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-22 19:12:33 -07:00
Sergey Vlasov
7c0e5ce917 Nix shell updates for develop (#18131)
* shell.nix: Update `tomlkit` to 0.11.4 using a Nixpkgs overlay

The used Nixpkgs snapshot contains `tomlkit` version 0.7.0, which is
affected by https://www.github.com/sdispater/tomlkit/issues/148; that
bug is triggered by `pyproject.toml` from `jsonschema` >= 4.11.0,
preventing the build of that module.

Just adding `tomlkit = "*"` to the `[tool.poetry.dev-dependencies]`
section of `nix/pyproject.toml` does not fix the `jsonschema` build,
because `makeRemoveSpecialDependenciesHook` inside `poetry2nix` is not
affected by `nix/pyproject.toml`.  Add a Nixpkgs overlay which updates
the `tomlkit` Python module globally, so that `poetry2nix` would also
use the updated version internally.

* shell.nix: Bump `poetry2nix` to the most recent version

The new `poetry2nix` version includes overrides which are required for
recent versions of some Python packages (in particular, `jsonschema` and
`dotty-dict`).

* shell.nix: Bump QMK CLI to 1.1.1; update other Python deps

Update `pyproject.toml` to match `requirements*.txt`:

- add `pyserial = "*"`
- replace `qmk-dotty-dict = "*"` with `dotty-dict = "*"` (#18117, also
  required for compatibility with `qmk` 1.1.1, where this replacement
  had already been performed)

Add build dependencies of various Python modules to `pyproject.toml`:

- `hatchling`, `hatch-vcs`, `hatch-fancy-pypi-readme` (required by
  `jsonschema` >= 4.11.0)
- `pytest` (a newer version is required to solve the dependency conflict
  with the `hatchling` module due to the upper bound on `pluggy`)
- `flit-core` (a more recent version is required to build `tomli`)
- `poetry-core` (required for `dotty-dict` >= 1.3.1, and the version
  from Nixpkgs does not build on Darwin due to NixOS/nix#4758)

Update `poetry.lock` to use the most recent versions of Python modules.

The complete list of Python module updates as listed in `poetry.lock`
(note that other modules might be present in the Python environment,
e.g., if they come from Nixpkgs):

- `atomicwrites`: none -> 1.4.1 (but this module is not actually used,
  because the corresponding dependency of `pytest` is win32-only)
- `attrs`: 21.4.0 -> 22.1.0
- `colorama`: 0.4.4 -> 0.4.5
- `coverage`: 6.4 -> none
- `dotty-dict`: none -> 1.3.1 (used instead of `qmk-dotty-dict`)
- `editables`: none -> 0.3
- `flake8`: 4.0.1 -> 5.0.4
- `flake8-polyfill`: 1.0.2 -> none
- `flit-core`: none -> 3.7.1
- `hatch-fancy-pypi-readme`: none -> 22.3.0
- `hatch-vcs`: none -> 0.2.0
- `hatchling`: none -> 1.8.0
- `hjson`: 3.0.2 -> 3.1.0
- `importlib-resources`: 5.7.1 -> 5.9.0
- `iniconfig`: none -> 1.1.1
- `jsonschema`: 4.5.1 -> 4.14.0
- `mccabe`: 0.6.1 -> 0.7.0
- `nose2`: 0.11.0 -> 0.12.0
- `packaging`: none -> 21.3
- `pathspec`: none -> 0.9.0
- `pep8-naming`: 0.12.1 -> 0.13.2
- `pillow`: 9.1.1 -> 9.2.0
- `pkgutil-resolve-name`: none -> 1.3.10
- `pluggy`: none -> 1.0.0
- `poetry-core`: none -> 1.0.8
- `py`: none -> 1.11.0
- `pycodestyle`: 2.8.0 -> 2.9.1
- `pyflakes`: 2.4.0 -> 2.5.0
- `pygments`: 2.12.0 -> 2.13.0
- `pyparsing`: none -> 3.0.9
- `pyserial`: none -> 3.5
- `pytest`: none -> 7.1.2
- `qmk`: 1.1.0 -> 1.1.1
- `qmk-dotty-dict`: 1.3.0.post1 -> none (replaced by `dotty-dict`)
- `setuptools-scm`: none -> 7.0.5
- `tomli`: none -> 2.0.1
- `typing-extensions`: none -> 4.3.0
- `zipp`: 3.8.0 -> 3.8.1
2022-08-23 02:59:33 +01:00
QMK Bot
d942c03be6 Merge remote-tracking branch 'origin/master' into develop 2022-08-22 23:06:18 +00:00
Jesse
624d92e2f5 Update Tap Dance Example 4 (#18138)
break statements are missing from the switch for both registering and unregistering key codes. Neither have a default: case either. The code as exists in the repository right now does not compile. It does with this changes.
2022-08-23 00:05:35 +01:00
QMK Bot
b1af9b4fe0 Merge remote-tracking branch 'origin/master' into develop 2022-08-22 09:04:48 +00:00
Ryan
68ad251667 Remove USB IDs and strings from fungo/rev1 (#18133) 2022-08-22 19:04:01 +10:00
Joel Challis
bbc3bc55f2 RESET -> QK_BOOT user keymaps (#17940) 2022-08-21 23:55:30 +01:00
QMK Bot
e36ae90a65 Merge remote-tracking branch 'origin/master' into develop 2022-08-21 22:09:30 +00:00
Ryan
b0eda7701a Move keyboard USB IDs and strings to data driven, pass 3 (#18111) 2022-08-21 23:08:50 +01:00
QMK Bot
51e4e91285 Merge remote-tracking branch 'origin/master' into develop 2022-08-21 19:37:50 +00:00
Paul Ewing
3c0806a489 Add pcewing Speedo v3 keymap (#18118)
* Add pcewing Speedo v3 keymap

* Add readme and code quality improvements
2022-08-21 20:37:18 +01:00
QMK Bot
1e84890a5b Merge remote-tracking branch 'origin/master' into develop 2022-08-21 19:04:26 +00:00
Mario Cadenas
93f0c1f32f [Keymap] Add new keymap to nasu (#18024) 2022-08-21 12:03:48 -07:00
Joel Challis
9b7965d3a9 Align CLI requirements (#18117) 2022-08-21 18:38:17 +01:00
QMK Bot
efd893be39 Merge remote-tracking branch 'origin/master' into develop 2022-08-21 00:18:07 +00:00
Louis Dalibard
7ea54a7837 [Keyboard] Add ai macropad (#17722)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Louis Dalibard <ontake@ontake.dev>
2022-08-20 17:17:02 -07:00
QMK Bot
f99bac052e Merge remote-tracking branch 'origin/master' into develop 2022-08-20 20:28:43 +00:00
Abigail
e2fbcc8099 added keymap for kprepublic/jj40:brdlf (#17961)
* added keymap for kprepublic/jj40:brdlf
2022-08-20 21:28:02 +01:00
QMK Bot
e3cf678569 Merge remote-tracking branch 'origin/master' into develop 2022-08-20 20:21:44 +00:00
JX
706995c044 [Keyboard] Add yandrstudio/nz67v2 keyboard. (#17591)
* add yr nz67v2 by jiaxin96
2022-08-20 21:21:07 +01:00
QMK Bot
cb3c8f40d0 Merge remote-tracking branch 'origin/master' into develop 2022-08-20 20:08:35 +00:00
QMK Bot
d93b5ef247 Format code according to conventions (#18119) 2022-08-20 21:07:57 +01:00
QMK Bot
aa7629f8e6 Merge remote-tracking branch 'origin/master' into develop 2022-08-20 20:01:40 +00:00
bojiguard
5222cf7673 add fungo keyboard (#17513)
by bojiguard
2022-08-20 21:01:04 +01:00
QMK Bot
3609c24df4 Merge remote-tracking branch 'origin/master' into develop 2022-08-20 20:00:24 +00:00
studiokestra
ce19a9cdc5 Add Nascent keyboard support. (#17824)
* Add nascent keyboard by studiokestra
2022-08-20 20:59:47 +01:00
QMK Bot
a580057422 Merge remote-tracking branch 'origin/master' into develop 2022-08-20 18:46:12 +00:00
mechlovin
c2a46a6fa0 [Keyboard] Add Zed65 (#17917)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-20 11:45:38 -07:00
Drashna Jael're
8f6b019dcc Merge remote-tracking branch 'origin/master' into develop 2022-08-20 10:22:48 -07:00
Sergey Vlasov
7ee55b1754 Fix PID value for the Keyboardio Atreus 2 bootloader (#18116)
Copy the correct PID from `util/udev/50-qmk.rules`.
2022-08-20 15:59:17 +01:00
Joel Challis
d2accb48e7 RESET -> QK_BOOT keyboard readme (#18110) 2022-08-20 11:34:17 +01:00
Erovia
5e2ffe7d8f CLI: Teaching the CLI to flash binaries (#16584)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-08-20 15:39:19 +10:00
QMK Bot
3bf36e8b04 Merge remote-tracking branch 'origin/master' into develop 2022-08-20 04:17:48 +00:00
Joe Scotto
e7107691ab [Keymap] Add joe_scotto keymap for CRKBD (#18103) 2022-08-19 21:17:09 -07:00
QMK Bot
68079cba61 Merge remote-tracking branch 'origin/master' into develop 2022-08-20 03:52:33 +00:00
Drashna Jaelre
f08e08cec2 [Keyboard] Fix compilation issues for keycapsss kimiko (#18112) 2022-08-20 13:51:57 +10:00
QMK Bot
a69303bb78 Merge remote-tracking branch 'origin/master' into develop 2022-08-20 02:59:05 +00:00
Davide Masserut
c9120ea8e9 [Keymap] Add Miryoku keymap for Hillside family (#18087) 2022-08-19 19:58:24 -07:00
QMK Bot
880ea06760 Merge remote-tracking branch 'origin/master' into develop 2022-08-20 01:55:33 +00:00
AliceH66
85831fc188 [Keyboard] Add aliceh66 pianoforte (#18081)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-19 18:55:01 -07:00
fauxpark
61689ae609 Merge remote-tracking branch 'upstream/master' into develop 2022-08-20 10:55:40 +10:00
Ryan
201f1a8f47 Move keyboard USB IDs and strings to data driven, pass 2: S-Y (#18093) 2022-08-20 01:48:38 +01:00
Ryan
f4dcce7e59 Move keyboard USB IDs and strings to data driven, pass 2: M-O (#18090) 2022-08-20 01:45:28 +01:00
Ryan
201a914beb Move keyboard USB IDs and strings to data driven, pass 2: P-R (#18091) 2022-08-20 01:42:49 +01:00
Ryan
835c971f78 Move keyboard USB IDs and strings to data driven, pass 2: J-L (#18080) 2022-08-20 10:39:35 +10:00
QMK Bot
eceed6c50b Merge remote-tracking branch 'origin/master' into develop 2022-08-20 00:32:18 +00:00
Ryan
48792b030b Move keyboard USB IDs and strings to data driven, pass 2: handwired (#18079) 2022-08-20 10:31:48 +10:00
QMK Bot
f1ac92ac63 Merge remote-tracking branch 'origin/master' into develop 2022-08-19 23:50:09 +00:00
Drashna Jaelre
39f0fb7bea [Keyboard] Update Work Louder keyboards (#18109) 2022-08-19 16:49:37 -07:00
QMK Bot
4a8bed844d Merge remote-tracking branch 'origin/master' into develop 2022-08-19 22:15:34 +00:00
Joel Challis
f1786cbd7b Fix duplicate keys in info.json files (#18107) 2022-08-19 23:14:38 +01:00
QMK Bot
c0c875d675 Merge remote-tracking branch 'origin/master' into develop 2022-08-19 19:48:31 +00:00
yiancar
8e8c0e2d57 Cyberstar Custom (#18076)
* Create Cyberstar Custom

Co-authored-by: yiancar <yiancar@gmail.com>
2022-08-19 20:47:45 +01:00
Nick Brassel
1eac095c0c Use the correct bootloader definition. (#18102) 2022-08-19 05:20:44 +01:00
QMK Bot
5ee482b110 Merge remote-tracking branch 'origin/master' into develop 2022-08-19 01:19:23 +00:00
Simon Hengel
e6a1afb8f1 [Docs] Fix typo in data driven config docs (#18095) 2022-08-18 18:18:51 -07:00
QMK Bot
2ed2c88a08 Merge remote-tracking branch 'origin/master' into develop 2022-08-19 01:17:50 +00:00
~ aka goonf!sh
286dd6abe6 [Docs] Update list of "ARM-based ProMicro replacements" (#18083) 2022-08-18 18:17:20 -07:00
Joel Challis
3c745caf61 Remove legacy bootmagic cli parsing (#18099) 2022-08-19 01:56:48 +01:00
Joel Challis
9550cc464c Fix new-keyboard default for RP2040 bootloader (#18100) 2022-08-19 01:48:33 +01:00
Joel Challis
0fcebdcdf1 Swap F4x1 default board files away from blackpill (#17522) 2022-08-19 00:52:50 +01:00
HorrorTroll
227e552f5c Add support keyboard Feker IK75 (#17611) 2022-08-18 01:23:34 +01:00
David Hoelscher
a645301c82 Add Bonsai C4 converter (#17711) 2022-08-18 01:01:54 +01:00
QMK Bot
29f47f4cf3 Merge remote-tracking branch 'origin/master' into develop 2022-08-17 22:51:34 +00:00
jack
9607b46756 Fixup mokey/ibis80 keymaps (#18088) 2022-08-17 23:51:04 +01:00
QMK Bot
f9abecda3f Merge remote-tracking branch 'origin/master' into develop 2022-08-17 14:11:59 +00:00
Juno Nguyen
45845ea07f Replace CG_SWAP in junonum (#18086)
Co-authored-by: Minh-tri Nguyen <mtngx@PigeonMac.local>
2022-08-17 15:11:00 +01:00
QMK Bot
47e98e3a68 Merge remote-tracking branch 'origin/master' into develop 2022-08-17 07:28:11 +00:00
CoffeeIsLife
0df97fc968 [Keymap] Add personal keymap for kprepublic BM40HSRGB (#18021)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Fae <faenkhauser@gmail.com>
2022-08-17 00:27:31 -07:00
ZhaoYou
6b78d07e64 [Keyboard] add 'soda/cherish' (#18057)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-17 00:26:35 -07:00
QMK Bot
39337373f5 Merge remote-tracking branch 'origin/master' into develop 2022-08-17 02:38:02 +00:00
Runheme
e5f1d8859e [Keyboard] Add ibis80 (#18051)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-16 19:37:57 -07:00
QMK Bot
2ade237e77 Merge remote-tracking branch 'origin/master' into develop 2022-08-17 02:37:40 +00:00
Toshihiro Suzuki
5a1a0e71de [Keymap] toshi0383 keymaps update (#18073) 2022-08-16 19:37:29 -07:00
QMK Bot
cfab3e2d6e Merge remote-tracking branch 'origin/master' into develop 2022-08-17 02:37:10 +00:00
Albert Y
a1f0208797 [Docs] Use layer number as example for COMBO_ONLY_FROM_LAYER (#18072)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-16 19:37:06 -07:00
jotix
8230b4c49d [Keymap] jotix's community/ortho4x12 change (#18069) 2022-08-16 19:36:30 -07:00
QMK Bot
77150d00ac Merge remote-tracking branch 'origin/master' into develop 2022-08-16 18:42:23 +00:00
coliss86
837a57b3c5 Adjust the hierarchy of chapter Deferred Execution (#18075) 2022-08-16 11:41:31 -07:00
QMK Bot
7014e1efa3 Merge remote-tracking branch 'origin/master' into develop 2022-08-16 17:23:31 +00:00
yiancar
c834608a74 Fix WS2812 order for aurora65 and loki65 (#18074) 2022-08-16 18:22:47 +01:00
QMK Bot
c5dc4b4d1d Merge remote-tracking branch 'origin/master' into develop 2022-08-16 17:02:38 +00:00
Tom Barnes
2f4ad40561 [Docs] update pr_checklist.md with info about data-driven (#18068)
* update pr_checklist with info about data-driven

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2022-08-16 18:01:56 +01:00
QMK Bot
9f0925fb18 Merge remote-tracking branch 'origin/master' into develop 2022-08-16 14:29:11 +00:00
Joel Challis
164faf0a5c Use correct board file in xelus/valor_frl_tkl/rev2_0 (#18071) 2022-08-16 15:28:22 +01:00
QMK Bot
904df296b0 Merge remote-tracking branch 'origin/master' into develop 2022-08-15 17:55:58 +00:00
Joel Challis
e44b6242b7 Migrate more F4x1 board files (#18054) 2022-08-15 18:55:21 +01:00
precondition
5021cf58ad Fix DV_SCLN and DV_COLN in keymap_spanish_dvorak.h (#18043) 2022-08-15 18:41:05 +01:00
Stefan Kerkmann
f74ed5fc53 Fix GD32VF103 WS2812 PWM driver (#18067)
...by adding the missing STM32 DMA defines.
2022-08-15 18:00:22 +01:00
Stefan Kerkmann
8ce946b5c8 [Bug] Add key event check to is_tap_record and remove is_tap_key (#18063) 2022-08-15 16:40:51 +02:00
jack
5e6175a553 Fixup gmmk/pro/rev2 USB Data (#18056) 2022-08-15 23:21:15 +10:00
QMK Bot
1ccfed483d Merge remote-tracking branch 'origin/master' into develop 2022-08-15 09:15:56 +00:00
Ryan
b297a347bb ADB to USB converter: split into rev1 and rev2 (#18052) 2022-08-15 10:15:22 +01:00
fauxpark
c202602938 Merge remote-tracking branch 'upstream/master' into develop 2022-08-15 17:54:07 +10:00
precondition
8e9ee29fe3 Remove duplicate COMBINING HORN in keymap_us_extended.h (#18045) 2022-08-14 22:25:37 -07:00
Joel Challis
ed3b4bb606 Fix missing development_board schema entry (#18050) 2022-08-14 22:25:16 -07:00
Ryan
51d5aad25b Move keyboard USB IDs and strings to data driven, pass 2: D-E (#17956) 2022-08-15 13:30:12 +10:00
Ryan
1027aed83a Move keyboard USB IDs and strings to data driven, pass 2: F-I (#17958) 2022-08-15 02:53:19 +01:00
QMK Bot
5334614e8a Merge remote-tracking branch 'origin/master' into develop 2022-08-14 23:55:05 +00:00
PeterFalken
4c91e5bef8 Allow disabling RGB_MATRIX_ANIMATIONS system76 keyboards (#17478) 2022-08-14 19:54:25 -04:00
QMK Bot
630de240b4 Merge remote-tracking branch 'origin/master' into develop 2022-08-14 23:26:34 +00:00
Joel Challis
93fb69fbda Migrate more F4x1 board files (#18046) 2022-08-15 00:25:40 +01:00
Joel Challis
463fb72d29 Partially revert some WB32 specific changes (#18038) 2022-08-14 20:48:44 +01:00
QMK Bot
74b4bcb607 Merge remote-tracking branch 'origin/master' into develop 2022-08-14 19:43:25 +00:00
Alberto
3d3e463598 Feat/port ft mars 65 (#17994)
* by wonderbeel
2022-08-14 20:42:58 +01:00
QMK Bot
e6a522417a Merge remote-tracking branch 'origin/master' into develop 2022-08-14 19:26:44 +00:00
Cyn
5f74ae5b63 Improve Drop Alt compatibility with VIA (#18041)
by slycedix
2022-08-14 20:26:06 +01:00
Pascal Getreuer
95c43a2759 Fix Caps Word to treat mod-taps more consistently. (#17463)
* Fix Caps Word to treat mod-taps more consistently.

Previously, holding any mod-tap key while Caps Word is active stops Caps
Word, and this happens regardless of `caps_word_press_user()`. Yet for
regular mod keys, AltGr (KC_RALT) is ignored, Shift keys are passed to
`caps_word_press_user()` to determine whether to continue, and
similarly, a key `RSFT(KC_RALT)` representing Right Shift + Alt is
passed to `caps_word_press_user()` to determine whether to continue.

This commit makes held mod-tap keys consistent with regular mod keys:

* Holding a `RALT_T` mod-tap is ignored.
* When holding a shift mod-tap key, `KC_LSFT` or `KC_RSFT` is passed to
  `caps_word_press_user()` to determine whether to continue.
* When holding a Right Shift + Alt (`RSA_T`) mod-tap, `RSFT(KC_RALT)` is
  passed to `caps_word_press_user()`.

Particularly, with this fix a user may choose to continue Caps Word when
a shift mod-tap key is held by adding `KC_LSFT` and `KC_RSFT` cases in
`caps_word_press_user()`. For instance as

```
bool caps_word_press_user(uint16_t keycode) {
  switch (keycode) {
    // Keycodes that continue Caps Word, with shift applied.
    case KC_A ... KC_Z:
    case KC_MINS:
      add_weak_mods(MOD_BIT(KC_LSFT));  // Apply shift to the next key.
      return true;

    // Keycodes that continue Caps Word, without shifting.
    case KC_1 ... KC_0:
    case KC_BSPC:
    case KC_DEL:
    case KC_UNDS:
    case KC_LSFT:  // <<< Added here.
    case KC_RSFT:
      return true;

    default:
      return false;  // Deactivate Caps Word.
  }
}
```

* Fix Caps Word to treat mod-taps more consistently.

Previously, holding any mod-tap key while Caps Word is active stops Caps
Word, and this happens regardless of `caps_word_press_user()`. Yet for
regular mod keys, AltGr (KC_RALT) is ignored, Shift keys are passed to
`caps_word_press_user()` to determine whether to continue, and
similarly, a key `RSFT(KC_RALT)` representing Right Shift + Alt is
passed to `caps_word_press_user()` to determine whether to continue.

This commit makes held mod-tap keys consistent with regular mod keys:

* Holding a `RALT_T` mod-tap is ignored.
* When holding a shift mod-tap key, `KC_LSFT` or `KC_RSFT` is passed to
  `caps_word_press_user()` to determine whether to continue.
* When holding a Right Shift + Alt (`RSA_T`) mod-tap, `RSFT(KC_RALT)` is
  passed to `caps_word_press_user()`.

Particularly, with this fix a user may choose to continue Caps Word when
a shift mod-tap key is held by adding `KC_LSFT` and `KC_RSFT` cases in
`caps_word_press_user()`. For instance as

```
bool caps_word_press_user(uint16_t keycode) {
  switch (keycode) {
    // Keycodes that continue Caps Word, with shift applied.
    case KC_A ... KC_Z:
    case KC_MINS:
      add_weak_mods(MOD_BIT(KC_LSFT));  // Apply shift to the next key.
      return true;

    // Keycodes that continue Caps Word, without shifting.
    case KC_1 ... KC_0:
    case KC_BSPC:
    case KC_DEL:
    case KC_UNDS:
    case KC_LSFT:  // <<< Added here.
    case KC_RSFT:
      return true;

    default:
      return false;  // Deactivate Caps Word.
  }
}
```

* Update quantum/process_keycode/process_caps_word.c

Co-authored-by: Joel Challis <git@zvecr.com>
2022-08-14 20:25:32 +01:00
Chewxy
6fc7c03e95 Added emacs as an "operating system" for input mode. (#16949) 2022-08-14 20:24:52 +01:00
Drashna Jaelre
4da3482872 Fix Emulated EEPROM issue with F466 (#18039) 2022-08-14 17:18:59 +01:00
precondition
0a6327d20c Replace ; by : in the shifted symbols ASCII art of keymap_norman (#18029)
Thanks!
2022-08-14 12:18:42 -04:00
Drashna Jaelre
9f31fcace3 [Keyboard] Fix compilation issues for Boardsource Microdox (#18037) 2022-08-14 17:03:40 +01:00
Mega Mind
fce99f3875 [Controller] Added board config for custom controller STeMCell (#16287)
Co-authored-by: Mariappan Ramasamy <947300+Mariappan@users.noreply.github.com>
Co-authored-by: Mariappan Ramasamy <maari@basis-ai.com>
Co-authored-by: Sadek Baroudi <sadekbaroudi@gmail.com>
2022-08-14 21:27:26 +10:00
Joel Challis
ba04ecfabd Align TO() max layers with other keycodes (#17989) 2022-08-14 21:25:46 +10:00
Drashna Jael're
ac31e42974 Merge remote-tracking branch 'origin/master' into develop 2022-08-14 01:54:23 -07:00
Xelus22
4195eb8fe1 [Keyboard] Add Valor FRL TKL rev2.0 and 2.1 (#17992)
* add valor frl tkl rev2 by xelus22
2022-08-14 08:17:11 +01:00
Joy Lee
e948fa6f6e Added support for gmmk pro rev2 keyboard. (#17655)
Co-authored-by: Joy <chang.li@westberrytech.com>
2022-08-14 14:00:12 +10:00
Ryan
3a7dbc8981 Move keyboard USB IDs and strings to data driven, pass 2: B-C (#17945) 2022-08-14 12:16:16 +10:00
yiancar
dfc92d8f7b Fix buffer size for WS2812 PWM driver (#17046)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: yiancar <yiancar@gmail.com>
2022-08-13 18:36:34 -07:00
Joy Lee
c02d7ae86f Added ws2812_pwm support for WB32 MCU. (#17142)
Co-authored-by: Joy <chang.li@westberrytech.com>
2022-08-13 18:21:46 -07:00
Joy Lee
6b1c7d20aa Added ws2812_spi support for WB32 MCU (#17143)
Co-authored-by: Joy <chang.li@westberrytech.com>
2022-08-13 18:09:57 -07:00
QMK Bot
5c805e4cc5 Merge remote-tracking branch 'origin/master' into develop 2022-08-14 01:09:31 +00:00
Gary Kong
28b05d15ff [Keyboard] add bajjak keyboard (#12377)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: peepeetee <43021794+peepeetee@users.noreply.github.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2022-08-13 18:08:46 -07:00
JJ48
4eda139b83 Add Gentleman 65 SE Solderd PCB support (#16992) 2022-08-14 01:55:03 +01:00
QMK Bot
2d40713567 Merge remote-tracking branch 'origin/master' into develop 2022-08-14 00:52:21 +00:00
Nick Brassel
86261bfd8e Add texts for Discord Events to be created post-merge. (#17944) 2022-08-13 17:51:45 -07:00
precondition
2c3b447641 Use ANSI ASCII art and fix comments for LT_COLN and LT_UNDS in keymap_lithuanian_qwerty.h (#18028) 2022-08-13 17:50:32 -07:00
QMK Bot
50ff52639f Merge remote-tracking branch 'origin/master' into develop 2022-08-14 00:47:42 +00:00
Ryan
3079691391 Move keyboard USB IDs and strings to data driven, pass 2: 0-9, A (#17941) 2022-08-13 17:47:05 -07:00
QMK Bot
b44c3f92ae Merge remote-tracking branch 'origin/master' into develop 2022-08-14 00:47:05 +00:00
Marko Skakun
0f1bb982e9 [Keyboard] Added different wiring of dactyl (#17997) 2022-08-13 17:46:35 -07:00
QMK Bot
4faf0ccaec Merge remote-tracking branch 'origin/master' into develop 2022-08-14 00:36:47 +00:00
Less/Rikki
ca2d05f5c6 [Keyboard] jacky_studio/piggy60 (#18012) 2022-08-13 17:36:11 -07:00
QMK Bot
2363a3bc42 Merge remote-tracking branch 'origin/master' into develop 2022-08-14 00:33:31 +00:00
Tom Barnes
0d3e07a3db [Docs] Suggest imgur images are edited to set size (#18031) 2022-08-13 17:32:30 -07:00
Takeshi ISHII
a83afb3fcd Improve avr wait_us() (#16879) 2022-08-14 00:04:03 +01:00
Joshua Diamond
2f87abd4ef Revert "[Core] Re-order user space rules inclusion (#17459)" (#18032) 2022-08-14 07:13:15 +10:00
QMK Bot
b1c7df9a68 Merge remote-tracking branch 'origin/master' into develop 2022-08-13 20:26:43 +00:00
Jesus Climent
cbcb4f2ec0 [Keyboard] Added Atreyu keyboard. (#17698)
* Add Atreyu keyboard.

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-13 21:26:05 +01:00
QMK Bot
8fd7825007 Merge remote-tracking branch 'origin/master' into develop 2022-08-13 20:16:08 +00:00
mechlovin
1eecdb502d [Keyboard] Add Foundation to QMK (#17573)
* add mechlovin foundation keyboard

Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-13 21:15:35 +01:00
QMK Bot
7dca40f5af Merge remote-tracking branch 'origin/master' into develop 2022-08-13 20:13:03 +00:00
p4yne
40676d058e [Keymap] adding new user (p4yne) layout with complex lighting feature… (#16085)
* [Keymap] adding new user (p4yne) layout with complex lighting features (per layer, per key, per type) and usefull layers DE/US, etc.

Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-13 21:12:31 +01:00
QMK Bot
bcd021263e Merge remote-tracking branch 'origin/master' into develop 2022-08-13 19:48:14 +00:00
emlah
a49bdd2659 add BAMFK-4 (#17985)
* add BAMFK-4
2022-08-13 20:47:39 +01:00
QMK Bot
97b610e166 Merge remote-tracking branch 'origin/master' into develop 2022-08-13 19:45:00 +00:00
3araht
e145c7ad3f Bandominedoni version output feature and a new keymap added (#17947)
* SPLIT_USB_DETECT added.

* lednotg keymap added.

* lednotg missing modification fixed.

* VERSION is available.

* USER00 is used instead of SAFE_RANGE in via/keymap.c
2022-08-13 20:44:29 +01:00
QMK Bot
f417ffff5a Merge remote-tracking branch 'origin/master' into develop 2022-08-13 19:39:19 +00:00
Shem Sedrick
95782691d4 Dactyl Manuform 4x5 with 5 thumb cluster (#17671)
* Working on new dactyl

* Preliminary build and keymap in place for 4x5_5 dactyl manuform

* Removing first attempt to use 4x5

* Updating to match c style guide

* Fixing issues after merge, deletion of dactyl_manuform.h

* Spliting out custom keymap

* Adding license headers

* Fixing EE_HANDS detection on Pro-Micro

The pro-micro was not working when I plugged into the elite-c on the
right hand side of my keyboard. Adding the SPLIT_USB_DIRECT definition
fixed the issue.

* Apply suggestions from code review

Adding Drashna's delete comments

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

* Removed config.h for keymaps and tweaked keymap

Per Drashna's pr review, I have removed the config.h files for the
keymaps.
Also tweaked my keymap to switch backspace and enter. Added tapping
toggle for RAISE.

* Further tweaking ssedrick keymap for dactyl_manuform 4x5_5

As with most new keyboards, they take some getting used to.
I've rearranged my thumb cluster to hopfully a more long
term solution.

* Adding missing KC_BSLS to ssedrick keymap for 4x5_5

Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-13 20:38:31 +01:00
QMK Bot
e95ba0d651 Merge remote-tracking branch 'origin/master' into develop 2022-08-13 19:10:39 +00:00
mmccoyd
aee738c61b [Keyboard] Add Hillside 46 (#17968)
* 46: Copy from 52 and file rename

* 46: File internals refer to 46, not 52

* 46: Board remove row

* 46: Keymap: Lshift becomes ctrl, Rshift a symbol

- ESC and CAPs on upper thumbs
- AltGr and App on upper thumbs
- Page up/down on upper thumbs
- F11, F12 and mods for them on adjust

* 46: Readme update for json script, tweaks

* 46: Board fix LED count

* 46: Keymap: Arrows right, symmetric layer keys

* 46: Readme: Image link with and w/o outer pinkie

* 46: Keymap: link fixed image of nav layer

* 46: Keymap: fix reaching adj layer

Co-authored-by: mmccoyd <mmccoyd@cs.berkley.edu>
2022-08-13 20:10:01 +01:00
QMK Bot
826ab5412f Merge remote-tracking branch 'origin/master' into develop 2022-08-13 18:02:19 +00:00
alaviss
b1fe7621eb RFC: add a simple implementation of the ploopy optical encoder (#17912) 2022-08-13 11:01:44 -07:00
precondition
96731ba88e Fix LV_CCAR and LV_NCED (#18025) 2022-08-13 10:24:15 -07:00
QMK Bot
a03849c92c Merge remote-tracking branch 'origin/master' into develop 2022-08-13 16:24:37 +00:00
gourdo1
4c6ce12d2a Updated gourdo1 GMMK Pro keymaps (#17873)
* Fixed Left Shift tapdance in general and for gaming mode. (#12)

* update ISO readme
* left shift fixed in general, including for gaming mode

* fixed toggle menu rendering on ISO layouts

* updated readme's and cosmetics

* update readme's

* update readme's again

* readme cosmetics

* consolidate readme's

* more readme cosmetics

* clarification for bootloader mode on ISO

* Autocorrect added with 400 word English dictionary (#13)

* autocorrect added with 400 word dictionary

* update readme's for autocorrect

* Add FN-B as shortcut to bootloader

* Update .gitignore

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

* RGB changes to system numlock and ISO extended alphas

- hide system numlock off indicator (primarily for Mac users) by moving it to numpad and FN layers instead
- give users with extended alpha ISO languages a config option to add RGB highlights for extras alphas on capslock

* readme updates

* Fixed [FN]B and [FN]N shortcuts not working on numpad layer

Co-authored-by: Joel Challis <git@zvecr.com>
2022-08-13 17:24:07 +01:00
QMK Bot
149db3c6a8 Merge remote-tracking branch 'origin/master' into develop 2022-08-13 16:19:58 +00:00
mmccoyd
0c0d01966f [Keyboard] Add Hillside 52 (#17374)
* 52 Keymap.json: Set for Hillside 52

- Change script rows

* 52 Keymap.c: mirror .json

CAPSWORD, QK_BOOT, readme cleanup, EE_RST

* 52 Keymap.json: Initial files copy from 56

* 52 Keymap.json nav/edit lay, thumb shift, syms

- Del in backspace spot on sym layer
- Thumb shift OSM instead of extra space
- Nav/edit on num/fn: arrows cut copy paste undo redo, page up/down
- Fn keys bottom row to allow nav edit keys
- App and AltGr on lower row, on their layer
- Braces on index, so more common -= on middle ring.
- Adjust has Ctrl/GUI swap
- EE_RST, CAPSWORD, QK_BOOT, SPLIT_DETECT

* 52 Family: readme image and folder link

* 52 Board: initial copy from 56

* 52 Keymap via

* 52 Board: remove keys, cant columns, better ids

- .json: vid: MM, pid: H52

* 52 Keymap.c: initial.c copy from 48

* QK_BOOT EE_CLR, not ANY(), as config.qmk supports

- CAPSWRD instead of ANY, though config.qmk still converts to ANY()

* Cleanup readme

* 52 Keymap: Remove redundant key, cleanup script

* 52 Keymap: Fix template

* 52 Readme: Link lower res image better for readme

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

* 52 Keymap: Move pretty-print script to GitHub wiki

* 52 Keymap: Link to 1024 res image thumbnails

* 52 Keymap: fix whitespace before image link

* Family: Fix image link to 1024 thumb

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

* 52: Keymap: Caps word on a layer home row

* 52: Keymap: Arrows on right. Symmetric layer keys.

- Nav:
  - Arrows on right so up/down more intuitive. Page up/down on ends
  - Cut on home row, as more common

- Sym:
  - Layer mods on activate hand, extras symbols on left
  - Common digits on lower row

- Base:
  - Layer keys symmetric, on most extended, not resting, thumb
  - Mute on util key for easy use

- Swap layers 3 and 4 to match swapped thumbs

Co-authored-by: mmccoyd <mmccoyd@cs.berkley.edu>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-13 17:19:21 +01:00
QMK Bot
39d2f61d51 Merge remote-tracking branch 'origin/master' into develop 2022-08-13 16:14:39 +00:00
kopibeng
648f3eb71f Add support for XT60_SINGA (#17752)
* Added support for Christine, XT65E and Adelais

* Add support for MNK88

* Add support for XT8x

* Renamed XT65E to Typ65

* Revert "Renamed XT65E to Typ65"

This reverts commit b4fbc853d2.

* Revert "Revert "Renamed XT65E to Typ65""

This reverts commit 09baee94eb.

* File reorganization

* Add support for MNK88

* Update readme.md

* Update keyboards/kopibeng/mnk88/rules.mk

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

* Update keyboards/kopibeng/mnk88/rules.mk

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

* Fix imgur link

* Update keyboards/kopibeng/mnk88/rules.mk

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

* Update keyboards/kopibeng/mnk88/info.json

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

* Update info.json

Previous suggested change was breaking lint check, reverting back to the original.

* Update keyboards/kopibeng/mnk88/info.json

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

* Fix info.json

* Added XT60_SINGA

* Update config.h

* Update readme.md

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-13 17:13:49 +01:00
Vino Rodrigues
52dc16b758 [Keyboard] IDOBAO ID80v1 folder rename (#17265)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-14 00:00:42 +10:00
Albert Y
69fa2d8378 [Core] Re-order user space rules inclusion (#17459) 2022-08-13 23:57:07 +10:00
Pascal Getreuer
6a0d90f81a Fix Caps Word capitalization when used with Combos + Auto Shift. (#17549) 2022-08-13 23:48:51 +10:00
Jay Greco
4eeafbebab Add Bit-C PRO converter (#17827) 2022-08-13 14:48:30 +01:00
Joel Challis
fc7e9efd21 Improve importer workflow (#17707) 2022-08-13 14:39:56 +01:00
lokher
a02aff9c77 Add led matrix support for CKLED2001 (#17643) 2022-08-13 14:39:06 +01:00
QMK Bot
ee664e0960 Merge remote-tracking branch 'origin/master' into develop 2022-08-13 13:24:07 +00:00
Nick Brassel
dccb8ff7d6 Remove old submodules if present (#17930) 2022-08-13 23:23:32 +10:00
QMK Bot
853d47b4cc Merge remote-tracking branch 'origin/master' into develop 2022-08-13 04:49:33 +00:00
Drashna Jaelre
b881778f53 [Keyboard] Remove unused keycodes from Aurora65 keymap (#18022) 2022-08-12 21:48:33 -07:00
Drashna Jaelre
3d24845016 [Bug] Fix wrong varaible in encoder block (#18020) 2022-08-12 19:55:59 -07:00
QMK Bot
31e78aafbd Merge remote-tracking branch 'origin/master' into develop 2022-08-13 02:47:02 +00:00
arnstadm
aee48b8aab [Keyboard] add ogrn (#17983)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-12 19:46:16 -07:00
QMK Bot
60176a3a28 Merge remote-tracking branch 'origin/master' into develop 2022-08-13 02:38:32 +00:00
rockybulwinkle
fb150e08f1 [Keyboard] Increase kinesis/kint41 unselect delay (#18015)
* [Keyboard] Increase kinesis/kint41 unselect delay

Fixes #18014

* Update kint41.c

Use correct si-abbreviation for micro in comment.
2022-08-13 03:38:01 +01:00
QMK Bot
7a95926f46 Merge remote-tracking branch 'origin/master' into develop 2022-08-13 02:30:55 +00:00
arnstadm
5ed7e1acf1 [Keyboard] Add akb-ogr (#17982)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-12 19:30:10 -07:00
precondition
4ff39b5652 KR_DQUO S(KR_COLN) → KR_DQUO S(KR_QUOT) (#18011) 2022-08-12 19:20:58 -07:00
precondition
e3415d6b97 define CZ_PERC S(CZ_PLUS) → define CZ_PERC S(CZ_EQL) (#18008) 2022-08-12 19:20:35 -07:00
precondition
20f0f40220 Remove invisible variation selector-15 from keymap_japanese.h (#18007) 2022-08-12 19:16:50 -07:00
precondition
b4fbb340c5 Use LT_ZCAR in place of LT_PLUS for modded kc definitions (#18000) 2022-08-12 19:13:43 -07:00
precondition
db4c4b1f78 Fix Bépo's BP_NNBS (narrow non-breaking space) (#17999)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-12 19:13:22 -07:00
QMK Bot
e0b4fa512e Merge remote-tracking branch 'origin/master' into develop 2022-08-13 02:04:58 +00:00
Ryan
536e39a5d9 Fix viendi8l compilation (#18017) 2022-08-12 19:04:18 -07:00
Joy Lee
19ce1418ba Added implementation of WB32 MCU wear_leveling_efl. (#17579) 2022-08-13 02:14:33 +01:00
Drashna Jaelre
aed82bc6a0 Move Encoder+Encoder Map from generic features (#18018) 2022-08-12 18:04:02 -07:00
QMK Bot
06c7614a71 Merge remote-tracking branch 'origin/master' into develop 2022-08-13 00:45:05 +00:00
Drashna Jaelre
ea2ec5835b [Keyboard] Fix compilation issues for Mechlovin Adelais (#18019) 2022-08-13 01:44:33 +01:00
QMK Bot
06391314cd Merge remote-tracking branch 'origin/master' into develop 2022-08-13 00:27:58 +00:00
DUILCHOI
a1fe9fe3b3 [Keymap] update fave104 keymap (#18004) 2022-08-12 17:27:53 -07:00
Albert Y
70c6b183df [Docs] Refactor code examples (#18003) 2022-08-12 17:27:24 -07:00
Drashna Jaelre
ccdba43e59 Create generic Pointing Device Pin defines (#17776) 2022-08-12 16:22:34 -07:00
QMK Bot
83f6aedd93 Merge remote-tracking branch 'origin/master' into develop 2022-08-12 23:03:46 +00:00
precondition
1a4a278251 Put non-US ISO keys in their expected spots in sagittarius' default keymaps (#18005) 2022-08-13 09:03:14 +10:00
Nick Brassel
8133f40c26 Update to latest ChibiOS-Contrib. (#18016) 2022-08-13 08:54:32 +10:00
QMK Bot
c565b415f7 Merge remote-tracking branch 'origin/master' into develop 2022-08-12 18:51:40 +00:00
QMK Bot
90e2a5100b Format code according to conventions (#18009) 2022-08-12 11:50:58 -07:00
QMK Bot
92d78a0198 Merge remote-tracking branch 'origin/master' into develop 2022-08-12 18:29:58 +00:00
Vertex-kb
cded26b199 [Keyboard] Add arc60 (#17976)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-12 11:28:53 -07:00
QMK Bot
15422b3b26 Merge remote-tracking branch 'origin/master' into develop 2022-08-12 02:04:13 +00:00
Joel Challis
7e7387c0d1 Remove legacy keycode use from command (#18002) 2022-08-12 03:03:36 +01:00
Albert Y
cde9dd8b90 Refactor Pixel Fractal effect (#17602)
* Refactor effect with smaller array

* Add RGB_MATRIX_USE_LIMITS call

* Remove spaces

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-11 22:41:42 +01:00
Sergey Vlasov
9e44362179 Add minimal STM32F103C6 support (#17853)
Unfortunately, the crippled versions of “Bluepill” boards with
STM32F103C6xx chips instead of STM32F103C8xx are now sold all over the
place, sometimes advertised in a confusing way to make the difference
not noticeable until too late.  Add minimal support for these MCUs in
the common “Bluepill with stm32duino” configuration, so that it could be
possible to make something useful from those boards (although fitting
QMK into the available 24 KiB of flash may be rather hard).

(In fact, I'm not sure whether the “STM32” part of the chip name is
actually correct for those boards of uncertain origin, so the onekey
board name is `bluepill_f103c6`; another reason for that name is to
match the existing `blackpill_f401` and `blackpill_f411`.)

The EEPROM emulation support is not included on purpose, because
enabling it without having a working firmware size check would be
irresponsible with such flash size (the chance that someone would build
a firmware where the EEPROM backing store ends up overlapping some
firmware code is really high).  Other than that, enabling the EEPROM
emulation code is mostly trivial (the `wear_leveling` driver with the
`embedded_flash` backing store even works without any custom
configuration, although its code is significantly larger than the
`vendor` driver, which may also be important for such flash size).
2022-08-11 22:37:41 +01:00
QMK Bot
8c4269f98e Merge remote-tracking branch 'origin/master' into develop 2022-08-11 21:04:46 +00:00
Danny
fab6c8a028 [Keyboard] Add Iris Rev. 7 (#17967)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-11 14:04:00 -07:00
Joshua Diamond
272f224dc6 Add cursor layer to DMQ Spin (#17996) 2022-08-11 13:28:48 -04:00
QMK Bot
ba370a54cd Merge remote-tracking branch 'origin/master' into develop 2022-08-11 16:09:38 +00:00
mincedshon
55f5406ac7 update ecila layout (#17975)
-update layout
2022-08-11 17:08:57 +01:00
QMK Bot
9981aaaae8 Merge remote-tracking branch 'origin/master' into develop 2022-08-11 05:06:33 +00:00
QMK Bot
a54ccb4ced Format code according to conventions (#17990) 2022-08-10 22:05:59 -07:00
QMK Bot
9d10a19fa8 Merge remote-tracking branch 'origin/master' into develop 2022-08-11 05:00:10 +00:00
DUILCHOI
0aeb9da030 [Keymap] update fave104 keymap (#17988) 2022-08-10 21:59:48 -07:00
Adam Applegate
a6fad5cc87 [Keymap] Added personal keymap for keebio/iris/rev6 (#17971) 2022-08-10 21:59:21 -07:00
Ivan Gromov
5dd944d450 [Keyboard] Add Aperture keyboard (#17980) 2022-08-10 21:59:05 -07:00
QMK Bot
f3acbf60fc Merge remote-tracking branch 'origin/master' into develop 2022-08-11 04:43:11 +00:00
Less/Rikki
34f0c1ac1b [Keyboard] fix: unicorne info.json LAYOUT (#17981) 2022-08-10 21:42:34 -07:00
QMK Bot
91be4740f2 Merge remote-tracking branch 'origin/master' into develop 2022-08-11 02:21:46 +00:00
James Young
380465e51c Acheron Athena Layout Macro Refactor and Additions (#17973) 2022-08-10 19:21:06 -07:00
QMK Bot
1882cdbf7b Merge remote-tracking branch 'origin/master' into develop 2022-08-11 01:48:48 +00:00
James Young
9ccbdad816 KBDfans KBD67 rev2: rename LAYOUT_65_ansi_split_bs_2_right_mods macro (#17972) 2022-08-10 18:48:12 -07:00
QMK Bot
e4b55a423a Merge remote-tracking branch 'origin/master' into develop 2022-08-11 01:45:33 +00:00
Álvaro A. Volpato
9898d6f4b0 [Keyboard] Add Viendi8L (#17943)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-10 18:44:59 -07:00
QMK Bot
ff59ae9783 Merge remote-tracking branch 'origin/master' into develop 2022-08-11 01:44:31 +00:00
Álvaro A. Volpato
90c4350af7 [Keyboard] Initial FM-S and FM-H support (#17765)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-10 18:43:52 -07:00
QMK Bot
b7b842da55 Merge remote-tracking branch 'origin/master' into develop 2022-08-11 01:39:09 +00:00
3araht
1038ade342 [Keyboard] add chromatonemini keyboard (#13516) 2022-08-10 18:38:32 -07:00
QMK Bot
90a290ea62 Merge remote-tracking branch 'origin/master' into develop 2022-08-11 01:34:34 +00:00
James Young
c230d0658e MacroCat Refactor (#17969) 2022-08-10 18:34:20 -07:00
Roger
d790b53580 [Keymap] single layer layout for BFO-9000 with numpad on the left (#17957) 2022-08-10 18:33:55 -07:00
QMK Bot
63915e84dc Merge remote-tracking branch 'origin/master' into develop 2022-08-10 20:08:21 +00:00
yiancar
a6d0cc3aab Aurora65 (#17966)
* aurora65 initial commit

* Add keymap images

* Move USB config to JSON

Co-authored-by: yiancar <yiancar@gmail.com>
2022-08-10 21:07:41 +01:00
QMK Bot
663b250e2f Merge remote-tracking branch 'origin/master' into develop 2022-08-10 03:01:41 +00:00
Wilba
8a24fbbdae Fix detection of EEPROM reset in some keyboards (#17970) 2022-08-09 20:01:09 -07:00
QMK Bot
9bbc0cbb3b Merge remote-tracking branch 'origin/master' into develop 2022-08-10 00:24:17 +00:00
Kyle McCreery
7019d0bce8 [Keyboard] MechWild Puckbuddy (#17161)
* Initial commit

* testing modes

* working on puckbuddy firmware. This is all working for now but need to clean it up and personalize it.

* needs to be updated from vial build

* prepping for PR

* added rgb mode cycling to fn1 since it isn't on the encoder for these maps

* readme written in preparation for pr

* reverting driver print line

* Removed old reference to OBE in the readme from copypaste error

* applying changes based on review

* applying changes from review

* Update keyboards/mechwild/puckbuddy/puckbuddy.c

* trailing whitespaces removed

* added clear screen condition for switching back to name rendering

* Added uf2 keymap and fixed display glitch for the logo render art.

* Removed extra definition of FEE_PAGE_BASE_ADDRESS

* Removed the uf2 keymap and made it automatic when selecting bootloader instead

* Fixed the bad bootloader check

* moved the uf2 check from rules.mk to post_rules.mk to satisfy lint

* changing it back to stm32-dfu bootloader default

* Fixed RGBLIGHT enable oversight.

* Added persistent dynamic tapping configuration for the cirque touchpad tap term

* new lines at end of files for formatting and diff sanity

* changing default bootloader back to stm32-dfu

* Had to completely redefine the tap keycodes instead of using the DT_UP and DT_DOWN keycodes because I was not able to specify them easily in the via/vial configs and this allows me to keep the original functionality instead of tying it to eeprom like these are.

* Added tap toggling keycodes to quick enable and disable the tapping term

* working out an issue where the tap status keeps turning to off on power cycle

* correcting submodule garbo

* Fixed display issue and rewrote TAP config approach to make it a little easier to control

* removing backup puckbuddy.c code

* Added some comment, removed some commented out old code, removed trailing whitespace

* Changed to handle tinyuf2 by expecting emulated eeprom so that adding other forms of eeprom can be handled for the memory offset separately, and added user oled conditional inside the keyboard oled code block

* Updated default keymaps to have the tap and dpi keys on by default

* Apply suggestions from code review

* Apply suggestions from code review
2022-08-09 17:23:44 -07:00
QMK Bot
994a2542af Merge remote-tracking branch 'origin/master' into develop 2022-08-09 18:21:11 +00:00
mechlovin
94b3efe92e change Adelais En Ciel rev. 3 from STM32F303 to APM32F103 MCU (#16964)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-09 11:20:36 -07:00
QMK Bot
525049990c Merge remote-tracking branch 'origin/master' into develop 2022-08-09 18:20:08 +00:00
mincedshon
336c4904b5 [Keyboard] add ecila keyboard (#17596) 2022-08-09 11:19:15 -07:00
QMK Bot
25913ef518 Merge remote-tracking branch 'origin/master' into develop 2022-08-09 17:41:07 +00:00
yiancar
5de655023e [Keyboard] Add NK20 (#17907)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: yiancar <yiancar@gmail.com>
2022-08-09 10:40:32 -07:00
QMK Bot
6e1c2b20e5 Merge remote-tracking branch 'origin/master' into develop 2022-08-09 06:41:55 +00:00
Salicylic-acid3
923cd63f3e [Keyboard] (7skb)Change number of LEDs and Enable Mouse Keys (#17954) 2022-08-08 23:41:10 -07:00
QMK Bot
1d33baac8f Merge remote-tracking branch 'origin/master' into develop 2022-08-08 18:06:29 +00:00
Joel Challis
0002b1cc20 Also disable line ending conversion for merge workflows (#17953) 2022-08-08 19:05:41 +01:00
QMK Bot
a3b06fd87c Format code according to conventions (#17951) 2022-08-08 17:33:25 +01:00
QMK Bot
a14cd0fba5 Merge remote-tracking branch 'origin/master' into develop 2022-08-08 16:31:00 +00:00
Joel Challis
bccf933bc9 Force no git line ending conversion on format workflow (#16176) 2022-08-08 17:30:26 +01:00
QMK Bot
22cb4e520a Merge remote-tracking branch 'origin/master' into develop 2022-08-08 09:46:27 +00:00
Vertex-kb
9a3c30f2c7 [Keyboard] Add Vertex AngleR2 keyboard (#16764)
* Add files via upload

* Delete Vertex/AngleR2 directory

* Add files via upload

* Delete keyboards/Vertex/AngleR2 directory

* Add files via upload

* Add files via upload

* Add files via upload

* Update keyboards/vertex/angler2/angler2.h

* Update keyboards/vertex/angler2/info.json

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

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

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

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

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

* Update keyboards/vertex/angler2/keymaps/via/keymap.c
2022-08-08 02:45:36 -07:00
Joel Challis
764c542bef Remove tmk_core 'serial' code (#17866) 2022-08-08 03:13:16 +01:00
QMK Bot
972f9a612c Merge remote-tracking branch 'origin/master' into develop 2022-08-07 21:11:17 +00:00
Arturo Avila
d27a6bd629 [Keyboard] Add Shisaku keyboard (#17572) 2022-08-07 14:10:32 -07:00
QMK Bot
b214768e09 Merge remote-tracking branch 'origin/master' into develop 2022-08-07 21:07:55 +00:00
yeimialberth
ca04babf3f [Keymap] qwerty and dvorak keyboard setup (#16592)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-07 14:07:25 -07:00
QMK Bot
6a1a398627 Merge remote-tracking branch 'origin/master' into develop 2022-08-07 19:40:49 +00:00
csc027
4267f0e0d4 csc027/keymap-updates (#17881)
* Reverted to most usable configuration for RDP usage.

* Added some HSV color definitions without the value portion to allow using the existing value.

* Switched to using HSV and HS color definitions.

* Added media keys to the convenience layer.

* Updated make rules to enable media keys.

* Cleaned up planck make rules.
2022-08-07 20:40:16 +01:00
QMK Bot
67461a0a47 Merge remote-tracking branch 'origin/master' into develop 2022-08-07 19:33:39 +00:00
Takeshi ISHII
5ecd745514 fix comment space code in quantum/matrix_common.c (#17942) 2022-08-07 20:32:59 +01:00
QMK Bot
6e7678c415 Merge remote-tracking branch 'origin/master' into develop 2022-08-07 13:01:43 +00:00
XScorpion2
034e266998 Rgbkb/keeb fixes (#17932)
* Disable console by default for better bios & reboot behavior

* Remove custom matrix

* Disable console by default for better bios & reboot behavior

* PR feedback
2022-08-07 14:01:10 +01:00
QMK Bot
9087e6ee28 Merge remote-tracking branch 'origin/master' into develop 2022-08-07 12:57:41 +00:00
Joel Challis
a6ea760c94 rgbkb/zen - Resolve CONVERT_TO_PROTON_C warnings (#17619) 2022-08-07 13:57:12 +01:00
QMK Bot
e8ff0d6ced Merge remote-tracking branch 'origin/master' into develop 2022-08-07 09:34:18 +00:00
medoix
b9269bf689 [Keyboard] Dumbpad v1x_oled (#17058)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-07 02:33:36 -07:00
QMK Bot
4f3bf762f1 Merge remote-tracking branch 'origin/master' into develop 2022-08-07 09:30:52 +00:00
DUILCHOI
964ce931e2 [Keyboard] add fave104 (#17909)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-07 02:30:18 -07:00
QMK Bot
5599f26667 Merge remote-tracking branch 'origin/master' into develop 2022-08-07 09:29:42 +00:00
yiancar
82a72fe815 [Keyboard] Add P01 (#17921)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: yiancar <yiancar@gmail.com>
2022-08-07 02:28:46 -07:00
QMK Bot
50e6dd41e6 Merge remote-tracking branch 'origin/master' into develop 2022-08-07 09:21:28 +00:00
James Young
de613fac0a Lin Works FAve 65H Refactor (#17938) 2022-08-07 02:20:51 -07:00
Drashna Jaelre
ac25109312 Always run pointing device init (#17936) 2022-08-07 02:18:03 -07:00
QMK Bot
93914142a3 Merge remote-tracking branch 'origin/master' into develop 2022-08-07 01:24:34 +00:00
Joel Challis
c6ad38e79f RESET -> QK_BOOT default keymaps (#17939) 2022-08-07 02:23:58 +01:00
QMK Bot
c5844931e2 Merge remote-tracking branch 'origin/master' into develop 2022-08-06 21:42:44 +00:00
Julian Turner
5c1cfc917e [Keymap] German Corne Layout (#17268)
* added german corne

* added symbol layer

* Delete settings.json

revert setting

* Delete keymap.c

* Update config.h

* Update keycodes.h

* Update config.h

* Update keyboards/crkbd/keymaps/JulianTurner/oled.c

* Update keycodes.h

* Update oled.c

added header

* Update keymap.c

added header

* Update keytabs.h

added header

* Update readme.md

* Update rules.mk

* default settings

* Update settings.json

* renamed folder

* revert

* remove c file import and added to rules

* Update keymap.c

* Update keymap.c

* Update readme.md

* Update rules.mk

* updated files from pull request

* fixed issues with merge

* Update keyboards/crkbd/keymaps/julian_turner/oled.c

* Update keyboards/crkbd/keymaps/julian_turner/rules.mk

* Update keyboards/crkbd/keymaps/julian_turner/keymap.c

* Delete keycodes.h

* Update keyboards/crkbd/keymaps/julian_turner/readme.md
2022-08-06 14:41:52 -07:00
Joshua Diamond
5408334083 Update ginkgo65hot to allow use of community layouts (#17911) 2022-08-06 13:29:06 -07:00
QMK Bot
e938c663e5 Merge remote-tracking branch 'origin/master' into develop 2022-08-06 17:19:59 +00:00
takashicompany
c8afb7a513 Update miniZone keymap (#17919) 2022-08-06 18:19:25 +01:00
QMK Bot
985b91b30f Merge remote-tracking branch 'origin/master' into develop 2022-08-06 16:21:41 +00:00
James Young
efdd048e18 Cipulot Kawayo Refactor (#17884)
* info.json: apply friendly formatting

* kawayo.h: use QMK 3-character notation

* refactor keymaps

- use QMK-native keycode aliases
  - KC_ENTER -> KC_ENT
  - KC_RIGHT -> KC_RGHT
  - KC_TRNS -> _______
  - RESET -> QK_BOOT
- use four-space indent

* kawayo.h: add matrix diagram

* info.json: correct layout data

* rename LAYOUT_default to LAYOUT_ansi_blocker_split_bs

* add LAYOUT_ansi_blocker macro with reference keymap

* add LAYOUT_ansi_blocker_tsangan macro with reference keymap

* add LAYOUT_ansi_blocker_tsangan_split_bs macro with reference keymap

* kawayo.h: add Corner Blocker (CB) option to matrix diagram

* change Layout Macro naming scheme

- update layout macro naming scheme
  - rename `LAYOUT_ansi_blocker` to `LAYOUT_65_ansi_cb_blocker`
  - rename `LAYOUT_ansi_blocker_split_bs` to `LAYOUT_65_ansi_cb_blocker_split_bs`
  - rename `LAYOUT_ansi_blocker_tsangan` to `LAYOUT_65_ansi_cb_blocker_tsangan`
  - rename `LAYOUT_ansi_blocker_tsangan_split_bs` to `LAYOUT_65_ansi_cb_blocker_tsangan_split_bs`
- rename reference keymaps to format specified in QMK docs
  - keymap using `LAYOUT_65_ansi_cb_blocker` macro should be named `default_65_ansi_cb_blocker`, etc.
- update layout macro grid alignment (no logic change)

* add LAYOUT_65_ansi_blocker macro

* add LAYOUT_65_ansi_blocker_split_bs macro

* add LAYOUT_65_ansi_blocker_tsangan macro

* add LAYOUT_65_ansi_blocker_tsangan_split_bs macro

* denote LAYOUT_all as an alias for LAYOUT_65_ansi_blocker_split_bs

* enable Community Layout support
2022-08-06 09:21:11 -07:00
Nick Brassel
154d35ac14 Remove UNUSED_PINS (#17931) 2022-08-06 23:23:35 +10:00
QMK Bot
820371c31b Merge remote-tracking branch 'origin/master' into develop 2022-08-06 12:38:13 +00:00
Ryan
37345e2ace Provide users with replacements for deprecated/invalid functionality where applicable (#17604) 2022-08-06 22:37:40 +10:00
Stefan Kerkmann
f27b617f36 [Core] Process all changed keys in one scan loop, deprecate QMK_KEYS_PER_SCAN (#15292) 2022-08-06 20:51:13 +10:00
QMK Bot
e9f9f99a33 Merge remote-tracking branch 'origin/master' into develop 2022-08-06 08:59:44 +00:00
Ryan
0ff8c4f6fd Move keyboard USB IDs and strings to data driven: Z (#17927) 2022-08-06 18:59:13 +10:00
QMK Bot
dd0ac80ee4 Merge remote-tracking branch 'origin/master' into develop 2022-08-06 08:52:48 +00:00
Ryan
fb19e14048 Move keyboard USB IDs and strings to data driven: Y (#17926) 2022-08-06 18:52:13 +10:00
Stefan Kerkmann
ed9bdcbc36 [Core] guard RPC invocation by checking RPC info against crc checksum (#17840) 2022-08-06 18:46:59 +10:00
QMK Bot
cac7042414 Merge remote-tracking branch 'origin/master' into develop 2022-08-06 08:46:12 +00:00
Ryan
0e3cc6af12 Move keyboard USB IDs and strings to data driven: X (#17925) 2022-08-06 18:45:43 +10:00
QMK Bot
1d45c99355 Merge remote-tracking branch 'origin/master' into develop 2022-08-06 06:37:08 +00:00
Albert Y
64acbcb42a [Docs] Building with GitHub Userspace (#16271) 2022-08-06 16:36:31 +10:00
QMK Bot
3c9941a629 Merge remote-tracking branch 'origin/master' into develop 2022-08-06 06:31:44 +00:00
Andrew Kannan
99377a0f5b [Keyboard] Add Crin PCB (#17913) 2022-08-05 23:31:05 -07:00
QMK Bot
5efa2ff23e Merge remote-tracking branch 'origin/master' into develop 2022-08-06 06:30:45 +00:00
keyquest.tech
07fc37541d Added support for keyquest keyboards (#17667)
Co-authored-by: Mathiaszmrga <mmoragrega@centro.edu.mx>
2022-08-06 16:30:05 +10:00
Joel Challis
897403c4a7 Publish data as part of API generation (#17020) 2022-08-06 16:14:29 +10:00
QMK Bot
ec5186f0f9 Merge remote-tracking branch 'origin/master' into develop 2022-08-06 05:50:30 +00:00
Ryan
10ad238944 Move keyboard USB IDs and strings to data driven: W (#17903) 2022-08-06 15:49:44 +10:00
Jeff Epler
7bbc1b21dd Add kb2040 onkey keyboard that works with the oled keymap (#17786) 2022-08-05 19:38:10 -07:00
Drashna Jaelre
ad4ef47d2b [Keyboard] use correct function in Dilemma splinky (#17923) 2022-08-06 02:58:06 +01:00
QMK Bot
758a0a0902 Merge remote-tracking branch 'origin/master' into develop 2022-08-06 01:54:55 +00:00
Less/Rikki
660dedfb17 [Keyboard] encoder map on more mechwild boards (#17894) 2022-08-05 18:54:22 -07:00
QMK Bot
217bd431e9 Merge remote-tracking branch 'origin/master' into develop 2022-08-04 23:41:59 +00:00
Joel Challis
8978960a87 Tidy up ez_maker (#17910) 2022-08-05 00:41:29 +01:00
Drashna Jaelre
eb417b3aaf Add deprecated check for RGBLIGHT_ANIMATIONS (#17832) 2022-08-04 11:05:53 -07:00
QMK Bot
7093846319 Merge remote-tracking branch 'origin/master' into develop 2022-08-04 13:07:34 +00:00
ebastler
efd3b1e0bd added missing indicator defines for dolice (#17906) 2022-08-04 14:06:50 +01:00
Nick Brassel
d9eb152a90 Fix issue with #17904. (#17905) 2022-08-04 22:15:42 +10:00
Nick Brassel
94e8701b3e Fixup compilation of printf-like functions with uint32_t args. (#17904) 2022-08-04 21:44:56 +10:00
Nick Brassel
543f54a483 [Core] STM32_USB_USE_OTG1 => USB_ENDPOINTS_ARE_REORDERABLE (#17647) 2022-08-04 21:05:16 +10:00
QMK Bot
88cfd55b8c Merge remote-tracking branch 'origin/master' into develop 2022-08-04 01:36:14 +00:00
Ryan
17176daf26 Move keyboard USB IDs and strings to data driven: T (#17899) 2022-08-04 02:35:08 +01:00
QMK Bot
4e50de3a4b Merge remote-tracking branch 'origin/master' into develop 2022-08-04 00:22:37 +00:00
James Young
5a631ed9ac Balloondogcaps TR90 and TR90PM: rename LAYOUT to LAYOUT_ortho_3x3 (#17879)
* balloondogcaps/tr90: rename LAYOUT to LAYOUT_ortho_3x3

* balloondogcaps/tr90pm: rename LAYOUT to LAYOUT_ortho_3x3
2022-08-04 01:21:59 +01:00
QMK Bot
42a36a2095 Merge remote-tracking branch 'origin/master' into develop 2022-08-03 22:55:51 +00:00
James Young
b01814bf68 boardsource/the_mark: add QMK Configurator layout data (#17898)
* boardsource/the_mark: add QMK Configurator layout data

* add keyboard maintainers to info.json

Adds the individual and organization accounts as listed maintainers.
2022-08-03 23:54:50 +01:00
QMK Bot
d8a15ce5bb Merge remote-tracking branch 'origin/master' into develop 2022-08-03 22:54:33 +00:00
Ryan
a30c1884c7 Move keyboard USB IDs and strings to data driven: U (#17900) 2022-08-03 23:53:46 +01:00
QMK Bot
adf8218399 Merge remote-tracking branch 'origin/master' into develop 2022-08-03 22:53:16 +00:00
Ryan
1fd8d5c322 Move keyboard USB IDs and strings to data driven: V (#17901) 2022-08-03 23:52:24 +01:00
QMK Bot
0a198b59a3 Merge remote-tracking branch 'origin/master' into develop 2022-08-03 22:13:21 +00:00
Ryan
a8744b1630 Move keyboard USB IDs and strings to data driven: S (#17889) 2022-08-04 08:12:37 +10:00
QMK Bot
237039cdcd Merge remote-tracking branch 'origin/master' into develop 2022-08-03 22:06:14 +00:00
Ryan
b40c03140e Move keyboard USB IDs and strings to data driven: R (#17885) 2022-08-04 08:05:40 +10:00
QMK Bot
c6a6f987c9 Merge remote-tracking branch 'origin/master' into develop 2022-08-03 20:08:10 +00:00
Joel Challis
92bcbee226 Fix up splittest/bluepill (#17897) 2022-08-03 21:06:54 +01:00
QMK Bot
f326b0b40e Merge remote-tracking branch 'origin/master' into develop 2022-08-03 17:23:55 +00:00
Stephen J Bush
df8a538489 Userspace: muppetjones (#1) (#13461)
* Userspace: muppetjones (#1)

Add and update lily58 to work with userspace
Add and update kyria keymap to work with userspace
Add and update planck keymap with userspace
Add etchamouse code and docs to userpace
Add userspace
Update mouse encoder for smoother movement.
Encoder + mouse
Added casemodes by andrewjrae

* Rollback lily58 state reader and add missing GPL

* Apply suggestions from code review

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>

* fix lily58 keymap

* Updates to user and lily for muppetjones.

Updated parameters for etchamouse for smoother mouse movement. Updated lily keymap and userspace to actually work together.

* Update keyboards/lily58/keymaps/muppetjones/config.h

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

* Updated keymaps and userspace

* Little more cleanup.

* Update keyboards/lily58/keymaps/muppetjones/rules.mk

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

* Rollback accidental libchibios update

* Apply suggestions from code review

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

* Update kyria keymap

* Move kyria keymap to splitkb/kyria

* Update planck keymap

* Remove all changes to keyboards/lily58/lib/layer_state_reader.c

* Update lily58 keymap

* Recommended change

* Update keymap readme

* Update kyria keymap and userspace

* Apply suggestions from code review

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

* Renamed users/muppetjones/README.md to lc

* Update keyboards/lily58/keymaps/muppetjones/config.h

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-03 18:23:17 +01:00
QMK Bot
e93124f05c Merge remote-tracking branch 'origin/master' into develop 2022-08-03 14:59:13 +00:00
Ryan
5f6cf24294 Move keyboard USB IDs and strings to data driven: Q (#17883) 2022-08-03 15:58:29 +01:00
QMK Bot
4c81d4e526 Merge remote-tracking branch 'origin/master' into develop 2022-08-03 13:20:50 +00:00
yulei
c4e767b4c9 added neson design's 700e keyboard (#17768)
* added neson design's 700e keyboard

* Apply suggestions from code review

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-03 14:20:10 +01:00
QMK Bot
671e211930 Merge remote-tracking branch 'origin/master' into develop 2022-08-03 10:33:16 +00:00
jotix
4ec2626b43 jotix's community ortho_4x12 layout change (#17891) 2022-08-03 11:32:23 +01:00
QMK Bot
2dfccd29c8 Merge remote-tracking branch 'origin/master' into develop 2022-08-03 08:33:04 +00:00
dvermd
0206bd9df3 add bluepill mcu to splittest (#16959)
* add bluepill mcu to splittest

* fix typo

* refactoring

* mcu config goes to mcuconf.h of keyboard
* keymap specific config goes to keymap config.h
* keyboard specific depending of keymap goes to post_config.h

* Apply suggested change

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

* Apply suggested change

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

* Apply suggested change

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

* Apply suggested change

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

* Apply suggested change

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

* splittest/bluepill: improve documentation

Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-03 09:31:37 +01:00
QMK Bot
61a3fe4fac Merge remote-tracking branch 'origin/master' into develop 2022-08-03 07:23:52 +00:00
Ryan
b6757d2380 Move keyboard USB IDs and strings to data driven: P (#17875) 2022-08-03 17:23:15 +10:00
QMK Bot
d4f9eb5225 Merge remote-tracking branch 'origin/master' into develop 2022-08-03 07:16:28 +00:00
Ryan
3da6575e24 Move keyboard USB IDs and strings to data driven: M (#17859) 2022-08-03 17:15:43 +10:00
QMK Bot
bce4fb4574 Merge remote-tracking branch 'origin/master' into develop 2022-08-03 07:04:43 +00:00
Ryan
1b92c204c1 Move keyboard USB IDs and strings to data driven: K (#17846)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2022-08-03 17:03:47 +10:00
QMK Bot
d52d7bc658 Merge remote-tracking branch 'origin/master' into develop 2022-08-03 06:48:37 +00:00
kkokdae
ce9bb6d39b [keymap] Add kkokdae keymap for keyboardio/atreus (#17843)
* [keymap] Add kkokdae keymap for keyboardio/atreus

* Update keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c

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

* Update keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c

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

* Revert "Update keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c"

This reverts commit 8e9ccc78c7.

Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-03 07:47:48 +01:00
QMK Bot
40499bed06 Merge remote-tracking branch 'origin/master' into develop 2022-08-03 06:11:19 +00:00
Travis
5f6ec37b7d [Keymap] Add TravisHi keymap for SplitKB Kyria (#17858)
* Init commit

* Prep for MVP

* Add F Fixes (thanks F!)

* Fix some incorrect layer summons

* Create readme (remove comments from code)

* Update OLED indicators (test)

* Add more OLED updates

* Add more layouts

* Update readme and small tweaks

* Update layers and prep for LED layers

* Fix a trapped layer issue

* Test animations

* Add a happy frog animation to right screen

* Add bulk work

* Move fren readme image

* Can't save images

* Update FPS layout

* Update Symbols layer

* Update readme

* Update readme (future comments move to readme)

* Remove superfluous comments & add Licence

* Add licence update
2022-08-03 07:10:46 +01:00
QMK Bot
b31c914f0f Merge remote-tracking branch 'origin/master' into develop 2022-08-03 00:07:38 +00:00
AnthonyNguyen168
4c8469f565 Update json file to support Configurator correctly. (#17692) 2022-08-03 01:06:55 +01:00
QMK Bot
90259eb012 Merge remote-tracking branch 'origin/master' into develop 2022-08-02 18:39:44 +00:00
Ryan
be5b1a24bf Move keyboard USB IDs and strings to data driven: O (#17874) 2022-08-02 19:39:00 +01:00
QMK Bot
7883306466 Merge remote-tracking branch 'origin/master' into develop 2022-08-02 18:31:04 +00:00
James Young
24488e043e SKergo Refactor (#17877)
* skergo.h: use ___ for KC_NO

* skergo.h: use 3-character notation

* skergo.h: add matrix diagram

* add LAYOUT_all macro

* update grid alignment of LAYOUT macro and keymaps

* refactor keymaps

Refactor keymaps to use the `LAYOUT_all` macro. Converts tabs to spaces.

This change necessitates the following changes to keymaps:

- The keycodes for Page Up, Page Down, and End each move up one row - all as the last keys on their new rows.
- The keycode for the secondary B key moves up one row, inserted between the primary (left side) B and the N.

* remove LAYOUT macro

* rename LAYOUT_all macro to LAYOUT_split_bs

* add LAYOUT_2u_bs macro

* readme.md: add flashing example

* info.json: correct maintainer value

Update to reference maintainer's GitHub username.
2022-08-02 19:30:26 +01:00
QMK Bot
1f8e9c1854 Merge remote-tracking branch 'origin/master' into develop 2022-08-02 06:54:51 +00:00
Niko Wenselowski
068bfc49de [Keymap] Move the ut472 keymap from gardego5 to keyhive folder (#17598) 2022-08-01 23:54:14 -07:00
QMK Bot
479c7876e6 Merge remote-tracking branch 'origin/master' into develop 2022-08-02 00:11:25 +00:00
Ryan
056a44c7d3 Move keyboard USB IDs and strings to data driven: N (#17865) 2022-08-02 01:10:48 +01:00
QMK Bot
e6dc14ae41 Merge remote-tracking branch 'origin/master' into develop 2022-08-02 00:03:00 +00:00
Ryan
7222969964 Move keyboard USB IDs and strings to data driven: L (#17849) 2022-08-02 01:02:19 +01:00
QMK Bot
e3ee87ee31 Merge remote-tracking branch 'origin/master' into develop 2022-08-01 16:10:17 +00:00
James Young
26b17a71e0 MS Sculpt Touch-Up (#17871)
* info.json: fix JSON syntax error

* info.json: convert tabs to spaces

* info.json: add QMK Configurator layout data

* readme.md: switch Bootloader and Docs sections
2022-08-01 17:09:40 +01:00
Drashna Jaelre
b1eac5c671 [Keyboard] Overhaul uzu42 (#17868) 2022-08-01 14:04:26 +01:00
QMK Bot
0e3b1740ef Merge remote-tracking branch 'origin/master' into develop 2022-08-01 13:01:06 +00:00
James Young
3b40ded512 ryanbaekr rb18 Configurator Data Fixes (#17872)
* info.json: apply friendly formatting

* info.json: correct key sequence

* info.json: remove dead space from layout

* info.json: correct maintainer value
2022-08-01 14:00:31 +01:00
QMK Bot
e32a956028 Format code according to conventions (#17869) 2022-07-31 21:35:53 -07:00
David Hoelscher
2bdd73f801 Add ST7735 driver to Quantum Painter (#17848) 2022-07-31 19:58:25 -07:00
jack
09ea5f6337 [Keyboard] Fix uzu42 compilation issue (#17867) 2022-07-31 19:05:15 -07:00
QMK Bot
735fb38a0e Merge remote-tracking branch 'origin/master' into develop 2022-07-31 22:34:03 +00:00
axtloss
e1b6034f00 [Keymap] Add axtloss keymap for sofle (#17835)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-07-31 15:33:34 -07:00
Joel Challis
98d5c77521 Remove legacy AVR ssd1306 driver (#17864) 2022-07-31 22:15:01 +01:00
Joel Challis
f7aaed1b57 Migrate crkbd keymaps to oled driver (#17863) 2022-07-31 12:36:30 -07:00
Joel Challis
c10c2575b8 Remove OLED driver Split Common warning (#17862) 2022-07-31 12:33:12 -07:00
Joel Challis
2f19579d3f Convert yosino58 to use split common (#17861) 2022-07-31 12:32:45 -07:00
Daniel Kao
b03a7cef75 Fix POINTING_DEVICE_GESTURES_SCROLL_ENABLE typo (#17850)
* Fix typo for POINTING_DEVICE_GESTURES_SCROLL_ENABLE

Follow the name written in documentation which follows
POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE

* Reword the blurb about POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE in docs
2022-07-31 15:51:20 +01:00
Joel Challis
409790457c Refactor satt/comet46 to use core OLED driver (#17856) 2022-07-31 15:35:42 +01:00
Joshua Diamond
baf34989f1 Default rgblight (#17855)
* better rgb bindings; improve default

* trim firmware size
2022-07-30 18:31:31 -04:00
Joshua Diamond
f02e355380 More glyph transformations for spidey3 userspace (#17854)
* add bold and blackboard bold glyph transformations

* trim firmware size; cformat

* fix typo in macro

* trim firmware size a bit more
2022-07-30 18:21:54 -04:00
QMK Bot
3d53c64992 Merge remote-tracking branch 'origin/master' into develop 2022-07-30 20:00:58 +00:00
James Young
f6a91649ff KPrepublic BM80v2 Touch-Up (#17851)
* info.json: apply friendly formatting

* info.json: correct layout data

Fix the size and position of the Backslash key.

* readme.md: touch-up formatting

* readme.md: switch Bootloader and Docs sections

* correct keyboard maintainer
2022-07-30 21:00:15 +01:00
QMK Bot
06fe4b16d2 Merge remote-tracking branch 'origin/master' into develop 2022-07-30 07:32:18 +00:00
Ryan
2d778d2ff2 Move keyboard USB IDs and strings to data driven: handwired (#17822) 2022-07-30 17:31:44 +10:00
QMK Bot
ef94f93fe2 Merge remote-tracking branch 'origin/master' into develop 2022-07-30 07:24:42 +00:00
Ryan
1c6b0391b4 Move keyboard USB IDs and strings to data driven: E (#17815) 2022-07-30 17:23:55 +10:00
Drzony
0b726a437b Implement relative mode for Cirque trackpad (#17760) 2022-07-29 21:20:34 -07:00
QMK Bot
b085d5221b Merge remote-tracking branch 'origin/master' into develop 2022-07-30 04:07:26 +00:00
Bahrul Hidayat
da07e7dd0e [Keyboard] add dyz60-hs (#17763)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2022-07-29 21:07:10 -07:00
kopibeng
c0e3a16121 [Keyboard] Update MNK88 RGB Underglow LED Number (#17833)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-07-29 21:06:40 -07:00
QMK Bot
7e172fd944 Merge remote-tracking branch 'origin/master' into develop 2022-07-30 03:03:14 +00:00
Ryan
306e50b84c Move keyboard USB IDs and strings to data driven: D (#17814) 2022-07-29 20:02:47 -07:00
QMK Bot
07f007de9a Merge remote-tracking branch 'origin/master' into develop 2022-07-30 03:02:29 +00:00
Chris Swenson
d1096ad440 [Keymap] Add enigma keymap for contra keyboard (#17829) 2022-07-29 20:01:35 -07:00
QMK Bot
a97c61074e Merge remote-tracking branch 'origin/master' into develop 2022-07-30 02:47:09 +00:00
James Young
d2aa8e6bb8 KBDfans Bounce Pad: Correct QMK Configurator Implementation (#17845) 2022-07-29 19:46:32 -07:00
QMK Bot
ed719d5d8d Merge remote-tracking branch 'origin/master' into develop 2022-07-30 02:17:19 +00:00
GG
0aec4203e7 [Keyboard] add Zoom87 (#17831) 2022-07-29 19:16:50 -07:00
QMK Bot
0c487cbeba Merge remote-tracking branch 'origin/master' into develop 2022-07-30 00:32:42 +00:00
Drashna Jaelre
d93dfbff3c Fix check when compiling HID Joystick with digital driver (#17844) 2022-07-30 01:32:06 +01:00
Frank Tackitt
21603c5142 Enable mousekeys by default for RGBKB Sol3 (#17842) 2022-07-29 23:42:34 +01:00
QMK Bot
3f1b61ba55 Merge remote-tracking branch 'origin/master' into develop 2022-07-29 21:03:24 +00:00
James Young
7f2ddf1711 kbdfans/bounce/75: correct typos of keyboard name (#17841) 2022-07-29 22:02:45 +01:00
Stefan Kerkmann
a204523bbb [Core] RP2040 disable PIO IRQs on serial timeout (#17839) 2022-07-29 20:13:16 +02:00
zvecr
ade2eb1e75 Merge remote-tracking branch 'origin/master' into develop 2022-07-29 17:30:33 +01:00
Ryan
394cf7c41e Move keyboard USB IDs and strings to data driven: J (#17837) 2022-07-29 13:49:01 +01:00
Ryan
bcb8600a31 Move keyboard USB IDs and strings to data driven: I (#17836) 2022-07-29 13:40:16 +01:00
QMK Bot
1050cf2453 Merge remote-tracking branch 'origin/master' into develop 2022-07-29 12:19:39 +00:00
James Young
1ded7ad460 KBDfans Bounce75 Touch-Up (#17834)
* kbdfans/bounce/75/hotswap: keymap readability fix

Update grid alignment to disambiguate which keycodes correspond in different layers.

----

Layer 0 had 13 and 9 keycodes on the bottom two rows respectively, while Layers 1-3 had 14 and 8.

* kbdfans/bounce/75/soldered: keymap readability fix

Update grid alignment to disambiguate which keycodes correspond in different layers.

----

Layer 0 had 14 and 9 keycodes on the bottom two rows respectively, while Layers 1-3 had 15 and 8.

* kbdfans/bounce/75/soldered: fix layer index in keymaps

Layer indexes were 0,1,2,1 instead of 0,1,2,3.
2022-07-29 13:18:28 +01:00
QMK Bot
a7d0e01e5b Merge remote-tracking branch 'origin/master' into develop 2022-07-29 06:44:32 +00:00
James Young
5c90f7ae14 Wuque Promise87 WKL Refactor (#17828) 2022-07-28 23:43:54 -07:00
precondition
95c1cc425e Rename postprocess_steno_user → post_process_steno_user (#17823) 2022-07-28 21:51:01 -07:00
QMK Bot
2d0443ec25 Merge remote-tracking branch 'origin/master' into develop 2022-07-29 04:42:45 +00:00
GG
b5452581da [Keyboard] fix mistakes in promise87 config (#17830) 2022-07-28 21:41:42 -07:00
QMK Bot
c2f68e3232 Merge remote-tracking branch 'origin/master' into develop 2022-07-28 13:13:39 +00:00
Ryan
920f983767 Move keyboard USB IDs and strings to data driven: H (#17821) 2022-07-28 14:12:40 +01:00
Stefan Kerkmann
157ea96411 ChibiOS: use correct status codes in i2c_master.c (#17808)
msg_t is MSG_OK in the success case and either MSG_RESET or MSG_TIMEOUT
in case of errors. So actually use them in the comparison.
2022-07-28 02:02:10 +01:00
QMK Bot
476d709fa5 Merge remote-tracking branch 'origin/master' into develop 2022-07-28 00:57:13 +00:00
Less/Rikki
e7affd0541 feat: encoder map, OLED & encoder kb-level config (#17809) 2022-07-28 01:56:37 +01:00
QMK Bot
b029252e76 Merge remote-tracking branch 'origin/master' into develop 2022-07-27 23:52:09 +00:00
Arthur
1e745c48b6 [Keymap] Add artflag kyria layout (#17778)
* Initial firmware

* feedback

* updates

* update map
2022-07-27 16:51:13 -07:00
QMK Bot
7bb73306d6 Merge remote-tracking branch 'origin/master' into develop 2022-07-27 21:44:42 +00:00
Ryan
23f365b601 Move keyboard USB IDs and strings to data driven: F (#17816) 2022-07-27 22:44:05 +01:00
QMK Bot
5055c9a74b Merge remote-tracking branch 'origin/master' into develop 2022-07-27 21:12:28 +00:00
Kevin Zhao
6731712cc1 Fix SKErgo Keymap (#17812) 2022-07-27 22:10:57 +01:00
QMK Bot
ed5351d75e Merge remote-tracking branch 'origin/master' into develop 2022-07-27 19:19:51 +00:00
Ryan
4a0eb733ac Move keyboard USB IDs and strings to data driven: G (#17818) 2022-07-27 20:19:09 +01:00
QMK Bot
602fde61e2 Merge remote-tracking branch 'origin/master' into develop 2022-07-27 16:29:08 +00:00
turbololvo
c788857b6b fix function layer to reflect cap labels (#17813)
These changes correctly reflect the keycap labels on the Vortex Race 3.
2022-07-27 17:27:39 +01:00
QMK Bot
df15caf407 Merge remote-tracking branch 'origin/master' into develop 2022-07-27 15:02:29 +00:00
James Young
0f40e5d0dc Wuque Promise87 ANSI Refactor (#17807) 2022-07-27 08:01:37 -07:00
Drashna Jael're
3d98269652 Merge remote-tracking branch 'origin/master' into develop 2022-07-27 07:40:30 -07:00
Drashna Jaelre
8973835183 [Docs] Add information about WeAct Blackpill F411 (#16755)
* [Docs] Add information about WeAct Blackpill F411

* Add clarification for matrix pins

* Update documentation

* Tweak wording
2022-07-27 14:49:12 +01:00
QMK Bot
00c1653a15 Merge remote-tracking branch 'origin/master' into develop 2022-07-27 09:29:50 +00:00
Albert Y
3285659690 CLI compatibility for MacOS (#17811) 2022-07-27 10:29:10 +01:00
Stefan Kerkmann
59d940c9f3 ChibiOS-Contrib: Update for RP2040 PWM and I2C driver (#17817) 2022-07-27 10:06:18 +02:00
QMK Bot
5df7cfdeb4 Merge remote-tracking branch 'origin/master' into develop 2022-07-26 20:48:59 +00:00
Danny
dc48b3fd04 [Keyboard] Fix typo with RGB LED positioning in Iris (#17805) 2022-07-26 13:48:07 -07:00
QMK Bot
ff5848992c Merge remote-tracking branch 'origin/master' into develop 2022-07-26 20:25:59 +00:00
Less/Rikki
fc9654a1d0 feat: encoder map, OLED & encoder kb-level config (#17767) 2022-07-26 21:25:23 +01:00
QMK Bot
53ca6338c7 Merge remote-tracking branch 'origin/master' into develop 2022-07-26 19:51:21 +00:00
Drashna Jaelre
5f36285fc5 [Keyboard] Add work louder micro (#17586)
* [Keyboard] Add work louder micro

* Update keyboards/work_louder/micro/readme.md

* Update readme

* Update kb config files

* Update to use encoder map

Co-authored-by: Tom Barnes <barnestom@me.com>
2022-07-26 20:50:45 +01:00
QMK Bot
e0e1f0af92 Merge remote-tracking branch 'origin/master' into develop 2022-07-26 19:44:06 +00:00
Scott Bennett
9dbc0473ef Dz65v2 Settings for SBennett13 (#17747)
* Start of dz65v2 map for sbennett13

* No wpm, disable some rgb, ~copyright~

* No more raindrops

* Remove more rgb modes and set default

* Almost orgot this crappy thing

* cannot define startup :(

* Layered esc is kc_grv

* Start of dz65v2 map for sbennett13

* No wpm, disable some rgb, ~copyright~

* No more raindrops

* Remove more rgb modes and set default

* Almost orgot this crappy thing

* cannot define startup :(

* Layered esc is kc_grv

* Add license to config and keymap
2022-07-26 20:43:26 +01:00
Stefan Kerkmann
083b42068a Chibios: Stop I2C peripheral on transaction error (#17798)
From the ChibiOS HAL I2C driver pages:

After a timeout the driver must be stopped and restarted because the bus is in
an uncertain state.

This commit does that stopping explicitly on any error that occurred, not only
timeouts. As all the i2c functions restart the peripheral if necessary it is
safe to do so.

Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>

Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2022-07-26 21:40:14 +02:00
QMK Bot
2899e69ead Merge remote-tracking branch 'origin/master' into develop 2022-07-26 19:15:45 +00:00
Spaceman
d4bb5a9820 Add alternative Logos (#17787) 2022-07-26 20:15:08 +01:00
Daniel Kao
b8b2e99976 Constrain Cirque Pinnacle coordinates (#17803)
Static x & y should be the same type as touchData.xValue &
touchData.yValue: uint16_t.
Their delta could be larger than int8_t and should be constrained to
mouse_xy_report_t.
2022-07-26 19:35:41 +01:00
Joel Challis
c982d6c5e3 Avoid OOB in dynamic_keymap_reset (#17695) 2022-07-26 17:38:28 +01:00
QMK Bot
61da9286a1 Merge remote-tracking branch 'origin/master' into develop 2022-07-26 16:38:06 +00:00
QMK Bot
0534b878c3 Merge remote-tracking branch 'origin/master' into develop 2022-07-26 16:37:29 +00:00
Nick Brassel
d1434b6d75 Make qmk doctor print out the last log entry for upstream/{master,develop}, including dates (#17713) 2022-07-26 17:37:28 +01:00
Wilba
501276a8fd Added WT65-D (#17724) 2022-07-26 17:36:30 +01:00
QMK Bot
1cf68476cc Merge remote-tracking branch 'origin/master' into develop 2022-07-26 08:00:23 +00:00
Álvaro A. Volpato
b0b14cc440 [Keyboard] Acheron Athena support (#16818)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-07-26 00:59:38 -07:00
Drashna Jaelre
5d898a3d34 [Docs] Updates to Pointing Device Docs (#17777) 2022-07-26 00:27:34 -07:00
Charly Delay
244450625a bastardkb: fix info.json changes that got reverted during the last merge from master to develop (#17800)
* bastardkb: fix info.json changes that got reverted during the last merge from `master` to `develop`

* Remove board name from root folder `info.json`
2022-07-26 07:41:24 +01:00
QMK Bot
9f5b71bada Merge remote-tracking branch 'origin/master' into develop 2022-07-26 06:27:00 +00:00
Olly Hayes
77e48f5b7e [Keymap] Add ollyhayes keymap (#16632) 2022-07-25 23:26:22 -07:00
QMK Bot
9825b66cac Merge remote-tracking branch 'origin/master' into develop 2022-07-26 06:26:00 +00:00
Leo Deng
ddae04bca1 [Keyboard] add DJam keyboard (#17430)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-07-25 23:25:28 -07:00
Daniel Kao
1de6811ebe Cirque circular scroll: Support POINTING_DEVICE_COMBINED (#17654) 2022-07-25 23:19:33 -07:00
QMK Bot
2456044d5f Merge remote-tracking branch 'origin/master' into develop 2022-07-26 05:36:55 +00:00
shamit05
91d911eb1f [Keyboard] Add Halokeys Elemental 75 (#17323)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-07-25 22:36:11 -07:00
QMK Bot
9f976b89d8 Merge remote-tracking branch 'origin/master' into develop 2022-07-26 05:31:41 +00:00
Cipulot
ba1643af7d [Keyboard] Add Kawayo Keyboard (#17454)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-07-25 22:30:59 -07:00
QMK Bot
11c9a5e3ac Merge remote-tracking branch 'origin/master' into develop 2022-07-26 05:24:46 +00:00
hornslyn
a33dc8ebb5 [Keyboard] Add Star75 support (#17421)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-07-25 22:24:04 -07:00
Albert Y
70d554420c [Keyboard] Add RP2040 config defaults for ferris/sweep and cradio (#17557) 2022-07-25 22:22:42 -07:00
QMK Bot
f004d93bad Merge remote-tracking branch 'origin/master' into develop 2022-07-26 05:21:11 +00:00
James Young
753ca0e13c takashicompany miniZone: fix QMK Configurator implementation (#17801) 2022-07-25 22:20:36 -07:00
QMK Bot
4bd4210e97 Merge remote-tracking branch 'origin/master' into develop 2022-07-26 05:02:37 +00:00
Daniel O'Brien
3eb9f28c89 [Keyboard] Add missing mute button to sofle keymap (#17796) 2022-07-25 22:02:02 -07:00
QMK Bot
f0300fc763 Merge remote-tracking branch 'origin/master' into develop 2022-07-26 05:00:11 +00:00
Diogo Sergio
e6a7db2fd2 Update README.md for teensy lc onekey (#17797) 2022-07-25 21:59:37 -07:00
QMK Bot
d556c4233e Merge remote-tracking branch 'origin/master' into develop 2022-07-26 04:01:41 +00:00
Ryan
5ed98df374 gboards/georgi: cleanup & fix (#17753) 2022-07-26 14:01:05 +10:00
Drashna Jaelre
928bbded6d [Keyboard] Fix compilation issues for Charybdis/Dilemma (#17791)
* [Keyboard] Fix debug printing for Charybdis/Dilemma

* Fix compliation issue for dilemma
2022-07-26 02:40:14 +01:00
QMK Bot
77ed0feebe Merge remote-tracking branch 'origin/master' into develop 2022-07-26 00:53:04 +00:00
Ryan
674422eb13 Move keyboard USB IDs and strings to data driven: A (#17781) 2022-07-26 01:52:18 +01:00
QMK Bot
1e651dbdb0 Merge remote-tracking branch 'origin/master' into develop 2022-07-25 23:04:48 +00:00
Ryan
a939293aca Move keyboard USB IDs and strings to data driven: C (#17789) 2022-07-26 00:04:09 +01:00
QMK Bot
4baed8037d Merge remote-tracking branch 'origin/master' into develop 2022-07-25 22:56:05 +00:00
James Young
b6ac0ecf82 Runes Skjöldr Touch-Up (#17792)
* skjoldr.h: use ___ for KC_NO

* skjoldr.h: use K<row><column> notation

Matrix was previously defined using identifiers in the format of K<column><row>.

* skjoldr.h: add matrix diagram

* info.json: apply friendly formatting

- key legends as labels
- correct key sizes and positioning

* refactor keymaps

Refactors the `default` and `via` keymaps.

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

* rename LAYOUT macro to LAYOUT_60_ansi_arrow

* enable Community Layout support

* info.json: correct maintainer value

Field is meant to reference the maintainer's GitHub username.
2022-07-25 23:55:26 +01:00
QMK Bot
4837bc50c4 Merge remote-tracking branch 'origin/master' into develop 2022-07-25 22:08:08 +00:00
Drashna Jaelre
68cc6be564 [Keyboard] Fix Charue Sunsetter_r2 compilation issues (#17793) 2022-07-25 23:07:32 +01:00
Drashna Jaelre
683eeca2e2 [Docs] Fix custom debug function and sample output (#17790) 2022-07-25 23:07:15 +01:00
Drashna Jaelre
325da02e57 Fix QK_MAKE's reboot check (#17795) 2022-07-25 23:06:26 +01:00
Drashna Jael're
99c48f1361 Merge remote-tracking branch 'origin/master' into develop 2022-07-25 10:15:47 -07:00
ILWrites
1df6322f10 Fixed spacebar position (#17784) 2022-07-25 17:21:09 +01:00
Ryan
50c2b151b2 Move keyboard USB IDs and strings to data driven: B (#17782) 2022-07-25 16:20:19 +01:00
QMK Bot
7d2260ab75 Merge remote-tracking branch 'origin/master' into develop 2022-07-25 14:59:45 +00:00
James Young
d2161f113b MechWild Mokulua: Correct QMK Configurator Data (#17783)
* Mokulua Mirrored: rebuild info.json file

* Mokulua Standard: rebuild info.json file
2022-07-25 15:58:58 +01:00
Charly Delay
50a12c06b9 [keyboard] bastardkb: restructure folder hierarchy (#16778)
* bastardkb: restructure folder hierarchy ahead of supporting other adapters/mcus

Upcoming support for the following (adapter, mcu) pairs will be
submitted in follow-up PRs:

- `v2/elitec`
- `v2/stemcell`
- `blackpill`

This PR contains the following changes:

- Move previous implementation to an inner `v1/elitec` folder
- Move keyboard USB IDs and strings to data driven
- Update headers to update maintainers list
- Run `qmk format-c`

* bastardkb/charybdis: remove broken acceleration implementation

* bastardkb/charybdis: fix debug output

* bastardkb: add support for BastardKb the `v2/elitec` (adapter, mcu) pair

* bastardkb: add Blackpill support

* bastardkb/charybdis/3x5: add `bstiq` keymap

* bastardkb/charybdis: add fake LEDs to the configuration

For the Charybdis 3x5 (respectively 4x6), the LED config now simulates
36 (respectively 58) LEDs instead of the actual 35 (respectively 56) to
prevent confusion when testing LEDs during assembly when handedness is
not set correctly.  Those fake LEDs are bound to the physical
bottom-left corner.

* bastardkbk/charybdis/readme.md: update build commands

Merge pull request #5 from Nathancooke7/update_charybdis_readme_v2_shield.

* bastardkb/charybdis: fix Via keymap with blackpill

* bastardkb/charybdis: add 3x6 configuration

* bastardkb/charybdis: remove unnecessary files

* bastardkb/charybdis: remove obsolete code

* bastardkb/charybdis/3x6: add Via keymap

* bastardkb: add support for Splinky (RP2040) board

* bastardkb: initial configuration for the Splinky (SPI not working yet)

* bastardkb/charybdis/3x5/v2/splinky: tentative change to enable trackball

* bastardkb/charybdis/3x5/v2/splinky: fix SCK, MISO, MOSI pins

* bastardkb/charybdis/3x5/v2/splinky: fix SCK, MISO, MOSI pins

* bastardkb/charybdis/4x6/v2/splinky: add SPI configuration and enable trackball

* bastardkb/charybdis/3x6: add splinky config

* bastardkb/*/v2/splinky: update drivers to `vendor`

* bastardkb/dilemma: add new board

* bastardkb/charybdis: fix infinite loop in `layer_state_set_user(…)` in the `via` keymaps

* bastardkb/dilemma: add `bstiq` keymap

* bastardkb: specify blackpill boards

* bastardkb/charybdis: fix blackpill-specific define syntax

* bastardkb: remove `NO_ACTION_MACRO` and `NO_ACTION_FUNCTION` which are no longer valid options

* bastardkb: fix `QK_BOOT` keycodes

* bastardkb/dilemma: fix mouse direction on X axis

* bastardkb/charybdis/3x6: adjust CS

* bastardkb/dilemma: adjust trackpad configuration

* charybdis: fix `PWM33XX_CS_PIN` defines

This is a follow-up of https://github.com/qmk/qmk_firmware/pull/17613.

* bastardkb: remove Vial mentions from `bstiq` keymaps

* Cleanup unnecessary comments

Co-authored-by: Nathan <nathan.cooke@compass.com>
Co-authored-by: Charly Delay <0xcharly@codesink.dev>
2022-07-25 10:11:28 +01:00
QMK Bot
336df3297e Merge remote-tracking branch 'origin/master' into develop 2022-07-24 23:01:36 +00:00
Drashna Jaelre
c0763363db [Docs] Fix tables in Audio driver document (#17780) 2022-07-25 00:00:51 +01:00
QMK Bot
d5e619f472 Merge remote-tracking branch 'origin/master' into develop 2022-07-24 16:12:13 +00:00
James Young
00c02e3bd8 FJLabs Sinanju Refactor (#17773)
* sinanju.h: add matrix diagram

* add LAYOUT_60_ansi_wkl_split_bs_rshift macro

Same matrix as `LAYOUT_all`, but with position K2D (right half of split Backspace) moved to the end of the top row.

* refactor keymaps

- use `LAYOUT_60_ansi_wkl_split_bs_rshift` macro instead of `LAYOUT_all`
- polish four-space indent
- update grid alignment
- replace `RESET` keycode with `QK_BOOT`

* remove now-unused LAYOUT_all macro

* add LAYOUT_60_ansi_wkl macro with keymap

Add a layout with 2u Backspace and 2.75u right Shift.

* info.json: correct maintainer value
2022-07-24 17:11:28 +01:00
QMK Bot
c1783ff35d Merge remote-tracking branch 'origin/master' into develop 2022-07-24 16:07:21 +00:00
James Young
5f172b63f5 Chocofly v1: add info.json (#17772) 2022-07-24 17:06:30 +01:00
QMK Bot
62cd280c3b Merge remote-tracking branch 'origin/master' into develop 2022-07-24 12:40:43 +00:00
James Young
191f6e8069 Idobao ID63 Community Layout support (#17769)
* info.json: add key labels

* rename LAYOUT_63_ansi to LAYOUT_60_ansi_arrow

* enable community layout support
2022-07-24 05:39:53 -07:00
QMK Bot
f6612c219f Merge remote-tracking branch 'origin/master' into develop 2022-07-24 12:26:27 +00:00
James Young
049811be0d Add info.json files for Acheron Apollo series keyboards (#17770)
* add info.json file for Apollo87H

* add info.json file for Apollo87H-T-SC

* add info.json file for Apollo88H-T-SC
2022-07-24 05:25:46 -07:00
QMK Bot
7f938e969d Merge remote-tracking branch 'origin/master' into develop 2022-07-24 11:07:34 +00:00
James Young
592028c724 boardsource/beiwagon: correct QMK Configurator layout data (#17771) 2022-07-24 21:06:55 +10:00
QMK Bot
914861b07c Merge remote-tracking branch 'origin/master' into develop 2022-07-24 05:10:28 +00:00
4pplet
58d484ea28 Waffling80 layout fix (#17757) 2022-07-24 06:09:40 +01:00
QMK Bot
db3d9f9935 Merge remote-tracking branch 'origin/master' into develop 2022-07-24 03:28:12 +00:00
James Young
962dcbf3a3 Creatkeebs Thera Refactor (#17766) 2022-07-23 20:27:38 -07:00
QMK Bot
3825362a3b Merge remote-tracking branch 'origin/master' into develop 2022-07-24 00:10:33 +00:00
Álvaro A. Volpato
98c1f7a9ef [Keyboard] Apollo87H PCB support (#16817)
* Initial Apollo87H support

* Define RGB animations and default animation

* Add proper per-key RGB support

* Adjust LED positions

* Separate delta-gamma

* Fine-tune LED positions

* fix up GAMMA revision

* fix up tabs indentation to spaces indentation

* Fixed positioning and CS-SW defs for some LEDs

* Fix INS RGB position

* Fine-tune LED positions, fix default RGB

* Update readme's

* Rename LAYOUT_87H to lowercase 87h

* Formatting gamma's rules.mk

* Formatting delta's rules.mk

* Use smaller readme image

* Use smaller README image

* First support for 87H-T-SC and 88H-T-SC

* Update README

* Fix layout naming

* Remove

* Remove EEPROM definitions, fix missing RGB LED mod/alpha definer

* Add suggestions from noroadsleft
2022-07-23 17:09:52 -07:00
QMK Bot
f383f7d6e5 Merge remote-tracking branch 'origin/master' into develop 2022-07-24 00:04:24 +00:00
TJ
c3df1775bc [Keyboard] Le Chiffre rev 2 and HE additions (#17377)
* chiffre refactor for new revisions

* updated led matrix config

* updated per suggestions

* add tapdance enable

* revert tapdance (none defined in the default keymaps)

* clean up rules

* add readme for HE

* remove notes in readme

* fix perm

* fix perms

* Fix spacing on readme

* fix perm

* fix perms again?
2022-07-23 17:03:41 -07:00
QMK Bot
302fa11d1f Merge remote-tracking branch 'origin/master' into develop 2022-07-23 20:23:43 +00:00
4pplet
f1ccd60458 [Keyboard] 4pplet Perk60 (#16853)
* adding perk60 iso

adding perk60 iso

* Update info.json

* Update keyboards/4pplet/perk60_iso/rev_a/rev_a.c

* Update keyboards/4pplet/perk60_iso/rev_a/rev_a.c

* Delete chconf.h

* Update keyboards/4pplet/perk60_iso/rev_a/rules.mk

* Update keyboards/4pplet/perk60_iso/rev_a/rev_a.c

* Update keyboards/4pplet/perk60_iso/rev_a/rev_a.c

* Update rules.mk

* Update config.h

* removing a few RGB effects

* removing more effects

* Update keyboards/4pplet/perk60_iso/rev_a/config.h

* Update keyboards/4pplet/perk60_iso/keymaps/default/keymap.c

* Update keyboards/4pplet/perk60_iso/keymaps/default/keymap.c

* Update keyboards/4pplet/perk60_iso/keymaps/via/keymap.c

* Update keyboards/4pplet/perk60_iso/keymaps/via/keymap.c

* Update keyboards/4pplet/perk60_iso/keymaps/via/keymap.c

* Update keyboards/4pplet/perk60_iso/rev_a/rev_a.h

* Update keyboards/4pplet/perk60_iso/keymaps/via/keymap.c

* Update keyboards/4pplet/perk60_iso/info.json

* Update keyboards/4pplet/perk60_iso/rev_a/rules.mk
2022-07-23 13:23:14 -07:00
JayceFayne
d02cefe613 implement tap_code16_delay (#17748) 2022-07-23 19:21:20 +01:00
jack
a6f3194397 Add ability to enter bootloader mode from QK_MAKE (#17745) 2022-07-23 17:43:32 +01:00
QMK Bot
8254d73fd4 Merge remote-tracking branch 'origin/master' into develop 2022-07-23 16:42:55 +00:00
Niko Wenselowski
1f42a8ccdd Fix test logic to check for both keymaps (#17761)
Python will evaluate first the left and then the right side of the and operator.

The left side would previously return True based on the truthiness logic that treats any non-emptry string as true.

It would not check if the desired keymap exists.

If the left side is true it will evaluate the right side which will check for the existance of a specific keymap.

With this change the check for existance of two keymaps is implemented.
2022-07-23 17:42:19 +01:00
jpe230
c586cfda48 (develop) Update bootmagic for Adafruit Macropad (#17755) 2022-07-22 23:28:51 +01:00
QMK Bot
c39a902867 Merge remote-tracking branch 'origin/master' into develop 2022-07-22 20:20:43 +00:00
Yuannan
2202efaf0c Added autoclicker, better mouse, Vim like editing layer and more. (#15702)
* Added autoclicker, better mouse, vim like FN layer and more.

* Updated docs to comply with guidelines

* Fixed Imgur links

* increased step sizes

* updated readme to reflect step size

* Added second delay array for autoclicker to compensate for RGB animation CPU loads

* better RGB effects and updated docs

* better README.md formatting

* added DEBONCE libinput workaround for Linux

* fixed formatting

* fixed typos and clarified

* fixed layer picture order

* Update keyboards/dztech/dz65rgb/keymaps/yuannan/keymap.c

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

* Update keyboards/dztech/dz65rgb/keymaps/yuannan/README.md

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

* Updated Docs and rules

* Updated with the new deferred exec API to ensure more consistant CPS

* renamed README.md to be lower case to comply with fauxpark's request

* Remapped alt to be left instead of right for compatibility reasons

* Update keyboards/dztech/dz65rgb/keymaps/yuannan/config.h

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-07-22 21:20:02 +01:00
QMK Bot
536511a32a Merge remote-tracking branch 'origin/master' into develop 2022-07-22 14:58:18 +00:00
mechlovin
8de0427fec [Kay60] Change LED pin state and correct keycode. (#17746) 2022-07-22 15:57:03 +01:00
QMK Bot
0e81d63b64 Merge remote-tracking branch 'origin/master' into develop 2022-07-22 13:23:36 +00:00
Aidan Gauland
de10784799 Fix compilation error in Ploopy Nano maddie keymap (#17733) 2022-07-22 14:22:56 +01:00
QMK Bot
f1671ec720 Merge remote-tracking branch 'origin/master' into develop 2022-07-22 03:43:08 +00:00
Sắn
b9c7d4c48d [Keyboard] Add Krush65 Hotswap (#16692)
* Add Krush65 Hotswap

* Led fix

* small fix

* a

* B

* move ec action to VIA keymaps

* Update keyboards/sawnsprojects/krush/krush65/hotswap/readme.md

* Update keyboards/sawnsprojects/krush/krush65/hotswap/rules.mk

* Update readme.md

* Update readme.md

* Update readme.md

* Update keyboards/sawnsprojects/krush/krush65/hotswap/readme.md

* Update keyboards/sawnsprojects/krush/krush65/hotswap/rules.mk

* Update keyboards/sawnsprojects/krush/krush65/hotswap/info.json

* Update keyboards/sawnsprojects/krush/krush65/hotswap/readme.md

* Update keyboards/sawnsprojects/krush/krush65/hotswap/readme.md

* Update keyboards/sawnsprojects/krush/krush65/hotswap/info.json

* Update keyboards/sawnsprojects/krush/krush65/hotswap/hotswap.h
2022-07-21 20:42:29 -07:00
QMK Bot
d681eac0ad Merge remote-tracking branch 'origin/master' into develop 2022-07-21 20:24:51 +00:00
Joel Challis
5a0e47db5e Add reviewer/labels to dependabot PRs (#17743) 2022-07-21 21:24:07 +01:00
QMK Bot
bfed88dba2 Merge remote-tracking branch 'origin/master' into develop 2022-07-21 19:55:00 +00:00
dependabot[bot]
4ca99af8f5 Bump JamesIves/github-pages-deploy-action from 4.3.4 to 4.4.0 (#17742) 2022-07-21 20:54:27 +01:00
Drashna Jaelre
5f32690cba Move Pointing Device Initialization (#17740)
Move Pointing Device Initialization to after Split Post Initialization

If both pointing device and split is enabled, the pointing device init needs to be called after the split post init, otherwise the connection (serial/etc) isn't initialized yet, and any commands that need to send data over (such as calling the set cpi command) never get sent over.
2022-07-21 10:16:44 -07:00
jpe230
5c90732622 Adafruit Macropad: Add VIA keymap, fix default km (#17735) 2022-07-21 14:44:12 +01:00
QMK Bot
6081a8091d Merge remote-tracking branch 'origin/master' into develop 2022-07-21 12:45:28 +00:00
jonavin
7f0581cd35 Jonavin mercutio - reduce mem footprint (#17498)
* Reduce mem footprint - remove sprintf

* remove stdio reference and use get_u8_str

Co-authored-by: Jonavin <=>
2022-07-21 13:44:51 +01:00
Albert Y
d510e80b89 Add Blok 2040 conversion (#17603) 2022-07-21 00:54:05 +01:00
Wilba
4efe6330c4 VIA Encoder Map Support (#17734) 2022-07-21 09:53:42 +10:00
QMK Bot
493d422406 Merge remote-tracking branch 'origin/master' into develop 2022-07-20 23:20:34 +00:00
mechlovin
a6d70de96a [Keyboardo] Update PID for mechlovin zed60 (#17728) 2022-07-20 16:19:51 -07:00
mknj
9a31bbb3fa fix syntax error (#17732) 2022-07-20 22:59:18 +01:00
Albert Y
05f30f0787 Use Pro Micro pinout for SDA/SCL (#17595) 2022-07-20 18:24:34 +01:00
QMK Bot
ab45e3b993 Merge remote-tracking branch 'origin/master' into develop 2022-07-20 17:00:18 +00:00
takashicompany
62e3f8b885 Add miniZone Keymap (#17552) 2022-07-20 17:59:40 +01:00
Ben Fiedler
1db5272154 docs: fix default value of USB_SUSPEND_WAKEUP_DELAY (#17501)
Documents the change made in #12081
2022-07-20 17:43:41 +01:00
Drashna Jaelre
ee17ffadea Move Pointing Device code to a subdirectory (#17684) 2022-07-20 17:32:00 +01:00
QMK Bot
adfa36fee4 Merge remote-tracking branch 'origin/master' into develop 2022-07-20 15:02:35 +00:00
Felix Jen
55f16167e4 Added Windz Sinanju to QMK (#17566) 2022-07-20 16:01:35 +01:00
QMK Bot
fa44f2b21e Merge remote-tracking branch 'origin/master' into develop 2022-07-20 00:56:25 +00:00
Michal
00c8e24c6a [Keymap] Michal Keymap for Sofle rev1 (#17610) 2022-07-19 17:55:48 -07:00
Drashna Jaelre
12eb6444c6 Add support for PAW3204 Optical Sensor (#17669)
Co-authored-by: gompa <gompa@h-bomb.nl>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-07-19 17:46:22 -07:00
QMK Bot
6992efb229 Merge remote-tracking branch 'origin/master' into develop 2022-07-19 23:24:53 +00:00
Duccio
a7893f207d Add rgb underglow support and change vendor_id (#17719) 2022-07-20 00:24:10 +01:00
QMK Bot
d0c095eec2 Merge remote-tracking branch 'origin/master' into develop 2022-07-19 15:43:59 +00:00
JW2586
32512bbf10 [Keyboard] Waterfowl keyboard support (#16760)
* Added waterfowl files

* Completing PR Checklist

* Added encoders to info.json

* Added license to default keymap

* Update keyboards/waterfowl/keymaps/cyanduck/keymap.c

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

* Update keyboards/waterfowl/waterfowl.c

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

* Update keyboards/waterfowl/waterfowl.c

* Update keyboards/waterfowl/waterfowl.c

* Update keyboards/waterfowl/keymaps/cyanduck/keymap.c

* Update keyboards/waterfowl/rules.mk

* Update readme.md

* Update keyboards/waterfowl/waterfowl.c

* Update keyboards/waterfowl/info.json

* Update keyboards/waterfowl/info.json
2022-07-19 08:43:19 -07:00
QMK Bot
d458df7698 Merge remote-tracking branch 'origin/master' into develop 2022-07-19 10:29:44 +00:00
takashicompany
819231afe1 Add keymap for Radialex (#17662)
* fix keymap

* fix keymaps
2022-07-19 11:28:45 +01:00
QMK Bot
7a10c3370f Merge remote-tracking branch 'origin/master' into develop 2022-07-19 10:14:23 +00:00
David Hoelscher
1bf95d60e4 [Keyboard] customMK EVO70 (#14907)
* added files for EVO70

* updated info.json and readme

* ran qmk lint and fixed typo in info.json

* removed defines from config.h in favor of info.json

* removed an unnecssary include

* removed unnecessary code

* updated rules.mk to remove mention of Bluetooth

* corrected edit to rules.mk

* added code for OLED menu display

* removed extraneous comments and spaces

* added bongo cat animation

* Update keyboards/custommk/evo70/rules.mk

* Update keyboards/custommk/evo70/config.h

* Modified Bongocat graphics to match original proportions

* updated info.json device version

* updated OLED splash screen display timing

* improved bongo cat tap detection and added backlight breathing to OLED menu

* various improvements to OLED, saving settings, and VIA keymap fix

* removed extraneous define

* custom encoder assignment retained upon powerup, backlight sleep upon suspend

* corrected bongo cat tap detection

* Changed splash screen and bongo cat encoder rotation to use the custom assignments

* removed _default from LAYOUT naming and changed keyboard image to be hosted from imgur

* Force smaller version of image to be used in readme
2022-07-19 03:13:16 -07:00
Nick Brassel
1cdde7ba6a Fix AVR compilation of FNV by using standard integer typenames. (#17716) 2022-07-19 05:30:01 +01:00
jack
59c7b15b4d [Keyboard] boardsource/microdox data driven (#17675) 2022-07-18 19:20:24 -07:00
QMK Bot
e8b14a52de Merge remote-tracking branch 'origin/master' into develop 2022-07-19 02:09:38 +00:00
James Young
7aea67980b Update noroadsleft userspace and keymaps (2022-07-18) (#17714)
* kbdfans/kbd75/rev1:noroadsleft - remove LAYOUT_75_ansi_wkl definition

* coseyfannitutti/discipline:noroadsleft - change KC_GESC to KC_ESC

* update Quantum keycode instances in noroadsleft keymaps

- `RESET` -> `QK_BOOT`
- `EEP_RST` -> `EE_CLR`
- `DEBUG` -> `DB_TOGG`

* create and add G_PWD macro
2022-07-18 19:09:05 -07:00
Joel Challis
c3f1ba7dd1 Remove full bootmagic config (#17702) 2022-07-19 02:28:23 +01:00
QMK Bot
eabbc04213 Merge remote-tracking branch 'origin/master' into develop 2022-07-18 19:53:40 +00:00
Sergey Vlasov
627e35b7ac Remove Nixpkgs-provided poetry from the environment (#17673)
The `poetry` package from the used Nixpkgs snapshot triggers the regex
compatibility issue in Nix >= 2.10.0 binaries for `x86_64-darwin`:

    https://www.github.com/NixOS/nix/issues/4758

Remove the `poetry` package from the Nix shell environment for now
(it is not really required to compile QMK, only to develop the Nix shell
environment itself).

In addition, all `poetry` version earlier than 1.1.14 became effectively
non-functional after a breaking change of the PyPI JSON API:

    https://www.github.com/python-poetry/poetry/pull/5973

Updating the `poetry` package is not trivial (just adding it it to
`pyproject.toml` does not work due to dependency version conflicts with
other modules), therefore removing it seems to be the easiest solution
to restore compatibility with new Nix versions while not creating any
major inconvenience for QMK users.
2022-07-18 22:52:55 +03:00
QMK Bot
0e4f953976 Merge remote-tracking branch 'origin/master' into develop 2022-07-18 12:20:54 +00:00
Jason Wihardja
c10d0fc785 Add Support for Massdrop's Stack Overflow The Key V2 (#17696)
* Default Factory Settings

* Change Keyboard Name in Readme

* Fix LED Orders

* Change Brightness Step

* Enable Lighting Layers

* Add RGB Control Mode

* Unblink Layer to Clear Stack

* Add MacOS RGB Control

* Comment Fixes
2022-07-18 13:20:19 +01:00
QMK Bot
11cfc8a0b6 Merge remote-tracking branch 'origin/master' into develop 2022-07-18 12:18:48 +00:00
Runheme
4be736c192 [Keyboard]modify ginkgo65hot (#17705)
modify ginkgo65hot
2022-07-18 13:18:08 +01:00
Joel Challis
42eff8c372 Allow dynamic keymap to compile without via.h (#17703) 2022-07-18 11:55:27 +01:00
QMK Bot
32cc8a7f43 Merge remote-tracking branch 'origin/master' into develop 2022-07-17 23:56:05 +00:00
Kyle McCreery
a444ccd27c Re-refactor Mokulua (#17125)
* allowing the kt60 file to be modified so I can do things while waiting for it to be fixed upstream

* initial commit for mokulua keyboard

* Split the board into mirrored and standard layouts.

* Prepping for PR. Silly keymap added.

* prepped for PR

* Apply suggestions from code review

* Fixing firmware from the refactor that removed the mirrored layout.

* Small tweaks using changes from refactor

* Changed the name of the layouts back to match the original to resolve conflict in info.json

* these files needed to be removed as well, they were added as a part of the refactor

* info.json moveds to be different for each build

* Another file had to be removed and the mirrored.c file changed to call mirrored.h instead of standard.h

* fixing chibios ver

* force deleting to revert

* fixing chibios shit

* Update keyboards/mechwild/mokulua/mirrored/mirrored.c

* Update keyboards/mechwild/mokulua/standard/standard.c

* Removing tabs and replacing with 4 spaces. Small style and formatting changes.
2022-07-17 16:55:32 -07:00
Stefan Kerkmann
a304a9b51e Use correct angle tune range of +/-127 on PMW33XX (#17708)
...partially reverts 580bcff4f6 as the
datasheet doesn't claim that the angle tuning as limited to +/- 30
degrees.
2022-07-17 21:08:55 +02:00
17374 changed files with 333920 additions and 147754 deletions

View File

@@ -1,36 +0,0 @@
---
name: Bug report
about: Create a report to help us improve QMK Firmware.
title: "[Bug] "
labels: bug, help wanted
assignees: ''
---
<!-- Provide a general summary of the bug 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. -->
## Describe the Bug
<!-- A clear and concise description of what the bug is. -->
## System Information
**Keyboard:**
**Revision (if applicable):**
**Operating system:**
**`qmk doctor` output:**
```
(Paste output here)
```
**Any keyboard related software installed?**
- [ ] AutoHotKey (Windows)
- [ ] Karabiner (macOS)
- [ ] Other:
## Additional Context
<!-- Add any other relevant information about the problem here. -->

41
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,41 @@
name: Bug report
description: Create a report to help us improve QMK Firmware.
title: "[Bug] "
labels: ["bug", "help wanted"]
body:
- type: markdown
attributes:
value: |
Provide a general summary of the bug in the title above.
- type: textarea
attributes:
label: Describe the Bug
description: A clear and concise description of what the bug is.
- type: input
attributes:
label: Keyboard Used
description: The name of the keyboard from the `make` or `qmk compile`/`qmk flash` commands, eg. `planck/rev6`.
- type: input
attributes:
label: Link to product page (if applicable)
- type: input
attributes:
label: Operating System
- type: textarea
attributes:
label: qmk doctor Output
description: Output from running the `qmk doctor` command.
render: text
- type: checkboxes
attributes:
label: Is AutoHotKey / Karabiner installed
options:
- label: AutoHotKey (Windows)
- label: Karabiner (macOS)
- type: input
attributes:
label: Other keyboard-related software installed
- type: textarea
attributes:
label: Additional Context
description: Add any other relevant information about the problem here.

View File

@@ -1,24 +0,0 @@
---
name: Feature request
about: Suggest a new feature or changes to existing features.
title: "[Feature Request] "
labels: enhancement, help wanted
assignees: ''
---
<!--- Provide a general summary of the changes you want 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. -->
## Feature Request Type
- [ ] Core functionality
- [ ] Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
- [ ] Alteration (enhancement/optimization) of existing feature(s)
- [ ] New behavior
## Description
<!-- A few sentences describing what it is that you'd like to see in QMK. Additional information (such as links to spec sheets, licensing info, other related issues or PRs, etc) would be helpful. -->

View File

@@ -0,0 +1,21 @@
name: Feature request
description: Suggest a new feature or changes to existing features.
title: "[Feature Request] "
labels: ["enhancement", "help wanted"]
body:
- type: markdown
attributes:
value: |
Provide a general summary of the changes you want in the title above.
- type: checkboxes
attributes:
label: Feature Request Type
options:
- label: Core functionality
- label: Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
- label: Alteration (enhancement/optimization) of existing feature(s)
- label: New behavior
- type: textarea
attributes:
label: Description
description: A few sentences describing what it is that you'd like to see in QMK. Additional information (such as links to spec sheets, licensing info, other related issues or PRs, etc) would be helpful.

View File

@@ -1,14 +0,0 @@
---
name: Other issues
about: Anything else that doesn't fall into the above categories.
title: ''
labels: help wanted, question
assignees: ''
---
<!--- Provide a general summary of the changes you want in the title above. -->
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->
<!-- Please check https://docs.qmk.fm/#/support for additional resources first. If that doesn't answer your question, choose the bug report template instead, as that may be more appropriate. -->

16
.github/ISSUE_TEMPLATE/other_issues.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: Other issues
description: Anything else that doesn't fall into the above categories.
labels: ["help wanted", "question"]
body:
- type: markdown
attributes:
value: |
Provide a general summary of the changes you want in the title above.
- type: markdown
attributes:
value: |
Please check [https://docs.qmk.fm/#/support](https://docs.qmk.fm/#/support) for additional resources first. If that doesn't answer your question, choose the bug report template instead, as that may be more appropriate.
- type: textarea
attributes:
label: Issue Description
description: Describe your issue in as much detail as possible.

View File

@@ -2,5 +2,8 @@ version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
labels: CI
reviewers:
- "qmk/collaborators"
schedule:
interval: "daily"

View File

@@ -1,12 +1,19 @@
name: Update API Data
permissions:
contents: read
on:
push:
branches:
- master
- develop
paths:
- 'keyboards/**'
- 'layouts/community/**'
- 'lib/python/**'
- 'data/**'
- '.github/workflows/api.yml'
workflow_dispatch:
jobs:
@@ -14,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
container: qmkfm/qmk_cli
# protect against those who develop with their fork on master
# protect against those who work in their fork on 'important' branches
if: github.repository == 'qmk/qmk_firmware'
steps:
@@ -23,15 +30,20 @@ jobs:
fetch-depth: 1
persist-credentials: false
- name: Install dependencies
run: |
pip3 install -r requirements-dev.txt
- name: Generate API Data
run: qmk generate-api
run: |
qmk generate-api
- name: Upload API Data
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete
env:
AWS_S3_BUCKET: ${{ secrets.API_SPACE_MASTER }}
AWS_S3_BUCKET: ${{ github.ref == 'refs/heads/develop' && secrets['API_SPACE_DEVELOP'] || secrets['API_SPACE_MASTER'] }}
AWS_ACCESS_KEY_ID: ${{ secrets.SPACES_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.SPACES_SECRET_KEY }}
AWS_S3_ENDPOINT: https://nyc3.digitaloceanspaces.com

View File

@@ -1,5 +1,7 @@
name: Automatic Approve
permissions: {}
on:
schedule:
- cron: "*/5 * * * *"

View File

@@ -1,16 +1,20 @@
name: Essential files modified
permissions:
contents: write
on:
push:
branches:
- master
paths:
- quantum/**/*
- tmk_core/**/*
- builddefs/**/*
- drivers/**/*
- tests/**/*
- util/**/*
- platforms/**/*
- quantum/**/*
- tests/**/*
- tmk_core/**/*
- util/**/*
- Makefile
- '*.mk'
@@ -27,7 +31,7 @@ jobs:
fetch-depth: 0
- name: Bump version and push tag
uses: anothrNick/github-tag-action@1.39.0
uses: anothrNick/github-tag-action@1.56.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DEFAULT_BUMP: 'patch'

View File

@@ -1,5 +1,8 @@
name: CLI CI
permissions:
contents: read
on:
push:
branches:

View File

@@ -1,40 +0,0 @@
name: Update Develop API Data
on:
push:
branches:
- develop
paths:
- 'keyboards/**'
- 'layouts/community/**'
workflow_dispatch:
jobs:
api_data:
runs-on: ubuntu-latest
container: qmkfm/qmk_cli
# protect against those who work in their fork on develop
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 1
persist-credentials: false
- name: Generate API Data
run: |
python3 -m pip install -r requirements-dev.txt
qmk generate-api
- name: Upload API Data
uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete
env:
AWS_S3_BUCKET: ${{ secrets.API_SPACE_DEVELOP }}
AWS_ACCESS_KEY_ID: ${{ secrets.SPACES_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.SPACES_SECRET_KEY }}
AWS_S3_ENDPOINT: https://nyc3.digitaloceanspaces.com
SOURCE_DIR: '.build/api_data'

View File

@@ -1,5 +1,8 @@
name: Update develop after master merge
permissions:
contents: write
on:
push:
branches:
@@ -17,6 +20,10 @@ jobs:
token: ${{ secrets.QMK_BOT_TOKEN }}
fetch-depth: 0
- name: Disable automatic eol conversion
run: |
echo "* -text" > .git/info/attributes
- name: Checkout develop
run: |
git fetch origin master develop

View File

@@ -1,5 +1,8 @@
name: Generate Docs
permissions:
contents: write
on:
push:
branches:
@@ -34,7 +37,7 @@ jobs:
qmk --verbose generate-docs
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4.3.4
uses: JamesIves/github-pages-deploy-action@v4.4.1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BASE_BRANCH: master

View File

@@ -1,5 +1,8 @@
name: Update feature branches after develop merge
permissions:
contents: write
on:
push:
branches:
@@ -22,6 +25,10 @@ jobs:
token: ${{ secrets.QMK_BOT_TOKEN }}
fetch-depth: 0
- name: Disable automatic eol conversion
run: |
echo "* -text" > .git/info/attributes
- name: Checkout branch
run: |
git fetch origin develop ${{ matrix.branch }}

View File

@@ -1,5 +1,8 @@
name: PR Lint Format
permissions:
contents: read
on:
pull_request:
paths:

View File

@@ -1,5 +1,8 @@
name: Lint Format
permissions:
contents: read
on:
push:
branches:
@@ -17,6 +20,10 @@ jobs:
with:
fetch-depth: 0
- name: Disable automatic eol conversion
run: |
echo "* -text" > .git/info/attributes
- name: Install dependencies
run: |
pip3 install -r requirements-dev.txt

View File

@@ -1,5 +1,9 @@
name: "Pull Request Labeler"
permissions:
contents: read
pull-requests: write
on:
pull_request_target:
types: [opened, synchronize, reopened, ready_for_review, locked]

View File

@@ -1,5 +1,8 @@
name: PR Lint keyboards
permissions:
contents: read
on:
pull_request:
paths:

View File

@@ -1,18 +1,19 @@
name: 'Close stale issues and PRs'
on:
schedule:
- cron: '30 1 * * *'
workflow_dispatch:
permissions:
issues: write
pull-requests: write
on:
schedule:
- cron: '30 1 * * *'
workflow_dispatch:
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v5
- uses: actions/stale@v7
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,5 +1,8 @@
name: Unit Tests
permissions:
contents: read
on:
push:
branches:

12
.gitignore vendored
View File

@@ -53,6 +53,7 @@ quantum/version.h
build/
cmake-build-debug
CMakeLists.txt
*.pdf
# Let these ones be user specific, since we have so many different configurations
*.code-workspace
@@ -67,9 +68,20 @@ CMakeLists.txt
tags
# Ignore image/font files
*.bmp
*.wbmp
*.gif
*.jpg
*.jpeg
*.png
*.apng
*.mng
*.svg
*.webp
*.webm
*.avi
*.mp4
*.mpeg
*.ttf
*.otf

View File

@@ -6,7 +6,8 @@
"files.exclude": {
"**/.build": true,
"**/*.hex": true,
"**/*.bin": true
"**/*.bin": true,
"**/*.uf2": true
},
"files.associations": {
"*.h": "c",

View File

@@ -241,7 +241,7 @@ endef
# if we are going to compile all keyboards, match the rest of the rule
# for each of them
define PARSE_ALL_KEYBOARDS
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(shell util/list_keyboards.sh noci | sort -u)))
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(shell util/list_keyboards.sh | sort -u)))
endef
# Prints a list of all known keymaps for the given keyboard
@@ -264,7 +264,7 @@ define PARSE_KEYMAP
# The rest of the rule is the target
# Remove the leading ":" from the target, as it acts as a separator
MAKE_TARGET := $$(patsubst :%,%,$$(RULE))
# We need to generate an unique indentifer to append to the COMMANDS list
# We need to generate an unique identifier to append to the COMMANDS list
CURRENT_KB_UNDER := $$(subst /,_,$$(CURRENT_KB))
COMMAND := COMMAND_KEYBOARD_$$(CURRENT_KB_UNDER)_KEYMAP_$$(CURRENT_KM)
# If we are compiling a keyboard without a subproject, we want to display just the name
@@ -429,9 +429,15 @@ lib/%:
.PHONY: git-submodule
git-submodule:
[ -e lib/ugfx ] && rm -rf lib/ugfx || true
[ -e lib/pico-sdk ] && rm -rf lib/pico-sdk || true
[ -e lib/chibios-contrib/ext/mcux-sdk ] && rm -rf lib/chibios-contrib/ext/mcux-sdk || true
git submodule sync --recursive
git submodule update --init --recursive --progress
.PHONY: git-submodules
git-submodules: git-submodule
.PHONY: list-keyboards
list-keyboards:
util/list_keyboards.sh | sort -u | tr '\n' ' '

View File

@@ -1,222 +0,0 @@
# Copyright 2017 Jack Humbert
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# If it's possible that multiple bootloaders can be used for one project,
# you can leave this unset, and the correct size will be selected
# automatically.
#
# Sets the bootloader defined in the keyboard's/keymap's rules.mk
# Current options:
#
# AVR:
# halfkay PJRC Teensy
# caterina Pro Micro (Sparkfun/generic)
# atmel-dfu Atmel factory DFU
# lufa-dfu LUFA DFU
# qmk-dfu QMK DFU (LUFA + blinkenlight)
# qmk-hid QMK HID (LUFA + blinkenlight)
# bootloadhid HIDBootFlash compatible (ATmega32A)
# usbasploader USBaspLoader (ATmega328P)
# ARM:
# halfkay PJRC Teensy
# kiibohd Input:Club Kiibohd bootloader (only used on their boards)
# stm32duino STM32Duino (STM32F103x8)
# stm32-dfu STM32 USB DFU in ROM
# apm32-dfu APM32 USB DFU in ROM
# RISC-V:
# gd32v-dfu GD32V USB DFU in ROM
#
# If you need to provide your own implementation, you can set inside `rules.mk`
# `BOOTLOADER = custom` -- you'll need to provide your own implementations. See
# the respective file under `platforms/<PLATFORM>/bootloaders/custom.c` to see
# which functions may be overridden.
#
# BOOTLOADER_SIZE can still be defined manually, but it's recommended
# you add any possible configuration to this list
ifeq ($(strip $(BOOTLOADER)), custom)
OPT_DEFS += -DBOOTLOADER_CUSTOM
BOOTLOADER_TYPE = custom
endif
ifeq ($(strip $(BOOTLOADER)), atmel-dfu)
OPT_DEFS += -DBOOTLOADER_ATMEL_DFU
OPT_DEFS += -DBOOTLOADER_DFU
BOOTLOADER_TYPE = dfu
ifneq (,$(filter $(MCU), at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647))
BOOTLOADER_SIZE = 4096
endif
ifneq (,$(filter $(MCU), at90usb1286 at90usb1287))
BOOTLOADER_SIZE = 8192
endif
endif
ifeq ($(strip $(BOOTLOADER)), lufa-dfu)
OPT_DEFS += -DBOOTLOADER_LUFA_DFU
OPT_DEFS += -DBOOTLOADER_DFU
BOOTLOADER_TYPE = dfu
ifneq (,$(filter $(MCU), at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647))
BOOTLOADER_SIZE ?= 4096
endif
ifneq (,$(filter $(MCU), at90usb1286 at90usb1287))
BOOTLOADER_SIZE ?= 8192
endif
endif
ifeq ($(strip $(BOOTLOADER)), qmk-dfu)
OPT_DEFS += -DBOOTLOADER_QMK_DFU
OPT_DEFS += -DBOOTLOADER_DFU
BOOTLOADER_TYPE = dfu
ifneq (,$(filter $(MCU), at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647))
BOOTLOADER_SIZE ?= 4096
endif
ifneq (,$(filter $(MCU), at90usb1286 at90usb1287))
BOOTLOADER_SIZE ?= 8192
endif
endif
ifeq ($(strip $(BOOTLOADER)), qmk-hid)
OPT_DEFS += -DBOOTLOADER_QMK_HID
OPT_DEFS += -DBOOTLOADER_HID
BOOTLOADER_TYPE = dfu
BOOTLOADER_SIZE ?= 4096
endif
ifeq ($(strip $(BOOTLOADER)), halfkay)
OPT_DEFS += -DBOOTLOADER_HALFKAY
BOOTLOADER_TYPE = halfkay
# Teensy 2.0
ifeq ($(strip $(MCU)), atmega32u4)
BOOTLOADER_SIZE = 512
endif
# Teensy 2.0++
ifeq ($(strip $(MCU)), at90usb1286)
BOOTLOADER_SIZE = 1024
endif
# Teensy LC, 3.0, 3.1/2, 3.5, 3.6
ifneq (,$(filter $(MCU_ORIG), MKL26Z64 MK20DX128 MK20DX256 MK64FX512 MK66FX1M0))
FIRMWARE_FORMAT = hex
endif
endif
ifeq ($(strip $(BOOTLOADER)), caterina)
OPT_DEFS += -DBOOTLOADER_CATERINA
BOOTLOADER_TYPE = caterina
BOOTLOADER_SIZE = 4096
endif
ifneq (,$(filter $(BOOTLOADER), bootloadhid bootloadHID))
OPT_DEFS += -DBOOTLOADER_BOOTLOADHID
BOOTLOADER_TYPE = bootloadhid
BOOTLOADER_SIZE = 4096
endif
ifneq (,$(filter $(BOOTLOADER), usbasploader USBasp))
OPT_DEFS += -DBOOTLOADER_USBASP
BOOTLOADER_TYPE = usbasploader
BOOTLOADER_SIZE = 4096
endif
ifeq ($(strip $(BOOTLOADER)), lufa-ms)
OPT_DEFS += -DBOOTLOADER_MS
BOOTLOADER_TYPE = dfu
BOOTLOADER_SIZE ?= 8192
FIRMWARE_FORMAT = bin
cpfirmware: lufa_warning
.INTERMEDIATE: lufa_warning
lufa_warning: $(FIRMWARE_FORMAT)
$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)
$(info LUFA MASS STORAGE Bootloader selected)
$(info DO NOT USE THIS BOOTLOADER IN NEW PROJECTS!)
$(info It is extremely prone to bricking, and is only included to support existing boards.)
$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)
endif
ifdef BOOTLOADER_SIZE
OPT_DEFS += -DBOOTLOADER_SIZE=$(strip $(BOOTLOADER_SIZE))
endif
ifeq ($(strip $(BOOTLOADER)), stm32-dfu)
OPT_DEFS += -DBOOTLOADER_STM32_DFU
BOOTLOADER_TYPE = stm32_dfu
# Options to pass to dfu-util when flashing
DFU_ARGS ?= -d 0483:DF11 -a 0 -s 0x08000000:leave
DFU_SUFFIX_ARGS ?= -v 0483 -p DF11
endif
ifeq ($(strip $(BOOTLOADER)), apm32-dfu)
OPT_DEFS += -DBOOTLOADER_APM32_DFU
BOOTLOADER_TYPE = stm32_dfu
# Options to pass to dfu-util when flashing
DFU_ARGS ?= -d 314B:0106 -a 0 -s 0x08000000:leave
DFU_SUFFIX_ARGS ?= -v 314B -p 0106
endif
ifeq ($(strip $(BOOTLOADER)), gd32v-dfu)
OPT_DEFS += -DBOOTLOADER_GD32V_DFU
BOOTLOADER_TYPE = gd32v_dfu
# Options to pass to dfu-util when flashing
DFU_ARGS ?= -d 28E9:0189 -a 0 -s 0x08000000:leave
DFU_SUFFIX_ARGS ?= -v 28E9 -p 0189
endif
ifeq ($(strip $(BOOTLOADER)), kiibohd)
OPT_DEFS += -DBOOTLOADER_KIIBOHD
BOOTLOADER_TYPE = kiibohd
ifeq ($(strip $(MCU_ORIG)), MK20DX128)
MCU_LDSCRIPT = MK20DX128BLDR4
endif
ifeq ($(strip $(MCU_ORIG)), MK20DX256)
MCU_LDSCRIPT = MK20DX256BLDR8
endif
# Options to pass to dfu-util when flashing
DFU_ARGS = -d 1C11:B007
DFU_SUFFIX_ARGS = -v 1C11 -p B007
endif
ifeq ($(strip $(BOOTLOADER)), stm32duino)
OPT_DEFS += -DBOOTLOADER_STM32DUINO
MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader
BOARD = STM32_F103_STM32DUINO
BOOTLOADER_TYPE = stm32duino
# Options to pass to dfu-util when flashing
DFU_ARGS = -d 1EAF:0003 -a 2 -R
DFU_SUFFIX_ARGS = -v 1EAF -p 0003
endif
ifeq ($(strip $(BOOTLOADER)), tinyuf2)
OPT_DEFS += -DBOOTLOADER_TINYUF2
BOOTLOADER_TYPE = tinyuf2
endif
ifeq ($(strip $(BOOTLOADER)), rp2040)
OPT_DEFS += -DBOOTLOADER_RP2040
BOOTLOADER_TYPE = rp2040
endif
ifeq ($(strip $(BOOTLOADER)), halfkay)
OPT_DEFS += -DBOOTLOADER_HALFKAY
BOOTLOADER_TYPE = halfkay
endif
ifeq ($(strip $(BOOTLOADER)), md-boot)
OPT_DEFS += -DBOOTLOADER_MD_BOOT
BOOTLOADER_TYPE = md_boot
endif
ifeq ($(strip $(BOOTLOADER)), wb32-dfu)
OPT_DEFS += -DBOOTLOADER_WB32_DFU
BOOTLOADER_TYPE = wb32_dfu
endif
ifeq ($(strip $(BOOTLOADER_TYPE)),)
$(call CATASTROPHIC_ERROR,Invalid BOOTLOADER,No bootloader specified. Please set an appropriate 'BOOTLOADER' in your keyboard's 'rules.mk' file.)
endif

View File

@@ -20,7 +20,7 @@ $(TEST)_SRC := \
$(TMK_COMMON_SRC) \
$(QUANTUM_SRC) \
$(SRC) \
tests/test_common/keymap.c \
$(QUANTUM_PATH)/keymap_introspection.c \
tests/test_common/matrix.c \
tests/test_common/test_driver.cpp \
tests/test_common/keyboard_report_util.cpp \
@@ -29,7 +29,7 @@ $(TEST)_SRC := \
tests/test_common/test_logger.cpp \
$(patsubst $(ROOTDIR)/%,%,$(wildcard $(TEST_PATH)/*.cpp))
$(TEST)_DEFS := $(TMK_COMMON_DEFS) $(OPT_DEFS)
$(TEST)_DEFS := $(TMK_COMMON_DEFS) $(OPT_DEFS) "-DKEYMAP_C=\"keymap.c\""
$(TEST)_CONFIG := $(TEST_PATH)/config.h

View File

@@ -124,26 +124,26 @@ include $(BUILDDEFS_PATH)/build_json.mk
# Pull in keymap level rules.mk
ifeq ("$(wildcard $(KEYMAP_PATH))", "")
# Look through the possible keymap folders until we find a matching keymap.c
ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_5)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_4)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_3)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3)
ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_1)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_2)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_1)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_3)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_4)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_5)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5)
else ifneq ($(LAYOUTS),)
# If we haven't found a keymap yet fall back to community layouts
include $(BUILDDEFS_PATH)/build_layout.mk
@@ -162,7 +162,7 @@ ifneq ("$(wildcard $(KEYMAP_JSON))", "")
-include $(KEYMAP_PATH)/rules.mk
# Load any rules.mk content from keymap.json
INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --keymap $(KEYMAP) --output $(KEYMAP_OUTPUT)/src/rules.mk)
INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --output $(KEYMAP_OUTPUT)/src/rules.mk $(KEYMAP_JSON))
include $(INFO_RULES_MK)
# Add rules to generate the keymap files - indentation here is important
@@ -173,7 +173,7 @@ $(KEYMAP_OUTPUT)/src/keymap.c: $(KEYMAP_JSON)
$(KEYMAP_OUTPUT)/src/config.h: $(KEYMAP_JSON)
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
$(eval CMD=$(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --keymap $(KEYMAP) --output $(KEYMAP_H))
$(eval CMD=$(QMK_BIN) generate-config-h --quiet --output $(KEYMAP_H) $(KEYMAP_JSON))
@$(BUILD_CMD)
generated-files: $(KEYMAP_OUTPUT)/src/config.h $(KEYMAP_OUTPUT)/src/keymap.c
@@ -236,26 +236,25 @@ endif
# that the same keymap may be used on multiple keyboards.
#
# We grab the most top-level include file that we can. That file should
# use #ifdef statements to include all the neccesary subfolder includes,
# use #ifdef statements to include all the necessary subfolder includes,
# as described here:
#
# https://docs.qmk.fm/#/feature_layouts?id=tips-for-making-layouts-keyboard-agnostic
#
QMK_KEYBOARD_H = $(KEYBOARD_OUTPUT)/src/default_keyboard.h
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).h)","")
QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_1).h
FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_1).h
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/$(KEYBOARD_FOLDER_2).h)","")
QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_2).h
FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_2).h
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/$(KEYBOARD_FOLDER_3).h)","")
QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_3).h
FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_3).h
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/$(KEYBOARD_FOLDER_4).h)","")
QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_4).h
FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_4).h
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).h)","")
QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_5).h
FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_5).h
endif
# Determine and set parameters based on the keyboard's processor family.
@@ -329,7 +328,7 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_5)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_5)/info.json
endif
CONFIG_H += $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h
CONFIG_H += $(KEYBOARD_OUTPUT)/src/info_config.h
KEYBOARD_SRC += $(KEYBOARD_OUTPUT)/src/default_keyboard.c
$(KEYBOARD_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES)
@@ -344,15 +343,10 @@ $(KEYBOARD_OUTPUT)/src/default_keyboard.c: $(INFO_JSON_FILES)
$(KEYBOARD_OUTPUT)/src/default_keyboard.h: $(INFO_JSON_FILES)
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
$(eval CMD=$(QMK_BIN) generate-keyboard-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/default_keyboard.h)
$(eval CMD=$(QMK_BIN) generate-keyboard-h --quiet --keyboard $(KEYBOARD) --include $(FOUND_KEYBOARD_H) --output $(KEYBOARD_OUTPUT)/src/default_keyboard.h)
@$(BUILD_CMD)
$(KEYBOARD_OUTPUT)/src/layouts.h: $(INFO_JSON_FILES)
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
$(eval CMD=$(QMK_BIN) generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h)
@$(BUILD_CMD)
generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/default_keyboard.c $(KEYBOARD_OUTPUT)/src/default_keyboard.h $(KEYBOARD_OUTPUT)/src/layouts.h
generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/default_keyboard.c $(KEYBOARD_OUTPUT)/src/default_keyboard.h
.INTERMEDIATE : generated-files
@@ -374,6 +368,10 @@ endif
# Disable features that a keyboard doesn't support
-include $(BUILDDEFS_PATH)/disable_features.mk
ifneq ("$(CONVERTER)","")
-include $(CONVERTER)/post_converter.mk
endif
# Pull in post_rules.mk files from all our subfolders
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/post_rules.mk)","")
include $(KEYBOARD_PATH_1)/post_rules.mk
@@ -428,7 +426,6 @@ include $(BUILDDEFS_PATH)/common_features.mk
include $(BUILDDEFS_PATH)/generic_features.mk
include $(TMK_PATH)/protocol.mk
include $(PLATFORM_PATH)/common.mk
include $(BUILDDEFS_PATH)/bootloader.mk
SRC += $(patsubst %.c,%.clib,$(LIB_SRC))
SRC += $(patsubst %.c,%.clib,$(QUANTUM_LIB_SRC))
@@ -443,6 +440,7 @@ ifneq ($(REQUIRE_PLATFORM_KEY),)
endif
endif
-include $(PLATFORM_PATH)/$(PLATFORM_KEY)/bootloader.mk
include $(PLATFORM_PATH)/$(PLATFORM_KEY)/platform.mk
-include $(PLATFORM_PATH)/$(PLATFORM_KEY)/flash.mk
@@ -471,7 +469,7 @@ ALL_CONFIGS := $(PROJECT_CONFIG) $(CONFIG_H)
OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT)
$(KEYMAP_OUTPUT)_SRC := $(SRC)
$(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) \
-DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(QMK_KEYBOARD_H)\" \
-DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(KEYBOARD_OUTPUT)/src/default_keyboard.h\" \
-DQMK_KEYMAP=\"$(KEYMAP)\" -DQMK_KEYMAP_H=\"$(KEYMAP).h\" -DQMK_KEYMAP_CONFIG_H=\"$(KEYMAP_PATH)/config.h\"
$(KEYMAP_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS)
$(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H)
@@ -493,16 +491,21 @@ check-size: build
check-md5: build
objs-size: build
ifneq ($(strip $(TOP_SYMBOLS)),)
ifeq ($(strip $(TOP_SYMBOLS)),yes)
NUM_TOP_SYMBOLS := 10
else
NUM_TOP_SYMBOLS := $(strip $(TOP_SYMBOLS))
endif
all: top-symbols
check-size: top-symbols
top-symbols: build
echo "###########################################"
echo "# Highest flash usage:"
$(NM) -Crtd --size-sort $(BUILD_DIR)/$(TARGET).elf | grep -i ' [t] ' | head -n10 | sed -e 's#^0000000# #g' -e 's#^000000# #g' -e 's#^00000# #g' -e 's#^0000# #g' -e 's#^000# #g' -e 's#^00# #g' -e 's#^0# #g'
$(NM) -Crtd --size-sort $(BUILD_DIR)/$(TARGET).elf | grep -i ' [t] ' | head -n$(NUM_TOP_SYMBOLS) | sed -e 's#^0000000# #g' -e 's#^000000# #g' -e 's#^00000# #g' -e 's#^0000# #g' -e 's#^000# #g' -e 's#^00# #g' -e 's#^0# #g'
echo "###########################################"
echo "# Highest RAM usage:"
$(NM) -Crtd --size-sort $(BUILD_DIR)/$(TARGET).elf | grep -i ' [dbv] ' | head -n10 | sed -e 's#^0000000# #g' -e 's#^000000# #g' -e 's#^00000# #g' -e 's#^0000# #g' -e 's#^000# #g' -e 's#^00# #g' -e 's#^0# #g'
$(NM) -Crtd --size-sort $(BUILD_DIR)/$(TARGET).elf | grep -i ' [dbv] ' | head -n$(NUM_TOP_SYMBOLS) | sed -e 's#^0000000# #g' -e 's#^000000# #g' -e 's#^00000# #g' -e 's#^0000# #g' -e 's#^000# #g' -e 's#^00# #g' -e 's#^0# #g'
echo "###########################################"
endif

View File

@@ -71,7 +71,7 @@ include $(BUILDDEFS_PATH)/build_full_test.mk
endif
$(TEST)_SRC += \
tests/test_common/main.c \
tests/test_common/main.cpp \
$(QUANTUM_PATH)/logging/print.c
$(TEST_OBJ)/$(TEST)_SRC := $($(TEST)_SRC)

View File

@@ -64,6 +64,7 @@ ifeq ($(strip $(AUDIO_ENABLE)), yes)
OPT_DEFS += -DAUDIO_DRIVER_PWM
endif
OPT_DEFS += -DAUDIO_ENABLE
COMMON_VPATH += $(QUANTUM_PATH)/audio
MUSIC_ENABLE = yes
SRC += $(QUANTUM_DIR)/process_keycode/process_audio.c
SRC += $(QUANTUM_DIR)/process_keycode/process_clicky.c
@@ -126,15 +127,17 @@ ifeq ($(strip $(MOUSEKEY_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/mousekey.c
endif
VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick cirque_pinnacle_i2c cirque_pinnacle_spi pmw3360 pmw3389 pimoroni_trackball custom
VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick cirque_pinnacle_i2c cirque_pinnacle_spi paw3204 pmw3360 pmw3389 pimoroni_trackball custom
ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes)
ifeq ($(filter $(POINTING_DEVICE_DRIVER),$(VALID_POINTING_DEVICE_DRIVER_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid POINTING_DEVICE_DRIVER,POINTING_DEVICE_DRIVER="$(POINTING_DEVICE_DRIVER)" is not a valid pointing device type)
else
OPT_DEFS += -DPOINTING_DEVICE_ENABLE
MOUSE_ENABLE := yes
SRC += $(QUANTUM_DIR)/pointing_device.c
SRC += $(QUANTUM_DIR)/pointing_device_drivers.c
VPATH += $(QUANTUM_DIR)/pointing_device
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device.c
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_drivers.c
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_auto_mouse.c
ifneq ($(strip $(POINTING_DEVICE_DRIVER)), custom)
SRC += drivers/sensors/$(strip $(POINTING_DEVICE_DRIVER)).c
OPT_DEFS += -DPOINTING_DEVICE_DRIVER_$(strip $(shell echo $(POINTING_DEVICE_DRIVER) | tr '[:lower:]' '[:upper:]'))
@@ -150,13 +153,13 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes)
OPT_DEFS += -DSTM32_I2C -DHAL_USE_I2C=TRUE
SRC += drivers/sensors/cirque_pinnacle.c
SRC += drivers/sensors/cirque_pinnacle_gestures.c
SRC += $(QUANTUM_DIR)/pointing_device_gestures.c
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_gestures.c
QUANTUM_LIB_SRC += i2c_master.c
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_spi)
OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE
SRC += drivers/sensors/cirque_pinnacle.c
SRC += drivers/sensors/cirque_pinnacle_gestures.c
SRC += $(QUANTUM_DIR)/pointing_device_gestures.c
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_gestures.c
QUANTUM_LIB_SRC += spi_master.c
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), pimoroni_trackball)
OPT_DEFS += -DSTM32_SPI -DHAL_USE_I2C=TRUE
@@ -174,7 +177,7 @@ ifeq ($(strip $(QUANTUM_PAINTER_ENABLE)), yes)
include $(QUANTUM_DIR)/painter/rules.mk
endif
VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi wear_leveling
VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi wear_leveling legacy_stm32_flash
EEPROM_DRIVER ?= vendor
ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid EEPROM_DRIVER,EEPROM_DRIVER="$(EEPROM_DRIVER)" is not a valid EEPROM driver)
@@ -201,6 +204,12 @@ else
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI
QUANTUM_LIB_SRC += spi_master.c
SRC += eeprom_driver.c eeprom_spi.c
else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash)
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_FLASH_EMULATED
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
COMMON_VPATH += $(DRIVER_PATH)/flash
SRC += eeprom_driver.c eeprom_stm32.c flash_stm32.c
else ifeq ($(strip $(EEPROM_DRIVER)), transient)
# Transient EEPROM implementation -- no data storage but provides runtime area for it
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
@@ -211,25 +220,30 @@ else
ifeq ($(PLATFORM),AVR)
# Automatically provided by avr-libc, nothing required
else ifeq ($(PLATFORM),CHIBIOS)
ifneq ($(filter STM32F3xx_% STM32F1xx_% %_STM32F401xC %_STM32F401xE %_STM32F405xG %_STM32F411xE %_STM32F072xB %_STM32F042x6 %_GD32VF103xB %_GD32VF103x8, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
# Emulated EEPROM
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_FLASH_EMULATED
ifneq ($(filter %_STM32F072xB %_STM32F042x6, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
COMMON_VPATH += $(DRIVER_PATH)/flash
SRC += eeprom_driver.c eeprom_stm32.c flash_stm32.c
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
else ifneq ($(filter $(MCU_SERIES),STM32F1xx STM32F3xx STM32F4xx STM32L4xx STM32G4xx WB32F3G71xx WB32FQ95xx GD32VF103),)
# Wear-leveling EEPROM implementation, backed by MCU flash
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
SRC += eeprom_driver.c eeprom_wear_leveling.c
WEAR_LEVELING_DRIVER ?= embedded_flash
else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
# True EEPROM on STM32L0xx, L1xx
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1
SRC += eeprom_driver.c eeprom_stm32_L0_L1.c
else ifneq ($(filter $(MCU_SERIES),RP2040),)
# Wear-leveling EEPROM implementation, backed by RP2040 flash
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
SRC += eeprom_driver.c eeprom_wear_leveling.c
WEAR_LEVELING_DRIVER = rp2040_flash
# Wear-leveling EEPROM implementation, backed by RP2040 flash
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
SRC += eeprom_driver.c eeprom_wear_leveling.c
WEAR_LEVELING_DRIVER ?= rp2040_flash
else ifneq ($(filter $(MCU_SERIES),KL2x K20x),)
# Teensy EEPROM implementations
OPT_DEFS += -DEEPROM_TEENSY
SRC += eeprom_teensy.c
OPT_DEFS += -DEEPROM_KINETIS_FLEXRAM
SRC += eeprom_kinetis_flexram.c
else
# Fall back to transient, i.e. non-persistent
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
@@ -270,10 +284,10 @@ ifneq ($(strip $(WEAR_LEVELING_DRIVER)),none)
POST_CONFIG_H += $(DRIVER_PATH)/wear_leveling/wear_leveling_flash_spi_config.h
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), rp2040_flash)
SRC += wear_leveling_rp2040_flash.c
POST_CONFIG_H += $(DRIVER_PATH)/wear_leveling/wear_leveling_rp2040_flash_config.h
POST_CONFIG_H += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_rp2040_flash_config.h
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), legacy)
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
SRC += flash_stm32.c wear_leveling_legacy.c
SRC += legacy_flash_ops.c wear_leveling_legacy.c
POST_CONFIG_H += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/wear_leveling/wear_leveling_legacy_config.h
endif
endif
@@ -331,7 +345,7 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
endif
LED_MATRIX_ENABLE ?= no
VALID_LED_MATRIX_TYPES := IS31FL3731 IS31FL3742A IS31FL3743A IS31FL3745 IS31FL3746A custom
VALID_LED_MATRIX_TYPES := IS31FL3731 IS31FL3742A IS31FL3743A IS31FL3745 IS31FL3746A CKLED2001 custom
# TODO: IS31FL3733 IS31FL3737 IS31FL3741
ifeq ($(strip $(LED_MATRIX_ENABLE)), yes)
@@ -387,6 +401,13 @@ endif
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), CKLED2001)
OPT_DEFS += -DCKLED2001 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/led
SRC += ckled2001-simple.c
QUANTUM_LIB_SRC += i2c_master.c
endif
endif
RGB_MATRIX_ENABLE ?= no
@@ -504,12 +525,6 @@ ifeq ($(strip $(RGB_KEYCODES_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/process_keycode/process_rgb.c
endif
ifeq ($(strip $(PRINTING_ENABLE)), yes)
OPT_DEFS += -DPRINTING_ENABLE
SRC += $(QUANTUM_DIR)/process_keycode/process_printer.c
QUANTUM_LIB_SRC += uart.c
endif
VARIABLE_TRACE ?= no
ifneq ($(strip $(VARIABLE_TRACE)),no)
SRC += $(QUANTUM_DIR)/variable_trace.c
@@ -529,11 +544,7 @@ endif
VALID_BACKLIGHT_TYPES := pwm timer software custom
BACKLIGHT_ENABLE ?= no
ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes)
BACKLIGHT_DRIVER ?= software
else
BACKLIGHT_DRIVER ?= pwm
endif
BACKLIGHT_DRIVER ?= pwm
ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
ifeq ($(filter $(BACKLIGHT_DRIVER),$(VALID_BACKLIGHT_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid BACKLIGHT_DRIVER,BACKLIGHT_DRIVER="$(BACKLIGHT_DRIVER)" is not a valid backlight type)
@@ -765,8 +776,10 @@ endif
ifeq ($(strip $(UNICODE_COMMON)), yes)
OPT_DEFS += -DUNICODE_COMMON_ENABLE
COMMON_VPATH += $(QUANTUM_DIR)/unicode
SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c \
$(QUANTUM_DIR)/utf8.c
$(QUANTUM_DIR)/unicode/unicode.c \
$(QUANTUM_DIR)/unicode/utf8.c
endif
MAGIC_ENABLE ?= yes
@@ -797,31 +810,25 @@ ifeq ($(strip $(PS2_MOUSE_ENABLE)), yes)
OPT_DEFS += -DMOUSE_ENABLE
endif
ifeq ($(strip $(PS2_USE_BUSYWAIT)), yes)
PS2_ENABLE := yes
SRC += ps2_busywait.c
SRC += ps2_io.c
OPT_DEFS += -DPS2_USE_BUSYWAIT
endif
ifeq ($(strip $(PS2_USE_INT)), yes)
PS2_ENABLE := yes
SRC += ps2_interrupt.c
SRC += ps2_io.c
OPT_DEFS += -DPS2_USE_INT
endif
ifeq ($(strip $(PS2_USE_USART)), yes)
PS2_ENABLE := yes
SRC += ps2_usart.c
SRC += ps2_io.c
OPT_DEFS += -DPS2_USE_USART
endif
VALID_PS2_DRIVER_TYPES := busywait interrupt usart vendor
PS2_DRIVER ?= busywait
ifeq ($(strip $(PS2_ENABLE)), yes)
ifeq ($(filter $(PS2_DRIVER),$(VALID_PS2_DRIVER_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid PS2_DRIVER,PS2_DRIVER="$(PS2_DRIVER)" is not a valid PS/2 driver)
endif
OPT_DEFS += -DPS2_DRIVER_$(strip $(shell echo $(PS2_DRIVER) | tr '[:lower:]' '[:upper:]'))
COMMON_VPATH += $(DRIVER_PATH)/ps2
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/ps2
OPT_DEFS += -DPS2_ENABLE
ifneq ($(strip $(PS2_DRIVER)), vendor)
SRC += ps2_io.c
endif
SRC += ps2_$(strip $(PS2_DRIVER)).c
endif
JOYSTICK_ENABLE ?= no
@@ -877,18 +884,26 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
OPT_DEFS += -DBLUETOOTH_ENABLE
NO_USB_STARTUP_CHECK := yes
COMMON_VPATH += $(DRIVER_PATH)/bluetooth
SRC += outputselect.c
SRC += outputselect.c bluetooth.c
ifeq ($(strip $(BLUETOOTH_DRIVER)), BluefruitLE)
OPT_DEFS += -DBLUETOOTH_BLUEFRUIT_LE
SRC += analog.c
OPT_DEFS += -DBLUETOOTH_BLUEFRUIT_LE -DHAL_USE_SPI=TRUE
SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp
QUANTUM_LIB_SRC += analog.c
QUANTUM_LIB_SRC += spi_master.c
endif
ifeq ($(strip $(BLUETOOTH_DRIVER)), RN42)
OPT_DEFS += -DBLUETOOTH_RN42
OPT_DEFS += -DBLUETOOTH_RN42 -DHAL_USE_SERIAL=TRUE
SRC += $(DRIVER_PATH)/bluetooth/rn42.c
QUANTUM_LIB_SRC += uart.c
endif
endif
ifeq ($(strip $(ENCODER_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/encoder.c
OPT_DEFS += -DENCODER_ENABLE
ifeq ($(strip $(ENCODER_MAP_ENABLE)), yes)
OPT_DEFS += -DENCODER_MAP_ENABLE
endif
endif

View File

@@ -1,7 +1,7 @@
# Hey Emacs, this is a -*- makefile -*-
#----------------------------------------------------------------------------
# Enable vpath seraching for source files only
# Enable vpath searching for source files only
# Without this, output files, could be read from the wrong .build directories
VPATH_SRC := $(VPATH)
vpath %.c $(VPATH_SRC)
@@ -85,7 +85,7 @@ ifeq ($(strip $(DEBUG_ENABLE)),yes)
endif
CXXFLAGS += $(CXXDEFS)
CXXFLAGS += -O$(OPT)
# to supress "warning: only initialized variables can be placed into program memory area"
# to suppress "warning: only initialized variables can be placed into program memory area"
CXXFLAGS += -w
CXXFLAGS += -Wall
CXXFLAGS += -Wundef
@@ -332,6 +332,7 @@ $1/asflags.txt: $1/force
echo '$$($1_ASFLAGS)' | cmp -s - $$@ || echo '$$($1_ASFLAGS)' > $$@
$1/compiler.txt: $1/force
test -f $$@ || touch $$@
$$(CC) --version | cmp -s - $$@ || $$(CC) --version > $$@
endef
@@ -371,6 +372,7 @@ show_path:
dump_vars: ERROR_IF_EMPTY=""
dump_vars: ERROR_IF_NONBOOL=""
dump_vars: ERROR_IF_UNSET=""
dump_vars: CATASTROPHIC_ERROR=""
dump_vars:
@$(foreach V,$(sort $(.VARIABLES)),$(if $(filter-out environment% default automatic,$(origin $V)),$(info $V=$($V))))

View File

@@ -29,6 +29,7 @@ ifneq ($(CONVERT_TO),)
# Configure any defaults
OPT_DEFS += -DCONVERT_TO_$(strip $(shell echo $(CONVERT_TO) | tr '[:lower:]' '[:upper:]'))
OPT_DEFS += -DCONVERTER_TARGET=\"$(strip $(CONVERT_TO))\"
OPT_DEFS += -DCONVERTER_ENABLED
VPATH += $(CONVERTER)

View File

@@ -14,7 +14,6 @@ FEATURE_NAMES += LCD_BACKLIGHT
FEATURE_NAMES += LCD
FEATURE_NAMES += OLED
FEATURE_NAMES += POINTING_DEVICE
FEATURE_NAMES += PRINTING
FEATURE_NAMES += PS2_MOUSE
FEATURE_NAMES += RGBLIGHT
FEATURE_NAMES += RGB_MATRIX

View File

@@ -17,6 +17,7 @@ SPACE_CADET_ENABLE ?= yes
GRAVE_ESC_ENABLE ?= yes
GENERIC_FEATURES = \
AUTOCORRECT \
CAPS_WORD \
COMBO \
COMMAND \
@@ -25,8 +26,6 @@ GENERIC_FEATURES = \
DIP_SWITCH \
DYNAMIC_KEYMAP \
DYNAMIC_MACRO \
ENCODER \
ENCODER_MAP \
GRAVE_ESC \
HAPTIC \
KEY_LOCK \

View File

@@ -348,7 +348,6 @@ ifneq ($(findstring STM32F401, $(MCU)),)
# or <keyboard_dir>/ld/
ifeq ($(strip $(BOOTLOADER)), tinyuf2)
MCU_LDSCRIPT ?= STM32F401xC_tinyuf2
FIRMWARE_FORMAT ?= uf2
else
MCU_LDSCRIPT ?= STM32F401xC
endif
@@ -359,7 +358,7 @@ ifneq ($(findstring STM32F401, $(MCU)),)
# Board: it should exist either in <chibios>/os/hal/boards/,
# <keyboard_dir>/boards/, or drivers/boards/
BOARD ?= BLACKPILL_STM32_F401
BOARD ?= GENERIC_STM32_F401XC
USE_FPU ?= yes
@@ -368,6 +367,10 @@ ifneq ($(findstring STM32F401, $(MCU)),)
# Bootloader address for STM32 DFU
STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000
# Revert to legacy wear-leveling driver until ChibiOS's EFL driver is fixed with 128kB and 384kB variants.
EEPROM_DRIVER ?= wear_leveling
WEAR_LEVELING_DRIVER ?= legacy
endif
ifneq ($(findstring STM32F405, $(MCU)),)
@@ -464,7 +467,6 @@ ifneq ($(findstring STM32F411, $(MCU)),)
# or <keyboard_dir>/ld/
ifeq ($(strip $(BOOTLOADER)), tinyuf2)
MCU_LDSCRIPT ?= STM32F411xE_tinyuf2
FIRMWARE_FORMAT ?= uf2
else
MCU_LDSCRIPT ?= STM32F411xE
endif
@@ -475,7 +477,7 @@ ifneq ($(findstring STM32F411, $(MCU)),)
# Board: it should exist either in <chibios>/os/hal/boards/,
# <keyboard_dir>/boards/, or drivers/boards/
BOARD ?= BLACKPILL_STM32_F411
BOARD ?= GENERIC_STM32_F411XE
USE_FPU ?= yes
@@ -518,6 +520,9 @@ ifneq ($(findstring STM32F446, $(MCU)),)
# Bootloader address for STM32 DFU
STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000
# Default as no chibios efl config
EEPROM_DRIVER ?= transient
endif
ifneq ($(findstring STM32G431, $(MCU)),)

View File

@@ -43,7 +43,6 @@ OTHER_OPTION_NAMES = \
KEY_LOCK_ENABLE \
KEY_OVERRIDE_ENABLE \
LEADER_ENABLE \
PRINTING_ENABLE \
STENO_ENABLE \
STENO_PROTOCOL \
TAP_DANCE_ENABLE \
@@ -66,7 +65,9 @@ OTHER_OPTION_NAMES = \
KEYLOGGER_ENABLE \
LCD_BACKLIGHT_ENABLE \
MACROS_ENABLED \
PS2_ENABLE \
PS2_MOUSE_ENABLE \
PS2_DRIVER \
RAW_ENABLE \
SWAP_HANDS_ENABLE \
RING_BUFFERED_6KRO_REPORT_ENABLE \
@@ -82,7 +83,8 @@ OTHER_OPTION_NAMES = \
LTO_ENABLE \
PROGRAMMABLE_BUTTON_ENABLE \
SECURE_ENABLE \
CAPS_WORD_ENABLE
CAPS_WORD_ENABLE \
AUTOCORRECT_ENABLE
define NAME_ECHO
@printf " %-30s = %-16s # %s\\n" "$1" "$($1)" "$(origin $1)"

View File

@@ -0,0 +1,96 @@
{
"ranges": {
"0x0000/0x00FF": {
"define": "QK_BASIC"
},
"0x0100/0x1EFF": {
"define": "QK_MODS"
},
"0x2000/0x1FFF": {
"define": "QK_MOD_TAP"
},
"0x4000/0x0FFF": {
"define": "QK_LAYER_TAP"
},
"0x5000/0x01FF": {
"define": "QK_LAYER_MOD"
},
"0x5200/0x001F": {
"define": "QK_TO"
},
"0x5220/0x001F": {
"define": "QK_MOMENTARY"
},
"0x5240/0x001F": {
"define": "QK_DEF_LAYER"
},
"0x5260/0x001F": {
"define": "QK_TOGGLE_LAYER"
},
"0x5280/0x001F": {
"define": "QK_ONE_SHOT_LAYER"
},
"0x52A0/0x001F": {
"define": "QK_ONE_SHOT_MOD"
},
"0x52C0/0x001F": {
"define": "QK_LAYER_TAP_TOGGLE"
},
// 0x52E0/0x001F - UNUSED
// 0x5300/0x02FF - UNUSED
"0x5600/0x00FF": {
"define": "QK_SWAP_HANDS"
},
"0x5700/0x00FF": {
"define": "QK_TAP_DANCE"
},
// 0x5800/0x17FF - UNUSED
"0x7000/0x00FF": {
"define": "QK_MAGIC"
},
"0x7100/0x00FF": {
"define": "QK_MIDI"
},
"0x7200/0x01FF": {
"define": "QK_SEQUENCER"
},
"0x7400/0x003F": {
"define": "QK_JOYSTICK"
},
"0x7440/0x003F": {
"define": "QK_PROGRAMMABLE_BUTTON"
},
"0x7480/0x003F": {
"define": "QK_AUDIO"
},
"0x74C0/0x003F": {
"define": "QK_STENO"
},
// 0x7500/0x01FF - UNUSED
"0x7700/0x007F": {
"define": "QK_MACRO"
},
// 0x7780/0x007F - UNUSED
"0x7800/0x00FF": {
"define": "QK_LIGHTING"
},
// 0x7900/0x02FF - UNUSED
"0x7C00/0x01FF": {
"define": "QK_QUANTUM"
},
"0x7E00/0x00FF": {
"define": "QK_KB"
},
"0x7F00/0x00FF": {
"define": "QK_USER"
},
"0x8000/0x7FFF": {
"define": "QK_UNICODE"
}
},
"keycodes": {
"0x7E00": {
"key": "SAFE_RANGE"
}
}
}

View File

@@ -0,0 +1,112 @@
{
"keycodes": {
"0x7480": {
"group": "audio",
"key": "QK_AUDIO_ON",
"aliases": [
"AU_ON"
]
},
"0x7481": {
"group": "audio",
"key": "QK_AUDIO_OFF",
"aliases": [
"AU_OFF"
]
},
"0x7482": {
"group": "audio",
"key": "QK_AUDIO_TOGGLE",
"aliases": [
"AU_TOGG"
]
},
"0x748A": {
"group": "audio",
"key": "QK_AUDIO_CLICKY_TOGGLE",
"aliases": [
"CK_TOGG"
]
},
"0x748B": {
"group": "audio",
"key": "QK_AUDIO_CLICKY_ON",
"aliases": [
"CK_ON"
]
},
"0x748C": {
"group": "audio",
"key": "QK_AUDIO_CLICKY_OFF",
"aliases": [
"CK_OFF"
]
},
"0x748D": {
"group": "audio",
"key": "QK_AUDIO_CLICKY_UP",
"aliases": [
"CK_UP"
]
},
"0x748E": {
"group": "audio",
"key": "QK_AUDIO_CLICKY_DOWN",
"aliases": [
"CK_DOWN"
]
},
"0x748F": {
"group": "audio",
"key": "QK_AUDIO_CLICKY_RESET",
"aliases": [
"CK_RST"
]
},
"0x7490": {
"group": "audio",
"key": "QK_MUSIC_ON",
"aliases": [
"MU_ON"
]
},
"0x7491": {
"group": "audio",
"key": "QK_MUSIC_OFF",
"aliases": [
"MU_OFF"
]
},
"0x7492": {
"group": "audio",
"key": "QK_MUSIC_TOGGLE",
"aliases": [
"MU_TOGG"
]
},
"0x7493": {
"group": "audio",
"key": "QK_MUSIC_MODE_NEXT",
"aliases": [
"MU_NEXT"
]
},
"0x7494": {
"group": "audio",
"key": "QK_AUDIO_VOICE_NEXT",
"aliases": [
"AU_NEXT"
]
},
"0x7495": {
"group": "audio",
"key": "QK_AUDIO_VOICE_PREVIOUS",
"aliases": [
"AU_PREV"
]
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,228 @@
{
"keycodes": {
"0x7400": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_0",
"aliases": [
"JS_0"
]
},
"0x7401": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_1",
"aliases": [
"JS_1"
]
},
"0x7402": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_2",
"aliases": [
"JS_2"
]
},
"0x7403": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_3",
"aliases": [
"JS_3"
]
},
"0x7404": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_4",
"aliases": [
"JS_4"
]
},
"0x7405": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_5",
"aliases": [
"JS_5"
]
},
"0x7406": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_6",
"aliases": [
"JS_6"
]
},
"0x7407": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_7",
"aliases": [
"JS_7"
]
},
"0x7408": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_8",
"aliases": [
"JS_8"
]
},
"0x7409": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_9",
"aliases": [
"JS_9"
]
},
"0x740A": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_10",
"aliases": [
"JS_10"
]
},
"0x740B": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_11",
"aliases": [
"JS_11"
]
},
"0x740C": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_12",
"aliases": [
"JS_12"
]
},
"0x740D": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_13",
"aliases": [
"JS_13"
]
},
"0x740E": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_14",
"aliases": [
"JS_14"
]
},
"0x740F": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_15",
"aliases": [
"JS_15"
]
},
"0x7410": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_16",
"aliases": [
"JS_16"
]
},
"0x7411": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_17",
"aliases": [
"JS_17"
]
},
"0x7412": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_18",
"aliases": [
"JS_18"
]
},
"0x7413": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_19",
"aliases": [
"JS_19"
]
},
"0x7414": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_20",
"aliases": [
"JS_20"
]
},
"0x7415": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_21",
"aliases": [
"JS_21"
]
},
"0x7416": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_22",
"aliases": [
"JS_22"
]
},
"0x7417": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_23",
"aliases": [
"JS_23"
]
},
"0x7418": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_24",
"aliases": [
"JS_24"
]
},
"0x7419": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_25",
"aliases": [
"JS_25"
]
},
"0x741A": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_26",
"aliases": [
"JS_26"
]
},
"0x741B": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_27",
"aliases": [
"JS_27"
]
},
"0x741C": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_28",
"aliases": [
"JS_28"
]
},
"0x741D": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_29",
"aliases": [
"JS_29"
]
},
"0x741E": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_30",
"aliases": [
"JS_30"
]
},
"0x741F": {
"group": "joystick",
"key": "QK_JOYSTICK_BUTTON_31",
"aliases": [
"JS_31"
]
}
}
}

View File

@@ -0,0 +1,175 @@
{
"keycodes": {
"0x7800": {
"group": "backlight",
"key": "QK_BACKLIGHT_ON",
"aliases": [
"BL_ON"
]
},
"0x7801": {
"group": "backlight",
"key": "QK_BACKLIGHT_OFF",
"aliases": [
"BL_OFF"
]
},
"0x7802": {
"group": "backlight",
"key": "QK_BACKLIGHT_TOGGLE",
"aliases": [
"BL_TOGG"
]
},
"0x7803": {
"group": "backlight",
"key": "QK_BACKLIGHT_DOWN",
"aliases": [
"BL_DOWN"
]
},
"0x7804": {
"group": "backlight",
"key": "QK_BACKLIGHT_UP",
"aliases": [
"BL_UP"
]
},
"0x7805": {
"group": "backlight",
"key": "QK_BACKLIGHT_STEP",
"aliases": [
"BL_STEP"
]
},
"0x7806": {
"group": "backlight",
"key": "QK_BACKLIGHT_TOGGLE_BREATHING",
"aliases": [
"BL_BRTG"
]
},
"0x7820": {
"group": "rgb",
"key": "RGB_TOG"
},
"0x7821": {
"group": "rgb",
"key": "RGB_MODE_FORWARD",
"aliases": [
"RGB_MOD"
]
},
"0x7822": {
"group": "rgb",
"key": "RGB_MODE_REVERSE",
"aliases": [
"RGB_RMOD"
]
},
"0x7823": {
"group": "rgb",
"key": "RGB_HUI"
},
"0x7824": {
"group": "rgb",
"key": "RGB_HUD"
},
"0x7825": {
"group": "rgb",
"key": "RGB_SAI"
},
"0x7826": {
"group": "rgb",
"key": "RGB_SAD"
},
"0x7827": {
"group": "rgb",
"key": "RGB_VAI"
},
"0x7828": {
"group": "rgb",
"key": "RGB_VAD"
},
"0x7829": {
"group": "rgb",
"key": "RGB_SPI"
},
"0x782A": {
"group": "rgb",
"key": "RGB_SPD"
},
"0x782B": {
"group": "rgb",
"key": "RGB_MODE_PLAIN",
"aliases": [
"RGB_M_P"
]
},
"0x782C": {
"group": "rgb",
"key": "RGB_MODE_BREATHE",
"aliases": [
"RGB_M_B"
]
},
"0x782D": {
"group": "rgb",
"key": "RGB_MODE_RAINBOW",
"aliases": [
"RGB_M_R"
]
},
"0x782E": {
"group": "rgb",
"key": "RGB_MODE_SWIRL",
"aliases": [
"RGB_M_SW"
]
},
"0x782F": {
"group": "rgb",
"key": "RGB_MODE_SNAKE",
"aliases": [
"RGB_M_SN"
]
},
"0x7830": {
"group": "rgb",
"key": "RGB_MODE_KNIGHT",
"aliases": [
"RGB_M_K"
]
},
"0x7831": {
"group": "rgb",
"key": "RGB_MODE_XMAS",
"aliases": [
"RGB_M_X"
]
},
"0x7832": {
"group": "rgb",
"key": "RGB_MODE_GRADIENT",
"aliases": [
"RGB_M_G"
]
},
"0x7833": {
"group": "rgb",
"key": "RGB_MODE_RGBTEST",
"aliases": [
"RGB_M_T"
]
},
"0x7834": {
"group": "rgb",
"key": "RGB_MODE_TWINKLE",
"aliases": [
"RGB_M_TW"
]
}
}
}

View File

@@ -0,0 +1,229 @@
{
"keycodes": {
"0x7700": {
"group": "macro",
"key": "QK_MACRO_0",
"aliases": [
"MC_0"
]
},
"0x7701": {
"group": "macro",
"key": "QK_MACRO_1",
"aliases": [
"MC_1"
]
},
"0x7702": {
"group": "macro",
"key": "QK_MACRO_2",
"aliases": [
"MC_2"
]
},
"0x7703": {
"group": "macro",
"key": "QK_MACRO_3",
"aliases": [
"MC_3"
]
},
"0x7704": {
"group": "macro",
"key": "QK_MACRO_4",
"aliases": [
"MC_4"
]
},
"0x7705": {
"group": "macro",
"key": "QK_MACRO_5",
"aliases": [
"MC_5"
]
},
"0x7706": {
"group": "macro",
"key": "QK_MACRO_6",
"aliases": [
"MC_6"
]
},
"0x7707": {
"group": "macro",
"key": "QK_MACRO_7",
"aliases": [
"MC_7"
]
},
"0x7708": {
"group": "macro",
"key": "QK_MACRO_8",
"aliases": [
"MC_8"
]
},
"0x7709": {
"group": "macro",
"key": "QK_MACRO_9",
"aliases": [
"MC_9"
]
},
"0x770A": {
"group": "macro",
"key": "QK_MACRO_10",
"aliases": [
"MC_10"
]
},
"0x770B": {
"group": "macro",
"key": "QK_MACRO_11",
"aliases": [
"MC_11"
]
},
"0x770C": {
"group": "macro",
"key": "QK_MACRO_12",
"aliases": [
"MC_12"
]
},
"0x770D": {
"group": "macro",
"key": "QK_MACRO_13",
"aliases": [
"MC_13"
]
},
"0x770E": {
"group": "macro",
"key": "QK_MACRO_14",
"aliases": [
"MC_14"
]
},
"0x770F": {
"group": "macro",
"key": "QK_MACRO_15",
"aliases": [
"MC_15"
]
},
"0x7710": {
"group": "macro",
"key": "QK_MACRO_16",
"aliases": [
"MC_16"
]
},
"0x7711": {
"group": "macro",
"key": "QK_MACRO_17",
"aliases": [
"MC_17"
]
},
"0x7712": {
"group": "macro",
"key": "QK_MACRO_18",
"aliases": [
"MC_18"
]
},
"0x7713": {
"group": "macro",
"key": "QK_MACRO_19",
"aliases": [
"MC_19"
]
},
"0x7714": {
"group": "macro",
"key": "QK_MACRO_20",
"aliases": [
"MC_20"
]
},
"0x7715": {
"group": "macro",
"key": "QK_MACRO_21",
"aliases": [
"MC_21"
]
},
"0x7716": {
"group": "macro",
"key": "QK_MACRO_22",
"aliases": [
"MC_22"
]
},
"0x7717": {
"group": "macro",
"key": "QK_MACRO_23",
"aliases": [
"MC_23"
]
},
"0x7718": {
"group": "macro",
"key": "QK_MACRO_24",
"aliases": [
"MC_24"
]
},
"0x7719": {
"group": "macro",
"key": "QK_MACRO_25",
"aliases": [
"MC_25"
]
},
"0x771A": {
"group": "macro",
"key": "QK_MACRO_26",
"aliases": [
"MC_26"
]
},
"0x771B": {
"group": "macro",
"key": "QK_MACRO_27",
"aliases": [
"MC_27"
]
},
"0x771C": {
"group": "macro",
"key": "QK_MACRO_28",
"aliases": [
"MC_28"
]
},
"0x771D": {
"group": "macro",
"key": "QK_MACRO_29",
"aliases": [
"MC_29"
]
},
"0x771E": {
"group": "macro",
"key": "QK_MACRO_30",
"aliases": [
"MC_30"
]
},
"0x771F": {
"group": "macro",
"key": "QK_MACRO_31",
"aliases": [
"MC_31"
]
}
}
}

View File

@@ -0,0 +1,249 @@
{
"keycodes": {
"0x7000": {
"group": "magic",
"key": "MAGIC_SWAP_CONTROL_CAPSLOCK",
"aliases": [
"CL_SWAP"
]
},
"0x7001": {
"group": "magic",
"key": "MAGIC_UNSWAP_CONTROL_CAPSLOCK",
"aliases": [
"CL_NORM"
]
},
"0x7002": {
"group": "magic",
"key": "MAGIC_TOGGLE_CONTROL_CAPSLOCK",
"aliases": [
"CL_TOGG"
]
},
"0x7003": {
"group": "magic",
"key": "MAGIC_UNCAPSLOCK_TO_CONTROL",
"aliases": [
"CL_CAPS"
]
},
"0x7004": {
"group": "magic",
"key": "MAGIC_CAPSLOCK_TO_CONTROL",
"aliases": [
"CL_CTRL"
]
},
"0x7005": {
"group": "magic",
"key": "MAGIC_SWAP_LALT_LGUI",
"aliases": [
"LAG_SWP"
]
},
"0x7006": {
"group": "magic",
"key": "MAGIC_UNSWAP_LALT_LGUI",
"aliases": [
"LAG_NRM"
]
},
"0x7007": {
"group": "magic",
"key": "MAGIC_SWAP_RALT_RGUI",
"aliases": [
"RAG_SWP"
]
},
"0x7008": {
"group": "magic",
"key": "MAGIC_UNSWAP_RALT_RGUI",
"aliases": [
"RAG_NRM"
]
},
"0x7009": {
"group": "magic",
"key": "MAGIC_UNNO_GUI",
"aliases": [
"GUI_ON"
]
},
"0x700A": {
"group": "magic",
"key": "MAGIC_NO_GUI",
"aliases": [
"GUI_OFF"
]
},
"0x700B": {
"group": "magic",
"key": "MAGIC_TOGGLE_GUI",
"aliases": [
"GUI_TOG"
]
},
"0x700C": {
"group": "magic",
"key": "MAGIC_SWAP_GRAVE_ESC",
"aliases": [
"GE_SWAP"
]
},
"0x700D": {
"group": "magic",
"key": "MAGIC_UNSWAP_GRAVE_ESC",
"aliases": [
"GE_NORM"
]
},
"0x700E": {
"group": "magic",
"key": "MAGIC_SWAP_BACKSLASH_BACKSPACE",
"aliases": [
"BS_SWAP"
]
},
"0x700F": {
"group": "magic",
"key": "MAGIC_UNSWAP_BACKSLASH_BACKSPACE",
"aliases": [
"BS_NORM"
]
},
"0x7010": {
"group": "magic",
"key": "MAGIC_TOGGLE_BACKSLASH_BACKSPACE",
"aliases": [
"BS_TOGG"
]
},
"0x7011": {
"group": "magic",
"key": "MAGIC_HOST_NKRO",
"aliases": [
"NK_ON"
]
},
"0x7012": {
"group": "magic",
"key": "MAGIC_UNHOST_NKRO",
"aliases": [
"NK_OFF"
]
},
"0x7013": {
"group": "magic",
"key": "MAGIC_TOGGLE_NKRO",
"aliases": [
"NK_TOGG"
]
},
"0x7014": {
"group": "magic",
"key": "MAGIC_SWAP_ALT_GUI",
"aliases": [
"AG_SWAP"
]
},
"0x7015": {
"group": "magic",
"key": "MAGIC_UNSWAP_ALT_GUI",
"aliases": [
"AG_NORM"
]
},
"0x7016": {
"group": "magic",
"key": "MAGIC_TOGGLE_ALT_GUI",
"aliases": [
"AG_TOGG"
]
},
"0x7017": {
"group": "magic",
"key": "MAGIC_SWAP_LCTL_LGUI",
"aliases": [
"LCG_SWP"
]
},
"0x7018": {
"group": "magic",
"key": "MAGIC_UNSWAP_LCTL_LGUI",
"aliases": [
"LCG_NRM"
]
},
"0x7019": {
"group": "magic",
"key": "MAGIC_SWAP_RCTL_RGUI",
"aliases": [
"RCG_SWP"
]
},
"0x701A": {
"group": "magic",
"key": "MAGIC_UNSWAP_RCTL_RGUI",
"aliases": [
"RCG_NRM"
]
},
"0x701B": {
"group": "magic",
"key": "MAGIC_SWAP_CTL_GUI",
"aliases": [
"CG_SWAP"
]
},
"0x701C": {
"group": "magic",
"key": "MAGIC_UNSWAP_CTL_GUI",
"aliases": [
"CG_NORM"
]
},
"0x701D": {
"group": "magic",
"key": "MAGIC_TOGGLE_CTL_GUI",
"aliases": [
"CG_TOGG"
]
},
"0x701E": {
"group": "magic",
"key": "MAGIC_EE_HANDS_LEFT",
"aliases": [
"EH_LEFT"
]
},
"0x701F": {
"group": "magic",
"key": "MAGIC_EE_HANDS_RIGHT",
"aliases": [
"EH_RGHT"
]
},
"0x7020": {
"group": "magic",
"key": "MAGIC_SWAP_ESCAPE_CAPSLOCK",
"aliases": [
"EC_SWAP"
]
},
"0x7021": {
"group": "magic",
"key": "MAGIC_UNSWAP_ESCAPE_CAPSLOCK",
"aliases": [
"EC_NORM"
]
},
"0x7022": {
"group": "magic",
"key": "MAGIC_TOGGLE_ESCAPE_CAPSLOCK",
"aliases": [
"EC_TOGG"
]
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,228 @@
{
"keycodes": {
"0x7440": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_1",
"aliases": [
"PB_1"
]
},
"0x7441": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_2",
"aliases": [
"PB_2"
]
},
"0x7442": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_3",
"aliases": [
"PB_3"
]
},
"0x7443": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_4",
"aliases": [
"PB_4"
]
},
"0x7444": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_5",
"aliases": [
"PB_5"
]
},
"0x7445": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_6",
"aliases": [
"PB_6"
]
},
"0x7446": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_7",
"aliases": [
"PB_7"
]
},
"0x7447": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_8",
"aliases": [
"PB_8"
]
},
"0x7448": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_9",
"aliases": [
"PB_9"
]
},
"0x7449": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_10",
"aliases": [
"PB_10"
]
},
"0x744A": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_11",
"aliases": [
"PB_11"
]
},
"0x744B": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_12",
"aliases": [
"PB_12"
]
},
"0x744C": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_13",
"aliases": [
"PB_13"
]
},
"0x744D": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_14",
"aliases": [
"PB_14"
]
},
"0x744E": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_15",
"aliases": [
"PB_15"
]
},
"0x744F": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_16",
"aliases": [
"PB_16"
]
},
"0x7450": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_17",
"aliases": [
"PB_17"
]
},
"0x7451": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_18",
"aliases": [
"PB_18"
]
},
"0x7452": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_19",
"aliases": [
"PB_19"
]
},
"0x7453": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_20",
"aliases": [
"PB_20"
]
},
"0x7454": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_21",
"aliases": [
"PB_21"
]
},
"0x7455": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_22",
"aliases": [
"PB_22"
]
},
"0x7456": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_23",
"aliases": [
"PB_23"
]
},
"0x7457": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_24",
"aliases": [
"PB_24"
]
},
"0x7458": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_25",
"aliases": [
"PB_25"
]
},
"0x7459": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_26",
"aliases": [
"PB_26"
]
},
"0x745A": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_27",
"aliases": [
"PB_27"
]
},
"0x745B": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_28",
"aliases": [
"PB_28"
]
},
"0x745C": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_29",
"aliases": [
"PB_29"
]
},
"0x745D": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_30",
"aliases": [
"PB_30"
]
},
"0x745E": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_31",
"aliases": [
"PB_31"
]
},
"0x745F": {
"group": "programmable_button",
"key": "QK_PROGRAMMABLE_BUTTON_32",
"aliases": [
"PB_32"
]
}
}
}

View File

@@ -0,0 +1,512 @@
{
"keycodes": {
"0x7C00": {
"group": "quantum",
"key": "QK_BOOTLOADER",
"aliases": [
"QK_BOOT"
]
},
"0x7C01": {
"group": "quantum",
"key": "QK_REBOOT",
"aliases": [
"QK_RBT"
]
},
"0x7C02": {
"group": "quantum",
"key": "QK_DEBUG_TOGGLE",
"aliases": [
"DB_TOGG"
]
},
"0x7C03": {
"group": "quantum",
"key": "QK_CLEAR_EEPROM",
"aliases": [
"EE_CLR"
]
},
"0x7C04": {
"group": "quantum",
"key": "QK_MAKE"
},
"0x7C10": {
"group": "quantum",
"key": "QK_AUTO_SHIFT_DOWN",
"aliases": [
"AS_DOWN"
]
},
"0x7C11": {
"group": "quantum",
"key": "QK_AUTO_SHIFT_UP",
"aliases": [
"AS_UP"
]
},
"0x7C12": {
"group": "quantum",
"key": "QK_AUTO_SHIFT_REPORT",
"aliases": [
"AS_RPT"
]
},
"0x7C13": {
"group": "quantum",
"key": "QK_AUTO_SHIFT_ON",
"aliases": [
"AS_ON"
]
},
"0x7C14": {
"group": "quantum",
"key": "QK_AUTO_SHIFT_OFF",
"aliases": [
"AS_OFF"
]
},
"0x7C15": {
"group": "quantum",
"key": "QK_AUTO_SHIFT_TOGGLE",
"aliases": [
"AS_TOGG"
]
},
"0x7C16": {
"group": "quantum",
"key": "QK_GRAVE_ESCAPE",
"aliases": [
"QK_GESC"
]
},
"0x7C17": {
"group": "quantum",
"key": "QK_VELOCIKEY_TOGGLE",
"aliases": [
"VK_TOGG"
]
},
"0x7C18": {
"group": "quantum",
"key": "QK_SPACE_CADET_LEFT_CTRL_PARENTHESIS_OPEN",
"aliases": [
"SC_LCPO"
]
},
"0x7C19": {
"group": "quantum",
"key": "QK_SPACE_CADET_RIGHT_CTRL_PARENTHESIS_CLOSE",
"aliases": [
"SC_RCPC"
]
},
"0x7C1A": {
"group": "quantum",
"key": "QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPEN",
"aliases": [
"SC_LSPO"
]
},
"0x7C1B": {
"group": "quantum",
"key": "QK_SPACE_CADET_RIGHT_SHIFT_PARENTHESIS_CLOSE",
"aliases": [
"SC_RSPC"
]
},
"0x7C1C": {
"group": "quantum",
"key": "QK_SPACE_CADET_LEFT_ALT_PARENTHESIS_OPEN",
"aliases": [
"SC_LAPO"
]
},
"0x7C1D": {
"group": "quantum",
"key": "QK_SPACE_CADET_RIGHT_ALT_PARENTHESIS_CLOSE",
"aliases": [
"SC_RAPC"
]
},
"0x7C1E": {
"group": "quantum",
"key": "QK_SPACE_CADET_RIGHT_SHIFT_ENTER",
"aliases": [
"SC_SENT"
]
},
"0x7C20": {
"group": "quantum",
"key": "QK_OUTPUT_AUTO",
"aliases": [
"OU_AUTO"
]
},
"0x7C21": {
"group": "quantum",
"key": "QK_OUTPUT_USB",
"aliases": [
"OU_USB"
]
},
"0x7C22": {
"group": "quantum",
"key": "QK_OUTPUT_BLUETOOTH",
"aliases": [
"OU_BT"
]
},
"0x7C30": {
"group": "quantum",
"key": "QK_UNICODE_MODE_NEXT",
"aliases": [
"UC_NEXT"
]
},
"0x7C31": {
"group": "quantum",
"key": "QK_UNICODE_MODE_PREVIOUS",
"aliases": [
"UC_PREV"
]
},
"0x7C32": {
"group": "quantum",
"key": "QK_UNICODE_MODE_MACOS",
"aliases": [
"UC_MAC"
]
},
"0x7C33": {
"group": "quantum",
"key": "QK_UNICODE_MODE_LINUX",
"aliases": [
"UC_LINX"
]
},
"0x7C34": {
"group": "quantum",
"key": "QK_UNICODE_MODE_WINDOWS",
"aliases": [
"UC_WIN"
]
},
"0x7C35": {
"group": "quantum",
"key": "QK_UNICODE_MODE_BSD",
"aliases": [
"UC_BSD"
]
},
"0x7C36": {
"group": "quantum",
"key": "QK_UNICODE_MODE_WINCOMPOSE",
"aliases": [
"UC_WINC"
]
},
"0x7C37": {
"group": "quantum",
"key": "QK_UNICODE_MODE_EMACS",
"aliases": [
"UC_EMAC"
]
},
"0x7C40": {
"group": "quantum",
"key": "QK_HAPTIC_ON",
"aliases": [
"HF_ON"
]
},
"0x7C41": {
"group": "quantum",
"key": "QK_HAPTIC_OFF",
"aliases": [
"HF_OFF"
]
},
"0x7C42": {
"group": "quantum",
"key": "QK_HAPTIC_TOGGLE",
"aliases": [
"HF_TOGG"
]
},
"0x7C43": {
"group": "quantum",
"key": "QK_HAPTIC_RESET",
"aliases": [
"HF_RST"
]
},
"0x7C44": {
"group": "quantum",
"key": "QK_HAPTIC_FEEDBACK_TOGGLE",
"aliases": [
"HF_FDBK"
]
},
"0x7C45": {
"group": "quantum",
"key": "QK_HAPTIC_BUZZ_TOGGLE",
"aliases": [
"HF_BUZZ"
]
},
"0x7C46": {
"group": "quantum",
"key": "QK_HAPTIC_MODE_NEXT",
"aliases": [
"HF_NEXT"
]
},
"0x7C47": {
"group": "quantum",
"key": "QK_HAPTIC_MODE_PREVIOUS",
"aliases": [
"HF_PREV"
]
},
"0x7C48": {
"group": "quantum",
"key": "QK_HAPTIC_CONTINUOUS_TOGGLE",
"aliases": [
"HF_CONT"
]
},
"0x7C49": {
"group": "quantum",
"key": "QK_HAPTIC_CONTINUOUS_UP",
"aliases": [
"HF_CONU"
]
},
"0x7C4A": {
"group": "quantum",
"key": "QK_HAPTIC_CONTINUOUS_DOWN",
"aliases": [
"HF_COND"
]
},
"0x7C4B": {
"group": "quantum",
"key": "QK_HAPTIC_DWELL_UP",
"aliases": [
"HF_DWLU"
]
},
"0x7C4C": {
"group": "quantum",
"key": "QK_HAPTIC_DWELL_DOWN",
"aliases": [
"HF_DWLD"
]
},
"0x7C50": {
"group": "quantum",
"key": "QK_COMBO_ON",
"aliases": [
"CM_ON"
]
},
"0x7C51": {
"group": "quantum",
"key": "QK_COMBO_OFF",
"aliases": [
"CM_OFF"
]
},
"0x7C52": {
"group": "quantum",
"key": "QK_COMBO_TOGGLE",
"aliases": [
"CM_TOGG"
]
},
"0x7C53": {
"group": "quantum",
"key": "QK_DYNAMIC_MACRO_RECORD_START_1",
"aliases": [
"DM_REC1"
]
},
"0x7C54": {
"group": "quantum",
"key": "QK_DYNAMIC_MACRO_RECORD_START_2",
"aliases": [
"DM_REC2"
]
},
"0x7C55": {
"group": "quantum",
"key": "QK_DYNAMIC_MACRO_RECORD_STOP",
"aliases": [
"DM_RSTP"
]
},
"0x7C56": {
"group": "quantum",
"key": "QK_DYNAMIC_MACRO_PLAY_1",
"aliases": [
"DM_PLY1"
]
},
"0x7C57": {
"group": "quantum",
"key": "QK_DYNAMIC_MACRO_PLAY_2",
"aliases": [
"DM_PLY2"
]
},
"0x7C58": {
"group": "quantum",
"key": "QK_LEADER",
"aliases": [
"QK_LEAD"
]
},
"0x7C59": {
"group": "quantum",
"key": "QK_LOCK"
},
"0x7C5A": {
"group": "quantum",
"key": "QK_ONE_SHOT_ON",
"aliases": [
"OS_ON"
]
},
"0x7C5B": {
"group": "quantum",
"key": "QK_ONE_SHOT_OFF",
"aliases": [
"OS_OFF"
]
},
"0x7C5C": {
"group": "quantum",
"key": "QK_ONE_SHOT_TOGGLE",
"aliases": [
"OS_TOGG"
]
},
"0x7C5D": {
"group": "quantum",
"key": "QK_KEY_OVERRIDE_TOGGLE",
"aliases": [
"KO_TOGG"
]
},
"0x7C5E": {
"group": "quantum",
"key": "QK_KEY_OVERRIDE_ON",
"aliases": [
"KO_ON"
]
},
"0x7C5F": {
"group": "quantum",
"key": "QK_KEY_OVERRIDE_OFF",
"aliases": [
"KO_OFF"
]
},
"0x7C60": {
"group": "quantum",
"key": "QK_SECURE_LOCK",
"aliases": [
"SE_LOCK"
]
},
"0x7C61": {
"group": "quantum",
"key": "QK_SECURE_UNLOCK",
"aliases": [
"SE_UNLK"
]
},
"0x7C62": {
"group": "quantum",
"key": "QK_SECURE_TOGGLE",
"aliases": [
"SE_TOGG"
]
},
"0x7C63": {
"group": "quantum",
"key": "QK_SECURE_REQUEST",
"aliases": [
"SE_REQ"
]
},
"0x7C70": {
"group": "quantum",
"key": "QK_DYNAMIC_TAPPING_TERM_PRINT",
"aliases": [
"DT_PRNT"
]
},
"0x7C71": {
"group": "quantum",
"key": "QK_DYNAMIC_TAPPING_TERM_UP",
"aliases": [
"DT_UP"
]
},
"0x7C72": {
"group": "quantum",
"key": "QK_DYNAMIC_TAPPING_TERM_DOWN",
"aliases": [
"DT_DOWN"
]
},
"0x7C73": {
"group": "quantum",
"key": "QK_CAPS_WORD_TOGGLE",
"aliases": [
"CW_TOGG"
]
},
"0x7C74": {
"group": "quantum",
"key": "QK_AUTOCORRECT_ON",
"aliases": [
"AC_ON"
]
},
"0x7C75": {
"group": "quantum",
"key": "QK_AUTOCORRECT_OFF",
"aliases": [
"AC_OFF"
]
},
"0x7C76": {
"group": "quantum",
"key": "QK_AUTOCORRECT_TOGGLE",
"aliases": [
"AC_TOGG"
]
}
}
}

View File

@@ -0,0 +1,40 @@
{
"keycodes": {
"0x7200": {
"group": "sequencer",
"key": "SQ_ON"
},
"0x7201": {
"group": "sequencer",
"key": "SQ_OFF"
},
"0x7202": {
"group": "sequencer",
"key": "SQ_TOG"
},
"0x7203": {
"group": "sequencer",
"key": "SQ_TMPD"
},
"0x7204": {
"group": "sequencer",
"key": "SQ_TMPU"
},
"0x7205": {
"group": "sequencer",
"key": "SQ_RESD"
},
"0x7206": {
"group": "sequencer",
"key": "SQ_RESU"
},
"0x7207": {
"group": "sequencer",
"key": "SQ_SALL"
},
"0x7208": {
"group": "sequencer",
"key": "SQ_SCLR"
}
}
}

View File

@@ -0,0 +1,20 @@
{
"keycodes": {
"0x74F0": {
"group": "steno",
"key": "QK_STENO_BOLT"
},
"0x74F1": {
"group": "steno",
"key": "QK_STENO_GEMINI"
},
"0x74F2": {
"group": "steno",
"key": "QK_STENO_COMB"
},
"0x74FC": {
"group": "steno",
"key": "QK_STENO_COMB_MAX"
}
}
}

View File

@@ -0,0 +1,32 @@
{
"keycodes": {
"0x56F0": {
"group": "swap_hands",
"key": "SH_TG"
},
"0x56F1": {
"group": "swap_hands",
"key": "SH_TT"
},
"0x56F2": {
"group": "swap_hands",
"key": "SH_MON"
},
"0x56F3": {
"group": "swap_hands",
"key": "SH_MOFF"
},
"0x56F4": {
"group": "swap_hands",
"key": "SH_OFF"
},
"0x56F5": {
"group": "swap_hands",
"key": "SH_ON"
},
"0x56F6": {
"group": "swap_hands",
"key": "SH_OS"
}
}
}

View File

@@ -0,0 +1,77 @@
{
"development_board": {
"promicro": {
"processor": "atmega32u4",
"bootloader": "caterina",
"pin_compatible": "promicro"
},
"elite_c": {
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"pin_compatible": "promicro"
},
"elite_pi": {
"processor": "RP2040",
"bootloader": "rp2040",
"board": "QMK_PM2040",
"pin_compatible": "promicro"
},
"proton_c": {
"processor": "STM32F303",
"bootloader": "stm32-dfu",
"board": "QMK_PROTON_C",
"pin_compatible": "promicro"
},
"kb2040": {
"processor": "RP2040",
"bootloader": "rp2040",
"board": "QMK_PM2040",
"pin_compatible": "promicro"
},
"promicro_rp2040": {
"processor": "RP2040",
"bootloader": "rp2040",
"board": "QMK_PM2040",
"pin_compatible": "promicro"
},
"blok": {
"processor": "RP2040",
"bootloader": "rp2040",
"board": "QMK_PM2040",
"pin_compatible": "promicro"
},
"bit_c_pro": {
"processor": "RP2040",
"bootloader": "rp2040",
"board": "QMK_PM2040",
"pin_compatible": "promicro"
},
"bluepill": {
"processor": "STM32F103",
"bootloader": "stm32duino",
"board": "STM32_F103_STM32DUINO"
},
"blackpill_f401": {
"processor": "STM32F401",
"bootloader": "stm32-dfu",
"board": "BLACKPILL_STM32_F401"
},
"blackpill_f411": {
"processor": "STM32F411",
"bootloader": "stm32-dfu",
"board": "BLACKPILL_STM32_F411"
},
"stemcell": {
"processor": "STM32F411",
"bootloader": "tinyuf2",
"board": "STEMCELL",
"pin_compatible": "promicro"
},
"bonsai_c4": {
"processor": "STM32F411",
"bootloader": "stm32-dfu",
"board": "BONSAI_C4",
"pin_compatible": "promicro"
}
}
}

View File

@@ -1,47 +0,0 @@
{
"development_board": {
"promicro": {
"processor": "atmega32u4",
"bootloader": "caterina",
"pin_compatible": "promicro"
},
"elite_c": {
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"pin_compatible": "promicro"
},
"proton_c": {
"processor": "STM32F303",
"bootloader": "stm32-dfu",
"board": "QMK_PROTON_C",
"pin_compatible": "promicro"
},
"kb2040": {
"processor": "RP2040",
"bootloader": "rp2040",
"board": "QMK_PM2040",
"pin_compatible": "promicro"
},
"promicro_rp2040": {
"processor": "RP2040",
"bootloader": "rp2040",
"board": "QMK_PM2040",
"pin_compatible": "promicro"
},
"bluepill": {
"processor": "STM32F103",
"bootloader": "stm32duino",
"board": "STM32_F103_STM32DUINO"
},
"blackpill_f401": {
"processor": "STM32F401",
"bootloader": "stm32-dfu",
"board": "BLACKPILL_STM32_F401"
},
"blackpill_f411": {
"processor": "STM32F411",
"bootloader": "stm32-dfu",
"board": "BLACKPILL_STM32_F411"
}
}
}

View File

@@ -0,0 +1,134 @@
// This file maps keys between `config.h` and `info.json`. It is used by QMK
// to correctly and consistently map back and forth between the two systems.
{
// Format:
// <config.h key>: {"info_key": <info.json key>, ["value_type": <value_type>], ["to_json": <true/false>], ["to_c": <true/false>]}
// value_type: one of "array", "array.int", "bool", "int", "hex", "list", "mapping", "str", "raw"
// to_json: Default `true`. Set to `false` to exclude this mapping from info.json
// to_c: Default `true`. Set to `false` to exclude this mapping from config.h
// warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
// deprecated: Default `false`. Set to `true` to turn on warning when a value exists
// 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_VOICES": {"info_key": "audio.voices", "value_type": "bool"},
"BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "bool"},
"BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"},
"BACKLIGHT_LEVELS": {"info_key": "backlight.levels", "value_type": "int"},
"BACKLIGHT_LIMIT_VAL": {"info_key": "backlight.max_brightness", "value_type": "int"},
"BACKLIGHT_ON_STATE": {"info_key": "backlight.on_state", "value_type": "int"},
"BACKLIGHT_PIN": {"info_key": "backlight.pin"},
"BACKLIGHT_PINS": {"info_key": "backlight.pins", "value_type": "array"},
"BOTH_SHIFTS_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.both_shifts_turns_on", "value_type": "bool"},
"CAPS_WORD_IDLE_TIMEOUT": {"info_key": "caps_word.idle_timeout", "value_type": "int"},
"COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"},
"COMBO_TERM": {"info_key": "combo.term", "value_type": "int"},
"DEBOUNCE": {"info_key": "debounce", "value_type": "int"},
"DIODE_DIRECTION": {"info_key": "diode_direction"},
"DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.double_tap_shift_turns_on", "value_type": "bool"},
"FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"},
"DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"},
"DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"},
"IGNORE_MOD_TAP_INTERRUPT": {"info_key": "tapping.ignore_mod_tap_interrupt", "value_type": "bool"},
"IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "tapping.ignore_mod_tap_interrupt_per_key", "value_type": "bool"},
"HOLD_ON_OTHER_KEY_PRESS": {"info_key": "tapping.hold_on_other_key_press", "value_type": "bool"},
"HOLD_ON_OTHER_KEY_PRESS_PER_KEY": {"info_key": "tapping.hold_on_other_key_press_per_key", "value_type": "bool"},
"LAYOUTS": {"info_key": "layout_aliases", "value_type": "mapping"},
"LEADER_PER_KEY_TIMING": {"info_key": "leader_key.timing", "value_type": "bool"},
"LEADER_KEY_STRICT_KEY_PROCESSING": {"info_key": "leader_key.strict_processing", "value_type": "bool"},
"LEADER_TIMEOUT": {"info_key": "leader_key.timeout", "value_type": "int"},
"LED_CAPS_LOCK_PIN": {"info_key": "indicators.caps_lock"},
"LED_NUM_LOCK_PIN": {"info_key": "indicators.num_lock"},
"LED_SCROLL_LOCK_PIN": {"info_key": "indicators.scroll_lock"},
"LED_COMPOSE_PIN": {"info_key": "indicators.compose"},
"LED_KANA_PIN": {"info_key": "indicators.kana"},
"LED_PIN_ON_STATE": {"info_key": "indicators.on_state", "value_type": "int"},
"LED_MATRIX_CENTER": {"info_key": "led_matrix.center_point", "value_type": "array.int"},
"LED_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "led_matrix.max_brightness", "value_type": "int"},
"LED_MATRIX_SPLIT": {"info_key": "led_matrix.split_count", "value_type": "array.int"},
"LED_MATRIX_TIMEOUT": {"info_key": "led_matrix.timeout", "value_type": "int"},
"LED_MATRIX_HUE_STEP": {"info_key": "led_matrix.hue_steps", "value_type": "int"},
"LED_MATRIX_SAT_STEP": {"info_key": "led_matrix.sat_steps", "value_type": "int"},
"LED_MATRIX_VAL_STEP": {"info_key": "led_matrix.val_steps", "value_type": "int"},
"LED_MATRIX_SPD_STEP": {"info_key": "led_matrix.speed_steps", "value_type": "int"},
"MATRIX_HAS_GHOST": {"info_key": "matrix_pins.ghost", "value_type": "bool"},
"MATRIX_IO_DELAY": {"info_key": "matrix_pins.io_delay", "value_type": "int"},
"MOUSEKEY_DELAY": {"info_key": "mousekey.delay", "value_type": "int"},
"MOUSEKEY_INTERVAL": {"info_key": "mousekey.interval", "value_type": "int"},
"MOUSEKEY_MAX_SPEED": {"info_key": "mousekey.max_speed", "value_type": "int"},
"MOUSEKEY_TIME_TO_MAX": {"info_key": "mousekey.time_to_max", "value_type": "int"},
"MOUSEKEY_WHEEL_DELAY": {"info_key": "mousekey.wheel_delay", "value_type": "int"},
"ONESHOT_TIMEOUT": {"info_key": "oneshot.timeout", "value_type": "int"},
"ONESHOT_TAP_TOGGLE": {"info_key": "oneshot.tap_toggle", "value_type": "int"},
"PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "bool"},
"PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "bool"},
"PS2_CLOCK_PIN": {"info_key": "ps2.clock_pin"},
"PS2_DATA_PIN": {"info_key": "ps2.data_pin"},
"RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "bool"},
"RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "bool"},
"RGB_DI_PIN": {"info_key": "rgblight.pin"},
"RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"},
"RGBLED_SPLIT": {"info_key": "rgblight.split_count", "value_type": "array.int"},
"RGBLIGHT_LAYER_BLINK": {"info_key": "rgblight.layers.blink", "value_type": "bool"},
"RGBLIGHT_LAYERS": {"info_key": "rgblight.layers.enabled", "value_type": "bool"},
"RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF": {"info_key": "rgblight.layers.override_rgb", "value_type": "bool"},
"RGBLIGHT_LIMIT_VAL": {"info_key": "rgblight.max_brightness", "value_type": "int"},
"RGBLIGHT_MAX_LAYERS": {"info_key": "rgblight.layers.max", "value_type": "int"},
"RGBLIGHT_HUE_STEP": {"info_key": "rgblight.hue_steps", "value_type": "int"},
"RGBLIGHT_SAT_STEP": {"info_key": "rgblight.saturation_steps", "value_type": "int"},
"RGBLIGHT_VAL_STEP": {"info_key": "rgblight.brightness_steps", "value_type": "int"},
"RGBLIGHT_SLEEP": {"info_key": "rgblight.sleep", "value_type": "bool"},
"RGBLIGHT_SPLIT": {"info_key": "rgblight.split", "value_type": "bool"},
"RGB_MATRIX_CENTER": {"info_key": "rgb_matrix.center_point", "value_type": "array.int"},
"RGB_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "rgb_matrix.max_brightness", "value_type": "int"},
"RGB_MATRIX_SPLIT": {"info_key": "rgb_matrix.split_count", "value_type": "array.int"},
"RGB_MATRIX_TIMEOUT": {"info_key": "rgb_matrix.timeout", "value_type": "int"},
"RGB_MATRIX_HUE_STEP": {"info_key": "rgb_matrix.hue_steps", "value_type": "int"},
"RGB_MATRIX_SAT_STEP": {"info_key": "rgb_matrix.sat_steps", "value_type": "int"},
"RGB_MATRIX_VAL_STEP": {"info_key": "rgb_matrix.val_steps", "value_type": "int"},
"RGB_MATRIX_SPD_STEP": {"info_key": "rgb_matrix.speed_steps", "value_type": "int"},
"RGBW": {"info_key": "rgblight.rgbw", "value_type": "bool"},
"QMK_ESC_OUTPUT": {"info_key": "qmk_lufa_bootloader.esc_output"},
"QMK_ESC_INPUT": {"info_key": "qmk_lufa_bootloader.esc_input"},
"QMK_LED": {"info_key": "qmk_lufa_bootloader.led"},
"QMK_SPEAKER": {"info_key": "qmk_lufa_bootloader.speaker"},
"SECURE_UNLOCK_SEQUENCE": {"info_key": "secure.unlock_sequence", "value_type": "array.array.int", "to_json": false},
"SECURE_UNLOCK_TIMEOUT": {"info_key": "secure.unlock_timeout", "value_type": "int"},
"SECURE_IDLE_TIMEOUT": {"info_key": "secure.idle_timeout", "value_type": "int"},
"SENDSTRING_BELL": {"info_key": "audio.macro_beep", "value_type": "bool"},
"SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync_modifiers", "value_type": "bool"},
"SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync_matrix_state", "value_type": "bool"},
"SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "bool"},
"SPLIT_USB_TIMEOUT": {"info_key": "split.usb_detect.timeout", "value_type": "int"},
"SPLIT_USB_TIMEOUT_POLL": {"info_key": "split.usb_detect.polling_interval", "value_type": "int"},
"SPLIT_WATCHDOG_ENABLE": {"info_key": "split.transport.watchdog", "value_type": "bool"},
"SPLIT_WATCHDOG_TIMEOUT": {"info_key": "split.transport.watchdog_timeout", "value_type": "int"},
"SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"},
"SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
"TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"},
"TAP_HOLD_CAPS_DELAY": {"info_key": "qmk.tap_capslock_delay", "value_type": "int"},
"TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool"},
"TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool"},
"TAPPING_TERM": {"info_key": "tapping.term", "value_type": "int"},
"TAPPING_TERM_PER_KEY": {"info_key": "tapping.term_per_key", "value_type": "bool"},
"TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"},
"USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"},
"USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"},
"USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"},
// Items we want flagged in lint
"NO_ACTION_MACRO": {"info_key": "_invalid.no_action_macro", "invalid": true},
"NO_ACTION_FUNCTION": {"info_key": "_invalid.no_action_function", "invalid": true},
"DESCRIPTION": {"info_key": "_invalid.usb_description", "invalid": true},
"DEBOUNCING_DELAY": {"info_key": "_invalid.debouncing_delay", "invalid": true, "replace_with": "DEBOUNCE"},
"PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true},
"UNUSED_PINS": {"info_key": "_invalid.unused_pins", "deprecated": true},
"RGBLIGHT_ANIMATIONS": {"info_key": "rgblight.animations.all", "value_type": "bool", "deprecated": true},
"QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true},
// USB params, need to mark as failure when specified in config.h, rather than deprecated
"PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.pid` in info.json"},
"VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.vid` in info.json"},
"PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false, "value_type": "str", "deprecated": true, "replace_with": "`keyboard_name` in info.json"},
"MANUFACTURER": {"info_key": "manufacturer", "value_type": "str", "deprecated": true, "replace_with": "`manufacturer` in info.json"},
"DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version", "deprecated": true, "replace_with": "`usb.device_version` in info.json"}
}

View File

@@ -1,117 +0,0 @@
# This file maps keys between `config.h` and `info.json`. It is used by QMK
# to correctly and consistently map back and forth between the two systems.
{
# Format:
# <config.h key>: {"info_key": <info.json key>, ["value_type": <value_type>], ["to_json": <true/false>], ["to_c": <true/false>]}
# value_type: one of "array", "array.int", "bool", "int", "hex", "list", "mapping", "str", "raw"
# to_json: Default `true`. Set to `false` to exclude this mapping from info.json
# to_c: Default `true`. Set to `false` to exclude this mapping from config.h
# warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
# deprecated: Default `false`. Set to `true` to turn on warning when a value exists
# invalid: Default `false`. Set to `true` to generate errors when a value exists
"AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "bool"},
"BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "bool"},
"BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"},
"BACKLIGHT_ON_STATE": {"info_key": "backlight.on_state", "value_type": "int"},
"BACKLIGHT_PIN": {"info_key": "backlight.pin"},
"BOTH_SHIFTS_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.both_shifts_turns_on", "value_type": "bool"},
"CAPS_WORD_IDLE_TIMEOUT": {"info_key": "caps_word.idle_timeout", "value_type": "int"},
"COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"},
"COMBO_TERM": {"info_key": "combo.term", "value_type": "int"},
"DEBOUNCE": {"info_key": "debounce", "value_type": "int"},
"DEVICE_VER": {"info_key": "usb.device_ver", "value_type": "hex"},
# TODO: Replace ^^^ with vvv
#"DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version"},
"DIODE_DIRECTION": {"info_key": "diode_direction"},
"DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.double_tap_shift_turns_on", "value_type": "bool"},
"FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"},
"DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"},
"DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"},
"IGNORE_MOD_TAP_INTERRUPT": {"info_key": "tapping.ignore_mod_tap_interrupt", "value_type": "bool"},
"IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "tapping.ignore_mod_tap_interrupt_per_key", "value_type": "bool"},
"LAYOUTS": {"info_key": "layout_aliases", "value_type": "mapping"},
"LEADER_PER_KEY_TIMING": {"info_key": "leader_key.timing", "value_type": "bool"},
"LEADER_KEY_STRICT_KEY_PROCESSING": {"info_key": "leader_key.strict_processing", "value_type": "bool"},
"LEADER_TIMEOUT": {"info_key": "leader_key.timeout", "value_type": "int"},
"LED_CAPS_LOCK_PIN": {"info_key": "indicators.caps_lock"},
"LED_NUM_LOCK_PIN": {"info_key": "indicators.num_lock"},
"LED_SCROLL_LOCK_PIN": {"info_key": "indicators.scroll_lock"},
"LED_COMPOSE_PIN": {"info_key": "indicators.compose"},
"LED_KANA_PIN": {"info_key": "indicators.kana"},
"LED_PIN_ON_STATE": {"info_key": "indicators.on_state", "value_type": "int"},
"MANUFACTURER": {"info_key": "manufacturer"},
"MATRIX_HAS_GHOST": {"info_key": "matrix_pins.ghost", "value_type": "bool"},
"MATRIX_IO_DELAY": {"info_key": "matrix_pins.io_delay", "value_type": "int"},
"MOUSEKEY_DELAY": {"info_key": "mousekey.delay", "value_type": "int"},
"MOUSEKEY_INTERVAL": {"info_key": "mousekey.interval", "value_type": "int"},
"MOUSEKEY_MAX_SPEED": {"info_key": "mousekey.max_speed", "value_type": "int"},
"MOUSEKEY_TIME_TO_MAX": {"info_key": "mousekey.time_to_max", "value_type": "int"},
"MOUSEKEY_WHEEL_DELAY": {"info_key": "mousekey.wheel_delay", "value_type": "int"},
"ONESHOT_TIMEOUT": {"info_key": "oneshot.timeout", "value_type": "int"},
"ONESHOT_TAP_TOGGLE": {"info_key": "oneshot.tap_toggle", "value_type": "int"},
"PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "bool"},
"PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "bool"},
"RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "bool"},
"RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "bool"},
"RGB_DI_PIN": {"info_key": "rgblight.pin"},
"RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"},
"RGBLED_SPLIT": {"info_key": "rgblight.split_count", "value_type": "array.int"},
"RGBLIGHT_ANIMATIONS": {"info_key": "rgblight.animations.all", "value_type": "bool"},
"RGBLIGHT_EFFECT_ALTERNATING": {"info_key": "rgblight.animations.alternating", "value_type": "bool"},
"RGBLIGHT_EFFECT_BREATHING": {"info_key": "rgblight.animations.breathing", "value_type": "bool"},
"RGBLIGHT_EFFECT_CHRISTMAS": {"info_key": "rgblight.animations.christmas", "value_type": "bool"},
"RGBLIGHT_EFFECT_KNIGHT": {"info_key": "rgblight.animations.knight", "value_type": "bool"},
"RGBLIGHT_EFFECT_RAINBOW_MOOD": {"info_key": "rgblight.animations.rainbow_mood", "value_type": "bool"},
"RGBLIGHT_EFFECT_RAINBOW_SWIRL": {"info_key": "rgblight.animations.rainbow_swirl", "value_type": "bool"},
"RGBLIGHT_EFFECT_RGB_TEST": {"info_key": "rgblight.animations.rgb_test", "value_type": "bool"},
"RGBLIGHT_EFFECT_SNAKE": {"info_key": "rgblight.animations.snake", "value_type": "bool"},
"RGBLIGHT_EFFECT_STATIC_GRADIENT": {"info_key": "rgblight.animations.static_gradient", "value_type": "bool"},
"RGBLIGHT_EFFECT_TWINKLE": {"info_key": "rgblight.animations.twinkle"},
"RGBLIGHT_LAYER_BLINK": {"info_key": "rgblight.layers.blink", "value_type": "bool"},
"RGBLIGHT_LAYERS": {"info_key": "rgblight.layers.enabled", "value_type": "bool"},
"RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF": {"info_key": "rgblight.layers.override_rgb", "value_type": "bool"},
"RGBLIGHT_LIMIT_VAL": {"info_key": "rgblight.max_brightness", "value_type": "int"},
"RGBLIGHT_MAX_LAYERS": {"info_key": "rgblight.layers.max", "value_type": "int"},
"RGBLIGHT_HUE_STEP": {"info_key": "rgblight.hue_steps", "value_type": "int"},
"RGBLIGHT_SAT_STEP": {"info_key": "rgblight.saturation_steps", "value_type": "int"},
"RGBLIGHT_VAL_STEP": {"info_key": "rgblight.brightness_steps", "value_type": "int"},
"RGBLIGHT_SLEEP": {"info_key": "rgblight.sleep", "value_type": "bool"},
"RGBLIGHT_SPLIT": {"info_key": "rgblight.split", "value_type": "bool"},
"RGBW": {"info_key": "rgblight.rgbw", "value_type": "bool"},
"PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false},
"PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex"},
"VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex"},
"QMK_ESC_OUTPUT": {"info_key": "qmk_lufa_bootloader.esc_output"},
"QMK_ESC_INPUT": {"info_key": "qmk_lufa_bootloader.esc_input"},
"QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int"},
"QMK_LED": {"info_key": "qmk_lufa_bootloader.led"},
"QMK_SPEAKER": {"info_key": "qmk_lufa_bootloader.speaker"},
"SECURE_UNLOCK_SEQUENCE": {"info_key": "secure.unlock_sequence", "value_type": "array.array.int", "to_json": false},
"SECURE_UNLOCK_TIMEOUT": {"info_key": "secure.unlock_timeout", "value_type": "int"},
"SECURE_IDLE_TIMEOUT": {"info_key": "secure.idle_timeout", "value_type": "int"},
"SENDSTRING_BELL": {"info_key": "audio.macro_beep", "value_type": "bool"},
"SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync_modifiers", "value_type": "bool"},
"SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync_matrix_state", "value_type": "bool"},
"SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "bool"},
"SPLIT_USB_TIMEOUT": {"info_key": "split.usb_detect.timeout", "value_type": "int"},
"SPLIT_USB_TIMEOUT_POLL": {"info_key": "split.usb_detect.polling_interval", "value_type": "int"},
"SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"},
"SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
"TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"},
"TAP_HOLD_CAPS_DELAY": {"info_key": "qmk.tap_capslock_delay", "value_type": "int"},
"TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool"},
"TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool"},
"TAPPING_TERM": {"info_key": "tapping.term", "value_type": "int"},
"TAPPING_TERM_PER_KEY": {"info_key": "tapping.term_per_key", "value_type": "bool"},
"TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"},
"USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"},
"USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"},
"USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"},
# Items we want flagged in lint
"NO_ACTION_MACRO": {"info_key": "_invalid.no_action_macro", "invalid": true},
"NO_ACTION_FUNCTION": {"info_key": "_invalid.no_action_function", "invalid": true},
"DESCRIPTION": {"info_key": "_invalid.usb_description", "invalid": true},
"DEBOUNCING_DELAY": {"info_key": "_invalid.debouncing_delay", "invalid": true},
"PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true},
}

View File

@@ -0,0 +1,44 @@
// This file maps keys between `rules.mk` and `info.json`. It is used by QMK
// to correctly and consistently map back and forth between the two systems.
{
// Format:
// <rules.mk key>: {"info_key": <info.json key>, ["value_type": <value_type>], ["to_json": <true/false>], ["to_c": <true/false>]}
// value_type: one of "array", "array.int", "bool", "int", "list", "hex", "mapping", "str", "raw"
// to_json: Default `true`. Set to `false` to exclude this mapping from info.json
// to_c: Default `true`. Set to `false` to exclude this mapping from rules.mk
// warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
// deprecated: Default `false`. Set to `true` to turn on warning when a value exists
// 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
"BOARD": {"info_key": "board"},
"BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false},
"BLUETOOTH_DRIVER": {"info_key": "bluetooth.driver"},
"CAPS_WORD_ENABLE": {"info_key": "caps_word.enabled", "value_type": "bool"},
"DEBOUNCE_TYPE": {"info_key": "build.debounce_type"},
"ENCODER_ENABLE": {"info_key": "encoder.enabled", "value_type": "bool"},
"FIRMWARE_FORMAT": {"info_key": "build.firmware_format"},
"KEYBOARD_SHARED_EP": {"info_key": "usb.shared_endpoint.keyboard", "value_type": "bool"},
"MOUSE_SHARED_EP": {"info_key": "usb.shared_endpoint.mouse", "value_type": "bool"},
"LAYOUTS": {"info_key": "community_layouts", "value_type": "list"},
"LED_MATRIX_DRIVER": {"info_key": "led_matrix.driver"},
"RGB_MATRIX_DRIVER": {"info_key": "rgb_matrix.driver"},
"LTO_ENABLE": {"info_key": "build.lto", "value_type": "bool"},
"MCU": {"info_key": "processor", "warn_duplicate": false},
"MOUSEKEY_ENABLE": {"info_key": "mouse_key.enabled", "value_type": "bool"},
"NO_USB_STARTUP_CHECK": {"info_key": "usb.no_startup_check", "value_type": "bool"},
"PIN_COMPATIBLE": {"info_key": "pin_compatible"},
"SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"},
"SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"},
"SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false},
"WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"},
"STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"},
"STENO_PROTOCOL": {"info_key": "stenography.protocol"},
"PS2_ENABLE": {"info_key": "ps2.enabled", "value_type": "bool"},
"PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"},
"PS2_DRIVER": {"info_key": "ps2.driver"},
// Items we want flagged in lint
"CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
"CONVERT_TO_PROTON_C": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
"VIAL_ENABLE": {"info_key": "_invalid.vial", "invalid": true}
}

View File

@@ -1,38 +0,0 @@
# This file maps keys between `rules.mk` and `info.json`. It is used by QMK
# to correctly and consistently map back and forth between the two systems.
{
# Format:
# <rules.mk key>: {"info_key": <info.json key>, ["value_type": <value_type>], ["to_json": <true/false>], ["to_c": <true/false>]}
# value_type: one of "array", "array.int", "bool", "int", "list", "hex", "mapping", "str", "raw"
# to_json: Default `true`. Set to `false` to exclude this mapping from info.json
# to_c: Default `true`. Set to `false` to exclude this mapping from rules.mk
# warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
# deprecated: Default `false`. Set to `true` to turn on warning when a value exists
# invalid: Default `false`. Set to `true` to generate errors when a value exists
"BOARD": {"info_key": "board"},
"BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false},
"BLUETOOTH": {"info_key": "bluetooth.driver"},
"CAPS_WORD_ENABLE": {"info_key": "caps_word.enabled", "value_type": "bool"},
"ENCODER_ENABLE": {"info_key": "encoder.enabled", "value_type": "bool"},
"FIRMWARE_FORMAT": {"info_key": "build.firmware_format"},
"KEYBOARD_SHARED_EP": {"info_key": "usb.shared_endpoint.keyboard", "value_type": "bool"},
"MOUSE_SHARED_EP": {"info_key": "usb.shared_endpoint.mouse", "value_type": "bool"},
"LAYOUTS": {"info_key": "community_layouts", "value_type": "list"},
"LED_MATRIX_DRIVER": {"info_key": "led_matrix.driver"},
"LTO_ENABLE": {"info_key": "build.lto", "value_type": "bool"},
"MCU": {"info_key": "processor", "warn_duplicate": false},
"MOUSEKEY_ENABLE": {"info_key": "mouse_key.enabled", "value_type": "bool"},
"NO_USB_STARTUP_CHECK": {"info_key": "usb.no_startup_check", "value_type": "bool"},
"PIN_COMPATIBLE": {"info_key": "pin_compatible"},
"SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"},
"SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"},
"SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false},
"WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"},
"STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"},
"STENO_PROTOCOL": {"info_key": "stenography.protocol"},
# Items we want flagged in lint
"CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true},
"CONVERT_TO_PROTON_C": {"info_key": "_deprecated.ctpc", "deprecated": true},
"VIAL_ENABLE": {"info_key": "_invalid.vial", "invalid": true},
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -9,7 +9,6 @@
"properties": {
"url": {"type": "string"}
}
},
"parse_errors": {"$ref": "qmk.definitions.v1#/string_array"},
"parse_warnings": {"$ref": "qmk.definitions.v1#/string_array"},

View File

@@ -68,20 +68,8 @@
"type": "number"
},
"keyboard": {
"oneOf": [
{
"type": "string",
"enum": [
"converter/numeric_keypad_IIe",
"emptystring/NQG",
"maple_computing/christmas_tree/V2017"
]
},
{
"type": "string",
"pattern": "^[0-9a-z][0-9a-z_/]*$"
}
]
"type": "string",
"pattern": "^[0-9a-z][0-9a-z_/]*$"
},
"mcu_pin_array": {
"type": "array",

View File

@@ -15,7 +15,7 @@
"properties": {
"pin_a": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"pin_b": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"resolution": {"$ref": "qmk.definitions.v1#/unsigned_int"}
"resolution": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
}
}
@@ -34,15 +34,66 @@
},
"development_board": {
"type": "string",
"enum": ["promicro", "elite_c", "proton_c", "kb2040", "promicro_rp2040", "bluepill", "blackpill_f401", "blackpill_f411"]
"enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4"]
},
"pin_compatible": {
"type": "string",
"enum": ["promicro"]
"enum": ["promicro", "elite_c"]
},
"processor": {
"type": "string",
"enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "MK64FX512", "MK66FX1M0", "RP2040", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F405", "STM32F407", "STM32F411", "STM32F446", "STM32G431", "STM32G474", "STM32L412", "STM32L422", "STM32L432", "STM32L433", "STM32L442", "STM32L443", "GD32VF103", "WB32F3G71", "WB32FQ95", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"]
"enum": [
"cortex-m0",
"cortex-m0plus",
"cortex-m3",
"cortex-m4",
"cortex-m7",
"cortex-m23",
"cortex-m33",
"cortex-m35p",
"cortex-m55",
"cortex-m85",
"MKL26Z64",
"MK20DX128",
"MK20DX256",
"MK64FX512",
"MK66FX1M0",
"RP2040",
"STM32F042",
"STM32F072",
"STM32F103",
"STM32F303",
"STM32F401",
"STM32F405",
"STM32F407",
"STM32F411",
"STM32F446",
"STM32G431",
"STM32G474",
"STM32L412",
"STM32L422",
"STM32L432",
"STM32L433",
"STM32L442",
"STM32L443",
"GD32VF103",
"WB32F3G71",
"WB32FQ95",
"atmega16u2",
"atmega32u2",
"atmega16u4",
"atmega32u4",
"at90usb162",
"at90usb646",
"at90usb647",
"at90usb1286",
"at90usb1287",
"atmega32a",
"atmega328p",
"atmega328",
"attiny85",
"unknown"
]
},
"audio": {
"type": "object",
@@ -64,7 +115,9 @@
"minimum": 1,
"maximum": 31
},
"max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
"on_state": {"$ref": "qmk.definitions.v1#/bit"}
}
},
@@ -75,8 +128,7 @@
"driver": {
"type": "string",
"enum": ["BluefruitLE", "RN42"]
},
"lto": {"type": "boolean"},
}
}
},
"board": {
@@ -86,7 +138,27 @@
},
"bootloader": {
"type": "string",
"enum": ["atmel-dfu", "bootloadhid", "bootloadHID", "custom", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "md-boot", "qmk-dfu", "qmk-hid", "stm32-dfu", "stm32duino", "gd32v-dfu", "wb32-dfu", "unknown", "usbasploader", "USBasp", "tinyuf2", "rp2040"],
"enum": [
"atmel-dfu",
"bootloadhid",
"caterina",
"custom",
"gd32v-dfu",
"halfkay",
"kiibohd",
"lufa-dfu",
"lufa-ms",
"md-boot",
"qmk-dfu",
"qmk-hid",
"rp2040",
"stm32-dfu",
"stm32duino",
"tinyuf2",
"unknown",
"usbasploader",
"wb32-dfu"
]
},
"bootloader_instructions": {
"type": "string",
@@ -98,13 +170,13 @@
"properties": {
"debounce_type": {
"type": "string",
"enum": ["custom", "eager_pk", "eager_pr", "sym_defer_pk", "sym_defer_pr", "sym_eager_pk"]
"enum": ["asym_eager_defer_pk", "custom", "sym_defer_g", "sym_defer_pk", "sym_defer_pr", "sym_eager_pk", "sym_eager_pr"]
},
"firmware_format": {
"type": "string",
"enum": ["bin", "hex", "uf2"]
},
"lto": {"type": "boolean"},
"lto": {"type": "boolean"}
}
},
"diode_direction": {
@@ -119,8 +191,8 @@
"enabled": {"type": "boolean"},
"both_shifts_turns_on": {"type": "boolean"},
"double_tap_shift_turns_on": {"type": "boolean"},
"idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
},
"idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
},
"combo": {
"type": "object",
@@ -173,6 +245,7 @@
"items": {
"type": "object",
"additionalProperties": false,
"required": ["x", "y"],
"properties": {
"label": {
"type": "string",
@@ -221,18 +294,17 @@
"items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
},
"cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
"rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
"unused": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
"rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
}
},
"mouse_key": {
"type": "object",
"properties": {
"enabled": {"type": "boolean"},
"delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
"interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
"max_speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
"time_to_max": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
"delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"max_speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"time_to_max": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"wheel_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
}
},
@@ -246,7 +318,31 @@
"led_matrix": {
"type": "object",
"properties": {
"animations": {
"type": "object",
"additionalProperties": {
"type": "boolean"
}
},
"driver": {"type": "string"},
"center_point": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
},
"max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"split_count": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
},
"layout": {
"type": "array",
"items": {
@@ -273,7 +369,31 @@
"rgb_matrix": {
"type": "object",
"properties": {
"animations": {
"type": "object",
"additionalProperties": {
"type": "boolean"
}
},
"driver": {"type": "string"},
"center_point": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
},
"max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"split_count": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
},
"layout": {
"type": "array",
"items": {
@@ -372,6 +492,20 @@
}
}
},
"ps2": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {"type": "boolean"},
"mouse_enabled": {"type": "boolean"},
"clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"driver": {
"type": "string",
"enum": ["busywait", "interrupt", "usart", "vendor"]
}
}
},
"split": {
"type": "object",
"additionalProperties": false,
@@ -428,7 +562,9 @@
"enum": ["custom", "i2c", "serial", "serial_usart"]
},
"sync_matrix_state": {"type": "boolean"},
"sync_modifiers": {"type": "boolean"}
"sync_modifiers": {"type": "boolean"},
"watchdog": {"type": "boolean"},
"watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
},
"usb_detect": {
@@ -453,20 +589,25 @@
"force_hold_per_key": {"type": "boolean"},
"ignore_mod_tap_interrupt": {"type": "boolean"},
"ignore_mod_tap_interrupt_per_key": {"type": "boolean"},
"hold_on_other_key_press": {"type": "boolean"},
"hold_on_other_key_press_per_key": {"type": "boolean"},
"permissive_hold": {"type": "boolean"},
"permissive_hold_per_key": {"type": "boolean"},
"retro": {"type": "boolean"},
"retro_per_key": {"type": "boolean"},
"term": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"term_per_key": {"type": "boolean"},
"toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
},
"usb": {
"type": "object",
"additionalProperties": false,
"properties": {
"device_ver": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, # Deprecated
"device_ver": {
"$ref": "qmk.definitions.v1#/hex_number_4d",
"$comment": "Deprecated: use device_version instead"
},
"device_version": {"$ref": "qmk.definitions.v1#/bcd_version"},
"force_nkro": {"type": "boolean"},
"pid": {"$ref": "qmk.definitions.v1#/hex_number_4d"},
@@ -483,7 +624,7 @@
}
},
"suspend_wakeup_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"wait_for": {"type": "boolean"},
"wait_for": {"type": "boolean"}
}
},
"qmk": {
@@ -492,7 +633,7 @@
"properties": {
"keys_per_scan": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"tap_keycode_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
},
"qmk_lufa_bootloader": {

View File

@@ -0,0 +1,57 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema#",
"$id": "qmk.keycodes.v1",
"title": "Keycode Information",
"type": "object",
"definitions": {
"define": {
"type": "string",
"minLength": 2,
"maxLength": 50,
"pattern": "^[A-Zs_0-9]*$"
},
"hex_number_4d": {
"type": "string",
"pattern": "^0x[0-9A-F]{4}$"
}
},
"properties": {
"ranges": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"required": [
"define"
],
"properties": {
"define": {"$ref": "#/definitions/define"}
}
}
},
"keycodes": {
"type": "object",
"propertyNames": {
"$ref": "#/definitions/hex_number_4d"
},
"additionalProperties": {
"type": "object",
"required": [
"key"
],
"properties": {
"key": {"$ref": "#/definitions/define"},
"aliases": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
}
}
}
}
}

View File

@@ -5,6 +5,10 @@
"type": "object",
"properties": {
"author": {"type": "string"},
"converter": {
"type": "string",
"enum": ["elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "bit_c_pro", "stemcell", "bonsai_c4"]
},
"host_language": {"$ref": "qmk.definitions.v1#/text_identifier"},
"keyboard": {"$ref": "qmk.definitions.v1#/text_identifier"},
"keymap": {"$ref": "qmk.definitions.v1#/text_identifier"},
@@ -31,7 +35,7 @@
"properties": {
"action": {
"type": "string",
"enum": ['beep', 'delay', 'down', 'tap', 'up']
"enum": ["beep", "delay", "down", "tap", "up"]
},
"keycodes": {
"type": "array",

View File

@@ -24,4 +24,4 @@ Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

View File

@@ -56,19 +56,19 @@ You can now define up to 32 macros in your `keymap.json` file, as used by [QMK C
"keyboard": "handwired/my_macropad",
"keymap": "my_keymap",
"macros": [
[ // first listed is MACRO_0...
[ // first listed is QK_MACRO_0...
{"action":"down", "keycodes": ["LSFT"]},
"hello world1",
{"action": "up","keycodes": ["LSFT"]}
],
[ // ...then MACRO_1...
[ // ...then QK_MACRO_1...
{"action":"tap", "keycodes": ["LCTL", "LALT", "DEL"]}
],
[ // ...then MACRO_2...
[ // ...then QK_MACRO_2...
"ding!",
{"action":"beep"}
],
[ // ...and MACRO_3.
[ // ...and QK_MACRO_3.
{"action":"tap", "keycodes": ["F1"]},
{"action":"delay", "duration": "1000"},
{"action":"tap", "keycodes": ["PGDN"]}
@@ -76,7 +76,7 @@ You can now define up to 32 macros in your `keymap.json` file, as used by [QMK C
],
"layout": "LAYOUT_all",
"layers": [
["MACRO_0", "MACRO_1", "MACRO_2", "MACRO_3"]
["QK_MACRO_0", "QK_MACRO_1", "QK_MACRO_2", "QK_MACRO_3"]
]
}
```

343
docs/ChangeLog/20220827.md Normal file
View File

@@ -0,0 +1,343 @@
# QMK Breaking Changes - 2022 August 27 Changelog
## Notable Features :id=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
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.
### Allow `qmk flash` to use prebuilt firmware binaries ([#16584](https://github.com/qmk/qmk_firmware/pull/16584)) :id=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
### 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
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
The following keyboards have had their source moved within QMK:
| Old Keyboard Name | New Keyboard Name |
|------------------------|--------------------------|
| gentleman65 | jkeys_design/gentleman65 |
| handwired/hillside/0_1 | handwired/hillside/48 |
| 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
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.
A significant number of keyboards have already been changed on `master` in a like-for-like fashion, and [#18152](https://github.com/qmk/qmk_firmware/pull/18152) performs the same transformations for keyboards already on `develop`.
Previously in `config.h`:
```c
#define VENDOR_ID 0x1234
#define PRODUCT_ID 0x5678
#define DEVICE_VER 0x0001
#define MANUFACTURER Me
#define PRODUCT MyKeyboard
```
Replaced by `info.json`:
```json
{
"keyboard_name": "MyKeyboard",
"manufacturer": "Me",
"usb": {
"vid": "0x1234",
"pid": "0x5678",
"device_version": "0.0.1"
},
// ... layouts, etc. ...
}
```
#### Deprecation Schedule
- 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
### 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
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.
### Add cli command to import keyboard|keymap|kbfirmware ([#16668](https://github.com/qmk/qmk_firmware/pull/16668)) :id=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
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.
### 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
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.
Both the PMW33xx and the Cirque Pinnacle implementations have seen a lot of improvement to their code, as has the mouse code in general. Features like circular/edge scrolling for the Cirque, and Kinetic movement for any sensor with "lift detection" ([#17482](https://github.com/qmk/qmk_firmware/pull/17482)). Additionally, for those that make fast motions with their pointing devices, support for much larger mouse movement reports has been added ([#16371](https://github.com/qmk/qmk_firmware/pull/16371)).
Other related changes:
* Add support for large Mouse Reports ([#16371](https://github.com/qmk/qmk_firmware/pull/16371))
* Improve PS/2 mouse performance ([#17111](https://github.com/qmk/qmk_firmware/pull/17111))
* Mouse key kinetic mode fix ([#17176](https://github.com/qmk/qmk_firmware/pull/17176))
* Circular scroll, inertial cursor ([#17482](https://github.com/qmk/qmk_firmware/pull/17482))
* Create generic Pointing Device Pin defines ([#17776](https://github.com/qmk/qmk_firmware/pull/17776))
* PMW33XX drivers overhaul ([#17613](https://github.com/qmk/qmk_firmware/pull/17613))
---
## Full changelist :id=full-changelist
Core:
* Tentative Teensy 3.5 support ([#14420](https://github.com/qmk/qmk_firmware/pull/14420))
* Make default layer size 16-bit ([#15286](https://github.com/qmk/qmk_firmware/pull/15286))
* Process all changed keys in one scan loop, deprecate `QMK_KEYS_PER_SCAN` ([#15292](https://github.com/qmk/qmk_firmware/pull/15292))
* Do not enable PERMISSIVE_HOLD when TAPPING_TERM exceeds 500ms ([#15674](https://github.com/qmk/qmk_firmware/pull/15674))
* Allow usage of ChibiOS's SIO driver for split keyboards ([#15907](https://github.com/qmk/qmk_firmware/pull/15907))
* [Controller] Added board config for custom controller STeMCell ([#16287](https://github.com/qmk/qmk_firmware/pull/16287))
* PoC: Swap Escape and Caps ([#16336](https://github.com/qmk/qmk_firmware/pull/16336))
* Add support for large Mouse Reports ([#16371](https://github.com/qmk/qmk_firmware/pull/16371))
* tap-dance: Restructure code and document in more detail ([#16394](https://github.com/qmk/qmk_firmware/pull/16394))
* Teaching the CLI to flash binaries ([#16584](https://github.com/qmk/qmk_firmware/pull/16584))
* Split ChibiOS usart split driver in protocol and hardware driver part ([#16669](https://github.com/qmk/qmk_firmware/pull/16669))
* Added Wait time to sending each Keys for Dynamic Macros function ([#16800](https://github.com/qmk/qmk_firmware/pull/16800))
* Added Delay time to sending each Keys for VIA Macros function feature ([#16810](https://github.com/qmk/qmk_firmware/pull/16810))
* Improve avr wait_us() ([#16879](https://github.com/qmk/qmk_firmware/pull/16879))
* Improve ENCODER_DEFAULT_POS to recognize lost ticks ([#16932](https://github.com/qmk/qmk_firmware/pull/16932))
* Added emacs as an "operating system" for input mode. ([#16949](https://github.com/qmk/qmk_firmware/pull/16949))
* 24LC32A EEPROM addition ([#16990](https://github.com/qmk/qmk_firmware/pull/16990))
* Refactor steno and add `STENO_PROTOCOL = [all|txbolt|geminipr]` ([#17065](https://github.com/qmk/qmk_firmware/pull/17065))
* improvements for Cirque Pinnacle trackpads ([#17091](https://github.com/qmk/qmk_firmware/pull/17091))
* Use TAP_HOLD_CAPS_DELAY for KC_LOCKING_CAPS_LOCK ([#17099](https://github.com/qmk/qmk_firmware/pull/17099))
* Improve PS/2 mouse performance ([#17111](https://github.com/qmk/qmk_firmware/pull/17111))
* Update C standard to GNU11, C++ to GNU++14 ([#17114](https://github.com/qmk/qmk_firmware/pull/17114))
* Added ws2812_pwm support for WB32 MCU. ([#17142](https://github.com/qmk/qmk_firmware/pull/17142))
* Added ws2812_spi support for WB32 MCU ([#17143](https://github.com/qmk/qmk_firmware/pull/17143))
* Make bootloader_jump for dualbank STM32 respect STM32_BOOTLOADER_DUAL_BANK_DELAY ([#17178](https://github.com/qmk/qmk_firmware/pull/17178))
* Expose the time of the last change to the LED state ([#17222](https://github.com/qmk/qmk_firmware/pull/17222))
* [Code] Add solid reactive gradient mode ([#17228](https://github.com/qmk/qmk_firmware/pull/17228))
* Add keymap wrappers for introspection into the keymap. ([#17229](https://github.com/qmk/qmk_firmware/pull/17229))
* Ensure eeconfig initialised before reading EEPROM handedness. ([#17256](https://github.com/qmk/qmk_firmware/pull/17256))
* Add uf2-split-* make targets. ([#17257](https://github.com/qmk/qmk_firmware/pull/17257))
* Removes terminal from QMK. ([#17258](https://github.com/qmk/qmk_firmware/pull/17258))
* Make SPI Mode configurable for AW20216 and change default mode to 3 ([#17263](https://github.com/qmk/qmk_firmware/pull/17263))
* Move SPLIT_HAND_PIN setup to split_pre_init ([#17271](https://github.com/qmk/qmk_firmware/pull/17271))
* Allow larger SPLIT_USB_TIMEOUT with default SPLIT_USB_TIMEOUT_POLL ([#17272](https://github.com/qmk/qmk_firmware/pull/17272))
* Feature-ify Send String ([#17275](https://github.com/qmk/qmk_firmware/pull/17275))
* Rework paths for eeprom locations. ([#17326](https://github.com/qmk/qmk_firmware/pull/17326))
* Pca9505/6 driver ([#17333](https://github.com/qmk/qmk_firmware/pull/17333))
* Cirque Attenuation Setting ([#17342](https://github.com/qmk/qmk_firmware/pull/17342))
* Scale brigthness for VIA ([#17352](https://github.com/qmk/qmk_firmware/pull/17352))
* Ensure that rgb+via compiles in all cases ([#17355](https://github.com/qmk/qmk_firmware/pull/17355))
* Wear-leveling EEPROM drivers: `embedded_flash`, `spi_flash`, `legacy` ([#17376](https://github.com/qmk/qmk_firmware/pull/17376))
* In honor of king terry ([#17387](https://github.com/qmk/qmk_firmware/pull/17387))
* tap-dance: Rename tests so that tap_dance is used consistently ([#17396](https://github.com/qmk/qmk_firmware/pull/17396))
* IS31FL3737 Global Current Setting ([#17420](https://github.com/qmk/qmk_firmware/pull/17420))
* [QP] Add ILI9488 support. ([#17438](https://github.com/qmk/qmk_firmware/pull/17438))
* Mark GD32VF103 as ChibiOS-Contrib ([#17444](https://github.com/qmk/qmk_firmware/pull/17444))
* ISSI Drivers Global Current Option ([#17448](https://github.com/qmk/qmk_firmware/pull/17448))
* [Split] pointing transport check ([#17481](https://github.com/qmk/qmk_firmware/pull/17481))
* Cirque trackpad features: circular scroll, inertial cursor ([#17482](https://github.com/qmk/qmk_firmware/pull/17482))
* RGB heatmap skip NO_LED ([#17488](https://github.com/qmk/qmk_firmware/pull/17488))
* Add kb2040 and sparkfun rp2040 converters ([#17514](https://github.com/qmk/qmk_firmware/pull/17514))
* [style] rp2040 stage2 formatting ([#17516](https://github.com/qmk/qmk_firmware/pull/17516))
* Also check /run/media/ for uf2 drives ([#17517](https://github.com/qmk/qmk_firmware/pull/17517))
* RP2040 emulated EEPROM. ([#17519](https://github.com/qmk/qmk_firmware/pull/17519))
* Make debounce algorithms signal matrix changes ([#17554](https://github.com/qmk/qmk_firmware/pull/17554))
* Update PM2040 I2C pins ([#17578](https://github.com/qmk/qmk_firmware/pull/17578))
* Added implementation of WB32 MCU wear_leveling_efl. ([#17579](https://github.com/qmk/qmk_firmware/pull/17579))
* Use Pro Micro SDA/SCL pinout for PM2040 ([#17595](https://github.com/qmk/qmk_firmware/pull/17595))
* Refactor Pixel Fractal effect ([#17602](https://github.com/qmk/qmk_firmware/pull/17602))
* Add Blok RP2040 converter ([#17603](https://github.com/qmk/qmk_firmware/pull/17603))
* Use polled waiting on ChibiOS platforms that support it ([#17607](https://github.com/qmk/qmk_firmware/pull/17607))
* Stabilize Half-duplex RP2040 PIO split comms ([#17612](https://github.com/qmk/qmk_firmware/pull/17612))
* PMW33XX drivers overhaul ([#17613](https://github.com/qmk/qmk_firmware/pull/17613))
* Include stdint.h in avr/i2c_master.h ([#17639](https://github.com/qmk/qmk_firmware/pull/17639))
* Add led matrix support for CKLED2001 ([#17643](https://github.com/qmk/qmk_firmware/pull/17643))
* `STM32_USB_USE_OTG1` => `USB_ENDPOINTS_ARE_REORDERABLE` ([#17647](https://github.com/qmk/qmk_firmware/pull/17647))
* Allow MCU-specific overrides for SPI flags. ([#17650](https://github.com/qmk/qmk_firmware/pull/17650))
* Update LED/RGB Matrix flag function behavior ([#17651](https://github.com/qmk/qmk_firmware/pull/17651))
* Cirque circular scroll: Support POINTING_DEVICE_COMBINED ([#17654](https://github.com/qmk/qmk_firmware/pull/17654))
* Add support for PAW3204 Optical Sensor ([#17669](https://github.com/qmk/qmk_firmware/pull/17669))
* Add LED limits call ([#17679](https://github.com/qmk/qmk_firmware/pull/17679))
* Move Pointing Device code to a subdirectory ([#17684](https://github.com/qmk/qmk_firmware/pull/17684))
* Avoid OOB in dynamic_keymap_reset ([#17695](https://github.com/qmk/qmk_firmware/pull/17695))
* Allow dynamic keymap to compile without `via.h` ([#17703](https://github.com/qmk/qmk_firmware/pull/17703))
* Use correct angle tune range of +/-127 on PMW33XX ([#17708](https://github.com/qmk/qmk_firmware/pull/17708))
* Add Bonsai C4 converter ([#17711](https://github.com/qmk/qmk_firmware/pull/17711))
* VIA Encoder Map Support ([#17734](https://github.com/qmk/qmk_firmware/pull/17734))
* Move Pointing Device Initialization to after Split Post Initialization ([#17740](https://github.com/qmk/qmk_firmware/pull/17740))
* Add ability to enter bootloader mode from `QK_MAKE` ([#17745](https://github.com/qmk/qmk_firmware/pull/17745))
* Add `tap_code16_delay` ([#17748](https://github.com/qmk/qmk_firmware/pull/17748))
* Implement relative mode for Cirque trackpad ([#17760](https://github.com/qmk/qmk_firmware/pull/17760))
* Create generic Pointing Device Pin defines ([#17776](https://github.com/qmk/qmk_firmware/pull/17776))
* Constrain Cirque Pinnacle coordinates ([#17803](https://github.com/qmk/qmk_firmware/pull/17803))
* Refactor/rename postprocess_steno_user → post_process_steno_user ([#17823](https://github.com/qmk/qmk_firmware/pull/17823))
* Add Bit-C PRO converter ([#17827](https://github.com/qmk/qmk_firmware/pull/17827))
* guard RPC invocation by checking RPC info against crc checksum ([#17840](https://github.com/qmk/qmk_firmware/pull/17840))
* Add ST7735 driver to Quantum Painter ([#17848](https://github.com/qmk/qmk_firmware/pull/17848))
* Add minimal STM32F103C6 support ([#17853](https://github.com/qmk/qmk_firmware/pull/17853))
* Remove legacy AVR ssd1306 driver ([#17864](https://github.com/qmk/qmk_firmware/pull/17864))
* Remove tmk_core 'serial' code ([#17866](https://github.com/qmk/qmk_firmware/pull/17866))
* Use LT_ZCAR in place of LT_PLUS for modded kc definitions of keymap_lithuanian_qwerty.h ([#18000](https://github.com/qmk/qmk_firmware/pull/18000))
* Remove invisible variation selector-15 from keymap_japanese.h ([#18007](https://github.com/qmk/qmk_firmware/pull/18007))
* define CZ_PERC S(CZ_PLUS) → define CZ_PERC S(CZ_EQL) ([#18008](https://github.com/qmk/qmk_firmware/pull/18008))
* KR_DQUO S(KR_COLN) → KR_DQUO S(KR_QUOT) in keymap_korean.h ([#18011](https://github.com/qmk/qmk_firmware/pull/18011))
* Replace ; by : in the shifted symbols ASCII art of keymap_norman ([#18029](https://github.com/qmk/qmk_firmware/pull/18029))
* Add eeprom defaults for tinyuf2 bootloader ([#18042](https://github.com/qmk/qmk_firmware/pull/18042))
* Remove duplicate COMBINING HORN in keymap_us_extended.h ([#18045](https://github.com/qmk/qmk_firmware/pull/18045))
* Nix shell updates for `develop` ([#18131](https://github.com/qmk/qmk_firmware/pull/18131))
CLI:
* Add cli command to import keyboard|keymap|kbfirmware ([#16668](https://github.com/qmk/qmk_firmware/pull/16668))
* Publish data as part of API generation ([#17020](https://github.com/qmk/qmk_firmware/pull/17020))
* Allow encoder config from info.json ([#17295](https://github.com/qmk/qmk_firmware/pull/17295))
* `qmk doctor`: show arch for macOS ([#17356](https://github.com/qmk/qmk_firmware/pull/17356))
* Use --exclude-from=.gitignore in place of --exclude-standard ([#17399](https://github.com/qmk/qmk_firmware/pull/17399))
* Improve importer workflow ([#17707](https://github.com/qmk/qmk_firmware/pull/17707))
* Remove legacy bootmagic cli parsing ([#18099](https://github.com/qmk/qmk_firmware/pull/18099))
* Align CLI requirements ([#18117](https://github.com/qmk/qmk_firmware/pull/18117))
Submodule updates:
* Add Raspberry Pi RP2040 support ([#14877](https://github.com/qmk/qmk_firmware/pull/14877))
* Update mpaland/printf to eyalroz/printf fork ([#16163](https://github.com/qmk/qmk_firmware/pull/16163))
* Generic wear-leveling algorithm ([#16996](https://github.com/qmk/qmk_firmware/pull/16996))
* Update LUFA submodule ([#17368](https://github.com/qmk/qmk_firmware/pull/17368))
* Update V-USB submodule ([#17385](https://github.com/qmk/qmk_firmware/pull/17385))
* Update ChibiOS-Contrib ([#17540](https://github.com/qmk/qmk_firmware/pull/17540))
* Update to latest ChibiOS-Contrib. ([#18016](https://github.com/qmk/qmk_firmware/pull/18016))
* Update LUFA submodule ([#18168](https://github.com/qmk/qmk_firmware/pull/18168))
Keyboards:
* GMMK 2 WBG7 MCU compatibility ([#16436](https://github.com/qmk/qmk_firmware/pull/16436))
* bastardkb: restructure folder hierarchy ([#16778](https://github.com/qmk/qmk_firmware/pull/16778))
* Add Gentleman 65 SE Solderd PCB support ([#16992](https://github.com/qmk/qmk_firmware/pull/16992))
* Move/Rename to Hillside48, simplify default keymap ([#17210](https://github.com/qmk/qmk_firmware/pull/17210))
* IDOBAO ID67 code touch-ups and include factory keymap ([#17231](https://github.com/qmk/qmk_firmware/pull/17231))
* IDOBAO ID87v2 code rewrite and include factory keymap ([#17232](https://github.com/qmk/qmk_firmware/pull/17232))
* IDOBAO ID80v3 code rewrite and include factory keymap ([#17234](https://github.com/qmk/qmk_firmware/pull/17234))
* IDOBAO ID80v1 folder rename ([#17265](https://github.com/qmk/qmk_firmware/pull/17265))
* Fine!40 PCB Support ([#17426](https://github.com/qmk/qmk_firmware/pull/17426))
* Update Charybdis code for Extended Mouse reports ([#17435](https://github.com/qmk/qmk_firmware/pull/17435))
* (develop)AP2: Enable support for WL EEPROM Driver ([#17506](https://github.com/qmk/qmk_firmware/pull/17506))
* (develop)Keychron Q2: Enable support for WL EEPROM Driver ([#17507](https://github.com/qmk/qmk_firmware/pull/17507))
* Add Adafruit Macropad RP2040 ([#17512](https://github.com/qmk/qmk_firmware/pull/17512))
* Add RP2040 config defaults ([#17557](https://github.com/qmk/qmk_firmware/pull/17557))
* Add support keyboard Feker IK75 ([#17611](https://github.com/qmk/qmk_firmware/pull/17611))
* boardsource/holiday/spooky data driven ([#17632](https://github.com/qmk/qmk_firmware/pull/17632))
* boardsource/lulu data driven ([#17638](https://github.com/qmk/qmk_firmware/pull/17638))
* Added support for gmmk pro rev2 keyboard. ([#17655](https://github.com/qmk/qmk_firmware/pull/17655))
* boardsource/microdox data driven ([#17675](https://github.com/qmk/qmk_firmware/pull/17675))
* Remove full bootmagic config from user files ([#17702](https://github.com/qmk/qmk_firmware/pull/17702))
* (develop) Update bootmagic for Adafruit Macropad ([#17755](https://github.com/qmk/qmk_firmware/pull/17755))
* Add a kb2040 version of the onkey keyboard that works with the oled keymap ([#17786](https://github.com/qmk/qmk_firmware/pull/17786))
* Enable mousekeys by default for RGBKB Sol3 ([#17842](https://github.com/qmk/qmk_firmware/pull/17842))
* More glyph transformations for spidey3 userspace ([#17854](https://github.com/qmk/qmk_firmware/pull/17854))
* Default rgblight ([#17855](https://github.com/qmk/qmk_firmware/pull/17855))
* Refactor satt/comet46 to use core OLED driver ([#17856](https://github.com/qmk/qmk_firmware/pull/17856))
* Convert yosino58 to use split common ([#17861](https://github.com/qmk/qmk_firmware/pull/17861))
* Migrate crkbd keymaps to oled driver ([#17863](https://github.com/qmk/qmk_firmware/pull/17863))
* Overhaul uzu42 ([#17868](https://github.com/qmk/qmk_firmware/pull/17868))
* Update ginkgo65hot to allow use of community layouts ([#17911](https://github.com/qmk/qmk_firmware/pull/17911))
* Remove `UNUSED_PINS` ([#17931](https://github.com/qmk/qmk_firmware/pull/17931))
* RESET -> QK_BOOT user keymaps ([#17940](https://github.com/qmk/qmk_firmware/pull/17940))
* Add cursor layer to DMQ Spin ([#17996](https://github.com/qmk/qmk_firmware/pull/17996))
* add new keyboard 'soda/cherish' ([#18057](https://github.com/qmk/qmk_firmware/pull/18057))
* Move keyboard USB IDs and strings to data driven: develop ([#18152](https://github.com/qmk/qmk_firmware/pull/18152))
Keyboard fixes:
* Fixup SPI mode 3 => 0 on tzarc/djinn, `develop`. ([#17440](https://github.com/qmk/qmk_firmware/pull/17440))
* Fixup doio/kb16 ([#17545](https://github.com/qmk/qmk_firmware/pull/17545))
* Adafruit Macropad: Add VIA keymap, fix default km ([#17735](https://github.com/qmk/qmk_firmware/pull/17735))
* Fix compilation issues for Charybdis/Dilemma ([#17791](https://github.com/qmk/qmk_firmware/pull/17791))
* bastardkb: fix info.json changes that got reverted during the last merge from `master` to `develop` ([#17800](https://github.com/qmk/qmk_firmware/pull/17800))
* Fixup uzu42 ([#17867](https://github.com/qmk/qmk_firmware/pull/17867))
* use correct function in Dilemma splinky ([#17923](https://github.com/qmk/qmk_firmware/pull/17923))
* Fix compilation issues for Boardsource Microdox ([#18037](https://github.com/qmk/qmk_firmware/pull/18037))
* Fixup gmmk/pro/rev2 USB Data ([#18056](https://github.com/qmk/qmk_firmware/pull/18056))
Others:
* backlight|led 'on state' for DD configuration ([#17383](https://github.com/qmk/qmk_firmware/pull/17383))
* Dump out the largest symbols in flash and in RAM. ([#17397](https://github.com/qmk/qmk_firmware/pull/17397))
* Re-order user space rules inclusion ([#17459](https://github.com/qmk/qmk_firmware/pull/17459))
* Update feature_split_keyboard.md to add extra detail about left and right matrices. ([#17492](https://github.com/qmk/qmk_firmware/pull/17492))
* Swap F4x1 default board files away from blackpill ([#17522](https://github.com/qmk/qmk_firmware/pull/17522))
* Add converter docs ([#17593](https://github.com/qmk/qmk_firmware/pull/17593))
* Updates to Pointing Device Docs ([#17777](https://github.com/qmk/qmk_firmware/pull/17777))
* Add deprecated check for RGBLIGHT_ANIMATIONS ([#17832](https://github.com/qmk/qmk_firmware/pull/17832))
* Remove OLED driver Split Common warning ([#17862](https://github.com/qmk/qmk_firmware/pull/17862))
* Revert " Re-order user space rules inclusion (#17459)" ([#18032](https://github.com/qmk/qmk_firmware/pull/18032))
Bugs:
* Minor schema fixes ([#14200](https://github.com/qmk/qmk_firmware/pull/14200))
* Fix buffer size for WS2812 PWM driver ([#17046](https://github.com/qmk/qmk_firmware/pull/17046))
* Fix AVR I2C master 1ms timeout ([#17174](https://github.com/qmk/qmk_firmware/pull/17174))
* Mouse key kinetic mode fix ([#17176](https://github.com/qmk/qmk_firmware/pull/17176))
* Fix RGB heatmap to use XY positions and use correct led limits. ([#17184](https://github.com/qmk/qmk_firmware/pull/17184))
* Fix keys being discarded after using the leader key ([#17287](https://github.com/qmk/qmk_firmware/pull/17287))
* Fixup pimoroni trackball ([#17335](https://github.com/qmk/qmk_firmware/pull/17335))
* Fix via builds broken by brightness scaling ([#17354](https://github.com/qmk/qmk_firmware/pull/17354))
* SPI Bugfix for ChibiOS `21.11.1` => `21.11.2` ([#17371](https://github.com/qmk/qmk_firmware/pull/17371))
* Additional schema fixes ([#17414](https://github.com/qmk/qmk_firmware/pull/17414))
* Fix deadlocks on disconnected secondary half ([#17423](https://github.com/qmk/qmk_firmware/pull/17423))
* [Fix] Fix compilation warning for non-split keebs after #17423 ([#17439](https://github.com/qmk/qmk_firmware/pull/17439))
* Fix Caps Word to treat mod-taps more consistently. ([#17463](https://github.com/qmk/qmk_firmware/pull/17463))
* Fix docs regarding `USB_SUSPEND_WAKEUP_DELAY` ([#17501](https://github.com/qmk/qmk_firmware/pull/17501))
* Fixup SSD1351 build after #17438 ([#17533](https://github.com/qmk/qmk_firmware/pull/17533))
* Fixup SPI init procedure, SPI EEPROM sequencing ([#17534](https://github.com/qmk/qmk_firmware/pull/17534))
* Fix Caps Word capitalization when used with Combos + Auto Shift. ([#17549](https://github.com/qmk/qmk_firmware/pull/17549))
* Allow for `keymaps` array to be implemented in a file other than `$(KEYMAP_C)` ([#17559](https://github.com/qmk/qmk_firmware/pull/17559))
* [Fix] printf update aftermath ([#17584](https://github.com/qmk/qmk_firmware/pull/17584))
* Fix rgbkb/sol/rev2 build issues ([#17601](https://github.com/qmk/qmk_firmware/pull/17601))
* More DD encoder fixes ([#17615](https://github.com/qmk/qmk_firmware/pull/17615))
* [Fix] Make ChibiOS `_wait.h` independent of `quantum.h` ([#17645](https://github.com/qmk/qmk_firmware/pull/17645))
* Grammar fixes for docs/feature_converters.md ([#17652](https://github.com/qmk/qmk_firmware/pull/17652))
* Fix compilation issue with Cirque Guestures file ([#17656](https://github.com/qmk/qmk_firmware/pull/17656))
* Fix compile issue with LED Matrix ([#17658](https://github.com/qmk/qmk_firmware/pull/17658))
* Post-bootloader EFL/SPI fixes. ([#17661](https://github.com/qmk/qmk_firmware/pull/17661))
* Fix LED limit loop ([#17678](https://github.com/qmk/qmk_firmware/pull/17678))
* [Fix] Use correct angle tune range of +/-30 on PMW33XX ([#17693](https://github.com/qmk/qmk_firmware/pull/17693))
* Fix AVR compilation of FNV by using standard integer typenames. ([#17716](https://github.com/qmk/qmk_firmware/pull/17716))
* fix syntax error in header file ([#17732](https://github.com/qmk/qmk_firmware/pull/17732))
* Fix custom debug function and sample output ([#17790](https://github.com/qmk/qmk_firmware/pull/17790))
* Fix QK_MAKE's reboot check ([#17795](https://github.com/qmk/qmk_firmware/pull/17795))
* Chibios: Stop I2C peripheral on transaction error ([#17798](https://github.com/qmk/qmk_firmware/pull/17798))
* Fix ChibiOS `i2c_master` error codes ([#17808](https://github.com/qmk/qmk_firmware/pull/17808))
* Update ChibiOS Contrib for RP2040 fixes ([#17817](https://github.com/qmk/qmk_firmware/pull/17817))
* RP2040 disable PIO IRQs on serial timeout ([#17839](https://github.com/qmk/qmk_firmware/pull/17839))
* Fix POINTING_DEVICE_GESTURES_SCROLL_ENABLE typo ([#17850](https://github.com/qmk/qmk_firmware/pull/17850))
* Fixup compilation of printf-like functions with uint32_t args. ([#17904](https://github.com/qmk/qmk_firmware/pull/17904))
* Fix issue with #17904. ([#17905](https://github.com/qmk/qmk_firmware/pull/17905))
* Always run pointing device init ([#17936](https://github.com/qmk/qmk_firmware/pull/17936))
* Align TO() max layers with other keycodes ([#17989](https://github.com/qmk/qmk_firmware/pull/17989))
* Fix Bépo's BP_NNBS (narrow non-breaking space) ([#17999](https://github.com/qmk/qmk_firmware/pull/17999))
* Move Encoder+Encoder Map from generic features ([#18018](https://github.com/qmk/qmk_firmware/pull/18018))
* Fix wrong varaible in encoder block ([#18020](https://github.com/qmk/qmk_firmware/pull/18020))
* Fix LV_CCAR and LV_NCED in keymap_latvian.h ([#18025](https://github.com/qmk/qmk_firmware/pull/18025))
* Use ANSI ASCII art and fix comments for LT_COLN and LT_UNDS in keymap_lithuanian_qwerty.h ([#18028](https://github.com/qmk/qmk_firmware/pull/18028))
* Partially revert some WB32 specific changes ([#18038](https://github.com/qmk/qmk_firmware/pull/18038))
* Fix Emulated EEPROM issue with F466 ([#18039](https://github.com/qmk/qmk_firmware/pull/18039))
* Fix DV_SCLN and DV_COLN in keymap_spanish_dvorak.h ([#18043](https://github.com/qmk/qmk_firmware/pull/18043))
* Fix missing development_board schema entry ([#18050](https://github.com/qmk/qmk_firmware/pull/18050))
* Add key event check to `is_tap_record` and remove `is_tap_key` ([#18063](https://github.com/qmk/qmk_firmware/pull/18063))
* Fix GD32VF103 WS2812 PWM driver ([#18067](https://github.com/qmk/qmk_firmware/pull/18067))
* Fix new-keyboard default for RP2040 bootloader ([#18100](https://github.com/qmk/qmk_firmware/pull/18100))
* Fixup F4xx wear-leveling bootloader check ([#18102](https://github.com/qmk/qmk_firmware/pull/18102))
* Fix PID value for the Keyboardio Atreus 2 bootloader ([#18116](https://github.com/qmk/qmk_firmware/pull/18116))
* Add missing SS_LOPT and SS_ROPT defines ([#18175](https://github.com/qmk/qmk_firmware/pull/18175))

510
docs/ChangeLog/20221126.md Normal file
View File

@@ -0,0 +1,510 @@
# QMK Breaking Changes - 2022 November 26 Changelog
## Notable Features :id=notable-features
### Autocorrect ([#15699](https://github.com/qmk/qmk_firmware/pull/15699)) :id=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).
## Changes Requiring User Action :id=changes-requiring-user-action
### Updated Keyboard Codebases :id=updated-keyboard-codebases
The following keyboards have had their source moved within QMK:
| Old Keyboard Name | New Keyboard Name |
|--------------------------------------|--------------------------------------|
| converter/numeric_keypad_IIe | converter/numeric_keypad_iie |
| durgod/k3x0/k310 | durgod/k310 |
| durgod/k3x0/k320 | durgod/k320 |
| emptystring/NQG | emptystring/nqg |
| handwired/hillside/46 | hillside/46 |
| handwired/hillside/48 | hillside/48 |
| handwired/hillside/52 | hillside/52 |
| maple_computing/christmas_tree/V2017 | maple_computing/christmas_tree/v2017 |
### Keycodes refactoring :id=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.
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.
### Configuration Item Refactoring :id=config-refactoring
A number of configuration items have been renamed for consistency.
RGB Matrix configuration:
| Old Config | New Config |
|-------------------------|-------------------------|
| DRIVER_LED_COUNT | RGB_MATRIX_LED_COUNT |
| RGB_DISABLE_TIMEOUT | RGB_MATRIX_TIMEOUT |
| RGB_MATRIX_STARTUP_HUE | RGB_MATRIX_DEFAULT_HUE |
| RGB_MATRIX_STARTUP_MODE | RGB_MATRIX_DEFAULT_MODE |
| RGB_MATRIX_STARTUP_SAT | RGB_MATRIX_DEFAULT_SAT |
| RGB_MATRIX_STARTUP_SPD | RGB_MATRIX_DEFAULT_SPD |
| RGB_MATRIX_STARTUP_VAL | RGB_MATRIX_DEFAULT_VAL |
LED Matrix configuration:
| Old Config | New Config |
|-------------------------|-------------------------|
| DRIVER_LED_COUNT | LED_MATRIX_LED_COUNT |
| LED_DISABLE_TIMEOUT | LED_MATRIX_TIMEOUT |
| LED_MATRIX_STARTUP_MODE | LED_MATRIX_DEFAULT_MODE |
| LED_MATRIX_STARTUP_SPD | LED_MATRIX_DEFAULT_SPD |
| LED_MATRIX_STARTUP_VAL | LED_MATRIX_DEFAULT_VAL |
Joystick configuration:
| Old Config | New Config |
|--------------------------|--------------------------|
| 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
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.
Previously in `config.h`:
```c
#define VENDOR_ID 0x1234
#define PRODUCT_ID 0x5678
#define DEVICE_VER 0x0001
#define MANUFACTURER Me
#define PRODUCT MyKeyboard
```
Replaced by `info.json`:
```json
{
"keyboard_name": "MyKeyboard",
"manufacturer": "Me",
"usb": {
"vid": "0x1234",
"pid": "0x5678",
"device_version": "0.0.1"
}
}
```
### LED Indicator callback refactoring ([#14864](https://github.com/qmk/qmk_firmware/pull/18450)) :id=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.
This changes the standard callback model to allow for a base implementation to be provided by a keyboard, but also still allow for keymap-level overrides without needing to modify the keyboard's code.
The old RGB Matrix keymap code went something like this:
```c
void rgb_matrix_indicators_user(void) {
// keymap LED code
}
```
...but the new RGB Matrix keymap code looks like this:
```c
bool rgb_matrix_indicators_user(void) {
// keymap LED code
return false;
}
```
Keyboard designers should now structure their keyboard-level routines like the following, in order to allow for keymap overrides:
```c
bool rgb_matrix_indicators_kb(void) {
// Defer to the keymap if they want to override
if (!rgb_matrix_indicators_user()) { return false; }
// keyboard LED code
return true;
}
```
The equivalent transformations should be done for LED Matrix boards.
### Unicode mode refactoring :id=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.
## Notable core changes :id=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
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:
* Align audio keycode names ([#18962](https://github.com/qmk/qmk_firmware/pull/18962))
* Align dynamic tapping term keycode names ([#18963](https://github.com/qmk/qmk_firmware/pull/18963))
* Align haptic feedback keycode names ([#18964](https://github.com/qmk/qmk_firmware/pull/18964))
* Deprecate `CAPS_WORD`/`CAPSWRD` for `CW_TOGG` ([#18834](https://github.com/qmk/qmk_firmware/pull/18834))
* Deprecate `KC_LEAD` for `QK_LEAD` ([#18792](https://github.com/qmk/qmk_firmware/pull/18792))
* Deprecate `KC_LOCK` for `QK_LOCK` ([#18796](https://github.com/qmk/qmk_firmware/pull/18796))
* Deprecate `KEY_OVERRIDE_*` keycodes for `KO_*` ([#18843](https://github.com/qmk/qmk_firmware/pull/18843))
* Deprecate `ONESHOT_*` keycodes for `QK_ONE_SHOT_*` ([#18844](https://github.com/qmk/qmk_firmware/pull/18844))
* Deprecate `SECURE_*` keycodes for `QK_SECURE_*` ([#18847](https://github.com/qmk/qmk_firmware/pull/18847))
* Deprecate `VLK_TOG` for `VK_TOGG` ([#18807](https://github.com/qmk/qmk_firmware/pull/18807))
* Initial DD keycode migration ([#18643](https://github.com/qmk/qmk_firmware/pull/18643))
* Macro keycode name refactoring ([#18958](https://github.com/qmk/qmk_firmware/pull/18958))
* Move mousekey keycodes into newly freed up keycode block ([#16076](https://github.com/qmk/qmk_firmware/pull/16076))
* Normalise Auto Shift keycodes ([#18892](https://github.com/qmk/qmk_firmware/pull/18892))
* Normalise Autocorrect keycodes ([#18893](https://github.com/qmk/qmk_firmware/pull/18893))
* Normalise Combo keycodes ([#18877](https://github.com/qmk/qmk_firmware/pull/18877))
* Normalise Dynamic Macro keycodes ([#18939](https://github.com/qmk/qmk_firmware/pull/18939))
* Normalise Joystick and Programmable Button keycodes ([#18832](https://github.com/qmk/qmk_firmware/pull/18832))
* Normalise MIDI keycodes ([#18972](https://github.com/qmk/qmk_firmware/pull/18972))
* Normalise output selection (Bluetooth) keycodes ([#19004](https://github.com/qmk/qmk_firmware/pull/19004))
* Normalise Space Cadet keycodes ([#18864](https://github.com/qmk/qmk_firmware/pull/18864))
* Normalise Unicode keycodes ([#18898](https://github.com/qmk/qmk_firmware/pull/18898))
* Publish constants metadata to API ([#19143](https://github.com/qmk/qmk_firmware/pull/19143))
* Relocate US ANSI shifted keycode aliases ([#18634](https://github.com/qmk/qmk_firmware/pull/18634))
* Remove `KC_DELT` ([#18882](https://github.com/qmk/qmk_firmware/pull/18882))
* Remove `UNICODE_KEY_OSX` and `UC_OSX` ([#18290](https://github.com/qmk/qmk_firmware/pull/18290))
* Remove deprecated RESET keycode alias ([#18271](https://github.com/qmk/qmk_firmware/pull/18271))
* Remove legacy Debug keycode ([#18769](https://github.com/qmk/qmk_firmware/pull/18769))
* Remove legacy EEPROM clear keycodes ([#18782](https://github.com/qmk/qmk_firmware/pull/18782))
* Remove legacy fauxclicky and unicode keycodes ([#18800](https://github.com/qmk/qmk_firmware/pull/18800))
* Remove legacy Grave Escape keycodes ([#18787](https://github.com/qmk/qmk_firmware/pull/18787))
* Remove legacy international keycodes ([#18588](https://github.com/qmk/qmk_firmware/pull/18588))
* Remove legacy keycodes, part 2 ([#18660](https://github.com/qmk/qmk_firmware/pull/18660))
* Remove legacy keycodes, part 3 ([#18669](https://github.com/qmk/qmk_firmware/pull/18669))
* Remove legacy keycodes, part 4 ([#18683](https://github.com/qmk/qmk_firmware/pull/18683))
* Remove legacy keycodes, part 5 ([#18710](https://github.com/qmk/qmk_firmware/pull/18710))
* Remove legacy keycodes, part 6 ([#18740](https://github.com/qmk/qmk_firmware/pull/18740))
* Remove legacy locking caps/num/scroll keycodes ([#18601](https://github.com/qmk/qmk_firmware/pull/18601))
* 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
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:
* Add Bonsai C4 as a platform board file ([#18901](https://github.com/qmk/qmk_firmware/pull/18901))
* Add converter support to keymap.json ([#18776](https://github.com/qmk/qmk_firmware/pull/18776))
* Add Elite-C to converters ([#18309](https://github.com/qmk/qmk_firmware/pull/18309))
* 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.
### Pointing and Digitizer device updates :id=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!
* add "inertia" mode for mouse keys ([#18774](https://github.com/qmk/qmk_firmware/pull/18774))
* Digitizer feature improvements ([#19034](https://github.com/qmk/qmk_firmware/pull/19034))
* Enabling Pointing Device support in register code functions ([#18363](https://github.com/qmk/qmk_firmware/pull/18363))
* Feature: pointing device automatic mouse layer ([#17962](https://github.com/qmk/qmk_firmware/pull/17962))
* Fix mouse report comparison failing on shared EP (fixes KB preventing sleep) ([#18060](https://github.com/qmk/qmk_firmware/pull/18060))
* Fix mouse use within send_string ([#18659](https://github.com/qmk/qmk_firmware/pull/18659))
* Handle mouse keys more consistently ([#18513](https://github.com/qmk/qmk_firmware/pull/18513))
* 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
Core:
* quantum: led: split out led_update_ports() for customization of led behaviour ([#14452](https://github.com/qmk/qmk_firmware/pull/14452))
* Add getreuer's Autocorrect feature to core ([#15699](https://github.com/qmk/qmk_firmware/pull/15699))
* Move mousekey keycodes into newly freed up keycode block ([#16076](https://github.com/qmk/qmk_firmware/pull/16076))
* Introduce pointing device specific debug messages ([#17663](https://github.com/qmk/qmk_firmware/pull/17663))
* PWM Backlight for RP2040 ([#17706](https://github.com/qmk/qmk_firmware/pull/17706))
* Adjust PWM hardware audio driver for RP2040 ([#17723](https://github.com/qmk/qmk_firmware/pull/17723))
* Prevent tap dance from wiping dynamic macros ([#17880](https://github.com/qmk/qmk_firmware/pull/17880))
* Feature: pointing device automatic mouse layer ([#17962](https://github.com/qmk/qmk_firmware/pull/17962))
* Allow custom timings for WS2812 PIO driver ([#18006](https://github.com/qmk/qmk_firmware/pull/18006))
* Use `TAP_CODE_DELAY` for encoder mapping by default. Add docs. ([#18098](https://github.com/qmk/qmk_firmware/pull/18098))
* Move Oneshot mod callbacks to after mods are set ([#18101](https://github.com/qmk/qmk_firmware/pull/18101))
* mcp23018: add return status to init ([#18178](https://github.com/qmk/qmk_firmware/pull/18178))
* Switch over MANUFACTURER and PRODUCT to string literals ([#18183](https://github.com/qmk/qmk_firmware/pull/18183))
* Remove deprecated USBasp and bootloadHID bootloader types ([#18195](https://github.com/qmk/qmk_firmware/pull/18195))
* Chromeos keycodes ([#18212](https://github.com/qmk/qmk_firmware/pull/18212))
* VIA V3 - The Custom UI Update ([#18222](https://github.com/qmk/qmk_firmware/pull/18222))
* Move bootloader.mk to platforms ([#18228](https://github.com/qmk/qmk_firmware/pull/18228))
* Simplify extrakeys sending at the host driver level ([#18230](https://github.com/qmk/qmk_firmware/pull/18230))
* Add unicode mode change callbacks ([#18235](https://github.com/qmk/qmk_firmware/pull/18235))
* Add Elite-Pi converter ([#18236](https://github.com/qmk/qmk_firmware/pull/18236))
* Better handle EEPROM reset keycode ([#18244](https://github.com/qmk/qmk_firmware/pull/18244))
* Work around WinCompose issue for U+Axxx or U+Exxx ([#18260](https://github.com/qmk/qmk_firmware/pull/18260))
* Remove deprecated RESET keycode alias ([#18271](https://github.com/qmk/qmk_firmware/pull/18271))
* Move Bluetooth-related function calls up to host/keyboard level ([#18274](https://github.com/qmk/qmk_firmware/pull/18274))
* Added analog support for WB32 MCU. ([#18289](https://github.com/qmk/qmk_firmware/pull/18289))
* Remove `UNICODE_KEY_OSX` and `UC_OSX` ([#18290](https://github.com/qmk/qmk_firmware/pull/18290))
* Add Elite-C to converters ([#18309](https://github.com/qmk/qmk_firmware/pull/18309))
* RN42 driver: small cleanups ([#18310](https://github.com/qmk/qmk_firmware/pull/18310))
* Reboot wb32 devices after flashing ([#18323](https://github.com/qmk/qmk_firmware/pull/18323))
* Refactor Unicode feature ([#18333](https://github.com/qmk/qmk_firmware/pull/18333))
* Move fake EE_HANDS from EEPROM init. ([#18352](https://github.com/qmk/qmk_firmware/pull/18352))
* Enabling Pointing Device support in register code functions ([#18363](https://github.com/qmk/qmk_firmware/pull/18363))
* Start Bluetooth API ([#18366](https://github.com/qmk/qmk_firmware/pull/18366))
* Add UART support for Kinetis boards ([#18370](https://github.com/qmk/qmk_firmware/pull/18370))
* [QP] Add RGB565 surface. Docs clarification, cleanup, tabsification, and reordering. ([#18396](https://github.com/qmk/qmk_firmware/pull/18396))
* Change `DRIVER_LED_COUNT` to `{LED,RGB}_MATRIX_LED_COUNT` ([#18399](https://github.com/qmk/qmk_firmware/pull/18399))
* Invert pointing device motion pin for cirque touchpads ([#18404](https://github.com/qmk/qmk_firmware/pull/18404))
* Change `{LED,RGB}_DISABLE_TIMEOUT` to `{LED,RGB}_MATRIX_TIMEOUT` ([#18415](https://github.com/qmk/qmk_firmware/pull/18415))
* rewrite locking in split transaction handlers ([#18417](https://github.com/qmk/qmk_firmware/pull/18417))
* remove busy waiting from rgblight functions ([#18418](https://github.com/qmk/qmk_firmware/pull/18418))
* Serial-protocol: always clear receive queue on main half of split keyboard ([#18419](https://github.com/qmk/qmk_firmware/pull/18419))
* Stabilize RP2040 Half-duplex PIO split comms take 2 ([#18421](https://github.com/qmk/qmk_firmware/pull/18421))
* Copy RP2040 vector table to RAM on startup ([#18424](https://github.com/qmk/qmk_firmware/pull/18424))
* Further refactoring of joystick feature ([#18437](https://github.com/qmk/qmk_firmware/pull/18437))
* Start moving towards introspection-based data retrieval ([#18441](https://github.com/qmk/qmk_firmware/pull/18441))
* RP2040: use built-in integer hardware divider and optimized i64 multiplication ([#18464](https://github.com/qmk/qmk_firmware/pull/18464))
* Only trigger encoder callbacks on primary side ([#18467](https://github.com/qmk/qmk_firmware/pull/18467))
* Handle mouse keys more consistently ([#18513](https://github.com/qmk/qmk_firmware/pull/18513))
* Gentoo install script — build newlib with `nano` USE flag ([#18527](https://github.com/qmk/qmk_firmware/pull/18527))
* Small un/register_code() cleanups ([#18544](https://github.com/qmk/qmk_firmware/pull/18544))
* Refactor more host code (programmable button & digitizer) ([#18565](https://github.com/qmk/qmk_firmware/pull/18565))
* Don't clear keys on layer change unless STRICT_LAYER_RELEASE is enabled ([#18577](https://github.com/qmk/qmk_firmware/pull/18577))
* Remove legacy international keycodes ([#18588](https://github.com/qmk/qmk_firmware/pull/18588))
* onekey: Enable ADC for STM32F072 Discovery ([#18592](https://github.com/qmk/qmk_firmware/pull/18592))
* Implement split comms watchdog ([#18599](https://github.com/qmk/qmk_firmware/pull/18599))
* Remove legacy locking caps/num/scroll keycodes ([#18601](https://github.com/qmk/qmk_firmware/pull/18601))
* Use `get_u16_str` instead of `snprintf` in `autoshift_timer_report` ([#18606](https://github.com/qmk/qmk_firmware/pull/18606))
* Refactor `send_extra` ([#18615](https://github.com/qmk/qmk_firmware/pull/18615))
* LUFA: Consolidate report sending code ([#18629](https://github.com/qmk/qmk_firmware/pull/18629))
* Relocate US ANSI shifted keycode aliases ([#18634](https://github.com/qmk/qmk_firmware/pull/18634))
* Allow QK_MAKE to work with converters ([#18637](https://github.com/qmk/qmk_firmware/pull/18637))
* Programmable Button API refactor and improve docs ([#18641](https://github.com/qmk/qmk_firmware/pull/18641))
* Initial DD keycode migration ([#18643](https://github.com/qmk/qmk_firmware/pull/18643))
* Remove legacy keycodes, part 2 ([#18660](https://github.com/qmk/qmk_firmware/pull/18660))
* Remove legacy keycodes, part 3 ([#18669](https://github.com/qmk/qmk_firmware/pull/18669))
* Remove legacy keycodes, part 4 ([#18683](https://github.com/qmk/qmk_firmware/pull/18683))
* Revert "mcp23018: add return status to init" ([#18709](https://github.com/qmk/qmk_firmware/pull/18709))
* Remove legacy keycodes, part 5 ([#18710](https://github.com/qmk/qmk_firmware/pull/18710))
* Make QP driver init functions weak. ([#18717](https://github.com/qmk/qmk_firmware/pull/18717))
* Add unit tests for HOLD_ON_OTHER_KEY_PRESS ([#18721](https://github.com/qmk/qmk_firmware/pull/18721))
* Remove legacy keycodes, part 6 ([#18740](https://github.com/qmk/qmk_firmware/pull/18740))
* Remove legacy sendstring keycodes ([#18749](https://github.com/qmk/qmk_firmware/pull/18749))
* 4 Driver support for IS31FL3737 ([#18750](https://github.com/qmk/qmk_firmware/pull/18750))
* Remove quantum/audio from global VPATH ([#18753](https://github.com/qmk/qmk_firmware/pull/18753))
* Widen the ARM Cortex-M family support. Allow USB peripheral change. ([#18767](https://github.com/qmk/qmk_firmware/pull/18767))
* Remove legacy Debug keycode ([#18769](https://github.com/qmk/qmk_firmware/pull/18769))
* add "inertia" mode for mouse keys ([#18774](https://github.com/qmk/qmk_firmware/pull/18774))
* Remove legacy EEPROM clear keycodes ([#18782](https://github.com/qmk/qmk_firmware/pull/18782))
* Remove legacy Grave Escape keycodes ([#18787](https://github.com/qmk/qmk_firmware/pull/18787))
* Deprecate `KC_LEAD` for `QK_LEAD` ([#18792](https://github.com/qmk/qmk_firmware/pull/18792))
* Deprecate `KC_LOCK` for `QK_LOCK` ([#18796](https://github.com/qmk/qmk_firmware/pull/18796))
* Remove legacy fauxclicky and unicode keycodes ([#18800](https://github.com/qmk/qmk_firmware/pull/18800))
* Generalise CTPC logic from common_features ([#18803](https://github.com/qmk/qmk_firmware/pull/18803))
* Deprecate `VLK_TOG` for `VK_TOGG` ([#18807](https://github.com/qmk/qmk_firmware/pull/18807))
* ChibiOS USB: Add a dummy IN callback to work around LLD bugs ([#18811](https://github.com/qmk/qmk_firmware/pull/18811))
* Normalise Joystick and Programmable Button keycodes ([#18832](https://github.com/qmk/qmk_firmware/pull/18832))
* Deprecate `CAPS_WORD`/`CAPSWRD` for `CW_TOGG` ([#18834](https://github.com/qmk/qmk_firmware/pull/18834))
* added BS_TOGG so BS_SWAP and BS_NORM can be on a single key ([#18837](https://github.com/qmk/qmk_firmware/pull/18837))
* Remove some assumptions on sequential keycode ranges ([#18838](https://github.com/qmk/qmk_firmware/pull/18838))
* Deprecate `KEY_OVERRIDE_*` keycodes for `KO_*` ([#18843](https://github.com/qmk/qmk_firmware/pull/18843))
* Deprecate `ONESHOT_*` keycodes for `QK_ONE_SHOT_*` ([#18844](https://github.com/qmk/qmk_firmware/pull/18844))
* Deprecate `SECURE_*` keycodes for `QK_SECURE_*` ([#18847](https://github.com/qmk/qmk_firmware/pull/18847))
* Normalise Space Cadet keycodes ([#18864](https://github.com/qmk/qmk_firmware/pull/18864))
* Allow overriding of dynamic keymap start address. ([#18867](https://github.com/qmk/qmk_firmware/pull/18867))
* Formalise keyboard- and user-specific EEPROM blocks ([#18874](https://github.com/qmk/qmk_firmware/pull/18874))
* Normalise Combo keycodes ([#18877](https://github.com/qmk/qmk_firmware/pull/18877))
* Remove rgblight_list.h ([#18878](https://github.com/qmk/qmk_firmware/pull/18878))
* Remove `KC_DELT` ([#18882](https://github.com/qmk/qmk_firmware/pull/18882))
* Simplify Keymap Config EEPROM ([#18886](https://github.com/qmk/qmk_firmware/pull/18886))
* Normalise Auto Shift keycodes ([#18892](https://github.com/qmk/qmk_firmware/pull/18892))
* Normalise Autocorrect keycodes ([#18893](https://github.com/qmk/qmk_firmware/pull/18893))
* Normalise Unicode keycodes ([#18898](https://github.com/qmk/qmk_firmware/pull/18898))
* Add Bonsai C4 as a platform board file ([#18901](https://github.com/qmk/qmk_firmware/pull/18901))
* Normalise Dynamic Macro keycodes ([#18939](https://github.com/qmk/qmk_firmware/pull/18939))
* Reduce includes for sequencer header ([#18946](https://github.com/qmk/qmk_firmware/pull/18946))
* Reduce includes for crc header ([#18947](https://github.com/qmk/qmk_firmware/pull/18947))
* Reduce includes for caps_word header ([#18948](https://github.com/qmk/qmk_firmware/pull/18948))
* Reduce includes for wpm header ([#18949](https://github.com/qmk/qmk_firmware/pull/18949))
* Reduce includes for dip_switch header ([#18951](https://github.com/qmk/qmk_firmware/pull/18951))
* Reduce includes for send_string header ([#18952](https://github.com/qmk/qmk_firmware/pull/18952))
* Macro keycode name refactoring ([#18958](https://github.com/qmk/qmk_firmware/pull/18958))
* Remove thermal printer. ([#18959](https://github.com/qmk/qmk_firmware/pull/18959))
* Reworked backlight keycodes. ([#18961](https://github.com/qmk/qmk_firmware/pull/18961))
* Align audio keycode names ([#18962](https://github.com/qmk/qmk_firmware/pull/18962))
* Align dynamic tapping term keycode names ([#18963](https://github.com/qmk/qmk_firmware/pull/18963))
* Align haptic feedback keycode names ([#18964](https://github.com/qmk/qmk_firmware/pull/18964))
* NVRAM refactor, phase 1. ([#18969](https://github.com/qmk/qmk_firmware/pull/18969))
* Normalise MIDI keycodes ([#18972](https://github.com/qmk/qmk_firmware/pull/18972))
* Normalise output selection (Bluetooth) keycodes ([#19004](https://github.com/qmk/qmk_firmware/pull/19004))
* Move EFL wear-leveling driver to be default for F1, F3, F4, L4, G4, WB32, GD32V. ([#19020](https://github.com/qmk/qmk_firmware/pull/19020))
* Digitizer feature improvements ([#19034](https://github.com/qmk/qmk_firmware/pull/19034))
* Joystick feature improvements ([#19052](https://github.com/qmk/qmk_firmware/pull/19052))
* Add default limit to OLED dirty processing ([#19068](https://github.com/qmk/qmk_firmware/pull/19068))
* Change `RGB_MATRIX_STARTUP_*` defines to `RGB_MATRIX_DEFAULT_*` ([#19079](https://github.com/qmk/qmk_firmware/pull/19079))
* Change `LED_MATRIX_STARTUP_*` defines to `LED_MATRIX_DEFAULT_*` ([#19080](https://github.com/qmk/qmk_firmware/pull/19080))
* Extend eeconfig kb/user datablock API ([#19094](https://github.com/qmk/qmk_firmware/pull/19094))
* Remove .noci functionality ([#19122](https://github.com/qmk/qmk_firmware/pull/19122))
CLI:
* Reject json with duplicate keys ([#18108](https://github.com/qmk/qmk_firmware/pull/18108))
* Add pointing device support to data driven config ([#18215](https://github.com/qmk/qmk_firmware/pull/18215))
* Disconnect `usb.device_ver` ([#18259](https://github.com/qmk/qmk_firmware/pull/18259))
* Normalise info_config.h define generation ([#18439](https://github.com/qmk/qmk_firmware/pull/18439))
* Generate DD RGBLight/LED/RGB Matrix animation defines ([#18459](https://github.com/qmk/qmk_firmware/pull/18459))
* Add converter support to keymap.json ([#18776](https://github.com/qmk/qmk_firmware/pull/18776))
* Ensure consistent clean behaviour ([#18781](https://github.com/qmk/qmk_firmware/pull/18781))
* Format DD mappings and schemas ([#18924](https://github.com/qmk/qmk_firmware/pull/18924))
* Publish hjson files as json ([#18996](https://github.com/qmk/qmk_firmware/pull/18996))
* Add raw output option for QGF/QFF files. ([#18998](https://github.com/qmk/qmk_firmware/pull/18998))
* Improve LED config parsing error messages ([#19007](https://github.com/qmk/qmk_firmware/pull/19007))
* Revert "Add pointing device support to data driven config (#18215)" ([#19063](https://github.com/qmk/qmk_firmware/pull/19063))
* Additional DD backlight config ([#19124](https://github.com/qmk/qmk_firmware/pull/19124))
* Publish constants metadata to API ([#19143](https://github.com/qmk/qmk_firmware/pull/19143))
Submodule updates:
* Use a macro to compute the size of arrays at compile time ([#18044](https://github.com/qmk/qmk_firmware/pull/18044))
* Update pico-sdk to version 1.4.0 ([#18423](https://github.com/qmk/qmk_firmware/pull/18423))
Keyboards:
* Rework PS/2 driver selection ([#17892](https://github.com/qmk/qmk_firmware/pull/17892))
* Durgod K310/K320 Refactor ([#18224](https://github.com/qmk/qmk_firmware/pull/18224))
* Optimise LAYOUT macro generation ([#18262](https://github.com/qmk/qmk_firmware/pull/18262))
* Rename keyboards with uppercase letters ([#18268](https://github.com/qmk/qmk_firmware/pull/18268))
* Remove legacy USE_SERIAL define ([#18292](https://github.com/qmk/qmk_firmware/pull/18292))
* Resolve conflict merging master to develop ([#18297](https://github.com/qmk/qmk_firmware/pull/18297))
* Remove legacy define USE_SERIAL_PD2 ([#18298](https://github.com/qmk/qmk_firmware/pull/18298))
* Remove legacy define SERIAL_USE_MULTI_TRANSACTION ([#18299](https://github.com/qmk/qmk_firmware/pull/18299))
* Adapt spidey3 userspace to recent unicode refactoring ([#18345](https://github.com/qmk/qmk_firmware/pull/18345))
* Remove remaining use of terminal keys and related comment labels ([#18402](https://github.com/qmk/qmk_firmware/pull/18402))
* Add DD mapping for LED/RGB Matrix center ([#18432](https://github.com/qmk/qmk_firmware/pull/18432))
* develop updates for Drashna Keymaps ([#18472](https://github.com/qmk/qmk_firmware/pull/18472))
* Remove lingering `DRIVER_LED_TOTAL` references ([#18475](https://github.com/qmk/qmk_firmware/pull/18475))
* Remove lingering `DRIVER_LED_TOTAL` references ([#18594](https://github.com/qmk/qmk_firmware/pull/18594))
* update andrebrait GMMK Pro keymap ([#18608](https://github.com/qmk/qmk_firmware/pull/18608))
* AnnePro2: Adjust RGB flushing ([#18640](https://github.com/qmk/qmk_firmware/pull/18640))
* Remove lingering `DRIVER_LED_TOTAL` references ([#18662](https://github.com/qmk/qmk_firmware/pull/18662))
* Update snowe's KC_RESET to use QK_BOOT ([#18667](https://github.com/qmk/qmk_firmware/pull/18667))
* Remove some .gitignore files ([#18689](https://github.com/qmk/qmk_firmware/pull/18689))
* Remove keymaps that still reference legacy macros ([#18690](https://github.com/qmk/qmk_firmware/pull/18690))
* Remove keymaps that still reference legacy macros ([#18693](https://github.com/qmk/qmk_firmware/pull/18693))
* Remove stale userspace/keymaps ([#18700](https://github.com/qmk/qmk_firmware/pull/18700))
* Update keyboards readme ([#18714](https://github.com/qmk/qmk_firmware/pull/18714))
* Allow changes to the moonlander default music map ([#18715](https://github.com/qmk/qmk_firmware/pull/18715))
* led_update_kb -> led_update_ports where appropriate ([#18716](https://github.com/qmk/qmk_firmware/pull/18716))
* Update converter/usb_usb user keymaps to use LAYOUT_fullsize ([#18720](https://github.com/qmk/qmk_firmware/pull/18720))
* Remove RGBLIGHT_ANIMATION and clean up effect defines for G-K ([#18726](https://github.com/qmk/qmk_firmware/pull/18726))
* Remove RGBLIGHT_ANIMATION and clean up effect defines for L-Q ([#18727](https://github.com/qmk/qmk_firmware/pull/18727))
* Remove RGBLIGHT_ANIMATION and clean up effect defines for R-Z ([#18728](https://github.com/qmk/qmk_firmware/pull/18728))
* Remove RGBLIGHT_ANIMATION and clean up effect defines for layouts+users ([#18729](https://github.com/qmk/qmk_firmware/pull/18729))
* Update info.json configs to explicitly list RGBLIGHT animations ([#18730](https://github.com/qmk/qmk_firmware/pull/18730))
* A little personal cleanup after #18726 and #18729 ([#18734](https://github.com/qmk/qmk_firmware/pull/18734))
* Move Hillside out of handwired ([#18751](https://github.com/qmk/qmk_firmware/pull/18751))
* wilba_tech: allow keymaps to override backlight_effect_indicators() ([#18791](https://github.com/qmk/qmk_firmware/pull/18791))
* Remove broken userspace and keymaps ([#18806](https://github.com/qmk/qmk_firmware/pull/18806))
* Add support for KBDfans Odin V2 ([#18910](https://github.com/qmk/qmk_firmware/pull/18910))
* Remove more `UNUSED_PINS` defines ([#18940](https://github.com/qmk/qmk_firmware/pull/18940))
* Remove hardcoded VIA keycode range ([#18956](https://github.com/qmk/qmk_firmware/pull/18956))
* KC_GESC -> QK_GESC, better alignment for OCD ([#19018](https://github.com/qmk/qmk_firmware/pull/19018))
* Add missing `manufacturer` fields ([#19065](https://github.com/qmk/qmk_firmware/pull/19065))
* Update use of legacy keycodes ([#19120](https://github.com/qmk/qmk_firmware/pull/19120))
Keyboard fixes:
* [GMMK Pro] Fix unintentional taps to the volume keys when using the encoder ([#17129](https://github.com/qmk/qmk_firmware/pull/17129))
* Luna keyboard pet OLED timeout fix ([#17189](https://github.com/qmk/qmk_firmware/pull/17189))
* Handle escaping of manufacturer/product strings ([#18194](https://github.com/qmk/qmk_firmware/pull/18194))
* kegen/gboy: add manufacturer string ([#18196](https://github.com/qmk/qmk_firmware/pull/18196))
* Ensure all keyboards have a bootloader set ([#18234](https://github.com/qmk/qmk_firmware/pull/18234))
* Reverse keymap search order ([#18449](https://github.com/qmk/qmk_firmware/pull/18449))
* Fixup cradio bootloader/processor ([#18477](https://github.com/qmk/qmk_firmware/pull/18477))
* onekey: enable ADC for Bluepill and Blackpill ([#18545](https://github.com/qmk/qmk_firmware/pull/18545))
* Fixup controllerworks/mini42 ([#18553](https://github.com/qmk/qmk_firmware/pull/18553))
* RESET -> QK_BOOT user keymaps ([#18560](https://github.com/qmk/qmk_firmware/pull/18560))
* Fixup linworks/fave84h ([#18593](https://github.com/qmk/qmk_firmware/pull/18593))
* Fix compilation of 1upkeyboards on develop ([#18618](https://github.com/qmk/qmk_firmware/pull/18618))
* Various keyboard fixes ([#18649](https://github.com/qmk/qmk_firmware/pull/18649))
* Fixup twig50 ([#18651](https://github.com/qmk/qmk_firmware/pull/18651))
* Fixup handwired/jopr — remove deprecated keycode ([#18668](https://github.com/qmk/qmk_firmware/pull/18668))
* Fixup keychron/q3 ([#18687](https://github.com/qmk/qmk_firmware/pull/18687))
* Fixup dumbpad/v3x ([#18692](https://github.com/qmk/qmk_firmware/pull/18692))
* Fix aurora/sweep ([#18701](https://github.com/qmk/qmk_firmware/pull/18701))
* Fix build failures uncovered by #18753 ([#18789](https://github.com/qmk/qmk_firmware/pull/18789))
* Fixup emptystring/nqg ([#18804](https://github.com/qmk/qmk_firmware/pull/18804))
* Fixup controllerwords/mini36 ([#18840](https://github.com/qmk/qmk_firmware/pull/18840))
* Fixup 1upkeyboards/pi60_rgb ([#18858](https://github.com/qmk/qmk_firmware/pull/18858))
* Fixup doio/kb16 ([#18859](https://github.com/qmk/qmk_firmware/pull/18859))
* Fixup keebio/sinc/rev3 ([#18866](https://github.com/qmk/qmk_firmware/pull/18866))
* elephant42: fix default keymap ([#18884](https://github.com/qmk/qmk_firmware/pull/18884))
* Properly fix elephant42 ([#18908](https://github.com/qmk/qmk_firmware/pull/18908))
* Fix syntax error introduced in #18800 ([#18933](https://github.com/qmk/qmk_firmware/pull/18933))
* Resolve info.json/rules.mk feature conflicts in three boards ([#18942](https://github.com/qmk/qmk_firmware/pull/18942))
* Fix DD warnings for RGBKB boards ([#18944](https://github.com/qmk/qmk_firmware/pull/18944))
* Fix "no matrix definition" errors for some boards ([#18954](https://github.com/qmk/qmk_firmware/pull/18954))
* LED config fixes ([#18973](https://github.com/qmk/qmk_firmware/pull/18973))
* `handwired/swiftrax/walter`: fix layout mismatch ([#18974](https://github.com/qmk/qmk_firmware/pull/18974))
* Fix use of shifted custom keycode ([#18978](https://github.com/qmk/qmk_firmware/pull/18978))
* `pizzakeyboards/pizza65`: fix layouts ([#18979](https://github.com/qmk/qmk_firmware/pull/18979))
* `cannonkeys/db60/hotswap`: fix layouts ([#18982](https://github.com/qmk/qmk_firmware/pull/18982))
* `handwired/swiftrax/cowfish`: fix layouts ([#18984](https://github.com/qmk/qmk_firmware/pull/18984))
* Fixup hotdox76v2 on develop ([#18991](https://github.com/qmk/qmk_firmware/pull/18991))
* `mechlovin/adelais/standard_led/avr/rev1`: fix layout ([#18997](https://github.com/qmk/qmk_firmware/pull/18997))
* `gboards/gergoplex`: fix matrix pins ([#18999](https://github.com/qmk/qmk_firmware/pull/18999))
* Fixup keychron/q1/iso_encoder ([#19006](https://github.com/qmk/qmk_firmware/pull/19006))
* Rollback unrelated changes from previous PR. ([#19015](https://github.com/qmk/qmk_firmware/pull/19015))
* Fixup bn006 on develop ([#19029](https://github.com/qmk/qmk_firmware/pull/19029))
* onekey: disable NKRO and mousekeys by default ([#19038](https://github.com/qmk/qmk_firmware/pull/19038))
* Fix up laser_ninja/pumpkin_pad ([#19060](https://github.com/qmk/qmk_firmware/pull/19060))
* Fixup keychron/q6 ([#19066](https://github.com/qmk/qmk_firmware/pull/19066))
* Fixup handwired/alcor_dactyl ([#19072](https://github.com/qmk/qmk_firmware/pull/19072))
* Fix some old keycodes ([#19086](https://github.com/qmk/qmk_firmware/pull/19086))
* Update more `DRIVER_LED_TOTAL` defines to `RGB_MATRIX_LED_COUNT` ([#19089](https://github.com/qmk/qmk_firmware/pull/19089))
* Fix references to `mouse_report_t` (which doesnt exist) ([#19107](https://github.com/qmk/qmk_firmware/pull/19107))
* Fixup keychron/q5 ([#19119](https://github.com/qmk/qmk_firmware/pull/19119))
* Fixup aeboards/satellite ([#19137](https://github.com/qmk/qmk_firmware/pull/19137))
* Fixup aurora/corne on develop ([#19144](https://github.com/qmk/qmk_firmware/pull/19144))
* Minor lint fixes for various info.json ([#19146](https://github.com/qmk/qmk_firmware/pull/19146))
Others:
* Add DD mapping for LED/RGB Matrix max brightness ([#18403](https://github.com/qmk/qmk_firmware/pull/18403))
* Add DD mapping for LED/RGB Matrix split count ([#18408](https://github.com/qmk/qmk_firmware/pull/18408))
* Add DD mapping for LED/RGB Matrix HSVS steps ([#18414](https://github.com/qmk/qmk_firmware/pull/18414))
* Remove RGBLIGHT_ANIMTION and clean up effect defines for 0-F ([#18725](https://github.com/qmk/qmk_firmware/pull/18725))
* Merge API update workflow ([#19121](https://github.com/qmk/qmk_firmware/pull/19121))
Bugs:
* Fix layer switching from tap dances by redoing the keymap lookup ([#17935](https://github.com/qmk/qmk_firmware/pull/17935))
* ws2812: replace RGBLED_NUM with driver-owned constant to decouple driver from RGBLEDs/RGBMATRIX defines ([#18036](https://github.com/qmk/qmk_firmware/pull/18036))
* Prevent USB peripheral fault when restarting USB on WB32 MCUs ([#18058](https://github.com/qmk/qmk_firmware/pull/18058))
* Fix mouse report comparison failing on shared EP (fixes KB preventing sleep) ([#18060](https://github.com/qmk/qmk_firmware/pull/18060))
* Fix incorrect `bluetooth.driver` rules.mk mapping ([#18205](https://github.com/qmk/qmk_firmware/pull/18205))
* Adjust `EXTRAKEY_ENABLE` ifdefs for `send_extra()` ([#18249](https://github.com/qmk/qmk_firmware/pull/18249))
* Fix docs regarding cirque pinnacle attenuation ([#18279](https://github.com/qmk/qmk_firmware/pull/18279))
* Avoid repeated calls to rgblight_set() in tight succession when setting lighting layers ([#18338](https://github.com/qmk/qmk_firmware/pull/18338))
* Fix cirque tap from secondary side of split keyboard ([#18351](https://github.com/qmk/qmk_firmware/pull/18351))
* Fix EECONFIG_KEYMAP_UPPER_BYTE init ([#18394](https://github.com/qmk/qmk_firmware/pull/18394))
* Fix retain brightness when val is changed while a layer is active ([#18426](https://github.com/qmk/qmk_firmware/pull/18426))
* Update Chibios to latest 21.11.2 changes for RP2040 XIP deadlock mitigation ([#18428](https://github.com/qmk/qmk_firmware/pull/18428))
* Fix incorrect g_led_config generation ([#18431](https://github.com/qmk/qmk_firmware/pull/18431))
* Fix Per Key LED Indicator Callbacks ([#18450](https://github.com/qmk/qmk_firmware/pull/18450))
* Update chibios-contrib for RP2040 i2c fixes take 2 ([#18455](https://github.com/qmk/qmk_firmware/pull/18455))
* Fix comment of CM_QUES (Colemak question mark) ([#18557](https://github.com/qmk/qmk_firmware/pull/18557))
* ChibiOS: Fix USB bus disconnect handling ([#18566](https://github.com/qmk/qmk_firmware/pull/18566))
* Update ChibiOS-Contrib for USB IRQ and bus handling fixes ([#18574](https://github.com/qmk/qmk_firmware/pull/18574))
* RP2040: only clear RX FIFO for serial pio driver clear ([#18581](https://github.com/qmk/qmk_firmware/pull/18581))
* Fix ST7565 handler deadlock ([#18609](https://github.com/qmk/qmk_firmware/pull/18609))
* Fix/Update ChibiOS hardware ID ([#18613](https://github.com/qmk/qmk_firmware/pull/18613))
* Fix some rp2040 hardware ID errors ([#18617](https://github.com/qmk/qmk_firmware/pull/18617))
* Fix joystick functionality for ChibiOS and OTG (Blackpill) ([#18631](https://github.com/qmk/qmk_firmware/pull/18631))
* fix typo in solenoid.h ([#18635](https://github.com/qmk/qmk_firmware/pull/18635))
* Fix boundary in `RGB_MATRIX_INDICATOR_SET_COLOR` ([#18650](https://github.com/qmk/qmk_firmware/pull/18650))
* Fix MIDI output endpoint to use the out direction ([#18654](https://github.com/qmk/qmk_firmware/pull/18654))
* Fix mouse use within send_string ([#18659](https://github.com/qmk/qmk_firmware/pull/18659))
* Correctly build keymap.json containing additional config ([#18766](https://github.com/qmk/qmk_firmware/pull/18766))
* Correctly build out of tree keymap.json containing additional config ([#18775](https://github.com/qmk/qmk_firmware/pull/18775))
* Fix garbled test output ([#18822](https://github.com/qmk/qmk_firmware/pull/18822))
* Fix rgb_matrix_set_flags_noeeprom declaration ([#18860](https://github.com/qmk/qmk_firmware/pull/18860))
* Add missing Space Cadet alias ([#18876](https://github.com/qmk/qmk_firmware/pull/18876))
* Fix oled_render to render all dirty blocks. ([#18887](https://github.com/qmk/qmk_firmware/pull/18887))
* compiler.txt: ensure file exists before comparison ([#18921](https://github.com/qmk/qmk_firmware/pull/18921))
* Fix compilation issue with WPM ([#18965](https://github.com/qmk/qmk_firmware/pull/18965))
* Fix keycode parameter extraction to match the new DD keycodes ([#18977](https://github.com/qmk/qmk_firmware/pull/18977))
* Fix jump in mouse_report value when scale changes during cirque get report ([#18992](https://github.com/qmk/qmk_firmware/pull/18992))
* Fixup WS2812 vendor driver ([#19028](https://github.com/qmk/qmk_firmware/pull/19028))
* Add missing prototype for get_hold_on_other_key_press to resolve #18855 ([#19056](https://github.com/qmk/qmk_firmware/pull/19056))
* Fix duplicate key in keyboard.jsonschema ([#19058](https://github.com/qmk/qmk_firmware/pull/19058))
* Fixup `keyboard.jsonschema`. ([#19059](https://github.com/qmk/qmk_firmware/pull/19059))
* fixed MOUSEKEY_INERTIA on AVR ([#19096](https://github.com/qmk/qmk_firmware/pull/19096))
* Fix encoder_init call order in keyboard_init ([#19140](https://github.com/qmk/qmk_firmware/pull/19140))
* Fixup installation procedure for different Fedora versions. ([#19159](https://github.com/qmk/qmk_firmware/pull/19159))

View File

@@ -4,6 +4,7 @@
* [Building Your First Firmware](newbs_building_firmware.md)
* [Flashing Firmware](newbs_flashing.md)
* [Getting Help/Support](support.md)
* [Building With GitHub Userspace](newbs_building_firmware_workflow.md)
* [Other Resources](newbs_learn_more_resources.md)
* [Syllabus](syllabus.md)
@@ -75,14 +76,15 @@
* 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)
* [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)
* [Pointing Device](feature_pointing_device.md)
* [Raw HID](feature_rawhid.md)
* [Secure](feature_secure.md)
* [Send String](feature_send_string.md)
@@ -117,10 +119,10 @@
* [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)
* [Thermal Printer](feature_thermal_printer.md)
* [Velocikey](feature_velocikey.md)
* Keyboard Building
@@ -134,7 +136,7 @@
* Breaking Changes
* [Overview](breaking_changes.md)
* [My Pull Request Was Flagged](breaking_changes_instructions.md)
* [Most Recent ChangeLog](ChangeLog/20220528.md "QMK v0.17.0 - 2022 May 28")
* [Most Recent ChangeLog](ChangeLog/20221126.md "QMK v0.19.0 - 2022 Nov 26")
* [Past Breaking Changes](breaking_changes_history.md)
* C Development
@@ -169,6 +171,7 @@
* [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)

View File

@@ -14,14 +14,14 @@ This service is an asynchronous API for compiling custom keymaps. You POST some
"keymap": "my_awesome_keymap",
"layout": "LAYOUT_all",
"layers": [
["KC_GRV","KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0","KC_MINS","KC_EQL","KC_GRV","KC_BSPC","KC_PGUP","KC_TAB","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_LBRC","KC_RBRC","KC_BSLS","KC_PGDN","KC_CAPS","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_NUHS","KC_ENT","KC_LSFT","KC_NUBS","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RO","KC_RSFT","KC_UP","KC_LCTL","KC_LGUI","KC_LALT","KC_MHEN","KC_SPC","KC_SPC","KC_HENK","KC_RALT","KC_RCTL","MO(1)","KC_LEFT","KC_DOWN","KC_RIGHT"],
["KC_ESC","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F11","KC_F12","KC_TRNS","KC_DEL","BL_STEP","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","_______","KC_TRNS","KC_PSCR","KC_SLCK","KC_PAUS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","MO(2)","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_PGUP","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","MO(1)","KC_LEFT","KC_PGDN","KC_RGHT"],
["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","RESET","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","MO(2)","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","MO(1)","KC_TRNS","KC_TRNS","KC_TRNS"]
["KC_GRV","KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0","KC_MINS","KC_EQL","KC_GRV","KC_BSPC","KC_PGUP","KC_TAB","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_LBRC","KC_RBRC","KC_BSLS","KC_PGDN","KC_CAPS","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_NUHS","KC_ENT","KC_LSFT","KC_NUBS","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_INT1","KC_RSFT","KC_UP","KC_LCTL","KC_LGUI","KC_LALT","KC_INT5","KC_SPC","KC_SPC","KC_INT4","KC_RALT","KC_RCTL","MO(1)","KC_LEFT","KC_DOWN","KC_RIGHT"],
["KC_ESC","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F11","KC_F12","KC_TRNS","KC_DEL","BL_STEP","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","_______","KC_TRNS","KC_PSCR","KC_SCRL","KC_PAUS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","MO(2)","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_PGUP","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","MO(1)","KC_LEFT","KC_PGDN","KC_RGHT"],
["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","QK_BOOT","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","MO(2)","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","MO(1)","KC_TRNS","KC_TRNS","KC_TRNS"]
]
}
```
As you can see the payload describes all aspects of a keyboard necessary to create and generate a firmware. Each layer is a single list of QMK keycodes the same length as the keyboard's `LAYOUT` macro. If a keyboard supports mulitple `LAYOUT` macros you can specify which macro to use.
As you can see the payload describes all aspects of a keyboard necessary to create and generate a firmware. Each layer is a single list of QMK keycodes the same length as the keyboard's `LAYOUT` macro. If a keyboard supports multiple `LAYOUT` macros you can specify which macro to use.
## Submitting a Compile Job
@@ -66,3 +66,41 @@ Once your compile job has finished you'll check the `result` key. The value of t
* `firmware_keymap_url`: A list of URLs for the `keymap.c`
* `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
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.
The list of available constants can be retrieved by accessing one of the following endpoints:
```
$ curl https://keyboards.qmk.fm/v1/constants_metadata.json # For `master`
{"last_updated": "2022-11-26 00:00:00 GMT", "constants": {"keycodes": ["0.0.1"]}}
$ curl https://keyboards.develop.qmk.fm/v1/constants_metadata.json # For `develop`
{"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.
?> 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:
```
# https://keyboards.qmk.fm/v1/constants/{subsystem}_{version}.json
```
Which, for the metadata endpoint above results in a request of:
```
$ curl https://keyboards.qmk.fm/v1/constants/keycodes_0.0.1.json
{
"ranges": {
"0x0000/0x00FF": {
"define": "QK_BASIC"
},
"0x0100/0x1EFF": {
"define": "QK_MODS"
},
"0x2000/0x1FFF": {
"define": "QK_MOD_TAP"
<snip>
```

View File

@@ -113,15 +113,17 @@ Additionally, in the board config, you'll want to make changes to enable the DAC
### DAC Config
| Define | Defaults | Description --------------------------------------------------------------------------------------------- |
| 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 notplaying anything. Some setups may require a high (`AUDIO_DAC_SAMPLE_MAX`) or low (`0`) value here. |
| `AUDIO_DAC_OFF_VALUE` | `AUDIO_DAC_SAMPLE_MAX / 2` | The value of the DAC when notplaying 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_SAMPLE_RATE` | __see next table__ | Effective bit rate of the DAC (in hertz), higher limits simultaneous tones, and lower sacrifices quality. |
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 and number of simultaneous tones, instead of using one of the listed presets.
| Define | Sample Rate | Simultaneous tones |
| --------------------------------- | ----------- | ------------------- |
| `AUDIO_DAC_QUALITY_VERY_LOW` | `11025U` | `8` |
| `AUDIO_DAC_QUALITY_LOW` | `22040U` | `4` |
| `AUDIO_DAC_QUALITY_HIGH` | `44100U` | `2` |
@@ -157,7 +159,6 @@ A configuration example for the STM32F103C8 would be:
//halconf.h:
#define HAL_USE_PWM TRUE
#define HAL_USE_PAL TRUE
#define HAL_USE_GPT TRUE
#include_next <halconf.h>
```
@@ -166,8 +167,6 @@ A configuration example for the STM32F103C8 would be:
#include_next <mcuconf.h>
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
#undef STM32_GPT_USE_TIM4
#define STM32_GPT_USE_TIM4 TRUE
```
If we now target pin A8, looking through the data-sheet of the STM32F103C8, for the timers and alternate functions
@@ -182,7 +181,6 @@ with all this information, the configuration would contain these lines:
#define AUDIO_PIN A8
#define AUDIO_PWM_DRIVER PWMD1
#define AUDIO_PWM_CHANNEL 1
#define AUDIO_STATE_TIMER GPTD4
```
ChibiOS uses GPIOv1 for the F103, which only knows of one alternate function.
@@ -205,15 +203,15 @@ You can also change the timer used for software PWM by defining the driver. For
While not an exhaustive list, the following table provides the scenarios that have been partially validated:
| | DAC basic | DAC additive | PWM hardware | PWM software |
|--------------------------|--------------------|--------------------|--------------------|--------------------|
| | 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

View File

@@ -8,6 +8,8 @@ The breaking change period is when we will merge PR's that change QMK in dangero
## What has been included in past Breaking Changes?
* [2022 Nov 26](ChangeLog/20221126.md)
* [2022 Aug 27](ChangeLog/20220827.md)
* [2022 May 28](ChangeLog/20220528.md)
* [2022 Feb 26](ChangeLog/20220226.md)
* [2021 Nov 27](ChangeLog/20211127.md)
@@ -22,17 +24,18 @@ The breaking change period is when we will merge PR's that change QMK in dangero
## When is the next Breaking Change?
The next Breaking Change is scheduled for August 27, 2022.
The next Breaking Change is scheduled for February 26, 2023.
### Important Dates
* [x] 2022 May 28 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
* [ ] 2022 Jul 31 - `develop` closed to new PR's.
* [ ] 2022 Jul 31 - Call for testers.
* [ ] 2022 Aug 13 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
* [ ] 2022 Aug 25 - `master` is locked, no PR's merged.
* [ ] 2022 Aug 27 - Merge `develop` to `master`.
* [ ] 2022 Aug 27 - `master` is unlocked. PR's can be merged again.
* 2022 Nov 26 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
* 2023 Jan 29 - `develop` closed to new PR's.
* 2023 Jan 29 - Call for testers.
* 2023 Feb 12 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
* 2023 Feb 19 - `develop` is locked, only critical bugfix PR's merged.
* 2023 Feb 24 - `master` is locked, no PR's merged.
* 2023 Feb 26 - Merge `develop` to `master`.
* 2023 Feb 26 - `master` is unlocked. PR's can be merged again.
## What changes will be included?
@@ -43,7 +46,7 @@ If you want your breaking change to be included in this round you need to create
Criteria for acceptance:
* The PR is complete and ready to merge
* The PR has a ChangeLog file describing the changes under `<qmk_firmware>/docs/Changelog/20220827`.
* The PR has a ChangeLog file describing the changes under `<qmk_firmware>/docs/Changelog/20221126`.
* This should be in Markdown format, with a name in the format `PR12345.md`, substituting the digits for your PR's ID.
* One strong recommendation that the ChangeLog document matches the PR description on GitHub, so as to ensure traceability.
@@ -54,53 +57,47 @@ This section documents various processes we use when running the Breaking Change
### 4 Weeks Before Merge
* `develop` is now closed to new PR's, only fixes for current PR's may be merged
* Post call for testers
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb
* Post call for testers: message `@Breaking Changes Updates` on `#qmk_firmware` in Discord:
* `@Breaking Changes Updates -- Hey folks, last day for functional PRs to be raised against qmk_firmware for this breaking changes cycle is today.`
### 2 Weeks Before Merge
* `develop` is now closed to existing PR merges, only bugfixes for previous merges may be included
* Post call for testers
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb
* Post call for testers: 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.`
### 1 Week Before Merge
* Announce that master will be closed from <2 Days Before> to <Day of Merge>
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb
* `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:
* `@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
* `master` is now closed to PR merges
* Announce that master is closed for 2 days
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb
* `@Breaking Changes Updates -- Hey folks, the master branch of qmk_firmware is now locked for the next couple of days while we prepare to merge the newest batch of changes from develop.`
### Day Of Merge
* `qmk_firmware` git commands
* [ ] `git checkout develop`
* [ ] `git pull --ff-only`
* [ ] Edit `readme.md`
* [ ] Remove the notes about `develop`
* [ ] Roll up the ChangeLog into one file.
* [ ] `git commit -m 'Merge point for <DATE> Breaking Change'`
* [ ] `git push upstream develop`
* `git checkout develop`
* `git pull --ff-only`
* Edit `readme.md`
* Remove the notes about `develop`
* Roll up the ChangeLog into one file.
* `git commit -m 'Merge point for <DATE> Breaking Change'`
* `git push upstream develop`
* GitHub Actions
* [ ] Create a PR for `develop`
* [ ] **Turn off 'Automatically delete head branches' for the repository** -- confirm with @qmk/directors that it is done before continuing
* Create a PR for `develop`
* **Turn off 'Automatically delete head branches' for the repository** -- confirm with @qmk/directors that it is done before continuing
* `qmk_firmware` git commands
* [ ] `git checkout master`
* [ ] `git pull --ff-only`
* [ ] `git merge --no-ff develop`
* [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
* [ ] `git push upstream <next_version>`
* [ ] `git push upstream master`
* `git checkout master`
* `git pull --ff-only`
* `git merge --no-ff develop`
* `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
* `git push upstream <next_version>`
* `git push upstream master`
## Post-merge operations
@@ -109,28 +106,72 @@ This section documents various processes we use when running the Breaking Change
This happens immediately after the previous `develop` branch is merged to `master`.
* `qmk_firmware` git commands
* [ ] `git checkout master`
* [ ] `git pull --ff-only`
* [ ] `git checkout develop`
* [ ] `git pull --ff-only`
* [ ] `git merge --no-ff master`
* [ ] Edit `readme.md`
* [ ] Add a big notice at the top that this is a testing branch.
* [ ] Include a link to this document
* [ ] `git commit -m 'Branch point for <DATE> Breaking Change'`
* [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>`
* [ ] `git push upstream breakpoint_<YYYY>_<MM>_<DD>`
* `git checkout master`
* `git pull --ff-only`
* `git checkout develop`
* `git pull --ff-only`
* `git merge --no-ff master`
* Edit `readme.md`
* Add a big notice at the top that this is a testing branch. See previous revisions of the `develop` branch.
* Include a link to this document
* `git commit -m 'Branch point for <DATE> Breaking Change'`
* `git tag breakpoint_<YYYY>_<MM>_<DD>`
* `git push upstream breakpoint_<YYYY>_<MM>_<DD>`
* All submodules under `lib` now need to be checked against their QMK-based forks:
* [ ] `git submodule foreach git log -n1`
* [ ] Validate each submodule SHA1 matches the qmk fork, e.g. for ChibiOS:
* `git submodule foreach git log -n1`
* Validate each submodule SHA1 matches the qmk fork, e.g. for ChibiOS:
* Go to [qmk/ChibiOS](https://github.com/qmk/ChibiOS)
* Compare the commit hash in the above output to the commit hash in the repository
* If there's a mismatch:
* [ ] `cd lib/chibios`
* [ ] `git fetch --all`
* [ ] `git checkout master`
* [ ] `git reset --hard <commit hash>`
* [ ] `git push origin master --force-with-lease`
* If there's a mismatch, that repository needs to have its `master` branch updated to match (otherwise Configurator won't work):
* `cd lib/chibios`
* `git fetch --all`
* `git checkout master`
* `git reset --hard <commit hash>`
* `git push origin master --force-with-lease`
* 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)
### Set up Discord events for the next cycle
* Update this file with the new dates: `docs/breaking_changes.md`
* Create Events on the QMK Discord - "Somewhere Else" => "GitHub":
* Event #1:
| Field | Value |
|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Topic | Last `develop` functionality PRs to be raised |
| Start Date | ((5 weeks before merge)), 12:00am |
| End Date | ((4 weeks before merge)), 12:00am |
| Description | This is the last window for functional PRs to be raised against `develop` for the current breaking changes cycle. After ((4 weeks before merge)), any new PRs targeting `develop` will be deferred to the next cycle. |
* Event #2:
| Field | Value |
|-------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Topic | Last `develop` functionality PRs to be merged |
| Start Date | ((4 weeks before merge)), 12:00am |
| End Date | ((2 weeks before merge)), 12:00am |
| Description | This is the last window for functional PRs to be merged into `develop` for the current breaking changes cycle. After ((2 weeks before merge)), only bugfix PRs targeting `develop` will be considered for merge. |
* Event #3:
| Field | Value |
|-------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Topic | `develop` closed for merges |
| Start Date | ((2 weeks before merge)), 12:00am |
| End Date | ((day of merge)), 12:00am |
| Description | This is the deadline for functionality bugfix PRs to be merged into `develop` for the current breaking changes cycle. After ((1 week before merge)), only critical bugfix PRs targeting `develop` will be considered for merge. |
* Event #4:
| Field | Value |
|-------------|----------------------------------------------------------------------------------------------------------------------|
| Topic | `master` closed for merges |
| Start Date | ((2 days before merge)), 12:00am |
| End Date | ((day of merge)), 12:00am |
| Description | This is the period that no PRs are to be merged to `master`, so that the merge of `develop` into `master` is stable. |
* Event #5:
| Field | Value |
|-------------|--------------------------------------------------------------------------------------------------------------------------------------------|
| Topic | `develop` merges to `master` |
| Start Date | ((day of merge)), 12:00am |
| End Date | ((day of merge)), 11:45pm |
| Description | At some point, QMK will merge `develop` into `master` and everyone will be able to reap the benefits of the newest batch of functionality. |

View File

@@ -2,6 +2,8 @@
This page links to all previous changelogs from the QMK Breaking Changes process.
* [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

View File

@@ -51,7 +51,7 @@ ChibiOS and ChibiOS-Contrib need to be updated in tandem -- the latter has a bra
* `./util/chibios_conf_updater.sh`
* Build everything
* `cd $QMK_FIRMWARE`
* `qmk multibuild -j4`
* `qmk mass-compile -j 4`
* Make sure there are no errors
* Push to the repo
* `git commit -am 'Update ChibiOS to 99.9.9'`

View File

@@ -90,6 +90,8 @@ This command is similar to `qmk compile`, but can also target a bootloader. The
This command is directory aware. It will automatically fill in KEYBOARD and/or KEYMAP if you are in a keyboard or keymap directory.
This command can also flash binary firmware files (hex or bin) such as the ones produced by [Configurator](https://config.qmk.fm).
**Usage for Configurator Exports**:
```
@@ -102,6 +104,21 @@ qmk flash [-bl <bootloader>] [-c] [-e <var>=<value>] [-j <num_jobs>] <configurat
qmk flash -kb <keyboard_name> -km <keymap_name> [-bl <bootloader>] [-c] [-e <var>=<value>] [-j <num_jobs>]
```
**Usage for pre-compiled firmwares**:
**Note**: The microcontroller needs to be specified (`-m` argument) for keyboards with the following bootloaders:
* HalfKay
* QMK HID
* USBaspLoader
ISP flashing is also supported with the following flashers and require the microcontroller to be specified:
* USBasp
* USBtinyISP
```
qmk flash [-m <microcontroller>] <compiledFirmware.[bin|hex]>
```
**Listing the Bootloaders**
```
@@ -206,7 +223,7 @@ Check your environment and report problems only:
## `qmk format-json`
Formats a JSON file in a (mostly) human-friendly way. Will usually correctly detect the format of the JSON (info.json or keymap.json) but you can override this with `--format` if neccesary.
Formats a JSON file in a (mostly) human-friendly way. Will usually correctly detect the format of the JSON (info.json or keymap.json) but you can override this with `--format` if necessary.
**Usage**:

View File

@@ -162,7 +162,7 @@ del(cli.config.<section>.<key>)
## Writing The Configuration File
The configuration is not written out when it is changed. Most commands do not need to do this. We prefer to have the user change their configuration deliberitely using `qmk config`.
The configuration is not written out when it is changed. Most commands do not need to do this. We prefer to have the user change their configuration deliberately using `qmk config`.
You can use `cli.save_config()` to write out the configuration.

View File

@@ -24,7 +24,7 @@ Most of our style is pretty easy to pick up on, but right now it's not entirely
* Readability is more important than consistency.
* Follow the file's existing style. If the file is mixed, follow the style that makes sense for the section you are modifying.
* When indenting, keep the hash at the start of the line and add whitespace between `#` and `if`, starting with 4 spaces after the `#`.
* You can follow the indention level of the surrounding C code, or preprocessor directives can have their own indentation levels. Choose the style that best communicates the intent of your code.
* You can follow the indentation level of the surrounding C code, or preprocessor directives can have their own indentation levels. Choose the style that best communicates the intent of your code.
Here is an example for easy reference:

View File

@@ -2,7 +2,7 @@
Most of our style follows PEP8 with some local modifications to make things less nit-picky.
* We target Python 3.7 for compatability with all supported platforms.
* We target Python 3.7 for compatibility with all supported platforms.
* We indent using four (4) spaces (soft tabs)
* We encourage liberal use of comments
* Think of them as a story describing the feature
@@ -21,7 +21,7 @@ You can use [yapf](https://github.com/google/yapf) to style your code. We provid
We don't have a hard and fast rule for when to use `import ...` vs `from ... import ...`. Understandability and maintainability is our ultimate goal.
Generally we prefer to import specific function and class names from a module to keep code shorter and easier to understand. Sometimes this results in a name that is ambiguous, and in such cases we prefer to import the module instead. You should avoid using the "as" keyword when importing, unless you are importing a compatability module.
Generally we prefer to import specific function and class names from a module to keep code shorter and easier to understand. Sometimes this results in a name that is ambiguous, and in such cases we prefer to import the module instead. You should avoid using the "as" keyword when importing, unless you are importing a compatibility module.
Imports should be one line per module. We group import statements together using the standard python rules- system, 3rd party, local.

View File

@@ -2,7 +2,17 @@
QMK is nearly infinitely configurable. Wherever possible we err on the side of allowing users to customize their keyboard, even at the expense of code size. That level of flexibility makes for a daunting configuration experience, however.
There are two main types of configuration files in QMK- `config.h` and `rules.mk`. 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:
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)
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.
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:
* QMK Default
* Keyboard
@@ -39,11 +49,11 @@ This is a C header file that is one of the first things included, and will persi
* defines your VID, and for most DIY projects, can be whatever you want
* `#define PRODUCT_ID 0x5678`
* defines your PID, and for most DIY projects, can be whatever you want
* `#define DEVICE_VER 0`
* `#define DEVICE_VER 0x0100`
* defines the device version (often used for revisions)
* `#define MANUFACTURER Me`
* `#define MANUFACTURER "Me"`
* generally who/whatever brand produced the board
* `#define PRODUCT Board`
* `#define PRODUCT "Board"`
* the name of the keyboard
* `#define MATRIX_ROWS 5`
* the number of rows in your keyboard's matrix
@@ -57,8 +67,6 @@ This is a C header file that is one of the first things included, and will persi
* 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.
* `#define MATRIX_IO_DELAY 30`
* the delay in microseconds when between changing matrix pin state and reading values
* `#define UNUSED_PINS { D1, D2, D3, B1, B2, B3 }`
* pins unused by the keyboard for reference
* `#define MATRIX_HAS_GHOST`
* define is matrix has ghost (unlikely)
* `#define MATRIX_UNSELECT_DRIVE_HIGH`
@@ -107,8 +115,10 @@ This is a C header file that is one of the first things included, and will persi
* sets the maximum power (in mA) over USB for the device (default: 500)
* `#define USB_POLLING_INTERVAL_MS 10`
* sets the USB polling rate in milliseconds for the keyboard, mouse, and shared (NKRO/media keys) interfaces
* `#define USB_SUSPEND_WAKEUP_DELAY 200`
* set the number of milliseconde to pause after sending a wakeup packet
* `#define USB_SUSPEND_WAKEUP_DELAY 0`
* sets the number of milliseconds to pause after sending a wakeup packet.
Disabled by default, you might want to set this to 200 (or higher) if the
keyboard does not wake up properly after suspending.
* `#define F_SCL 100000L`
* sets the I2C clock rate speed for keyboards using I2C. The default is `400000L`, except for keyboards using `split_common`, where the default is `100000L`.
@@ -180,23 +190,14 @@ If you define these options you will enable the associated feature, which may in
* how long before oneshot times out
* `#define ONESHOT_TAP_TOGGLE 2`
* how many taps before oneshot toggle is triggered
* `#define QMK_KEYS_PER_SCAN 4`
* Allows sending more than one key per scan. By default, only one key event gets
sent via `process_record()` per scan. This has little impact on most typing, but
if you're doing a lot of chords, or your scan rate is slow to begin with, you can
have some delay in processing key events. Each press and release is a separate
event. For a keyboard with 1ms or so scan times, even a very fast typist isn't
going to produce the 500 keystrokes a second needed to actually get more than a
few ms of delay from this. But if you're doing chording on something with 3-4ms
scan times? You probably want this.
* `#define COMBO_COUNT 2`
* Set this to the number of combos that you're using in the [Combo](feature_combo.md) feature. Or leave it undefined and programmatically set the count.
* `#define COMBO_TERM 200`
* how long for the Combo keys to be detected. Defaults to `TAPPING_TERM` if not defined.
* `#define COMBO_MUST_HOLD_MODS`
* Flag for enabling extending timeout on Combos containing modifers
* Flag for enabling extending timeout on Combos containing modifiers
* `#define COMBO_MOD_TERM 200`
* Allows for extending COMBO_TERM for mod keys while mid-combo.
* Allows for extending COMBO_TERM for mod keys while mid-combo.
* `#define COMBO_MUST_HOLD_PER_COMBO`
* Flag to enable per-combo COMBO_TERM extension and `get_combo_must_hold()` function
* `#define COMBO_TERM_PER_COMBO`
@@ -206,7 +207,7 @@ If you define these options you will enable the associated feature, which may in
* `#define COMBO_NO_TIMER`
* Disable the combo timer completely for relaxed combos.
* `#define TAP_CODE_DELAY 100`
* Sets the delay between `register_code` and `unregister_code`, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
* Sets the delay between `register_code` and `unregister_code`, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds and defaults to `0`.
* `#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`
@@ -216,14 +217,12 @@ If you define these options you will enable the associated feature, which may in
* `#define RGB_DI_PIN D7`
* pin the DI on the WS2812 is hooked-up to
* `#define RGBLIGHT_ANIMATIONS`
* run RGB animations
* `#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.
* `#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.
* Note: Increasing the maximum will increase the firmware size and slow sync on split keyboards.
* `#define RGBLIGHT_LAYER_BLINK`
* `#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).
* `#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.
@@ -326,6 +325,13 @@ There are a few different ways to set handedness for split keyboards (listed in
* `#define SPLIT_USB_TIMEOUT_POLL 10`
* Poll frequency when detecting master/slave when using `SPLIT_USB_DETECT`
* `#define SPLIT_WATCHDOG_ENABLE`
* Reboot slave if no communication from master within timeout.
* Helps resolve issue where both sides detect as slave using `SPLIT_USB_DETECT`
* `#define SPLIT_WATCHDOG_TIMEOUT 3000`
* Maximum slave timeout when waiting for communication from master when using `SPLIT_WATCHDOG_ENABLE`
* `#define FORCED_SYNC_THROTTLE_MS 100`
* Deadline for synchronizing data from master to slave when using the QMK-provided split transport.
@@ -368,8 +374,8 @@ This is a [make](https://www.gnu.org/software/make/manual/make.html) file that i
* `SRC`
* Used to add files to the compilation/linking list.
* `LIB_SRC`
* Used to add files as a library to the compilation/linking list.
The files specified by `LIB_SRC` is linked after the files specified by `SRC`.
* Used to add files as a library to the compilation/linking list.
The files specified by `LIB_SRC` is linked after the files specified by `SRC`.
For example, if you specify:
```
SRC += a.c
@@ -422,7 +428,7 @@ Use these to enable or disable building certain features. The more you have enab
* `NKRO_ENABLE`
* USB N-Key Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
* `RING_BUFFERED_6KRO_REPORT_ENABLE`
* USB 6-Key Rollover - Instead of stopping any new input once 6 keys are pressed, the oldest key is released and the new key is pressed.
* USB 6-Key Rollover - Instead of stopping any new input once 6 keys are pressed, the oldest key is released and the new key is pressed.
* `AUDIO_ENABLE`
* Enable the audio subsystem.
* `KEY_OVERRIDE_ENABLE`

View File

@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, BL_INC,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
@@ -84,7 +84,7 @@ The default keymap uses the `LAYOUT_all` macro, so that will be the value of the
[
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_HUD", "RGB_HUI", "RGB_SAD", "RGB_SAI", "RGB_VAD", "RGB_VAI", "BL_TOGG", "BL_DEC", "BL_INC",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_VOLU",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RESET", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MPLY", "KC_MNXT", "KC_VOLD",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "QK_BOOT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MPLY", "KC_MNXT", "KC_VOLD",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
@@ -122,26 +122,26 @@ There is a way to support custom keycodes: if the logic for a custom keycode is
```c
enum custom_keycodes {
MACRO_1 = SAFE_RANGE,
MACRO_2,
MACRO_3
CUSTOM_1 = SAFE_RANGE,
CUSTOM_2,
CUSTOM_3
};
...
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch(keycode) {
case MACRO_1:
case CUSTOM_1:
if (record->event.pressed) {
SEND_STRING("This is macro #1.");
SEND_STRING("This is custom keycode #1.");
}
return false;
case MACRO_2:
case CUSTOM_2:
if (record->event.pressed) {
SEND_STRING("This is macro #2.");
SEND_STRING("This is custom keycode #2.");
}
return false;
case MACRO_3:
case CUSTOM_3:
if (record->event.pressed) {
SEND_STRING("This is macro #3.");
SEND_STRING("This is custom keycode #3.");
}
return false;
}
@@ -153,9 +153,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
```c
enum keyboard_keycodes {
MACRO_1 = SAFE_RANGE,
MACRO_2,
MACRO_3,
CUSTOM_1 = SAFE_RANGE,
CUSTOM_2,
CUSTOM_3,
NEW_SAFE_RANGE // Important!
};
```
@@ -165,19 +165,19 @@ enum keyboard_keycodes {
```c
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
switch(keycode) {
case MACRO_1:
case CUSTOM_1:
if (record->event.pressed) {
SEND_STRING("This is macro #1.");
SEND_STRING("This is custom keycode #1.");
}
return false;
case MACRO_2:
case CUSTOM_2:
if (record->event.pressed) {
SEND_STRING("This is macro #2.");
SEND_STRING("This is custom keycode #2.");
}
return false;
case MACRO_3:
case CUSTOM_3:
if (record->event.pressed) {
SEND_STRING("This is macro #3.");
SEND_STRING("This is custom keycode #3.");
}
return false;
}

View File

@@ -102,11 +102,11 @@ These are the three main initialization functions, listed in the order that they
## Keyboard Pre Initialization code
This runs very early during startup, even before the USB has been started.
This runs very early during startup, even before the USB has been started.
Shortly after this, the matrix is initialized.
For most users, this shouldn't be used, as it's primarily for hardware oriented initialization.
For most users, this shouldn't be used, as it's primarily for hardware oriented initialization.
However, if you have hardware stuff that you need initialized, this is the best place for it (such as initializing LED pins).
@@ -134,9 +134,9 @@ void keyboard_pre_init_user(void) {
## Matrix Initialization Code
This is called when the matrix is initialized, and after some of the hardware has been set up, but before many of the features have been initialized.
This is called when the matrix is initialized, and after some of the hardware has been set up, but before many of the features have been initialized.
This is useful for setting up stuff that you may need elsewhere, but isn't hardware related nor is dependant on where it's started.
This is useful for setting up stuff that you may need elsewhere, but isn't hardware related nor is dependant on where it's started.
### `matrix_init_*` Function Documentation
@@ -227,190 +227,11 @@ void suspend_wakeup_init_user(void) {
* Keyboard/Revision: `void suspend_power_down_kb(void)` and `void suspend_wakeup_init_user(void)`
* Keymap: `void suspend_power_down_kb(void)` and `void suspend_wakeup_init_user(void)`
# Layer Change Code :id=layer-change-code
This runs code every time that the layers get changed. This can be useful for layer indication, or custom layer handling.
### Example `layer_state_set_*` Implementation
This example shows how to set the [RGB Underglow](feature_rgblight.md) lights based on the layer, using the Planck as an example.
```c
layer_state_t layer_state_set_user(layer_state_t state) {
switch (get_highest_layer(state)) {
case _RAISE:
rgblight_setrgb (0x00, 0x00, 0xFF);
break;
case _LOWER:
rgblight_setrgb (0xFF, 0x00, 0x00);
break;
case _PLOVER:
rgblight_setrgb (0x00, 0xFF, 0x00);
break;
case _ADJUST:
rgblight_setrgb (0x7A, 0x00, 0xFF);
break;
default: // for any other layers, or the default layer
rgblight_setrgb (0x00, 0xFF, 0xFF);
break;
}
return state;
}
```
Use the `IS_LAYER_ON_STATE(state, layer)` and `IS_LAYER_OFF_STATE(state, layer)` macros to check the status of a particular layer.
Outside of `layer_state_set_*` functions, you can use the `IS_LAYER_ON(layer)` and `IS_LAYER_OFF(layer)` macros to check global layer state.
### `layer_state_set_*` Function Documentation
* Keyboard/Revision: `layer_state_t layer_state_set_kb(layer_state_t state)`
* Keymap: `layer_state_t layer_state_set_user(layer_state_t state)`
The `state` is the bitmask of the active layers, as explained in the [Keymap Overview](keymap.md#keymap-layer-status)
# Persistent Configuration (EEPROM)
This allows you to configure persistent settings for your keyboard. These settings are stored in the EEPROM of your controller, and are retained even after power loss. The settings can be read with `eeconfig_read_kb` and `eeconfig_read_user`, and can be written to using `eeconfig_update_kb` and `eeconfig_update_user`. This is useful for features that you want to be able to toggle (like toggling rgb layer indication). Additionally, you can use `eeconfig_init_kb` and `eeconfig_init_user` to set the default values for the EEPROM.
The complicated part here, is that there are a bunch of ways that you can store and access data via EEPROM, and there is no "correct" way to do this. However, you only have a DWORD (4 bytes) for each function.
Keep in mind that EEPROM has a limited number of writes. While this is very high, it's not the only thing writing to the EEPROM, and if you write too often, you can potentially drastically shorten the life of your MCU.
* If you don't understand the example, then you may want to avoid using this feature, as it is rather complicated.
### Example Implementation
This is an example of how to add settings, and read and write it. We're using the user keymap for the example here. This is a complex function, and has a lot going on. In fact, it uses a lot of the above functions to work!
In your keymap.c file, add this to the top:
```c
typedef union {
uint32_t raw;
struct {
bool rgb_layer_change :1;
};
} user_config_t;
user_config_t user_config;
```
This sets up a 32 bit structure that we can store settings with in memory, and write to the EEPROM. Using this removes the need to define variables, since they're defined in this structure. Remember that `bool` (boolean) values use 1 bit, `uint8_t` uses 8 bits, `uint16_t` uses up 16 bits. You can mix and match, but changing the order can cause issues, as it will change the values that are read and written.
We're using `rgb_layer_change`, for the `layer_state_set_*` function, and use `keyboard_post_init_user` and `process_record_user` to configure everything.
Now, using the `keyboard_post_init_user` code above, you want to add `eeconfig_read_user()` to it, to populate the structure you've just created. And you can then immediately use this structure to control functionality in your keymap. And It should look like:
```c
void keyboard_post_init_user(void) {
// Call the keymap level matrix init.
// Read the user config from EEPROM
user_config.raw = eeconfig_read_user();
// Set default layer, if enabled
if (user_config.rgb_layer_change) {
rgblight_enable_noeeprom();
rgblight_sethsv_noeeprom_cyan();
rgblight_mode_noeeprom(1);
}
}
```
The above function will use the EEPROM config immediately after reading it, to set the default layer's RGB color. The "raw" value of it is converted in a usable structure based on the "union" that you created above.
```c
layer_state_t layer_state_set_user(layer_state_t state) {
switch (get_highest_layer(state)) {
case _RAISE:
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_magenta(); rgblight_mode_noeeprom(1); }
break;
case _LOWER:
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_red(); rgblight_mode_noeeprom(1); }
break;
case _PLOVER:
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_green(); rgblight_mode_noeeprom(1); }
break;
case _ADJUST:
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_white(); rgblight_mode_noeeprom(1); }
break;
default: // for any other layers, or the default layer
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_cyan(); rgblight_mode_noeeprom(1); }
break;
}
return state;
}
```
This will cause the RGB underglow to be changed ONLY if the value was enabled. Now to configure this value, create a new keycode for `process_record_user` called `RGB_LYR`. Additionally, we want to make sure that if you use the normal RGB codes, that it turns off Using the example above, make it look this:
```c
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case FOO:
if (record->event.pressed) {
// Do something when pressed
} else {
// Do something else when release
}
return false; // Skip all further processing of this key
case KC_ENTER:
// Play a tone when enter is pressed
if (record->event.pressed) {
PLAY_SONG(tone_qwerty);
}
return true; // Let QMK send the enter press/release events
case RGB_LYR: // This allows me to use underglow as layer indication, or as normal
if (record->event.pressed) {
user_config.rgb_layer_change ^= 1; // Toggles the status
eeconfig_update_user(user_config.raw); // Writes the new status to EEPROM
if (user_config.rgb_layer_change) { // if layer state indication is enabled,
layer_state_set(layer_state); // then immediately update the layer color
}
}
return false;
case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // For any of the RGB codes (see quantum_keycodes.h, L400 for reference)
if (record->event.pressed) { //This disables layer indication, as it's assumed that if you're changing this ... you want that disabled
if (user_config.rgb_layer_change) { // only if this is enabled
user_config.rgb_layer_change = false; // disable it, and
eeconfig_update_user(user_config.raw); // write the setings to EEPROM
}
}
return true; break;
default:
return true; // Process all other keycodes normally
}
}
```
And lastly, you want to add the `eeconfig_init_user` function, so that when the EEPROM is reset, you can specify default values, and even custom actions. To force an EEPROM reset, use the `EEP_RST` keycode or [Bootmagic Lite](feature_bootmagic.md) functionallity. For example, if you want to set rgb layer indication by default, and save the default valued.
```c
void eeconfig_init_user(void) { // EEPROM is getting reset!
user_config.raw = 0;
user_config.rgb_layer_change = true; // We want this enabled by default
eeconfig_update_user(user_config.raw); // Write default value to EEPROM now
// use the non noeeprom versions, to write these values to EEPROM too
rgblight_enable(); // Enable RGB by default
rgblight_sethsv_cyan(); // Set it to CYAN by default
rgblight_mode(1); // set to solid by default
}
```
And you're done. The RGB layer indication will only work if you want it to. And it will be saved, even after unplugging the board. And if you use any of the RGB codes, it will disable the layer indication, so that it stays on the mode and color that you set it to.
### 'EECONFIG' Function Documentation
* Keyboard/Revision: `void eeconfig_init_kb(void)`, `uint32_t eeconfig_read_kb(void)` and `void eeconfig_update_kb(uint32_t val)`
* Keymap: `void eeconfig_init_user(void)`, `uint32_t eeconfig_read_user(void)` and `void eeconfig_update_user(uint32_t val)`
The `val` is the value of the data that you want to write to EEPROM. And the `eeconfig_read_*` function return a 32 bit (DWORD) value from the EEPROM.
### Deferred Execution :id=deferred-execution
# Deferred Execution :id=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.
#### Deferred executor callbacks
## Deferred executor callbacks
All _deferred executor callbacks_ have a common function signature and look like:
@@ -430,7 +251,7 @@ The return value is the number of milliseconds to use if the function should be
?> 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
## Deferred executor registration
Once a callback has been defined, it can be scheduled using the following API:
@@ -444,7 +265,7 @@ The third parameter is the `cb_arg` that gets passed to the callback at the poin
The return value is a `deferred_token` that can consequently be used to cancel the deferred executor callback before it's invoked. If a failure occurs, the returned value will be `INVALID_DEFERRED_TOKEN`. Usually this will be as a result of supplying `0` to the delay, or a `NULL` for the callback. The other failure case is if there are too many deferred executions "in flight" -- this can be increased by changing the limit, described below.
#### Extending a deferred execution
## Extending a deferred execution
The `deferred_token` returned by `defer_exec()` can be used to extend a the duration a pending execution waits before it gets invoked:
```c
@@ -452,7 +273,7 @@ The `deferred_token` returned by `defer_exec()` can be used to extend a the dura
extend_deferred_exec(my_token, 800);
```
#### Cancelling a deferred execution
## Cancelling a deferred execution
The `deferred_token` returned by `defer_exec()` can be used to cancel a pending execution before it gets invoked:
```c
@@ -462,7 +283,7 @@ cancel_deferred_exec(my_token);
Once a token has been canceled, it should be considered invalid. Reusing the same token is not supported.
#### Deferred callback limits
## Deferred callback limits
There are a maximum number of deferred callbacks that can be scheduled, controlled by the value of the define `MAX_DEFERRED_EXECUTORS`.
@@ -471,3 +292,15 @@ If registrations fail, then you can increase this value in your keyboard or keym
```c
#define MAX_DEFERRED_EXECUTORS 16
```
# Advanced topics :id=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](feature_layers.md#layer-change-code)
## Persistent Configuration (EEPROM) :id=persistent-configuration-eeprom
[Persistent Configuration (EEPROM)](feature_eeprom.md)

View File

@@ -22,7 +22,7 @@ You will then need to add support for your new configuration to `info.json`. The
1. Add it to the schema in `data/schemas/keyboards.jsonschema`
1. Add a mapping in `data/maps`
1. (optional and discoraged) Add code to extract/generate it to:
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`
@@ -41,7 +41,7 @@ In other cases you should group like options together in an `object`. This is pa
### Add a mapping
In most cases you can add a simple mapping. These are maintained as JSON files in `data/mappings/info_config.json` and `data/mappings/info_rules.json`, and control mapping for `config.h` and `rules.mk`, respectively. Each mapping is keyed by the `config.h` or `rules.mk` variable, and the value is a hash with the following keys:
In most cases you can add a simple mapping. These are maintained as JSON files in `data/mappings/info_config.hjson` and `data/mappings/info_rules.hjson`, and control mapping for `config.h` and `rules.mk`, respectively. Each mapping is keyed by the `config.h` or `rules.mk` variable, and the value is a hash with the following keys:
* `info_key`: (required) The location within `info.json` for this value. See below.
* `value_type`: (optional) Default `raw`. The format for this variable's value. See below.

View File

@@ -4,7 +4,7 @@ This page documents the templates you should use when submitting new Keymaps and
## Keymap `readme.md` Template :id=keyboard-readmemd-template
Most keymaps have an image depicting the layout. You can use [Keyboard Layout Editor](https://keyboard-layout-editor.com) to create an image. Upload it to [Imgur](https://imgur.com) or another hosting service, please do not include images in your Pull Request.
Most keymaps have an image depicting the layout. You can use [Keyboard Layout Editor](http://keyboard-layout-editor.com) to create an image. Upload it to [Imgur](https://imgur.com) or another hosting service, please do not include images in your Pull Request.
Below the image you should write a short description to help people understand your keymap.

View File

@@ -8,7 +8,7 @@ We recommend the use of the [Zadig](https://zadig.akeo.ie/) utility. If you have
## Installation
Put your keyboard into bootloader mode, either by hitting the `RESET` keycode (which may be on a different layer), or by pressing the reset switch that's usually located on the underside of the board. If your keyboard has neither, try holding Escape or Space+`B` as you plug it in (see the [Bootmagic Lite](feature_bootmagic.md) docs for more details). Some boards use [Command](feature_command.md) instead of Bootmagic; in this case, you can enter bootloader mode by hitting Left Shift+Right Shift+`B` or Left Shift+Right Shift+Escape at any point while the keyboard is plugged in.
Put your keyboard into bootloader mode, either by hitting the `QK_BOOT` keycode (which may be on a different layer), or by pressing the reset switch that's usually located on the underside of the board. If your keyboard has neither, try holding Escape or Space+`B` as you plug it in (see the [Bootmagic Lite](feature_bootmagic.md) docs for more details). Some boards use [Command](feature_command.md) instead of Bootmagic; in this case, you can enter bootloader mode by hitting Left Shift+Right Shift+`B` or Left Shift+Right Shift+Escape at any point while the keyboard is plugged in.
Some keyboards may have specific instructions for entering the bootloader. For example, the [Bootmagic Lite](feature_bootmagic.md) key (default: Escape) might be on a different key, e.g. Left Control; or the magic combination for Command (default: Left Shift+Right Shift) might require you to hold something else, e.g. Left Control+Right Control. Refer to the board's README file if you are unsure.
To put a device in bootloader mode with USBaspLoader, tap the `RESET` button while holding down the `BOOT` button.

View File

@@ -4,7 +4,7 @@ This page details various common questions people have about troubleshooting the
## Debugging :id=debugging
Your keyboard will output debug information if you have `CONSOLE_ENABLE = yes` in your `rules.mk`. By default the output is very limited, but you can turn on debug mode to increase the amount of debug output. Use the `DEBUG` keycode in your keymap, use the [Command](feature_command.md) feature to enable debug mode, or add the following code to your keymap.
Your keyboard will output debug information if you have `CONSOLE_ENABLE = yes` in your `rules.mk`. By default the output is very limited, but you can turn on debug mode to increase the amount of debug output. Use the `DB_TOGG` keycode in your keymap, use the [Command](feature_command.md) feature to enable debug mode, or add the following code to your keymap.
```c
void keyboard_post_init_user(void) {
@@ -59,7 +59,7 @@ When porting, or when attempting to diagnose pcb issues, it can be useful to kno
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// If console is enabled, it will print the matrix position and status of each key pressed
#ifdef CONSOLE_ENABLE
uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %b, time: %u, interrupt: %b, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
uprintf("KL: kc: 0x%04X, col: %2u, row: %2u, pressed: %u, time: %5u, int: %u, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
#endif
return true;
}
@@ -69,12 +69,12 @@ Example output
```
Waiting for device:.......
Listening:
KL: kc: 169, col: 0, row: 0, pressed: 1
KL: kc: 169, col: 0, row: 0, pressed: 0
KL: kc: 174, col: 1, row: 0, pressed: 1
KL: kc: 174, col: 1, row: 0, pressed: 0
KL: kc: 172, col: 2, row: 0, pressed: 1
KL: kc: 172, col: 2, row: 0, pressed: 0
KL: kc: 169, col: 0, row: 0, pressed: 1, time: 15505, int: 0, count: 0
KL: kc: 169, col: 0, row: 0, pressed: 0, time: 15510, int: 0, count: 0
KL: kc: 174, col: 1, row: 0, pressed: 1, time: 15703, int: 0, count: 0
KL: kc: 174, col: 1, row: 0, pressed: 0, time: 15843, int: 0, count: 0
KL: kc: 172, col: 2, row: 0, pressed: 1, time: 16303, int: 0, count: 0
KL: kc: 172, col: 2, row: 0, pressed: 0, time: 16411, int: 0, count: 0
```
### How long did it take to scan for a keypress?
@@ -133,3 +133,4 @@ Check:
- Set `debug_enable=true`. See [Debugging](#debugging)
- Try using `print` function instead of debug print. See **common/print.h**.
- Disconnect other devices with console function. See [Issue #97](https://github.com/tmk/tmk_keyboard/issues/97).
- Ensure all strings end with a newline character (`\n`). QMK Toolbox prints console output on a per-line basis.

View File

@@ -10,7 +10,7 @@ You probably don't want to "brick" your keyboard, making it impossible
to rewrite firmware onto it. Here are some of the parameters to show
what things are (and likely aren't) too risky.
- If your keyboard map does not include RESET, then, to get into DFU
- If your keyboard map does not include QK_BOOT, then, to get into DFU
mode, you will need to press the reset button on the PCB, which
requires unscrewing the bottom.
- Messing with tmk_core / common files might make the keyboard

View File

@@ -161,7 +161,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
};
```
# Legacy Content :id=legacy-content
# Advanced topics :id=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.

View File

@@ -114,7 +114,7 @@ The audio core offers interface functions to get/set/change the tone multiplexin
There's a couple of different sounds that will automatically be enabled without any other configuration:
```
STARTUP_SONG // plays when the keyboard starts up (audio.c)
GOODBYE_SONG // plays when you press the RESET key (quantum.c)
GOODBYE_SONG // plays when you press the QK_BOOT key (quantum.c)
AG_NORM_SONG // plays when you press AG_NORM (quantum.c)
AG_SWAP_SONG // plays when you press AG_SWAP (quantum.c)
CG_NORM_SONG // plays when you press CG_NORM (quantum.c)
@@ -161,9 +161,11 @@ It's advised that you wrap all audio features in `#ifdef AUDIO_ENABLE` / `#endif
The available keycodes for audio are:
* `AU_ON` - Turn Audio Feature on
* `AU_OFF` - Turn Audio Feature off
* `AU_TOG` - Toggle Audio Feature state
|Key |Aliases |Description |
|-------------------------|---------|-------------------------------------------|
|`QK_AUDIO_ON` |`AU_ON` |Turns on Audio Feature |
|`QK_AUDIO_OFF` |`AU_OFF` |Turns off Audio Feature |
|`QK_AUDIO_TOGGLE` |`AU_TOGG`|Toggles Audio state |
!> These keycodes turn all of the audio functionality on and off. Turning it off means that audio feedback, audio clicky, music mode, etc. are disabled, completely.
@@ -177,7 +179,7 @@ The available keycodes for audio are:
|`AUDIO_INIT_DELAY` | *Not defined* |Enables delay during startup song to accomidate for USB startup issues. |
|`AUDIO_ENABLE_TONE_MULTIPLEXING` | *Not defined* |Enables time splicing/multiplexing to create multiple tones simutaneously. |
|`STARTUP_SONG` | `STARTUP_SOUND` |Plays when the keyboard starts up (audio.c) |
|`GOODBYE_SONG` | `GOODBYE_SOUND` |Plays when you press the RESET key (quantum.c) |
|`GOODBYE_SONG` | `GOODBYE_SOUND` |Plays when you press the QK_BOOT key (quantum.c) |
|`AG_NORM_SONG` | `AG_NORM_SOUND` |Plays when you press AG_NORM (process_magic.c) |
|`AG_SWAP_SONG` | `AG_SWAP_SOUND` |Plays when you press AG_SWAP (process_magic.c) |
|`CG_NORM_SONG` | `AG_NORM_SOUND` |Plays when you press CG_NORM (process_magic.c) |
@@ -219,6 +221,12 @@ Aka "audio effects", different ones can be enabled by setting in `config.h` thes
`#define AUDIO_VOICES` to enable the feature, and `#define AUDIO_VOICE_DEFAULT something` to select a specific effect
for details see quantum/audio/voices.h and .c
Keycodes available:
|Key |Aliases |Description |
|-------------------------|---------|-------------------------------------------|
|`QK_AUDIO_VOICE_NEXT` |`AU_NEXT`|Cycles through the audio voices |
|`QK_AUDIO_VOICE_PREVIOUS`|`AU_PREV`|Cycles through the audio voices in reverse |
## Music Mode
@@ -228,10 +236,14 @@ Recording is experimental due to some memory issues - if you experience some wei
Keycodes available:
* `MU_ON` - Turn music mode on
* `MU_OFF` - Turn music mode off
* `MU_TOG` - Toggle music mode
* `MU_MOD` - Cycle through the music modes:
|Key |Aliases |Description |
|-------------------------|---------|-------------------------------------------|
|`QK_MUSIC_ON` |`MU_ON` |Turns on Music Mode |
|`QK_MUSIC_OFF` |`MU_OFF` |Turns off Music Mode |
|`QK_MUSIC_TOGGLE` |`MU_TOGG`|Toggles Music Mode |
|`QK_MUSIC_MODE_NEXT` |`MU_NEXT`|Cycles through the music modes |
Available Modes:
* `CHROMATIC_MODE` - Chromatic scale, row changes the octave
* `GUITAR_MODE` - Chromatic scale, but the row changes the string (+5 st)
* `VIOLIN_MODE` - Chromatic scale, but the row changes the string (+7 st)
@@ -300,13 +312,16 @@ You can look at the [Planck Keyboard](https://github.com/qmk/qmk_firmware/blob/e
This adds a click sound each time you hit a button, to simulate click sounds from the keyboard. And the sounds are slightly different for each keypress, so it doesn't sound like a single long note, if you type rapidly.
* `CK_TOGG` - Toggles the status (will play sound if enabled)
* `CK_ON` - Turns on Audio Click (plays sound)
* `CK_OFF` - Turns off Audio Click (doesn't play sound)
* `CK_RST` - Resets the frequency to the default state (plays sound at default frequency)
* `CK_UP` - Increases the frequency of the clicks (plays sound at new frequency)
* `CK_DOWN` - Decreases the frequency of the clicks (plays sound at new frequency)
Keycodes available:
|Key |Aliases |Description |
|-------------------------|---------|-------------------------------------------|
|`QK_AUDIO_CLICKY_TOGGLE` |`CK_TOGG`|Toggles Audio clicky mode |
|`QK_AUDIO_CLICKY_ON` |`CK_ON` |Turns on Audio clicky mode |
|`QK_AUDIO_CLICKY_OFF` |`CK_OFF` |Turns on Audio clicky mode |
|`QK_AUDIO_CLICKY_UP` |`CK_UP` |Increases frequency of the clicks |
|`QK_AUDIO_CLICKY_DOWN` |`CK_DOWN`|Decreases frequency of the clicks |
|`QK_AUDIO_CLICKY_RESET` |`CK_RST` |Resets frequency to default |
The feature is disabled by default, to save space. To enable it, add this to your `config.h`:
@@ -333,16 +348,20 @@ See [MIDI](feature_midi.md)
## Audio Keycodes
|Key |Aliases |Description |
|----------------|---------|----------------------------------|
|`AU_ON` | |Audio mode on |
|`AU_OFF` | |Audio mode off |
|`AU_TOG` | |Toggles Audio mode |
|`CLICKY_TOGGLE` |`CK_TOGG`|Toggles Audio clicky mode |
|`CLICKY_UP` |`CK_UP` |Increases frequency of the clicks |
|`CLICKY_DOWN` |`CK_DOWN`|Decreases frequency of the clicks |
|`CLICKY_RESET` |`CK_RST` |Resets frequency to default |
|`MU_ON` | |Turns on Music Mode |
|`MU_OFF` | |Turns off Music Mode |
|`MU_TOG` | |Toggles Music Mode |
|`MU_MOD` | |Cycles through the music modes |
|Key |Aliases |Description |
|-------------------------|---------|-------------------------------------------|
|`QK_AUDIO_ON` |`AU_ON` |Turns on Audio Feature |
|`QK_AUDIO_OFF` |`AU_OFF` |Turns off Audio Feature |
|`QK_AUDIO_TOGGLE` |`AU_TOGG`|Toggles Audio state |
|`QK_AUDIO_CLICKY_TOGGLE` |`CK_TOGG`|Toggles Audio clicky mode |
|`QK_AUDIO_CLICKY_ON` |`CK_ON` |Turns on Audio clicky mode |
|`QK_AUDIO_CLICKY_OFF` |`CK_OFF` |Turns on Audio clicky mode |
|`QK_AUDIO_CLICKY_UP` |`CK_UP` |Increases frequency of the clicks |
|`QK_AUDIO_CLICKY_DOWN` |`CK_DOWN`|Decreases frequency of the clicks |
|`QK_AUDIO_CLICKY_RESET` |`CK_RST` |Resets frequency to default |
|`QK_MUSIC_ON` |`MU_ON` |Turns on Music Mode |
|`QK_MUSIC_OFF` |`MU_OFF` |Turns off Music Mode |
|`QK_MUSIC_TOGGLE` |`MU_TOGG`|Toggles Music Mode |
|`QK_MUSIC_MODE_NEXT` |`MU_NEXT`|Cycles through the music modes |
|`QK_AUDIO_VOICE_NEXT` |`AU_NEXT`|Cycles through the audio voices |
|`QK_AUDIO_VOICE_PREVIOUS`|`AU_PREV`|Cycles through the audio voices in reverse |

View File

@@ -300,14 +300,14 @@ This will enable you to define three keys temporarily to increase, decrease and
Map three keys temporarily in your keymap:
| Key Name | Description |
|----------|-----------------------------------------------------|
| KC_ASDN | Lower the Auto Shift timeout variable (down) |
| KC_ASUP | Raise the Auto Shift timeout variable (up) |
| KC_ASRP | Report your current Auto Shift timeout value |
| KC_ASON | Turns on the Auto Shift Function |
| KC_ASOFF | Turns off the Auto Shift Function |
| KC_ASTG | Toggles the state of the Auto Shift feature |
|Keycode |Aliases |Description |
|----------------------|---------|--------------------------------------------|
|`QK_AUTO_SHIFT_DOWN` |`AS_DOWN`|Lower the Auto Shift timeout variable (down)|
|`QK_AUTO_SHIFT_UP` |`AS_UP` |Raise the Auto Shift timeout variable (up) |
|`QK_AUTO_SHIFT_REPORT`|`AS_RPT` |Report your current Auto Shift timeout value|
|`QK_AUTO_SHIFT_ON` |`AS_ON` |Turns on the Auto Shift Function |
|`QK_AUTO_SHIFT_OFF` |`AS_OFF` |Turns off the Auto Shift Function |
|`QK_AUTO_SHIFT_TOGGLE`|`AS_TOGG`|Toggles the state of the Auto Shift feature |
Compile and upload your new firmware.
@@ -318,18 +318,18 @@ completely normal and with no intention of shifted keys.
1. Type multiple sentences of alphabetical letters.
2. Observe any upper case letters.
3. If there are none, press the key you have mapped to `KC_ASDN` to decrease
3. If there are none, press the key you have mapped to `AS_DOWN` to decrease
time Auto Shift timeout value and go back to step 1.
4. If there are some upper case letters, decide if you need to work on tapping
those keys with less down time, or if you need to increase the timeout.
5. If you decide to increase the timeout, press the key you have mapped to
`KC_ASUP` and go back to step 1.
`AS_UP` and go back to step 1.
6. Once you are happy with your results, press the key you have mapped to
`KC_ASRP`. The keyboard will type by itself the value of your
`AS_RPT`. The keyboard will type by itself the value of your
`AUTO_SHIFT_TIMEOUT`.
7. Update `AUTO_SHIFT_TIMEOUT` in your `config.h` with the value reported.
8. Add `AUTO_SHIFT_NO_SETUP` to your `config.h`.
9. Remove the key bindings `KC_ASDN`, `KC_ASUP` and `KC_ASRP`.
9. Remove the key bindings `AS_DOWN`, `AS_UP` and `AS_RPT`.
10. Compile and upload your new firmware.
#### An Example Run
@@ -337,17 +337,17 @@ completely normal and with no intention of shifted keys.
hello world. my name is john doe. i am a computer programmer playing with
keyboards right now.
[PRESS KC_ASDN quite a few times]
[PRESS AS_DOWN quite a few times]
heLLo woRLd. mY nAMe is JOHn dOE. i AM A compUTeR proGRaMMER PlAYiNG witH
KEYboArDS RiGHT NOw.
[PRESS KC_ASUP a few times]
[PRESS AS_UP a few times]
hello world. my name is john Doe. i am a computer programmer playing with
keyboarDs right now.
[PRESS KC_ASRP]
[PRESS AS_RPT]
115

295
docs/feature_autocorrect.md Normal file
View File

@@ -0,0 +1,295 @@
# Autocorrect
There are a lot of words that are prone to being typed incorrectly, due to habit, sequence or just user error. This feature leverages your firmware to automatically correct these errors, to help reduce typos.
## How does it work? :id=how-does-it-work
The feature maintains a small buffer of recent key presses. On each key press, it checks whether the buffer ends in a recognized typo, and if so, automatically sends keystrokes to correct it.
The tricky part is how to efficiently check the buffer for typos. We dont want to spend too much memory or time on storing or searching the typos. A good solution is to represent the typos with a trie data structure. A trie is a tree data structure where each node is a letter, and words are formed by following a path to one of the leaves.
![An example trie](https://i.imgur.com/HL5DP8H.png)
Since we search whether the buffer ends in a typo, we store the trie writing in reverse. The trie is queried starting from the last letter, then second to last letter, and so on, until either a letter doesnt match or we reach a leaf, meaning a typo was found.
## How do I enable Autocorrection :id=how-do-i-enable-autocorrection
In your `rules.mk`, add this:
```make
AUTOCORRECT_ENABLE = yes
```
Additionally, you will need a library for autocorrection. A small sample library is included by default, so that you can get up and running right away, but you can provide a customized library.
By default, autocorrect is disabled. To enable it, you need to use the `AC_TOGG` keycode to enable it. The status is stored in persistent memory, so you shouldn't need to enabled it again.
## Customizing autocorrect library :id=customizing-autocorrect-library
To provide a custom library, you need to create a text file with the corrections. For instance:
```text
:thier -> their
fitler -> filter
lenght -> length
ouput -> output
widht -> width
```
The syntax is `typo -> correction`. Typos and corrections are case insensitive, and any whitespace before or after the typo and correction is ignored. The typo must be only the letters az, or the special character : representing a word break. The correction may have any non-unicode characters.
Then, run:
```sh
qmk generate-autocorrect-data autocorrect_dictionary.txt
```
This will process the file and produce an `autocorrect_data.h` file with the trie library, in the folder that you are at. You can specify the keyboard and keymap (eg `-kb planck/rev6 -km jackhumbert`), and it will place the file in that folder instead. But as long as the file is located in your keymap folder, or user folder, it should be picked up automatically.
This file will look like this:
```c
// :thier -> their
// fitler -> filter
// lenght -> length
// ouput -> output
// widht -> width
#define AUTOCORRECT_MIN_LENGTH 5 // "ouput"
#define AUTOCORRECT_MAX_LENGTH 6 // ":thier"
#define DICTIONARY_SIZE 74
static const uint8_t autocorrect_data[DICTIONARY_SIZE] PROGMEM = {85, 7, 0, 23, 35, 0, 0, 8, 0, 76, 16, 0, 15, 25, 0, 0,
11, 23, 44, 0, 130, 101, 105, 114, 0, 23, 12, 9, 0, 131, 108, 116, 101, 114, 0, 75, 42, 0, 24, 64, 0, 0, 71, 49, 0,
10, 56, 0, 0, 12, 26, 0, 129, 116, 104, 0, 17, 8, 15, 0, 129, 116, 104, 0, 19, 24, 18, 0, 130, 116, 112, 117, 116,
0};
```
### Avoiding false triggers :id=avoiding-false-triggers
By default, typos are searched within words, to find typos within longer identifiers like maxFitlerOuput. While this is useful, a consequence is that autocorrection will falsely trigger when a typo happens to be a substring of a correctly-spelled word. For instance, if we had thier -> their as an entry, it would falsely trigger on (correct, though relatively uncommon) words like “wealthier” and “filthier.”
The solution is to set a word break : before and/or after the typo to constrain matching. : matches space, period, comma, underscore, digits, and most other non-alpha characters.
|Text |thier |:thier |thier: |:thier: |
|-----------------|:------:|:------:|:------:|:------:|
|see `thier` typo |matches |matches |matches |matches |
|its `thiers` |matches |matches |no |no |
|wealthier words |matches |no |matches |no |
:thier: is most restrictive, matching only when thier is a whole word.
The `qmk generate-autocorrect-data` commands can make an effort to check for entries that would false trigger as substrings of correct words. It searches each typo against a dictionary of 25K English words from the english_words Python package, provided its installed. (run `python3 -m pip install english_words` to install it.)
?> Unfortunately, this is limited to just english words, at this point.
## Overriding Autocorrect
Occasionally you might actually want to type a typo (for instance, while editing autocorrection_dict.txt) without being autocorrected. There are a couple of ways to do this:
1. Begin typing the typo.
2. Before typing the last letter, press and release the Ctrl or Alt key.
3. Type the remaining letters.
This works because the autocorrection implementation doesnt understand hotkeys, so it resets itself whenever a modifier other than shift is held.
Additionally, you can use the `AC_TOGG` keycode to toggle the on/off status for Autocorrect.
### Keycodes :id=keycodes
|Keycode |Aliases |Description |
|-----------------------|---------|----------------------------------------------|
|`QK_AUTOCORRECT_ON` |`AC_ON` |Turns on the Autocorrect feature. |
|`QK_AUTOCORRECT_OFF` |`AC_OFF` |Turns off the Autocorrect feature. |
|`QK_AUTOCORRECT_TOGGLE`|`AC_TOGG`|Toggles the status of the Autocorrect feature.|
## User Callback Functions
### Process Autocorrect
Callback function `bool process_autocorrect_user(uint16_t *keycode, keyrecord_t *record, uint8_t *typo_buffer_size, uint8_t *mods)` is available to customise incoming keycodes and handle exceptions. You can use this function to sanitise input before they are passed onto the autocorrect engine
?> Sanitisation of input is required because autocorrect will only match 8-bit [basic keycodes](keycodes_basic.md) for typos. If valid modifier keys or 16-bit keycodes that are part of a user's word input (such as Shift + A) is passed through, they will fail typo letter detection. For example a [Mod-Tap](mod_tap.md) key such as `LCTL_T(KC_A)` is 16-bit and should be masked for the 8-bit `KC_A`.
The default user callback function is found inside `quantum/process_keycode/process_autocorrect.c`. It covers most use-cases for QMK special functions and quantum keycodes, including [overriding autocorrect](#overriding-autocorrect) with a modifier other than shift. The `process_autocorrect_user` function is `weak` defined to allow user's copy inside `keymap.c` (or code files) to overwrite it.
#### Process Autocorrect Example
If you have a custom keycode `QMKBEST` that should be ignored as part of a word, and another custom keycode `QMKLAYER` that should override autocorrect, both can be added to the bottom of the `process_autocorrect_user` `switch` statement in your source code:
```c
bool process_autocorrect_user(uint16_t *keycode, keyrecord_t *record, uint8_t *typo_buffer_size, uint8_t *mods) {
// See quantum_keycodes.h for reference on these matched ranges.
switch (*keycode) {
// Exclude these keycodes from processing.
case KC_LSFT:
case KC_RSFT:
case KC_CAPS:
case QK_TO ... QK_ONE_SHOT_LAYER_MAX:
case QK_LAYER_TAP_TOGGLE ... QK_LAYER_MOD_MAX:
case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX:
return false;
// Mask for base keycode from shifted keys.
case QK_LSFT ... QK_LSFT + 255:
case QK_RSFT ... QK_RSFT + 255:
if (*keycode >= QK_LSFT && *keycode <= (QK_LSFT + 255)) {
*mods |= MOD_LSFT;
} else {
*mods |= MOD_RSFT;
}
*keycode &= 0xFF; // Get the basic keycode.
return true;
#ifndef NO_ACTION_TAPPING
// Exclude tap-hold keys when they are held down
// and mask for base keycode when they are tapped.
case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
# ifdef NO_ACTION_LAYER
// Exclude Layer Tap, if layers are disabled
// but action tapping is still enabled.
return false;
# endif
case QK_MOD_TAP ... QK_MOD_TAP_MAX:
// Exclude hold if mods other than Shift is not active
if (!record->tap.count) {
return false;
}
*keycode &= 0xFF;
break;
#else
case QK_MOD_TAP ... QK_MOD_TAP_MAX:
case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
// Exclude if disabled
return false;
#endif
// Exclude swap hands keys when they are held down
// and mask for base keycode when they are tapped.
case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX:
#ifdef SWAP_HANDS_ENABLE
if (*keycode >= 0x56F0 || !record->tap.count) {
return false;
}
*keycode &= 0xFF;
break;
#else
// Exclude if disabled
return false;
#endif
// Handle custom keycodes
case QMKBEST:
return false;
case QMKLAYER:
*typo_buffer_size = 0;
return false;
}
// Disable autocorrect while a mod other than shift is active.
if ((*mods & ~MOD_MASK_SHIFT) != 0) {
*typo_buffer_size = 0;
return false;
}
return true;
}
```
?> In this callback function, `return false` will skip processing of that keycode for autocorrect. Adding `*typo_buffer_size = 0` will also reset the autocorrect buffer at the same time, cancelling any current letters already stored in the buffer.
### Apply Autocorrect
Additionally, `apply_autocorrect(uint8_t backspaces, const char *str)` allows for users to add additional handling to the autocorrection, or replace the functionality entirely. This passes on the number of backspaces needed to replace the words, as well as the replacement string (partial word, not the full word).
#### Apply Autocorrect Example
This following example will play a sound when a typo is autocorrected and execute the autocorrection itself:
```c
#ifdef AUDIO_ENABLE
float autocorrect_song[][2] = SONG(TERMINAL_SOUND);
#endif
bool apply_autocorrect(uint8_t backspaces, const char *str) {
#ifdef AUDIO_ENABLE
PLAY_SONG(autocorrect_song);
#endif
for (uint8_t i = 0; i < backspaces; ++i) {
tap_code(KC_BSPC);
}
send_string_P(str);
return false;
}
```
?> In this callback function, `return false` will stop the normal processing of autocorrect, which requires manually handling of removing the "bad" characters and typing the new characters.
!> ***IMPORTANT***: `str` is a pointer to `PROGMEM` data for the autocorrection. If you return false, and want to send the string, this needs to use `send_string_P` and not `send_string` or `SEND_STRING`.
You can also use `apply_autocorrect` to detect and display the event but allow internal code to execute the autocorrection with `return true`:
```c
bool apply_autocorrect(uint8_t backspaces, const char *str) {
#ifdef OLED_ENABLE
oled_write_P(PSTR("Auto-corrected"), false);
#endif
return true;
}
```
## Appendix: Trie binary data format :id=appendix
This section details how the trie is serialized to byte data in autocorrection_data. You dont need to care about this to use this autocorrection implementation. But it is documented for the record in case anyone is interested in modifying the implementation, or just curious how it works.
What I did here is fairly arbitrary, but it is simple to decode and gets the job done.
### Encoding :id=encoding
All autocorrection data is stored in a single flat array autocorrection_data. Each trie node is associated with a byte offset into this array, where data for that node is encoded, beginning with root at offset 0. There are three kinds of nodes. The highest two bits of the first byte of the node indicate what kind:
* 00 ⇒ chain node: a trie node with a single child.
* 01 ⇒ branching node: a trie node with multiple children.
* 10 ⇒ leaf node: a leaf, corresponding to a typo and storing its correction.
![An example trie](https://i.imgur.com/HL5DP8H.png)
**Branching node**. Each branch is encoded with one byte for the keycode (KC_AKC_Z) followed by a link to the child node. Links between nodes are 16-bit byte offsets relative to the beginning of the array, serialized in little endian order.
All branches are serialized this way, one after another, and terminated with a zero byte. As described above, the node is identified as a branch by setting the two high bits of the first byte to 01, done by bitwise ORing the first keycode with 64. keycode. The root node for the above figure would be serialized like:
```
+-------+-------+-------+-------+-------+-------+-------+
| R|64 | node 2 | T | node 3 | 0 |
+-------+-------+-------+-------+-------+-------+-------+
```
**Chain node**. Tries tend to have long chains of single-child nodes, as seen in the example above with f-i-t-l in fitler. So to save space, we use a different format to encode chains than branching nodes. A chain is encoded as a string of keycodes, beginning with the node closest to the root, and terminated with a zero byte. The child of the last node in the chain is encoded immediately after. That child could be either a branching node or a leaf.
In the figure above, the f-i-t-l chain is encoded as
```
+-------+-------+-------+-------+-------+
| L | T | I | F | 0 |
+-------+-------+-------+-------+-------+
```
If we were to encode this chain using the same format used for branching nodes, we would encode a 16-bit node link with every node, costing 8 more bytes in this example. Across the whole trie, this adds up. Conveniently, we can point to intermediate points in the chain and interpret the bytes in the same way as before. E.g. starting at the i instead of the l, and the subchain has the same format.
**Leaf node**. A leaf node corresponds to a particular typo and stores data to correct the typo. The leaf begins with a byte for the number of backspaces to type, and is followed by a null-terminated ASCII string of the replacement text. The idea is, after tapping backspace the indicated number of times, we can simply pass this string to the `send_string_P` function. For fitler, we need to tap backspace 3 times (not 4, because we catch the typo as the final r is pressed) and replace it with lter. To identify the node as a leaf, the two high bits are set to 10 by ORing the backspace count with 128:
```
+-------+-------+-------+-------+-------+-------+
| 3|128 | 'l' | 't' | 'e' | 'r' | 0 |
+-------+-------+-------+-------+-------+-------+
```
### Decoding :id=decoding
This format is by design decodable with fairly simple logic. A 16-bit variable state represents our current position in the trie, initialized with 0 to start at the root node. Then, for each keycode, test the highest two bits in the byte at state to identify the kind of node.
* 00 ⇒ **chain node**: If the nodes byte matches the keycode, increment state by one to go to the next byte. If the next byte is zero, increment again to go to the following node.
* 01 ⇒ **branching node**: Search the branches for one that matches the keycode, and follow its node link.
* 10 ⇒ **leaf node**: a typo has been found! We read its first byte for the number of backspaces to type, then pass its following bytes to send_string_P to type the correction.
## Credits
Credit goes to [getreuer](https://github.com/getreuer) for originally implementing this [here](https://getreuer.info/posts/keyboards/autocorrection/#how-does-it-work). As well as to [filterpaper](https://github.com/filterpaper) for converting the code to use PROGMEM, and additional improvements.

View File

@@ -16,15 +16,15 @@ BACKLIGHT_ENABLE = yes
Once enabled, the following keycodes below can be used to change the backlight level.
|Key |Description |
|---------|-----------------------------------|
|`BL_TOGG`|Turn the backlight on or off |
|`BL_STEP`|Cycle through backlight levels |
|`BL_ON` |Set the backlight to max brightness|
|`BL_OFF` |Turn the backlight off |
|`BL_INC` |Increase the backlight level |
|`BL_DEC` |Decrease the backlight level |
|`BL_BRTG`|Toggle backlight breathing |
| Key | Aliases | Description |
|---------------------------------|-----------|-------------------------------------|
| `QK_BACKLIGHT_TOGGLE` | `BL_TOGG` | Turn the backlight on or off |
| `QK_BACKLIGHT_STEP` | `BL_STEP` | Cycle through backlight levels |
| `QK_BACKLIGHT_ON` | `BL_ON` | Set the backlight to max brightness |
| `QK_BACKLIGHT_OFF` | `BL_OFF` | Turn the backlight off |
| `QK_BACKLIGHT_UP` | `BL_UP` | Increase the backlight level |
| `QK_BACKLIGHT_DOWN` | `BL_DOWN` | Decrease the backlight level |
| `QK_BACKLIGHT_TOGGLE_BREATHING` | `BL_BRTG` | Toggle backlight breathing |
## Functions :id=functions

View File

@@ -39,8 +39,8 @@ BLUETOOTH_DRIVER = BluefruitLE # or RN42
This is used when multiple keyboard outputs can be selected. Currently this only allows for switching between USB and Bluetooth on keyboards that support both.
|Name |Description |
|----------|----------------------------------------------|
|`OUT_AUTO`|Automatically switch between USB and Bluetooth|
|`OUT_USB` |USB only |
|`OUT_BT` |Bluetooth only |
|Key |Aliases |Description |
|---------------------|---------|----------------------------------------------|
|`QK_OUTPUT_AUTO` |`OU_AUTO`|Automatically switch between USB and Bluetooth|
|`QK_OUTPUT_USB` |`OU_USB` |USB only |
|`QK_OUTPUT_BLUETOOTH`|`OU_BT` |Bluetooth only |

View File

@@ -4,11 +4,14 @@ It is often useful to type a single word in all capitals, for instance
abbreviations like "QMK", or in code, identifiers like `KC_SPC`. "Caps Word" is
a modern alternative to Caps Lock:
* Letters are capitalized while active, and Caps Word automatically disables
* While active, letters are capitalized and `-` becomes `_`. The `_` makes it easier
to type constant names (eg 'PROGRAM\_CONSTANTS').
* Caps Word automatically disables
itself at the end of the word. That is, it stops by default once a space or
any key other than `a`--`z`, `0`--`9`, `-`, `_`, delete, or backspace is
pressed. Caps Word also disables itself if the keyboard is idle for 5 seconds.
This is configurable, see below.
any key other than `KC_A`--`KC_Z`, `KC_0`--`KC_9`, `KC_MINS`, `KC_UNDS`,
`KC_DELETE`, or `KC_BACKSPACE` is pressed. Caps Word also disables itself if
the keyboard is idle for 5 seconds. This is configurable, see below.
* To avoid requiring a dedicated key for Caps Word, there is an option
(`BOTH_SHIFTS_TURNS_ON_CAPS_WORD`) to activate Caps Word by simultaneously
@@ -16,7 +19,17 @@ a modern alternative to Caps Lock:
* The implementation does not use the Caps Lock (`KC_CAPS`) keycode. Caps Word
works even if you're remapping Caps Lock at the OS level to Ctrl or something
else, as Emacs and Vim users often do.
else, as Emacs and Vim users often do. As a consequence, Caps Word does not
follow the typical Caps Lock behaviour and may thus act in potentially
unexpected ways, especially when using an *OS* keyboard layout other than US
or UK. For example, Dvorak's <kbd>, <</kbd> key (`DV_COMM` aka `KC_W`) will
get shifted because Caps Word interprets that keycode as the letter 'W' by
default, the Spanish <kbd>Ñ</kbd> key (`ES_NTIL` aka `KC_SCLN`) will not get
capitalized because Caps Word interprets it as the semicolon ';' punctuation
character, and the US hyphen key (`KC_MINS`), while unaffected by Caps Lock,
is shifted by Caps Word. However, this is not really a problem because you can
[configure which keys should Caps Word
shift](#configure-which-keys-are-word-breaking).
## How do I enable Caps Word :id=how-do-i-enable-caps-word
@@ -29,8 +42,8 @@ CAPS_WORD_ENABLE = yes
Next, use one the following methods to activate Caps Word:
* **Activate by pressing a key**: Use the `CAPS_WORD` keycode (short
alias `CAPSWRD`) in your keymap.
* **Activate by pressing a key**: Use the `QK_CAPS_WORD_TOGGLE` keycode (short
alias `CW_TOGG`) in your keymap.
* **Activate by pressing Left Shift + Right Shift**: Add `#define
BOTH_SHIFTS_TURNS_ON_CAPS_WORD` to config.h. You may also need to disable or
@@ -60,7 +73,7 @@ time, since both use the Left Shift + Right Shift key combination."**
Many keyboards enable the [Command feature](feature_command.md), which by
default is also activated using the Left Shift + Right Shift key combination. To
fix this conflict, please disable Command by adding in rules.mk:
fix this conflict, please disable Command by adding in rules.mk:
```make
COMMAND_ENABLE = no
@@ -81,7 +94,7 @@ by defining `IS_COMMAND()` in config.h:
Caps Word turns off automatically if no keys are pressed for
`CAPS_WORD_IDLE_TIMEOUT` milliseconds. The default is 5000 (5 seconds).
Configure the timeout duration in config.h, for instance
Configure the timeout duration in config.h, for instance
```c
#define CAPS_WORD_IDLE_TIMEOUT 3000 // 3 seconds.

View File

@@ -105,11 +105,11 @@ It is worth noting that `COMBO_ACTION`s are not needed anymore. As of [PR#8591](
## Keycodes
You can enable, disable and toggle the Combo feature on the fly. This is useful if you need to disable them temporarily, such as for a game. The following keycodes are available for use in your `keymap.c`
|Keycode |Description |
|----------|---------------------------------|
|`CMB_ON` |Turns on Combo feature |
|`CMB_OFF` |Turns off Combo feature |
|`CMB_TOG` |Toggles Combo feature on and off |
|Keycode |Aliases |Description |
|-----------------|---------|--------------------------------|
|`QK_COMBO_ON` |`CM_ON` |Turns on Combo feature |
|`QK_COMBO_OFF` |`CM_OFF` |Turns off Combo feature |
|`QK_COMBO_TOGGLE`|`CM_TOGG`|Toggles Combo feature on and off|
# Advanced Configuration
These configuration settings can be set in your `config.h` file.
@@ -255,7 +255,7 @@ bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode
```
## Variable Length Combos
If you leave `COMBO_COUNT` undefined in `config.h`, it allows you to programmatically declare the size of the Combo data structure and avoid updating `COMBO_COUNT`. Instead a variable called `COMBO_LEN` has to be set. It can be set with something similar to the following in `keymap.c`: `uint16_t COMBO_LEN = sizeof(key_combos) / sizeof(key_combos[0]);` or by adding `COMBO_LENGTH` as the *last* entry in the combo enum and then `uint16_t COMBO_LEN = COMBO_LENGTH;` as such:
If you leave `COMBO_COUNT` undefined in `config.h`, it allows you to programmatically declare the size of the Combo data structure and avoid updating `COMBO_COUNT`. Instead a variable called `COMBO_LEN` has to be set. It can be set with something similar to the following in `keymap.c`: `uint16_t COMBO_LEN = ARRAY_SIZE(key_combos);` or by adding `COMBO_LENGTH` as the *last* entry in the combo enum and then `uint16_t COMBO_LEN = COMBO_LENGTH;` as such:
```c
enum myCombos {
...,
@@ -326,7 +326,7 @@ bool process_combo_key_release(uint16_t combo_index, combo_t *combo, uint8_t key
If you, for example, use multiple base layers for different key layouts, one for QWERTY, and another one for Colemak, you might want your combos to work from the same key positions on all layers. Defining the same combos again for another layout is redundant and takes more memory. The solution is to just check the keycodes from one layer.
With `#define COMBO_ONLY_FROM_LAYER _LAYER_A` the combos' keys are always checked from layer `_LAYER_A` even though the active layer would be `_LAYER_B`.
With `#define COMBO_ONLY_FROM_LAYER 0` in config.h, the combos' keys are always checked from layer `0`, even if other layers are active.
## User callbacks

View File

@@ -13,6 +13,13 @@ Currently the following converters are available:
| `promicro` | `proton_c` |
| `promicro` | `kb2040` |
| `promicro` | `promicro_rp2040` |
| `promicro` | `blok` |
| `promicro` | `bit_c_pro` |
| `promicro` | `stemcell` |
| `promicro` | `bonsai_c4` |
| `promicro` | `elite_pi` |
| `elite_c` | `stemcell` |
| `elite_c` | `elite_pi` |
See below for more in depth information on each converter.
@@ -43,15 +50,37 @@ Once a converter is enabled, it exposes the `CONVERT_TO_<target_uppercase>` flag
#endif
```
### Pin Compatibility
To ensure compatibility, provide validation, and power future workflows, a keyboard should declare its `pin compatibility`. For legacy reasons, this is currently assumed to be `promicro`.
Currently the following pin compatibility interfaces are defined:
| Pinout | Notes |
|------------|-----------------------------------|
| `promicro` | Includes RX/TX LEDs |
| `elite_c` | Includes bottom row pins, no LEDs |
To declare the base for conversions, add this line to your keyboard's `rules.mk`:
```makefile
PIN_COMPATIBLE = elite_c
```
## Pro Micro
If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.com/products/12640) (or compatible board), the supported alternative controllers are:
| Device | Target |
|------------------------------------------------------------------------|-------------------|
| [Proton C](https://qmk.fm/proton-c/) | `proton_c` |
| [Adafruit KB2040](https://learn.adafruit.com/adafruit-kb2040) | `kb2040` |
| [SparkFun Pro Micro - RP2040](https://www.sparkfun.com/products/18288) | `promicro_rp2040` |
| Device | Target |
|------------------------------------------------------------------------------------------|-------------------|
| [Proton C](https://qmk.fm/proton-c/) | `proton_c` |
| [Adafruit KB2040](https://learn.adafruit.com/adafruit-kb2040) | `kb2040` |
| [SparkFun Pro Micro - RP2040](https://www.sparkfun.com/products/18288) | `promicro_rp2040` |
| [Blok](https://boardsource.xyz/store/628b95b494dfa308a6581622) | `blok` |
| [Bit-C PRO](https://nullbits.co/bit-c-pro) | `bit_c_pro` |
| [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` |
| [customMK Bonsai C4](https://shop.custommk.com/products/bonsai-c4-microcontroller-board) | `bonsai_c4` |
| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` |
Converter summary:
@@ -60,6 +89,11 @@ Converter summary:
| `proton_c` | `-e CONVERT_TO=proton_c` | `CONVERT_TO=proton_c` | `#ifdef CONVERT_TO_PROTON_C` |
| `kb2040` | `-e CONVERT_TO=kb2040` | `CONVERT_TO=kb2040` | `#ifdef CONVERT_TO_KB2040` |
| `promicro_rp2040` | `-e CONVERT_TO=promicro_rp2040` | `CONVERT_TO=promicro_rp2040` | `#ifdef CONVERT_TO_PROMICRO_RP2040` |
| `blok` | `-e CONVERT_TO=blok` | `CONVERT_TO=blok` | `#ifdef CONVERT_TO_BLOK` |
| `bit_c_pro` | `-e CONVERT_TO=bit_c_pro` | `CONVERT_TO=bit_c_pro` | `#ifdef CONVERT_TO_BIT_C_PRO` |
| `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` |
| `bonsai_c4` | `-e CONVERT_TO=bonsai_c4` | `CONVERT_TO=bonsai_c4` | `#ifdef CONVERT_TO_BONSAI_C4` |
| `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` |
### Proton C :id=proton_c
@@ -90,6 +124,59 @@ The following defaults are based on what has been implemented for [RP2040](platf
| USB Host (e.g. USB-USB converter) | Not supported (USB host code is AVR specific and is not currently supported on ARM) |
| [Split keyboards](feature_split_keyboard.md) | Partial via `PIO` vendor driver - heavily dependent on enabled features |
### SparkFun Pro Micro - RP2040 :id=promicro_rp2040
### SparkFun Pro Micro - RP2040, Blok, Bit-C PRO, and Elite-Pi :id=promicro_rp2040
Currently identical to [Adafruit KB2040](#kb2040).
Currently identical to [Adafruit KB2040](#kb2040).
### STeMCell :id=stemcell
Feature set currently identical to [Proton C](#proton_c).
There are two versions of STeMCell available, with different pinouts:
- v1.0.0
- v2.0.0 (pre-release v1.0.1, v1.0.2)
Default official firmware only supports v2.0.0 STeMCell.
STeMCell has support to swap UART and I2C pins, to enable single-wire uart communication in STM chips.
The following additional flags has to be used while compiling, based on the pin used for split communication.
| Split Pin | Compile flags |
|-----------|---------------|
| D3 | -e STMC_US=yes|
| D2 | Not needed |
| D1 | -e STMC_IS=yes|
| D0 | Not needed |
### Bonsai C4 :id=bonsai_c4
The Bonsai C4 only has one on-board LED (B2), and by default, both the Pro Micro TXLED (D5) and RXLED (B0) are mapped to it. If you want only one of them mapped, you can undefine one and redefine it to another pin by adding these line to your `config.h`:
```c
#undef B0
// If Vbus detection is unused, we can send RXLED to the Vbus detect pin instead
#define B0 PAL_LINE(GPIOA, 9)
```
## Elite-C
If a board currently supported in QMK uses an [Elite-C](https://keeb.io/products/elite-c-low-profile-version-usb-c-pro-micro-replacement-atmega32u4), the supported alternative controllers are:
| Device | Target |
|----------------------------------------------------------------------------------|-------------------|
| [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` |
| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` |
Converter summary:
| Target | Argument | `rules.mk` | Condition |
|-------------------|---------------------------------|------------------------------|-------------------------------------|
| `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` |
| `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` |
### STeMCell :id=stemcell_elite
Currently identical to [STeMCell](#stemcell) with support for the additional bottom row of pins.
### Elite-Pi :id=elite_pi
Currently identical to [Adafruit KB2040](#kb2040), with support for the additional bottom row of pins.

View File

@@ -1,35 +1,117 @@
## Digitizer
# Digitizer :id=digitizer
The digitizer HID interface allows setting the mouse cursor position at absolute coordinates, unlike the Pointing Device feature that applies relative displacements.
Digitizers allow the mouse cursor to be placed at absolute coordinates, unlike the [Pointing Device](feature_pointing_device.md) feature which applies relative displacements.
To enable the digitizer interface, add the following line to your rules.mk:
This feature implements a stylus device with a tip switch and barrel switch (generally equivalent to the primary and secondary mouse buttons respectively). Tip pressure is not currently implemented.
## Usage :id=usage
Add the following to your `rules.mk`:
```make
DIGITIZER_ENABLE = yes
```
In order to change the mouse cursor position from your keymap.c file, include the digitizer header :
## Positioning :id=positioning
The X and Y coordinates are normalized, meaning their value must be set between 0 and 1. For the X component, the value `0` is the leftmost position, whereas the value `1` is the rightmost position. Similarly for the Y component, `0` is at the top and `1` at the bottom.
?> Since there is no display attached, the OS will likely map these coordinates to the virtual desktop. This may be important to know if you have multiple monitors.
## Examples :id=examples
This example simply places the cursor in the middle of the screen:
```c
#include "digitizer.h"
digitizer_in_range_on();
digitizer_set_position(0.5, 0.5);
```
This gives you access to the `digitizer` structure which members allow you to change the cursor position.
The "in range" indicator is required to be on for the change in coordinates to be taken. It can then be turned off again to signal the end of the digitizer interaction, but it is not strictly required.
The coordinates are normalized, meaning there value must be set between 0 and 1. For the `x` coordinate, the value `0` is the leftmost position, whereas the value `1` is the rightmost position.
For the `y` coordinate, `0` is at the top and `1` at the bottom.
Here is an example setting the cursor in the middle of the screen:
You can also modify the digitizer state directly, if you need to change multiple fields in a single report:
```c
digitizer_t digitizer;
digitizer.x = 0.5;
digitizer.y = 0.5;
digitizer.tipswitch = 0;
digitizer.inrange = 1;
digitizer_set_report(digitizer);
digitizer_state.in_range = true;
digitizer_state.dirty = true;
digitizer_flush();
```
The `tipswitch` member triggers what equates to a click when set to `1`. The `inrange` member is required for the change in coordinates to be taken. It can then be set to `0` in a new report to signal the end of the digitizer interaction, but it is not strictly required.
`digitizer_state` is a struct of type `digitizer_t`.
Once all members are set to the desired value, the `status` member needs its bitmask `DZ_UPDATED` to be set so the report is sent during the next main loop iteration.
## API :id=api
### `struct digitizer_t` :id=api-digitizer-t
Contains the state of the digitizer.
#### Members :id=api-digitizer-t-members
- `bool in_range`
Indicates to the host that the contact is within range (ie. close to or in contact with the digitizer surface).
- `bool tip`
The state of the tip switch.
- `bool barrel`
The state of the barrel switch.
- `float x`
The X coordinate of the digitizer contact.
- `float y`
The Y coordinate of the digitizer contact.
- `bool dirty`
Whether the current state needs to be sent to the host.
---
### `void digitizer_flush(void)` :id=api-digitizer-flush
Send the digitizer report to the host if it is marked as dirty.
---
### `void digitizer_in_range_on(void)` :api-digitizer-in-range-on
Assert the "in range" indicator, and flush the report.
---
### `void digitizer_in_range_off(void)` :api-digitizer-in-range-off
Deassert the "in range" indicator, and flush the report.
---
### `void digitizer_tip_switch_on(void)` :api-digitizer-tip-switch-on
Assert the tip switch, and flush the report.
---
### `void digitizer_tip_switch_off(void)` :api-digitizer-tip-switch-off
Deassert the tip switch, and flush the report.
---
### `void digitizer_barrel_switch_on(void)` :api-digitizer-barrel-switch-on
Assert the barrel switch, and flush the report.
---
### `void digitizer_barrel_switch_off(void)` :api-digitizer-barrel-switch-off
Deassert the barrel switch, and flush the report.
---
### `void digitizer_set_position(float x, float y)` :api-digitizer-set-position
Set the absolute X and Y position of the digitizer contact, and flush the report.
#### Arguments :id=api-digitizer-set-position-arguments
- `float x`
The X value of the contact position, from 0 to 1.
- `float y`
The Y value of the contact position, from 0 to 1.

View File

@@ -6,21 +6,21 @@ You can store one or two macros and they may have a combined total of 128 keypre
To enable them, first include `DYNAMIC_MACRO_ENABLE = yes` in your `rules.mk`. Then, add the following keys to your keymap:
|Key |Alias |Description |
|------------------|----------|---------------------------------------------------|
|`DYN_REC_START1` |`DM_REC1` |Start recording Macro 1 |
|`DYN_REC_START2` |`DM_REC2` |Start recording Macro 2 |
|`DYN_MACRO_PLAY1` |`DM_PLY1` |Replay Macro 1 |
|`DYN_MACRO_PLAY2` |`DM_PLY2` |Replay Macro 2 |
|`DYN_REC_STOP` |`DM_RSTP` |Finish the macro that is currently being recorded. |
|Key |Alias |Description |
|---------------------------------|---------|--------------------------------------------------|
|`QK_DYNAMIC_MACRO_RECORD_START_1`|`DM_REC1`|Start recording Macro 1 |
|`QK_DYNAMIC_MACRO_RECORD_START_2`|`DM_REC2`|Start recording Macro 2 |
|`QK_DYNAMIC_MACRO_PLAY_1` |`DM_PLY1`|Replay Macro 1 |
|`QK_DYNAMIC_MACRO_PLAY_2` |`DM_PLY2`|Replay Macro 2 |
|`QK_DYNAMIC_MACRO_RECORD_STOP` |`DM_RSTP`|Finish the macro that is currently being recorded.|
That should be everything necessary.
To start recording the macro, press either `DYN_REC_START1` or `DYN_REC_START2`.
To start recording the macro, press either `DM_REC1` or `DM_REC2`.
To finish the recording, press the `DYN_REC_STOP` layer button. You can also press `DYN_REC_START1` or `DYN_REC_START2` again to stop the recording.
To finish the recording, press the `DM_RSTP` layer button. You can also press `DM_REC1` or `DM_REC2` again to stop the recording.
To replay the macro, press either `DYN_MACRO_PLAY1` or `DYN_MACRO_PLAY2`.
To replay the macro, press either `DM_PLY1` or `DM_PLY2`.
It is possible to replay a macro as part of a macro. It's ok to replay macro 2 while recording macro 1 and vice versa but never create recursive macros i.e. macro 1 that replays macro 1. If you do so and the keyboard will get unresponsive, unplug the keyboard and plug it again. You can disable this completely by defining `DYNAMIC_MACRO_NO_NESTING` in your `config.h` file.
@@ -43,10 +43,10 @@ If the LEDs start blinking during the recording with each keypress, it means the
### DYNAMIC_MACRO_USER_CALL
For users of the earlier versions of dynamic macros: It is still possible to finish the macro recording using just the layer modifier used to access the dynamic macro keys, without a dedicated `DYN_REC_STOP` key. If you want this behavior back, add `#define DYNAMIC_MACRO_USER_CALL` to your `config.h` and insert the following snippet at the beginning of your `process_record_user()` function:
For users of the earlier versions of dynamic macros: It is still possible to finish the macro recording using just the layer modifier used to access the dynamic macro keys, without a dedicated `DM_RSTP` key. If you want this behavior back, add `#define DYNAMIC_MACRO_USER_CALL` to your `config.h` and insert the following snippet at the beginning of your `process_record_user()` function:
```c
uint16_t macro_kc = (keycode == MO(_DYN) ? DYN_REC_STOP : keycode);
uint16_t macro_kc = (keycode == MO(_DYN) ? DM_RSTP : keycode);
if (!process_record_dynamic_macro(macro_kc, record)) {
return false;

134
docs/feature_eeprom.md Normal file
View File

@@ -0,0 +1,134 @@
# Persistent Configuration (EEPROM)
This allows you to configure persistent settings for your keyboard. These settings are stored in the EEPROM of your controller, and are retained even after power loss. The settings can be read with `eeconfig_read_kb` and `eeconfig_read_user`, and can be written to using `eeconfig_update_kb` and `eeconfig_update_user`. This is useful for features that you want to be able to toggle (like toggling rgb layer indication). Additionally, you can use `eeconfig_init_kb` and `eeconfig_init_user` to set the default values for the EEPROM.
The complicated part here, is that there are a bunch of ways that you can store and access data via EEPROM, and there is no "correct" way to do this. However, you only have a DWORD (4 bytes) for each function.
Keep in mind that EEPROM has a limited number of writes. While this is very high, it's not the only thing writing to the EEPROM, and if you write too often, you can potentially drastically shorten the life of your MCU.
* If you don't understand the example, then you may want to avoid using this feature, as it is rather complicated.
## Example Implementation
This is an example of how to add settings, and read and write it. We're using the user keymap for the example here. This is a complex function, and has a lot going on. In fact, it uses a lot of the above functions to work!
In your keymap.c file, add this to the top:
```c
typedef union {
uint32_t raw;
struct {
bool rgb_layer_change :1;
};
} user_config_t;
user_config_t user_config;
```
This sets up a 32 bit structure that we can store settings with in memory, and write to the EEPROM. Using this removes the need to define variables, since they're defined in this structure. Remember that `bool` (boolean) values use 1 bit, `uint8_t` uses 8 bits, `uint16_t` uses up 16 bits. You can mix and match, but changing the order can cause issues, as it will change the values that are read and written.
We're using `rgb_layer_change`, for the `layer_state_set_*` function, and use `keyboard_post_init_user` and `process_record_user` to configure everything.
Now, using the `keyboard_post_init_user` code above, you want to add `eeconfig_read_user()` to it, to populate the structure you've just created. And you can then immediately use this structure to control functionality in your keymap. And It should look like:
```c
void keyboard_post_init_user(void) {
// Call the keymap level matrix init.
// Read the user config from EEPROM
user_config.raw = eeconfig_read_user();
// Set default layer, if enabled
if (user_config.rgb_layer_change) {
rgblight_enable_noeeprom();
rgblight_sethsv_noeeprom(HSV_CYAN);
rgblight_mode_noeeprom(1);
}
}
```
The above function will use the EEPROM config immediately after reading it, to set the default layer's RGB color. The "raw" value of it is converted in a usable structure based on the "union" that you created above.
```c
layer_state_t layer_state_set_user(layer_state_t state) {
switch (get_highest_layer(state)) {
case _RAISE:
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom(HSV_MAGENTA); rgblight_mode_noeeprom(1); }
break;
case _LOWER:
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom(HSV_RED); rgblight_mode_noeeprom(1); }
break;
case _PLOVER:
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom(HSV_GREEN); rgblight_mode_noeeprom(1); }
break;
case _ADJUST:
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom(HSV_WHITE); rgblight_mode_noeeprom(1); }
break;
default: // for any other layers, or the default layer
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom(HSV_CYAN); rgblight_mode_noeeprom(1); }
break;
}
return state;
}
```
This will cause the RGB underglow to be changed ONLY if the value was enabled. Now to configure this value, create a new keycode for `process_record_user` called `RGB_LYR`. Additionally, we want to make sure that if you use the normal RGB codes, that it turns off Using the example above, make it look this:
```c
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case FOO:
if (record->event.pressed) {
// Do something when pressed
} else {
// Do something else when release
}
return false; // Skip all further processing of this key
case KC_ENTER:
// Play a tone when enter is pressed
if (record->event.pressed) {
PLAY_SONG(tone_qwerty);
}
return true; // Let QMK send the enter press/release events
case RGB_LYR: // This allows me to use underglow as layer indication, or as normal
if (record->event.pressed) {
user_config.rgb_layer_change ^= 1; // Toggles the status
eeconfig_update_user(user_config.raw); // Writes the new status to EEPROM
if (user_config.rgb_layer_change) { // if layer state indication is enabled,
layer_state_set(layer_state); // then immediately update the layer color
}
}
return false;
case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // For any of the RGB codes (see quantum_keycodes.h, L400 for reference)
if (record->event.pressed) { //This disables layer indication, as it's assumed that if you're changing this ... you want that disabled
if (user_config.rgb_layer_change) { // only if this is enabled
user_config.rgb_layer_change = false; // disable it, and
eeconfig_update_user(user_config.raw); // write the setings to EEPROM
}
}
return true; break;
default:
return true; // Process all other keycodes normally
}
}
```
And lastly, you want to add the `eeconfig_init_user` function, so that when the EEPROM is reset, you can specify default values, and even custom actions. To force an EEPROM reset, use the `EE_CLR` keycode or [Bootmagic Lite](feature_bootmagic.md) functionallity. For example, if you want to set rgb layer indication by default, and save the default valued.
```c
void eeconfig_init_user(void) { // EEPROM is getting reset!
user_config.raw = 0;
user_config.rgb_layer_change = true; // We want this enabled by default
eeconfig_update_user(user_config.raw); // Write default value to EEPROM now
// use the non noeeprom versions, to write these values to EEPROM too
rgblight_enable(); // Enable RGB by default
rgblight_sethsv(HSV_CYAN); // Set it to CYAN by default
rgblight_mode(1); // set to solid by default
}
```
And you're done. The RGB layer indication will only work if you want it to. And it will be saved, even after unplugging the board. And if you use any of the RGB codes, it will disable the layer indication, so that it stays on the mode and color that you set it to.
## 'EECONFIG' Function Documentation
* Keyboard/Revision: `void eeconfig_init_kb(void)`, `uint32_t eeconfig_read_kb(void)` and `void eeconfig_update_kb(uint32_t val)`
* Keymap: `void eeconfig_init_user(void)`, `uint32_t eeconfig_read_user(void)` and `void eeconfig_update_user(uint32_t val)`
The `val` is the value of the data that you want to write to EEPROM. And the `eeconfig_read_*` function return a 32 bit (DWORD) value from the EEPROM.

View File

@@ -67,9 +67,11 @@ Additionally, if one side does not have an encoder, you can specify `{}` for the
#define ENCODER_RESOLUTIONS_RIGHT { 4 }
```
!> Keep in mind that whenver you change the encoder resolution, you will need to reflash the half that has the encoder affected by the change.
## Encoder map :id=encoder-map
Encoder mapping may be added to your `keymap.c`, which replicates the normal keyswitch layer handling functionality, but with encoders. Add this to your `rules.mk`:
Encoder mapping may be added to your `keymap.c`, which replicates the normal keyswitch layer handling functionality, but with encoders. Add this to your keymap's `rules.mk`:
```make
ENCODER_MAP_ENABLE = yes
@@ -88,6 +90,16 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif
```
?> This should only be enabled at the keymap level.
Using encoder mapping pumps events through the normal QMK keycode processing pipeline, resulting in a _keydown/keyup_ combination pushed through `process_record_xxxxx()`. To configure the amount of time between the encoder "keyup" and "keydown", you can add the following to your `config.h`:
```c
#define ENCODER_MAP_KEY_DELAY 10
```
?> By default, the encoder map delay matches the value of `TAP_CODE_DELAY`.
## Callbacks
When not using `ENCODER_MAP_ENABLE = yes`, the callback functions can be inserted into your `<keyboard>.c`:
@@ -119,40 +131,43 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
}
```
!> If you return `true`, it will allow the keyboard level code to run as well. Returning `false` will override the keyboard level code, depending on how the keyboard function is set up.
!> If you return `true`, it will allow the keyboard level code to run as well. Returning `false` will override the keyboard level code, depending on how the keyboard function is set up.
Layer conditions can also be used with the callback function like the following:
```c
bool encoder_update_user(uint8_t index, bool clockwise) {
if (get_highest_layer(layer_state|default_layer_state) > 0) {
if (index == 0) {
if (clockwise) {
tap_code(KC_WH_D);
} else {
tap_code(KC_WH_U);
switch(get_highest_layer(layer_state|default_layer_state)) {
case 0:
if (index == 0) {
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
} else if (index == 1) {
if (clockwise) {
rgb_matrix_increase_speed();
} else {
rgb_matrix_decrease_speed();
}
}
} else if (index == 1) {
if (clockwise) {
tap_code_delay(KC_VOLU, 10);
} else {
tap_code_delay(KC_VOLD, 10);
break;
case 1:
if (index == 0) {
if (clockwise) {
tap_code(KC_WH_D);
} else {
tap_code(KC_WH_U);
}
} else if (index == 1) {
if (clockwise) {
tap_code_delay(KC_VOLU, 10);
} else {
tap_code_delay(KC_VOLD, 10);
}
}
}
} else { /* Layer 0 */
if (index == 0) {
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
} else if (index == 1) {
if (clockwise) {
rgb_matrix_increase_speed();
} else {
rgb_matrix_decrease_speed();
}
}
break;
}
return false;
}
@@ -169,7 +184,7 @@ The A an B lines of the encoders should be wired directly to the MCU, and the C/
Multiple encoders may share pins so long as each encoder has a distinct pair of pins when the following conditions are met:
- using detent encoders
- pads must be high at the detent stability point which is called 'default position' in QMK
- no more than two encoders sharing a pin can be turned at the same time
- no more than two encoders sharing a pin can be turned at the same time
For example you can support two encoders using only 3 pins like this
```
@@ -182,4 +197,4 @@ You could even support three encoders using only three pins (one per encoder) ho
#define ENCODERS_PAD_A { B1, B1, B2 }
#define ENCODERS_PAD_B { B2, B3, B3 }
```
Here rotating Encoder 0 `B1 B2` and Encoder 1 `B1 B3` could be interpreted as rotating Encoder 2 `B2 B3` or `B3 B2` depending on the timing. This may still be a useful configuration depending on your use case
Here rotating Encoder 0 `B1 B2` and Encoder 1 `B1 B3` could be interpreted as rotating Encoder 2 `B2 B3` or `B3 B2` depending on the timing. This may still be a useful configuration depending on your use case

View File

@@ -32,21 +32,21 @@ The following `config.h` settings are available for all types of haptic feedback
Not all keycodes below will work depending on which haptic mechanism you have chosen.
| Name | Description |
|-----------|-------------------------------------------------------|
|`HPT_ON` | Turn haptic feedback on |
|`HPT_OFF` | Turn haptic feedback off |
|`HPT_TOG` | Toggle haptic feedback on/off |
|`HPT_RST` | Reset haptic feedback config to default |
|`HPT_FBK` | Toggle feedback to occur on keypress, release or both |
|`HPT_BUZ` | Toggle solenoid buzz on/off |
|`HPT_MODI` | Go to next DRV2605L waveform |
|`HPT_MODD` | Go to previous DRV2605L waveform |
|`HPT_CONT` | Toggle continuous haptic mode on/off |
|`HPT_CONI` | Increase DRV2605L continous haptic strength |
|`HPT_COND` | Decrease DRV2605L continous haptic strength |
|`HPT_DWLI` | Increase Solenoid dwell time |
|`HPT_DWLD` | Decrease Solenoid dwell time |
| Key | Aliases | Description |
|-----------------------------|---------|-------------------------------------------------------|
|`QK_HAPTIC_ON` |`HF_ON` | Turn haptic feedback on |
|`QK_HAPTIC_OFF` |`HF_OFF` | Turn haptic feedback off |
|`QK_HAPTIC_TOGGLE` |`HF_TOGG`| Toggle haptic feedback on/off |
|`QK_HAPTIC_RESET` |`HF_RST` | Reset haptic feedback config to default |
|`QK_HAPTIC_FEEDBACK_TOGGLE` |`HF_FDBK`| Toggle feedback to occur on keypress, release or both |
|`QK_HAPTIC_BUZZ_TOGGLE` |`HF_BUZZ`| Toggle solenoid buzz on/off |
|`QK_HAPTIC_MODE_NEXT` |`HF_NEXT`| Go to next DRV2605L waveform |
|`QK_HAPTIC_MODE_PREVIOUS` |`HF_PREV`| Go to previous DRV2605L waveform |
|`QK_HAPTIC_CONTINUOUS_TOGGLE`|`HF_CONT`| Toggle continuous haptic mode on/off |
|`QK_HAPTIC_CONTINUOUS_UP` |`HF_CONU`| Increase DRV2605L continous haptic strength |
|`QK_HAPTIC_CONTINUOUS_DOWN` |`HF_COND`| Decrease DRV2605L continous haptic strength |
|`QK_HAPTIC_DWELL_UP` |`HF_DWLU`| Increase Solenoid dwell time |
|`QK_HAPTIC_DWELL_DOWN` |`HF_DWLD`| Decrease Solenoid dwell time |
### Solenoids
@@ -68,8 +68,8 @@ For relay switches, the hardware may already contain all of that ciruitry, and j
|`SOLENOID_DEFAULT_DWELL` | `12` ms |Configures the default dwell time for the switch. |
|`SOLENOID_MIN_DWELL` | `4` ms |Sets the lower limit for the dwell. |
|`SOLENOID_MAX_DWELL` | `100` ms |Sets the upper limit for the dwell. |
|`SOLENOID_DWELL_STEP_SIZE` | `1` ms |The step size to use when `HPT_DWL*` keycodes are sent. |
|`SOLENOID_DEFAULT_BUZZ` | `0` (disabled) |On HPT_RST buzz is set "on" if this is "1" |
|`SOLENOID_DWELL_STEP_SIZE` | `1` ms |The step size to use when `HF_DWL*` keycodes are sent. |
|`SOLENOID_DEFAULT_BUZZ` | `0` (disabled) |On `HF_RST` buzz is set "on" if this is "1" |
|`SOLENOID_BUZZ_ACTUATED` | `SOLENOID_MIN_DWELL` |Actuated-time when the switch is in buzz mode. |
|`SOLENOID_BUZZ_NONACTUATED` | `SOLENOID_MIN_DWELL` |Non-Actuated-time when the switch is in buzz mode. |
@@ -178,7 +178,7 @@ If haptic feedback is enabled, the keyboard will vibrate to a specific sequence
```
#define DRV_MODE_DEFAULT *sequence name or number*
```
This will set what sequence HPT_RST will set as the active mode. If not defined, mode will be set to 1 when HPT_RST is pressed.
This will set what sequence `HF_RST` will set as the active mode. If not defined, mode will be set to 1 when `HF_RST` is pressed.
### DRV2605L Continuous Haptic Mode

View File

@@ -1,154 +1,228 @@
## Joystick
# Joystick :id=joystick
The keyboard can be made to be recognized as a joystick HID device by the operating system.
This feature provides game controller input as a joystick device supporting up to 6 axes and 32 buttons. Axes can be read either from an [ADC-capable input pin](adc_driver.md), or can be virtual, so that its value is provided by your code.
!> Joystick support is not currently available on V-USB devices.
An analog device such as a [potentiometer](https://en.wikipedia.org/wiki/Potentiometer) found on an analog joystick's axes is based on a voltage divider, where adjusting the movable wiper controls the output voltage which can then be read by the microcontroller's ADC.
The joystick feature provides two services:
* reading analog input devices (eg. potentiometers)
* sending gamepad HID reports
## Usage :id=usage
Both services can be used without the other, depending on whether you just want to read a device but not send gamepad reports (for volume control for instance)
or send gamepad reports based on values computed by the keyboard.
### Analog Input
To use analog input you must first enable it in `rules.mk`:
Add the following to your `rules.mk`:
```make
JOYSTICK_ENABLE = yes
JOYSTICK_DRIVER = analog # or 'digital'
```
An analog device such as a potentiometer found on a gamepad's analog axes is based on a [voltage divider](https://en.wikipedia.org/wiki/Voltage_divider).
It is composed of three connectors linked to the ground, the power input and power output (usually the middle one). The power output holds the voltage that varies based on the position of the cursor,
which value will be read using your MCU's [ADC](https://en.wikipedia.org/wiki/Analog-to-digital_converter).
Depending on which pins are already used by your keyboard's matrix, the rest of the circuit can get a little bit more complicated,
feeding the power input and ground connection through pins and using diodes to avoid bad interactions with the matrix scanning procedures.
By default the joystick driver is `analog`, but you can change this with:
### Configuring the Joystick
```make
JOYSTICK_DRIVER = digital
```
By default, two axes and eight buttons are defined. This can be changed in your `config.h`:
## Configuration :id=configuration
By default, two axes and eight buttons are defined, with a reported resolution of 8 bits (-127 to +127). This can be changed in your `config.h`:
```c
// Max 32
// Min 0, max 32
#define JOYSTICK_BUTTON_COUNT 16
// Max 6: X, Y, Z, Rx, Ry, Rz
#define JOYSTICK_AXES_COUNT 3
// Min 0, max 6: X, Y, Z, Rx, Ry, Rz
#define JOYSTICK_AXIS_COUNT 3
// Min 8, max 16
#define JOYSTICK_AXIS_RESOLUTION 10
```
When defining axes for your joystick, you have to provide a definition array. You can do this from your keymap.c file.
A joystick will either be read from an input pin that allows the use of the ADC, or can be virtual, so that its value is provided by your code.
You have to define an array of type ''joystick_config_t'' and of proper size.
?> You must define at least one button or axis. Also note that the maximum ADC resolution of the supported AVR MCUs is 10-bit, and 12-bit for most STM32 MCUs.
There are three ways for your circuit to work with the ADC, that relies on the use of 1, 2 or 3 pins of the MCU:
* 1 pin: your analog device is directly connected to your device GND and VCC. The only pin used is the ADC pin of your choice.
* 2 pins: your analog device is powered through a pin that allows toggling it on or off. The other pin is used to read the input value through the ADC.
* 3 pins: both the power input and ground are connected to pins that must be set to a proper state before reading and restored afterwards.
### Axes :id=axes
The configuration of each axis is performed using one of four macros:
* `JOYSTICK_AXIS_VIRTUAL`: no ADC reading must be performed, that value will be provided by keyboard/keymap-level code
* `JOYSTICK_AXIS_IN(INPUT_PIN, LOW, REST, HIGH)`: a voltage will be read on the provided pin, which must be an ADC-capable pin.
* `JOYSTICK_AXIS_IN_OUT(INPUT_PIN, OUTPUT_PIN, LOW, REST, HIGH)`: the provided `OUTPUT_PIN` will be set high before `INPUT_PIN` is read.
* `JOYSTICK_AXIS_IN_OUT_GROUND(INPUT_PIN, OUTPUT_PIN, GROUND_PIN, LOW, REST, HIGH)`: the `OUTPUT_PIN` will be set high and `GROUND_PIN` will be set low before reading from `INPUT_PIN`.
When defining axes for your joystick, you must provide a definition array typically in your `keymap.c`.
In any case where an ADC reading takes place (when `INPUT_PIN` is provided), additional `LOW`, `REST` and `HIGH` parameters are used.
These implement the calibration of the analog device by defining the range of read values that will be mapped to the lowest, resting position and highest possible value for the axis (-127 to 127).
In practice, you have to provide the lowest/highest raw ADC reading, and the raw reading at resting position, when no deflection is applied. You can provide inverted `LOW` and `HIGH` to invert the axis.
For instance, an axes configuration can be defined in the following way:
For instance, the below example configures two axes. The X axis is read from the `A4` pin. With the default axis resolution of 8 bits, the range of values between 900 and 575 are scaled to -127 through 0, and values 575 to 285 are scaled to 0 through 127. The Y axis is configured as a virtual axis, and its value is not read from any pin. Instead, the user must update the axis value programmatically.
```c
//joystick config
joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = {
[0] = JOYSTICK_AXIS_IN_OUT_GROUND(A4, B0, A7, 900, 575, 285),
[1] = JOYSTICK_AXIS_VIRTUAL
JOYSTICK_AXIS_IN(A4, 900, 575, 285),
JOYSTICK_AXIS_VIRTUAL
};
```
When the ADC reads 900 or higher, the returned axis value will be -127, whereas it will be 127 when the ADC reads 285 or lower. Zero is returned when 575 is read.
Axes can be configured using one of the following macros:
In this example, the first axis will be read from the `A4` pin while `B0` is set high and `A7` is set low, using `analogReadPin()`, whereas the second axis will not be read.
* `JOYSTICK_AXIS_IN(input_pin, low, rest, high)`
The ADC samples the provided pin. `low`, `high` and `rest` correspond to the minimum, maximum, and resting (or centered) analog values of the axis, respectively.
* `JOYSTICK_AXIS_IN_OUT(input_pin, output_pin, low, rest, high)`
Same as `JOYSTICK_AXIS_IN()`, but the provided `output_pin` will be pulled high before `input_pin` is read.
* `JOYSTICK_AXIS_IN_OUT_GROUND(input_pin, output_pin, ground_pin, low, rest, high)`
Same as `JOYSTICK_AXIS_IN_OUT()`, but the provided `ground_pin` will be pulled low before reading from `input_pin`.
* `JOYSTICK_AXIS_VIRTUAL`
No ADC reading is performed. The value should be provided by user code.
In order to give a value to the second axis, you can do so in any customizable entry point: as an action, in `process_record_user()` or in `matrix_scan_user()`, or even in `joystick_task()` which is called even when no key has been pressed.
You assign a value by writing to `joystick_status.axes[axis_index]` a signed 8-bit value (ranging from -127 to 127). Then it is necessary to assign the flag `JS_UPDATED` to `joystick_status.status` in order for an updated HID report to be sent.
The `low` and `high` values can be swapped to effectively invert the axis.
The following example writes two axes based on keypad presses, with `KC_P5` as a precision modifier:
#### Virtual Axes :id=virtual-axes
The following example adjusts two virtual axes (X and Y) based on keypad presses, with `KC_P0` as a precision modifier:
```c
#ifdef ANALOG_JOYSTICK_ENABLE
static uint8_t precision_val = 70;
static uint8_t axesFlags = 0;
enum axes {
Precision = 1,
Axis1High = 2,
Axis1Low = 4,
Axis2High = 8,
Axis2Low = 16
joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = {
JOYSTICK_AXIS_VIRTUAL, // x
JOYSTICK_AXIS_VIRTUAL // y
};
#endif
static bool precision = false;
static uint16_t precision_mod = 64;
static uint16_t axis_val = 127;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch(keycode) {
#ifdef ANALOG_JOYSTICK_ENABLE
// virtual joystick
# if JOYSTICK_AXES_COUNT > 1
int16_t precision_val = axis_val;
if (precision) {
precision_val -= precision_mod;
}
switch (keycode) {
case KC_P8:
if (record->event.pressed) {
axesFlags |= Axis2Low;
} else {
axesFlags &= ~Axis2Low;
}
joystick_status.status |= JS_UPDATED;
break;
joystick_set_axis(1, record->event.pressed ? -precision_val : 0);
return false;
case KC_P2:
if (record->event.pressed) {
axesFlags |= Axis2High;
} else {
axesFlags &= ~Axis2High;
}
joystick_status.status |= JS_UPDATED;
break;
# endif
joystick_set_axis(1, record->event.pressed ? precision_val : 0);
return false;
case KC_P4:
if (record->event.pressed) {
axesFlags |= Axis1Low;
} else {
axesFlags &= ~Axis1Low;
}
joystick_status.status |= JS_UPDATED;
break;
joystick_set_axis(0, record->event.pressed ? -precision_val : 0);
return false;
case KC_P6:
if (record->event.pressed) {
axesFlags |= Axis1High;
} else {
axesFlags &= ~Axis1High;
}
joystick_status.status |= JS_UPDATED;
break;
case KC_P5:
if (record->event.pressed) {
axesFlags |= Precision;
} else {
axesFlags &= ~Precision;
}
joystick_status.status |= JS_UPDATED;
break;
#endif
joystick_set_axis(0, record->event.pressed ? precision_val : 0);
return false;
case KC_P0:
precision = record->event.pressed;
return false;
}
return true;
}
```
### Axis Resolution
## Keycodes :id=keycodes
By default, the resolution of each axis is 8 bit, giving a range of -127 to +127. If you need higher precision, you can increase it by defining eg. `JOYSTICK_AXES_RESOLUTION 12` in your `config.h`. The resolution must be between 8 and 16.
|Key |Aliases|Description|
|-----------------------|-------|-----------|
|`QK_JOYSTICK_BUTTON_0` |`JS_0` |Button 0 |
|`QK_JOYSTICK_BUTTON_1` |`JS_1` |Button 1 |
|`QK_JOYSTICK_BUTTON_2` |`JS_2` |Button 2 |
|`QK_JOYSTICK_BUTTON_3` |`JS_3` |Button 3 |
|`QK_JOYSTICK_BUTTON_4` |`JS_4` |Button 4 |
|`QK_JOYSTICK_BUTTON_5` |`JS_5` |Button 5 |
|`QK_JOYSTICK_BUTTON_6` |`JS_6` |Button 6 |
|`QK_JOYSTICK_BUTTON_7` |`JS_7` |Button 7 |
|`QK_JOYSTICK_BUTTON_8` |`JS_8` |Button 8 |
|`QK_JOYSTICK_BUTTON_9` |`JS_9` |Button 9 |
|`QK_JOYSTICK_BUTTON_10`|`JS_10`|Button 10 |
|`QK_JOYSTICK_BUTTON_11`|`JS_11`|Button 11 |
|`QK_JOYSTICK_BUTTON_12`|`JS_12`|Button 12 |
|`QK_JOYSTICK_BUTTON_13`|`JS_13`|Button 13 |
|`QK_JOYSTICK_BUTTON_14`|`JS_14`|Button 14 |
|`QK_JOYSTICK_BUTTON_15`|`JS_15`|Button 15 |
|`QK_JOYSTICK_BUTTON_16`|`JS_16`|Button 16 |
|`QK_JOYSTICK_BUTTON_17`|`JS_17`|Button 17 |
|`QK_JOYSTICK_BUTTON_18`|`JS_18`|Button 18 |
|`QK_JOYSTICK_BUTTON_19`|`JS_19`|Button 19 |
|`QK_JOYSTICK_BUTTON_20`|`JS_20`|Button 20 |
|`QK_JOYSTICK_BUTTON_21`|`JS_21`|Button 21 |
|`QK_JOYSTICK_BUTTON_22`|`JS_22`|Button 22 |
|`QK_JOYSTICK_BUTTON_23`|`JS_23`|Button 23 |
|`QK_JOYSTICK_BUTTON_24`|`JS_24`|Button 24 |
|`QK_JOYSTICK_BUTTON_25`|`JS_25`|Button 25 |
|`QK_JOYSTICK_BUTTON_26`|`JS_26`|Button 26 |
|`QK_JOYSTICK_BUTTON_27`|`JS_27`|Button 27 |
|`QK_JOYSTICK_BUTTON_28`|`JS_28`|Button 28 |
|`QK_JOYSTICK_BUTTON_29`|`JS_29`|Button 29 |
|`QK_JOYSTICK_BUTTON_30`|`JS_30`|Button 30 |
|`QK_JOYSTICK_BUTTON_31`|`JS_31`|Button 31 |
Note that the supported AVR MCUs have a 10-bit ADC, and 12-bit for most STM32 MCUs.
## API :id=api
### Triggering Joystick Buttons
### `struct joystick_t` :id=api-joystick-t
Joystick buttons are normal Quantum keycodes, defined as `JS_BUTTON0` to `JS_BUTTON31`, depending on the number of buttons you have configured.
To trigger a joystick button, just add the corresponding keycode to your keymap.
Contains the state of the joystick.
You can also trigger joystick buttons in code with `register_joystick_button(button)` and `unregister_joystick_button(button)`, where `button` is the 0-based button index (0 = button 1).
#### Members :id=api-joystick-t-members
- `uint8_t buttons[]`
A bit-packed array containing the joystick button states. The size is calculated as `(JOYSTICK_BUTTON_COUNT - 1) / 8 + 1`.
- `int16_t axes[]`
An array of analog values for each defined axis.
- `bool dirty`
Whether the current state needs to be sent to the host.
---
### `struct joystick_config_t` :id=api-joystick-config-t
Describes a single axis.
#### Members :id=api-joystick-config-t-members
- `pin_t output_pin`
A pin to set as output high when reading the analog value, or `JS_VIRTUAL_AXIS`.
- `pin_t input_pin`
The pin to read the analog value from, or `JS_VIRTUAL_AXIS`.
- `pin_t ground_pin`
A pin to set as output low when reading the analog value, or `JS_VIRTUAL_AXIS`.
- `uint16_t min_digit`
The minimum analog value.
- `uint16_t mid_digit`
The resting or midpoint analog value.
- `uint16_t max_digit`
The maximum analog value.
---
### `void joystick_flush(void)` :id=api-joystick-flush
Send the joystick report to the host, if it has been marked as dirty.
---
### `void register_joystick_button(uint8_t button)` :id=api-register-joystick-button
Set the state of a button, and flush the report.
#### Arguments :id=api-register-joystick-button-arguments
- `uint8_t button`
The index of the button to press, from 0 to 31.
---
### `void unregister_joystick_button(uint8_t button)` :id=api-unregister-joystick-button
Reset the state of a button, and flush the report.
#### Arguments :id=api-unregister-joystick-button-arguments
- `uint8_t button`
The index of the button to release, from 0 to 31.
---
### `int16_t joystick_read_axis(uint8_t axis)` :id=api-joystick-read-axis
Sample and process the analog value of the given axis.
#### Arguments :id=api-joystick-read-axis-arguments
- `uint8_t axis`
The axis to read.
#### Return Value :id=api-joystick-read-axis-return
A signed 16-bit integer, where 0 is the resting or mid point.
### `void joystick_set_axis(uint8_t axis, int16_t value)` :id=api-joystick-set-axis
Set the value of the given axis.
#### Arguments :id=api-joystick-set-axis-arguments
- `uint8_t axis`
The axis to set the value of.
- `int16_t value`
The value to set.

View File

@@ -2,21 +2,21 @@
Sometimes you may find yourself needing to hold down a specific key for a long period of time. Key Lock holds down the next key you press for you. Press it again, and it will be released.
Let's say you need to type in ALL CAPS for a few sentences. Hit `KC_LOCK`, and then Shift. Now, Shift will be considered held until you tap it again. You can think of Key Lock as Caps Lock, but supercharged.
Let's say you need to type in ALL CAPS for a few sentences. Hit `QK_LOCK`, and then Shift. Now, Shift will be considered held until you tap it again. You can think of Key Lock as Caps Lock, but supercharged.
## Usage
First, enable Key Lock by setting `KEY_LOCK_ENABLE = yes` in your `rules.mk`. Then pick a key in your keymap and assign it the keycode `KC_LOCK`.
First, enable Key Lock by setting `KEY_LOCK_ENABLE = yes` in your `rules.mk`. Then pick a key in your keymap and assign it the keycode `QK_LOCK`.
## Keycodes
|Keycode |Description |
|---------|--------------------------------------------------------------|
|`KC_LOCK`|Hold down the next key pressed, until the key is pressed again|
|`QK_LOCK`|Hold down the next key pressed, until the key is pressed again|
## Caveats
Key Lock is only able to hold standard action keys and [One Shot modifier](one_shot_keys.md) keys (for example, if you have your Shift defined as `OSM(KC_LSFT)`).
Key Lock is only able to hold standard action keys and [One Shot modifier](one_shot_keys.md) keys (for example, if you have your Shift defined as `OSM(MOD_LSFT)`).
This does not include any of the QMK special functions (except One Shot modifiers), or shifted versions of keys such as `KC_LPRN`. If it's in the [Basic Keycodes](keycodes_basic.md) list, it can be held.
Switching layers will not cancel the Key Lock. The Key Lock can be cancelled by calling the `cancel_key_lock()` function.

View File

@@ -150,15 +150,13 @@ const key_override_t fn_override = {.trigger_mods = MOD_BIT(KC_RGUI) |
.enabled = NULL};
```
## Keycodes
## Keycodes
You can enable, disable and toggle all key overrides on the fly.
|Keycode |Description |Function Equivalent|
|----------|---------------------------------|--------|
|`KEY_OVERRIDE_ON` |Turns on Key Override feature | `key_override_on(void)`|
|`KEY_OVERRIDE_OFF` |Turns off Key Override feature |`key_override_off(void)`|
|`KEY_OVERRIDE_TOGGLE` |Toggles Key Override feature on and off |`key_override_toggle(void)`|
|Keycode |Aliases |Description |
|------------------------|---------|----------------------|
|`QK_KEY_OVERRIDE_TOGGLE`|`KO_TOGG`|Toggle key overrides |
|`QK_KEY_OVERRIDE_ON` |`KO_ON` |Turn on key overrides |
|`QK_KEY_OVERRIDE_OFF` |`KO_OFF` |Turn off key overrides|
## Reference for `key_override_t`

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