Compare commits

...

2094 Commits

Author SHA1 Message Date
Zach White 9eaee65ac3 make custom keycodes actually work 2021-09-09 08:07:34 -07:00
Zach White 5b0b8ba654 move clueboard/2x1800/2019 to json custom keycodes 2021-09-08 23:16:13 -07:00
Zach White 0a33ce0659 wip: support for custom keycodes in json 2021-09-08 23:15:54 -07:00
QMK Bot ac4849df13 Merge remote-tracking branch 'origin/master' into develop 2021-09-09 03:20:08 +00:00
Drashna Jaelre 6d43a5daf4 Backport F_CPU/F_USB hack from system76 (#14286)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-08 20:19:06 -07:00
QMK Bot f03e78e888 Merge remote-tracking branch 'origin/master' into develop 2021-09-09 02:45:20 +00:00
Felix Jen cb4006c0b4 [Keymap] Fix Maker Keyboards Alexa Keymap (#14355) 2021-09-08 19:44:52 -07:00
QMK Bot 588a3afe40 Merge remote-tracking branch 'origin/master' into develop 2021-09-09 02:14:37 +00:00
Ethan Yates 891ddd9a30 [Keyboard] Add 61Key (#14259)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-08 19:14:03 -07:00
QMK Bot 1837d98425 Merge remote-tracking branch 'origin/master' into develop 2021-09-09 01:35:09 +00:00
JayceFayne f3bef84dac ST7565_TIMEOUT 0 and ST7565_DISABLE_TIMEOUT should behave the same (#14315) 2021-09-08 18:34:49 -07:00
JayceFayne da81e5c7cd OLED TIMEOUT 0 and OLED_DISABLE_TIMEOUT should behave the same (#14302) 2021-09-08 18:34:34 -07:00
QMK Bot d961d8df83 Merge remote-tracking branch 'origin/master' into develop 2021-09-09 01:11:20 +00:00
Drashna Jaelre 853e56d080 [Keyboard] Minor tweaks to Work Board layout (#14351) 2021-09-08 18:10:43 -07:00
QMK Bot 8fa2a7ea2a Merge remote-tracking branch 'origin/master' into develop 2021-09-09 00:28:34 +00:00
Ryan 9e77cdf4e6 Bugfix for Joystick and JSON schema (#14295) 2021-09-09 10:27:58 +10:00
QMK Bot 60c985ac8e Merge remote-tracking branch 'origin/master' into develop 2021-09-08 23:58:10 +00:00
rhmokey 3f2a030de6 [Keyboard] Add new Mokey keyboard (#14329)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-08 16:57:43 -07:00
QMK Bot cab0d7955f Merge remote-tracking branch 'origin/master' into develop 2021-09-08 23:55:47 +00:00
Gastón Jorquera d510f6afa9 [Keymap] Add Gaston's Lily58 custom keymap (#14334)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Gaston Jorquera <gjorquera@gmail.com>
2021-09-08 16:55:12 -07:00
QMK Bot 24000ef2e1 Merge remote-tracking branch 'origin/master' into develop 2021-09-08 23:53:13 +00:00
Drashna Jaelre 4294aa0f1e [Keyboard] Tractyl Manuform - configuration updates (#14314)
* [Keyboard] Tractyl Manuform - configuration updates

* Update readmes

* Add more details

* Fix issues with encoder pins

* Additional fixes for pin config

* Fix up some comments
2021-09-08 16:52:43 -07:00
QMK Bot 983580322f Merge remote-tracking branch 'origin/master' into develop 2021-09-08 23:03:20 +00:00
Keenan Brock 8f8411a98a [Keyboard] Add VIA keymap for the reviung39 (#14234) 2021-09-08 16:02:50 -07:00
QMK Bot 38afc7e4cc Merge remote-tracking branch 'origin/master' into develop 2021-09-08 22:44:49 +00:00
Joel Challis 2e0659f7fd Fixes for recent i2c migrations (#14352) 2021-09-08 15:44:18 -07:00
Ryan d977e5d3e9 Remove Arduino-style analogRead() (#14348) 2021-09-08 14:37:59 +01:00
QMK Bot 9b3e973aa2 Merge remote-tracking branch 'origin/master' into develop 2021-09-08 07:35:06 +00:00
jackytrabbit 9c175f1801 [Keyboard] Update VIA support for lazydesigners/the40 (#14240)
Co-authored-by: Joel Challis <git@zvecr.com>
2021-09-08 00:34:36 -07:00
QMK Bot 4164f4148b Merge remote-tracking branch 'origin/master' into develop 2021-09-08 06:54:03 +00:00
Gabriel Bustamante 541e101291 [Keymap] New keymap for bm40 (#14182) 2021-09-07 23:53:33 -07:00
QMK Bot 6482fb9911 Merge remote-tracking branch 'origin/master' into develop 2021-09-08 04:07:40 +00:00
Rifaa Subekti 3ef01a3482 [Keyboard] add wang ergo (#14245)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-07 21:07:00 -07:00
QMK Bot 1498ecaa24 Merge remote-tracking branch 'origin/master' into develop 2021-09-08 03:24:22 +00:00
James Young 1ebaec96e7 Sneakbox Ava tidy-up (#14298) 2021-09-07 20:23:45 -07:00
QMK Bot 456f7019de Merge remote-tracking branch 'origin/master' into develop 2021-09-08 03:02:25 +00:00
IFo Hancroft 267ffb9914 [Keymap] Adding IFo Hancroft's ErgoDox EZ Keymap (#14342) 2021-09-07 20:01:58 -07:00
QMK Bot 4ba8305a5c Merge remote-tracking branch 'origin/master' into develop 2021-09-08 01:54:23 +00:00
Drashna Jaelre 0b8d6df390 [Keyboard] Fix issues with 3w6 rev2 matrix (#14346) 2021-09-08 02:53:55 +01:00
QMK Bot f6b0484f0f Merge remote-tracking branch 'origin/master' into develop 2021-09-08 01:23:43 +00:00
Joel Challis 60c5bd7b5e handwired/dactyl - Refactor use of legacy i2c implementation (#14344) 2021-09-07 18:23:11 -07:00
QMK Bot af19461a02 Merge remote-tracking branch 'origin/master' into develop 2021-09-07 15:35:32 +00:00
Joel Challis 04c0704b28 3w6 - Refactor use of AVR only I2C functions (#14339)
* Refactor use of legacy i2c functions

* Align rev2

* Review fixes
2021-09-07 16:35:13 +01:00
Joel Challis e7a5c006d9 Refactor use of legacy i2c implementation (#14341) 2021-09-07 16:34:59 +01:00
QMK Bot c669c43769 Merge remote-tracking branch 'origin/master' into develop 2021-09-07 15:33:58 +00:00
Joel Challis 2d6635214a ergodone - Refactor use of legacy i2c implementation (#14340)
* Refactor use of legacy i2c implementation

* copy-paste error
2021-09-07 16:33:29 +01:00
QMK Bot f98f23d6d6 Merge remote-tracking branch 'origin/master' into develop 2021-09-06 19:45:19 +00:00
shiftux 1dbe4e7dd0 [Keyboard] Redox media (#13084)
* adding a new revision 'media' to the redox keyboard

* readme update

* encoder fix

* video link

* drashna change requests

* removing SPLIT_USB_TIMEOUT

* intermediate rename

* lowercase

* drashna comments

* include if defined KEYBOARD_redox_media

* lowercase readme, tmp step

* lowercase readme

* drashna changes

* more drashna comments

* readme update

* readme update

* fauxpark and drashna comments

* fauxpark comments

* Update keyboards/redox/media/readme.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-06 12:44:39 -07:00
QMK Bot 943e413f76 Merge remote-tracking branch 'origin/master' into develop 2021-09-06 13:49:44 +00:00
Monksoffunk 85a14ac25b [Keyboard] Zinc: fix RGBLED_NUM bug (#13287) 2021-09-06 06:49:09 -07:00
QMK Bot 6ca09c6bba Merge remote-tracking branch 'origin/master' into develop 2021-09-05 22:56:53 +00:00
Joel Challis 1a494da288 Fix eeprom for Durgod boards (#14324) 2021-09-05 23:56:10 +01:00
QMK Bot d72f29556a Merge remote-tracking branch 'origin/master' into develop 2021-09-05 22:36:16 +00:00
Drashna Jaelre 1e1be4c229 [Bug] Fix compile issues for boards with custom matrix (#14323) 2021-09-05 23:35:42 +01:00
QMK Bot 147289e173 Merge remote-tracking branch 'origin/master' into develop 2021-09-05 20:37:03 +00:00
Joel Challis 8d6d8cfadf Tidy up defines within STM EEPROM emulation (#14275)
* Tidy up defines within stm eeprom emulation

* Fix tests

* Resolve todo

* Still use page notion in clear

* Remove more f4 refs
2021-09-05 21:36:43 +01:00
Ryan fe6d6cf76d Remove empty override functions (#14312)
* Remove empty override functions, 0-9

* Remove empty override functions, A-D

* Remove empty override functions, E-H

* Remove empty override functions, handwired

* Remove empty override functions, I-L

* Remove empty override functions, M-P

* Remove empty override functions, Q-T

* Remove empty override functions, U-Z
2021-09-05 21:36:31 +01:00
QMK Bot 673f82ebd9 Merge remote-tracking branch 'origin/master' into develop 2021-09-05 19:36:50 +00:00
Niko Wenselowski 8a8fdd9a72 Highlight keycode (#14317)
This should make it consistent with other docs and hopefully will make less people miss this detail.
2021-09-05 20:36:16 +01:00
QMK Bot e1ad9432b6 Merge remote-tracking branch 'origin/master' into develop 2021-09-05 16:09:51 +00:00
JayceFayne 767f2c0284 [Core] Add is_oled_scrolling (#14305) 2021-09-05 09:09:20 -07:00
QMK Bot a66e8c884f Merge remote-tracking branch 'origin/master' into develop 2021-09-05 16:06:24 +00:00
kb-elmo 0471429c01 [Keyboard] Fix rotary encoder function for Voice65 (#14316)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-05 09:05:55 -07:00
QMK Bot 0b1dee6c50 Merge remote-tracking branch 'origin/master' into develop 2021-09-04 14:02:25 +00:00
JayceFayne 014aa0661e Fix Space Cadet md link (#14300) 2021-09-04 15:01:56 +01:00
QMK Bot e4fcdf57cf Merge remote-tracking branch 'origin/master' into develop 2021-09-04 02:02:43 +00:00
Albert Y c9262cf7f8 Enable extra keys for Technik ortho and stagger (#14282)
* Extra keys for technik ortho

* Extra keys for technik staggered

Co-authored-by: filterpaper <filterpaper@localhost>
2021-09-04 03:02:15 +01:00
QMK Bot d272bf2dc2 Merge remote-tracking branch 'origin/master' into develop 2021-09-03 20:03:43 +00:00
James Young b15bd128a5 FJLabs Ready100 Configurator Fixes (#14291)
* grid-align keycodes; use short-form keycodes

No logic change.

* info.json: correct layout macro reference

* info.json: correct LAYOUT_64key data

Removes an extra key from the layout data.

* 64_ansi Community Layout support

* rename LAYOUT_64key to LAYOUT_64_ansi (with alias for backwards compatibility)
* add LAYOUTS = 64_ansi to rules.mk

* remove width and height keys from info.json
2021-09-03 21:03:15 +01:00
QMK Bot 9f17f9b2e1 Merge remote-tracking branch 'origin/master' into develop 2021-09-03 20:02:20 +00:00
James Young 06c89e8abf Naiping NPhhkb: 60_tsangan_hhkb Community Layout support (#14292)
* 60_tsangan_hhkb Community Layout support

* rename LAYOUT to LAYOUT_60_tsangan_hhkb
* add LAYOUTS = 60_tsangan_hhkb to rules.mk

* correct maintainer field in info.json

* remove width and height keys from info.json

* fix GitHub account link on readme
2021-09-03 21:01:50 +01:00
QMK Bot 88bb29fb17 Merge remote-tracking branch 'origin/master' into develop 2021-09-03 20:00:59 +00:00
James Young 90909fbaf7 takashicompany/endzone34: correct QMK Configurator key sequence (#14290)
* update info.json formatting

* convert tabs to spaces
* apply human-friendly formatting

* correct Configurator key sequence

* remove width and height keys from info.json
2021-09-03 21:00:29 +01:00
QMK Bot f95706810a Merge remote-tracking branch 'origin/master' into develop 2021-09-03 18:48:40 +00:00
James Young 5f6d9913f8 OwLab Voice65 Hotswap: 65_ansi_blocker Community Layout support (#14293)
* 65_ansi_blocker Community Layout support

* rename LAYOUT to LAYOUT_65_ansi_blocker (with alias for backwards compatibility)
* add LAYOUTS = 65_ansi_blocker to rules.mk

* remove width and height keys from info.json
2021-09-03 11:48:10 -07:00
QMK Bot 337be283ca Merge remote-tracking branch 'origin/master' into develop 2021-09-03 16:10:08 +00:00
Ryan 8574bf20d3 Remove more cruft in keyboard files (#14288) 2021-09-03 17:09:30 +01:00
QMK Bot 5bb9da6bca Merge remote-tracking branch 'origin/master' into develop 2021-09-02 17:50:50 +00:00
jhauh a01057d19d [Keymap] Update iris fluffactually keymap (#14265)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-09-02 10:50:17 -07:00
QMK Bot 751dc35546 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 17:50:12 +00:00
Drashna Jaelre 956cf8d7bf [Keyboard] Work Louder board fixup (#14247)
* [Keyboard] Add some last minute tweaks to Work board

* Additional fixes

* Fix rgb pin

* Fix ws2812 hackery

* additional led tweaks

* Add indicator LEDs

* fix bootmagic settings

* Fix up RGB stuff

* Limit power draw for entire board

* fixup lights and such

* change LED order on loop

* Fix indicators if via is not enabled

* Enable Sleep for rgb matrix

* Even more LED tweaks

* Final tweaks?

* Tweak keycodes
2021-09-02 10:49:44 -07:00
QMK Bot d68d34644a Merge remote-tracking branch 'origin/master' into develop 2021-09-02 17:18:08 +00:00
James Young d36a7c512d PistachioPro: correct Configurator key sequence (#14277)
* info.json: apply human-friendly formatting

* correct LAYOUT key sequence

Moves the Enter key object to the correct place in sequence.
2021-09-02 10:17:35 -07:00
QMK Bot d8a2142f24 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 17:10:14 +00:00
James Young ebfa7e14f3 Matrix Falcon info.json fixes (#14273)
* apply human-friendly formatting to info.json

* update key labels; correct maintainer field

* add LAYOUT_all data to info.json

* remove width and height keys from info.json (per fauxpark)

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-02 18:09:38 +01:00
QMK Bot c2da0da1dc Merge remote-tracking branch 'origin/master' into develop 2021-09-02 17:09:13 +00:00
James Young 0290dd3547 Yoichiro Lunakey Macro: correct Configurator key sequence (#14276)
* apply human-friendly formatting to info.json

* correct Configurator key sequence
2021-09-02 18:08:35 +01:00
QMK Bot 0ed4002c19 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 04:13:12 +00:00
jonavin 98a2e9dc0e [Keymap] new murphpad landscape keymap with encoder enhanced functions (#14103)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Jonavin <=>
2021-09-01 21:12:57 -07:00
peott-fr e056ae58a0 [Keymap] Fine-tuning Nyquist keymap. (#14269) 2021-09-01 21:12:15 -07:00
QMK Bot 98436577d7 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 04:09:36 +00:00
Drashna Jaelre 37aef4ebe1 [Keymap] Fix Drashna Keymap issues missed before Develop merge (#14271) 2021-09-01 21:08:58 -07:00
QMK Bot cfedd3054e Merge remote-tracking branch 'origin/master' into develop 2021-09-02 03:51:21 +00:00
James Young c1e5c920a9 naiping/np64: 64_ansi Community Layout support and codebase touch-up (#14264) 2021-09-01 20:50:44 -07:00
QMK Bot e597469964 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 03:47:31 +00:00
James Young b55154fb0a neson design/n6: Extended Community Layout Support and Layout Macro Fix (#14266) 2021-09-01 20:47:28 -07:00
James Young c0eab2a504 wuque/serneity65: Layout Macro rework and Configurator fix (#14267) 2021-09-01 20:46:53 -07:00
QMK Bot f77602b8fb Merge remote-tracking branch 'origin/master' into develop 2021-09-02 03:44:58 +00:00
hvp cb53c4fd41 [Keymap] hvp keymap for Cornelius, updated ut47.2 and userspace (#14187) 2021-09-01 20:44:36 -07:00
peott-fr 872414f454 [Keymap] Add peott-fr H87 keymap (#14232) 2021-09-01 20:44:12 -07:00
QMK Bot 7847acdded Merge remote-tracking branch 'origin/master' into develop 2021-09-02 03:43:04 +00:00
jonavin b6ca21c65c [Keymap] Jonavin keymap gmmk pro (#14220)
add rgb nightmode and optional colemak layer 

Co-authored-by: Jonavin <=>
2021-09-01 20:42:31 -07:00
QMK Bot b0104e99a5 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 03:41:44 +00:00
Christian Eiden cded3b7582 [Keymap] own scylla keymap (#14224)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-09-01 20:41:17 -07:00
QMK Bot d437f78f57 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 03:41:03 +00:00
qieq bb356a1584 [Docs] Update path to keycode.h (#14263) 2021-09-01 20:40:12 -07:00
QMK Bot 48a7b50238 Merge remote-tracking branch 'origin/master' into develop 2021-09-01 17:44:43 +00:00
James Young 7575bc23a6 MatchstickWorks SouthPad: correct Configurator key sequence (#14255)
* matchstickworks/southpad: correct Configurator key sequence

* replace tabs with spaces; apply four-space indent
2021-09-01 10:44:03 -07:00
QMK Bot b4065c557a Merge remote-tracking branch 'origin/master' into develop 2021-09-01 12:21:39 +00:00
James Young 583f07ac58 owl8: add info.json file (#14256)
* owl8: add info.json file

* remove width and height keys (per fauxpark)

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-01 13:20:56 +01:00
Ryan 1b357ea432 Fix typos from 14248 (#14261) 2021-09-01 13:19:17 +01:00
QMK Bot 4df91985f7 Merge remote-tracking branch 'origin/master' into develop 2021-09-01 09:49:03 +00:00
Jay Greco c573926e05 Fix snailmap compilation error (#14250)
* Fix snailmap compilation error

* Update keymap.c with correct OLED_ENABLE defines
2021-09-01 10:48:14 +01:00
Ryan 41c50bb653 Change keyboard level include guards to pragma once (#14248)
* Change keyboard level include guards to `pragma once`

And clean up a lot of layout macros

* Oops

* Remove dangling endif
2021-09-01 19:03:14 +10:00
QMK Bot 971d36bb9e Merge remote-tracking branch 'origin/master' into develop 2021-09-01 02:51:13 +00:00
James Young 8d97c54770 mnk50: Configurator Fix and Layout Macro Additions (#14257)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-01 12:50:32 +10:00
QMK Bot d019c8a991 Merge remote-tracking branch 'origin/master' into develop 2021-09-01 00:51:16 +00:00
Casey Webster c5ec423438 [Keymap] cwebster2 Keymap and userspace updates (#14258) 2021-08-31 17:50:42 -07:00
QMK Bot 54ae829b04 Merge remote-tracking branch 'origin/master' into develop 2021-08-31 23:19:00 +00:00
Andre Brait fac5ec4656 Move GMMK Pro layouts to the correct subdir (#14241)
Also fix a compilation issue in the mike1808 keymap
2021-09-01 00:18:35 +01:00
QMK Bot 7d797d2e34 Merge remote-tracking branch 'origin/master' into develop 2021-08-31 22:26:19 +00:00
Drashna Jaelre b7693c971c [Keyboard] Disable console on Iris Rev5 (#14249) 2021-08-31 15:25:46 -07:00
QMK Bot 94c9716e5b Merge remote-tracking branch 'origin/master' into develop 2021-08-31 18:30:22 +00:00
James Young 92106ee038 emi20: remove dead space from Configurator layout (#14254) 2021-08-31 19:29:49 +01:00
QMK Bot 9abc657903 Merge remote-tracking branch 'origin/master' into develop 2021-08-31 18:25:13 +00:00
Felix Jen b6d7b13a7a [Keyboard] Add FJLabs KF87 PCB (#14179)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-31 11:24:41 -07:00
QMK Bot 7830d671d3 Merge remote-tracking branch 'origin/master' into develop 2021-08-31 18:23:39 +00:00
Ibnu Daru Aji 6f5428687c [Keymap] reflects current rick's keymap (#14169) 2021-08-31 11:23:02 -07:00
Takeshi ISHII 1fdf766988 handwired/symmetric70_proto use post_rules.mk (#14235) 2021-08-31 16:58:43 +09:00
Takeshi ISHII b8c68afb2f [Keyboard] Helix use post_rules.mk (#14216)
* Helix/pico use post_rules.mk insted of local_features.mk

Tested with the following procedure.
```
git checkout 77a93fec79 (qmk/develop)
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
git checkout helix_use_post_rules.mk
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
```

* Helix/rev2 use post_rules.mk

Tested with the following procedure.
```
git checkout 77a93fec79 (qmk/develop)
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
make helix/rev2:all:check-md5
make helix/rev2/sc:all:check-md5
git checkout helix_use_post_rules.mk
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
make helix/rev2:all:check-md5
make helix/rev2/sc:all:check-md5
```
2021-08-31 16:58:07 +09:00
QMK Bot bab997c8c4 Merge remote-tracking branch 'origin/master' into develop 2021-08-31 05:19:55 +00:00
Salicylic-acid3 bdd0a6c097 [Keyboard] Addition of VIA keymap and a few fixes for naked60 (#14225)
Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-30 22:19:21 -07:00
QMK Bot 4d4c61f2e8 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 23:26:17 +00:00
Joel Challis f2c9e82e5b cherry pick tidy up (#14244) 2021-08-31 00:25:41 +01:00
QMK Bot a163d34abc Merge remote-tracking branch 'origin/master' into develop 2021-08-30 23:13:53 +00:00
coliss86 1e7117317f Documentation: Fix links in key overrides (#14228)
Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-31 09:13:19 +10:00
QMK Bot 25a2502216 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 19:34:52 +00:00
JX 5ed8edae49 Update ws2812_spi.c (#14237) 2021-08-30 20:34:19 +01:00
Drashna Jaelre 15710db4ad Move feature suspend logic out of platform specific code (#14210) 2021-08-30 20:21:03 +01:00
QMK Bot cf28feaf4d Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:50:23 +00:00
Danny 2dc07391bd [Keyboard] Add Iris Rev. 5 (#13934)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-30 11:49:46 -07:00
QMK Bot d770e273e1 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:42:37 +00:00
dogspace 27aebba1b1 [Keymap] Add new snailmap keymap to nullbitsco/nibble keyboard (#14024)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-30 11:42:04 -07:00
QMK Bot 3f4d39ec84 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:29:26 +00:00
kb-elmo c9283f4c1f [Keyboard] Add OwLab Jelly Epoch (#14190)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-30 11:29:15 -07:00
Rifaa Subekti b63114ea29 [Keyboard] add slamz keyboard (#14188)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-30 11:28:54 -07:00
QMK Bot 3471b2ac89 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:23:31 +00:00
Purdea Andrei 9583f9f589 [Bug] Fix build error when enabling NO_HAPTIC_MOD (#14178)
Without this build would fail, if a keyboard had haptic feedback enabled,
TAPPING_TOGGLE was not overridden in a config.h, and if NO_HAPTIC_MOD was
defined in config.h.
2021-08-30 11:22:53 -07:00
QMK Bot 4853ca1437 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:05:43 +00:00
Felix Jen 949cfd4632 [Keyboard] add maker keyboards alexa (#14165) 2021-08-30 11:05:13 -07:00
QMK Bot 9a888a5ec5 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:05:13 +00:00
peott-fr 557fce7a8e [Keymap] Add peott-fr keymap for Kbd6x (#14164) 2021-08-30 11:04:42 -07:00
QMK Bot 5b4f63c45f Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:04:21 +00:00
Vincent Vorholter 9d32cb68c3 [Keyboard] Changed ProductID on basketweav keyboards (#14162)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Vince Vorholter <vince@28east.co.za>
2021-08-30 11:03:53 -07:00
Zach White 596c4a1f87 Remove bin/qmk (#14231)
* Remove the bin/qmk script

* remove bin/qmk from workflows
2021-08-29 16:50:22 -07:00
QMK Bot b46064a891 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 23:47:04 +00:00
Zach White baa423004a ensure that the directory for sys.executable is in the user's path (#14229) 2021-08-29 16:46:36 -07:00
QMK Bot 92e606b927 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 23:42:27 +00:00
Zach White b705020daf move everything from qmkfm/base_container to qmkfm/qmk_cli (#14230) 2021-08-29 16:41:56 -07:00
QMK Bot 5fbfab1f3b Merge remote-tracking branch 'origin/master' into develop 2021-08-29 21:53:15 +00:00
peott-fr 13a2da973f Nyquist (#14202)
* adding my Nyquist keymap

* Updating Nyquist keymap with licensing.

* Cleaning-up and improving Nyquist keymap.

* Cleaning-up and improving Nyquist keymap.
2021-08-29 22:52:49 +01:00
QMK Bot 532bff7b6c Merge remote-tracking branch 'origin/master' into develop 2021-08-29 21:25:08 +00:00
Sergey Vlasov a1866a962c Update the nix-shell environment (#13316)
* Nix: Allow calls to `bin/qmk` even when the build was started by `qmk`

The `$PATH` modifications performed by the Nix wrapper for the `qmk`
executable prevent `bin/qmk` from working properly (the changed `$PATH`
contains a wrong `python3` executable which does not have the needed
Python modules in its module path).  As a workaround, disable the
generation of that wrapper for the `qmk` Python package (there is yet
another wrapper generated while building the Python environment, which
would still set the Python module path properly when running `qmk`).

Although `bin/qmk` is officially deprecated, QMK CLI still invokes it in
some cases (at least `qmk doctor` and `qmk pytest`), therefore keeping
these invocations working is useful.

* Nix: Update `util/nix/pyproject.toml` to match `requirements*.txt`

Update the Python dependency information used by Poetry to match the
current state of the qmk_firmware code.

* Nix: Bump QMK CLI dependency to 1.0.0; bump other Python deps

Update Python dependencies for nix-shell to the most recent releases:

 - dotty-dict: 1.3.0 -> no longer used
 - milc: 1.4.2 -> 1.6.2
 - pep8-naming: 0.11.1 -> 0.12.1
 - pygments: 2.9.0 -> 2.10.0
 - pyrsistent: 0.17.3 -> 0.18.0
 - pyusb: 1.1.1 -> 1.2.1
 - setuptools-scm: 6.0.1 -> no longer used
 - qmk: 0.1.0 -> 1.0.0
 - qmk-dotty-dict: not used -> 1.3.0.post1
 - yapf: 0.30.0 -> 0.31.0

Note to self: The command to update Python dependencies changed to:

    ( cd util/nix && nix run 'nixpkgs#poetry' -- update --lock )
2021-08-29 22:24:43 +01:00
QMK Bot d227c8692a Merge remote-tracking branch 'origin/master' into develop 2021-08-29 19:19:29 +00:00
J.Flanagan ef7fdee6c8 [Keyboard] Add Viktus SP Mini (#14069)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-29 12:18:56 -07:00
QMK Bot 55d6956553 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 11:10:11 +00:00
Trent Hoh f87cd8e8a0 [Keyboard] Corrected layout for np24 by YMDK (#14096)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-29 04:09:43 -07:00
QMK Bot 8800adc533 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 11:08:51 +00:00
peott-fr 94d7635a4a [Keymap] My Prime E keymap (#14117) 2021-08-29 04:08:23 -07:00
QMK Bot 7209d7cca9 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 11:08:23 +00:00
Weirdo 5d5668c3f8 [Keyboard] Add kelownaRGB64 (#14141)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-29 04:07:54 -07:00
QMK Bot 77a93fec79 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 06:06:26 +00:00
Takeshi ISHII 9afc64cd61 [Keyboard] fix compile error make helix/rev2/sc:all (#14214) 2021-08-29 15:06:00 +09:00
Zach White c729df09ca fix automatic directory for qmk lint (#14215) 2021-08-28 23:02:31 -07:00
Zach White 566d598516 Add check for non-assignment code in rules.mk (#12108)
* Add check for non-assignment code in rules.mk

* fix lint check

* fix lint

* fixup to reflect the final state of #8422

* fix lint
2021-08-29 12:37:55 +10:00
Zach White f155865804 remove qmk console, which is now part of the global cli (#14206) 2021-08-29 11:27:57 +10:00
QMK Bot 1ac3b3e9b6 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 00:52:22 +00:00
Nick Brassel dd8922d482 Fixup upstream paths for submodules. (#14205) 2021-08-29 10:51:53 +10:00
QMK Bot 7b8cdfc19d Merge remote-tracking branch 'origin/master' into develop 2021-08-28 23:48:16 +00:00
Nick Brassel 6caebb7b61 Bootmagic lite docs clarity. (#14204) 2021-08-29 09:47:48 +10:00
Takeshi ISHII 9fe7b5307a add 'include keyboard_features.mk' into build_keyboard.mk (#8422)
* add 'include keyboard_features.mk' into build_keyboard.mk

keyboard_features.mk is a keyboard-local version of the functions performed by common_features.mk.

* add comment into build_keyboard.mk

* added description of keyboard_features.mk in hardware_keyboard_guidelines.md.

* rename `keyboard_features.mk` to `post_rules.mk`
2021-08-29 09:42:57 +10:00
Nick Brassel f061ca4974 Breaking changes develop merge to master, 2021Q3 edition. (#14196) 2021-08-29 08:20:25 +10:00
Nick Brassel 4bad375d7c 2021Q3 pre-merge develop changelog, keyboard aliases (#14198)
* Initial changelog.

* Data driven.

* Submodule update.

* Updated breaking changes docs.

* Aliases.

* Aliases.
2021-08-29 08:18:18 +10:00
Drashna Jaelre 29ec2d8f42 [Docs] Add examples to RGB Matrix Indicators docs (#12797) 2021-08-27 06:41:33 +10:00
QMK Bot 7e1634e2a6 Merge remote-tracking branch 'origin/master' into develop 2021-08-26 17:50:09 +00:00
jackytrabbit ff65185dec Add support for lazydesigners/cassette8 (#14145)
* Add support for lazydesigners/cassette8

Add support for lazydesigners/cassette8

* Update keyboards/lazydesigners/cassette8/config.h

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

* Update keyboards/lazydesigners/cassette8/rules.mk

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

* Update keyboards/lazydesigners/cassette8/rules.mk

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

* Update keyboards/lazydesigners/cassette8/config.h

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

* Update keyboards/lazydesigners/cassette8/rules.mk

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

* Update keyboards/lazydesigners/cassette8/rules.mk

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

* Update keyboards/lazydesigners/cassette8/info.json

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: Joel Challis <git@zvecr.com>
2021-08-26 18:49:36 +01:00
QMK Bot a13b0d8a6c Merge remote-tracking branch 'origin/master' into develop 2021-08-26 17:47:28 +00:00
jpuerto96 3fce5e6912 New Keyboard - V4n4g0rth0n (#14152)
* General: Initial commit for v4n4g0rth0n

* Remove unecessary things|

* General: Fix info.json

* Finalize changes

* Update keyboards/v4n4g0rth0n/config.h

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

* Update keyboards/v4n4g0rth0n/v1/rules.mk

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

* Update keyboards/v4n4g0rth0n/v4n4g0rth0n.h

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

* Update keyboards/v4n4g0rth0n/v4n4g0rth0n.h

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

* Update keyboards/v4n4g0rth0n/v2/keymaps/default/keymap.c

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

* Update keyboards/v4n4g0rth0n/v1/keymaps/default/keymap.c

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-26 18:45:48 +01:00
Joel Challis 87cdb1cf9a Update readme files (#14172) 2021-08-26 16:53:24 +01:00
Joel Challis 48d0ad28e7 Move to correct location (#14171) 2021-08-26 14:14:48 +01:00
QMK Bot 6d646880a4 Merge remote-tracking branch 'origin/master' into develop 2021-08-26 11:38:28 +00:00
kb-elmo edf35615cf Skeletn87 - Fix RGB pin (#14170)
* add Skeletn87

* update skeletn87 files

* update skeletn87 soldered

* update readme image

* update readme (again)

* fix skeletn87 indicator LEDs

* fix led pin for production PCB
2021-08-26 12:37:55 +01:00
QMK Bot 2bc978437e Merge remote-tracking branch 'origin/master' into develop 2021-08-25 23:56:39 +00:00
Charles ee3a1133f1 [keyboard] Add 0x3E (#14088)
* Add 0x3E - default config

* Apply suggestions from code review

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

* Apply suggestions from code review 2

Firmware size optimization

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

* Rename files as per project guidelines + remove empty

* Update link in readme.md

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-26 00:56:09 +01:00
QMK Bot 0c97bc5179 Merge remote-tracking branch 'origin/master' into develop 2021-08-25 23:40:04 +00:00
8bits4ever 4c5334cb9e [converter/a1200] Changing layout macro reference info.json (#14143)
* Rename keyboards/converter/a1200/config.h to keyboards/converter/a1200/teensy2pp/config.h

* Rename keyboards/converter/a1200/rules.mk to keyboards/converter/a1200/teensy2pp/rules.mk

* Create dummy

* Add files via upload

* Delete dummy

* Update readme.md

* Update info.json
2021-08-26 00:39:34 +01:00
QMK Bot 329c130202 Merge remote-tracking branch 'origin/master' into develop 2021-08-25 19:04:06 +00:00
MechMaster48 89f2b9486f [Keymap] mechmaster48 keymap for OLKB Preonic rev3 (#14137) 2021-08-25 12:03:27 -07:00
Joel Challis 527b1e52aa Move nix folder alongside vagrant (#14132) 2021-08-25 15:27:48 +01:00
Joel Challis a84de5e22b Revert 14083 && 14144 (#14150)
* Revert "Short term bodge for firmware size bloat (#14144)"

This reverts commit a8d6547346.

* Revert "Tidy up quantum.c now some of tmk_core has been merged (#14083)"

This reverts commit c4dbf4bf01.
2021-08-25 01:16:59 +01:00
QMK Bot 3855713ca0 Merge remote-tracking branch 'origin/master' into develop 2021-08-24 22:10:04 +00:00
Albert Y bb1b822247 [Keyboard] Update Technik ortholinear RGB matrix points (#14124)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-08-24 15:09:26 -07:00
Joel Challis 622c3cac3a Fix merge artifacts (#14146) 2021-08-24 17:18:25 +01:00
Joel Challis 2cade3a483 Align some quantum sub-directories (#14134)
* Misc folder tidy

* Review comments

* Remove redundant entry
2021-08-24 17:07:11 +01:00
QMK Bot 2827a3cf75 Merge remote-tracking branch 'origin/master' into develop 2021-08-24 15:44:36 +00:00
Yoichiro Tanaka b4867e1600 [Keyboard] Add yoichiro/lunakey_macro (#13849)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-24 08:44:00 -07:00
Joel Challis a8d6547346 Short term bodge for firmware size bloat (#14144) 2021-08-24 16:09:23 +01:00
Drashna Jael're e3b68ddfe8 Merge remote-tracking branch 'origin/master' into develop 2021-08-24 07:32:31 -07:00
Takeshi ISHII c9c60d227e add wait_cpuclock() macro for AVR and CPU_CLOCK macro (#12755) 2021-08-24 14:34:24 +01:00
Joel Challis c4dbf4bf01 Tidy up quantum.c now some of tmk_core has been merged (#14083) 2021-08-24 14:28:37 +01:00
GG 097e85e930 [Keyboard] Add serneity65 (#13889) 2021-08-24 02:50:56 -07:00
Xelus22 c4a2dc9a2d fix (#14142) 2021-08-24 19:39:24 +10:00
Christian Sandven 3ef978cb13 [Keyboard] Fix keyprez qmk configurator (#14119) 2021-08-24 01:54:17 -07:00
kb-elmo a4aa6ccf7b [Keyboard] Add QEZ keyboard (#14131) 2021-08-24 01:49:50 -07:00
Albert Y b8c74d6b5d [Keyboard] Update Technik staggered RGB matrix points (#14125)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-08-24 01:49:13 -07:00
stickandgum eaad654798 [Keymap] Fixed GMMK Pro -> stickandgum keymap readme.md (#14123)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-08-24 01:48:35 -07:00
Rifaa Subekti e1c264f579 [Keyboard] Update info.json for ocean/gin_v2 (#14121)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-24 01:42:23 -07:00
Drashna Jaelre bc239cd520 [Keymap] Drashna keymap fixups (#14140) 2021-08-24 01:37:14 -07:00
Drashna Jaelre 3455e2408d [Keyboard] Fix default keymap for quark squared keyboard (#14139) 2021-08-24 01:19:00 -07:00
Xelus22 4e1c5887c5 [Core] Refactor OLED to allow easy addition of other types (#13454)
* add docs

* core changes

* update keyboards to new OLED

* updated users to new OLED

* update layouts to new OLED

* fixup docs

* drashna's suggestion

* fix up docs

* new keyboards with oled

* core split changes

* remaining keyboard files

* Fix The Helix keyboards oled options

* reflect develop

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: mtei <2170248+mtei@users.noreply.github.com>
2021-08-24 16:28:26 +10:00
Joel Challis 47a38c3f0e Remove more unused files (#14135) 2021-08-24 14:02:53 +10:00
Drashna Jaelre 6fd20acf4b Fix Mouse Shared EP functionality (#14136)
Specifically, if you enable the shared endpoint for mouse reports (or keyboard, which force enables it for mouse), and you don't have mousekeys enabled, it does not properly enable shared mouse EP for pointing device (which uses mouse reports).   This cause it to error out in compiling.  This fixes up some of the logic to ensure that all use cases are supported, and consolidates some of the code.
2021-08-24 11:40:24 +10:00
lalalademaxiya1 e3483b4126 [Keyboard] Add new keyboard version: keychron/q1/rev_0102 (#14029)
* Add keyboard Q1

* Update keyboards/keychron/q1/readme.md

* Update keyboards/keychron/q1/rev_0100/rules.mk

* Update keyboards/keychron/q1/readme.md

* Change layer switch function to "default_layout_set"

* Update keyboards/keychron/q1/rev_0100/info.json

* Update keyboards/keychron/q1/q1.c

* Mask out the DIP switch to fix sleeping issue when switch is ON

* Added and changed readme.md

Added keyboards\q1\rev_0100\readme.md
Changed keyboards\q1\readme.md since different MCU may used in other version.

* update

* update keymap name

* update keymap for keychron/q1/rev_0102

* Update info.json
2021-08-23 17:32:15 -07:00
Drashna Jaelre d57d9aec4f Fix bootloadHID comments breaking :flash (#14133) 2021-08-23 23:46:06 +01:00
Donald Kjer e756a21636 eeprom_stm32: implement high density wear leveling (#12567)
* eeprom_stm32: implement wear leveling
Update EECONFIG_MAGIC_NUMBER
eeprom_stm32: check emulated eeprom size is large enough
* eeprom_stm32: Increasing simulated EEPROM density on stm32
* Adding utility script to decode emulated eeprom
* Adding unit tests
* Applying qmk cformat changes
* cleaned up flash mocking
* Fix for stm32eeprom_parser.py checking via signature with wrong base
* Fix for nk65 keyboard

Co-authored-by: Ilya Zhuravlev <whatever@xyz.is>
Co-authored-by: zvecr <git@zvecr.com>
2021-08-23 23:15:34 +01:00
QMK Bot 2481e109a0 Merge remote-tracking branch 'origin/master' into develop 2021-08-23 22:06:37 +00:00
Olli Helenius 9472c4b8cb Fix US_RDQU keycode (#13464)
`US_RDQU` and `US_LDQU` were aliased to the same keycode. `US_RDQU`
should use the right bracket.
2021-08-24 08:06:04 +10:00
Path Nirvana f314705921 adding uf2 flash support for blackpill 401 (#13968)
* adding uf2 flash support for blackpill 401

* forgot to add blackpill to keyboard header file

* making changes requested by drashna

* fixing tzarc s comments

* removing the keyboard

* undo the change to dactyl_manuform.h
2021-08-24 08:05:10 +10:00
QMK Bot 718f0a2482 Merge remote-tracking branch 'origin/master' into develop 2021-08-23 14:26:24 +00:00
Rifaa Subekti a72b562141 [Keyboard] update default and via keymap for ocean/wang_v2 (#14122) 2021-08-23 07:25:51 -07:00
Nick Brassel d8778eba92 Fixup line endings. 2021-08-23 19:37:16 +10:00
stickandgum 71df135254 [Keymap] Feature rich keymap for GMMK Pro (ANSI) (#14120)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-08-22 19:19:11 -07:00
QMK Bot 355872cc1d Merge remote-tracking branch 'origin/master' into develop 2021-08-23 02:10:58 +00:00
Vino Rodrigues 5cd7999bc4 [Keyboard] Update rgb matrix config in kbdfans/kbd67/mkiirgb/v3/v3.c (#14094)
This patch corrects 2 issues with the LED matrix of the KDBFans KBD67 Lite (v3)
* Incorrect mapping of the right-shift, down-arrow, and right-arrow.  (i.e. `NO_LED` positions of the `g_led_config` key matrix in the .c file do not match the `LAYOUT_65_ansi_blocker` matrix in the .h file.
* Remapping of the *LED Index to Physical Position* using physical measurements from actual keyboard and accounting for the southpaw LED position to define the true centre of the keyboard (more relevant to circular animations).
2021-08-22 19:10:23 -07:00
Dasky 9af069ecf3 Fix typo (#14118) 2021-08-23 09:31:38 +10:00
QMK Bot f043b8be38 Merge remote-tracking branch 'origin/master' into develop 2021-08-22 21:43:07 +00:00
Bror Winther aa28335651 Add fix for brew upgrade (#12921)
Add a fix for `brew upgrade` so only formulae is upgraded and not casks
2021-08-22 14:42:34 -07:00
QMK Bot 4b87c1f40b Merge remote-tracking branch 'origin/master' into develop 2021-08-22 16:29:18 +00:00
Ryan 5319727b70 Fix line endings for quark_squared info.json (#14113) 2021-08-22 17:28:48 +01:00
QMK Bot 7dfa93d9b6 Merge remote-tracking branch 'origin/master' into develop 2021-08-22 06:04:52 +00:00
npspears 46fb874269 [Keyboard] add support for Quark² (#14109)
Quark² is a hotswap version of the Quark PCB
2021-08-21 23:04:20 -07:00
QMK Bot 34d0376ab9 Merge remote-tracking branch 'origin/master' into develop 2021-08-22 05:12:24 +00:00
Christian Sandven 9a51076859 [Keyboard] Keyprez bison (#14100)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-21 22:11:56 -07:00
QMK Bot f709394442 Merge remote-tracking branch 'origin/master' into develop 2021-08-22 05:11:44 +00:00
precondition aedd8cca31 [Keyboard] Kyria default reformat (#14080)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-21 22:11:32 -07:00
Conor Burns b1b6fe1c3d [Keymap] added bongocat keymap to 0xCB Static (#14093)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-21 22:11:15 -07:00
peepeetee 78ccd9c201 Organize KPrepublic, K.T.E.C, xiudi boards into directories (#12159)
* reset; redoing my steps; and recommit

* include xd002/.noci
2021-08-22 13:53:49 +10:00
Nick Brassel c70abc8d04 Warn when building a board that uses arm_atsam (#10904)
* Add deprecation warning during build when building a board that uses arm_atsam.

* Rewording.

* Wording.

* Fixup.
2021-08-22 13:49:33 +10:00
Drashna Jaelre dcef03853d [Keyboard] Disable Console on Keebio Quefrency (#14108) 2021-08-22 12:08:05 +10:00
Drashna Jaelre f4a2f2bb7e [Keyboard] Fix compile issues for Tractyl Manuform (#14105) 2021-08-21 18:34:16 -07:00
Drashna Jaelre e08d6a33fc [Core] Fix copypasta issue with pmw3360 sensor config (#14106) 2021-08-21 18:34:04 -07:00
Joakim Tufvegren 0ae20e7457 Make solo half of split keyboards (more) usable. (#13523)
* Make solo half of split keyboards (more) usable.

Using only one half of a split keyboard (that's using the split_common
framework to communicate) is not a great experience, since several read
timeouts per scan cycle cause an unusably slow scan rate.

This change blocks all split communication attempts for 500 ms
(configurable) after an error occurs, causing the scan rate to become at
least _more_ usable, but might need some tweaking to work fully on most
keyboards. One read timeout still needs to occur after the 500 ms has
passed, and if that timeout isn't low enough, some scan cycles may still
be too slow.

* Fix lint complaint.

* Require 25 consecutive comm errors to see comms as disconnected.

The number of max errors can be overridden by defining
`SPLIT_MAX_CONNECTION_ERRORS`.

* Add comments to new defines, and ability to disable disconnection check.

Also increase `SPLIT_MAX_CONNECTION_ERRORS` to 40, since it's divisible
by most relevant numbers for the description.

* Make lint happy ...again

* Only update `connection_check_timer` when needed.

* Add new defines to split keyboard documentation.

* Move connection timeout logic to transport.c, add `is_transport_connected`.

* Use split_common disconnection logic in matrix.c.

Instead of doing more or less the same thing twice.

* Move disconnection logic to `transport_master`.

Is a cleaner implementation, and causes the scan rate while disconnected
to increase instead of decrease.

* Lint fixes.

* Lower default `SERIAL_USART_TIMEOUT` to 20 ms.

The read timeout must be low enough to not cause exessively long scan
cycles when using a solo split half. 10 ms was determined from testing
to work fine even with the slowest defined baudrate of 19200 (5 ms was
too low for that case), so 20 ms should be fine for most cases.

* Remove `SERIAL_USART_TIMEOUT` from ergodox_infinity/config.h

Was somewhat mistakenly included in an earlier PR.

* Fix building with `USE_I2C`.

* Reduce built firmware size.

Not really sure why this works, the idea was taken from tzarc's work on
split disconnection.

* Tweak and improve opt-out for split disconnection logic.

There are now two ways to opt out from this feature:
* Set `SPLIT_MAX_CONNECTION_ERRORS` to 0. This will completely disable
  the connection status checks (also affects the slave matrix reset logic in
  matrix.c, though).
* Set `SPLIT_CONNECTION_CHECK_TIMEOUT` to 0. This will only disable the
  communication throttling while disconnected. Will make the firmware
  smaller.

* Make split disconnection logic work with custom transports.

Includes a fallback implementation for keyboards using a custom
split_util.c but not a custom matrix.c (currently no such keyboard seems
to be merged, though).

* Remove unnecessary include of timer.h

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

Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-22 10:51:17 +10:00
Drashna Jaelre c5f41d42d8 Updated RGB Matrix suspend define part 3 (#13954)
* Updated RGB Matrix suspend define part 3

* Revert "Update config.h for kbdfans/kbd67/mkiirgb/v3 (#13978)"

This reverts commit 80015f7fb0.

* Add additional boards/keymaps
2021-08-22 09:46:35 +10:00
Drashna Jaelre 58a5030661 [Keymap] Drashna's Improve OLEDs and custom Split code (#14063)
* Fill the oleds with right mods

* Enable double mods on x32 oleds

* Disable forced NKRO

* Make oleds fancy only on good MCUs

* Overhaul oled display

* Further enhance oled, with kitty!

* Final oled form

* Not working transport

* Transport id of woring

* Add acceleration

* fix button placement for accel macro

* Fix accelartion location and behavior

* Remove OLED sync code

* Fix alignment issue

* Remove audio hack

* Fix up zima keymap

* Add matrix slave scan function and cleanup drashna.h

* Clean up user space

* Allow userspace sync to be disable-able

* Fix weird issue with audio

* Fix alignment issue with user split sync

* Disable second rgb matrix task

* Disable additional animations

* Change dynamic keymap settings

* Hacky fix for borked corne

* Add Blackpill (F411) support to tractyl manuform

* remove manual via eeprom reset

* Remove all references to rgblight twinkle

* Fix issues with config processing
2021-08-21 13:34:44 -07:00
Drashna Jaelre da1c011afc Improve pmw3360 sensor and make it more hardware agnostic (#14097) 2021-08-20 21:14:23 -07:00
QMK Bot 3452c89c8b Merge remote-tracking branch 'origin/master' into develop 2021-08-21 04:13:34 +00:00
Drashna Jaelre c1cad5b751 [Keyboard] Fix naiping/npminila layout macro (#14098) 2021-08-21 14:13:02 +10:00
Drashna Jaelre a80d789147 Fix issues with VIA EEPROM init and bring in line with eeconfig functionality (#13243)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-20 21:02:53 -07:00
Nick Brassel afd3bcbf45 Fix up compilation issues. (#14095) 2021-08-21 13:38:38 +10:00
QMK Bot ce379ef458 Merge remote-tracking branch 'origin/master' into develop 2021-08-20 22:32:01 +00:00
Spaceman c71d67ba3f [Core] [Docs] Remove travis-ci references (#13916) 2021-08-20 23:31:26 +01:00
Ryan a7d48b063e Fix LED Matrix suspend code (#14090) 2021-08-20 10:43:49 -07:00
QMK Bot e8943a8b0c Merge remote-tracking branch 'origin/master' into develop 2021-08-20 17:33:25 +00:00
Weirdo 30bb807c13 [Keyboard] Add Naiping series keyboard (#14040)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-20 10:32:53 -07:00
Zach White 1ec6ce8c37 Merge remote-tracking branch 'origin/master' into develop
Resolved Conflicts:
	lib/python/qmk/info.py
2021-08-20 08:22:41 -07:00
Joel Challis c1add5d0e2 Restore layout count validation (#14068) 2021-08-20 08:16:59 -07:00
Drashna Jaelre 92fa07336c [Bug] Fix RGB/LED Matrix Suspend code (#14084) 2021-08-20 06:14:42 -07:00
QMK Bot da11a49905 Merge remote-tracking branch 'origin/master' into develop 2021-08-20 13:14:35 +00:00
tiltowait 90ff4fe749 [Keyboard] Add IBM Model M SSK configuration (#14050)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-20 06:13:59 -07:00
Joel Challis 69c71d4843 Align DIP_SWITCH_PINS_RIGHT implementation with encoders (#14079) 2021-08-20 10:15:11 +01:00
Joel Challis b229b0fba7 Fix issues with recent keymap.json changes (#14089)
* Fix issues with recent keymap.json changes

* Allow empty author string
2021-08-20 19:11:49 +10:00
QMK Bot 0741aae1d9 Merge remote-tracking branch 'origin/master' into develop 2021-08-20 04:36:09 +00:00
Drashna Jaelre fd54992e1f [Keyboard] Fix Feels65 Via keymap (#14086) 2021-08-19 21:35:29 -07:00
QMK Bot 8dfd33e3d1 Merge remote-tracking branch 'origin/master' into develop 2021-08-20 04:27:09 +00:00
Drashna Jaelre 37b5ead17d [Keyboard] Fix space_space rev1 keyboard files (#14087) 2021-08-19 21:26:37 -07:00
QMK Bot c6f24f66bd Merge remote-tracking branch 'origin/master' into develop 2021-08-20 04:22:05 +00:00
Drashna Jaelre cc0ae9cc4c Revert "[Keyboard] Dumbpad VIA support added (#13512)" 2021-08-19 21:21:00 -07:00
Simon Arlott 0a1bf7f6aa Support using a timer for wait_us() on ChibiOS-based boards (#12211)
* Support using a timer for wait_us() on ChibiOS-based boards (#12198)

There are spare GPT timers that can be used to get a more accurate
wait_ms() time. This is required for the matrix scan unselect delay (30µs)
to be shorter than the system tick rate of 100µs.

This is limited to the maximum GPT duration of 65535 so values above that
will automatically use the previous implementation based on the system
tick.

Using a specific timer means it can't be shared by another thread at the
same time so when wait_us() is called from anything other than the main
thread it will use the system tick implementation too.

* Update tmk_core/common/chibios/wait.c

* Update tmk_core/common/chibios/wait.c

Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-20 00:31:23 +01:00
moyi4681 462e7f075a move volcano660 to ilumkb folder (#13550)
* move volcano660 to ilumkb folder

* Update rules.mk

* Fix up readme

Co-authored-by: zvecr <git@zvecr.com>
2021-08-19 20:02:07 +01:00
QMK Bot 3413766649 Merge remote-tracking branch 'origin/master' into develop 2021-08-19 18:59:06 +00:00
SneakboxKB b724a0dfd5 [Keyboard] Ava initial commit (#13845)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: SneakboxKB <64090325+mujimanic@users.noreply.github.com>
2021-08-19 11:58:35 -07:00
Dasky 7f1c90b7a8 [Core] Speed up pimoroni trackball driver (#13823) 2021-08-19 11:58:17 -07:00
QMK Bot e988f58374 Merge remote-tracking branch 'origin/master' into develop 2021-08-19 18:45:19 +00:00
minibois a12f3a3fb8 [Keyboard] Minor fixes for mini_elixivy/info.json (#14022)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-19 11:44:47 -07:00
James Young 4279b14adf Merge remote-tracking branch 'upstream/master' into develop
Conflicts:
	keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk
	keyboards/space_space/rules.mk
2021-08-19 11:32:23 -07:00
GG f4f679779e [Keyboard] Add Mammoth20x (#14014) 2021-08-19 11:17:54 -07:00
Yaroslav Smirnov c592128219 [Keyboard] Add Elrgo S to keyboards/handwired (#13893)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 11:15:30 -07:00
weteor 1bfbaae533 [Keyboard] add 3w6 (#13746) 2021-08-19 11:13:00 -07:00
kb-elmo 8200804e96 [Keyboard] Add Voice65 (#13744)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 11:12:34 -07:00
James Young c039796d9d keebzdotnet F-Me Configurator fixes and codebase touch-up (#14077)
* rename LAYOUT to LAYOUT_all

* add info.json

* override DYNAMIC_KEYMAP_LAYER_COUNT for via keymap

The via keymap only initialized two layers without overriding the default value of DYNAMIC_KEYMAP_LAYER_COUNT (4).

This commit sets DYNAMIC_KEYMAP_LAYER_COUNT for the via keymap to 2.
2021-08-19 18:47:10 +01:00
James Young 9aedf515c0 kb-elmo Noah AVR Community Layout support and Configurator fix (#14078)
* noah_avr.h: use QMK 3-character notation for matrix positions

* Community Layout support, Stage 1

- rename LAYOUT_ansi to LAYOUT_65_ansi_blocker
- rename LAYOUT_ansi_splitbs to LAYOUT_65_ansi_blocker_split_bs
- enable Community Layout support

* info.json: add line breaks between rows

* info.json: correct LAYOUT_iso data

- unsplit the Backspace
- change ANSI Enter to ISO Enter
- split the left Shift

* Community Layout support, Stage 2

- rename LAYOUT_iso to LAYOUT_65_iso_blocker
- update Community Layout support

* Community Layout support, Stage 3

- add LAYOUT_65_iso_blocker_split_bs
- update Community Layout support

* noah_avr.h: add matrix diagram
2021-08-19 18:46:22 +01:00
jonavin 98af5bc64e [Keymap] Add jonavin user space / common functions (#13876)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Jonavin <=>
2021-08-19 10:45:49 -07:00
jfescobar18 425e1e665d [Keyboard] Dumbpad VIA support added (#13512)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 10:39:30 -07:00
XScorpion2 9d1c98c891 Added right vs left specific pin assignments for dip switch (#13074)
* Added right vs left specific pin assignments for dip switch

* Update feature_dip_switch.md

* Ran formatting tools
2021-08-19 18:39:15 +01:00
Alan Pocklington 3b4c35da6b [Keymap] Quark AJP10304 layout (#13290) 2021-08-19 10:36:20 -07:00
qpockets c98e1694fb [Keyboard] update space_space keyboard (#13305)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 10:17:01 -07:00
QMK Bot af3673a5b6 Merge remote-tracking branch 'origin/master' into develop 2021-08-19 17:14:07 +00:00
James Young 48a8682438 Linworks Whale75 Layout Macro refactor and Configurator fixes (#14059)
* info.json: human-friendly formatting

* info.json: remove "w":1 instances

* info.json: correct positions of Left, Down and Right Arrow keys

* info.json: add LAYOUT_all data

* move Home key to end of home row

According to photographs of the keyboard, the fourth key down on the right side is physically on the home row. This commit moves the key argument and keycodes to the home row.

* whale75.h: use QMK 3-character notation for matrix

* whale75.h: add matrix diagram

* add keyboard-level encoder functionality

* info.json: correct key sequence on ISO layouts
2021-08-19 10:13:31 -07:00
QMK Bot a85126b79e Merge remote-tracking branch 'origin/master' into develop 2021-08-19 16:41:46 +00:00
BifbofII c148476188 [Keymap] Add personal layout for 60% ISO boards (#13232) 2021-08-19 09:41:14 -07:00
Evelien-Lillian Dekkers 81e19d61c0 [Keyboard] Refactor atom47 and add rev4 and rev5 (#13201)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-19 09:40:28 -07:00
QMK Bot 374b388382 Merge remote-tracking branch 'origin/master' into develop 2021-08-19 16:31:49 +00:00
Felix Jen a43952f35d [Keyboard] Add Ready100 Keyboard (#13158)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-19 09:31:12 -07:00
QMK Bot d112935cea Merge remote-tracking branch 'origin/master' into develop 2021-08-19 16:29:30 +00:00
Zereef 4fc01ddefe [Keyboard] Ymdk_np21 via port (#12693) 2021-08-19 09:28:59 -07:00
QMK Bot b7a3ddb6d1 Merge remote-tracking branch 'origin/master' into develop 2021-08-19 16:12:49 +00:00
Juno Nguyen 072459871b [Keymap] community/ortho_4x12/junonum update (#14062)
* Update new community universal keymaps

* Revert bottom row to default for better use of WIN_MODS and MAC_MODS

* Revert to use public domain songs

* Update Dpad layer in junonum to tailor for StarCraft group control

* Remove junonum512

* Update junonum readme

* Define custom songs in the keymap

* Move DP_OFF location

* Update DPAD modifiers

* Update F-row placement in junonum dpad layer

* Update CapsLock location  and rectify KC_APP
2021-08-19 17:12:19 +01:00
QMK Bot db316716c1 Merge remote-tracking branch 'origin/master' into develop 2021-08-19 16:12:04 +00:00
Ryan 972f8ba69a Fix AT90USB64/128 bootloaders (#14064) 2021-08-19 17:11:20 +01:00
QMK Bot 1445fd21c8 Merge remote-tracking branch 'origin/master' into develop 2021-08-19 15:53:48 +00:00
yiancar 9ac0023a6a Add MNK50 (#14031)
* Add MNK50

* Update keyboards/mnk50/rules.mk

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

* Update keyboards/mnk50/rules.mk

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

* Update keyboards/mnk50/readme.md

hihi thanks!

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

* Update keyboards/mnk50/keymaps/default/readme.md

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

Co-authored-by: yiancar <yiancar@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 16:53:20 +01:00
QMK Bot a995dd16a2 Merge remote-tracking branch 'origin/master' into develop 2021-08-19 15:51:56 +00:00
Tran Kim Tung 49be4860f7 [Keyboard] adds new keyboard version: dztech/dz60rgb_wkl/v2_1 (#14021)
* [Keyboard] adds new keyboard version: dztech/dz60rgb_wkl/v2_1

* Update keyboards/dztech/dz60rgb_wkl/readme.md

Remove external flash manual link

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

* dz60rgb_wkl/v2_1: remove NO_USB_STARTUP_CHECK

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-19 16:51:23 +01:00
QMK Bot 2ff1a6a72f Merge remote-tracking branch 'origin/master' into develop 2021-08-19 15:42:23 +00:00
rate d6eee3e0f2 Added VIA keymap for pistachio_mp (#14015)
* Added VIA keymap for pistachio_mp

* Fixed typos
2021-08-19 16:41:49 +01:00
QMK Bot 7a125872e2 Merge remote-tracking branch 'origin/master' into develop 2021-08-19 15:41:40 +00:00
AquaCylinder 468661280b emi20 update (#14013)
* Update keymap & readme

-Keymap.c: Key combinations removed for resetting and added a new way to reset. Also removed unused timer code.

-config.h & rules.mk: Removed on kemap level (these were there for the key combo's)

-Readme.md: Changed the preview image and changed the description to reset the keyboard. Also added what connector type is used.

* Update readme.md

Better wording on how to get the keyboard in bootloader mode

* Update keymap.c

Switched + and - around, same with / and *.
2021-08-19 16:41:05 +01:00
Takeshi ISHII f86a087127 [Keymap] fix helix:fraanrosi compile error caused by #13677. (#14061)
I'm against using RGBLIGHT_ANIMATIONS because this happens.
See also #8688.
2021-08-19 15:45:47 +09:00
QMK Bot c8e8c21367 Merge remote-tracking branch 'origin/master' into develop 2021-08-19 00:42:53 +00:00
James Young 068ab2800c Keebio Quefrency Configurator rework (#14060)
* add info.json for Quefrency rev1

* add info.json for Quefrency rev2

* add info.json for Quefrency rev3

* add info.json for Quefrency rev4

* remove "global" Quefrency info.json

* remove layout macro aliases from keyboard headers

These were moved into the info.json files.
2021-08-18 17:42:17 -07:00
QMK Bot b23a4db47a Merge remote-tracking branch 'origin/master' into develop 2021-08-19 00:38:25 +00:00
James Young ac1309cd75 Feels Feels65 Refactor (#14032)
* rename layout macros

The existing layout macro names were not accurate to QMK's standard for the names that were given.

- rename LAYOUT_65_ansi_blocker to LAYOUT_65_ansi_blocker_split_bs
- rename LAYOUT_65_iso_blocker to LAYOUT_65_iso_blocker_split_bs

* correct info.json data

* add LAYOUT_65_iso_blocker

* add LAYOUT_65_ansi_blocker

* add Community Layout support

* update grid alignment on layout macros

* add LAYOUT_all

* refactor default and via keymaps

- use LAYOUT_all macro
- use _______ for KC_TRNS
- via keymap fixes
  - swap KC_BSPC for KC_DEL on Layer 1 (matches default keymap)
  - remove KC_PGUP from Layers 2 and 3 (makes both layers fully transparent)
2021-08-18 17:37:53 -07:00
QMK Bot c6dc1f7f8d Merge remote-tracking branch 'origin/master' into develop 2021-08-19 00:33:59 +00:00
James Young 6200907417 cest73 TKM Configurator Fixes (#14066)
* info.json: update human-friendly formatting

* correct info.json layout data

- adds missing objects for:
  - split Backspace
  - split Numpad Plus
  - split Numpad Enter
  - split Left Shift
  - ANSI Backslash
  - split Numpad 0
- deletes Mod1 object (not supported in source)
- correct key object sequence
2021-08-18 17:33:26 -07:00
Joel Challis 2e734fb6b9 Add config.h and rules.mk support for data driven keymaps (#12859)
* Add config.h and rules.mk support for data driven keymaps

* tidy up after rebase

* Rename key as it can contain more than just keyboard overrides

* tidy up after rebase

* Add validation
2021-08-18 21:52:41 +01:00
QMK Bot 10fab4ec07 Merge remote-tracking branch 'origin/master' into develop 2021-08-18 17:35:15 +00:00
Logan Butler 0daccebaf9 [Keyboard] Fixes to info.json and rules.mk for Southpad n(#14053)
Making info.json work better with the QMK Configurator and updating rules to work properly with the correct bootloader.
2021-08-18 10:34:43 -07:00
QMK Bot 342e765e9c Merge remote-tracking branch 'origin/master' into develop 2021-08-18 08:51:22 +00:00
James Young b21e093057 Setta21 Configurator Fix (#14055)
* info.json: add line breaks for rows

* info.json: correct key sequence

* info.json: correct width dimension
2021-08-18 09:50:25 +01:00
Ryan b16091659c Move USB Host Shield and Arduino core to lib/ (#13973) 2021-08-18 18:20:25 +10:00
Drashna Jael're cf5e40c251 Merge remote-tracking branch 'origin/master' into develop 2021-08-17 22:33:17 -07:00
AnthonyL b51a187d77 [Keyboard] Use Bootmagic Lite on Montex (#14036)
Co-authored-by: Anthony Lowery <anthony.lowery@unity3d.com>
2021-08-17 22:27:02 -07:00
Nick Brassel ceb3ebda46 Fixup atsam builds. (#14052) 2021-08-18 01:59:22 +01:00
Matthias Liffers 33587254a0 [Keyboard] Fix pins, add VIA support for Stream Cheap 2x4 (#14001)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-17 17:33:28 -07:00
Joel Challis 58cd8c366c Various fixes from reorg of files (#14051) 2021-08-18 09:54:41 +10:00
tucvbif 703f027717 Allow for removal of hysteresis on 4x encoders (#13698)
* Remove hysteresis on 4x encoders

Sometimes, controller skips encoder pulses and when it returns to default position, the encoder_pulses variable isn't equals 0. And when I turn encoder in opposite direciton, it skips first click becase of encoder_pulses crosses zero. To prevent this, I add the ENCODER_DEFAULT_POS constant, and reset encoder_pulses into 0 when the state variable equals ENCODER_DEFAULT_POS.

* Documentation for ENCODER_DEFAULT_POS
2021-08-18 09:40:00 +10:00
Joel Challis b8e913c8db Migrate platform independent code from tmk_core -> quantum (#13673)
* Migrate action|keyboard|keycode|eeconfig from tmk_core -> quantum
2021-08-18 00:18:58 +01:00
Joel Challis 96e2b13d1d Begin to carve out platform/protocol API - Single main loop (#13843)
* Begin to carve out platform/protocol API

* Fix up after rebase
2021-08-18 00:11:07 +01:00
Joel Challis 4c9003b177 Move chibios board files to allow tmk_core platform migration (#13777)
* Move board files

* fix up after rebase
2021-08-18 00:04:15 +01:00
Drashna Jaelre 4c4f632378 Add a toggle key for GUI On/Off in Magic feature (#13830) 2021-08-18 08:47:50 +10:00
ruro 3b28178deb --parallel improvements (#13800)
* improve make parallel jobs support

* document the --parallel option

* disable the output-sync for interactive targets
2021-08-18 08:46:59 +10:00
Tomas Guinan 999391f3ae Created "paddlegame" keymap (#13629)
* Added gmmk pro paddlegame keymap

* Replaced config.h with my own

* Adjust code to better fit style guide

* Update readme to include layout

* Fixed keymap, was missing a few keys

* Replaced all instances of _isWinKeyDisabled with keymap_config.no_gui

* Update keyboards/gmmk/pro/ansi/keymaps/paddlegame/keymap.c

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

Co-authored-by: Tomas Guinan <bngrybt@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-18 08:43:27 +10:00
Joel Challis 1bb7af4d44 Relocate platform specific drivers (#13894)
* Relocate platform specific drivers

* Move stm eeprom

* Tidy up slightly
2021-08-17 23:43:09 +01:00
Donald Kjer 483691dd73 Fixes for clang not being able to run unit tests (#13546) 2021-08-18 07:12:12 +10:00
Mikael Manukyan 857716794b gmmk/pro/mike1808 keymap (#13398)
* Add gmmk/pro/mike1808 keymap

* Add licenses

* Update readme

* Add underglow support for rgb matrix layers

* Change FN to TT

* Fix rgb layer disabling during rgb settings change

* also clean up some code
2021-08-18 07:10:46 +10:00
Nick Brassel 8db1d22117 Fixup massdrop/alt, cest73/tkm. (#14048)
* Fixup massdrop/alt.

* Fixup `cest73/tkm` bootmagic lite.

* Update keyboards/cest73/tkm/rules.mk

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

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-08-18 06:44:18 +10:00
a-chol 75b49aff56 Digitizer HID interface : absolute coordinates for mouse cursor (#12851)
* Add digitizer HID interface for setting the mouse cursor position at
absolute screen coordinates. Tested on Pro Micro, Proton C and
Blackpill.

* Update docs/feature_digitizer.md

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

* Update tmk_core/protocol/usb_descriptor.c

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

* Add missing copyrights
Add V-USB support

* Add support for digitizer dedicated endpoint for lufa and chibios.
Fix formatting issues
Move digitizer_task definition to the feature's base implementation file

* Run cformat on modified files

* Change digitizer report usage to Digitizer instead of Pen to avoid
pointer disappearing on Windows.

* Update tmk_core/protocol/vusb/vusb.c

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

* Run cformat from docker image

* Remove send_digitizer from host_driver_t and instead rely on the
declaration being the interface to the implementation in each
HW-specific usb implementation.

* Fix build : send_digitizer shouldn't be static in vusb and add
weak-linkage implementation for tests without usb implementation

* Change digitizer user interface to match pointing device's

* Update documentation with new API

Co-authored-by: a-chol <nothing@none.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-18 04:52:44 +10:00
mechlovin 7794e97f32 Add mechlovin9 rev2 PCB (#12767)
* Add mechlovin9 rev2 PCB

Move mechlovin9 PCB from mechlovin/hannah65/mechlovin9 to mechlovin/mechlovin9
And add mechlovin9 rev.2

* update

* change bootloader and  bootmagic button

* Add mechlovin9 rev2 PCB

Move mechlovin9 PCB from mechlovin/hannah65/mechlovin9 to mechlovin/mechlovin9
And add mechlovin9 rev.2
2021-08-18 04:49:40 +10:00
freqmod 705774f7bf Steno combinedkeys (#12538)
* Add support for steno keys that press adjacent keys simultaniously

* Add some docs for steno combined keys
2021-08-18 04:48:00 +10:00
50an6xy06r6n 4b96d5876e Fix Indicator LED issues (#12097) 2021-08-18 04:44:19 +10:00
Ryan 37496f4b60 Add alternate ldscript for STM32duino (F103xB) (#12914)
* Add alternate ldscript for STM32duino (F103xB)

* Refactor out common ldscript stuff

* Move ldscripts into stm32duino board dir, add search path to ldflags
2021-08-18 04:23:22 +10:00
Drashna Jaelre 7da97c293d Rgb matrix/enable modes explicitly (#13758)
* Change animations to require explicet activation

* Add support for legacy config

* Make default for now

* Add LED Matrix support

* change LED Matrix docs
2021-08-18 04:19:00 +10:00
Drashna Jaelre 85351dc23d [CLI] Add qmk-hid bootloader detection support to qmk console (#14038)
* [CLI] Add qmk-hid bootloader detection support to `qmk console`

* Remove duplicate entry

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

* Begrudgingly add lufa-ms

* Add udev rules for hid bootloaders

* Update util/udev/50-qmk.rules

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Fix VID/PID combos

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2021-08-18 04:13:54 +10:00
Drashna Jaelre fae5cc6c67 [Keyboard] Fixup Neson Design N6 ISSI includes (#14045) 2021-08-17 10:31:34 -07:00
QMK Bot a6d2993fc5 Merge remote-tracking branch 'origin/master' into develop 2021-08-17 16:14:10 +00:00
s-show ab10ce4932 update feature_tap_dance.md translation (#13496)
* update feature_tap_dance.md translation

* Update docs/ja/feature_tap_dance.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* update based on comment.

Co-authored-by: shela <shelaf@users.noreply.github.com>
2021-08-18 01:13:09 +09:00
QMK Bot aeda1a003e Merge remote-tracking branch 'origin/master' into develop 2021-08-17 16:07:05 +00:00
yulei a8f893ed2c [Keyboard] add n6 keyboard (#13768)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-17 09:06:26 -07:00
QMK Bot b87e2947c1 Merge remote-tracking branch 'origin/master' into develop 2021-08-17 15:44:51 +00:00
Charly Delay 837571ef7f [Keyboard] bastardkb/skeletyl: fix LED configuration (#14030) 2021-08-17 08:44:19 -07:00
Drashna Jaelre e443fa2892 Fix wait_us overflow in matrix for dactyl based boards (#14039) 2021-08-17 08:20:01 -07:00
Zach White 8d9bfdc254 Add a lot more data to info.json (#13366)
* add some split data to info.json

* add tags

* add half of config_options.md to info.json

* add support for designating master split

* sort out split transport and primary

* fix bad data in UNUSED_PINS

* fixup custom transport

* wip

* allow for setting split right half keyboard matrix

* add SPLIT_USB_DETECT

* minor cleanup

* fix an erroneous message

* rework split.usb_detect

* adding missing rgblight vars to info.json

* add mouse_key to info.json

* add all remaining options from docs/config_options.md

* fix audio voices

* qmk info: Change text output to use dotted notation

* tweak layout output

* resolve alias names

* break out some functions to make flake8 happy

* add a field for bootloader instructions

* qmk generate-info-json: add a write-to-file argument

Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal.

* -arg_only, +action

Because it was never my intention that one would have to specify a value for the argument that enables writing the file.

* Bring qmk generate-info-json inline with other generate commands

* pytest fixup

* fix esca/getawayvan

* fix data driven errors for bpiphany converters

* features.force_nkro -> usb.force_nkro

* split.primary->split.main

* fix esca/getawayvan_f042

* fix the bpiphany converters for real

* fix bpiphany/tiger_lily

* Apply suggestions from code review

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

* fix generate-api errors

* fix matrix pin extraction for split boards

* fix ploopyco/trackball_nano/rev1_001

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-16 23:33:30 +01:00
QMK Bot fac717c11c Merge remote-tracking branch 'origin/master' into develop 2021-08-16 20:51:03 +00:00
James Young cab1347387 ryanbaekr rb86: rename LAYOUT_numpad_6x17 to LAYOUT (#14011)
This keyboard isn't a numpad.
2021-08-16 13:50:30 -07:00
QMK Bot 3867c70859 Merge remote-tracking branch 'origin/master' into develop 2021-08-16 20:16:47 +00:00
James Young 08b2d08593 MisonoWorks Chocolate Bar Configurator fixes (#14009)
* info.json: apply human-friendly formatting

* info.json: correct key sequence

Places the arrow keys in the proper place in sequence.

* correct maintainer's GitHub link in readme

User changed their GitHub username; previous URL was Error 404.
2021-08-16 13:16:17 -07:00
QMK Bot fc50b6d22e Merge remote-tracking branch 'origin/master' into develop 2021-08-16 20:11:52 +00:00
James Young d9bb42e37b Linworks Fave87 Layout Macro Refactor (#14008)
* correct LAYOUT_tkl_ansi data

Number row was positioned 0.25u too low.

* correct LAYOUT_tkl_ansi macro

- remove position K027 (right half of Split Backspace)
- remove position K096 (right portion of Split Right Shift)

* correct LAYOUT_tkl_iso macro

- remove position K027 (right half of Split Backspace)
- remove position K096 (right portion of Split Right Shift)

* enable Community Layout support

* add LAYOUT_tkl_ansi_split_bs_rshift and LAYOUT_tkl_iso_split_bs_rshift
2021-08-16 13:11:09 -07:00
Joel Challis 2bc8215ce5 Unify behaviour of wait on AVR (#14025) 2021-08-16 17:28:12 +01:00
QMK Bot 4818debcd0 Merge remote-tracking branch 'origin/master' into develop 2021-08-16 10:18:27 +00:00
James Young 0c6155ec42 Pimentoso TouhouPad Layout Macro refactor (#14010)
* physically arrange layout macro, phase 1

Break the keymap up into rows.

* physically arrange layout macro, phase 2

Moves the Escape and Enter keys to the top row.

* refactor default keymap

- use QMK short-form keycodes
- grid align keycodes

* physically arrange layout macro, phase 3

Moves the X key (Bomb) to the bottom row.

* physically arrange layout macro, phase 4

Physically arrange the Escape and Enter keys.

* physically arrange layout macro, phase 5

Physically arrange the arrow keys.

* physically arrange layout macro, phase 6

Physically align the X (Bomb) key.

* align escape characters in layout macro

* info.json: apply human-friendly formatting
2021-08-16 03:17:25 -07:00
QMK Bot 6c662a600c Merge remote-tracking branch 'origin/master' into develop 2021-08-16 06:44:50 +00:00
James Young b512afc347 Fix line endings in keyboards/absinthe/keymaps/via/rules.mk (#14028) 2021-08-15 23:44:03 -07:00
QMK Bot 3202b3900e Merge remote-tracking branch 'origin/master' into develop 2021-08-16 02:41:52 +00:00
James Young 3c3c5965f1 Gorthage Truck Refactor (#14006)
* info.json: apply human-friendly formatting

* info.json: make key labels more friendly to `qmk info -l`

* correct LAYOUT_3u key sequence

* correct LAYOUT_7u key sequence

* correct LAYOUT_10u key sequence

* refactor default keymap

- use QMK short-form keycodes
- update grid alignment
- use four-space indent
- touch up with `qmk cformat`

* refactor 10u keymap

- use QMK short-form keycodes
- add encoder_update_user() function
- update grid alignment
- use four-space indent

* refactor 7u keymap

- use QMK short-form keycodes
- add encoder_update_user() function
- update grid alignment
- use four-space indent

* refactor gorthage_truck.h

- update grid alignments
- use XXX for KC_NO
- insert omitted KC_NO instances

* correct keyboard metadata in info.json

- use GitHub username for maintainer
- correct keyboard dimensions

* add encoder_update_kb() function to gorthage_truck.c

Gives QMK Configurator compile jobs encoder functionality.

* update maintainer field in info.json

As requested by jpuerto96 (s8erdude).
2021-08-15 19:41:02 -07:00
Joel Challis ab941ce614 Move all the flash logic from tmk_core (#13927) 2021-08-15 21:55:23 +01:00
Drashna Jaelre 4e3726bfe1 Fixup Audio startup and add to documents (#13606)
* Fixup Audio startup and add to documents

* fix doc descriptions
2021-08-15 21:51:50 +01:00
James Young 4b453dca92 Remove MIDI Configuration boilerplate (#11151)
* remove keyboard-level instances of `MIDI_ENABLE = no`

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e  '/^[ #]*MIDI_ENABLE[ \t]*=[ \t]*no/d' {} +
```

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* fix case-sensitivity issues on MIDI_ENABLE

Change instances of `MIDI_ENABLE = YES` to `MIDI_ENABLE = yes`.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE[ \t]*=[ \t]*[Yy][Ee][Ss];MIDI_ENABLE = yes;g' {} +
```

* replace `# MIDI controls` with `# MIDI support`

Replace `# MIDI controls` with `# MIDI support` in keyboard-level `rules.mk` files.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*MIDI[ \t]*\(controls\|support\).*;# MIDI support;g' {} +
```

* align inline comments

Aligns the inline comments to the length used by the QMK AVR rules.mk template.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE *= *yes.*;MIDI_ENABLE = yes           # MIDI support;g'  {} +
```

* remove commented instances of `MIDI_ENABLE` from keyboard `rules.mk` files

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#\([ \t]*MIDI_ENABLE\) = yes; \1 = no ;' {} +
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;^\([ \t]*\)\(MIDI_ENABLE = no\);\2\1;' {} +
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e '/^[ #]\+MIDI_ENABLE *= *no/d' {} +
```

* remove MIDI configuration boilerplate from keyboard config.h files

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-16 06:51:13 +10:00
Zach White fd340f8957 Defer the expensive search for layout macros until info.json has been processed (#14007)
* defer the expensive search for layout macros until info.json has been processed

* fixup names
2021-08-16 06:30:58 +10:00
Drashna Jaelre f56c202fb3 Fix ifdefs for OLED split sync code (#14017) 2021-08-15 00:54:08 -07:00
Drashna Jaelre 488aaa0980 Enable sync of OLED/ST7565 display on/off state on Splits (#13542)
* Enable sync of OLED/ST7565 display on/off state on Splits

* Only send if states are not matched

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

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-15 15:39:08 +10:00
fauxpark 4b3691e72d Merge remote-tracking branch 'upstream/master' into develop 2021-08-15 15:27:25 +10:00
Ryan 4c93c350a6 AL1 refactor (#13679) 2021-08-15 15:19:01 +10:00
Ryan b1d8efeb59 LFKeyboards: Replace KC_FNx with F(x) (#13999) 2021-08-15 15:18:41 +10:00
Zach White 8a54127782 Fix errors that have cropped up in develop (#14005)
* frooastboard: remove duplicate values from config.h

* pistachio_pro: remove unused pin D5
2021-08-15 11:02:46 +10:00
Zach White 60a36863bc [Keyboard] ez_maker/directpins for easy one-offs in qmk_configurator (#13321)
* new keyboard: handwired/directpins

* fix promicro keyboard_name

* add teensy2 and teensy2++ support

* align with handwired/onekey

* tweak pids

* add teensy 3.2 and teensy lc to directpins

* move directpins from handwired to ez_maker

* add docs for easy maker
2021-08-14 08:42:59 -07:00
QMK Bot 110a320321 Merge remote-tracking branch 'origin/master' into develop 2021-08-14 15:08:27 +00:00
Ramon Imbao 209fd753cb [Keyboard] Add TKL-FF PCB (#14003) 2021-08-14 08:07:55 -07:00
QMK Bot a6d77fdf27 Merge remote-tracking branch 'origin/master' into develop 2021-08-14 14:59:20 +00:00
Rifaa Subekti 1e4f0d9dcf [Keyboard] add Stealth macropad (#13986)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-14 07:58:44 -07:00
QMK Bot 0bb9a5c128 Merge remote-tracking branch 'origin/master' into develop 2021-08-14 14:18:47 +00:00
Ryan fce12f0075 Rework keymap_extras docs (#13949) 2021-08-15 00:18:20 +10:00
QMK Bot 3c013ca7b0 Merge remote-tracking branch 'origin/master' into develop 2021-08-14 13:20:22 +00:00
James Young de29364827 Ducky One2mini Layout Macro fixes (#14002) 2021-08-14 23:19:50 +10:00
QMK Bot d1be25e9ab Merge remote-tracking branch 'origin/master' into develop 2021-08-14 09:10:32 +00:00
James Young 47b76f556b Function96 V2 Configurator fixes (#13996)
* info.json: apply human-friendly formatting

* correct key sequence for LAYOUT_iso

* correct key sequence for LAYOUT_iso_splitspace

* add layout data for LAYOUT_all
2021-08-14 02:10:03 -07:00
QMK Bot 4039c5dda9 Merge remote-tracking branch 'origin/master' into develop 2021-08-14 09:03:03 +00:00
James Young 90583a1668 Orthocode Layout Macro rework (#13995)
* move rotary encoder to top row of layout macro

Makes the layout macro and keycodes resemble the assembled keyboard.

* update info.json data

- convert tabs to spaces
- use human-friendly formatting
- fill in key object labels
- adjust object sequence for layout macro changes
2021-08-14 02:02:24 -07:00
QMK Bot e021357299 Merge remote-tracking branch 'origin/master' into develop 2021-08-14 08:48:55 +00:00
James Young e2c6dadfbf Noxary 378 Layout Macro rework (#13998)
* physically arrange layout macro

* add info.json
2021-08-14 01:48:25 -07:00
QMK Bot 3036189584 Merge remote-tracking branch 'origin/master' into develop 2021-08-14 06:36:00 +00:00
yulei ed350a1aa6 add falcon keyboard (#13674)
* added falcon keyboard

* Update keyboards/matrix/falcon/rules.mk

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

* Update keyboards/matrix/falcon/rules.mk

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

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* added description for the bootloader

* Apply suggestions from code review

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-14 16:35:32 +10:00
QMK Bot 1715fa0e8b Merge remote-tracking branch 'origin/master' into develop 2021-08-14 04:55:04 +00:00
Ramon Imbao 088d6abf54 [Keyboard] Add Irene Keyboard (#13991)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-13 21:54:38 -07:00
Pete Sevander fd3dc3a997 Fix combo_disable (#13988)
- Dump key buffer when combos are disabled.
- Recursive calls to `dump_key_buffer` need to start dumping the buffer
  from index i+1 to avoid possible infinite loops.
- Handle combo key releases even though combo processing is disabled.
2021-08-14 14:45:52 +10:00
Drashna Jaelre 2881517097 Fix Line endings in Absinthe VIA keymap (#13997) 2021-08-14 13:57:41 +10:00
QMK Bot e80772da40 Merge remote-tracking branch 'origin/master' into develop 2021-08-14 01:15:07 +00:00
Joshua T ade989962a [Keymap] clean up userspace, add XD75 / Keyboardio Atreus (#13121)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-13 18:14:21 -07:00
QMK Bot 1412a785ed Merge remote-tracking branch 'origin/master' into develop 2021-08-14 00:01:38 +00:00
James Young 424b9ff709 Crin Refactor (#13982)
* rename LAYOUT_default to LAYOUT_all

* apply human-friendly formatting to info.json

* correct keyboard dimensions

* correct data for LAYOUT_tsangan

* add labels to LAYOUT_ansi data

* add labels to LAYOUT_all data

* add labels to LAYOUT_iso data

* crin.h: update grid alignment of matrix identifiers

* crin.h: add matrix diagram

* physically position matrix identifiers for LAYOUT_all

- move k2d to top row (right half of split Backspace)
- move k41 to fourth row (right half of split Left Shift [KC_NUBS])

* physically position matrix identifiers for LAYOUT_iso

- move k1d to top row ([KC_NUHS])
- add k41 to fourth row ([KC_NUBS], previously missing)

* refactor keymaps

- grid-align keycodes
- use four-space indent

* correct data for LAYOUT_iso

- move Enter key to home row

* rename LAYOUT_tsangan to LAYOUT_ansi_tsangan

* add LAYOUT_iso_tsangan

* update readme.md

- add `make` command for building
- add "Flashing example..."
- touch-up bootloader jump instructions (previous Markdown didn't render ideally on GitHub)

* extend keymap functionality

- add Grave Accent, Function keys, Print Screen, Scroll Lock and Pause keycodes to keymaps
- add RESET keycode (Fn+R)
- use KC_RGHT for Right arrow

* touch-up bootloader instructions on readme

- note that Bootmagic Lite jump erases persistent settings
- note that Fn+R is RESET keycode by default
2021-08-13 17:01:05 -07:00
Drashna Jaelre 7ef4d0c886 Fix pmw3360 code to only output debug info if mouse debugging is enabled (#13993) 2021-08-13 14:20:47 -07:00
Drashna Jael're 7ed235d15d Merge remote-tracking branch 'origin/master' into develop 2021-08-13 14:15:58 -07:00
Evelien-Lillian Dekkers af98005b02 [Keyboard] Add Gud70 (#12575)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-13 12:53:02 -07:00
alittlepeace 9b922d55dd [Keyboard] Adding VIA to Absinthe (#13031)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-13 12:35:56 -07:00
Sergey Omelchenko 74c9c3e9c2 [Keyboard] Macropad v2 polling rate fix (#13129) 2021-08-13 12:34:47 -07:00
eniigmakeyboards 4db9aa65b2 [Keyboard] Add eniigmakeyboards/ek60 (#13140)
* add eniigmakeyboards/ek60

* Update keyboards/eniigmakeyboards/ek60/rules.mk

Updated layouts

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

* Update keymap.c

Added GPL2+ header

* Update keymap.c

Added GPL2+

* Update rules.mk

Added ISO layout here

* Update readme.md

Added instructions for resetting bootloader

* Update keyboards/eniigmakeyboards/ek60/rules.mk

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

Co-authored-by: adamws <adamws@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 12:34:27 -07:00
NightlyBoards 504d443ee3 [Keyboard] Add n9 macropad (#13168) 2021-08-13 12:32:33 -07:00
DonutCables 0f0ebde0aa [Keyboard] Updates to ScrabblePad (#13177)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 12:30:38 -07:00
QMK Bot 854b292873 Merge remote-tracking branch 'origin/master' into develop 2021-08-13 19:30:22 +00:00
steve ulrich 0972789e76 [Keymap] adds sulrich crkbd (corne) personal keymap (#13186) 2021-08-13 12:29:51 -07:00
QMK Bot fcddaadc56 Merge remote-tracking branch 'origin/master' into develop 2021-08-13 19:29:21 +00:00
Joel Elkins 2aeacf9db7 [Keymap] Updates to jdelkins userspace and keymaps (#13216)
- Remove disused dz60/jdelkins_ss keymap
- Manage configured features for firmware size
- Improve build configuration for the secrets feature
- Various keymap tweaks
- Clean up formatting in various places
2021-08-13 12:28:37 -07:00
QMK Bot bd811f6546 Merge remote-tracking branch 'origin/master' into develop 2021-08-13 19:28:35 +00:00
Christian Sandven ac3b9333d8 [Keyboard] Add optional colemak layout to keymap (#13217) 2021-08-13 12:28:05 -07:00
QMK Bot 5c0daf5442 Merge remote-tracking branch 'origin/master' into develop 2021-08-13 19:27:20 +00:00
QMK Bot 21387a7f59 Merge remote-tracking branch 'origin/master' into develop 2021-08-13 19:26:50 +00:00
npspears 3366c5628c [Keyboard] add support for alternate ortho UD40 PCB (#13491)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 12:26:49 -07:00
Manna Harbour 1b5d7616d3 [Keyboard] Add split_3x5_3 layout support to boardsource/microdox (#13323) 2021-08-13 12:26:22 -07:00
QMK Bot a75204743a Merge remote-tracking branch 'origin/master' into develop 2021-08-13 18:53:04 +00:00
Hugues Morisset d5eb673426 [Keyboard] Interlace matrix scan for performance on Moonlander (#13625) 2021-08-13 11:52:27 -07:00
QMK Bot d358492fb4 Merge remote-tracking branch 'origin/master' into develop 2021-08-13 18:48:39 +00:00
Weirdo 20589fb050 [Keybord] Add LS_60 keyboard (#13851)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 11:47:57 -07:00
QMK Bot 72bd653895 Merge remote-tracking branch 'origin/master' into develop 2021-08-13 18:47:00 +00:00
fire-h0und d52e9321e9 [Keyboard] Add cest73/tkm keyboard (#13939)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: cest <cest@localhost>
2021-08-13 11:46:29 -07:00
QMK Bot 924a0b30c3 Merge remote-tracking branch 'origin/master' into develop 2021-08-13 18:41:31 +00:00
8bits4ever 325009587a [converter/a1200] Added support for ATmega32u4 (#13974) 2021-08-13 11:40:50 -07:00
Andre Brait 5711a3bac2 [Keymap] Improve andrebrait keymap (#13985) 2021-08-13 11:33:04 -07:00
QMK Bot fa1ec32e39 Merge remote-tracking branch 'origin/master' into develop 2021-08-13 18:31:14 +00:00
Path Nirvana 670603590e [Keymap] adding new keymap for the idobo keyboard with backlight (#13969) 2021-08-13 11:31:12 -07:00
Dao Tak Isaac 2c9957eb7e [Keyboard] Add dtisaac01 keyboard (#13967)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 11:30:43 -07:00
QMK Bot 349d36ff89 Merge remote-tracking branch 'origin/master' into develop 2021-08-13 18:30:33 +00:00
Logan Butler f00e56eb0b [Keyboard] Add Southpad Keyboard (#13964)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 11:29:59 -07:00
Drashna Jaelre 041ff26ff1 [Keyboard] Fixup Ungodly Launch Pad config (#13992) 2021-08-13 11:28:43 -07:00
QMK Bot ad2f3a0cf5 Merge remote-tracking branch 'origin/master' into develop 2021-08-13 18:23:05 +00:00
minibois 8392729d74 [Keyboard] Add the mini_elixivy keyboard (#13960)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-13 11:22:28 -07:00
QMK Bot 8fea9722dd Merge remote-tracking branch 'origin/master' into develop 2021-08-13 18:21:40 +00:00
Simon 0014c32375 [Keyboard] Added Frooastboard (#13970)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-13 11:21:32 -07:00
Vincent Vorholter 0967d4c8a9 [Keyboard] Add Basketweave VIA keymap (#13972)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Vince Vorholter <vince@28east.co.za>
2021-08-13 11:21:09 -07:00
QMK Bot ceb428c9aa Merge remote-tracking branch 'origin/master' into develop 2021-08-13 18:18:30 +00:00
Alabahuy 0b90877b4b [Keyboard] add rart75m with via support (#13975) 2021-08-13 11:18:02 -07:00
QMK Bot cdba934f86 Merge remote-tracking branch 'origin/master' into develop 2021-08-13 17:38:51 +00:00
Zach White 4742a3a48f use sudo to install modules if needed (#13984) 2021-08-13 10:38:05 -07:00
QMK Bot 4adb7d2176 Merge remote-tracking branch 'origin/master' into develop 2021-08-12 20:15:32 +00:00
Felix Sargent 0c175d63cf Update 20210529.md (#13170)
This was confusing to me when I updated, so I want to make it more clear for those that come after.
2021-08-13 06:14:57 +10:00
Drashna Jaelre 477365912d Fix some additional bootmagic settings (#13979) 2021-08-12 13:03:40 -07:00
Drashna Jaelre 799c2bdfa3 [Keyboard] Fix default keymap for GMMK Pro Iso (#13980) 2021-08-13 04:47:20 +10:00
QMK Bot 968a3b324b Merge remote-tracking branch 'origin/master' into develop 2021-08-12 18:04:20 +00:00
Drashna Jaelre fd4759dcfa [Keyboard] Fix keymaps for Ocean Gin v2 (#13976) 2021-08-13 04:03:50 +10:00
Drashna Jael're 8e8ec6338c Merge remote-tracking branch 'origin/master' into develop 2021-08-12 09:18:18 -07:00
Vino Rodrigues 80015f7fb0 Update config.h for kbdfans/kbd67/mkiirgb/v3 (#13978)
QMK Configurator does not compile - needs a value on RGB_DISABLE_WHEN_USB_SUSPENDED
2021-08-12 09:04:06 -07:00
Jarrett Drouillard 2218879d68 [Keymap] add kuatsure planck keymap (#10625)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-12 08:56:25 -07:00
Luis Godinez a2d5468df3 [Keyboard] Add Launch Pad keymaps (#12490)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-12 08:51:56 -07:00
David Hoelscher 541e749aa8 [Keyboard] Update to customMK Genesis (#12511)
Co-authored-by: Ray <ray@custommk.com>
2021-08-12 08:51:34 -07:00
Vanilla 74aff52bff [Keyboard] Add Spacey keyboard firmware (#12599)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: tfjones24 <tannerfj24@gmail.com>
2021-08-12 08:50:12 -07:00
Paul James 7ee2b0f1ee [Keyboard] Add Tripel keyboard (#12635) 2021-08-12 08:49:51 -07:00
Christian Sandven 022e2748af [Keyboard] Keyprez rhino (#13035)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-12 08:38:37 -07:00
Miles Flavel 8b9c5a9c33 [Keyboard] Fix incorrect RGBLED_NUM value for kbd67 (#13166) 2021-08-12 08:25:09 -07:00
Quentin 356561c438 [Keyboard] Add Skeletyl keyboard (#13495)
Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-12 07:45:42 -07:00
Jacob Jerrell 30843f8329 [Keymap] JJerrell - Add Userspace and ZSA Keyboard Keymaps (#13548) 2021-08-12 07:44:15 -07:00
QMK Bot 176bce50e9 Merge remote-tracking branch 'origin/master' into develop 2021-08-12 14:43:35 +00:00
sato-takashi 1e9d91d4ef [Keyboard] Add EndZone34 (#13847)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-12 07:43:01 -07:00
QMK Bot cb8be2d468 Merge remote-tracking branch 'origin/master' into develop 2021-08-12 14:25:30 +00:00
James Young b61613ccb4 Cospad Configurator touch-up (#13971) 2021-08-12 07:24:58 -07:00
QMK Bot fd1b0f91e5 Merge remote-tracking branch 'origin/master' into develop 2021-08-12 13:59:41 +00:00
arnstadm ac92f4b721 [Keyboard] Add Edda Keyboard (#13953)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-12 06:59:07 -07:00
Andre Brait 33f64903b4 [Keymap] Add andrebrait layout for GMMK Pro (#13932) 2021-08-12 06:55:19 -07:00
QMK Bot 7fe375aef5 Merge remote-tracking branch 'origin/master' into develop 2021-08-12 03:40:49 +00:00
David Dansby 6a5c07680c [Keymap] Add lily58 datadavd layout (#13560) 2021-08-11 20:40:17 -07:00
QMK Bot 353c615c29 Merge remote-tracking branch 'origin/master' into develop 2021-08-12 02:45:25 +00:00
Rifaa Subekti 2bc2a51618 [Keyboard] add Gin V2 keyboard (#13943)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-11 19:44:59 -07:00
QMK Bot d9f2f9d22f Merge remote-tracking branch 'origin/master' into develop 2021-08-12 02:44:46 +00:00
Rifaa Subekti af81e3e63d [Keyboard] add Wang V2 keyboard (#13948)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-11 19:44:15 -07:00
James Young 345f6dc4e6 Merge remote-tracking branch 'upstream/master' into develop
Fixes merge conflicts in:

- keyboards/poker87c/rules.mk and keyboards/poker87d/rules.mk
  - Conflicts from PR 13961
- keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c
  - Conflict from PR 13947
2021-08-11 09:48:25 -07:00
Vicktor Hutama 02ac0f89c4 [Keyboard] Add Rune Vaengr Keyboard (#13945)
* initial commit

* fixed layout

* enabled NKRO

* removed qmkbest

* changed the pins and bootloader to the mcu version

* updated readme

* Apply suggestions from code review

thank you @drashna

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-11 00:24:34 -07:00
jmaynard 710d37b3eb [Keyboard] Improvements to m122_3270 (#13947)
Co-authored-by: Jay Maynard <jmaynard@conmicro.com>
2021-08-11 00:21:40 -07:00
James Young 71ce2b0d79 Poker87C and Poker87D Refactor (#13961) 2021-08-11 00:20:10 -07:00
QMK Bot f4c447f2df Merge remote-tracking branch 'origin/master' into develop 2021-08-11 07:19:55 +00:00
James Young 3161f10b1f Update USB Device strings for VIA identification (#13962) 2021-08-11 00:19:55 -07:00
Kyle Xiao af3627db25 [Userspace] Add custom tap dancing function (#13963) 2021-08-11 00:19:19 -07:00
QMK Bot 5ed7210d53 Merge remote-tracking branch 'origin/master' into develop 2021-08-11 02:11:51 +00:00
Fernando Rodrigues 83a1c4763a [Keyboard] Added split plus layout to Cospad (#13938) 2021-08-10 19:11:19 -07:00
QMK Bot d58dc522a5 Merge remote-tracking branch 'origin/master' into develop 2021-08-11 02:10:38 +00:00
jpuerto96 04b9286605 [Keyboard] Gorthage Truck - Rotary Encoder Switch Position (#13942)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-10 19:09:59 -07:00
QMK Bot 1537e3975d Merge remote-tracking branch 'origin/master' into develop 2021-08-11 00:31:28 +00:00
Ananya Kirti 8d4fcd678a Hp69 - Update led logic (#13940)
Co-authored-by: zvecr <git@zvecr.com>
2021-08-11 10:30:56 +10:00
QMK Bot 80cb96bb15 Merge remote-tracking branch 'origin/master' into develop 2021-08-10 23:56:43 +00:00
Eric S. Raymond 817fcfdc9a Fix shell port bug in computation of QMK_FIRMWARE_DIR (#13950)
Previous code would fail if cd echoes the tathet directory to stdout,
which is pretty common.  Redirecting its output to /dev/null
solves the problem.
2021-08-11 00:56:08 +01:00
Luigi311 8d1255ccab Handwired/Stream_Cheap/2x4: Add via support (#13297)
* Handwired/Stream_Cheap/2x4: Add via support

Signed-off-by: Luigi311 <luigi311.lg@gmail.com>

* Handwired/Stream_Cheap: Update readme for via

Signed-off-by: Luigi311 <luigi311.lg@gmail.com>

* Handwired/Stream_Cheap/2x4: Add 2x4 to via json

Signed-off-by: Luigi311 <luigi311.lg@gmail.com>

* Handwired/Stream_Cheap/2x4: Add GPL2+ License to keymap

Signed-off-by: Luigi311 <luigi311.lg@gmail.com>
2021-08-11 07:40:30 +10:00
Alin Marin Elena 184c2e35af add support for m65 and simple 5x13 ortholinear (#12315)
* add support for m65 and simple 5x13 ortholinear

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

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

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

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

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

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

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

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

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

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

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

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* updates as per @sigprof review plus reformat

* pins all now are defined at microcontroller level

* profuct id defined at microcontroller level

* put leds on when _ADJ is on

* add danish keymap

* make default uk centric iso as per readme

* default is now iso generic, uk is its own business

* add license

* update imgur links to reflect the layout

* leds for _ADJ layer now do not prevent the other layers leds to get on

* Update keyboards/m65/keymaps/uk/keymap.c

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

* Update keyboards/m65/keymaps/dk/keymap.c

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

* Update keyboards/m65/keymaps/uk/readme.md

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

* Update keyboards/m65/readme.md

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

* add support for gd32f303cct6 by we act in rev2

* Revert "add support for gd32f303cct6 by we act in rev2"

This reverts commit 4ad3834925508b79f2ff9fd5526dfc39f07fa3bc.

* Update keyboards/m65/rev1/rules.mk

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

* Update keyboards/m65/keymaps/dk/readme.md

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

* Update keyboards/m65/keymaps/uk/readme.md

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

* Update keyboards/m65/keymaps/default/readme.md

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

* remove empty hal

* add capslock

* Update keyboards/m65/readme.md

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

* Update keyboards/m65/config.h

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

Co-authored-by: Alin M Elena <alin-marin.elena@stfc.ac.uk>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-08-11 06:59:01 +10:00
QMK Bot d888ac17ea Merge remote-tracking branch 'origin/master' into develop 2021-08-10 14:48:55 +00:00
Zach White ed84a4e7e3 Improve the qmk lint readme check (#13941)
* improve lint readme check

* improve if
2021-08-10 07:48:22 -07:00
Zach White 9a0118c603 Architecture documentation for Configurator and API (#13935)
* Architecture documentation for the configurator and api

* Apply suggestions from code review

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

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-08-10 07:47:53 -07:00
QMK Bot 5b8f2eccbf Merge remote-tracking branch 'origin/master' into develop 2021-08-10 09:15:00 +00:00
Stefan Subich aeff347a07 Update feature_wpm.md (#13936)
Fix example markdown code formatting
2021-08-10 10:14:14 +01:00
QMK Bot 75a58c3cef Merge remote-tracking branch 'origin/master' into develop 2021-08-10 08:03:36 +00:00
Ryan d3932a104c Add padding to LUFA-MS .BIN files (#13922) 2021-08-10 18:03:04 +10:00
QMK Bot 85090b77af Merge remote-tracking branch 'origin/master' into develop 2021-08-10 05:24:08 +00:00
rate 076c8cc45f [Keyboard] Added pistachio_pro (#13466)
* Added pistachio_pro

* Apply suggestions from code review

* Apply suggestions from code review
2021-08-09 22:23:25 -07:00
QMK Bot 3e0517f1ef Merge remote-tracking branch 'origin/master' into develop 2021-08-10 04:07:54 +00:00
Ryuki 8ef58e3291 adding my keymap "vayashiko" (#13049)
* adding my keymap

* changed some bugs

* removed include keymap.h
2021-08-09 21:07:14 -07:00
QMK Bot f0a2641cf1 Merge remote-tracking branch 'origin/master' into develop 2021-08-09 21:15:07 +00:00
Brandon Lewis 760caaa9af Ristretto - Update bootloader (#13933)
* updated bootloader for 32u4 mcu

Should be atmel-dfu instead of caterina as the mcu is integrated instead of on a pro-micro/elite-c
2021-08-09 14:14:33 -07:00
Dasky bb2986c115 Fix compliation for ferris 0.2 bling (#13937)
* Fix include
2021-08-09 14:04:40 -07:00
James Young 7bec943043 Merge remote-tracking branch 'upstream/master' into develop
Fixes merge conflicts in:

- keyboards/bm40hsrgb/config.h
  - Conflict from PR 13132:
    - RGB_DISABLE_WHEN_USB_SUSPENDED signature updated in develop branch, unmodified in master branch
    - updated file with changes from master branch

- keyboards/keebio/iris/keymaps/nstickney/keymap.c
  - Conflict from PR 11456:
    - layer_state_set_user() updated in develop branch, removed in master branch
    - updated file with changes from master branch
2021-08-09 12:14:22 -07:00
Joel Challis c0628c2820 Remove backwards compatibility of debounce names (#13877)
* Remove backwards compatibility of debounce names

* Update docs

* Update keyboards/keymaps
2021-08-09 19:46:18 +01:00
Joel Challis 7c691d82bf Remove ONEHAND_ENABLE (#13920) 2021-08-09 19:46:03 +01:00
Daniil Yastremskiy 26ea090190 Limit RGB max brightness on KPrepublic BM-series keyboards (#13132) 2021-08-09 11:32:35 -07:00
Drashna Jaelre 2617ac6041 Fixup rgb matrix config for KBD67 mkII boards (#13931) 2021-08-09 19:26:02 +01:00
Pierre Chevalier 23becac3a6 Support all the 0.2 Ferris variants (#12653)
* Support all the 0.2 Ferris variants

For the Compact, the High and the Mini, create a new directory so each
keyboard may have the correct USB descriptor and a readme with more
specific information about it.

For the Bling, also add support for the underglow functionality.

Change the "MANUFACTURER" string to "Cuddly Keyboards Ltd.", the
name of the company I incorporated to sell keyboards, and change the
default descriptor from "Ferris the keeb" to "Ferris 0.2" which is more
descriptive.
I didn't update the 0.1 variants as I don't intend to sell these kits
with "Cuddly Keyboards". The firmware is mostly there to support
existing users.

Update the "hardware availability" to point to my new website:
cuddlykeyboards.com.

* Add RGB mode toggle to my keymap and to the default keymap

* Improve wording in the readme
2021-08-09 11:23:15 -07:00
Stick 5a59363e28 [User] changes to nstickney's keymaps (#11456)
0) Built a Bastyl, gave away the ErgoDoxEZ
1) UNICODEMAP
2) Iris left is now Elite-C
3) New QMK flashing instructions
2021-08-09 10:34:36 -07:00
QMK Bot 8d19f4f187 Merge remote-tracking branch 'origin/master' into develop 2021-08-09 17:06:58 +00:00
Edvard Sire 8936d0ae4b [Keymap] new keymap for nui_mini (#13924) 2021-08-09 10:06:25 -07:00
QMK Bot ed7f06bd7b Merge remote-tracking branch 'origin/master' into develop 2021-08-09 17:05:08 +00:00
Andre Brait dbee96098d Make default keymap for GMMK Pro reflect stock (#13850) 2021-08-09 10:04:58 -07:00
Pascal Pfeil 9a1a35f681 [Keymap] Add kbd67 mkiirgb keymap (#13884)
Co-authored-by: Spaceman <rionlion100@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-09 10:04:40 -07:00
QMK Bot f3cede7299 Merge remote-tracking branch 'origin/master' into develop 2021-08-09 17:04:30 +00:00
Michele Ferri be72a64cf6 [Keyboard] Add TouhouPad (#13915)
* Touhoupad rev 2

* cleanup for PR

* fixes after review
2021-08-09 10:04:00 -07:00
Zach White 12681bacc4 Merge remote-tracking branch 'origin/master' into develop
Conflicts:
	keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c
2021-08-09 08:34:14 -07:00
Zach White e6c171bdd6 Fix generate api (#13930)
* Add missing returncode to exit()

* fix the aozora/hotswap vendor id
2021-08-09 08:28:51 -07:00
Zach White 5eb0e406fd make json imports more robust (#13928) 2021-08-09 08:27:02 -07:00
Chris 79d5b27993 [Keymap] rootiest for planck/rev6/ (#13294)
* squashed commits to master

* Fix in case of missing user_song_list
Substitutes missing songs with safe versions
Also updated and added detail to keymap readme

* Adjust Readme to match qmk contrib conventions

* Update keyboards/planck/keymaps/rootiest/config.h

* Update keyboards/planck/keymaps/rootiest/keymap.c

* Update keyboards/planck/keymaps/rootiest/keymap.c

* Update keyboards/planck/keymaps/rootiest/keymap.c

* Update keyboards/planck/keymaps/rootiest/keymap.c

* Fixed license header to GPLv2+

* Fix Volume key delay
Use a static number instead of removed MEDIA_KEY_DELAY

* Use TAP_CODE_DELAY

* added license to config.h

* Clean up formatting
- Fixed markdown in readme
- Removed extra commented line from config.h

* Update keyboards/planck/keymaps/rootiest/config.h
2021-08-09 02:25:43 -07:00
jfescobar18 59b5c884ff [Keyboard] Undead 60M (#13735)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-08 23:17:46 -07:00
Phooood 7c2f48e55d [Keyboard] Add Aozora (hotswap) keyboard (#13919)
* Initial Commit

* added header to hotswap.c

* added keymap-specific reamdme.md

* minor adjustments

* Requested corrections to readme's
2021-08-08 20:31:33 -07:00
Nick Brassel 65e3760853 Fix compilation issue. (#13926) 2021-08-09 13:20:15 +10:00
thpoll83 b43c6bc176 Add support for STM32F407x MCUs. (#13718)
* Add support for STM32F407x MCUs.

* Removing STMF407 MCU variation

* Update quantum/mcu_selection.mk

Remove options for dfu flashing

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

* DISABLE STM32_USB_USE_OTG1

* Update platforms/chibios/GENERIC_STM32_F407XE/configs/mcuconf.h

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

* Update platforms/chibios/GENERIC_STM32_F407XE/configs/mcuconf.h

Co-authored-by: thomas.pollak <thomas.pollak@dynatrace.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-09 06:52:13 +10:00
datafx ac2090bf4e [Keyboard] Add kbdfans kbd67 mkii rgb v3 (#13714)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-07 21:45:43 -07:00
QMK Bot ac92ded0cc Merge remote-tracking branch 'origin/master' into develop 2021-08-08 04:42:36 +00:00
Spaceman bfa7449041 [Keyboard] Add Pancake v2 (#13839)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-07 21:42:04 -07:00
QMK Bot 8e5213ca6c Merge remote-tracking branch 'origin/master' into develop 2021-08-08 04:41:43 +00:00
Ananya Kirti b046bffcb8 [Keyboard] Added CapsLED and ScrollLock LEDs (#13837)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-07 21:41:15 -07:00
Drashna Jaelre b9dcd5ac38 [Keymap] Drashna split transport improvement (#13905)
* Fix up split stuff

* Fix Split perf issues

* Allow LTO to be disabled

* Fixup WPM and encoders

* Fixup qmk keys per scan

* Add bootloader info

* Change encoder pins

* Fixup corne oled code

* Expand transport sync

* Improve user transport

* Cleanup mouse processing at keymap level

* Improve layer checking for mouse layering
2021-08-07 21:40:48 -07:00
QMK Bot 100333818f Merge remote-tracking branch 'origin/master' into develop 2021-08-08 04:15:54 +00:00
8bits4ever bc2b73f997 [Keyboard] a1200 converter minor changes (#13848)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-07 21:15:23 -07:00
QMK Bot 21b71932f7 Merge remote-tracking branch 'origin/master' into develop 2021-08-08 04:13:48 +00:00
jpuerto96 41d854048c [Keyboard] Gorthage Truck - New PCB (#13909)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-07 21:12:55 -07:00
QMK Bot 6c5ef3ce30 Merge remote-tracking branch 'origin/master' into develop 2021-08-08 03:38:09 +00:00
Pascal Pfeil 27d0844efb [Keyboard] Clean up lfkpad and add keymap (#13881)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-07 20:37:13 -07:00
QMK Bot d0f1a4c48a Merge remote-tracking branch 'origin/master' into develop 2021-08-08 03:24:59 +00:00
peott-fr 34689e348f [Keyboard] Adding my Nyquist keymap (#13858) 2021-08-07 20:24:24 -07:00
Drashna Jaelre d06f50a31a [Keyboard] Fix matrix_output_unselect_delay for handwired/xealousbrown (#13913) 2021-08-08 01:36:38 +10:00
QMK Bot 243e75659c Merge remote-tracking branch 'origin/master' into develop 2021-08-07 14:57:43 +00:00
kb-elmo 07e2c11e55 [Keyboard] fixes for KBD67 rev2 (#13906) 2021-08-07 07:57:14 -07:00
Drashna Jaelre 6fb9842936 Clean up remaining RGB_DISABLE_WHEN_USB_SUSPENDED defines Part 2 (#13912) 2021-08-07 15:18:06 +01:00
Liyang HU 383fae55c5 Refactor quantum/command.{c,h} for code size & {read,maintain}ability (#11842)
* quantum/command.c: coalesce `print()`s in `command_common_help()` & `print_version()`

Also undo some damage by clang-format in b624f32f94

* quantum/command.c: replace `print(…); print_{,val_}{dec,hex}*(…);` sequences with single `xprintf(…)`

`print_{dec,hex}*(…)` are just `#define`s for `xprintf(…)` anyway.

Each additional `xprintf(…)` costs ~8 bytes: the call instructions,
plus an additional NUL terminator.

This _really_ adds up: this commit saves 814 bytes on my ATmega32.

* quantum/command.c: optimise `mousekey_console()` for size & legibility

Made various tweaks to the interface, but still functionally identical.

Assume `KC_1`…`KC_0` to be contiguous, and removed `numkey2num(…)` entirely.
It was exported in `command.h` by 1a0bac8bcc for no obvious reason, before
which it was `static`. I doubt anyone uses it.

`mousekey_console()` is now enabled regardless of `MK_3_SPEED`.
Needs fleshing out for things other than the X11 variant though.

This commit saves 638 bytes on my ATmega32.
2021-08-07 17:12:57 +10:00
James Young a03aa301de Remove Full Bootmagic (#13846)
* disambiguate Bootmagic rules in keymaps

The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic.

This commit edits the files to specify that full Bootmagic is intended.

* remove BOOTMAGIC_ENABLE=full setting

* unify commented BOOTMAGIC_ENABLE rules in keyboards

Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no       # Virtual DIP switch configuration;g' {} +
```

* remove commented Bootmagic rules from keymap/user level

Command:

```
find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} +
```

* update keyboard BOOTMAGIC_ENABLE rule formatting

Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later).

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
```

* update keyboards' BOOTMAGIC_ENABLE settings

Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' +
```

* update keymap/user BOOTMAGIC_ENABLE settings

Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
```

* remove and replace inline comments in keyboards and keymap/user files

Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1     # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1      # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1       # Enable Bootmagic Lite;g' '{}' +
```

* rename improperly named makefiles

Some files intended to be used as makefiles had improper names causing them to not be used as intended when building.

This commit corrects the filenames of the affected files.

* update renamed file with new rule formatting

* update QMK's template files

Updates QMK's `rules.mk` templates to use the new inline comment.

* update QMK Docs

- remove documentation of full Bootmagic
- update links to Bootmagic Lite doc
- add doc for Magic Keycodes

* rules.mk patch for coarse/ixora and coarse/vinta
2021-08-06 23:59:56 -07:00
QMK Bot 0bc9090b1f Merge remote-tracking branch 'origin/master' into develop 2021-08-07 06:52:44 +00:00
kb-elmo 85c32da989 [Keyboard] Added 67mk_E PCB (#13869)
* added 67mk_E PCB

* add layouts
2021-08-06 23:52:39 -07:00
bomb a9b0750f7b [Keyboard] Modify key drive pins for mojo68 (#13863) 2021-08-06 23:52:18 -07:00
QMK Bot 7b709aaecc Merge remote-tracking branch 'origin/master' into develop 2021-08-07 06:52:11 +00:00
Alex Ong 8a9688bc64 [Keyboard] Use new matrix_output_select_delay api (#13861)
* Use new matrix_output_select_delay api

* Updated delay to 15 after more spamming
2021-08-06 23:51:38 -07:00
QMK Bot 1f94e99565 Merge remote-tracking branch 'origin/master' into develop 2021-08-07 06:51:32 +00:00
Cian Johnston 9d88786b6f [Keyboard] add handwired/oem_ansi_fullsize (#13857)
* Add new keyboard oem_ansi_fullsize

* clang-fmt

* Update keyboards/handwired/oem_ansi_fullsize/rules.mk

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

* Update keyboards/handwired/oem_ansi_fullsize/readme.md

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

* update info.json using qmk c2json

* update info.json

* move diagram to readme

* add matrix cols/rows to info.json

* fixup! add matrix cols/rows to info.json

* rename layout, fix block comment

* s/ansi_fullsize/fullsize_ansi/g

Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-06 23:51:03 -07:00
QMK Bot 07a7724f2b Merge remote-tracking branch 'origin/master' into develop 2021-08-07 06:50:18 +00:00
Jack Kenney e4342f8630 [Keymap] JackKenney's keymap for GMMK Pro (#13853) 2021-08-06 23:49:25 -07:00
QMK Bot 58bb1dbde7 Merge remote-tracking branch 'origin/master' into develop 2021-08-07 06:07:10 +00:00
Drashna Jaelre 9c03d41f6a [Keyboard] Fix oled_task_user for chocolatebar (#13911) 2021-08-06 23:06:39 -07:00
QMK Bot e8112e49cd Merge remote-tracking branch 'origin/master' into develop 2021-08-07 05:59:33 +00:00
James Young 95fed3bfcf clean up CRLF instances (#13910) 2021-08-07 15:59:03 +10:00
QMK Bot e2ac8d5f3e Merge remote-tracking branch 'origin/master' into develop 2021-08-07 05:48:48 +00:00
Moritz a3cb3e139a [Keyboard] Add Fave87 (#13873)
Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-06 22:48:17 -07:00
QMK Bot b38fdc0a57 Merge remote-tracking branch 'origin/master' into develop 2021-08-07 04:48:50 +00:00
misonoworks d917bfb277 [Keyboard] Add MisonoWorks Chocolate Bar keyboard (#13798)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: autumnisacutie <63772942+autumnisacutie@users.noreply.github.com>
2021-08-06 21:48:19 -07:00
QMK Bot 36b2f06d9e Merge remote-tracking branch 'origin/master' into develop 2021-08-07 00:03:19 +00:00
mechlovin 744019c032 [Keyboard] Add Hex4B PCB (#13435)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: vuhopkep <boy9x0@gmail.com>
2021-08-06 17:02:46 -07:00
QMK Bot 25425dc9bc Merge remote-tracking branch 'origin/master' into develop 2021-08-07 00:02:28 +00:00
yfuku 6721825df5 [Keyboard] Add owl8 keyboard (#13380)
* add owl8

* use DIRECT_PINS

* fix encoder

* Changed to use action_exec.
2021-08-06 17:01:52 -07:00
Sergey Vlasov 610035dce8 Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys (#9404)
* Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys

Implement an additional option for dual-role keys which converts the
dual-role key press into a hold action immediately when another key is
pressed (this is different from the existing PERMISSIVE_HOLD option,
which selects the hold action when another key is tapped (pressed and
then released) while the dual-role key is pressed).  The Mod-Tap keys
already behave in a similar way, unless the IGNORE_MOD_TAP_INTERRUPT
option is enabled (but with some additional delays); the added option
makes this behavior available for all other kinds of dual-role keys.

* [Docs] Update tap-hold docs for HOLD_ON_OTHER_KEY_PRESS

Document the newly added HOLD_ON_OTHER_KEY_PRESS option and update the
documentation for closely related options (PERMISSIVE_HOLD and
IGNORE_MOD_TAP_INTERRUPT).

Use Layer Tap instead of Mod Tap in examples for PERMISSIVE_HOLD and
HOLD_ON_OTHER_KEY_PRESS, because the effect of using these options with
Mod Tap keys is mostly invisible without IGNORE_MOD_TAP_INTERRUPT.

Add comments before return statements in sample implementations of
`get_ignore_mod_tap_interrupt()`, `get_hold_on_other_key_press()` and
`get_permissive_hold()`.

Thanks to @Erovia and @precondition for comments and suggestions to
improve the documentation.
2021-08-07 09:16:26 +10:00
Gigahawk 13b94b468d Copy GMMK Pro screw specs to ISO readme (#13908) 2021-08-07 08:11:17 +10:00
QMK Bot 9e7bfdf6c6 Merge remote-tracking branch 'origin/master' into develop 2021-08-06 11:55:12 +00:00
Gigahawk bdf86c4cbd Add replacement screw specifications to GMMK Pro readme (#13903) 2021-08-06 04:54:43 -07:00
Nick Brassel f24bca5bb3 Update ChibiOS-Contrib, mirroring script. (#13896) 2021-08-06 16:40:12 +10:00
QMK Bot 538d9d7890 Merge remote-tracking branch 'origin/master' into develop 2021-08-06 05:54:10 +00:00
Joel Challis c588d232cb Avoid name conflicts with usb_hid Arduino code (#13870)
* Avoid name conflicts with usb_hid Arduino code

* Fix tests
2021-08-06 15:53:38 +10:00
QMK Bot 3ba2ce40a5 Merge remote-tracking branch 'origin/master' into develop 2021-08-06 05:18:45 +00:00
James Young b9a1b61f6a Flehrad Tradestation Refactor (#13897)
* add license headers

Apache 2.0 per the included `license` file.

* info.json: use human-friendly formatting

* refactor keymaps

- split `default` keymap into `default` and `tradestation` keymaps (one for each layout)
- remove boilerplate functions
- apply four-space indent

* partial clean up of rules.mk

- update section header comment blocks
2021-08-05 22:18:17 -07:00
Drashna Jaelre ea5d778f90 [Keyboard] Remove console from keebio via keyboards (#13901) 2021-08-05 21:29:29 -07:00
QMK Bot 293168f444 Merge remote-tracking branch 'origin/master' into develop 2021-08-06 04:28:58 +00:00
James Young 28b59c30d2 MetaMechs Timber Wolf Configurator Fixes (#13895)
* info.json: use human-friendly formatting

* info.json: fix key sequences for ISO layouts

All the ISO layouts had the Enter key out-of-sequence, causing key-assignment mismatches in QMK Configurator.
2021-08-05 21:28:26 -07:00
Nick Brassel 0dafd83f72 Fix up builds after #8591 (#13900) 2021-08-06 09:57:09 +10:00
Pete Sevander 7e983796e1 Process combos earlier & overlapping combos (#8591)
* Combo processing improvements.

Now it is possible to use ModTap and LayerTap keys as part of combos.
Overlapping combos also don't trigger all the combos, just exactly the
one that you press.

New settings:
- COMBO_MUST_HOLD_MODS
- COMBO_MOD_TERM
- COMBO_TERM_PER_COMBO
- COMBO_MUST_HOLD_PER_COMBO
- COMBO_STRICT_TIMER
- COMBO_NO_TIMER

* Remove the size flags from combo_t struct boolean members.

This in the end actually saves space as the members are accessed so many
times. The amount of operations needed to access the bits uses more
memory than setting the size saves.

* Fix `process_combo_key_release` not called correctly with tap-only combos

* Fix not passing a pointer when NO_ACTION_TAPPING is defined.

* Docs for `COMBO_ONLY_FROM_LAYER`

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Update quantum/process_keycode/process_combo.c

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Add `EXTRA_SHORT_COMBOS` option.

Stuff combo's `disabled` and `active` flags into `state`. Possibly can
save some space.

* Add more examples and clarify things with dict management system.

- Simple examples now has a combo that has modifiers included.
- The slightly more advanced examples now are actually more advanced
  instead of just `tap_code16(<modded-keycode>)`.
- Added a note that `COMBO_ACTION`s are not needed anymore as you can
  just use custom keycodes.
- Added a note that the `g/keymap_combo.h` macros use the
  `process_combo_event` function and that it is not usable in one's
  keymap afterwards.

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Change "the" combo action example to "email" example.

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Fix sneaky infinite loop with `combo_disable()`

No need to call `dump_key_buffer` when disabling combos because the
buffer is either being dumped if a combo-key was pressed, or the buffer is empty
if a non-combo-key is pressed.

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-06 09:44:57 +10:00
Juan Pablo Kutianski 07553b41f0 [Feature] Swap buttons on PS2 Mouse/Trackball (#9205)
* [Feature Request] Swap buttons on PS2 Mouse/Trackball

* [Feature Request] Swap buttons on PS2 Mouse/Trackball

* Added id: to the doc

* Missing space

* Solve comment
https://github.com/qmk/qmk_firmware/pull/9205#discussion_r430783182

* Solve comments https://github.com/qmk/qmk_firmware/pull/9205#discussion_r430783182 & https://github.com/qmk/qmk_firmware/pull/9205#discussion_r430783884

* Format code more according to https://docs.qmk.fm/#/coding_conventions_c

* change logic to LUT

* WIP: Clean up

* WIP: Solution with xor operators to mask the change

* delete #endif & added the missed xor operator (ahhh)

* Variable (mouse_report->buttons): avoid setting twice https://github.com/qmk/qmk_firmware/pull/9205#discussion_r430783884

* Update tmk_core/protocol/ps2_mouse.c

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

Co-authored-by: juank <juank@fktech.net>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-06 09:09:58 +10:00
Takeshi ISHII 339675693b add yaml_build_options target (#10533)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-06 08:18:32 +10:00
Nick Brassel 6aaf3e84e9 Rework as per 9824 (#13898) 2021-08-06 08:14:43 +10:00
JohSchneider bcb6e23387 Arm ps2 mouse interrupt (#6490)
* ps2_mouse on ARM: an interrupt-version of the ps2-mouse code ported to ARM/chibios

* ps2_mouse on ARM: link EXT callback-channel selection to the user defined PS2_LINE_CLOCK

* ps2_mouse on ARM: replace DELAY_X defines with hardware-agnostic wait_X

* ps2_mouse on ARM: replace chibios-specific defines for the pins/lines with defines from quantum/config_common.h

and drop the '_LINE' component from teh define name

* ps2_mouse on ARM: expose the software-intterupt port as a user editable define

* Update docs/feature_ps2_mouse.md

Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>

* Update feature_ps2_mouse.md

* use a define to deduce the PS_DATA_PORT instead

* reduce all-zero extcfg to oneliner

* ps2_mouse: use generic wait instead of avr-delay

* Update docs/feature_ps2_mouse.md

* ps2_mouse: changes for new chibios version

(17.6.0 -> 19.1.0)
replacing the legacy externa-interrupt driver with pal-callbacks

* ps2_mouse: use PLATFORM_KEY

Co-Authored-By: Joel Challis <git@zvecr.com>

* ps2_mouse: clang-format corrections

* ps2_mouse: add systemlocks

using the chibios equivalent to AVRs cli: chSys[Unl|L]ock

Co-authored-by: Johannes <you@example.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-06 07:51:24 +10:00
Joel Challis 5bbc527460 Bump gtest (#13885)
* Bump gtest

* Pin to latest release
2021-08-05 10:46:14 +10:00
Joel Challis bdaea259af Tidy up rgbkb/mun (#13801)
* Tidy up rgbkb/mun
2021-08-05 00:59:50 +01:00
QMK Bot cb4d91f85f Merge remote-tracking branch 'origin/master' into develop 2021-08-04 21:33:19 +00:00
James Young f4c55db8dd cKeys Handwire 101 Refactor (#13879)
* update info.json

- use human-friendly formatting
- remove `key_count` key

* rename LAYOUT to LAYOUT_ortho_4x4

* refactor default keymap

- add license header
- qmk cformat pass
- keycode grid alignment

* remove empty config.h file from default keymap

* update Manufacturer and Product strings

* tidy up handwire_101.c

- add license header
- remove boilerplate functions

* tidy up handwire_101.h

- add license header
- remove instructive comment

* minor rules.mk tidy-up

- remove Bootloader selection sample comments

* rewrite SEND_STRING() statements per fauxpark

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-04 22:32:27 +01:00
Dasky 3917fd5639 [Keyboard] Fix knops keymaps (#13872) 2021-08-04 12:10:31 -07:00
Drashna Jaelre 3568eafd65 [Keyboard] Switch Draculad to using WPM char hack (#13886) 2021-08-04 11:30:49 -07:00
QMK Bot 6525b82f5f Merge remote-tracking branch 'origin/master' into develop 2021-08-04 12:25:28 +00:00
James Young 4445455c1f BM65ISO: refactor layout macro (#13860) 2021-08-04 22:24:54 +10:00
QMK Bot d9f30d366a Merge remote-tracking branch 'origin/master' into develop 2021-08-04 10:35:54 +00:00
Reza Jelveh 8e8803459f Updated Ducky 2 one mini support (#11112)
* Initial Ducky One 2 Mini keyboard and keymap

* Keymap macro issue, together with general polish suggestions

* Separate default keymap into proper default, iso and ansi versions

* info.json updates (Configurator support). DEBOUNCE define adjust.

* Unused keymap defines removed.

* update requested ducky one mini2 board changes

* ducky: don't trigger app key with left shift

* ducky: make default mouse key behavior more linear

* ducky: add GRAVE_ESC_GUI_OVERRIDE to allow for win+esc to work

* ducky: playpause on fn space

* ducky: disable RGB_MATRIX until driver is merged

* ducky: clang-format matrix and one2mini.c

* ducky: update requested changes

Remove WFI_IDLE since it's already in the rules.mk CORTEX_ENABLE_WFI_IDLE=TRUE

* ducky: update requested changes

* ducky: move winkey grave esc to default keymap

* ducky: remove dipswitch from keymap and use DIP_SWITCH_MATRIX_GRID instead

* ducky: info.json lint

* ducky: enable DIP_SWITCH_ENABLE rule

* ducky: update readme

* ducky: fix backslash on default keymap

* ducky: remove unused USB_LED_CAPSLOCK_INDEX 28

* ducky: move mbi5042 led driver to ducky keyboard

* ducky: cosmetics

* ducky: requested changes

* ducky: refactor matrix.c again so we can better compare it to other boards

* ducky: remove bootmagic_lite as the boards bootloader trigger is actually handled in its own bootloader

* ducky: remove custom matrix

* ducky: update for chibios-contrib changes

* ducky: debug new USB driver

* ducky: debug usb issues

* ducky: update chibios version

* ducky: remove halconf.h

* ducky: update rules.mk

* ducky: update chconf.h

* Matching submodules.

* Restructure to explicitly define which board is in use, remove RGB driver pending followup PR.

* Revert "Matching submodules."

This reverts commit 2fbb34e0c63ea67ee09d2e2d525723c01431d1cd.

Co-authored-by: GitWellBack <48095880+GitWellBack@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-04 20:35:17 +10:00
QMK Bot d27ab328dc Merge remote-tracking branch 'origin/master' into develop 2021-08-04 02:10:01 +00:00
James Young ae20574f84 barracuda: update info.json layout macro reference (#13874)
* barracuda: update info.json layout macro reference

- change LAYOUT to LAYOUT_ortho_3x11

* remove Community Layouts rule

ortho_3x11 isn't a valid Community Layout.
2021-08-04 03:09:25 +01:00
QMK Bot 600faab707 Merge remote-tracking branch 'origin/master' into develop 2021-08-04 00:23:25 +00:00
Drashna Jaelre a0f2be18a4 Add bootloader section to keyboard template (#13774)
* Add bootloader section to keyboard template

* Apply suggestions from code review

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-04 01:23:18 +01:00
Changsu Park 9c69db4700 Updated settings.json file to fit VSC's docs (#13829)
This change fixes the warning caused by deprecated way of configuring terminal profiles.

The warning caused by old settings.json is the following:
This is deprecated, the new recommended way to configure your default shell is by creating a terminal profile in `#terminal.integrated.profiles.windows#` and setting its profile name as the default in `#terminal.integrated.defaultProfile.windows#`. This will currently take priority over the new profiles settings but that will change in the future.

Refer to the link below for more information:
https://code.visualstudio.com/docs/editor/integrated-terminal#_configuration
2021-08-04 01:22:40 +01:00
QMK Bot 4ffc9d8288 Merge remote-tracking branch 'origin/master' into develop 2021-08-03 23:30:12 +00:00
James Young 8802d28aad boardsource/holiday/spooky: update info.json layout macro reference (#13875)
- change LAYOUT to LAYOUT_ortho_2x3
2021-08-04 00:29:41 +01:00
QMK Bot 2dbc71f037 Merge remote-tracking branch 'origin/master' into develop 2021-08-03 22:54:45 +00:00
Ryan Baker d1cbea685e rb86 (#13824)
* rb86

* adjudicate comments
2021-08-04 08:54:12 +10:00
QMK Bot c48d9c2b2a Merge remote-tracking branch 'origin/master' into develop 2021-08-03 21:40:39 +00:00
Joakim Tufvegren 2b097d670a Fix overflows in WPM calculations (#13128)
* Fix overflow in WPM calculations.

First, the "fresh" WPM calculation could end up being up to 12000 (with
default `WPM_ESTIMATED_WORD_SIZE`) if keys were pressed more or less
simultaneously. This value has now been clamped down to 255, in effect
clamping WPM to its max value of 255.

Second, with `WPM_ALLOW_COUNT_REGRESSION` enabled, it was possible to
regress the WPM below 0 (i.e. to 255) by just repeatedly pressing
backspace.

* Fix WPM being limited to 235 due to float/int logic.
2021-08-04 07:40:08 +10:00
Joakim Tufvegren 982b782ce3 Trigger a wakeup after USB Reset on ChibiOS. (#12831)
After a USB Reset event the device must, according to the spec wake up
from any suspend state, so the Configured event that arrives afterwards
should be interpreted as an implicit wakeup.
2021-08-04 07:39:34 +10:00
Joakim Tufvegren 1409b36851 Remove the #10088 hotfix for Teensy 3.1-like Input:Club keyboards (#12870)
* Remove the #10088 hotfix for K20x MCU:s.

It seems to _cause_ the issue it intended to solve there.

* Cleaner way of removing #10088 hotfix.

Now only affects Ergodox Infinity, Whitefox and K-type, though.

Switches over Ergodox Infinity to the `IC_TEENSY_3_1` board, since that
was a nice place to implement the `restart_usb_driver` override.
However, I would guess this issue is present for other K20x/Teensy 3.1
boards as well...

* Fix comment regarding `IC_TEENSY_3_1` for all keyboards using it.
2021-08-04 07:38:37 +10:00
Joel Challis 34de7ca224 Move print/debug files to quantum (#12069)
* move print/debug files to quantum

* Update comments
2021-08-03 18:49:33 +01:00
Joel Challis 3f419dc872 Unconditionally call led_init_ports (#12116)
* Unconditionally call led_init_ports

* Another call to led_init_ports
2021-08-03 18:34:32 +01:00
QMK Bot 2bc7511b9e Merge remote-tracking branch 'origin/master' into develop 2021-08-03 17:21:26 +00:00
James Young f2fc23d1b1 aves65: complete layout data (#13868)
add layout data for:
- LAYOUT_all
- LAYOUT_65_iso
- LAYOUT_65_iso_split_bs
- LAYOUT_65_iso_blocker_split_bs
- LAYOUT_65_ansi
- LAYOUT_65_ansi_split_bs
- LAYOUT_65_ansi_blocker
- LAYOUT_65_ansi_blocker_split_bs
2021-08-03 10:20:53 -07:00
QMK Bot 51eb5285a6 Merge remote-tracking branch 'origin/master' into develop 2021-08-03 17:04:00 +00:00
James Young e9a3e20813 4pplet/eagle_viper_rep/rev_a: fix missing key object (#13867)
Adds a key object for the KC_NUHS key to the info.json data.
2021-08-03 10:03:25 -07:00
QMK Bot 738e8e72ba Merge remote-tracking branch 'origin/master' into develop 2021-08-03 16:40:14 +00:00
Jonathan Rascher 853344235a [Keymap] Minor cleanup of bcat keymaps and userspace (#13224) 2021-08-03 09:39:43 -07:00
QMK Bot 6961976855 Merge remote-tracking branch 'origin/master' into develop 2021-08-03 07:04:43 +00:00
James Young 4d42fb2031 40percentclub/nori: fix matrix reference in LAYOUT_ortho_4x8 (#13866)
* 40percentclub/nori: fix matrix reference in LAYOUT_ortho_4x8

* remove ortho_4x8 from Community Layouts rule

ortho_4x8 isn't a valid option here.
2021-08-03 00:04:07 -07:00
QMK Bot a14f331c0a Merge remote-tracking branch 'origin/master' into develop 2021-08-03 03:17:45 +00:00
James Young 2d78a43556 capsunlocked/cu7: fix missing key object (#13862)
Adds a key object for the encoder keypress.
2021-08-03 13:17:06 +10:00
QMK Bot 79c88767dd Merge remote-tracking branch 'origin/master' into develop 2021-08-03 01:02:06 +00:00
plarso fd9d531bd9 [Docs] Remove extra word it bootmagic page (#13855) 2021-08-02 18:01:38 -07:00
QMK Bot a174d20d06 Merge remote-tracking branch 'origin/master' into develop 2021-08-03 00:53:24 +00:00
James Young be9031d01d 0xCB Static: fix qmk info and Configurator issues (#13856) 2021-08-02 17:52:46 -07:00
QMK Bot 5decdad8c6 Merge remote-tracking branch 'origin/master' into develop 2021-08-02 08:24:57 +00:00
JTM c2f227d2a8 Function96 V2: Fixed info.json file (#13322)
Fixes the info.json data for the LAYOUT_default and LAYOUT_ansi_splitspace macros.
2021-08-02 01:24:25 -07:00
QMK Bot 83bd56e68c Merge remote-tracking branch 'origin/master' into develop 2021-08-02 04:28:52 +00:00
xyzz 720c676403 flash_stm32: don't unlock flash if already unlocked (#13841)
On stm32f4 after reboot from DFU it was observed that the flash is
already unlocked. In that case, attempting to unlock it again causes a
data abort.
2021-08-02 14:27:57 +10:00
Nick Brassel ee3c138385 Merge remote-tracking branch 'upstream/master' into develop 2021-08-02 13:55:36 +10:00
a_p_u_r_o 26b62f7a6c Fix alignment of USB out report buffer 2 -> 4 (#13838) 2021-08-02 00:32:26 +01:00
Drashna Jaelre ebed2e9a81 [BUG] Fix Key Override includes (#13831)
* [BUG] Fix Key Override includes

* simplify includes
2021-08-01 16:29:23 +01:00
Jonavin 53683e8d20 fix develop branch move file (#13832)
Co-authored-by: zvecr <git@zvecr.com>
2021-08-01 22:37:59 +10:00
James Young 4b630c46fe Duck Eagle/Viper V2 Refactor (#13828) 2021-07-31 13:12:49 -07:00
Drashna Jaelre 41a770ded3 [Keyboard] Fix SRC include for matrix/m20add issi driver (#13826) 2021-07-31 12:18:11 -07:00
James Young 851d995a7d Merro60 Layout Macro Refactor (#13827) 2021-07-31 12:17:55 -07:00
James Young 1305b6d82e Momoka Ergo: layout macro/Configurator fix (#13825)
* momoka_ergo.h: use modified QMK 3-character notation

Renames the matrix position arguments to use QMK's K<row><column> notation, but using L or R for the left and right halves, respectively.

* physically arrange layout macro

Arrange the layout macro and keycodes to resemble the assembled keyboard.

* info.json: rebuild LAYOUT data

Fixes mispositioned keys in QMK Configurator.
2021-07-31 12:16:51 -07:00
Drashna Jaelre 7bcbeffc2d Fix compile issues due to LED changes (#13821) 2021-07-31 17:30:13 +01:00
slashbunny 3f5482bbb7 Update endgame keymap to work with suspend changes (#13805)
Updates the Massdrop CTRL keyboard engame keymap to work after the
changes to USB suspend in #12697

Fixes #13782
2021-07-31 16:28:09 +01:00
Joel Challis 70fb3e1aaf __flash? (#13799) 2021-07-31 14:35:30 +01:00
Joel Challis 206a995ccd Move some led drivers to common folder (#13749)
* Move some led drivers to common folder
2021-07-31 14:31:09 +01:00
James Young 954806c80f DP60 layout macro renames (#13811)
* info.json: apply human-friendly formatting

* rename LAYOUT_60_wkl to LAYOUT_60_ansi_tsangan_split_rshift

* rename LAYOUT_60_wkl_split_bs to LAYOUT_60_tsangan_hhkb

* info.json: remove `key_count` keys
2021-07-31 14:25:47 +01:00
James Young 4604b58769 Charue Sunsetter: layout macro fixes (#13809)
* remove K214 from LAYOUT_1065_ansi macro

Position K214 is only used by the ISO layout (as KC_NUHS); it doesn't get used here. Removing it so the layout macro matches the info.json layout data.

Also updates info.json to use human-friendly formatting.

* add layout macros

Adds:

- LAYOUT_1065_ansi_split_bs macro
- LAYOUT_1065_iso macro
- LAYOUT_1065_iso_split_bs macro
- `default_iso` keymap

* add LAYOUT_all macro

Adds LAYOUT_all macro and a `default_all` keymap.

This PCB is unusual in that the ANSI Backslash and ANSI Enter do not share their matrix positions with the Non-US Backslash or ISO Enter keys at all. This layout macro supports both the ANSI and ISO positions in one macro/keymap.
2021-07-31 14:23:27 +01:00
James Young 56f84774d7 Rartland: add 65_ansi and 65_iso layouts (#13807)
* add 65_ansi and 65_iso layouts

... with Community Layout support

* add block comment of layouts to rartland.h
2021-07-31 14:22:12 +01:00
peott-fr d191ccfdc5 [Keymap] Add peott-fr Kinesis keymap (#13812) 2021-07-31 06:14:56 -07:00
Dasky aeb252435d [develop] Fix pimoroni trackball read address (#13810) 2021-07-31 06:12:19 -07:00
Jay Greco 56200de2eb [Keyboard] Reduce nibble oled_status keymap size (#13813) 2021-07-31 06:11:11 -07:00
Drashna Jaelre e755c5fe1f [Keyboard] Fix RGBKB Pan Rev1 Encoder RGB handling (#13781) 2021-07-31 06:09:47 -07:00
Drashna Jaelre f587ee5b5b Update LUFA Submodule (2021-07-30) (#13819) 2021-07-31 06:08:44 -07:00
MakotoKurauchi fb6c66a14b change DIP_SWITCH_ENABLE to off (#13815) 2021-07-31 18:51:32 +09:00
QMK Bot 6c33290ffa Merge remote-tracking branch 'origin/master' into develop 2021-07-31 09:47:25 +00:00
James Young ec2f6026b9 Neito: correct key sequence in info.json (#13808) 2021-07-31 02:47:00 -07:00
ruro 52dad230d6 [CLI] Make qmk doctor more lenient about system config (#13804) 2021-07-30 21:43:42 -07:00
QMK Bot 6d82c92476 Merge remote-tracking branch 'origin/master' into develop 2021-07-31 00:34:43 +00:00
Nick Brassel a4c050b5ae Fix up paths for bioi boards - parallel compilation failures due to file collisions. (#13806) 2021-07-31 10:34:14 +10:00
QMK Bot 7c70a90867 Merge remote-tracking branch 'origin/master' into develop 2021-07-30 23:22:11 +00:00
Nick Brassel b459f314ec Explicitly state that VIA should not be enabled in the default keymap. (#13803) 2021-07-31 09:21:45 +10:00
QMK Bot 99fc2173a4 Merge remote-tracking branch 'origin/master' into develop 2021-07-30 23:15:44 +00:00
Joel Challis addb389a5e Move ergosaurus via keymap to correct location (#13802) 2021-07-31 00:15:11 +01:00
QMK Bot f1af7da9ba Merge remote-tracking branch 'origin/master' into develop 2021-07-30 21:00:46 +00:00
Ryan 7bfe53ee2f Fix onekey console keymap (#13797) 2021-07-30 22:00:14 +01:00
Ryan b021c2f2c5 Port new_keyboard.sh to CLI (#13706)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-07-30 21:57:40 +01:00
QMK Bot 770a525425 Merge remote-tracking branch 'origin/master' into develop 2021-07-30 18:45:24 +00:00
James Young aece9ad5fa Xelus Dharma: add info.json file (#13796) 2021-07-30 11:44:50 -07:00
QMK Bot de1898e69e Merge remote-tracking branch 'origin/master' into develop 2021-07-30 18:18:01 +00:00
James Young e180524c10 txuu: rename LAYOUT to LAYOUT_65_ansi_blocker_split_bs (#13794)
Renames the layout macro to be more conformant to the rest of QMK.
2021-07-30 11:17:48 -07:00
James Young 57ad8db60e Tiger910: fix Left Control key size in info.json (#13793) 2021-07-30 11:17:30 -07:00
QMK Bot d34e61a43c Merge remote-tracking branch 'origin/master' into develop 2021-07-30 18:17:17 +00:00
James Young 4758ea2188 Stratos: fix layout macro reference in info.json (#13792)
- change LAYOUT_60_ansi_tsangan_hhkb to LAYOUT_60_tsangan_hhkb
2021-07-30 11:16:59 -07:00
QMK Bot 70dceefa01 Merge remote-tracking branch 'origin/master' into develop 2021-07-30 18:16:50 +00:00
James Young 069f479af4 Ristretto: fix Configurator layout data (#13791) 2021-07-30 11:16:37 -07:00
James Young 6af2d3a32c X-Bows Ranger: rename LAYOUT to LAYOUT_tkl_ansi (#13795) 2021-07-30 11:16:18 -07:00
QMK Bot 701808372e Merge remote-tracking branch 'origin/master' into develop 2021-07-30 17:10:40 +00:00
Ryan d1db008745 Onekey cleanup (#13786) 2021-07-30 18:10:05 +01:00
QMK Bot 3461bdad43 Merge remote-tracking branch 'origin/master' into develop 2021-07-30 17:02:12 +00:00
Matthew Dias cfca970718 [Keyboard] Add portal 66 (#13767) 2021-07-30 10:01:43 -07:00
QMK Bot e6c884415d Merge remote-tracking branch 'origin/master' into develop 2021-07-30 16:54:23 +00:00
8bits4ever 1e2408af91 [Keyboard] Add Commodore Amiga 1200 Membrane Converter (#13705)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-30 09:53:55 -07:00
QMK Bot 04a2fa8ff3 Merge remote-tracking branch 'origin/master' into develop 2021-07-30 15:13:15 +00:00
James Young 77735b0a56 Pearl Boards Pandora: correct layout macro reference in info.json (#13787) 2021-07-30 08:12:36 -07:00
QMK Bot dfb370402e Merge remote-tracking branch 'origin/master' into develop 2021-07-30 15:12:13 +00:00
James Young 6823e03b01 Ocean Sus Board: rename layout macro (#13785)
- rename LAYOUT_ortho_3x4 to LAYOUT_ortho_4x3
  - ... because ortho layouts in QMK are named by <rows>x<columns> instead of <columns>x<rows>
2021-07-30 08:11:37 -07:00
QMK Bot f87c72ef8f Merge remote-tracking branch 'origin/master' into develop 2021-07-30 15:11:30 +00:00
James Young f2d34f38be Nack: rename layout macro to LAYOUT_ortho_4x13 (#13784) 2021-07-30 08:10:59 -07:00
QMK Bot 4735aab75b Merge remote-tracking branch 'origin/master' into develop 2021-07-30 13:48:29 +00:00
Ryan 8b39a3c484 qmk docs: Add flag to open in browser (#13788)
* `qmk docs`: Add flag to open in browser

* Add docs
2021-07-30 14:47:34 +01:00
QMK Bot ba1fdf97b1 Merge remote-tracking branch 'origin/master' into develop 2021-07-30 07:17:44 +00:00
James Young d93089d8ea MNK1800s: fix Configurator key sequence (#13783) 2021-07-30 17:17:11 +10:00
QMK Bot 38686dd0c5 Merge remote-tracking branch 'origin/master' into develop 2021-07-30 07:07:41 +00:00
James Young e1ce0d2836 Clawsome Luggage Rack: correct keymap directory name (#13780)
Rename `keyboards/clawsome/luggage_rack/keymap/` to `keyboards/clawsome/luggage_rack/keymaps/`.
2021-07-30 00:07:10 -07:00
James Young 80d8c4a483 Merge remote-tracking branch 'upstream/master' into develop 2021-07-29 23:04:06 -07:00
officereso 6fd9b2feba [Docs] Added information on soldering diodes in parallel (#13117)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 22:56:27 -07:00
Álvaro A. Volpato a1f7d86ef5 [Keyboard] Initial Noxary 378 support (#13156)
Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
2021-07-29 22:54:06 -07:00
Jonavin 03212ced24 [Keymap] jonavin gmmk pro keymap add RGB functionality (#13591)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Jonavin <=>
2021-07-29 22:38:38 -07:00
James Young 7e1d28006f CherryB Studio CB1800: fix key sequence in info.json (#13779)
This commit fixes the position in sequence of the arrow keys.
2021-07-29 22:37:41 -07:00
Ryan 25f43837d2 Remove references to info.json width and height in CLI (#13728) 2021-07-29 22:37:18 -07:00
Jonavin 219ce2b58a [Keymap] jonavin quefrency keymap (#13751)
add winkeylock and rgb functions
Co-authored-by: Jonavin <=>
2021-07-29 22:36:21 -07:00
James Young 104cdef329 Cannonkeys Balance: Configurator fixes (#13778) 2021-07-29 22:26:47 -07:00
Trent Hoh 327e5a08d9 [Keyboard] Added YMD40v2 VIA (#13770)
VIA support for YMD40v2
2021-07-29 22:24:21 -07:00
fvolpe83 86c0a6d3d7 [Keymap] Update keymaps for fvolpe83 (#13739)
changed folder name to match github username, changed caps from LT(1,KC_CAPS) to MO(1) and updated readme
2021-07-29 22:16:51 -07:00
James Young fab1af4154 AnomalyKB a65i Configurator fixes (#13775) 2021-07-29 22:11:57 -07:00
Ramon Imbao 987e8e3529 [Keyboard] Add Mona v1.1 (#13721)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-29 22:08:05 -07:00
James Young 8ca6d835b9 Atomic Refactor (#13761)
* info.json: human-friendly formatting

- one key per line
- line breaks between physical rows
- four-space indent

* info.json: add data for LAYOUT_grid

* fix keymap paths

This commit corrects the paths for three keymaps that were in the wrong directory.

* refactor and bugfix abienz keymap

- remove extra commas
- use QMK-native aliases for KC_TRNS and KC_NO
- add include for Colemak keycode support
- use four-space indent

* refactor and bugfix michelle keymap

- remove inline comments for keymap layout
- remove extra commas
- use QMK-native aliases for KC_TRNS and KC_NO
- use four-space indent

* refactor and bugfix twolayer keymap

- remove extra commas
- refactor action_get_macro() keycode to QMK-native keycode
- use QMK-native aliases for KC_TRNS
- use four-space indent
- adjust grid alignment

* rename LAYOUT_grid to LAYOUT_ortho_5x15

* refactor config.h file

- use #pragma once include guard
- update MANUFACTURER and PRODUCT strings to be consistent with other OLKB boards
- remove Magic config (all settings are default)

* refactor atomic.c

- add license header
- use GPIO control functions

* refactor atomic.h

- add license header
- use #pragma once include guard
- remove redundant file includes

* refactor rules.mk

- remove Bootloader selection comments
- unify Build Option header comment to QMK template
- unify Build Option rules and inline comments

* alias LAYOUT_grid to LAYOUT_ortho_5x15
2021-07-29 12:14:26 -07:00
James Young c0149dc376 Alu84 Refactor (#13760)
* info.json: human-friendly formatting

* use QMK 3-character notation for layout macro/data

* alu84.h: use #pragma once include guard

* clean up alu84.c

Remove unnecessary includes and functions.

* refactor config.h

- use #pragma once include guard
- enable Backlight Breathing
- align comments to QMK AVR template

* refactor default keymap

- add license header
- use layer_names enum
- refactor keymap to be more generic
- remove unnecessary and empty functions

* refactor turbomech keymap.c

- edit license header
- refactor keymap for readability (use QMK-native keycode aliases)
- remove unnecessary and empty functions

* refactor turbomech config.h

- use #pragma once include guard
- align to QMK template

* refactor turbomech rules.mk

Edit the file to make it conform to QMK template.

* align rules.mk to QMK template

* touch-up default keymap

* touch-up alu84.h

* rename LAYOUT to LAYOUT_75_ansi

Also enables Community Layout Support

* modernize readme.md

- update description
- convert keyboard data to list
- add flashing and bootloader instructions
- update Docs links

* alias LAYOUT to LAYOUT_75_ansi

* change readme image URL per fauxpark

* touch up turbomech keymap rules.mk per fauxpark

* rules.mk: convert tab to spaces
2021-07-29 11:09:16 -07:00
QMK Bot 441914e0ad Merge remote-tracking branch 'origin/master' into develop 2021-07-29 17:45:54 +00:00
James Young a78fdbb1f6 Draytronics Elise Configurator fixes (#13763) 2021-07-29 10:45:22 -07:00
QMK Bot d243512ad6 Merge remote-tracking branch 'origin/master' into develop 2021-07-29 16:50:56 +00:00
TreasureTypes 5a0985aa4a [Keyboard] Add Treasure TYPE-9 Series II (#13725)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-29 09:50:05 -07:00
QMK Bot 703d886c21 Merge remote-tracking branch 'origin/master' into develop 2021-07-29 16:12:56 +00:00
Alabahuy aa0b7079a4 [Keyboard] add sus board (#13701) 2021-07-29 09:12:29 -07:00
QMK Bot ae6a3ae20e Merge remote-tracking branch 'origin/master' into develop 2021-07-29 16:12:19 +00:00
Takeshi Nishio 441fd2ca5b [Keyboard] Match Vendor ID to my other keyboard, "unison". (#13699)
Co-authored-by: Takeshi Nishio <kkeennnn@gmail.com>
2021-07-29 09:11:40 -07:00
QMK Bot 5bb736d1d6 Merge remote-tracking branch 'origin/master' into develop 2021-07-29 16:04:06 +00:00
Uy Bui 6bdecb16c0 [Keyboard] we27 update info.json (#13678) 2021-07-29 09:03:21 -07:00
QMK Bot 935079f266 Merge remote-tracking branch 'origin/master' into develop 2021-07-29 15:50:58 +00:00
bomb 768072e824 [Keyboard] Add Mojo68 for Melgeek (#13578)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:50:28 -07:00
QMK Bot 957bd4d1d1 Merge remote-tracking branch 'origin/master' into develop 2021-07-29 15:50:24 +00:00
AquaCylinder ae268596ce [Keyboard] Add Emi20 (#13603)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:49:51 -07:00
QMK Bot faf4f6d005 Merge remote-tracking branch 'origin/master' into develop 2021-07-29 15:49:11 +00:00
DA ad6acb3a03 [Keyboard] add cherryb studio cb1800 keyboard (#13639)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:48:39 -07:00
QMK Bot 58baf5a3d8 Merge remote-tracking branch 'origin/master' into develop 2021-07-29 15:48:22 +00:00
QMK Bot 04a0f0cb18 Merge remote-tracking branch 'origin/master' into develop 2021-07-29 15:47:52 +00:00
X-Bows Tech 8fa674727d [Keyboard] Add X-Bows Ranger Keyboard (#13660)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:47:51 -07:00
Jonavin 8d611f6873 [Keymap] Jonavin keymap Mercutio add win key lockout function (#13670)
Co-authored-by: Jonavin <=>
2021-07-29 08:47:14 -07:00
QMK Bot 1df2f23ab4 Merge remote-tracking branch 'origin/master' into develop 2021-07-29 15:43:12 +00:00
N2-Sumikko dc2dfe2a6c [Keyboard] Add halfcliff keyboard (#13515)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:42:28 -07:00
QMK Bot 5418777454 Merge remote-tracking branch 'origin/master' into develop 2021-07-29 15:29:02 +00:00
ESCA47 3a48cd64cb [Keyboard] Add GetawayVan (#13412)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:28:33 -07:00
QMK Bot ec8d08810f Merge remote-tracking branch 'origin/master' into develop 2021-07-29 15:23:56 +00:00
Jordan Blackbourn f3d7901950 [Keyboard] Added Orthocode keyboard (#13487)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 08:23:27 -07:00
QMK Bot 614c627114 Merge remote-tracking branch 'origin/master' into develop 2021-07-29 02:01:05 +00:00
Joel Challis e646211919 Fix unit tests after recent refactor (#13765) 2021-07-29 12:00:39 +10:00
QMK Bot 69661eb5ab Merge remote-tracking branch 'origin/master' into develop 2021-07-28 23:34:48 +00:00
James Young ccdb432f71 Allison Numpad: Configurator fix for LAYOUT_numpad_6x4 (#13759)
* info.json: human-friendly formatting

- one key object per line; line breaks between physical rows
- four-space indent
- remove trailing whitespace

* info.json: correct key object order for LAYOUT_numpad_6x4
2021-07-28 16:34:17 -07:00
QMK Bot aabbaf11aa Merge remote-tracking branch 'origin/master' into develop 2021-07-28 11:02:58 +00:00
Ryan 491b83aa32 Update "make format" message (#13741)
* Update "make format" message

* Add examples for `qmk` command as well
2021-07-28 12:02:29 +01:00
Joel Challis 4ef8ff458d Minor tidy up of key overrides (#13747)
* Minor tidy up of key overrides

* Update quantum/quantum.c

* Update quantum/quantum.c
2021-07-28 12:01:49 +01:00
QMK Bot 50964ae821 Merge remote-tracking branch 'origin/master' into develop 2021-07-28 11:01:28 +00:00
Joel Challis 03d258c222 matrix_scan_x -> x_task (#13748) 2021-07-28 12:01:23 +01:00
Shane Celis fcce9f2a4f fix: Fix typo in documentation for one shot keys. ON_TOGG -> OS_TOGG (#13754)
`ON_TOGG` doesn't exist in the codebase.
2021-07-28 12:00:55 +01:00
Drashna Jaelre c52c69d45f Allow for higher USB Polling rate on ATSAM boards (#13755) 2021-07-28 12:00:16 +01:00
QMK Bot 2f4361c88f Merge remote-tracking branch 'origin/master' into develop 2021-07-28 07:25:28 +00:00
Jonavin 9088df04c3 [Keyboard] fix short circuit in led_update_kb for quefrency rev3 (#13752)
Co-authored-by: Jonavin <=>
2021-07-28 00:24:51 -07:00
Joel Challis 7ac7ca96e9 Remove some legacy files (#13715) 2021-07-27 23:57:42 +01:00
Joel Challis 3858a784c7 Align AW20216 driver (#13712)
* Align AW20216 driver

* Update drivers/awinic/aw20216.h

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

* Review comments

* formatting fixes

* stop if start failed?

* review comments

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-27 23:55:51 +01:00
Ryan 56443fe3cf Fix typo in Dactyl Manuform (#13740) 2021-07-27 08:16:41 -07:00
Ryan 468f705455 Dactyl Manuform cleanup (#13686) 2021-07-27 22:00:38 +10:00
QMK Bot 95de60513d Merge remote-tracking branch 'origin/master' into develop 2021-07-27 02:45:36 +00:00
ForsakenRei ae2c2358ec [Docs] Add default case in Tap Dance Example 6 (#13727)
Added a `default` case in `switch(ql_tap_state.state)` at line 493 and 494.
Without it compile firmware with Example 6 code will encounter 2 errors:
`enumeration value 'TD_NONE' not handled in switch`
`enumeration value 'TD_UNKNOWN' not handled in switch`
2021-07-26 19:45:08 -07:00
QMK Bot 998ac203e4 Merge remote-tracking branch 'origin/master' into develop 2021-07-27 02:44:18 +00:00
James Young a617c8b80a [Keyboard] Ares refactor (#13730) 2021-07-26 19:43:48 -07:00
Albert Y be34fdea4b [Keyboard] Add RGB matrix support for Kyria (#12789)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: filterpaper <filterpaper@localhost>
2021-07-26 19:42:34 -07:00
Drashna Jaelre 3affdcb45b Reduce firmware size in prep for #12670 (#13724)
* Reduce firmware size in pre for #12670

* Also disable pixel mode, just in case
2021-07-27 12:41:28 +10:00
Albert Y e032fbe326 [Keyboard] Update kyria make path example (#13720)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-07-26 18:01:16 -07:00
Drashna Jaelre eb46c954dc [Keymap] Drashna's Defaults cleanup (#13722) 2021-07-26 17:59:49 -07:00
Joel Challis 368efb5d2b Remove legacy BACKLIGHT_CUSTOM_DRIVER option (#13731) 2021-07-27 10:17:58 +10:00
Nick Brassel 394272a266 Merge remote-tracking branch 'upstream/master' into develop 2021-07-27 10:11:52 +10:00
datafx b1c5a53a68 Add bootloader size (#13729)
* Add bootloader size

Bootloader size needs to be 6144 to allow QMK to jump to the correct location with bootmagic

* Include dz60rgb v2.1

Add boot loader size to this pcb also
2021-07-27 10:07:29 +10:00
James Young e6e4ec6267 40percentclub/nein: update info.json layout macro reference (#13726)
- change LAYOUT to LAYOUT_ortho_3x3
2021-07-26 21:02:44 +01:00
Xelus22 e0375c0b71 [Keyboard Update] Change to L422 (#13717)
* change to L422

* Add bootloader

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

* add bootloader

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-26 16:05:13 +10:00
Cyril a73e0a7b13 Revert "Fixed the ortho60 and ortho48 matrix layout after testing (#12106)" (#13456)
This reverts commit e25f05224f.
2021-07-25 22:51:23 -07:00
Xelus22 b9902a3f59 [Keyboard] Valor Rev 2 (#13551)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-25 22:34:39 -07:00
Drashna Jaelre 9e782e4f14 [Bug] Include gpio.h in solenoid driver for GPIO Control functions (#13716) 2021-07-25 21:24:47 -07:00
bomb 2e5cecd704 [Keyboard] Change RGB light defaults for melgeek/mj6xy (#13657)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-25 21:22:13 -07:00
Joel Challis f945c352e7 Haptic: driver-> feature (#13713) 2021-07-25 19:14:58 -07:00
Drashna Jaelre 4bb595f94b [Keyboard] Fix up SplitKB keyboards (#13511) 2021-07-25 18:18:39 -07:00
Drashna Jaelre d45da3f0fb [Keyboard] Update ZSA Keyboard Readmes and keymaps (#13041)
* [Keyboard] Update ZSA Keyboard Readmes and keymaps

* Apply suggestions from code review

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

* Remove custom rgb code for RGB_M_P

* Fix inevitable typo

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

* Update keyboards/planck/ez/readme.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-25 18:18:22 -07:00
QMK Bot d908970522 Merge remote-tracking branch 'origin/master' into develop 2021-07-25 16:18:46 +00:00
Joel Challis fc9fb2c775 Allow output of logging when running unit tests (#13556)
* Initial pass at enabling logging for unit tests

* Add to docs

* Bind debug for more test types

* Force everything

* Tidy up slightly
2021-07-25 17:18:09 +01:00
Drashna Jaelre 71e9f8fc11 Update LUFA (18-07-2021) and add QMK-HID Bootloader support (#13588)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-24 23:00:57 -07:00
Drashna Jaelre a030950fd6 [Keyboard] Fix compile size for the Vitamins Included via keymap (#13696) 2021-07-25 14:19:38 +10:00
Marc Tamsky 958483a4ba docs/cli_commands: fix typo (#13697) 2021-07-25 13:51:40 +10:00
Dasky a938c54512 dirty fix (#13695) 2021-07-25 12:33:30 +10:00
Nick Brassel 4ec8764c70 Merge remote-tracking branch 'upstream/master' into develop 2021-07-25 12:17:15 +10:00
Drashna Jaelre b69e7431aa [Keyboard] Fix keymaps for clueboard 66_hotswap (#13694)
* [Keyboard] Fix default keymap for clueboard proto

* Fix keymaps, because they're not actually revision compatible

* Add copyright headers
2021-07-25 12:07:46 +10:00
Drashna Jaelre fdf3ce3cd1 [Keyboard] Fix compile size for the Lets Split Sockets via keymap (#13691) 2021-07-25 11:05:48 +10:00
Drashna Jaelre 210da7b233 [Keyboard] Fix Compile size on ungodly Launch Pad (#13692) 2021-07-25 11:05:19 +10:00
Ryan 8cc568bc29 Fix & clean up tronguylabs/m122_3270 (#13684) 2021-07-25 11:02:36 +10:00
Drashna Jaelre 95730d4f96 [Keyboard] Fix compile size for the Merge UM70 via keymap (#13690) 2021-07-25 11:01:13 +10:00
Drashna Jaelre 0b95ac2e4b Clean up remaining RGB_DISABLE_WHEN_USB_SUSPENDED defines (#13689) 2021-07-24 20:17:04 +01:00
Joel Challis b5bcd5b0a1 Refactor some platform dependent logic (#13675) 2021-07-24 19:56:45 +01:00
Dasky ab42945c9a [Keyboard] Fix Q1 change dip switch to bool (#13687) 2021-07-24 10:45:34 -07:00
Dasky d972919204 [Docs] Fix typo in dip switch example (#13688) 2021-07-24 10:44:31 -07:00
QMK Bot 93fc2cbc8a Merge remote-tracking branch 'origin/master' into develop 2021-07-24 16:37:57 +00:00
lokher 145d89ab91 [Keyboard] Add Keychron Q1 (#13397)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-24 09:37:24 -07:00
QMK Bot e681c4368b Merge remote-tracking branch 'origin/master' into develop 2021-07-24 15:40:38 +00:00
James Won 44a0aa924c [Keymap] add kinesis/keymaps/jwon (#13618)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-24 08:40:05 -07:00
QMK Bot 7aa1938fa4 Merge remote-tracking branch 'origin/master' into develop 2021-07-24 15:39:35 +00:00
Xelus22 1b002b7dcc [Keyboard] Dharma (#13663)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-24 08:39:26 -07:00
Shane Celis d4bc77ac94 feature: Add swap hands support for sofle keyboard. (#13654) 2021-07-24 08:39:04 -07:00
Joel Challis e562238309 Fix up xd002 rgb keymaps (#13685) 2021-07-24 15:50:32 +01:00
Joel Challis 567da49ed0 Avoid LTO conficts on arm_atsam (#13676) 2021-07-24 12:13:06 +01:00
Drashna Jaelre 7907a72584 [Keyboard] Reduce compile size for dz60rgb v2.1 (#13680) 2021-07-24 19:36:41 +10:00
Drashna Jaelre a2d0efe5ad [Keyboard] Fix type on pandora via keymap (#13681) 2021-07-24 18:06:56 +10:00
Drashna Jaelre b8a1e14f53 Remove deprecated callbacks for encoders and dip switches (#13404) 2021-07-24 00:37:19 -07:00
Drashna Jaelre 73d4d7dc2b [Keyboard] Quick hack to fix Astro65 board (#13665)
* [Keyboard] Quick hack to fix Astro65 board

* Use proper pins
2021-07-23 23:38:54 -07:00
QMK Bot b7fe93c4b8 Merge remote-tracking branch 'origin/master' into develop 2021-07-24 03:45:59 +00:00
Rafael Yumagulov e08203f16a [Keyboard] Added Compound keyboard support (#12942)
* [Keyboard] Added Compound keyboard support

* Small fixes for Compound keyboard

* Fixed readme and header file for Compound keyboard

* Update keyboards/compound/rules.mk

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

* Changed info.json and readme.md for Compound Keyboard

info.json - removed key_count
readme.md - changed PCB picture url to low-resolution

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-23 20:45:24 -07:00
Nick Brassel 489c0f969d Disables rgblight twinkle by default. (#13677)
This takes up about 700 bytes of space, and needs to be swapped to
opt-in, rather than opt-out. Build failures in general on AVR due to the
scarcity of available flash. People can re-enable it by adding to their
keymap's config.h files:

```
  #define RGBLIGHT_EFFECT_TWINKLE
```
2021-07-24 13:40:00 +10:00
Drashna Jaelre 83a0d85f2b [Keyboard] Fix split matrix for sekigon grs 70ec (#13672) 2021-07-23 18:06:06 -07:00
Drashna Jaelre e35672169e [Keyboard] Fix matrix delay on Drop boards (#13671) 2021-07-23 23:36:39 +01:00
Drashna Jaelre 8f1ebdb718 [Keyboard] Disable console by default on all Keebio boards (#13649) 2021-07-23 14:57:24 -07:00
Erovia fdcea06336 CLI/Docs: Fix the format commands' name (#13668)
PR #13296 changed the name of the `cformat` and `pyformat` commands to
`format-c` and `format-py` respectively. This PR updates the documentation
and some parts of the CLI to use the new names.
Also add documentation for the new `format-text` subcommand, introduced
in the same PR.
2021-07-23 21:41:33 +01:00
Drashna Jaelre 164a74a078 [Keyboard] Enable LTO by default on BastardKB Scylla (#13664) 2021-07-23 11:28:41 -07:00
Takeshi ISHII 5b904a92c4 [Keyboard] Fix symmetric70_proto build break on develop branch (#13667)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-23 09:05:06 -07:00
Nick Brassel 6747890562 [Keyboard] Remove broken, unmaintained converter/ibm_5291 (#13658) 2021-07-23 08:17:15 -07:00
QMK Bot 8ea31698c9 Merge remote-tracking branch 'origin/master' into develop 2021-07-23 15:11:42 +00:00
Matthew Dias 4a47ee937d [Keyboard] Add model-v keyboard (#13643)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-23 08:10:01 -07:00
Zach White fa32c66e9d [Keyboard] Fix dc01/left so that it doesn't throw a warning (#13653) 2021-07-23 08:06:12 -07:00
QMK Bot 4ff4c05719 Merge remote-tracking branch 'origin/master' into develop 2021-07-23 04:45:49 +00:00
Matthew Dias cda1792ece [Keyboard] Add Txuu keyboard (#13650)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-22 21:45:35 -07:00
Jay Greco a08c7087be [Keymap] Reduce NIBBLE oled_bongocat keymap size so it compiles (#13638) 2021-07-22 21:45:17 -07:00
Drashna Jaelre 816accda3d Fix errors with matrix_output_unselect_delay function calls (#13645) 2021-07-22 21:42:59 -07:00
QMK Bot 750f40566a Merge remote-tracking branch 'origin/master' into develop 2021-07-23 04:24:47 +00:00
Domantas dfd795e48e Add backslash in lily58 domnantas keymap (#12713) 2021-07-23 14:24:16 +10:00
Drashna Jaelre 21e0a9780d [Keyboard] Fix matrix issues with Promethium (#13648) 2021-07-22 21:02:50 -07:00
Drashna Jaelre bf57c552c9 [Keyboard] Fix Matrix Row number for ggkeyboards/genisis (#13647) 2021-07-22 21:02:16 -07:00
Drashna Jaelre 7f8bc83b30 [Keyboard] Fix default keymap for 0xCB 1337 keyboard (#13646) 2021-07-22 20:59:55 -07:00
Zach White 677222301e [Keyboard] Remove the vision_division keyboard (#13571) 2021-07-22 19:19:47 -07:00
QMK Bot 94065ca64a Merge remote-tracking branch 'origin/master' into develop 2021-07-23 01:51:40 +00:00
kb-elmo 4a8f540949 [Keyboard] Added another layer for VIA on the AEK II (#13100) 2021-07-22 18:51:29 -07:00
kb-elmo 270bf7a87a [Keyboard] Added Stratos keyboard (#13139) 2021-07-22 18:51:12 -07:00
QMK Bot e1eb307d74 Merge remote-tracking branch 'origin/master' into develop 2021-07-23 01:48:06 +00:00
KnoblesseOblige 79c8f035cc [Keyboard] Added Crin keyboard (#13630)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-22 18:47:32 -07:00
Albert Y b057c93caa Include lib8tion.c into RGB/LED matrix build list (#12699)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-07-22 18:37:22 -07:00
QMK Bot 490fa5a9e3 Merge remote-tracking branch 'origin/master' into develop 2021-07-22 22:01:53 +00:00
Joel Challis 5d7f2823c9 Implement GPIO abstraction for atsam (#13567)
* Implement GPIO abstraction for atsam

* Convert Drop boards to normal matrix config

* Work round pin conflicts and matrix delay
2021-07-22 23:01:19 +01:00
QMK Bot 34a9acd090 Merge remote-tracking branch 'origin/master' into develop 2021-07-22 16:39:42 +00:00
Dasky f33532764f [Keyboard][Bug] Add timer_avr to includes for broken builds (#13641) 2021-07-22 09:39:27 -07:00
Tran Kim Tung 95a7c22824 [Keyboard] adds new revision: dztech/dz60rgb/v2_1 (#13636) 2021-07-22 09:39:08 -07:00
QMK Bot 3316ac3f42 Merge remote-tracking branch 'origin/master' into develop 2021-07-22 16:36:05 +00:00
Md. Mashur Shalehin Sakib 58abdfc834 [Keyboard] Fixing info.json for h0oni/hotduck (#13640) 2021-07-22 09:35:28 -07:00
QMK Bot 62099dc120 Merge remote-tracking branch 'origin/master' into develop 2021-07-22 08:11:39 +00:00
Trent Hoh 78a3f43c08 [Keyboard] Ymd40v2new layouts and fixed per-switch backlight (#13622) 2021-07-22 01:11:11 -07:00
Xelus22 6e9f667672 [Bug] Develop - DC01 left (#13597) 2021-07-22 01:06:03 -07:00
QMK Bot 78fb223da7 Merge remote-tracking branch 'origin/master' into develop 2021-07-22 07:53:44 +00:00
Drashna Jaelre 8158473464 [Keyboard] Fix clawsome/hatchback and reviung5 compile issues (#13607) 2021-07-22 00:53:18 -07:00
QMK Bot 44ea6d0442 Merge remote-tracking branch 'origin/master' into develop 2021-07-22 07:18:21 +00:00
drhigsby 336c8d3efe [Keyboard] add ogurec (#13242)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-22 00:17:47 -07:00
Donald Kjer 13a514923a [Keyboard] Add Durgod Taurus K310 keyboard (#12314)
Co-authored-by: Tyler Tidman <tyler.tidman@draak.ca>
Co-authored-by: Simon Arlott <sa.me.uk>
2021-07-22 00:09:00 -07:00
QMK Bot 931bf52b74 Merge remote-tracking branch 'origin/master' into develop 2021-07-22 06:58:28 +00:00
farfalleflickan a400681ccf [Keyboard] Updated keyboard & keymaps (#12667)
Co-authored-by: pastapojken <6597735+pastapojken@users.noreply.github.com>
2021-07-21 23:57:35 -07:00
QMK Bot b5a1db9c05 Merge remote-tracking branch 'origin/master' into develop 2021-07-22 06:48:20 +00:00
joedinkle e9c3f71e74 [Keyboard] add SPRH keyboard (#12999)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-21 23:47:48 -07:00
Patrick Stadler fb9a254a43 Retain brightness with lighting layers (#13025)
Add guard `RGBLIGHT_LAYERS_RETAIN_VAL` to retain the currently used val
when applying lighting layers.
2021-07-21 23:46:12 -07:00
QMK Bot 85128302c8 Merge remote-tracking branch 'origin/master' into develop 2021-07-22 06:40:51 +00:00
Sắn 92cca84651 [Keyboard] Add keypad Satxri6key (#13423)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-21 23:40:24 -07:00
QMK Bot a2d94371c6 Merge remote-tracking branch 'origin/master' into develop 2021-07-22 06:40:15 +00:00
jmaynard 8e905a7a5c [Keyboard] Initial Tron Guy Labs keyboard implementation. (#13438)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Jay Maynard <jmaynard@conmicro.com>
2021-07-21 23:39:45 -07:00
QMK Bot 0753cbc77f Merge remote-tracking branch 'origin/master' into develop 2021-07-22 06:31:35 +00:00
Brandon Lewis 8c17a822a8 [Keyboard] Add Ristretto Keyboard (#13479)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Brandon Lewis <blewis308@users.noreply.github.com>
2021-07-21 23:31:03 -07:00
QMK Bot 5c42446508 Merge remote-tracking branch 'origin/master' into develop 2021-07-22 06:22:35 +00:00
Kyle McCreery 5766b9bfb7 [Keyboard] New Keyboard - OBE (#13545)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-21 23:22:00 -07:00
QMK Bot 203c4fdf58 Merge remote-tracking branch 'origin/master' into develop 2021-07-22 05:57:21 +00:00
Adam Abrams fbe782534a [Keyboard] Add personal planck keymap (#13635) 2021-07-21 22:56:46 -07:00
QMK Bot 71560853ce Merge remote-tracking branch 'origin/master' into develop 2021-07-22 05:46:45 +00:00
Manassarn "Noom" Manoonchai 665af4fa8d [Keymap] narze/xd004 (#13634)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-21 22:46:15 -07:00
QMK Bot b28c5e6acb Merge remote-tracking branch 'origin/master' into develop 2021-07-22 05:40:08 +00:00
Md. Mashur Shalehin Sakib 5b8d2b5cde [Keyboard] Add h0oni hotduck keyboard (#13609) 2021-07-21 22:39:36 -07:00
QMK Bot 874a3df950 Merge remote-tracking branch 'origin/master' into develop 2021-07-21 18:30:35 +00:00
Ryan b564ba13ee Fix API generation failure caused by GRS-70EC (#13631) 2021-07-21 19:30:29 +01:00
Ryan c79bc7c909 Fix MATRIX_COLS for peranekofactory/tone (#13632) 2021-07-21 19:28:58 +01:00
QMK Bot 201b4dc7ab Merge remote-tracking branch 'origin/master' into develop 2021-07-21 18:26:05 +00:00
Ryan 78265ea742 Fix MATRIX_COLS for aeboards/constellation/rev2 (#13633) 2021-07-21 19:26:00 +01:00
Alabahuy 2b260bd846 fixed number layer on keymap (#13627) 2021-07-21 19:25:21 +01:00
QMK Bot d2cdb0b1d3 Merge remote-tracking branch 'origin/master' into develop 2021-07-21 17:14:33 +00:00
gkeyboard ca1aa56c7f [Keyboard] Fix iso layout compile error (#13628)
Fix iso layout compile erreo on qmk web.
2021-07-21 10:14:04 -07:00
QMK Bot df37ce4ea2 Merge remote-tracking branch 'origin/master' into develop 2021-07-21 15:36:02 +00:00
Xelus22 afc629210c [Bug] VIA compile fixes (#13626) 2021-07-21 08:35:10 -07:00
QMK Bot 531886b984 Merge remote-tracking branch 'origin/master' into develop 2021-07-21 05:28:30 +00:00
Alabahuy ec1a6f6b8b [Keyboard] add rartland with via support (#13585)
* add rartland and via support

* moved encoder adn oled to c file

* update c file
2021-07-20 22:28:05 -07:00
QMK Bot 793fabc449 Merge remote-tracking branch 'origin/master' into develop 2021-07-21 05:05:45 +00:00
Andrew Kannan ddc2766537 Fix vicious40 rules (#13623) 2021-07-21 15:05:10 +10:00
QMK Bot 598fa867d1 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 20:10:21 +00:00
AlisGraveNil c98e25887c [Keyboard] GameBuddy v1.M (#12637)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 13:10:15 -07:00
Weirdo dbca44ae8d [Keyboard] Add Tiger910 (#12605)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 13:09:53 -07:00
QMK Bot 200f1e8e6a Merge remote-tracking branch 'origin/master' into develop 2021-07-20 20:08:44 +00:00
Conor Burns 81cac8eec6 [Keyboard] 0xcb 1337 - Added keymap "conor" and fixed some minor stuff (#12744)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-20 13:07:53 -07:00
Zach White 4ab8734d6e Move all our CLI file formatters to the format dir (#13296)
* move all our file formatters to the format dir

* Apply suggestions from code review

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

Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-07-20 11:52:14 -07:00
QMK Bot c4db9f7fb2 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 17:48:49 +00:00
kb-elmo c1ba35363d [Keyboard] Added Kineticlabs Emu (#12968) 2021-07-20 10:48:17 -07:00
QMK Bot 32a44b6a2c Merge remote-tracking branch 'origin/master' into develop 2021-07-20 17:47:04 +00:00
Paul Ewers 3591312fa3 [Keymap] Updates to personal Drop ALT keymap (#13058) 2021-07-20 10:46:52 -07:00
StefanGrindelwald 42ac7c0541 [Keyboard] Add Momoka ergo (#13127)
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 10:46:29 -07:00
QMK Bot 362bbe53c7 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 17:44:20 +00:00
gkeyboard 8c526703f8 [Keyboard] Update lm60n.h (#13249) 2021-07-20 10:43:44 -07:00
QMK Bot 11334ef6af Merge remote-tracking branch 'origin/master' into develop 2021-07-20 17:25:14 +00:00
sekigon-gonnoc c6698cfce3 [Keyboard] Add keyboard GRS-70EC (#11296) 2021-07-20 10:24:22 -07:00
QMK Bot 14a839e39c Merge remote-tracking branch 'origin/master' into develop 2021-07-20 17:12:47 +00:00
aydenvis 8f6867ce95 [Docs] Added note about no split support (#12512)
Currently, this feature isn't supported on splits, spent about an hour troubleshooting my board and firmware before asking, and turns out it's not in place. Note added to save others from this in the future.
2021-07-20 10:11:49 -07:00
QMK Bot 638fda5946 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 16:59:21 +00:00
FateEverywhere 16e52980c4 [Keyboard] Hard Light - Add keyboard, basic keymap (#12654)
Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 09:58:39 -07:00
Jsully 4188d2272c [Keyboard] Add Durgod Hades, Galaxy and Venus Keyboards (#12893)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Don Kjer <don.kjer@gmail.com>
2021-07-20 09:44:22 -07:00
QMK Bot 6fa53023cb Merge remote-tracking branch 'origin/master' into develop 2021-07-20 16:41:40 +00:00
imchipwood ec78f8bca2 [Keymap] Adding user code & keymaps for dumbpad & hotdox (#12924)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 09:40:54 -07:00
QMK Bot 154c7bc3e2 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 16:35:24 +00:00
AlisGraveNil 4f880801ec [Keyboard] luggage rack (#12959) 2021-07-20 09:34:56 -07:00
QMK Bot 02f8bbee45 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 16:34:49 +00:00
lfgberg 9d523499af [Keyboard] add anomalykb a65i (#12967)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 09:34:18 -07:00
QMK Bot dbaba42175 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 16:19:56 +00:00
Andrew Kannan 388a4ae817 [Keyboard] Add Vicious40 to QMK (#12981)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 09:19:26 -07:00
QMK Bot 8925199ae8 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 16:17:22 +00:00
Carl-Fredrik Arvidson 3486870ee4 Adds Swedish Mac ISO and ANSI keymaps (#13055)
* Adds Swedish Mac ISO and ANSI keymaps

* Replaces NBSP with space

* Adds missing keys

* Remove duplicates

* Remove duplicates

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

* Change case and remove whitespace

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

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

* Fix uppercase

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

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

* Add specific files for Swedish Pro

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

Remove whitespace

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

* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h

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

* Update quantum/keymap_extras/keymap_swedish_pro_osx_ansi.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

* Update quantum/keymap_extras/keymap_swedish_osx_iso.h

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-20 09:16:17 -07:00
fauxpark 2e673c419a Merge remote-tracking branch 'upstream/master' into develop 2021-07-20 23:13:39 +10:00
Ryan 7ea1b97785 Fix CRLF in xbows/knight:via config.h (#13614) 2021-07-20 14:04:36 +01:00
QMK Bot 52ce2088e8 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 05:29:00 +00:00
projectcain 815c17b726 [Keyboard] Add vault45 (#13119)
* adding my keymap

* Update keyboards/projectcain/vault45/keymaps/default/config.h

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

* Update keyboards/projectcain/vault45/keymaps/default/keymap.c

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

* Update keyboards/projectcain/vault45/keymaps/default/keymap.c

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

* Update keyboards/projectcain/vault45/vault45.c

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

* Update keyboards/projectcain/vault45/keymaps/default/keymap.c

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

* Update readme.md

* Update keyboards/projectcain/vault45/keymaps/default/config.h

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

* Update keymap.c

* Update keyboards/projectcain/vault45/keymaps/default/config.h

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

* Update keyboards/projectcain/vault45/readme.md

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update info.json

* Update keyboards/projectcain/vault45/vault45.c

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

* Update keyboards/projectcain/vault45/readme.md

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

* Update keyboards/projectcain/vault45/readme.md

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

* Update keyboards/projectcain/vault45/readme.md

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 22:28:32 -07:00
QMK Bot 8109363148 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 05:27:43 +00:00
Ryan Boone b887a1b995 [Keyboard] Add q4z keyboard (#13198)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 22:27:18 -07:00
QMK Bot 36e2666cba Merge remote-tracking branch 'origin/master' into develop 2021-07-20 05:26:56 +00:00
Uy Bui 1256915583 [Keyboard] Add we27 numpad (#13137)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 22:26:26 -07:00
QMK Bot 692e80d3c0 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 05:26:17 +00:00
Michael 35ee990bd0 [Keyboard] fix LED issue BOCC keyboard (#13175)
Co-authored-by: Michael Wamsley <wamsl@Michaels-MacBook-Pro.local>
2021-07-19 22:25:46 -07:00
QMK Bot 80c8a99204 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 05:25:11 +00:00
yiancar 17933a884a [Keyboard] mnk1800s initial commit (#13444) 2021-07-19 22:24:40 -07:00
QMK Bot 9c5a0fb0b2 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 04:05:10 +00:00
cole smith 6ab0593f44 [Keyboard] Boardsource technik (#13111)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 21:04:43 -07:00
QMK Bot 18ae1f423f Merge remote-tracking branch 'origin/master' into develop 2021-07-20 04:02:05 +00:00
TerryMathews 9941cf0051 [Keyboard] PORTICO: add support for wt_rgb (#13241)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 21:01:36 -07:00
QMK Bot cf4a121700 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 03:50:18 +00:00
ぺらねこ 8b0a996d5d [Keyboard] Add tone (#13337)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
Co-authored-by: kakunpc <15257475+kakunpc@users.noreply.github.com>
2021-07-19 20:49:45 -07:00
QMK Bot d5907a674f Merge remote-tracking branch 'origin/master' into develop 2021-07-20 03:46:37 +00:00
Andrew Kannan f439bfd543 [Keyboard] Aella Keyboard PCB (#13372)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 20:46:01 -07:00
Joakim Tufvegren 1414e9736d Switch Ergodox Infinity over to split_common (#13481) 2021-07-19 18:54:32 -07:00
QMK Bot 85621311db Merge remote-tracking branch 'origin/master' into develop 2021-07-20 01:49:28 +00:00
Andrew Kannan 46b8230468 [Keyboard] Add CannonKeys Balance PCB to QMK (#13489)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 18:49:26 -07:00
npspears 8e30ec1eee [Keyboard] enable RGB underglow on heckerboards/axon40 (#13490)
This PCB uses RGB underglow LEDs. If the user doesn't want them, they can turn them off with a keycode.
2021-07-19 18:48:58 -07:00
QMK Bot 6b2b42678d Merge remote-tracking branch 'origin/master' into develop 2021-07-20 01:48:31 +00:00
Adrian L Lange 1105f2eb47 [Keymap] Update bface p3lim keymap (#13582) 2021-07-19 18:48:00 -07:00
X-Bows Tech 5ee5280fa1 [Keyboard] Update the XBows/Knight keyboard (#13541)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-19 18:28:50 -07:00
Gigahawk b994921703 [Keyboard] Split GMMK Pro PCBs into separate revisions (#13570)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-19 17:57:19 -07:00
QMK Bot 5753226588 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 00:52:37 +00:00
Daegara 10905a6500 [Keyboard] CU65 layout update (#13589) 2021-07-19 17:52:19 -07:00
bomb 44a8ad265c [Keyboard] Repaired melgeek/mj63/ RGB lamp driver problem (#13579) 2021-07-19 17:52:00 -07:00
QMK Bot a480520e4e Merge remote-tracking branch 'origin/master' into develop 2021-07-20 00:32:52 +00:00
Giorgi Chavchanidze 8bc8eadaf9 [Keymap] Orthon keymap for idobo (#13584)
Co-authored-by: Giorgi Chavchanidze <giorgi@vivaldi.com>
2021-07-19 17:32:20 -07:00
QMK Bot f9332747e3 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 00:30:40 +00:00
Suschman 7e698c71cd Six Pack and ortho_ layout updates (#13587)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Suschman <suschman@gmail.com>
2021-07-19 17:30:09 -07:00
QMK Bot f493f560cc Merge remote-tracking branch 'origin/master' into develop 2021-07-20 00:27:04 +00:00
James Young 046429fa87 Knobgoblin: rename ortho keymap to default (#13592)
Keyboard did not previously have a `default` keymap.
2021-07-19 17:26:34 -07:00
QMK Bot 85c4672981 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 00:07:14 +00:00
James Young 4b55b7f852 converter/periboard_512: add Configurator layout data (#13600) 2021-07-19 17:06:45 -07:00
QMK Bot 2a3dde1d94 Merge remote-tracking branch 'origin/master' into develop 2021-07-20 00:06:21 +00:00
James Young 58f9321a77 fluxlab zplit: keymap restructuring (#13599) 2021-07-19 17:05:47 -07:00
QMK Bot 1ece36549a Merge remote-tracking branch 'origin/master' into develop 2021-07-20 00:05:18 +00:00
Xelus22 5b6780f999 [Keyboard][Bug] Constellation Rev2 (#13595) 2021-07-19 17:04:14 -07:00
Xelus22 b73a29aaea [Bug] Develop - Change uint32_t to layer_state_t (#13596)
* fix sat75

* update uint32_t to layer_state
2021-07-19 09:50:55 -07:00
QMK Bot f792aee954 Merge remote-tracking branch 'origin/master' into develop 2021-07-18 00:41:56 +00:00
James Young 07ae72ea6b LazyDesigners Bolt: move via keymap to keymaps directory (#13581) 2021-07-17 17:41:29 -07:00
QMK Bot 1374722033 Merge remote-tracking branch 'origin/master' into develop 2021-07-17 23:26:23 +00:00
James Young 876f861715 Discipline layout macro/Configurator fixes (#13574)
* use human-friendly formatting in info.json

* move layout macro aliases to info.json

* correct and complete layout data

Corrects the layout data for a few layouts, adds the missing data, and renames some of the layout macros.

- rename LAYOUT_wkl_ansi_2_right_mods to LAYOUT_65_ansi_wkl
- rename LAYOUT_wkl_ansi_3_right_mods to LAYOUT_65_ansi_lwkl
- rename LAYOUT_wkl_iso_2_right_mods to LAYOUT_65_iso_wkl
- rename LAYOUT_wkl_iso_3_right_mods to LAYOUT_65_iso_lwkl
2021-07-17 16:25:56 -07:00
QMK Bot 2eb8349437 Merge remote-tracking branch 'origin/master' into develop 2021-07-17 23:18:15 +00:00
James Young 26e64f4fd3 ACR60 Refactor (#13575)
* modernize acr60.h

- use #pragma once include guard
- add license header
- use four-space indent
- use QMK three-character notation for layout macro arguments

* human-friendly format info.json

* remove `key_count` keys from info.json

* rename LAYOUT_2_shifts to LAYOUT_all

* move LAYOUT_all to top

* use QMK three-character notation in info.json

* refactor default keymap

- add license header
- remove third layer (does nothing)
- replace Shift-Escape keycode with KC_GESC
- use LAYOUT_all macro instead of LAYOUT

* modernize readme.md

- update header
- convert metadata section to list
- add flashing and bootloader jump instructions
- update Docs links

* use #pragma once include guard in config.h

* update LED Indicator API

* add license headers
2021-07-17 16:17:48 -07:00
QMK Bot c329b549e4 Merge remote-tracking branch 'origin/master' into develop 2021-07-17 17:16:52 +00:00
James Young ca0e7e7bd9 Cutie Club Giant Macro Pad: add info.json (#13576) 2021-07-17 10:16:20 -07:00
QMK Bot 4be8eec4f2 Merge remote-tracking branch 'origin/master' into develop 2021-07-17 08:43:29 +00:00
James Young b127180c0c Xelus Akis Configurator Fixes (#13577)
* correct layout macro references

The keyboard's header file and info.json referenced different layout macro names.

* correct layout data

Insert an object for the Non-US Backslash key, which was previously missing.
2021-07-17 01:43:02 -07:00
Ryan 777fffb067 Revert "Add rgblight to RGB Matrix VPATH" (#13559) 2021-07-17 13:39:52 +10:00
QMK Bot d1295ffe9a Merge remote-tracking branch 'origin/master' into develop 2021-07-17 03:13:57 +00:00
Takeshi ISHII d26537acc1 remove RGBLIGHT_H_DUMMY_DEFINE macro from rgblight.h (#13569) 2021-07-17 12:13:16 +09:00
QMK Bot cdae9a7b19 Merge remote-tracking branch 'origin/master' into develop 2021-07-16 19:16:39 +00:00
Dasky 932a67ced2 Limit RGB brightness for crkbd when not defined (#13568) 2021-07-16 12:16:06 -07:00
QMK Bot 3495ffab77 Merge remote-tracking branch 'origin/master' into develop 2021-07-16 16:49:59 +00:00
Ryan 6c550cc7f7 Improve driver installation docs (#13562) 2021-07-17 02:49:33 +10:00
QMK Bot edefcdc94f Merge remote-tracking branch 'origin/master' into develop 2021-07-16 16:43:21 +00:00
lukeski14 89eeb4987c adding tw40 via support (#13032) 2021-07-17 02:42:50 +10:00
Ryan 332a5aa7cb Move SENDSTRING_BELL code to send_string.h (#13566) 2021-07-16 09:40:20 -07:00
QMK Bot 4bef126293 Merge remote-tracking branch 'origin/master' into develop 2021-07-16 16:40:05 +00:00
Oliver Granlund 455a988aa6 [Keyboard] Neito + my DZ60 keymap tweaks (#11773) 2021-07-16 09:39:35 -07:00
QMK Bot ff33eaea41 Merge remote-tracking branch 'origin/master' into develop 2021-07-16 16:38:29 +00:00
shela 6cc03dd30a Remove unwanted notes (#13563) 2021-07-16 09:37:49 -07:00
Johannes Choo 10d7eca5af Fix LED Hit Counter for LED/RGB Matrix (#12674) 2021-07-16 09:37:18 -07:00
QMK Bot 4066662bdf Merge remote-tracking branch 'origin/master' into develop 2021-07-16 16:09:10 +00:00
Joel Challis 366be0f7e9 Migrate arm_atsam print logic to use common framework (#13554) 2021-07-16 17:08:34 +01:00
Ryan 7ed5ac4a60 Use string literals for SERIAL_NUMBER (#13403) 2021-07-16 19:43:18 +10:00
QMK Bot f0198ad15e Merge remote-tracking branch 'origin/master' into develop 2021-07-16 03:55:56 +00:00
Takeshi ISHII 5fda0e2c04 remove #include "rgblight.h" when defined(RGB_MATRIX_ENABLE) from quantum.h (#13555) 2021-07-16 12:54:56 +09:00
Nick Brassel 610788184a Merge remote-tracking branch 'upstream/master' into develop 2021-07-16 09:11:51 +10:00
Andre Brait c330fa725d Set some default configurations for GMMK Pro (#13219)
* Set some default configurations for GMMK Pro

* Remove FORCE_NKRO to avoid issues with KVMs
2021-07-16 09:06:23 +10:00
Chris Cullin 70267b35c3 Dual RGB Matrix IS31FL3737 driver support to address #13442 (#13457)
* initial commit

* removed changes to write_pwm_buffer

* backward compatbility added

* fixed issue with backward compatibility

* documentation update

* removed unneccessary comment. branched from master

* updated per comments #13457

* removed blank line

* cformat on diff files
2021-07-15 22:52:05 +01:00
QMK Bot e07401bb5a Merge remote-tracking branch 'origin/master' into develop 2021-07-15 16:55:32 +00:00
bomb 68b1ef2d1d [Keyboard] correct the info.json for qmk configurator and add two empty layers for via (#13552) 2021-07-15 09:54:58 -07:00
QMK Bot b7ec43ed14 Merge remote-tracking branch 'origin/master' into develop 2021-07-15 04:24:45 +00:00
Zach White 9d0b7ab9b9 [keyboard] Clueboard 2x1800 2021 Support (#13220)
* 2x1800 2021

* add support for writing a whole frame at a time

* improvements

* wip

* fix scrolling

* small tweak

* add a buffer that's larger than the display

* add the start of a font

* working upper and lower case letters

* add qmk animation

* integrate the message sign into the qmk task system

* add encoder defaults

* add MAX7219_LED_CUSTOM to config.h

* tweaks

* remove unneeded keymaps

* add a keymap showing how to control the signboard

* cleanup

* cleanup

* add a way to disable the startup test

* make it easier to define options at the keymap level

* Fix define names

Co-authored-by: Greg Cochard <gcochard@users.noreply.github.com>

* Apply suggestions from gcochard

Co-authored-by: Greg Cochard <gcochard@users.noreply.github.com>

* feedback from noroads

* format info.json

Co-authored-by: Greg Cochard <gcochard@users.noreply.github.com>
2021-07-14 21:24:15 -07:00
QMK Bot f134c5e124 Merge remote-tracking branch 'origin/master' into develop 2021-07-14 20:56:59 +00:00
mechlovin 18c6e1d46d [Keyboard] Add Serratus PCB (#13281)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-14 13:55:52 -07:00
QMK Bot 21b3234780 Merge remote-tracking branch 'origin/master' into develop 2021-07-14 20:55:48 +00:00
Koobaczech 867d60bd64 [Keyboard] Tidying up my projects and subprojects (#13289)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ethan Madden <maddene@madden.ninja>
2021-07-14 13:55:12 -07:00
Ryan fd8628ccdc Migrate more fn_actions stuff (#13502) 2021-07-15 03:52:45 +10:00
QMK Bot e69c325a9c Merge remote-tracking branch 'origin/master' into develop 2021-07-14 17:50:47 +00:00
Ryan 99f637e82c Fix some RGB Matrix-enabled keymaps referring to RGBLight mode (#13509) 2021-07-15 03:50:09 +10:00
Zach White 44d322623e Merge remote-tracking branch 'origin/master' into develop
Resolved Conflicts:
	keyboards/checkerboards/nop60/info.json
2021-07-14 10:30:28 -07:00
Zach White ffdfe3798b switch to qmk-dotty-dict (#13460) 2021-07-14 09:08:48 -07:00
mechlovin 1c9af238dc correct data info.json (#13544)
rouge87 and rogue87
2021-07-14 08:46:44 -07:00
bomb 9c4916e2e8 [Keyboard] Add MelGeek MJ6xy which is a 60% keyboard that support mul… (#13494)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-14 08:39:54 -07:00
James Young dd5ead676b Traveller handwired layout macro refactor (#13539) 2021-07-13 21:28:56 -07:00
James Young 70efc82c1c Lucid Phantom soldered: layout macro touch-up (#13540) 2021-07-13 21:27:11 -07:00
Albert Y b29179de1a RGB Matrix support for Scylla (#13415)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-07-13 21:26:00 -07:00
Joel Challis ef8267d6a7 Refactor Drop boards to custom matrix lite (#13468) 2021-07-13 21:07:33 -07:00
Ian Klug 6cdba3a437 [Keyboard] Add ianklug grooveboard (#13536)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-13 21:04:14 -07:00
Anton 2fd4595955 [Keyboard} Add ISO support for the GMMK Pro (#13532)
* Added iso layer support for the GMMK Pro iso version

* Adjusted the mapping

* aligning with best practises
* aligning with comments from PR

* Added iso layout to info.json
2021-07-13 16:50:17 -07:00
James Young d4399172d3 Ortho 5x14 handwired info.json correction (#13538)
* ortho5x14 handwired: correct info.json data

Last key was incorrectly positioned.

* fix readme typo
2021-07-13 14:15:38 -07:00
James Young a3d60464ef 4pplet AEKISO60 keymap/macro touch-up (#13528)
Moves the ISO Enter keycode to the home row for more consistency with the rest of QMK. Also grid-aligns the keycodes and adds a block comment for the layout macro.
2021-07-13 14:04:22 -07:00
James Young 555a449488 Ergoarrows info.json touch-up (#13537)
* human-friendly formatting

Add line breaks between rows and halves.

* fix rounding issues

Fixes issues with y-offset values due to rounding in KLE.

* remove layout dead space; re-mirror halves

Removes the empty white space from the layout, and aligns the keys on the right half so they are a mirror of the left half.
2021-07-13 13:44:01 -07:00
Jonas Gessner 52cfc9259b [Feature] Key Overrides (#11422) 2021-07-13 10:13:51 -07:00
AnthonyL 3cd6cb65bc [Keyboard] Montex add VIA support and keymap. (#13488)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Anthony Lowery <anthony.lowery@unity3d.com>
2021-07-13 10:11:02 -07:00
Cosmin 64e6ba0211 [Keyboard] fixes and additions to the Marauder keyboard (#13462)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-13 08:58:16 -07:00
James Young bf70db479c AMJ60 Refactor (#13530)
* rename LAYOUT to LAYOUT_all

* refactor default keymap

- add license header
- use layer_names enum
- use LAYOUT_all macro
- update keymap to be more generic
- use QMK-native keycode aliases

* info.json: human-friendly formatting

* convert LAYOUT_iso into a proper LAYOUT_60_iso

* LAYOUT_all bugfix

In the physical sense, position k3d is to the left of k3c.

* rework LAYOUT_max into LAYOUT_60_ansi_split_bs_rshift

* remove LAYOUT_iso_splitrshift and iso_split_rshift keymap

* rework LAYOUT_hhkb into LAYOUT_60_hhkb

* amj60.h cleanup

- add license header
- use #pragma once include guard
- concatenate layout block comments
- remove unnecessary function headers

* add license header to amj60.c

* align config.h to QMK template

* align rules.mk to QMK template

* enable Community Layout support

* modernize readme.md

- add PCB image
- convert keyboard data to list
- add flashing and bootloader instructions
- update Docs links
2021-07-13 06:46:20 -07:00
Takeshi ISHII b89abc402b [Keyboard] Update Symmetric70 keyboard prototype (#12707)
* update handwired/symmetric70_proto/matrix.c

* make keyboards/handwired/symmetric70_proto/promicro/

* add symmetric70_proto/debug_config.h, update symmetric70_proto/local_features.mk etc.

  set MATRIX_IO_DELAY macro
    make MTEST=mdelay0  symmetric70_proto/promicro:default:flash
    make MTEST=mdelay1  symmetric70_proto/promicro:default:flash
    make MTEST=mdelay10 symmetric70_proto/promicro:default:flash
    make MTEST=mdelay30 symmetric70_proto/promicro:default:flash
  set DEBUG_MATRIX_SCAN_RATE_ENABLE yes
    make MTEST=scan symmetric70_proto/promicro:default:flash
  set MATRIX_DEBUG_DELAY and MATRIX_IO_DELAY macro
    make MTEST=matrix_debug_delay,mdelay0 symmetric70_proto/promicro:default:flash
  set MATRIX_DEBUG_SCAN
    make MTEST=matrix_debug_scan symmetric70_proto/promicro:default:flash

* add symmetric70_proto/matrix_debug/readme.md

* update symmetric70_proto/matrix_debug/readme.md

* update handwired/symmetric70_proto/readme.md

* update handwired/symmetric70_proto/readme.md

* update handwired/symmetric70_proto/*/readme.md

* add handwired/symmetric70_proto/matrix_fast/

* update handwired/symmetric70_proto/matrix_fast/readme.md

* fix typo in handwired/symmetric70_proto/matrix_fast/readme.md

* update config.h under handwired/symmetric70_proto/promicro

* add Proton C support to handwired/symmetric70_proto

* add handwired/symmetric70_proto/proton_c/readme.md

* add promicro/*/readme.md proton_c/*/readme.md

* update handwired/symmetric70_proto/proton_c/proton_c.c

support MATRIX_IO_DELAY_DEFAULT for testing.

* Added another implementation of 'adaptive_delay'.

* update symmetric70_proto/local_features.mk

* update symmetric70_proto/matrix_fast/gpio_extr.h

* add matrix_output_unselect_delay_ports()

* add MTEST=adaptive_delay_fast option

* update symmetric70_proto/matrix_debug/readme.md

* update symmetric70_proto/matrix_fast/readme.md

* update symmetric70_proto/matrix_debug/readme.md

* Erase garbage

* fix symmetric70_proto/proton_c/proton_c.c

* improve adaptive_delay_fast in symmetric70_proto/matrix_debug/matrix.c

* update symmetric70_proto/matrix_debug/readme.md

* fix symmetric70_proto/matrix_debug/readme.md

* Update keyboards/handwired/symmetric70_proto/proton_c/rules.mk

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

* Update keyboards/handwired/symmetric70_proto/proton_c/rules.mk

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

* Update keyboards/handwired/symmetric70_proto/local_features.mk

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

* Update keyboards/handwired/symmetric70_proto/local_features.mk

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

* Update keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c

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

* Update keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c

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

* Update keyboards/handwired/symmetric70_proto/local_features.mk

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

* Update keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c

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

* Update keyboards/handwired/symmetric70_proto/matrix_debug/readme.md

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

* Update keyboards/handwired/symmetric70_proto/matrix_debug/readme.md

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

* Update keyboards/handwired/symmetric70_proto/matrix_debug/readme.md

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

* Update keyboards/handwired/symmetric70_proto/matrix_fast/matrix_config_expand.c

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-07-13 18:14:27 +09:00
XScorpion2 1ae4d52013 Keyboards/sol rev2 fix (#13533)
* Fixed a recent develop error

* minor fix cause I am tired
2021-07-13 18:45:31 +10:00
Takeshi ISHII ac2e6e01f1 Change the prototype of matrix_output_unselect_delay() (#13045)
The prototype of matrix_output_unselect_delay() has been changed as follows.

```c
void matrix_output_unselect_delay(uint8_t line, bool key_pressed);
```

Currently, no keyboard seems to be redefining `matrix_output_unselect_delay()`, so there is no change in the system behavior.

With this change, the keyboard level code can get some optimization hints, for example, the following.

```c
 void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {
     /* If none of the keys are pressed,
      *  there is no need to wait for time for the next line. */
     if (key_pressed) {
 #ifdef MATRIX_IO_DELAY
 #  if MATRIX_IO_DELAY > 0
         wait_us(MATRIX_IO_DELAY);
 #  endif
 #else
         wait_us(30);
 #endif
     }
}
```
2021-07-13 16:50:25 +09:00
James Young 6b6ee5fa28 1UP Keyboards 1UP60HTE layout macro touch-up (#13529)
* rename LAYOUT_tsangan to LAYOUT_60_tsangan_hhkb

... and enable Community Layout support.

* use four-space indent and QMK-native keycode aliases

* rules.mk touch-up

- remove Bootloader selection header comments
- unify Build Options comment header to QMK template
- align inline comments

* readme.md touch-up

- convert metadata to list
- add Flashing command

* move layout macro alias to info.json

* apply friendly formatting to info.json

* restore badger keymap to previous (don't edit user keymap)
2021-07-13 00:18:07 -07:00
James Young 92a029d6f3 Ergonomic Vertical Keyboard (EVK) handwired info.json touch-up (#13527)
* scale layout data

Seems the KLE data that was imported to make the original file was scaled 1.25x. This commit removes the scaling.

* human-friendly formatting

Insert line breaks between physical layout rows.

* remove instances where width or height is set to 1

The width and height of a key is defaulted to 1 if not provided by the JSON data, so there's no reason to set it manually.
2021-07-12 23:44:56 -07:00
James Young 7d2f70f398 Checker Boards NOP60 touch-up (#13526)
* apply human-friendly formatting to info.json

* fix JSON tree errors in info.json

* rename layout macros

- rename LAYOUT_2x3u to LAYOUT_60_tsangan_hhkb_split_space
- rename LAYOUT_7u to LAYOUT_60_tsangan_hhkb

* rename 2x3u keymap to default
2021-07-12 23:32:54 -07:00
QMK Bot a62b10176e Merge remote-tracking branch 'origin/master' into develop 2021-07-12 17:15:14 +00:00
James Young 8f0bf52b25 ID67 codebase touch-up (#13521)
* correct layout data

Fix incorrect key sizes/positions.

* rename LAYOUT to LAYOUT_65_ansi_blocker

* tweak human-friendly formatting for info.json

Add new lines for new rows.

* adjust keycode alignment in via keymap

* clean up extra lines in readme file

* enable 65_ansi_blocker Community Layout support

* clean up rules.mk

Aligns the inline comments.
2021-07-12 10:14:18 -07:00
Alex Marmon 00e97aae67 [Keymap] add simple gmmk pro macos keymap with rgb (#13504) 2021-07-12 09:36:24 -07:00
QMK Bot 9d282d81ac Merge remote-tracking branch 'origin/master' into develop 2021-07-12 15:53:05 +00:00
Albert Y c024acd752 [Keyboard] RGB Matrix support for TBK Mini (#13506)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-07-12 08:52:32 -07:00
Chris Cullin 9c74fd14bc Enable g_is31_leds PROGMEM for RGB Matrix IS31FL3737 driver (#13480) 2021-07-12 08:51:23 -07:00
Joakim Tufvegren 4706231831 Fix two out of bounds accesses from #13330. (#13525)
Two occurrences of `MATRIX_ROWS` weren't properly changed to
`ROWS_PER_HAND` in #13330, causing a crash during boot on at least my
Ergodox Infinity (including #13481).
2021-07-12 08:43:05 -07:00
QMK Bot 89980ff004 Merge remote-tracking branch 'origin/master' into develop 2021-07-12 07:24:08 +00:00
Kwabena Aduse-Poku 6b8168c378 [Keyboard] Add Bloop65 (#13388)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-12 00:23:33 -07:00
Drashna Jaelre ccc0b23a75 Unify matrix for split common and regular matrix (#13330) 2021-07-11 14:31:35 -07:00
Zach White 0b06452d00 Matrix consistency check (#13470)
* Add a check to make sure the matrix sizes match the actual matrix size

* make flake8 happy
2021-07-11 09:43:58 -07:00
QMK Bot fd284c43a5 Merge remote-tracking branch 'origin/master' into develop 2021-07-11 16:42:52 +00:00
jackytrabbit 20a28d6752 [Keyboard] Update lazydesigners/the60/rev2/rev2.h (#13505)
Update lazydesigners/the60/rev2/rev2.h
2021-07-11 09:42:38 -07:00
Rys Sommefeldt b71ee47c44 [Keyboard] CapsUnlocked CU7 (#13429)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-11 09:42:19 -07:00
QMK Bot 14ba806140 Merge remote-tracking branch 'origin/master' into develop 2021-07-11 15:50:47 +00:00
Drashna Jaelre 4f3a4eca97 [Keymap] Fix Corne Via Layout properly (#13518) 2021-07-11 08:50:18 -07:00
QMK Bot ca0c57125f Merge remote-tracking branch 'origin/master' into develop 2021-07-11 15:47:49 +00:00
James Young 0453b61e1a [Keyboard] Wuque Studio Ikki68 Aurora codebase touch-up (#13510) 2021-07-11 08:47:21 -07:00
Zach White adf0d70da4 first pass: matrix consistency improvements (#13471) 2021-07-11 08:41:57 -07:00
QMK Bot 5a50a28962 Merge remote-tracking branch 'origin/master' into develop 2021-07-11 07:52:16 +00:00
Takeshi ISHII 877e81f963 Fixed the Helix keymap 'fraanrosi' compile issues (#13514)
According to `helix/rev2/keymaps/fraanrosi/readme.md`, this keymap should be compiled with the following command:

```
make helix/rev2/under:fraanrosi
```

Therefore, when compiling all helix keymaps with the following command, an error occurs when compiling `fraanrosi`.

```
make helix:all
```

Therefore, add `LED_UNDERGLOW_ENABLE = yes` to `keymaps/fraanrosi/rules.mk` to suppress the error.
2021-07-11 16:51:45 +09:00
QMK Bot 36890181f7 Merge remote-tracking branch 'origin/master' into develop 2021-07-11 05:37:58 +00:00
Fredrik Salomonsson 0a8accae06 [Keymap] plattfot - Keymap updates for Kyria (#13449)
- Major change in the keymap to work with EurKey. Which relaxes some
  constraints it had before when it had to take in consideration two
  layouts.

  With this the parenthesis can be moved to a better location instead
  of being in the top right corner.

  This also allows esc, del and rctrl to be moved to the base layer.

  Only downside is that ctrl+lalt needed to be removed and instead
  AltGr takes it's place. Add rctrl on right thumb cluster to
  compensate for this which need some reorganization on the thumb
  cluster.

- Split the symbol and function keys layer into two layers, one for
  each hand. Make it easier to press symbols and function keys.

- Add some symbols specific for the EurKey layout.

- Change from running C-<tab> S-C-<tab> to page up/down for the right
  rotary. As holding ctrl and using page up/down works the same in
  firefox. Which allows the rotary to be useful for other things.

- Move scroll lock and insert to right rotary.

- Introducing close tap (CLO_TAP), which is a combination of the
  double tap feature and my macros. E.g. pressing CLO_TAP and ( will
  generate ()←. Which removes the need of the macros and makes it more
  useful than DBL_TAP as it now saves me some keypresses. CLO_TAP exist
  on both the left and right hand layers to make it easy to use.

- Use text for the secondary oled, firmware is too big after rebasing
  on upstream master.

- Update image in the readme to reflect my new layout.
2021-07-10 22:37:28 -07:00
QMK Bot 0bfb14409a Merge remote-tracking branch 'origin/master' into develop 2021-07-11 05:08:58 +00:00
GG 2c6cff4cb7 [Keyboard] add new firewave ikki68_aurora (#13364)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-10 22:08:26 -07:00
Erovia e05f9c4a08 CLI: Add git and venv info to doctor's output (#13405)
Most of the checks are saved from zvecr's retired 'up/status'
subcommand PR.
2021-07-10 16:04:50 +01:00
QMK Bot 789be4f114 Merge remote-tracking branch 'origin/master' into develop 2021-07-10 07:36:22 +00:00
James Young 988942ce40 Clawsome Hatchback & SUV: fix improperly named keymap directories (#13508) 2021-07-10 17:35:27 +10:00
QMK Bot ee44df5b91 Merge remote-tracking branch 'origin/master' into develop 2021-07-10 01:33:32 +00:00
Drashna Jaelre 09474cbf04 Fix VIA compilation issues for RGB Matrix (#13503) 2021-07-10 02:32:56 +01:00
QMK Bot 9cb8f6d781 Merge remote-tracking branch 'origin/master' into develop 2021-07-09 16:11:26 +00:00
Zach White baa65d2177 enable manual trigger for api data (#13000) 2021-07-09 09:10:45 -07:00
QMK Bot 5179d573aa Merge remote-tracking branch 'origin/master' into develop 2021-07-09 09:41:24 +00:00
James Young 572a35d9a2 Mechmini V1 Refactor (#13498) 2021-07-09 19:40:59 +10:00
QMK Bot 8ffdf83015 Merge remote-tracking branch 'origin/master' into develop 2021-07-08 17:59:15 +00:00
James Young 1e51bb39a3 nknl7en: correct key object order (#13482) 2021-07-08 10:58:42 -07:00
QMK Bot ff61b870cf Merge remote-tracking branch 'origin/master' into develop 2021-07-08 08:47:41 +00:00
Takeshi ISHII f44b48669d Updated docs/ja/feature_ps2_mouse.md. (#13472)
Changed following the change in the definition of `PS2_MOUSE_SCROLL_BTN_MASK` in the original document.
2021-07-08 18:47:39 +10:00
Takeshi ISHII e10e67c9b9 [Update] Change Original TAGs of Japanese translations (#13473)
* Updated docs/ja/proton_c_conversion.md original tag.

* Updated docs/ja/other_vscode.md original tag.

* Updated docs/ja/feature_swap_hands.md original tag.

* Updated docs/ja/faq_general.md original tag.

* Updated docs/ja/feature_userspace.md original tag.

* Updated git co docs/ja/config_options.md original tag.
2021-07-08 18:47:09 +10:00
QMK Bot 1fd1198522 Merge remote-tracking branch 'origin/master' into develop 2021-07-08 08:46:57 +00:00
Takeshi ISHII eab623f1ad [Docs] update Japanese translation of internals_gpio_control.md (#13401)
* Add 'Atomic Operation' section into docs/ja/internals_gpio_control.md

* Update docs/ja/internals_gpio_control.md

* Update docs/ja/internals_gpio_control.md

* Update docs/ja/internals_gpio_control.md
2021-07-08 18:46:28 +10:00
Joakim Tufvegren e675a9fc60 Use the new ST7565 driver on Ergodox Infinity (#13165) 2021-07-07 18:05:35 +10:00
QMK Bot 90af59ea9d Merge remote-tracking branch 'origin/master' into develop 2021-07-07 01:28:42 +00:00
James Young 72540f7d83 Xelus Ninjin: rename LAYOUT_all to LAYOUT_tkl_ansi_tsangan; add info.json (#13477) 2021-07-07 11:28:11 +10:00
QMK Bot dd0df14d89 Merge remote-tracking branch 'origin/master' into develop 2021-07-07 01:27:51 +00:00
James Young 692d0268ca Kopibeng XT65: Layout Macro Refactor (#13476) 2021-07-07 11:27:23 +10:00
QMK Bot ab43bfe9c9 Merge remote-tracking branch 'origin/master' into develop 2021-07-07 01:07:10 +00:00
mfkiiyd b976fcbb44 [Keyboard] Add poker87c and poker87d (#12810)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Water <mfkiiyd@163.com>
2021-07-06 18:06:39 -07:00
QMK Bot eac5af5c23 Merge remote-tracking branch 'origin/master' into develop 2021-07-07 01:06:24 +00:00
Blake a0a57dc613 [Keyboard] Add new Elise, 65% Keyboard ANSI / ISO (#12782)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-06 18:05:53 -07:00
QMK Bot 99d1475141 Merge remote-tracking branch 'origin/master' into develop 2021-07-07 01:05:02 +00:00
Simon dba3f0d1eb [Keyboard] Add bm65iso (#13400)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-06 18:04:32 -07:00
QMK Bot 0aa963c740 Merge remote-tracking branch 'origin/master' into develop 2021-07-06 22:20:51 +00:00
gtips 09c4d536c3 [Keyboard] Add keyboard reviung5 (#13375) 2021-07-06 15:20:20 -07:00
QMK Bot 2048c28f78 Merge remote-tracking branch 'origin/master' into develop 2021-07-06 21:47:54 +00:00
KDon c9c2916829 [Keyboard] Add kabedon98e (#13314) 2021-07-06 14:47:24 -07:00
QMK Bot 26bb2d7063 Merge remote-tracking branch 'origin/master' into develop 2021-07-06 17:48:01 +00:00
Drashna Jaelre 792c4e7893 [Keyboard] Set reasonable defaults for Corne keyboard (#13440)
* [Keyboard] Set reasonable defaults for Corne keyboard

* Add note about bootmagic

* Make bootmagic config super weak

* cleanup

* Apply suggestions from code review

* Update keyboards/crkbd/readme.md
2021-07-06 10:47:26 -07:00
QMK Bot 150f4ef5dc Merge remote-tracking branch 'origin/master' into develop 2021-07-06 14:56:47 +00:00
Kuba Tyszko acf7de7a52 /bin/bash to /usr/bin/env bash (#13422) 2021-07-06 07:56:13 -07:00
QMK Bot fc4f03086f Merge remote-tracking branch 'origin/master' into develop 2021-07-06 05:34:38 +00:00
Ryan 9ce6808015 Update MSG_PYTHON_MISSING (#13427) 2021-07-06 15:34:04 +10:00
Thomas Weißschuh a535d24ecf core: chibios: bootloader: use integer pointers as volatile (#13450)
This prevents gcc from incorrectly trying to validate array bounds.

```
tmk_core/common/chibios/bootloader.c: error: '__builtin_memcpy' offset [0, 21] is out of the bounds [0, 0] [-Werror=array-bounds]
  107 |     __builtin_memcpy((void *) VBAT, (const void *)sys_reset_to_loader_magic, sizeof(sys_reset_to_loader_magic));
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578#c16
Fixes #12925
2021-07-06 00:24:48 +01:00
Ryan 82137e14f2 Migrate SHIFT_ESC and RGB fn_actions to Grave Escape and RGB keycodes (#13360) 2021-07-06 09:08:08 +10:00
Ryan 50d4dfd2e6 keymap_extras: Remove deprecated defines (#12949) 2021-07-06 09:05:11 +10:00
QMK Bot ca1b114297 Merge remote-tracking branch 'origin/master' into develop 2021-07-05 17:15:57 +00:00
David Luo 03a9baa44f [Keyboard] fix encoder_update_user for nullbitsco/nibble (#13451) 2021-07-05 10:15:24 -07:00
fauxpark 0386aea09f Merge remote-tracking branch 'upstream/master' into develop 2021-07-05 21:57:13 +10:00
Ryan 4c1c112a16 Traveller cleanup (#13441)
* Traveller cleanup

* Update keyboards/handwired/traveller/info.json

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

Co-authored-by: Joel Challis <git@zvecr.com>
2021-07-05 11:45:31 +01:00
James Young eb7178b542 LatinPadBLE: correct info.json data (#13452)
* correct info.json data

Removes an extra key object, and corrects the layout macro reference.

* refactor rules.mk file

- remove invalid `LAYOUTS` rule
- edits the rules.mk file to more closely resemble the file from QMK's AVR template.

* additional rules.mk cleanup per fauxpark

Apply suggestions from code review
2021-07-05 03:30:34 -07:00
QMK Bot bcf09d9f68 Merge remote-tracking branch 'origin/master' into develop 2021-07-05 10:08:07 +00:00
James Young 5d52d01825 Jabberwocky: adjust key positioning in Configurator (#13447)
* adjust key positioning in Configurator

Some of the keys were visually overlapping when rendered. Adjusted the key positioning to remove the overlaps.

* update readme.md

- fix a broken URL
- rewrite the Bootloader access instructions
- remove trailing whitespace
2021-07-05 03:07:24 -07:00
QMK Bot da7cba40a3 Merge remote-tracking branch 'origin/master' into develop 2021-07-05 04:12:23 +00:00
James Young 673a5b0ea2 Molecule: Layout Macro Refactor (#13453) 2021-07-05 14:11:53 +10:00
QMK Bot 83c8e750de Merge remote-tracking branch 'origin/master' into develop 2021-07-05 00:34:58 +00:00
wxyangf fa309df895 [Docs] added list of MIDI keycodes (#13159) 2021-07-04 17:34:20 -07:00
Jameson Thatcher 550d9253b0 Allow invert of SPLIT_HAND_PIN logic (#13433)
* added support for inverting the hand pin for split keyboards

* Added docs about SPLIT_HAND_LOW_IS_LEFT

* Update docs/feature_split_keyboard.md

bring #define for split hand pin low for left half name in line with grid pin define

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

* Update quantum/split_common/split_util.c

update split hand pin low is left name to match split hand grid define

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

Co-authored-by: Joel Challis <git@zvecr.com>
2021-07-05 09:06:40 +10:00
QMK Bot 40c5f97871 Merge remote-tracking branch 'origin/master' into develop 2021-07-04 22:41:06 +00:00
James Young b73f8de10b correct Configurator layout data (#13448)
The object for the rotary encoder was not previously included in the layout data.
2021-07-04 23:40:31 +01:00
QMK Bot 08e4808bf5 Merge remote-tracking branch 'origin/master' into develop 2021-07-04 15:35:18 +00:00
James Young af083b41cd Yampad: add info.json (#13445) 2021-07-04 08:34:50 -07:00
QMK Bot 6e00b5aaed Merge remote-tracking branch 'origin/master' into develop 2021-07-04 03:24:49 +00:00
Yon Nor 4d4cac2d07 [Keyboard] Add CX60 (#13402)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-03 20:24:20 -07:00
QMK Bot 99ce5446ad Merge remote-tracking branch 'origin/master' into develop 2021-07-04 03:14:17 +00:00
James Young 6d8fac5e2d Specskeys Configurator Bugfix and Refactor (#13439) 2021-07-03 20:13:50 -07:00
QMK Bot c022821c76 Merge remote-tracking branch 'origin/master' into develop 2021-07-04 02:55:03 +00:00
AnthonyL 3e04e22edb [Keyboard] IDOBAO ID67 (#13378)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Anthony Lowery <anthony.lowery@unity3d.com>
2021-07-03 19:54:33 -07:00
QMK Bot ef7862280d Merge remote-tracking branch 'origin/master' into develop 2021-07-04 01:06:32 +00:00
cole smith 400844453a [Keyboard] ortho boards from the technik gb (#13382)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-03 18:06:05 -07:00
QMK Bot def12e2287 Merge remote-tracking branch 'origin/master' into develop 2021-07-03 23:49:24 +00:00
Drashna Jaelre 2161496d62 [Keyboard] Add soldered variant of Titan 65 keyboard. (#13270) 2021-07-03 16:48:51 -07:00
QMK Bot b635ca4976 Merge remote-tracking branch 'origin/master' into develop 2021-07-03 16:45:04 +00:00
James Young 79751f5b15 Pisces: correct layout macro reference in info.json (#13410) 2021-07-03 09:44:15 -07:00
QMK Bot 55837093d5 Merge remote-tracking branch 'origin/master' into develop 2021-07-03 16:09:35 +00:00
Manna Harbour 65f8da3034 [Keymap] Update Miryoku (#13307)
Fix reddit link

Duplicate open parenthesis next to close parenthesis on NSSL

Add customisation instructions

Add lily58

Add gergo
Co-authored-by: Jonathan Dayton <jonathandayton23@gmail.com>

Clean up LAYOUT macro formatting

Add alternative vi-style navigation layout

Add kyria

Add minidox

Change order of keyboards

Add iris

Expand TOC

Re-order userspace subheadings

Add atreus

Add customisation section

Add split_3x5_3 and split_3x6_3 layouts

Add for_science

Fix wrong paths in keyboard config.h and keymap.c headings

Fix keyboard ordering

Fix blank lines around headings

Add compatibility with new org-mode version.

Remove keyboards/crkbd now covered by layouts/split_3x6_3

Add Halmak

Alphabetise alternative alpha arrangements

Move build options out of base layer alphas headings

Add list of keyboards supporting split_3x5_3 layout

Enable Auto Shift and Retro Shift

Add Retro Shift (Auto Shift for Tap Hold via Retro Tapping)

Change kyria thumb key mapping

Add planck_mit layout

Remove alternative bottom row support from ortho_4x12

Remove minidox
 - Covered by split_3x5_3 layout

Add moonlander

Remove KC_ macros

Add 60_ansi layout

Add ortho_5x15 layout
Closes manna-harbour/qmk_firmware#5
Co-authored-by: Rob <rob@debank.tv>

Fix typo (manna-harbour/qmk_firmware#7)
Author: sonnius <sonnius@users.noreply.github.com>

Add redox_w (manna-harbour/qmk_firmware#8)
Author: Brian Romanko <hello@bromanko.com>
Co-authored-by: Manna Harbour <51143715+manna-harbour@users.noreply.github.com>

Add AUTO_SHIFT_NO_SETUP to reduce firmware size

Update image paths

Add instructions to checkout development branch

Add kyria extended thumbs option, change default, add KLE

Change clipboard keys
 - Change order to be mirror of windows bindings
 - Change default to use CUA bindings for Cut, Copy, and Paste, and Fun Cluster
bindings for Undo and Redo
 - Add alternative bindings
   - Fun Cluster (original miryoku bindings)
   - Mac
   - Windows
 - Change prefix for local macros from X_ to U_

Disable Retro Shift, enable Auto Shift for non-alphas

Revert "Add Retro Shift (Auto Shift for Tap Hold via Retro Tapping)"

Add Experimental Features section

Update miryoku image link

Update cover image link

Add dactyl_manuform/4x5

Add cutomisation examples

Add https to remote example

Fix dactyl_manuform/4x5 subset mapping

Add extended thumbs to ortho_4x12

Update Colemak Mod-DH naming
Closes manna-harbour/qmk_firmware#13

Add dactyl_manuform/5x6
Resolves manna-harbour/qmk_firmware#14
Co-authored-by: Sebastian Morales <sebastian.moralesd@gmail.com>

Add note on FORCE_LAYOUT
 - Needed to use EXTENDED_THUMBS on planck

Add parent directories to keyboard headings and re-order

Add keyboardio/atreus
Resolves manna-harbour/qmk_firmware#15

Add torn
Resolves manna-harbour/qmk_firmware#16
Author: Brian Romanko <hello@bromanko.com>
Co-authored-by: Manna Harbour <51143715+manna-harbour@users.noreply.github.com>

Change map to zip
 - Adds support for python3, still compatible with python2.
Resolves manna-harbour/qmk_firmware#10
Resolves manna-harbour/qmk_firmware#19
Co-authored-by: Ori <ori@oribarbut.com>

Add python-version

Add sofle

Add ergotravel

Add ortho_5x12

Add ortho_4x10

Add :main no header argument to C code blocks
resolves manna-harbour/qmk_firmware#11
resolves manna-harbour/qmk_firmware#12
Co-authored-by: RubioJr9 <u0893472@utah.edu>

Add flipped layers and inverted-T nav alternative layouts
 - Separate tap_table into alphas_table and thumbs_table
 - Add mode argument to table-layout-half
 - Remove layer_name
 - Rename layers
 - Add mods and clipboard to MBO and mirror
 - Add MIRYOKU_LAYERS=FLIP
 - Add MIRYOKU_NAV=INVERTEDT

Add layer diagrams

Update contact section

Update links for Bilateral Combinations and Retro Shift

Add description and no reverse angle option to 60_ansi layout

Update list of keyboards supporting community layouts
 - and example build command lines

Change moonlander thumb keys

Update list of keyboards supporting split_3x5_3

Add license to tangled C source files
2021-07-03 09:09:02 -07:00
QMK Bot 6b59220097 Merge remote-tracking branch 'origin/master' into develop 2021-07-03 16:05:07 +00:00
yfuku 3b1506b741 [Keyboard] Add wings42 keyboard (#12734)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-03 09:04:30 -07:00
QMK Bot a39c445c26 Merge remote-tracking branch 'origin/master' into develop 2021-07-03 15:18:57 +00:00
Faehriss bec74aec1b [Keyboard] Added LAYOUT_60_iso_split_rshift to ok60 (#12902)
added lines to support split right shift ISO in QMK configurator.
2021-07-03 08:18:21 -07:00
QMK Bot c82e0d64a2 Merge remote-tracking branch 'origin/master' into develop 2021-07-03 15:14:07 +00:00
Jonavin 002d90b357 [Keymap] Jonavin merc additional encoder functionality (#13039)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Jonavin <=>
2021-07-03 08:13:41 -07:00
QMK Bot 19daf3da23 Merge remote-tracking branch 'origin/master' into develop 2021-07-03 15:03:31 +00:00
Xelus22 4b6af0a507 [Bug] Pachi RGB - fix rgb placement (#13428) 2021-07-03 08:02:54 -07:00
Gigahawk 6ac037aa3c AW20216 use register increment for framebuffer flushes (#13430) 2021-07-03 08:01:23 -07:00
Drashna Jaelre 0b22783c64 Improve 'show_build_options' target (#13425)
* Improve 'show_build_options' target

* Align the output to maximize readibility
* Add Bootloader to listed output

* Also alighn build options

Thanks mtei!
2021-07-03 07:43:49 -07:00
QMK Bot 4459f91dc2 Merge remote-tracking branch 'origin/master' into develop 2021-07-03 08:37:05 +00:00
Jonavin d068b7c097 [Keymap] gmmk pro keymap with numpad, enhanced encoder functionality and Win key lock (#13406)
Co-authored-by: Jonavin <=>
2021-07-03 01:36:38 -07:00
QMK Bot 4f0a7e4364 Merge remote-tracking branch 'origin/master' into develop 2021-07-03 08:16:45 +00:00
Jonavin 5878e86c8a [Keymap] Jonavin quefrency keymap add encoder functionality + 2tap Shift CAPSLOCK (#13376)
Co-authored-by: Jonavin <=>
2021-07-03 01:16:16 -07:00
QMK Bot 8465d28d0f Merge remote-tracking branch 'origin/master' into develop 2021-07-03 08:07:02 +00:00
Albert Y fdf71f1aa7 [Docs] RGB Matrix Caps Lock and Layer indicator example (#13367)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: filterpaper <filterpaper@localhost>
2021-07-03 01:07:01 -07:00
stanrc85 4b285d3f50 [Keymap] Add stanrc85 community layout (#13338) 2021-07-03 01:06:21 -07:00
QMK Bot b45b9ed536 Merge remote-tracking branch 'origin/master' into develop 2021-07-03 08:01:00 +00:00
Nick Abe 2ccca64514 [Keymap] 2Moons-JP Keymap Update (#13279)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-03 01:00:34 -07:00
QMK Bot 4ba56d7219 Merge remote-tracking branch 'origin/master' into develop 2021-07-03 07:59:58 +00:00
rate 0339467814 [Keyboard] Added pistachio rev2 (#13248)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-03 00:59:52 -07:00
Nic Lake 7f41c5147b [Keymap] niclake - Keymap updates - Boardwalk updates & DZ60 create (#13245) 2021-07-03 00:59:30 -07:00
QMK Bot 15bcae710e Merge remote-tracking branch 'origin/master' into develop 2021-07-03 07:58:41 +00:00
Rob Owens c55bb3d478 [Keyboard] Add support for Idobao Montex (#13214)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-03 00:58:13 -07:00
QMK Bot 3824651f3b Merge remote-tracking branch 'origin/master' into develop 2021-07-03 07:57:54 +00:00
Koichi Katano 9d61043363 [Keyboard] Add Bakeneko65 V3 and revision folders (#13228) 2021-07-03 00:57:50 -07:00
X-Bows Tech 2af5d493e3 [Keyboard] Add X-Bows Knight_Plus Keyboard (#13221)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-03 00:57:27 -07:00
SergioPoverony ca4536e492 [Keyboard] Add Creator Pro by SergioPoverony (#13154)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-03 00:55:39 -07:00
QMK Bot eea89cc636 Merge remote-tracking branch 'origin/master' into develop 2021-07-03 07:51:01 +00:00
Thomas Weißschuh b5c361542e mousekey: expose current report to users (#13069) 2021-07-03 00:50:47 -07:00
Manassarn "Noom" Manoonchai 45dec4911c [Keymap] Add narze lily58 keymap & update my other keymaps (#13110)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-03 00:50:32 -07:00
Drashna Jaelre 3ab805fc67 Add support for NO_PIN to all matrix types (#12238)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-07-03 00:20:11 -07:00
Drashna Jaelre 8da8aabbe5 Improve layer mask handling (#13065) 2021-07-03 00:19:52 -07:00
fauxpark 03807c2c6e Merge remote-tracking branch 'upstream/master' into develop 2021-07-03 16:38:05 +10:00
Ryan 06e0643541 Add "Ctrl+C to cancel" to "waiting for bootloader" messages (#13424) 2021-07-03 16:34:22 +10:00
Qiaowei Tang (Joel) 2ce8d26418 [Keymap] Think6.5v2 keymap with working caps-lock indicator (#12709)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-02 23:31:32 -07:00
David Rambo 170de06475 [Keymap] Update personal keymaps, add Corne keymap, and update non-kc LAYOUT for Iris (#12273)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-02 22:30:32 -07:00
team0110 7629b7f52a [Keyboard] Relocalize and Update p1800fl (#12425)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: marhalloweenvt <marhalloweenvt@gmail.com>
Co-authored-by: Drashna Jael're <drashna@live.com>
2021-07-02 21:46:28 -07:00
Dino Fizzotti f51d929bd9 [Keyboard] Add FnRow v1 keyboard by dinofizz (#11817)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Dino Fizzotti <dinofizz@pop-os.localdomain>
2021-07-02 20:56:23 -07:00
William Ehman ad30218701 [Keyboard] manyboard macro (#11896)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-02 20:53:13 -07:00
Stefan Kerkmann 04bc74d8f5 Switch split_common to CRC subsystem (#13418) 2021-07-02 22:28:32 +01:00
Conor Burns 8bba77db0d added 0xCB Static (#13047)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-07-02 19:38:53 +01:00
James Young 11a406f046 correct info.json data (#13409) 2021-07-02 14:12:05 +01:00
James Young 73dedb96f2 add maintainer value to info.json (#13411)
Configurator isn't using the data in this file, and I think this may be why...
2021-07-02 14:09:24 +01:00
QMK Bot 638373a16c Merge remote-tracking branch 'origin/master' into develop 2021-07-02 13:01:28 +00:00
Joel Challis 9f49ec51a1 Fix up recent checkerboards additions (#13414) 2021-07-02 14:00:55 +01:00
QMK Bot abe8b080bf Merge remote-tracking branch 'origin/master' into develop 2021-07-02 06:21:57 +00:00
Xelus22 a8f6a36e1e [Bug] fix Dystopia.h comma (#13413) 2021-07-02 16:21:27 +10:00
QMK Bot 371d3bfbdd Merge remote-tracking branch 'origin/master' into develop 2021-07-02 06:09:01 +00:00
Ryan b721e054a2 Add rgblight to RGB Matrix VPATH (#13371) 2021-07-02 16:08:45 +10:00
Ryan 5046883531 Cleanup gitignore (#13390) 2021-07-02 16:08:34 +10:00
QMK Bot 348750294b Merge remote-tracking branch 'origin/master' into develop 2021-07-02 00:46:10 +00:00
npspears 6db4b49fec add support for Axon40 and G_IDB60 (#13075)
* add support for Axon40

* add support for G_IDB60

* added bootloader reset instructions

* added bootloader reset instructions
2021-07-02 10:45:31 +10:00
Stefan Kerkmann 117bff17ba [Core] Unite half-duplex and full-duplex serial drivers (#13081)
* Unite half-duplex and full-duplex serial driver.

* Add full duplex operation mode to the interrupt based driver
* Delete DMA UART based full duplex driver
* The new driver targets #11930

* Fix freezes with failing transactions in half-duplex

* Increase default serial TX/RX buffer size to 128 bytes

* Correctly use bool instead of size_t

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-07-02 08:24:08 +10:00
QMK Bot 47b12470e7 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 19:39:55 +00:00
Danny db7fd6c3a1 Add missing Quefrency layouts for QMK Configurator (#13384)
* Reformat info.json using Prettier

* Add missing layouts needed for QMK Configurators
2021-07-01 12:39:16 -07:00
QMK Bot 8f018c2863 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 19:17:58 +00:00
AfterThought 79a46708f8 [Keyboard] Adding Via support to the GON NerD60 (#13395) 2021-07-01 12:17:28 -07:00
QMK Bot 0b7936c4e8 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 17:12:52 +00:00
Jakob Hærvig bef73f44aa [Keymap] Add haervig userspace and keymaps (#13362) 2021-07-01 10:12:19 -07:00
Drashna Jaelre 0bde920817 Convert Dip Switch callbacks to boolean functions (#13399) 2021-07-01 08:22:21 -07:00
QMK Bot 8f78be076d Merge remote-tracking branch 'origin/master' into develop 2021-07-01 10:48:20 +00:00
Caleb Lightfoot c275828ac2 Changed Yeehaw Default Keymap (#13341) 2021-07-01 20:47:43 +10:00
QMK Bot b6348ffffd Merge remote-tracking branch 'origin/master' into develop 2021-07-01 09:23:16 +00:00
umi 57d9f01125 [Docs] update Japanese translation of other_eclipse.md (#12776)
* update other_eclipse.md translation

* update based on comment

* update based on comment
2021-07-01 18:22:48 +09:00
QMK Bot 2bf8671293 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 09:22:38 +00:00
umi a1582c4411 update Japanese translation of config_options.md (#12695)
* update config_options.md translation

* update config_options.md translation

* update based on comment

* update based on comment
2021-07-01 18:22:10 +09:00
QMK Bot b22fc58f25 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 09:21:48 +00:00
s-show 397d388862 Translated 'feature_advanced_keycodes.md'. (#12454)
* Translated 'feature_advanced_keycodes.md'.

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/feature_advanced_keycodes.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* update based on comment.

* update based on comment.

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* update based on comment.

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

* update based on comment.

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

Co-authored-by: shela <shelaf@users.noreply.github.com>
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
2021-07-01 18:21:37 +09:00
s-show 882b90b729 [Docs] Japanese translation of docs/keycodes_basic.md (#11044)
* 'keycodes_basic.md' copied.

* Translation completed.

* update to "breakpoint_2021_05_29".

* Update docs/ja/keycodes_basic.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/keycodes_basic.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/keycodes_basic.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/keycodes_basic.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/keycodes_basic.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* update based on comment.

* update based on comment.

Co-authored-by: shela <shelaf@users.noreply.github.com>
2021-07-01 18:21:03 +09:00
QMK Bot 5ca893bd55 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 08:24:38 +00:00
James Young e322462cd4 Illusion Rosa: correct layout macro names (#13387) 2021-07-01 01:24:06 -07:00
QMK Bot 70b1d7e459 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 08:23:37 +00:00
James Young a001df5e80 FJLabs Midway60: physically arrange layout macro and fix info.json data (#13386) 2021-07-01 01:23:33 -07:00
James Young 1e809e28b7 Sanctified Dystopia: physically arrange layout macro (#13385)
Arranges the layout macro and keycodes to resemble the assembled keyboard.
2021-07-01 01:23:00 -07:00
QMK Bot dddefa2fd7 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 08:22:19 +00:00
Stefano Pace c1813717a7 Updates for keymap: ut472/stefanopace (#13370) 2021-07-01 01:21:42 -07:00
QMK Bot 7fdb95af36 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 08:08:12 +00:00
Michael Stapelberg 2b8ad391ae [Keyboard] update debounce time on kint boards (#13351)
related to https://github.com/kinx-project/kint/issues/39
related to https://github.com/qmk/qmk_firmware/pull/12626
2021-07-01 01:07:37 -07:00
QMK Bot af13b7bf05 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 08:06:43 +00:00
stanrc85 fb405c27ad [Keymap] RGB Timeout added to userspace (#13339) 2021-07-01 01:06:06 -07:00
QMK Bot 896f11b2bd Merge remote-tracking branch 'origin/master' into develop 2021-07-01 07:54:37 +00:00
kb-elmo 13533508e2 [Keyboard][Bug] Fix LED indicators on Skeletn87 (#13335) 2021-07-01 00:53:35 -07:00
QMK Bot 425c0dad01 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 07:45:16 +00:00
Harshit Goel 4168e10c49 [Keyboard] Pteron36, open source 3x5_3 supporting layout (#13313) 2021-07-01 00:44:38 -07:00
QMK Bot 29228e5b78 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 07:42:50 +00:00
Drashna Jaelre b7cf9a888a Drashna's split updates (#13350)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-01 00:42:32 -07:00
Jesper Nellemann Jakobsen 54f429edd8 [Keymap] Create bingocaller keymap for DZ60RGB-ANSI (#13311)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-01 00:42:10 -07:00
QMK Bot bbe45185e3 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 07:30:05 +00:00
Shandon Anderson d8c491954e [Keyboard] Added flygone60 rev3 (#13280)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2021-07-01 00:29:30 -07:00
QMK Bot 2b7172cbff Merge remote-tracking branch 'origin/master' into develop 2021-07-01 07:13:28 +00:00
melonbred cd68fd7e8d [Keyboard] mb44 - Update info.json and encoder (#13244) 2021-07-01 00:12:53 -07:00
QMK Bot 8b2e5d622c Merge remote-tracking branch 'origin/master' into develop 2021-07-01 06:42:24 +00:00
Ryan dc3896e31c Cleanup junk chars, part 4 (#13345) 2021-07-01 16:41:51 +10:00
Ryan 44260c3414 Remove API_SYSEX_ENABLEs from rules.mk (#13389) 2021-06-30 23:30:42 -07:00
QMK Bot 70cc5809f9 Merge remote-tracking branch 'origin/master' into develop 2021-07-01 05:05:13 +00:00
Takeshi ISHII 8c982dba31 [Update] Change Original TAGs of Japanese translations (#13396)
* Updated docs/ja/how_a_matrix_works.md original tag.

* Updated docs/ja/api_overview.md original tag.

* Updated docs/ja/contributing.md original tag

* Updated docs/ja/coding_conventions_c.md original tag

* Updated docs/ja/reference_configurator_support.md original tag

* Updated docs/ja/reference_glossary.md original tag

* Updated docs/ja/api_docs.md original tag

* Updated docs/ja/feature_stenography.md original tag

* Updated docs/ja/documentation_templates.md original tag

* Updated docs/ja/faq_keymap.md original tag

* Updated docs/ja/understanding_qmk.md original tag
2021-07-01 14:04:38 +09:00
Nick Brassel 8bb231aa1c Adds support for STM32L412xB, STM32L422xB. (#13383)
* Adds support for STM32L412xB, STM32L422xB.

* Add to list of supported MCUs.

* Disable SPI1 by default.
2021-06-30 10:07:40 +10:00
QMK Bot 8596504361 Merge remote-tracking branch 'origin/master' into develop 2021-06-29 23:31:17 +00:00
James Young 27d1e2909f Ergocheap handwired Layout Macro refactor (#13348)
* physically arrange layout macro

Arranges the layout macro and keycodes to resemble the assembled keyboard.

* update info.json data
2021-06-29 16:30:48 -07:00
Michael Stapelberg f533d9e033 add kinT kinesis keyboard controller (kint41 variant) (#13333)
fixes https://github.com/kinx-project/kint/issues/5
2021-06-30 08:54:45 +10:00
QMK Bot 76ed98c51d Merge remote-tracking branch 'origin/master' into develop 2021-06-29 22:37:42 +00:00
jackytrabbit 2a07a87a7c Update lazydesigners/the40/the40.h (#13354)
Fix error in the40.h
2021-06-30 08:37:08 +10:00
Ryan 653082235a Relocate RGB/HSV color defs to a more fitting place (#13377) 2021-06-29 19:15:58 +01:00
QMK Bot 1e2378fe7f Merge remote-tracking branch 'origin/master' into develop 2021-06-29 17:19:42 +00:00
nopunin10did 93e3e777d6 Jabberwocky quick fixes (#13369)
* cleaning up

* deleting to undelete

* Stub out defaults

* Jabberwocky firmware WIP

* Stubbing out keymap spacing

* Default keymap and layout updates

* start stubbing out JSON for configurator

* more WIP

* Update jabberwocky.h

* Add Readme

* Apply suggestions from code review

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

* Fix layout capitalization

* Updates to personal and default keymaps

* Add instructions for jumping the bootloader

* Update keyboards/nopunin10did/jabberwocky/rules.mk

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

* Add easier ctrl-alt-del to my keymap

* Undo changes from other master

* Add back DYNAMIC_KEYMAP_LAYER_COUNT constant

* Fix readme markup to use list items

* Give my layout VIA compatibility

Co-authored-by: Rossman360 <rmontsinger@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-29 18:19:02 +01:00
QMK Bot 888cec0290 Merge remote-tracking branch 'origin/master' into develop 2021-06-29 03:39:53 +00:00
Danny 5538bffb8e [Keyboard] Add Quefrency Rev. 4 (#13368) 2021-06-28 20:38:59 -07:00
QMK Bot 8b919aa5d6 Merge remote-tracking branch 'origin/master' into develop 2021-06-29 03:31:16 +00:00
Xelus22 de8939aa5e [Keyboard] fix encoder void to bool (#13334) 2021-06-28 20:30:39 -07:00
QMK Bot 3f813f87cd Merge remote-tracking branch 'origin/master' into develop 2021-06-29 03:25:00 +00:00
James Young 2b2e8bfdb7 Swiftrax Nodu handwired: layout macro sequence fix (#13329) 2021-06-28 20:24:26 -07:00
QMK Bot 8080bc17d0 Merge remote-tracking branch 'origin/master' into develop 2021-06-29 01:55:05 +00:00
Xelus22 e475c5bf38 [Bug] Missing empty line at the end of file (#13374) 2021-06-29 11:54:32 +10:00
QMK Bot 2665b4e487 Merge remote-tracking branch 'origin/master' into develop 2021-06-28 17:32:05 +00:00
James Young f7faa7bfd0 FJLabs BKS65 Solder Layout Macro Refactor (#13347)
* grid align layout macro and keymaps

* physically arrange layout macro, phase 1

* physically arrange layout macro, phase 2

* replace KC_PAUSE with KC_PAUS

Makes the grid alignment nice. :)

* rename LAYOUT_65_ansi to LAYOUT_all

The included layout macro isn't actually correct for QMK's 65% ANSI community layout.

* add an actual LAYOUT_65_ansi

This is a semi-educated guess as to this macro; it may be wrong.
2021-06-28 10:30:52 -07:00
Ryan cb23fe9fc1 Move RGBLight code into its own folder (#13312) 2021-06-28 15:15:24 +10:00
QMK Bot 5a5015594f Merge remote-tracking branch 'origin/master' into develop 2021-06-27 03:22:31 +00:00
Ryan 53ace430fe Doctor: print CLI version (#13356) 2021-06-27 13:21:53 +10:00
Joakim Tufvegren ed56fc7da1 Fix building layouts from JSON (#13310)
Broken by #12632.
2021-06-27 12:52:38 +10:00
QMK Bot 023b85db96 Merge remote-tracking branch 'origin/master' into develop 2021-06-26 19:08:13 +00:00
Ryan cbe761ea16 Exent cleanup (#13353) 2021-06-27 05:07:44 +10:00
Ryan bbe43a91eb CLI: Add subcommand to generate version.h (#13151) 2021-06-27 02:29:02 +10:00
Zach White 546f5f2c4f Error log cleanup (#13349)
* error log cleanup: 40percentclub/25

40percentclub/25: Claims to support a community layout that does not exist: ortho_5x5

* error log cleanup: 40percentclub/4x4

☒ 40percentclub/4x4: Claims to support a community layout that does not exist: ortho_4x8
☒ 40percentclub/4x4: Claims to support a community layout that does not exist: ortho_4x16

* error log cleanup: 40percentclub/5x5

☒ 40percentclub/5x5: Claims to support a community layout that does not exist: ortho_5x5

* error log cleanup: 40percentclub/nori

☒ 40percentclub/nori: Claims to support a community layout that does not exist: ortho_4x8

* error log cleanup: barracuda

☒ barracuda: Claims to support a community layout that does not exist: ortho_3x11

* error log cleanup: bpiphany/frosty_flake

☒ keyboards/bpiphany/frosty_flake/frosty_flake.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available!

* error log cleanup: bpiphany/pegasushoof/2013

☒ keyboards/bpiphany/pegasushoof/2013/2013.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available!

* error cleanup: bpiphany/pegasushoof/2015

☒ keyboards/bpiphany/pegasushoof/2015/2015.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available!
☒ keyboards/bpiphany/pegasushoof/2015/2015.h: LAYOUT_tkl_iso: Nested layout macro detected. Matrix data not available!

* error log cleanup: 40percentclub

☒ 40percentclub/25: Claims to support a community layout that does not exist: ortho_5x10
☒ 40percentclub/5x5: Claims to support a community layout that does not exist: ortho_5x10

* error cleanup: converter/usb_usb

☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available!

* error cleanup: ergo42

☒ ergo42/rev1: Claims to support a community layout that does not exist: ortho_4x14

* error cleanup: handwired/412_64

☒ handwired/412_64: Claims to support a community layout that does not exist: ortho_4x16

* error log cleanup: handwired/tritium_numpad
☒ handwired/tritium_numpad: Claims to support a community layout that does not exist: nontra_6x4

* error log cleanup: handwired/xealous/rev1
☒ handwired/xealous/rev1: Claims to support a community layout that does not exist: split60

* error log cleanup: kbdfans/kbd67/rev2

⚠ kbdfans/kbd67/rev2: info.json uses alias name LAYOUT_65_ansi_blocker_splitbs instead of LAYOUT_65_ansi_blocker_split_bs

* error cleanup: keebio/nyquist

☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available!
☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available!
☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available!

* error cleanup: kindakeyboards/conone65

☒ kindakeyboards/conone65: Claims to support a community layout that does not exist: 65_iso_split_bs

* error cleanup: latinpadble

☒ latinpadble: Claims to support a community layout that does not exist: pad

* error cleanup: masterworks/classy_tkl/rev_a

☒ masterworks/classy_tkl/rev_a: Claims to support a community layout that does not exist: tkl_ansi_wkl

* error cleanup: meira

⚠ meira/featherble: info.json uses alias name LAYOUT_ortho_4x12 instead of LAYOUT
⚠ meira/promicro: info.json uses alias name LAYOUT_ortho_4x12 instead of LAYOUT

* error cleanup: nopunin10did/jabberwocky

⚠ nopunin10did/jabberwocky: MANUFACTURER in config.h is overwriting manufacturer in info.json

* error cleanup: ok60

☒ ok60: Claims to support a community layout that does not exist: 60_ansi_split_bksp_rshift

* error cleanup: ok60

☒ ok60: Claims to support a community layout that does not exist: 60_ansi_split_bksp_rshift

* error cleanup: planck

☒ keyboards/planck/ez/ez.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available!
☒ keyboards/planck/ez/ez.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available!
⚠ planck/thk: DEBOUNCE in config.h is overwriting debounce in info.json
⚠ planck/thk: DEVICE_VER in config.h is overwriting usb.device_ver in info.json
⚠ planck/thk: DIODE_DIRECTION in config.h is overwriting diode_direction in info.json
⚠ planck/thk: MANUFACTURER in config.h is overwriting manufacturer in info.json
⚠ planck/thk: PRODUCT_ID in config.h is overwriting usb.pid in info.json
⚠ planck/thk: VENDOR_ID in config.h is overwriting usb.vid in info.json
⚠ planck/thk: QMK_ESC_OUTPUT in config.h is overwriting qmk_lufa_bootloader.esc_output in info.json
⚠ planck/thk: QMK_ESC_INPUT in config.h is overwriting qmk_lufa_bootloader.esc_input in info.json
⚠ planck/thk: QMK_LED in config.h is overwriting qmk_lufa_bootloader.led in info.json
⚠ planck/thk: QMK_SPEAKER in config.h is overwriting qmk_lufa_bootloader.speaker in info.json
⚠ planck/thk: Matrix pins are specified in both info.json and config.h, the config.h values win.
⚠ planck/thk: LAYOUTS in rules.mk is overwriting community_layouts in info.json
⚠ planck/thk: Feature mousekey is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature extrakey is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature console is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature command is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature sleep_led is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature nkro is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature backlight is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature rgblight is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature bluetooth is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature audio is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature encoder is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature dip_switch is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature bootmagic_lite is specified in both info.json and rules.mk, the rules.mk value wins.

* error cleanup: primekb/prime_m

☒ primekb/prime_m: Claims to support a community layout that does not exist: ortho_5x6

* error cleanup: rgbkb/sol/rev2

⚠ rgbkb/sol/rev2: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: '(BACKLIGHT_LEDS + FULLHAND_LEDS)'

* error log cleanup: shk9

☒ shk9: Claims to support a community layout that does not exist: ortho_3x3

* error log cleanup: sowbug

⚠ sowbug/68keys: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: 'DRIVER_LED_TOTAL'
⚠ sowbug/ansi_tkl: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: '(DRIVER_LED_TOTAL)'

* error log cleanup: torn

☒ torn: Claims to support a community layout that does not exist: split_3x6_4

* error cleanup: ymdk/np24/u4rgb6

☒ ymdk/np24/u4rgb6: Claims to support a community layout that does not exist: ortho_4x6

* error cleanup: masterworks/classy_tkl/rev_a

☒ masterworks/classy_tkl/rev_a: Claims to support a community layout that does not exist: tkl_iso_wkl
2021-06-26 08:38:14 -07:00
QMK Bot 5489c47a27 Merge remote-tracking branch 'origin/master' into develop 2021-06-26 10:49:16 +00:00
Joel Challis c232882fda Allow configuration of USB_VBUS_PIN on chibios (#13342) 2021-06-26 11:48:48 +01:00
QMK Bot 298b383126 Merge remote-tracking branch 'origin/master' into develop 2021-06-26 05:48:19 +00:00
Zach White 848da57d6e do not automatically format json (#13320) 2021-06-25 22:47:48 -07:00
Dasky cd30861394 Fix CRC for AVR and enable again. (#13253) 2021-06-25 22:26:19 -07:00
XScorpion2 8b059088ba Keyboards/RGBKB/Mün (#13239) 2021-06-25 22:00:21 -07:00
QMK Bot f8c01a8e5a Merge remote-tracking branch 'origin/master' into develop 2021-06-26 04:42:38 +00:00
yiancar ad3169f500 [Keyboard] Add NK1 (#13212)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: yiancar <yiancar@gmail.com>
2021-06-25 21:42:09 -07:00
QMK Bot 580999661f Merge remote-tracking branch 'origin/master' into develop 2021-06-26 04:28:08 +00:00
James Young b1ea4842e3 FFKeebs Siris Configurator Layout Correction (#13328)
* physically arrange layout macro

Arranges the layout macro and keycodes to resemble the assembled keyboard.

* correct info.json data

Corrects the key sequence and positioning in info.json.
2021-06-25 21:27:37 -07:00
QMK Bot 363c11622e Merge remote-tracking branch 'origin/master' into develop 2021-06-26 04:13:03 +00:00
Gvalch-ca 234c129f1e [Keyboard] Add Gvalchca GA15.0 (#13114)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-25 21:12:36 -07:00
QMK Bot c19a221719 Merge remote-tracking branch 'origin/master' into develop 2021-06-26 04:07:05 +00:00
Xelus22 8783d0c73d [Keyboard] Enable RGB Matrix VIA side for Pachi RGB (#13308) 2021-06-25 21:06:36 -07:00
QMK Bot e64705d2f4 Merge remote-tracking branch 'origin/master' into develop 2021-06-26 03:58:15 +00:00
Drashna Jaelre 79cc6ce2d0 [Keyboard] Bugfixes and Readme additions for PloopyCo devices (#13043) 2021-06-25 20:57:48 -07:00
QMK Bot d6592d8988 Merge remote-tracking branch 'origin/master' into develop 2021-06-26 03:57:18 +00:00
James Young 6ef0419bb0 SENDYYeah Bevi: correct Configurator layout data (#13327) 2021-06-25 20:56:46 -07:00
QMK Bot 259b8d355e Merge remote-tracking branch 'origin/master' into develop 2021-06-26 03:31:19 +00:00
James Young 7770a491f6 Nix Studio Oxalys80 Configurator Layout Data Correction (#13326)
* apply human-friendly formatting to info.json

* correct LAYOUT_all data

Corrects the layout data for the LAYOUT_all macro.
2021-06-25 20:30:48 -07:00
QMK Bot 5adb288bb3 Merge remote-tracking branch 'origin/master' into develop 2021-06-26 03:25:18 +00:00
James Young 03791ed92a Draytronics Daisy Configurator Refactor (#13325)
* correct layout data

* use LAYOUT as layout macro name

The defined LAYOUT_daisy is functional, but Configurator expects LAYOUT through the info.json file. As the board only supports one layout according to the open-source PCB files, use LAYOUT as the defined macro per QMK guidelines.

* add layout macro alias
2021-06-25 20:24:42 -07:00
QMK Bot 5ba9f43590 Merge remote-tracking branch 'origin/master' into develop 2021-06-26 01:53:46 +00:00
James Young 39b1dc7672 GON Nerd60 Refactor (#13343) 2021-06-26 11:53:16 +10:00
QMK Bot 9337aab038 Merge remote-tracking branch 'origin/master' into develop 2021-06-26 01:39:01 +00:00
Ryan 93bd34c6d3 Cleanup junk chars, part 3 (#13332) 2021-06-26 02:38:21 +01:00
QMK Bot 0ef0c03a46 Merge remote-tracking branch 'origin/master' into develop 2021-06-25 03:52:10 +00:00
Ryan 92a9fba353 Cleanup junk chars, part 2 (#13284) 2021-06-25 13:51:44 +10:00
Zach White b908275354 Optimize our jsonschema by using refs (#13271)
* fix some broken info.json files

* optimize our jsonschema using refs

* fix formatting after vscode broke it

* make flake8 happy

* cleanup

* make our schema validation more compact and flexible
2021-06-24 20:48:53 -07:00
QMK Bot 9d4412cb8b Merge remote-tracking branch 'origin/master' into develop 2021-06-25 03:32:21 +00:00
Zach White 7c2bd4dd88 add doctor to safe_commands (#13324) 2021-06-24 20:31:46 -07:00
QMK Bot 0412c92b68 Merge remote-tracking branch 'origin/master' into develop 2021-06-24 23:15:36 +00:00
Nathan_Blais 61ec0023c4 Bop added via & unicode support (#13122)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-25 09:15:04 +10:00
QMK Bot e8d1c0e300 Merge remote-tracking branch 'origin/master' into develop 2021-06-24 14:59:59 +00:00
shela ca2259d986 Update Japanese document (#10673) 2021-06-24 23:59:30 +09:00
QMK Bot ae5755d27a Merge remote-tracking branch 'origin/master' into develop 2021-06-24 12:55:22 +00:00
shela a53128e958 [Docs] Update Japanese faq documents (#12842)
* Update Japanese faq documents.

* Update Japanese summary.

* Update docs/ja/faq_debug.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Update docs/ja/faq_misc.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Apply suggestions from code review

Co-authored-by: s-show <s1shimz@gmail.com>
2021-06-24 21:54:54 +09:00
QMK Bot 3d7e062baa Merge remote-tracking branch 'origin/master' into develop 2021-06-24 12:54:22 +00:00
shela a726ada59b Update Japanese newbs_getting_started.md (#12841) 2021-06-24 21:53:47 +09:00
QMK Bot 6418c1fde9 Merge remote-tracking branch 'origin/master' into develop 2021-06-24 04:34:20 +00:00
James Young 36d8d7df5a SAM SG81M Layout Macro Rework (#13291)
* grid-align layout macro and keymaps

* physically align layout macro and keycodes

Arrange the layout macro and keycodes to resemble the assembled keyboard.

* update info.json data

Updates the info.json data to be correct to the new layout macro.
2021-06-23 21:33:47 -07:00
QMK Bot 8d87bfd46a Merge remote-tracking branch 'origin/master' into develop 2021-06-24 03:36:07 +00:00
Zach White 42f4528a45 expand the size of the textpad to allow for taller keyboards (#13319) 2021-06-23 20:35:36 -07:00
QMK Bot 9b65154e58 Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:55:14 +00:00
Will Wolff-Myren 2d60444df1 [Keymap] gmmk/pro: willwm (#12952)
* Create willwm keymap:
Modified GMMK Pro Default + VIA + Space-Cadet Unicode

* Temporarily remove unicode map calls; try using UNICODE_ENABLE instead

* RGBLIGHT_ENABLE = yes

* ...on second thought, don't enable RGBLIGHT =P

* Move Del to PrtSc, add Home, move PrtSc to Fn+Home

* willwm: Add keymap.json and readme.md

* willwm: Add layer0/layer1 images

* willwm: Update readme.md with info from PR #12952

* willwm: Update to better match template
(https://docs.qmk.fm/#/documentation_templates)
2021-06-24 12:54:44 +10:00
Michael Stapelberg 143ded332d kint36: set correct EEPROM size (#12946)
The Teensy 3.6 comes with 4096 bytes of EEPROM.

This is commit 1 of 2 to make the EEPROM work.
The next commit changes the core code to wire up the EEPROM.
2021-06-24 12:54:18 +10:00
QMK Bot c6d5049fb1 Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:54:06 +00:00
Ramon Imbao 02fcb1069a Add the SquishyTKL and SquishyFRL (#12764)
* Add SquishyTKL

* Add SquishyTKL-FRL

* Adjust readme.md and info.json

* Add JIS support for SquishyTKL

* Fix JIS layout macro

* Fix via layout and keymap

* Migrate SquishyTKL to STM32duino bootloader

* Make chibios conf files generic

* Change TKL via keymap to match number of layers

* Apply chibios changes to FRL as well

* Adjust README regarding flashing with dfu-util

* Add license and header guard
2021-06-24 12:53:38 +10:00
QMK Bot 08b62c5f5a Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:51:44 +00:00
obosob 3cc037d8d8 Add "steal this keyboard" keybaord (#12898) 2021-06-24 12:51:15 +10:00
QMK Bot a7b54d288f Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:49:19 +00:00
kb-elmo 543dca0d89 Added Skeletn87 PCBs (#12922)
* add Skeletn87

* update skeletn87 files

* update skeletn87 soldered

* update readme image

* update readme (again)
2021-06-24 12:48:43 +10:00
QMK Bot 635f32b219 Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:46:37 +00:00
18438880 fc06c143b1 Latin6rgb use IS31FL3731 IC (#11819)
* Create config.h

* Add files via upload

* Create keymap.c

* Create keymap.c

* Create rules.mk

* Update readme.md

* Update keyboards/latin6rgb/rules.mk

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

* Update keyboards/latin6rgb/rules.mk

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

* Update keymap.c

* Update keymap.c

* Update config.h

* Update config.h

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-24 12:46:03 +10:00
QMK Bot b351338558 Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:33:18 +00:00
s-show 344b1b4395 Add ID to "## Advanced Macros". (#12830) 2021-06-24 12:32:51 +10:00
QMK Bot 8024f2683b Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:28:59 +00:00
James Larkby-Lahet b354ce94fe enable mouse keys in handwired/dactyl keymaps that use them (#12586) 2021-06-24 12:28:33 +10:00
QMK Bot ba3c5ec84e Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:27:43 +00:00
James Young fb78447ad6 Monstargear XO87 Solderable Configurator Refactor (#13317) 2021-06-24 12:27:21 +10:00
QMK Bot 53ca79b922 Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:27:20 +00:00
sendmmsg d45a24a954 bug if macro definition and not integer is used to identify layers (#12648) 2021-06-24 12:27:10 +10:00
QMK Bot 7313fee181 Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:26:58 +00:00
James Young 480b7e595e Studio Kestra Nue: fix info.json layout macro reference (#13318)
Corrected the info.json file to reference LAYOUT_all instead of LAYOUT.
2021-06-24 12:26:55 +10:00
gtips 8030f73f44 [Keymap]Add Keymap reviung34rgb (#12656)
* [Keyboard] Add keyboard Reviung41

* Modified files

* deleted keyboards/reviung41/keymaps/default/config.h

* modified keyboards/rebiung41/keymaps/default/keymap.c

* modified keyboards/reviung41/readme.md

* modified keyboards/reviung41/readme.md

* modified keyboards/reviung41/readme.md

* Update readme.md

Change the image photo of readme.md.

* [Keyboard] Add reviung61

* Update readme.md

* fix keyboards/reviung61/ and add keymap default_rgb

* fix keyboards/reviung61/info.json

* fix keyboards/reviung61/info.json

* remove keyboards/reviung61/keymaps/default/config.h

* [keyboard] Fixed readme.md for reviung39 and 61.

* add keymap keyboards/reviung34/keymaps/default_rgb/ ,default_rgb2u
2021-06-24 12:26:31 +10:00
QMK Bot 054f1ccbdf Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:25:25 +00:00
Suryan Isaac 563de365a7 Added a custom keymap for XD60 (#12736)
* Added custom Keymap

* Added Images to README

* Added Layer 1 Keys for RGB control

* Added GPL2+ License to keymap.c

* Removed extra json files and added a few lines to README
2021-06-24 12:24:56 +10:00
QMK Bot 54abf60e04 Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:24:38 +00:00
Antoine R. Dumont f5cecffab2 keymap/ardumont: Fix substitute keycode reset step (#12675)
It so happens that when releasing the control key prior to the main key (C-h, C-i, C-n,
...), the substituted keycode was continuously sent in a loop after that (even when
releasing said key). The workaround so far was to type any other key to stop the loop.

This commit fixes such behavior by resetting the substitution keycode sent when the ctrl
released situation conditional is detected (and that the substitution keycode was on).
2021-06-24 12:24:31 +10:00
Jose Luis Adelantado Torres 5e86a11a8d [keymap] Added new oled_status keymap to nullbitsco/nibble keyboard (#12824)
* Added new oled_status keymap to nullbitsco/nibble keyboard

* rm: Removed font from src imports
2021-06-24 12:24:11 +10:00
QMK Bot 303132fa8d Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:24:08 +00:00
Robert Verst 3099630a11 [Keymap] Feature/extend keymap (#12778)
* Add F13-F24

* Add nvim macros

* Add debug switch

* Switch mode every time, add debug print
2021-06-24 12:23:43 +10:00
QMK Bot 7e7e6d1a02 Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:23:10 +00:00
T.Shinohara dee50c9cc8 [Keymap] fix key code. numpad to numkey (#12808)
* add keyboard new macro pad "Kuro"

* change main readme.md

* remove not used code from default/keymap.c

* Remove unnecessary code

* Supports info.json

* removed back slash and not used functions.

* update at product link. add japanese messages.

* Merge All

* [Shiro]Add MacKeymap

* Change key code. Numpad→Numkey
2021-06-24 12:23:00 +10:00
Jay Greco 0ec6d6daf7 Update oled_bongocat to match VIA keymap (#12875)
* Update to match VIA keymap

* Update with feedback from PR
2021-06-24 12:22:42 +10:00
QMK Bot b69fa51ec3 Merge remote-tracking branch 'origin/master' into develop 2021-06-24 02:22:11 +00:00
Mike Tsao 909d9c228f Switch default layout to standard TKL; add custom (#12818) 2021-06-24 12:22:07 +10:00
Tyler Thrailkill 4a15eb593d snowe keymap/userspace and Ocean Dream animation (#12477)
* Add snowe keymap/userspace & Ocean Dream animation

* Add snowe userspace with keymap wrappers and two animations
* Add crkbd keymap
* Add Ocean Dream animation, a cool full screen animation with:
* * twinkling stars
* * meteor showers
* * ocean waves
* * island with palm tree
* * moon with phases

* Disable Luna so travis build succeeds.

* Add more copyrights

* Add pragma once to keycode_aliases.h

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-24 12:21:40 +10:00
Gigahawk 1ea01765e1 Allow settable SPI divisor for AW20216 driver, set default to 4 (#13309) 2021-06-23 19:57:46 +10:00
QMK Bot 531f34d2a0 Merge remote-tracking branch 'origin/master' into develop 2021-06-23 09:52:39 +00:00
David Hoelscher 6e1ed1c9d3 Optional OLED splash screen and fixed OLED i2c execution time saving (#12294)
* Made OLED splash screen optional to reduce memory and fixed OLED i2c execution time saving

* moved OLED address updates into their respective conditional checks
2021-06-23 19:52:06 +10:00
QMK Bot 38d979189b Merge remote-tracking branch 'origin/master' into develop 2021-06-23 09:45:48 +00:00
Albert Y a913db63aa Fix zero condition of reactive runners that will suspend RGB animation (#12710)
* Avoid zero or overflow from user's rgb_matrix_config.speed

* Avoid zero tick for reactive splash.

* Avoid zero time for animation runner.

Co-authored-by: filterpaper <filterpaper@localhost>
2021-06-23 19:45:05 +10:00
QMK Bot c742d0bde4 Merge remote-tracking branch 'origin/master' into develop 2021-06-23 03:31:18 +00:00
Xelus22 ced7e9a0ce [Keyboard][Bug] Makrosu VIA compile fix encoder and formatting (#13306)
* fix encoder and formatting

* remove redundant breaks

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

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

* Update keyboards/makrosu/keymaps/via/keymap.c

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-22 20:30:42 -07:00
Ryan 4319aca91c Fix linker error when rgblight and RGB Matrix are both enabled (#13304) 2021-06-23 10:53:00 +10:00
QMK Bot 973a006c45 Merge remote-tracking branch 'origin/master' into develop 2021-06-23 00:45:47 +00:00
xyzz 268d0efa7e [Docs] pr_checklist: fix capitalization of Vial (#13301) 2021-06-22 17:45:13 -07:00
Ryan 791363a680 Remove rgblight stubs (#13302) 2021-06-23 10:16:41 +10:00
QMK Bot 540d95125c Merge remote-tracking branch 'origin/master' into develop 2021-06-22 23:34:48 +00:00
Muhammad Rivaldi 4ef2b0f818 adding my custom keypad to qmk repository (#12150)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-06-23 09:34:17 +10:00
QMK Bot 010715877f Merge remote-tracking branch 'origin/master' into develop 2021-06-22 23:33:12 +00:00
James Young 0c5c39c18a Technika: add sample info.json data (#13292)
Adds a placeholder file with sample data, as the layout hasn't been published yet.
2021-06-23 09:32:37 +10:00
Zach White df794fa5cc Remove the redundant pin name validation (#13251)
* remove the redundant pin name validation

* fix submodules
2021-06-22 12:02:12 -07:00
Zach White e87d231645 Refactor doctor.py into a directory (#13298) 2021-06-22 19:50:53 +01:00
Ryan d61e5c0027 Move LED/RGB Matrix code into their own directories (#13257) 2021-06-22 18:26:23 +10:00
QMK Bot c03cb4edd7 Merge remote-tracking branch 'origin/master' into develop 2021-06-22 02:42:29 +00:00
Albert Y 92dd1b977b Additional documentation for GUI mod combo (#13266)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-06-22 12:41:57 +10:00
Purdea Andrei dd16d3cc7e eeprom_i2c driver: added EXTERNAL_EEPROM_WP_PIN configuration option. (#12617) 2021-06-21 19:34:28 -07:00
Nick Brassel 0e3ae2cde0 Skip EEPROM writes once done. (#13293) 2021-06-22 09:37:28 +10:00
QMK Bot a89eaceb59 Merge remote-tracking branch 'origin/master' into develop 2021-06-21 22:09:45 +00:00
4pplet d7f352de98 Adding "Eagle Viper Rep", open sourced Eagle/Viper V2/V3 PCB (#13020)
* adding revision A

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

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

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

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

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

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

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

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

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

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

* Update readme.md

Adding instruction on how to enter bootloader

* adding instruction on how to enter bootloader (DFU)

adding instruction on how to enter bootloader (DFU)

* updated description

* Update keyboards/4pplet/eagle_viper_rep/rev_a/halconf.h

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

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

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

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

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

* Update keyboards/4pplet/eagle_viper_rep/rev_a/chconf.h

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

* Update keyboards/4pplet/eagle_viper_rep/rev_a/chconf.h

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

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

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

* Restoring palSetLineMode for working underglow

I was experiencing the same issue as this: https://github.com/qmk/qmk_firmware/issues/12655#issuecomment-844104659

sigprof helped me resolve this issue.

* Update rev_a.c

removing palSetLineMode again, works great after rebase. Thanks!

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-06-22 08:09:16 +10:00
QMK Bot 40e80455c9 Merge remote-tracking branch 'origin/master' into develop 2021-06-21 20:48:18 +00:00
James Young 19990a21a9 Geminate60 Codebase Touch-up (#13275)
* grid-align keycodes in keymaps

* rename LAYOUT to LAYOUT_all

* update LAYOUT_all macro

- use 3-character K<row><column> notation
- fix malformed electrical mapping

* update info.json

- correct maintainer
- update label fields
- remove meta key

* update readme

- update board description
- update keyboard maintainer
2021-06-21 13:47:47 -07:00
QMK Bot 96ea3c1a03 Merge remote-tracking branch 'origin/master' into develop 2021-06-21 20:33:28 +00:00
James Young 3f292ec723 Swiftrax Nodu handwired: Layout Macro rename and Community Layout support (#13276)
* rename LAYOUT to LAYOUT_60_ansi_split_bs_rshift

* enable Community Layout support
2021-06-21 13:32:51 -07:00
QMK Bot e28d7ab58c Merge remote-tracking branch 'origin/master' into develop 2021-06-21 20:00:32 +00:00
Drashna Jaelre 6901411bca Move optical sensor code to drivers folder (#13044) 2021-06-21 21:00:11 +01:00
ploopyco eba3d68394 Fixes for Ploopy devices (#13144)
Co-authored-by: Drashna Jael're <drashna@live.com>
2021-06-21 20:59:56 +01:00
QMK Bot b491c7994a Merge remote-tracking branch 'origin/master' into develop 2021-06-21 16:25:33 +00:00
James Young 224dcac08f ID80: fix LAYOUT_iso data (#13274) 2021-06-21 09:25:02 -07:00
QMK Bot 26357ddca8 Merge remote-tracking branch 'origin/master' into develop 2021-06-21 16:23:38 +00:00
James Young 36f3dba195 mech.studio Dawn: correct key sizes and positioning (#13277) 2021-06-21 09:23:04 -07:00
QMK Bot c6fb96fb9f Merge remote-tracking branch 'origin/master' into develop 2021-06-21 16:04:56 +00:00
Nathan c0dd142d9f [Keyboard] le_chiffre.c conditional led_config (#13285)
disabling RGB_MATRIX_ENABLE causes led_config to fail during compile. Setting this conditional allows you to turn off RGB
2021-06-21 09:04:18 -07:00
fauxpark eaba4d327f Merge remote-tracking branch 'upstream/master' into develop 2021-06-21 21:17:26 +10:00
Ryan 59c572eaf0 Cleanup junk characters, part 1 (#13282) 2021-06-21 11:29:15 +01:00
Ryan e4a2cfd853 Remove dfu-util arguments from mcu_selection (#13150) 2021-06-21 19:56:55 +10:00
QMK Bot 8d30209260 Merge remote-tracking branch 'origin/master' into develop 2021-06-20 18:37:17 +00:00
shela 8db1be6420 [Docs] Update Japanese getting started documents. (#12806)
* Update Japanese getting started documents.

* Update faq_build.md

* fix typo
2021-06-21 03:36:51 +09:00
QMK Bot 40bf61118e Merge remote-tracking branch 'origin/master' into develop 2021-06-20 16:38:52 +00:00
Ryan 90e57b7b0a OLED font easter egg (#13269) 2021-06-20 09:38:21 -07:00
QMK Bot c234341cf6 Merge remote-tracking branch 'origin/master' into develop 2021-06-20 15:30:49 +00:00
Erovia 29df3ce83b Fix/keyboard/dz65rgbv3 (#13268)
With the 'lufa-ms' bootloader LTO is needed so the keyboard can be built
with Configurator.
2021-06-20 16:30:23 +01:00
QMK Bot 291455098f Merge remote-tracking branch 'origin/master' into develop 2021-06-20 13:30:43 +00:00
Sergey Vlasov 7ab4902543 Update Python dependencies for Nix (#12855)
Co-authored-by: Steve Purcell <steve@sanityinc.com>
2021-06-20 14:30:16 +01:00
QMK Bot 8f36af8409 Merge remote-tracking branch 'origin/master' into develop 2021-06-20 08:01:01 +00:00
James Young 50a312b635 rect44: add LAYOUT_all data (#13260) 2021-06-20 09:00:10 +01:00
QMK Bot 25f1c242f8 Merge remote-tracking branch 'origin/master' into develop 2021-06-20 07:50:19 +00:00
stanrc85 873658a76d Adding my Bear65 keymap (#12962) 2021-06-20 08:49:49 +01:00
QMK Bot f80ee5639e Merge remote-tracking branch 'origin/master' into develop 2021-06-20 07:37:50 +00:00
Xelus22 745f5f6532 [Keyboard] Add Constellation Rev2 (#13103) 2021-06-20 08:36:54 +01:00
QMK Bot 085db5ec8d Merge remote-tracking branch 'origin/master' into develop 2021-06-20 07:17:15 +00:00
Xelus22 eb2886369d [Bug] Pachi keymap compile fix (#13261) 2021-06-20 00:16:50 -07:00
QMK Bot 8f1eccc59b Merge remote-tracking branch 'origin/master' into develop 2021-06-20 07:15:10 +00:00
Xelus22 438eee96e8 [Bug] Pachi RGB: fix RGB modifiers (#13262) 2021-06-20 00:14:44 -07:00
QMK Bot 2cb4301656 Merge remote-tracking branch 'origin/master' into develop 2021-06-20 07:14:00 +00:00
James Young 0624698d33 MisonoWorks Karina Layout Macro Rework (#13259) 2021-06-20 00:13:34 -07:00
QMK Bot f106f77692 Merge remote-tracking branch 'origin/master' into develop 2021-06-20 03:09:08 +00:00
Drashna Jaelre 88e53ad9ca Fix issue with crkbd json mapping (#13255) 2021-06-19 20:08:37 -07:00
Roland Huber e4c5b1bbbb Add Per Key exclusions for Haptic Feedback (#12386)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-19 19:28:54 -07:00
QMK Bot f6ac5abd95 Merge remote-tracking branch 'origin/master' into develop 2021-06-20 02:21:53 +00:00
peepeetee dc39d90270 [Keyboard] Add LED matrix and 2 layouts to hub20 (#12505)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-19 19:21:24 -07:00
QMK Bot 18f6ded5fa Merge remote-tracking branch 'origin/master' into develop 2021-06-20 02:21:20 +00:00
nopjmp 050457818c [Keymap] Fix Preonic rev3 default keymap (#12698)
The rev3 boards use RGBLIGHT_ENABLE now instead of BACKLIGHT_ENABLE.

This resolves the issue of flashing and losing functionality with the default keymap.
2021-06-19 19:20:50 -07:00
QMK Bot 67af692c97 Merge remote-tracking branch 'origin/master' into develop 2021-06-20 02:19:07 +00:00
alittlepeace 1f4e20cfda [Keyboard] YMDK Wings: enable Backlight (#12714) 2021-06-19 19:18:40 -07:00
Joakim Tufvegren 8d9f527081 Add sync_timer support over serial_link (i.e. Ergodox Infinity) (#12845) 2021-06-19 19:18:00 -07:00
QMK Bot fc749b40e6 Merge remote-tracking branch 'origin/master' into develop 2021-06-20 02:14:49 +00:00
Nick Abe c835d2e71d [Keyboard] Add PLX Keyboard (#12954)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-19 19:14:40 -07:00
Albert Y 7e832e46de Add Mac centric Shift and Alt + GUI Macros (#13107)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-06-19 19:14:19 -07:00
QMK Bot 76e856d052 Merge remote-tracking branch 'origin/master' into develop 2021-06-20 02:13:09 +00:00
stanrc85 d456963177 [Keymap] Add stanrc85 Abasic keymap (#13180) 2021-06-19 19:12:39 -07:00
fauxpark e3030bff5e Merge remote-tracking branch 'upstream/master' into develop 2021-06-20 12:10:59 +10:00
Ryan 4dddcb4f03 Telophase cleanup (#13225) 2021-06-20 12:03:11 +10:00
XScorpion2 5b7cf9fdc8 RGB Matrix eeprom write limiting (#13238) 2021-06-19 19:03:06 -07:00
Joel Challis 3c790123ce Temporary disable of CRC (#13252) 2021-06-20 09:31:18 +10:00
Donald Kjer 1272ecd73c Fixing incorrect keymap build when switching between multiple keymap.jsons (#12632) 2021-06-19 15:30:23 -07:00
Michael Stapelberg 7c5ef4060e allow LINE_PINxx for Teensy 4.x pins (#13247)
fixes https://github.com/qmk/qmk_firmware/issues/13052
2021-06-19 15:21:56 -07:00
James Young 11f66c317a pistachio_mp: correct key object order in info.json (#13250) 2021-06-20 07:34:48 +10:00
Xelus22 6dfe915e26 [Keyboard] Pachi restructure and keyboard addition (#13080) 2021-06-19 16:18:29 +01:00
Jean-Sebastien Paquet 8dc036c2e4 Upgrades Vagrant box to Debian 10 to fix Docker build error on Debian 9. (#13236) 2021-06-19 13:52:34 +01:00
Xelus22 4379afca28 [Keyboard Update] Trinity XT TKL fix license and add forgotten indicators (#13202) 2021-06-19 13:50:54 +01:00
James Young 939ce6a486 bm60rgb: fix layout macro references (#13246)
... and enable Community Layout support
2021-06-19 11:49:27 +01:00
Ryan 37fba09021 ST7565 invert (#13237) 2021-06-19 18:51:35 +10:00
Jumail Mundekkat dfcefc2d5d [Keyboard] Add Switchplate 910 keyboard (#13235)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-18 18:52:29 -07:00
Mats Nilsson 8de028f188 [Keymap] Add my keymaps for the Keebio Iris and Planck (#13005) 2021-06-18 17:55:56 -07:00
moyi4681 8694e2d3f0 [Keyboard] add dztech/dz65rgb/v3 keyboard (#13017)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-18 17:54:29 -07:00
rate 7fefe128cc [Keymap] adding keymap for pistachio (#12996)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-18 17:54:03 -07:00
Kyle McCreery feaf972eb7 [Keyboard] Murphpad Changes and Updates (#12995)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-18 17:48:41 -07:00
Ignaz Kevenaar 0311c8036d Add oled_invert (#13172)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-19 01:08:22 +10:00
umi 6e132884b3 [Docs] update Japanese translation of tap_hold.md (#12820)
* update tap_hold.md translation

* restore unnecessary change line
2021-06-18 15:13:04 +09:00
umi 18554d1134 [Docs] update Japanese translation of hardware_keyboard_guidelines.md (#12769)
* update hardware_keyboard_guidelines.md translation

* update based on comment
2021-06-18 15:07:56 +09:00
umi 9e9e9b3898 [Docs] update Japanese translation of feature_haptic_feedback.md (#12737)
* update feature_haptic_feedback.md translation

* change url of driver pdf location

* change buzz word

* update based on comment
2021-06-18 15:05:36 +09:00
Drashna Jaelre 8e607851fb [Keyboard] Fix revision issues with Kyria (#13208)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-17 21:11:33 -07:00
jurassic73 f81cd4696e [Keyboard] Fix comment in split89's config.h (#13231)
Added missing closing comment bit */

This seems to cause the QMK configurator to break when clicking the compile button:

Compiling: keyboards/handwired/split89/split89.c                                                   In file included from :
ent]
 /* COL2ROW, ROW2COL */

cc1: all warnings being treated as errors
 
 |
 |
 |
make: *** ine/keyboards/handwired/split89/split89.o] Error 1
2021-06-17 21:11:15 -07:00
Nick Brassel 172e6a7030 Extensible split data sync (#11930)
* Extensible split data sync capability through transactions.

- Split common transport has been split up between the transport layer
  and data layer.
- Split "transactions" model used, with convergence between I2C and
  serial data definitions.
- Slave matrix "generation count" is used to determine if the full slave
  matrix needs to be retrieved.
- Encoders get the same "generation count" treatment.
- All other blocks of data are synchronised when a change is detected.
- All transmissions have a globally-configurable deadline before a
  transmission is forced (`FORCED_SYNC_THROTTLE_MS`, default 100ms).
- Added atomicity for all core-synced data, preventing partial updates
- Added retries to AVR i2c_master's i2c_start, to minimise the number of
  failed transactions when interrupts are disabled on the slave due to
  atomicity checks.
- Some keyboards have had slight modifications made in order to ensure
  that they still build due to firmware size restrictions.

* Fixup LED_MATRIX compile.

* Parameterise ERROR_DISCONNECT_COUNT.
2021-06-18 09:10:06 +10:00
Stefan Kerkmann ef92c9ee2c Add CRC8 calculation subsystem to quantum (#12641)
* Intended usage is data validation in split transport code.
* Default space efficient algorithm.
* Opt-in fast table based algorithmn with #define CRC8_USE_TABLE switch.
* Define switches for size and speed optimized versions, the default is size
  optimized by using uint_least8_t as datatype for calculations.
  * #define CRC8_OPTIMIZE_SPEED uses uint_fast8_t as datatype for
    calculations, this only affects 32-bit Archs like ARM and RISC-V.
* Placeholder crc_init() function for hardware backed crc calculation,
  not implemented yet.
2021-06-18 00:09:43 +01:00
Nick Brassel e7ddbc394b Update merge sequence to reflect no-ff, no-squash. (#13038) 2021-06-18 00:05:27 +01:00
Nick Brassel 67fa2568fe ChibiOS SVN mirror script. (#13070) 2021-06-18 00:04:17 +01:00
QMK Bot 658ab47908 Merge remote-tracking branch 'origin/master' into develop 2021-06-17 17:05:15 +00:00
jurassic73 89c01970e3 [Keyboard] Add Split 89 (#13213)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-17 10:04:37 -07:00
fauxpark d04f7bc160 Merge remote-tracking branch 'upstream/master' into develop 2021-06-17 17:22:01 +10:00
Michael Stapelberg 9956ff4e03 core: wire up flash make target for Teensy 4.x (#13077)
related to https://github.com/kinx-project/kint/issues/5
2021-06-17 04:15:45 +10:00
Jonathan Rascher d59f8d1c02 Fix overrun in st7565_write_raw when not at (0, 0) (#13209) 2021-06-15 22:30:27 -07:00
QMK Bot f8d0ea9206 Merge remote-tracking branch 'origin/master' into develop 2021-06-16 05:21:59 +00:00
QMK Bot 706c8bebca Merge remote-tracking branch 'origin/master' into develop 2021-06-16 05:21:26 +00:00
QMK Bot 25004123ce Merge remote-tracking branch 'origin/master' into develop 2021-06-16 05:19:41 +00:00
QMK Bot d150595f29 Merge remote-tracking branch 'origin/master' into develop 2021-06-16 05:15:23 +00:00
QMK Bot a61c38c7ec Merge remote-tracking branch 'origin/master' into develop 2021-06-16 05:07:37 +00:00
QMK Bot 03f7bec6c8 Merge remote-tracking branch 'origin/master' into develop 2021-06-16 04:55:03 +00:00
Michael Stapelberg e2c5893405 core: make RESET key work with Teensy 4.x (#13076)
related to https://github.com/kinx-project/kint/issues/5
2021-06-15 21:53:27 -07:00
QMK Bot d37900b906 Merge remote-tracking branch 'origin/master' into develop 2021-06-16 04:28:45 +00:00
QMK Bot 06971da0be Merge remote-tracking branch 'origin/master' into develop 2021-06-16 04:20:45 +00:00
QMK Bot 2d6fe6eed4 Merge remote-tracking branch 'origin/master' into develop 2021-06-16 04:20:30 +00:00
QMK Bot 346f4548db Merge remote-tracking branch 'origin/master' into develop 2021-06-16 04:18:48 +00:00
Albert Y ff61df103e Limit saturation for RGB_MATRIX_JELLYBEAN_RAINDROPS (#12669)
* Set saturation limit to jellybean_raindrops_anim.h

* Use faster bit-shift maths and qadd8

* Remove extra parenthesis

* Single bitmask operation is sufficient.

Co-authored-by: filterpaper <filterpaper@localhost>
2021-06-16 14:04:21 +10:00
Simon Arlott a0959f1b33 Add asym_eager_defer_pk debounce type (#12689) 2021-06-16 14:00:37 +10:00
QMK Bot b151153211 Merge remote-tracking branch 'origin/master' into develop 2021-06-16 03:54:19 +00:00
QMK Bot 41ba616463 Merge remote-tracking branch 'origin/master' into develop 2021-06-16 03:39:48 +00:00
QMK Bot d82e5055dd Merge remote-tracking branch 'origin/master' into develop 2021-06-16 03:36:03 +00:00
QMK Bot 3be3cdafa2 Merge remote-tracking branch 'origin/master' into develop 2021-06-16 03:34:34 +00:00
James f5c2f7153d [Keyboard] Moved tokyo60/ into tokyokeyboard/tokyo60/. (#12023)
* Moved tokyo60/ into tokyokeyboard/tokyo60/.

* Updated make instruction, fixed broken image link

* Fixed still broken image link.
2021-06-15 20:21:13 -07:00
QMK Bot 640f0fc7c6 Merge remote-tracking branch 'origin/master' into develop 2021-06-15 21:43:53 +00:00
QMK Bot d7ecfa8382 Merge remote-tracking branch 'origin/master' into develop 2021-06-15 03:07:31 +00:00
QMK Bot a2a524afbb Merge remote-tracking branch 'origin/master' into develop 2021-06-14 23:52:31 +00:00
QMK Bot 8d0a610f6e Merge remote-tracking branch 'origin/master' into develop 2021-06-14 06:32:22 +00:00
QMK Bot 6dc94019e4 Merge remote-tracking branch 'origin/master' into develop 2021-06-14 03:20:48 +00:00
Gigahawk fda4149cc3 Fix LED mapping for GMMK Pro (#13189) 2021-06-14 12:38:20 +10:00
QMK Bot 836b8f7d64 Merge remote-tracking branch 'origin/master' into develop 2021-06-14 00:53:06 +00:00
QMK Bot 52028ceea1 Merge remote-tracking branch 'origin/master' into develop 2021-06-12 19:15:34 +00:00
QMK Bot f8acb1ee10 Merge remote-tracking branch 'origin/master' into develop 2021-06-12 19:12:28 +00:00
QMK Bot dc17180f84 Merge remote-tracking branch 'origin/master' into develop 2021-06-12 19:10:49 +00:00
QMK Bot 421fd75541 Merge remote-tracking branch 'origin/master' into develop 2021-06-12 19:09:03 +00:00
QMK Bot 0f226a30be Merge remote-tracking branch 'origin/master' into develop 2021-06-11 10:35:43 +00:00
QMK Bot 641141c519 Merge remote-tracking branch 'origin/master' into develop 2021-06-10 21:50:54 +00:00
Joakim Tufvegren 6fe3943ad3 Migrate keyboards using uGFX to LED_MATRIX (#9657) 2021-06-10 17:46:09 +10:00
Ryan b2fdd48744 Add ST7565 LCD driver (#13089)
Co-authored-by: Joakim Tufvegren <jocke@barbanet.com>
2021-06-10 17:16:09 +10:00
QMK Bot cfc7ee61c5 Merge remote-tracking branch 'origin/master' into develop 2021-06-10 06:06:03 +00:00
Drashna Jaelre 7a6e630ffd Fix RGB/LED Suspend defines (#13146) 2021-06-09 22:59:19 -07:00
Gigahawk 32b2ac0a80 GMMK Pro RGB Support (#13147)
* Enable SPI1 for GMMK pro

* Setup initial boilerplate for new LED driver

* RGB matrix minimally functional

* Map full LED matrix

* Return keymap to default

* Fix printscreen LED mapping

* Reduce max brightness

* Default values for AW20216

* Add documentation for AW20216

* Disable console and warnings

* Run cformat

* Update drivers/awinic/aw20216.h

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

* make aw struct match issi struct

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

* add led location defines

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

* Use led pin definitions in keyboard.c

* Add driver indices to led map

* Fix elif typo

* Run cformat

* Update docs

* Fix typo in docs

* Document global brightness limits

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-10 11:40:25 +10:00
QMK Bot e21a039901 Merge remote-tracking branch 'origin/master' into develop 2021-06-09 17:48:11 +00:00
Carlos Martins ca0070d11c Updated encoder_update_user on my keymap to follow the new signature on quantum (#13152) 2021-06-10 03:32:16 +10:00
QMK Bot a47f482d24 Merge remote-tracking branch 'origin/master' into develop 2021-06-09 09:15:29 +00:00
QMK Bot 9177e22d2c Merge remote-tracking branch 'origin/master' into develop 2021-06-09 07:25:59 +00:00
Simon Arlott b829a1d264 Avoid 8-bit timer overflows in debounce algorithms (#12240)
* Add fast_timer_t that is 16-bit or 32-bit based on architecture

A 16-bit timer will overflow sooner but be faster to compare on AVR.

* Avoid 8-bit timer overflows in debounce algorithms

Count down remaining elapsed time instead of trying to do 8-bit timer
comparisons.

Add a "none" implementation that is automatically used if DEBOUNCE is
0 otherwise it will break the _pk/_pr count down.

* Avoid unnecessary polling of the entire matrix in sym_eager_pk

The matrix only needs to be updated when a debounce timer expires.

* Avoid unnecessary polling of the entire matrix in sym_eager_pr

The matrix only needs to be updated when a debounce timer expires.

The use of the "needed_update" variable is trying to do what
"matrix_need_update" was added to fix but didn't work because it only
applied when all keys finished debouncing.

* Fix sym_defer_g timing inconsistency compared to other debounce algorithms

DEBOUNCE=5 should process the key after 5ms, not 6ms

* Add debounce tests
2021-06-09 17:23:21 +10:00
Nick Brassel f287597c19 Use single memcmp to determine if matrix changed. (#13064)
* Use memcmp to determine if matrix changed.

* Firmware size issues.

* Add documentation for the lack of need of MATRIX_ROW_PINS/MATRIX_COL_PINS, when overriding low-level matrix functions.
2021-06-09 17:19:42 +10:00
QMK Bot cbfa2dba25 Merge remote-tracking branch 'origin/master' into develop 2021-06-09 07:19:28 +00:00
QMK Bot d9add95037 Merge remote-tracking branch 'origin/master' into develop 2021-06-08 19:07:33 +00:00
Ryan 17d0fad762 spi_master Kinetis support (#13098) 2021-06-08 19:54:33 +10:00
QMK Bot 13defb0bef Merge remote-tracking branch 'origin/master' into develop 2021-06-08 09:49:23 +00:00
QMK Bot 84e691717c Merge remote-tracking branch 'origin/master' into develop 2021-06-07 23:38:33 +00:00
QMK Bot f3fb3849a2 Merge remote-tracking branch 'origin/master' into develop 2021-06-07 23:31:29 +00:00
QMK Bot c508da8a8e Merge remote-tracking branch 'origin/master' into develop 2021-06-07 17:43:48 +00:00
QMK Bot 9399865b0d Merge remote-tracking branch 'origin/master' into develop 2021-06-07 17:42:07 +00:00
QMK Bot 827e742bd4 Merge remote-tracking branch 'origin/master' into develop 2021-06-07 17:40:30 +00:00
QMK Bot 5e3ec2faf0 Merge remote-tracking branch 'origin/master' into develop 2021-06-07 17:39:16 +00:00
QMK Bot 2f910e1b2a Merge remote-tracking branch 'origin/master' into develop 2021-06-07 17:37:20 +00:00
QMK Bot f922133d30 Merge remote-tracking branch 'origin/master' into develop 2021-06-07 17:35:21 +00:00
QMK Bot 5686a00a9c Merge remote-tracking branch 'origin/master' into develop 2021-06-07 10:47:09 +00:00
Takeshi ISHII b72f10c635 Add readPort() and some API to 'tmk_core/common/*/gpio.h' (#12754)
* add readPort() and some API to 'tmk_core/common/*/gpio.h'

The following macros have been added to gpio.h.

* readPort(port)
* setPortBitInput(port, bit)
* setPortBitInputHigh(port, bit)
* setPortBitOutput(port, bit)
* writePortBitLow(port, bit)
* writePortBitHigh(port, bit)

* add data type 'port_data_t' into gpio.h

* rename qmk_pin to pin
2021-06-07 18:23:21 +09:00
QMK Bot 59862d30d0 Merge remote-tracking branch 'origin/master' into develop 2021-06-07 06:53:52 +00:00
Sergey Vlasov 680cc1fab4 Fix firmware size check with avr-libc 1:2.0.0+Atmel3.6.2-1.1 (Debian bullseye) (#12951)
Debian bullseye (testing at the moment, but seems close to release) has
avr-libc 1:2.0.0+Atmel3.6.2-1.1 with some changes taken from the
Atmel-distributed toolchain.  In particular, the <avr/io.h> header for
ATmega32A (avr/iom32a.h) now defines the FLASHEND constant as `0x7FFFU`,
and that `U` suffix breaks the firmware size check code, because the
shell arithmetic expansion that is used to calculate `MAX_SIZE` does not
support those C-specific suffixes.

As a workaround, add `-D__ASSEMBLER__` to the C preprocessor invocation
that is used to expand those macros; in this case avr/iom32a.h defines
`FLASHEND` without the `U` suffix, and everything works as it did before
with older avr-libc versions.

The exact same code is present in two places; they are both changed,
even though the code in `tmk_core/avr.mk` is actually never used for
ATmega32A (and the header for ATmega32U4 does not add that `U` suffix to
`FLASHEND` for some reason).
2021-06-06 22:42:08 -07:00
Carlos Martins 2e68897a62 [Keymap] RGB Matrix working for Sofle RGB (#12861)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-06 22:30:48 -07:00
Stefan Kerkmann 49fd3c0760 [Core] ChibiOS fix O3 and LTO breakage of extra keys and joystick (#12819) 2021-06-06 22:16:55 -07:00
QMK Bot 415dd21206 Merge remote-tracking branch 'origin/master' into develop 2021-06-07 05:11:07 +00:00
QMK Bot 102442a841 Merge remote-tracking branch 'origin/master' into develop 2021-06-07 05:08:50 +00:00
QMK Bot fff115c1a4 Merge remote-tracking branch 'origin/master' into develop 2021-06-07 04:55:22 +00:00
QMK Bot c7277a1420 Merge remote-tracking branch 'origin/master' into develop 2021-06-07 03:38:32 +00:00
Michael Stapelberg 7e4f01f454 core: bump USB spec version in device descriptor to 2.0 (#13078)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-07 08:48:26 +10:00
QMK Bot 56ce0e4e33 Merge remote-tracking branch 'origin/master' into develop 2021-06-06 20:14:07 +00:00
QMK Bot a1e575780d Merge remote-tracking branch 'origin/master' into develop 2021-06-05 22:27:07 +00:00
QMK Bot 3d3b9807ab Merge remote-tracking branch 'origin/master' into develop 2021-06-05 18:37:16 +00:00
QMK Bot 3e1e64ca19 Merge remote-tracking branch 'origin/master' into develop 2021-06-05 18:17:12 +00:00
QMK Bot 25fffb7da8 Merge remote-tracking branch 'origin/master' into develop 2021-06-05 15:09:04 +00:00
QMK Bot c38332a5c7 Merge remote-tracking branch 'origin/master' into develop 2021-06-04 03:03:05 +00:00
QMK Bot 01cb2867db Merge remote-tracking branch 'origin/master' into develop 2021-06-04 00:30:59 +00:00
QMK Bot 17f51fa9df Merge remote-tracking branch 'origin/master' into develop 2021-06-03 18:40:18 +00:00
QMK Bot a6f030fb42 Merge remote-tracking branch 'origin/master' into develop 2021-06-03 15:53:38 +00:00
QMK Bot 2344d06475 Merge remote-tracking branch 'origin/master' into develop 2021-06-03 06:27:15 +00:00
QMK Bot eaa2e0cb24 Merge remote-tracking branch 'origin/master' into develop 2021-06-03 06:07:03 +00:00
QMK Bot 65fe74fde0 Merge remote-tracking branch 'origin/master' into develop 2021-06-02 23:48:58 +00:00
QMK Bot b8711b9726 Merge remote-tracking branch 'origin/master' into develop 2021-06-02 21:00:26 +00:00
QMK Bot 9544b41640 Merge remote-tracking branch 'origin/master' into develop 2021-06-01 08:12:46 +00:00
Nick Brassel e5d3e5a989 Add weak refs on reading rows/cols. (#13062) 2021-06-01 15:10:39 +10:00
QMK Bot d64a853b55 Merge remote-tracking branch 'origin/master' into develop 2021-06-01 04:56:53 +00:00
Nick Brassel 554c36a055 Update ChibiOS, ChibiOS-Contrib. (#13056)
* Update ChibiOS, ChibiOS-Contrib.

* Add instructions.

* Wrong remote name

* Explicit version tag.

* Add link to procedure on the breaking changes page.
2021-06-01 08:11:50 +10:00
QMK Bot 5c6c37e3a9 Merge remote-tracking branch 'origin/master' into develop 2021-05-31 04:16:56 +00:00
QMK Bot c22f4aeb8e Merge remote-tracking branch 'origin/master' into develop 2021-05-31 04:04:59 +00:00
QMK Bot 234d37ec16 Merge remote-tracking branch 'origin/master' into develop 2021-05-30 21:59:09 +00:00
QMK Bot bc01ee2a6e Merge remote-tracking branch 'origin/master' into develop 2021-05-30 21:58:08 +00:00
QMK Bot aa923b2034 Merge remote-tracking branch 'origin/master' into develop 2021-05-30 21:56:39 +00:00
QMK Bot 160f9144c2 Merge remote-tracking branch 'origin/master' into develop 2021-05-30 21:48:16 +00:00
QMK Bot 0d74ed3c35 Merge remote-tracking branch 'origin/master' into develop 2021-05-30 15:18:09 +00:00
QMK Bot a72172a8fd Merge remote-tracking branch 'origin/master' into develop 2021-05-29 21:39:21 +00:00
James Young 7d1194de01 run: qmk cformat --core-only 2021-05-29 13:53:10 -07:00
James Young e628051505 Restore standard readme 2021-05-29 12:58:42 -07:00
James Young 275996f4c1 Add changelog for 2021-05-29 Breaking Changes merge (#12939)
* Add ChangeLog for 2021-05-29 Breaking Changes Merge: initial version

* Add recent develop changes

* Sort recent develop changes

* Remove sections for ChibiOS changes per tzarc

No ChibiOS changes this round.

* Add and sort recent develop changes

* add notes about keyboard moves/deletions

* import changelog for PR 12172

Documents the change to BOOTMAGIC_ENABLE.

* update section headings

* re-sort changelog

* add additional note regarding Bootmagic changes

* remove changelog timestamp

* update dates in main Breaking Changes docs

* fix broken section anchors in previous changelogs

* add link to backlight/eeprom patch to changelog

* highlight some more changes

* link PRs from section headers

Co-authored-by: Zach White <skullydazed@gmail.com>
2021-05-29 12:30:31 -07:00
QMK Bot 3ea3f32dfe Merge remote-tracking branch 'origin/master' into develop 2021-05-29 19:06:14 +00:00
Ryan d66090af19 backlight.c: include eeprom.h (#13024) 2021-05-28 09:04:13 -07:00
Drashna Jaelre b963049305 Fix keyboards/keymaps for boolean encoder callback changes (#12985) 2021-05-27 21:30:47 -07:00
Albert Y 5386c4c7b2 [Keyboard] Remove redundant legacy and common headers for crkbd (#13023)
Was causing compiler errors on some systems.

Co-authored-by: filterpaper <filterpaper@localhost>
2021-05-27 21:27:16 -07:00
QMK Bot c1a3060431 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 16:43:10 +00:00
Drashna Jaelre b769b36202 Add dire message about LUFA mass storage bootloader (#13014) 2021-05-27 09:20:47 -07:00
QMK Bot 879185a214 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 15:46:56 +00:00
QMK Bot 726368ce67 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 05:31:07 +00:00
QMK Bot 995c9dff49 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 05:26:24 +00:00
QMK Bot 69604e1750 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 05:22:29 +00:00
Ryan 06aea834c4 Backlight: add defines for default level and breathing state (#12560) 2021-05-26 22:21:15 -07:00
QMK Bot e128d45420 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 05:20:39 +00:00
QMK Bot 0717890353 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 05:17:47 +00:00
QMK Bot cd78ab25a9 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 05:14:01 +00:00
QMK Bot beaebdf8eb Merge remote-tracking branch 'origin/master' into develop 2021-05-27 05:12:06 +00:00
QMK Bot a5c2a74b8c Merge remote-tracking branch 'origin/master' into develop 2021-05-27 05:11:33 +00:00
peepeetee ebaba80287 Document LED_MATRIX_FRAMEBUFFER_EFFECTS (#12987) 2021-05-26 21:22:56 -07:00
QMK Bot 15e408a6a5 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 04:21:21 +00:00
QMK Bot 1593e78c97 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 04:20:40 +00:00
QMK Bot 452a5216e2 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 04:17:34 +00:00
QMK Bot 769396839b Merge remote-tracking branch 'origin/master' into develop 2021-05-27 04:07:29 +00:00
QMK Bot 17991629c1 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 04:03:42 +00:00
QMK Bot 513f5b0655 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 04:02:15 +00:00
QMK Bot b158afee93 Merge remote-tracking branch 'origin/master' into develop 2021-05-27 04:00:46 +00:00
QMK Bot 57306fb61c Merge remote-tracking branch 'origin/master' into develop 2021-05-27 03:48:46 +00:00
Stefan Kerkmann d9610120de Add Full-duplex serial driver for ARM boards (#9842) 2021-05-26 20:37:54 -07:00
QMK Bot a78964c918 Merge remote-tracking branch 'origin/master' into develop 2021-05-26 18:50:04 +00:00
Drashna Jaelre f461adbd1d [Keymap] Update to Drashna keymap and user code (based on develop) (#12936) 2021-05-25 09:24:01 -07:00
QMK Bot cc815c4d83 Merge remote-tracking branch 'origin/master' into develop 2021-05-25 09:52:37 +00:00
Zach White 5cecfe8c9b Merge remote-tracking branch 'origin/master' into develop 2021-05-24 23:39:24 -07:00
Drashna Jaelre 57158cc3bc [Keyboard] Corne - Remove legacy revision support (#12226) 2021-05-24 23:23:20 -07:00
QMK Bot 8e22da67c1 Merge remote-tracking branch 'origin/master' into develop 2021-05-25 02:39:02 +00:00
Drashna Jaelre 330fe1d1cc Do not hard set config in CPTC files (#11864) 2021-05-22 19:43:54 -07:00
QMK Bot f5820059e4 Merge remote-tracking branch 'origin/master' into develop 2021-05-22 19:03:28 +00:00
QMK Bot 54c368d3aa Merge remote-tracking branch 'origin/master' into develop 2021-05-22 17:19:26 +00:00
Ryan 8f4767d966 [Keyboard] Fix Terrazzo build failure (#12977) 2021-05-21 23:56:17 -07:00
QMK Bot 9ce4bdfd6a Merge remote-tracking branch 'origin/master' into develop 2021-05-22 06:53:54 +00:00
Drashna Jaelre a0fed0ea17 Convert Encoder callbacks to be boolean functions (#12805)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-05-21 23:17:32 -07:00
QMK Bot 76c23b15ab Merge remote-tracking branch 'origin/master' into develop 2021-05-22 06:13:13 +00:00
QMK Bot 4c1ea0a522 Merge remote-tracking branch 'origin/master' into develop 2021-05-22 06:12:29 +00:00
QMK Bot c01f873978 Merge remote-tracking branch 'origin/master' into develop 2021-05-22 05:43:00 +00:00
QMK Bot 924c25e702 Merge remote-tracking branch 'origin/master' into develop 2021-05-22 05:33:55 +00:00
QMK Bot 95d2f7c3c5 Merge remote-tracking branch 'origin/master' into develop 2021-05-22 05:30:46 +00:00
QMK Bot 3d49563535 Merge remote-tracking branch 'origin/master' into develop 2021-05-22 05:30:09 +00:00
QMK Bot ca570947b0 Merge remote-tracking branch 'origin/master' into develop 2021-05-22 05:29:17 +00:00
QMK Bot 31130b9031 Merge remote-tracking branch 'origin/master' into develop 2021-05-22 04:44:51 +00:00
Donald Kjer 8e96c5a060 Add support for up to 4 IS31FL3733 drivers (#12342)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-05-21 21:42:39 -07:00
QMK Bot 81821f0a12 Merge remote-tracking branch 'origin/master' into develop 2021-05-22 04:39:17 +00:00
QMK Bot e1500ce493 Merge remote-tracking branch 'origin/master' into develop 2021-05-22 04:33:46 +00:00
Zach White 4c0d8ae8d7 ensure we do not conflict with existing keymap aliases (#12976) 2021-05-21 16:59:10 -07:00
QMK Bot de8fada3a3 Merge remote-tracking branch 'origin/master' into develop 2021-05-20 11:47:42 +00:00
QMK Bot aeaa209b9d Merge remote-tracking branch 'origin/master' into develop 2021-05-20 10:04:45 +00:00
Zach White 6955c5a002 Merge remote-tracking branch 'origin/master' into develop
Resolved Conflicts:
	lib/python/qmk/tests/test_cli_commands.py
	util/install/fedora.sh
2021-05-19 15:49:11 -07:00
Michael Stapelberg 82aa9ad4a5 matrix: wait for row signal to go HIGH for every row (#12945)
I noticed this discrepancy (last row of the matrix treated differently than the
others) when optimizing the input latency of my keyboard controller, see also
https://michael.stapelberg.ch/posts/2021-05-08-keyboard-input-latency-qmk-kinesis/

Before this commit, when tuning the delays I noticed ghost key presses when
pressing the F2 key, which is on the last row of the keyboard matrix: the
dead_grave key, which is on the first row of the keyboard matrix, would be
incorrectly detected as pressed.

After this commit, all keyboard matrix rows are interpreted correctly.

I suspect that my setup is more susceptible to this nuance than others because I
use GPIO_INPUT_PIN_DELAY=0 and hence don’t have another delay that might mask
the problem.
2021-05-20 06:43:36 +10:00
QMK Bot 068af97b7a Merge remote-tracking branch 'origin/master' into develop 2021-05-19 19:01:52 +00:00
QMK Bot e756586f41 Merge remote-tracking branch 'origin/master' into develop 2021-05-18 19:26:46 +00:00
Nick Brassel 58142f0726 Fixup housekeeping from being invoked twice per loop. (#12933) 2021-05-18 17:02:28 +10:00
QMK Bot 6cdc996e0b Merge remote-tracking branch 'origin/master' into develop 2021-05-17 23:52:14 +00:00
QMK Bot 7e06393407 Merge remote-tracking branch 'origin/master' into develop 2021-05-17 22:54:15 +00:00
QMK Bot b098757a7e Merge remote-tracking branch 'origin/master' into develop 2021-05-17 15:52:41 +00:00
QMK Bot 8508fc8b98 Merge remote-tracking branch 'origin/master' into develop 2021-05-17 08:56:10 +00:00
Matthes W 6c7450dad7 Add function to allow repeated blinking of one layer (#12237)
* Implement function rgblight_blink_layer_repeat to allow repeated blinking of one layer at a time

* Update doc

* Rework rgblight blinking according to requested change

* optimize storage
2021-05-16 20:59:02 -04:00
QMK Bot c14fa1e28f Merge remote-tracking branch 'origin/master' into develop 2021-05-16 22:44:12 +00:00
QMK Bot e6887f4260 Merge remote-tracking branch 'origin/master' into develop 2021-05-16 22:34:45 +00:00
QMK Bot d8e38ef0b1 Merge remote-tracking branch 'origin/master' into develop 2021-05-16 22:34:14 +00:00
QMK Bot 39b2b2b010 Merge remote-tracking branch 'origin/master' into develop 2021-05-16 22:31:26 +00:00
QMK Bot fef78c41cd Merge remote-tracking branch 'origin/master' into develop 2021-05-16 22:20:57 +00:00
Zach White de5c30a9ba Use milc.subcommand.config instead of qmk.cli.config (#12915)
* Use milc.subcommand.config instead

* pyformat

* remove the config test
2021-05-16 11:06:57 -07:00
QMK Bot 8761e973ec Merge remote-tracking branch 'origin/master' into develop 2021-05-16 01:57:14 +00:00
QMK Bot 433834fb8b Merge remote-tracking branch 'origin/master' into develop 2021-05-16 00:35:33 +00:00
QMK Bot 86422f87c6 Merge remote-tracking branch 'origin/master' into develop 2021-05-16 00:29:33 +00:00
QMK Bot 388c151de7 Merge remote-tracking branch 'origin/master' into develop 2021-05-16 00:19:04 +00:00
QMK Bot 396abb0244 Merge remote-tracking branch 'origin/master' into develop 2021-05-16 00:15:19 +00:00
QMK Bot 7599cd4e50 Merge remote-tracking branch 'origin/master' into develop 2021-05-16 00:14:49 +00:00
QMK Bot de2294413f Merge remote-tracking branch 'origin/master' into develop 2021-05-16 00:09:46 +00:00
QMK Bot 4e32465f06 Merge remote-tracking branch 'origin/master' into develop 2021-05-16 00:08:53 +00:00
QMK Bot 08ec7618a1 Merge remote-tracking branch 'origin/master' into develop 2021-05-16 00:05:11 +00:00
QMK Bot 2bc35205a7 Merge remote-tracking branch 'origin/master' into develop 2021-05-15 23:52:01 +00:00
QMK Bot 14c0f4e44b Merge remote-tracking branch 'origin/master' into develop 2021-05-15 18:52:47 +00:00
fauxpark d6b707403e Merge remote-tracking branch 'upstream/master' into develop 2021-05-15 13:43:46 +10:00
QMK Bot 1dca3a8e3a Merge remote-tracking branch 'origin/master' into develop 2021-05-14 22:44:36 +00:00
Dave Vandyke 75da5e9742 [Keymap] Fix QWERTY/DVORAK status output for kzar keymap (#12895) 2021-05-14 08:30:21 -07:00
QMK Bot 36a2297deb Merge remote-tracking branch 'origin/master' into develop 2021-05-14 04:10:46 +00:00
QMK Bot 16014fe31c Merge remote-tracking branch 'origin/master' into develop 2021-05-14 03:54:43 +00:00
QMK Bot 188bcf7636 Merge remote-tracking branch 'origin/master' into develop 2021-05-14 03:21:19 +00:00
QMK Bot 4a5f575ef4 Merge remote-tracking branch 'origin/master' into develop 2021-05-14 03:12:06 +00:00
QMK Bot 8bf7a1452d Merge remote-tracking branch 'origin/master' into develop 2021-05-14 03:10:57 +00:00
QMK Bot 2fcf761f33 Merge remote-tracking branch 'origin/master' into develop 2021-05-14 02:48:33 +00:00
QMK Bot 70bbcdf084 Merge remote-tracking branch 'origin/master' into develop 2021-05-14 02:46:09 +00:00
QMK Bot 178fbdac16 Merge remote-tracking branch 'origin/master' into develop 2021-05-14 02:40:36 +00:00
QMK Bot 5f9906eccc Merge remote-tracking branch 'origin/master' into develop 2021-05-14 02:34:21 +00:00
QMK Bot 16c4590396 Merge remote-tracking branch 'origin/master' into develop 2021-05-14 02:22:22 +00:00
QMK Bot 8d85171f16 Merge remote-tracking branch 'origin/master' into develop 2021-05-14 02:21:08 +00:00
QMK Bot eeb8ba4e62 Merge remote-tracking branch 'origin/master' into develop 2021-05-14 02:00:53 +00:00
QMK Bot 19810f4a8b Merge remote-tracking branch 'origin/master' into develop 2021-05-13 18:08:17 +00:00
QMK Bot c48ce4c259 Merge remote-tracking branch 'origin/master' into develop 2021-05-13 17:54:55 +00:00
QMK Bot 75ffb4b7e2 Merge remote-tracking branch 'origin/master' into develop 2021-05-13 17:52:38 +00:00
QMK Bot 929d06a65f Merge remote-tracking branch 'origin/master' into develop 2021-05-13 17:46:41 +00:00
Joakim Tufvegren cbdc3fb81b Fix spelling mistake regarding LED Matrix in split_common. (#12888) 2021-05-14 03:37:24 +10:00
Ryan 04ab5de73c Deprecate send_unicode_hex_string() (#12602) 2021-05-14 03:25:40 +10:00
QMK Bot cae9eb4d8d Merge remote-tracking branch 'origin/master' into develop 2021-05-13 17:23:24 +00:00
QMK Bot f70dc8435a Merge remote-tracking branch 'origin/master' into develop 2021-05-13 17:22:42 +00:00
QMK Bot 673c12fa3b Merge remote-tracking branch 'origin/master' into develop 2021-05-13 17:20:16 +00:00
QMK Bot 008d8a740e Merge remote-tracking branch 'origin/master' into develop 2021-05-13 17:13:20 +00:00
QMK Bot b4039ec515 Merge remote-tracking branch 'origin/master' into develop 2021-05-13 16:36:43 +00:00
QMK Bot f8f0ca458d Merge remote-tracking branch 'origin/master' into develop 2021-05-13 16:29:39 +00:00
QMK Bot 40907fa98a Merge remote-tracking branch 'origin/master' into develop 2021-05-13 06:53:27 +00:00
QMK Bot 89a3ef7699 Merge remote-tracking branch 'origin/master' into develop 2021-05-13 05:38:06 +00:00
QMK Bot 1dd6adffbe Merge remote-tracking branch 'origin/master' into develop 2021-05-13 04:15:42 +00:00
Ryan 7078d5a5bd LED Matrix: Documentation (#12685) 2021-05-13 12:57:57 +10:00
QMK Bot dbfe2d7e9e Merge remote-tracking branch 'origin/master' into develop 2021-05-13 02:36:23 +00:00
QMK Bot c24d29ef54 Merge remote-tracking branch 'origin/master' into develop 2021-05-13 02:30:14 +00:00
QMK Bot 2d29ce5de1 Merge remote-tracking branch 'origin/master' into develop 2021-05-13 01:54:43 +00:00
QMK Bot 54a8b5af01 Merge remote-tracking branch 'origin/master' into develop 2021-05-13 01:32:21 +00:00
QMK Bot bc9cd3e997 Merge remote-tracking branch 'origin/master' into develop 2021-05-13 01:27:46 +00:00
Drashna Jaelre da0c551692 Add missing LED Matrix suspend code to suspend.c (#12878)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-05-13 11:24:44 +10:00
noclew d200e3de8e [Keyboard] updated a vendor name / fixed minor keymap issues (#12881) 2021-05-12 17:19:48 -07:00
QMK Bot 49bc835aa9 Merge remote-tracking branch 'origin/master' into develop 2021-05-13 00:18:40 +00:00
QMK Bot 536df7c240 Merge remote-tracking branch 'origin/master' into develop 2021-05-13 00:02:42 +00:00
QMK Bot 9c80db1fdc Merge remote-tracking branch 'origin/master' into develop 2021-05-12 23:25:56 +00:00
QMK Bot 53075ccc5d Merge remote-tracking branch 'origin/master' into develop 2021-05-12 23:25:03 +00:00
Ryan 92fbadeb1b Rename point_t -> led_point_t (#12864) 2021-05-13 09:17:18 +10:00
QMK Bot 07800e82c9 Merge remote-tracking branch 'origin/master' into develop 2021-05-12 16:50:09 +00:00
Zach White 6da60d4a5d Add setup, clone, and env to the list of commands we allow even with broken modules (#12868) 2021-05-12 09:40:58 -07:00
QMK Bot 3a1ce81d29 Merge remote-tracking branch 'origin/master' into develop 2021-05-12 00:52:47 +00:00
QMK Bot 4bb00c6a0a Merge remote-tracking branch 'origin/master' into develop 2021-05-11 18:43:25 +00:00
Zach White 38d8d5445e Remove KEYMAP and LAYOUT_kc (#12160)
* alias KEYMAP to LAYOUT

* remove KEYMAP and LAYOUT_kc
2021-05-11 10:10:31 -07:00
Ryan d84cbc3cec Fix syntax error when compiling for ARM (#12866) 2021-05-11 08:17:28 -07:00
Ryan 3edc43964d LED Matrix: Effects! (#12651) 2021-05-11 13:41:06 +10:00
Nick Brassel f41fc6b70c Fixup build errors on develop branch. (#12723) 2021-05-11 11:01:58 +10:00
QMK Bot 0432bde962 Merge remote-tracking branch 'origin/master' into develop 2021-05-11 00:33:02 +00:00
QMK Bot 17586ea7c4 Merge remote-tracking branch 'origin/master' into develop 2021-05-10 22:43:41 +00:00
Lukas Reineke 069cfb61b8 [Keymap] Turn OLED off on suspend in soundmonster keymap (#10419) 2021-05-10 15:40:18 -07:00
QMK Bot 6bb9113e27 Merge remote-tracking branch 'origin/master' into develop 2021-05-10 22:38:06 +00:00
Zach White 0e7c66e891 Merge remote-tracking branch 'origin/master' into develop
Conflicts:
	bin/qmk
	lib/python/qmk/cli/__init__.py

Merge conflicts fixed by skullydazed.
2021-05-10 12:16:04 -07:00
QMK Bot 911b45ce3b Merge remote-tracking branch 'origin/master' into develop 2021-05-10 18:19:15 +00:00
QMK Bot cfc6e4bfac Merge remote-tracking branch 'origin/master' into develop 2021-05-10 17:37:36 +00:00
Sergey Vlasov ffe81cbec1 Fix another bin/qmk reference (#12856) 2021-05-10 09:21:13 -07:00
Drashna Jaelre f0b30e0027 Make Swap Hands use PROGMEM (#12284)
This converts the array that the Swap Hands feature uses to use PROGMEM,
and to read from that array, as such. Since this array never changes at
runtime, there is no reason to keep it in memory. Especially for AVR
boards, as memory is a precious resource.
2021-05-09 23:21:09 -07:00
QMK Bot 40d1506527 Merge remote-tracking branch 'origin/master' into develop 2021-05-09 20:40:22 +00:00
QMK Bot 2549b4b082 Merge remote-tracking branch 'origin/master' into develop 2021-05-09 19:16:57 +00:00
QMK Bot 201dc6d024 Merge remote-tracking branch 'origin/master' into develop 2021-05-09 18:30:52 +00:00
QMK Bot 2f367bab98 Merge remote-tracking branch 'origin/master' into develop 2021-05-09 17:20:16 +00:00
QMK Bot ad1244e2cf Merge remote-tracking branch 'origin/master' into develop 2021-05-09 17:15:32 +00:00
Ryan 62c3e3d11f Remove pointless SERIAL_LINK_ENABLE rules (#12846) 2021-05-10 02:53:21 +10:00
QMK Bot 12292ba264 Merge remote-tracking branch 'origin/master' into develop 2021-05-09 15:07:13 +00:00
QMK Bot bfb052db1d Merge remote-tracking branch 'origin/master' into develop 2021-05-09 13:53:46 +00:00
QMK Bot a0c95cb07e Merge remote-tracking branch 'origin/master' into develop 2021-05-09 10:58:43 +00:00
Zach White 7a25dcacff New command: qmk console (#12828)
* stash poc

* stash

* tidy up implementation

* Tidy up slightly for review

* Tidy up slightly for review

* Bodge environment to make tests pass

* Refactor away from asyncio due to windows issues

* Filter devices

* align vid/pid printing

* Add hidapi to the installers

* start preparing for multiple hid_listeners

* udev rules for hid_listen

* refactor to move closer to end state

* very basic implementation of the threaded model

* refactor how vid/pid/index are supplied and parsed

* windows improvements

* read the report directly when usage page isn't available

* add per-device colors, the choice to show names or numbers, and refactor

* add timestamps

* Add support for showing bootloaders

* tweak the color for bootloaders

* Align bootloader disconnect with connect color

* add support for showing all bootloaders

* fix the pyusb check

* tweaks

* fix exception

* hide a stack trace behind -v

* add --no-bootloaders option

* add documentation for qmk console

* Apply suggestions from code review

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

* pyformat

* clean up and flesh out KNOWN_BOOTLOADERS

Co-authored-by: zvecr <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-05-08 20:56:07 -07:00
QMK Bot d0a3bca9ec Merge remote-tracking branch 'origin/master' into develop 2021-05-09 03:46:23 +00:00
QMK Bot 0e6359bce9 Merge remote-tracking branch 'origin/master' into develop 2021-05-09 03:00:40 +00:00
Zach White 767089384f Resolve a number of warnings in qmk generate-api (#12833) 2021-05-08 12:44:05 -07:00
Zach White 3e9f809988 fix some references to bin/qmk that slipped in (#12832) 2021-05-08 12:25:04 -07:00
QMK Bot a871444743 Merge remote-tracking branch 'origin/master' into develop 2021-05-08 17:27:30 +00:00
QMK Bot fd5da75bdd Merge remote-tracking branch 'origin/master' into develop 2021-05-08 16:35:59 +00:00
Barabas fca7cc1747 Added OLED fade out support (#12086) 2021-05-08 12:27:13 +02:00
QMK Bot 992b146bc4 Merge remote-tracking branch 'origin/master' into develop 2021-05-07 17:22:41 +00:00
QMK Bot 5d7b026ce2 Merge remote-tracking branch 'origin/master' into develop 2021-05-07 09:52:46 +00:00
QMK Bot 8c2db395c4 Merge remote-tracking branch 'origin/master' into develop 2021-05-06 21:08:29 +00:00
QMK Bot c820a5732c Merge remote-tracking branch 'origin/master' into develop 2021-05-06 18:17:55 +00:00
QMK Bot 447bd64013 Merge remote-tracking branch 'origin/master' into develop 2021-05-06 16:16:51 +00:00
QMK Bot 45f710f3ff Merge remote-tracking branch 'origin/master' into develop 2021-05-05 23:27:27 +00:00
QMK Bot 15f4ab6a3f Merge remote-tracking branch 'origin/master' into develop 2021-05-04 19:39:11 +00:00
QMK Bot 65ee9d1b09 Merge remote-tracking branch 'origin/master' into develop 2021-05-04 08:40:56 +00:00
QMK Bot 084d0ae96e Merge remote-tracking branch 'origin/master' into develop 2021-05-04 00:32:09 +00:00
Zach White 5d27c772fd Fix comment parsing (#12750)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-05-03 19:09:53 +02:00
QMK Bot 0ec438289d Merge remote-tracking branch 'origin/master' into develop 2021-05-02 15:59:41 +00:00
QMK Bot 79e86adfb6 Merge remote-tracking branch 'origin/master' into develop 2021-05-02 15:44:16 +00:00
github-actions[bot] f5b6bef4b3 [CI] Format code according to conventions (#12772)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-05-02 05:15:50 +10:00
XScorpion2 3c2e69af79 Fixing transport's led/rgb matrix suspend state logic (#12770) 2021-05-01 12:14:17 -07:00
QMK Bot e9b0e9286e Merge remote-tracking branch 'origin/master' into develop 2021-05-01 01:00:34 +00:00
QMK Bot 876352a030 Merge remote-tracking branch 'origin/master' into develop 2021-04-30 20:24:18 +00:00
QMK Bot 109b462789 Merge remote-tracking branch 'origin/master' into develop 2021-04-30 17:46:15 +00:00
QMK Bot fc29068986 Merge remote-tracking branch 'origin/master' into develop 2021-04-29 18:26:09 +00:00
QMK Bot c05fef752e Merge remote-tracking branch 'origin/master' into develop 2021-04-29 16:55:32 +00:00
QMK Bot 9d5cd52284 Merge remote-tracking branch 'origin/master' into develop 2021-04-29 16:49:03 +00:00
QMK Bot b481f554a0 Merge remote-tracking branch 'origin/master' into develop 2021-04-29 10:39:51 +00:00
github-actions[bot] 39bc8163d0 [CI] Format code according to conventions (#12731)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-04-29 13:36:47 +10:00
Drashna Jaelre d8167779cd Change RGB/LED Matrix to use a simple define for USB suspend (#12697) 2021-04-29 12:39:54 +10:00
QMK Bot 7409f03cbf Merge remote-tracking branch 'origin/master' into develop 2021-04-28 10:46:45 +00:00
Nick Brassel 0a8e37509b Fix bad PR merge for #6580. (#12721) 2021-04-28 11:42:53 +01:00
QMK Bot cd6168ee64 Merge remote-tracking branch 'origin/master' into develop 2021-04-28 01:39:39 +00:00
QMK Bot d89d341541 Merge remote-tracking branch 'origin/master' into develop 2021-04-27 20:55:11 +00:00
QMK Bot e95c76aaed Merge remote-tracking branch 'origin/master' into develop 2021-04-27 19:37:23 +00:00
QMK Bot eea33df1f9 Merge remote-tracking branch 'origin/master' into develop 2021-04-27 18:37:47 +00:00
QMK Bot 3e43a7f044 Merge remote-tracking branch 'origin/master' into develop 2021-04-27 17:42:03 +00:00
QMK Bot f30637ee11 Merge remote-tracking branch 'origin/master' into develop 2021-04-27 17:24:11 +00:00
QMK Bot 86ab4fcb71 Merge remote-tracking branch 'origin/master' into develop 2021-04-27 06:45:17 +00:00
QMK Bot a8c0954db5 Merge remote-tracking branch 'origin/master' into develop 2021-04-26 19:18:51 +00:00
QMK Bot 171f3e840b Merge remote-tracking branch 'origin/master' into develop 2021-04-26 17:24:58 +00:00
JTM 54c1548247 Updated Function96 with V2 files and removed chconf.h and halconf.h (#12613)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: JuanTapMan <68515848+JuanTapMan@users.noreply.github.com>
2021-04-26 10:38:13 +02:00
Xelus22 9cf82fae95 Add STM32L433 and L443 support (#12063)
* initial L433 commit

* change to XC

* fix L433

* disable all peripherals

* update system and peripheral clocks

* 433 change

* use its own board  files

* revert its own board files

* l433 specific change

* fix stm32l432xx define

* remove duplicate #define

* fix bootloader jump

* move to L443xx and add i2c2, spi2, usart3 to mcuconf.h

* move to L443

* move to L443

* fix sdmmc in mcuconf.h

* include STM32L443

* add L443

* Include L443 in compatible microcontrollers

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

* Include L443 in compatible microcontrollers

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

* Update config bootloader jump description

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

* Update ChibiOS define reasoning

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

* Update quantum/mcu_selection.mk

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

* fix git conflict

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-04-26 13:07:15 +10:00
QMK Bot 5168af9a9b Merge remote-tracking branch 'origin/master' into develop 2021-04-26 02:52:29 +00:00
QMK Bot 61a1915cce Merge remote-tracking branch 'origin/master' into develop 2021-04-25 20:46:54 +00:00
github-actions[bot] 03db48af75 Format code according to conventions (#12687)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-04-25 19:01:49 +10:00
github-actions[bot] 8c12fa2e59 Format code according to conventions (#12682)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-04-25 19:00:22 +10:00
Purdea Andrei 3f7350732c Add support for MCU = STM32F446 (#12619)
* Add support for MCU = STM32F446

* Update platforms/chibios/GENERIC_STM32_F446XE/configs/config.h

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

* Restore mcuconf.h to the one used by RT-STM32F446RE-NUCLEO64

* stm32f446: update mcuconf.h and board.h for 16MHz operation, with USB enabled, and other peripherals disabled.

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-04-25 18:59:25 +10:00
QMK Bot 5b1c3e360a Merge remote-tracking branch 'origin/master' into develop 2021-04-25 08:57:56 +00:00
Purdea Andrei 412e7a03e4 eeprom driver: Refactor where eeprom driver initialisation (and EEPROM emulation initialisation) occurs to make it non-target-specific. (#12671) 2021-04-25 18:57:49 +10:00
QMK Bot 23e70fa857 Merge remote-tracking branch 'origin/master' into develop 2021-04-25 04:03:14 +00:00
QMK Bot ee26e3df60 Merge remote-tracking branch 'origin/master' into develop 2021-04-25 04:00:00 +00:00
QMK Bot ab6d07b585 Merge remote-tracking branch 'origin/master' into develop 2021-04-25 03:42:04 +00:00
Nick Brassel 891d18d356 Add initial support for tinyuf2 bootloader (when hosted on F411 blackpill) (#12600)
* Add support for jumping to tinyuf2 bootloader. Adds blackpill UF2 example.

* Update flashing.md

* Update chconf.h

* Update config.h

* Update halconf.h

* Update mcuconf.h
2021-04-25 13:40:56 +10:00
QMK Bot 2a61a500de Merge remote-tracking branch 'origin/master' into develop 2021-04-25 03:16:16 +00:00
QMK Bot 64a9cf18e1 Merge remote-tracking branch 'origin/master' into develop 2021-04-25 03:12:09 +00:00
QMK Bot 19b3aa3a12 Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:48:16 +00:00
QMK Bot 7718b1598e Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:16:24 +00:00
Sergey Vlasov 65c9752762 Update ADC driver for STM32F1xx, STM32F3xx, STM32F4xx (#12403)
* Fix default ADC_RESOLUTION for ADCv3 (and ADCv4)

Recent ChibiOS update removed ADC_CFGR1_RES_10BIT from the ADCv3 headers
(that macro should not have been there, because ADCv3 has CFGR instead of
CFGR1).  Fix the default value for ADC_RESOLUTION to use ADC_CFGR_RES_10BITS
if it is defined (that name is used for ADCv3 and ADCv4).

* Update ADC docs to match the actually used resolution

ADC driver for ChibiOS actually uses the 10-bit resolution by default
(probably to match AVR); fix the documentation accordingly.  Also add
both ADC_CFGR_RES_10BITS and ADC_CFGR1_RES_10BIT constants (these names
differ according to the ADC implementation in the particular MCU).

* Fix pinToMux() for B12 and B13 on STM32F3xx

Testing on STM32F303CCT6 revealed that the ADC mux values for B12 and
B13 pins were wrong.

* Add support for all possible analog pins on STM32F1xx

Added ADC mux values for pins A0...A7, B0, B1, C0...C5 on STM32F1xx
(they are the same at least for STM32F103x8 and larger F103 devices, and
also F102, F105, F107 families).  Actually tested on STM32F103C8T6
(therefore pins C0...C5 were not tested).

Pins F6...F10, which are present on STM32F103x[C-G] in 144-pin packages,
cannot be supported at the moment, because those pins are connected only
to ADC3, but the ChibiOS ADC driver for STM32F1xx supports only ADC1.

* Add support for all possible analog pins on STM32F4xx

Added ADC mux values for pins A0...A7, B0, B1, C0...C5 and optionally
F3...F10 (if STM32_ADC_USE_ADC3 is enabled).  These mux values are
apparently the same for all F4xx devices, except some smaller devices may
not have ADC3.

Actually tested on STM32F401CCU6, STM32F401CEU6, STM32F411CEU6 (using
various WeAct “Blackpill” boards); only pins A0...A7, B0, B1 were tested.

Pins F3...F10 are inside `#if STM32_ADC_USE_ADC3` because some devices
which don't have ADC3 also don't have the GPIOF port, therefore the code
which refers to Fx pins does not compile.

* Fix STM32F3xx ADC mux table in documentation

The ADC driver documentation had some errors in the mux table for STM32F3xx.
Fix this table to match the datasheet and the actual code (mux settings for
B12 and B13 were also tested on a real STM32F303CCT6 chip).

* Add STM32F1xx ADC pins to the documentation

* Add STM32F4xx ADC pins to the documentation
2021-04-25 11:15:37 +10:00
QMK Bot f12aea5dfb Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:14:55 +00:00
QMK Bot 7845cf1fac Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:05:05 +00:00
QMK Bot 33a5468a60 Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:02:27 +00:00
QMK Bot 34b63cecb1 Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:01:19 +00:00
QMK Bot 7748a093cb Merge remote-tracking branch 'origin/master' into develop 2021-04-25 01:00:39 +00:00
github-actions[bot] d8f113bf98 Format code according to conventions (#12680)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-04-25 10:34:38 +10:00
Daniel Rodríguez Rivero 26b9b3aa23 feat: infinite timeout for leader key (#6580)
* feat: implement leader_no_timeout logic

* docs(leader_key): infinite leader timeout docs
2021-04-25 10:22:47 +10:00
QMK Bot 8f5cc8d762 Merge remote-tracking branch 'origin/master' into develop 2021-04-22 21:16:12 +00:00
QMK Bot 6be87836dc Merge remote-tracking branch 'origin/master' into develop 2021-04-22 17:14:44 +00:00
QMK Bot 417803d7ae Merge remote-tracking branch 'origin/master' into develop 2021-04-22 14:58:49 +00:00
github-actions[bot] 15ff1927db [CI] Format code according to conventions (#12650)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-04-22 19:26:17 +10:00
Ryan d6ab908272 LED Matrix: Split (#12633) 2021-04-22 19:21:13 +10:00
QMK Bot 5d458c6c8a Merge remote-tracking branch 'origin/master' into develop 2021-04-21 23:51:07 +00:00
QMK Bot fbc5a6c24b Merge remote-tracking branch 'origin/master' into develop 2021-04-20 19:02:29 +00:00
QMK Bot 15872bde61 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 18:13:34 +00:00
QMK Bot b09d068bf6 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:52:32 +00:00
QMK Bot f7f8f97e6a Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:50:40 +00:00
QMK Bot 2927af43e1 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:48:10 +00:00
QMK Bot 7795e167ab Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:46:58 +00:00
QMK Bot b68ed9ebea Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:25:10 +00:00
QMK Bot ed59337239 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:23:34 +00:00
QMK Bot 120b15458c Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:23:01 +00:00
QMK Bot 19887f2d35 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:22:13 +00:00
QMK Bot a9e6dc3629 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 17:18:12 +00:00
Michael Stapelberg c922fc2cf3 [Keyboard] kint2pp: reduce input latency by ≈10ms (#12625) 2021-04-20 10:08:29 -07:00
Michael Stapelberg 3d32cbb0dc [Keyboard] kint36: switch to sym_eager_pk debouncing (#12626) 2021-04-20 10:08:01 -07:00
QMK Bot 8da2c48650 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 16:59:38 +00:00
QMK Bot 5aa3fd5ac7 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 16:57:07 +00:00
QMK Bot 6620b6c515 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 16:32:55 +00:00
QMK Bot e31f210b59 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 16:24:28 +00:00
QMK Bot 39e80a3f5c Merge remote-tracking branch 'origin/master' into develop 2021-04-20 16:15:59 +00:00
QMK Bot bc66d71dae Merge remote-tracking branch 'origin/master' into develop 2021-04-20 16:12:25 +00:00
QMK Bot 427bff8504 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 15:18:18 +00:00
Ryan cb19c0906e LED Matrix: Reactive effect buffers & advanced indicators (#12588) 2021-04-20 17:38:44 +10:00
QMK Bot b1f48da5ee Merge remote-tracking branch 'origin/master' into develop 2021-04-20 04:13:18 +00:00
Drashna Jaelre c02137a0d2 Add Per Key functionality for AutoShift (#11536)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-04-19 20:34:14 -07:00
QMK Bot 49efd6abb0 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 02:40:47 +00:00
QMK Bot 663664e48f Merge remote-tracking branch 'origin/master' into develop 2021-04-19 18:04:50 +00:00
QMK Bot c3d1456615 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 16:40:51 +00:00
Purdea Andrei dcb8407ed6 Apply the "NO_LIMITED_CONTROLLER_CONNECT" fix to atmega16u2 (#12482)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-04-19 09:33:24 -07:00
github-actions[bot] 230f09ca17 [CI] Format code according to conventions (#12623)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-04-19 20:19:16 +10:00
QMK Bot d562b4fdc5 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 10:15:56 +00:00
QMK Bot 46318f36ac Merge remote-tracking branch 'origin/master' into develop 2021-04-19 09:23:28 +00:00
QMK Bot 97e7defaae Merge remote-tracking branch 'origin/master' into develop 2021-04-19 09:22:54 +00:00
QMK Bot 56fff80e71 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 09:21:56 +00:00
QMK Bot 42808238c1 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 09:20:46 +00:00
QMK Bot 34df6743f6 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 08:21:39 +00:00
QMK Bot 2c0b3649fb Merge remote-tracking branch 'origin/master' into develop 2021-04-19 07:32:45 +00:00
QMK Bot 0235fc7ab2 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 06:43:21 +00:00
Drashna Jaelre 180a32ec59 Enhancement of WPM feature (#11727) 2021-04-18 23:26:37 -07:00
QMK Bot f65a5d2fb5 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 06:18:08 +00:00
QMK Bot 6e5fd1a210 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 06:13:00 +00:00
QMK Bot a66947b7d6 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 06:12:34 +00:00
QMK Bot 86ece8e98e Merge remote-tracking branch 'origin/master' into develop 2021-04-19 06:04:50 +00:00
QMK Bot 5632c5db31 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 06:00:42 +00:00
QMK Bot ca9da27e16 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 05:44:51 +00:00
QMK Bot 54521bd04b Merge remote-tracking branch 'origin/master' into develop 2021-04-19 05:31:08 +00:00
QMK Bot 2e7fd319a1 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 05:25:03 +00:00
QMK Bot 21997e8894 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 05:05:55 +00:00
QMK Bot ea29874099 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 04:54:01 +00:00
QMK Bot ca11abc201 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 04:02:42 +00:00
QMK Bot 8ecdc66700 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 03:54:31 +00:00
QMK Bot 9484c46555 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 03:45:01 +00:00
QMK Bot c2d7ebc3df Merge remote-tracking branch 'origin/master' into develop 2021-04-19 03:37:16 +00:00
QMK Bot 7728b0f966 Merge remote-tracking branch 'origin/master' into develop 2021-04-19 03:08:31 +00:00
QMK Bot 0a9e18fae1 Merge remote-tracking branch 'origin/master' into develop 2021-04-18 22:40:16 +00:00
QMK Bot 924b9fcf05 Merge remote-tracking branch 'origin/master' into develop 2021-04-18 22:23:25 +00:00
QMK Bot 884f8658ef Merge remote-tracking branch 'origin/master' into develop 2021-04-18 22:14:59 +00:00
QMK Bot 99ce84827a Merge remote-tracking branch 'origin/master' into develop 2021-04-18 15:52:15 +00:00
QMK Bot 7f809c013a Merge remote-tracking branch 'origin/master' into develop 2021-04-17 15:47:13 +00:00
QMK Bot 40365f8297 Merge remote-tracking branch 'origin/master' into develop 2021-04-16 14:26:52 +00:00
QMK Bot 1ac030b119 Merge remote-tracking branch 'origin/master' into develop 2021-04-16 14:24:18 +00:00
Joshua Diamond e2289ffac0 Add missing RGB_MODE_TWINKLE / RGB_M_TW keycodes (#11935)
* Add missing RGB_MODE_TWINKLE / RGB_M_TW keycodes

* Better comment

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-04-15 19:32:17 -04:00
QMK Bot 1629c9b71a Merge remote-tracking branch 'origin/master' into develop 2021-04-15 17:20:12 +00:00
QMK Bot 42a57b37fb Merge remote-tracking branch 'origin/master' into develop 2021-04-15 17:05:00 +00:00
QMK Bot be1b5c5a54 Merge remote-tracking branch 'origin/master' into develop 2021-04-15 17:01:54 +00:00
Ryan 53eb35b6cf LED Matrix: Task system (#12580) 2021-04-15 12:08:52 +10:00
QMK Bot 2c0aa27e6c Merge remote-tracking branch 'origin/master' into develop 2021-04-15 02:00:59 +00:00
QMK Bot 19b143688f Merge remote-tracking branch 'origin/master' into develop 2021-04-14 21:51:45 +00:00
QMK Bot 3c08d27abb Merge remote-tracking branch 'origin/master' into develop 2021-04-14 20:39:01 +00:00
QMK Bot 98dd9b6614 Merge remote-tracking branch 'origin/master' into develop 2021-04-14 03:09:16 +00:00
QMK Bot 4ed273699a Merge remote-tracking branch 'origin/master' into develop 2021-04-14 01:32:38 +00:00
github-actions[bot] 333cd4ec9b [CI] Format code according to conventions (#12570)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-04-13 19:58:34 +10:00
QMK Bot 30f38c4952 Merge remote-tracking branch 'origin/master' into develop 2021-04-13 09:52:45 +00:00
Ryan a28fbcda23 Terrazzo: Fix wrong LED Matrix function names (#12561) 2021-04-13 19:51:31 +10:00
Ryan ce99f98bb5 LED Matrix: suspend code (#12509) 2021-04-13 19:51:03 +10:00
Dave Vandyke 15f7cc3bde [Keymap] Add kzar keymap for Kinesis Advantage (#12444) 2021-04-13 11:39:39 +02:00
James Young a8d64c8b89 Change BOOTMAGIC_ENABLE=yes to use Bootmagic Lite (#12172) 2021-04-12 21:18:52 +02:00
QMK Bot f5aaecfdfc Merge remote-tracking branch 'origin/master' into develop 2021-04-12 18:41:12 +00:00
QMK Bot ebdf750cdd Merge remote-tracking branch 'origin/master' into develop 2021-04-12 17:56:32 +00:00
QMK Bot 79bdfc1110 Merge remote-tracking branch 'origin/master' into develop 2021-04-11 10:51:12 +00:00
QMK Bot 90875997ac Merge remote-tracking branch 'origin/master' into develop 2021-04-11 10:49:39 +00:00
QMK Bot f02af23973 Merge remote-tracking branch 'origin/master' into develop 2021-04-11 10:47:14 +00:00
QMK Bot c9d7a4af45 Merge remote-tracking branch 'origin/master' into develop 2021-04-11 10:45:56 +00:00
QMK Bot 34323ecd8b Merge remote-tracking branch 'origin/master' into develop 2021-04-10 16:34:58 +00:00
QMK Bot d5a8431af4 Merge remote-tracking branch 'origin/master' into develop 2021-04-10 15:04:12 +00:00
QMK Bot 2e2dd3113b Merge remote-tracking branch 'origin/master' into develop 2021-04-10 13:23:47 +00:00
QMK Bot 11e5bb2d8a Merge remote-tracking branch 'origin/master' into develop 2021-04-10 05:58:04 +00:00
QMK Bot 29d537ce7b Merge remote-tracking branch 'origin/master' into develop 2021-04-10 00:38:17 +00:00
QMK Bot 688fb1999b Merge remote-tracking branch 'origin/master' into develop 2021-04-09 21:36:55 +00:00
QMK Bot bcfa3fb9f2 Merge remote-tracking branch 'origin/master' into develop 2021-04-09 21:32:31 +00:00
QMK Bot 58afb87288 Merge remote-tracking branch 'origin/master' into develop 2021-04-09 19:05:51 +00:00
QMK Bot 0a453194e8 Merge remote-tracking branch 'origin/master' into develop 2021-04-09 18:49:03 +00:00
QMK Bot 3190c2f98d Merge remote-tracking branch 'origin/master' into develop 2021-04-09 02:42:00 +00:00
QMK Bot d4b3d00d88 Merge remote-tracking branch 'origin/master' into develop 2021-04-08 16:48:07 +00:00
QMK Bot 15674d0259 Merge remote-tracking branch 'origin/master' into develop 2021-04-08 04:16:47 +00:00
QMK Bot 52e8875eba Merge remote-tracking branch 'origin/master' into develop 2021-04-07 13:58:12 +00:00
Ryan 40c314fe5c LED Matrix: Implement CIE1931 curve (#12417) 2021-04-07 20:06:11 +10:00
QMK Bot 69bc465ace Merge remote-tracking branch 'origin/master' into develop 2021-04-07 10:04:21 +00:00
Nick Brassel 96acb499d2 Fix up builds that are now too big for develop branch. (#12495) 2021-04-06 16:39:31 +10:00
Nick Brassel 64a0f5a659 Add support for producing UF2-format binaries. (#12435)
* First stab at enabling builds of UF2-format binaries.

* Add description on producing a UF2 file.
2021-04-06 16:39:15 +10:00
QMK Bot 3ce8c9fc8f Merge remote-tracking branch 'origin/master' into develop 2021-04-04 09:10:07 +00:00
QMK Bot 8428cedc83 Merge remote-tracking branch 'origin/master' into develop 2021-04-03 19:43:05 +00:00
QMK Bot 9bedc6300d Merge remote-tracking branch 'origin/master' into develop 2021-04-03 16:29:37 +00:00
QMK Bot cc4066189a Merge remote-tracking branch 'origin/master' into develop 2021-04-03 16:16:12 +00:00
github-actions[bot] 733c861052 Format code according to conventions (#12467)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-04-03 08:35:26 -07:00
QMK Bot dd7f18f65f Merge remote-tracking branch 'origin/master' into develop 2021-04-03 15:29:28 +00:00
QMK Bot e90ec6a474 Merge remote-tracking branch 'origin/master' into develop 2021-04-03 13:51:51 +00:00
fauxpark 638cc50727 Merge remote-tracking branch 'upstream/master' into develop 2021-04-03 20:15:54 +11:00
QMK Bot 1444ebb7f1 Merge remote-tracking branch 'origin/master' into develop 2021-04-03 06:20:42 +00:00
QMK Bot 028a0dcd3d Merge remote-tracking branch 'origin/master' into develop 2021-04-03 05:12:49 +00:00
QMK Bot 655927ab15 Merge remote-tracking branch 'origin/master' into develop 2021-04-03 05:06:28 +00:00
QMK Bot 051e23c782 Merge remote-tracking branch 'origin/master' into develop 2021-04-03 04:45:06 +00:00
QMK Bot 887d0fca0e Merge remote-tracking branch 'origin/master' into develop 2021-04-03 04:21:01 +00:00
QMK Bot 358b040157 Merge remote-tracking branch 'origin/master' into develop 2021-04-03 04:18:44 +00:00
QMK Bot 184c553cab Merge remote-tracking branch 'origin/master' into develop 2021-04-03 03:59:15 +00:00
QMK Bot fc8495a744 Merge remote-tracking branch 'origin/master' into develop 2021-04-03 03:57:51 +00:00
QMK Bot 428e9e7886 Merge remote-tracking branch 'origin/master' into develop 2021-04-03 03:48:53 +00:00
QMK Bot d475f04c78 Merge remote-tracking branch 'origin/master' into develop 2021-04-03 03:44:40 +00:00
QMK Bot 39e1b5b962 Merge remote-tracking branch 'origin/master' into develop 2021-04-03 02:04:56 +00:00
QMK Bot c375ae3ec7 Merge remote-tracking branch 'origin/master' into develop 2021-04-03 02:03:00 +00:00
QMK Bot f561b857f2 Merge remote-tracking branch 'origin/master' into develop 2021-04-03 00:52:10 +00:00
Ryan 8880e89bcd Big quantum_keycodes cleanup (#12249) 2021-04-02 17:45:56 -07:00
QMK Bot 4c981953ac Merge remote-tracking branch 'origin/master' into develop 2021-04-03 00:26:01 +00:00
QMK Bot 41723340de Merge remote-tracking branch 'origin/master' into develop 2021-04-02 21:45:17 +00:00
QMK Bot 56560a859b Merge remote-tracking branch 'origin/master' into develop 2021-04-02 21:26:07 +00:00
QMK Bot 65fab0ef5b Merge remote-tracking branch 'origin/master' into develop 2021-04-02 21:24:42 +00:00
QMK Bot 6e531d0ccc Merge remote-tracking branch 'origin/master' into develop 2021-04-02 10:45:01 +00:00
QMK Bot c1ea97e15d Merge remote-tracking branch 'origin/master' into develop 2021-04-01 01:59:03 +00:00
QMK Bot da51302345 Merge remote-tracking branch 'origin/master' into develop 2021-03-31 13:09:34 +00:00
Michael Stapelberg 9d3b11d485 add kinesis/kint36 (#10171)
This moves the config_common.h into the files that include ../config.h,
so that the kint36/config.h does not include it (which would cause
compilation errors).
2021-03-31 10:41:41 +11:00
QMK Bot a8889718aa Merge remote-tracking branch 'origin/master' into develop 2021-03-30 23:17:00 +00:00
QMK Bot 1704eb16cd Merge remote-tracking branch 'origin/master' into develop 2021-03-30 22:34:06 +00:00
Michael Stapelberg e95a4f4f52 core: add pin_defs for MK66F18 (#12419)
This is in preparation for https://github.com/qmk/qmk_firmware/pull/10171
2021-03-30 21:11:40 +11:00
QMK Bot c738d60cef Merge remote-tracking branch 'origin/master' into develop 2021-03-29 03:46:52 +00:00
Ryan 2ae38e9c43 LED Matrix: Config functions (#12361) 2021-03-28 17:59:44 +11:00
QMK Bot 0d1162f180 Merge remote-tracking branch 'origin/master' into develop 2021-03-27 15:56:21 +00:00
QMK Bot ea472b46c9 Merge remote-tracking branch 'origin/master' into develop 2021-03-27 08:04:42 +00:00
QMK Bot 76f8e84edd Merge remote-tracking branch 'origin/master' into develop 2021-03-26 17:58:46 +00:00
QMK Bot 3d957a33fa Merge remote-tracking branch 'origin/master' into develop 2021-03-26 12:37:54 +00:00
QMK Bot 0eb36b5e9a Merge remote-tracking branch 'origin/master' into develop 2021-03-26 02:22:03 +00:00
github-actions[bot] 67252c246c Format code according to conventions (#12381)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-03-25 23:44:37 +11:00
Oleg Senchenko b05565f368 Fix connection issue in split keyboards when slave and OLED display are connected via I2C, fix #9335 (#11487)
* In split keyboards fix connection issue when slave and OLED are connected via I2C. Fix #9335

* Revert "In split keyboards fix connection issue when slave and OLED are connected via I2C. Fix #9335"

This reverts commit 3ee639e1f35fb0fe257fc3ba1095124e039af7d7.

* In split keyboards fix connection issue when slave and OLED are connected via I2C. Fix #9335

* Update drivers/oled/oled_driver.c

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

Co-authored-by: osenchenko <osechenko@chiefmate.io>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-03-25 23:42:25 +11:00
QMK Bot e2b652d95f Merge remote-tracking branch 'origin/master' into develop 2021-03-25 12:41:48 +00:00
QMK Bot 56dee4acc6 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 12:40:23 +00:00
QMK Bot d0d77e8c60 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 12:39:14 +00:00
Liyang HU 3143846ba4 keyboards/xd60/readme.md: link to schematic on EasyEDA (#12018) 2021-03-25 23:38:54 +11:00
QMK Bot 25f1a3d759 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 12:20:42 +00:00
QMK Bot 5a0be4c6d8 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 12:14:17 +00:00
QMK Bot 2df1b124a7 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 12:11:36 +00:00
QMK Bot f2729e8974 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 12:08:38 +00:00
QMK Bot aa85b5ee1e Merge remote-tracking branch 'origin/master' into develop 2021-03-25 12:05:42 +00:00
QMK Bot fd24546787 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 12:04:35 +00:00
QMK Bot 9294c5aa0a Merge remote-tracking branch 'origin/master' into develop 2021-03-25 12:03:24 +00:00
QMK Bot 712c9fc848 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 12:02:24 +00:00
QMK Bot 96a6214316 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 12:01:35 +00:00
QMK Bot d2b405066d Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:55:36 +00:00
QMK Bot ea1ed13bc8 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:53:33 +00:00
QMK Bot 6ad0b004fa Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:52:32 +00:00
QMK Bot c3483458fe Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:51:33 +00:00
QMK Bot ba5aacbb95 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:50:49 +00:00
QMK Bot a2165b38a0 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:49:40 +00:00
QMK Bot e86b7d0c13 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:47:36 +00:00
QMK Bot 5bc5921af4 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:46:26 +00:00
QMK Bot 76db2bb39b Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:44:56 +00:00
QMK Bot a3760c0891 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:39:24 +00:00
QMK Bot a747ef966b Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:38:44 +00:00
QMK Bot 87f6df0655 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:36:57 +00:00
QMK Bot 25b7a5d531 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:36:29 +00:00
QMK Bot c7436e667d Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:35:49 +00:00
QMK Bot 183dde75de Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:35:06 +00:00
QMK Bot 8086837f69 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:34:28 +00:00
XScorpion2 ff41c22fdc Adding keyboard level weak function for slave matrix scan (#12317) 2021-03-25 22:33:18 +11:00
QMK Bot 2f6236d1ea Merge remote-tracking branch 'origin/master' into develop 2021-03-25 11:31:17 +00:00
QMK Bot 921f1ba4cf Merge remote-tracking branch 'origin/master' into develop 2021-03-25 07:06:41 +00:00
QMK Bot 1bb04ea598 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 05:29:33 +00:00
QMK Bot 600fc8be2b Merge remote-tracking branch 'origin/master' into develop 2021-03-25 03:34:00 +00:00
QMK Bot c823160d94 Merge remote-tracking branch 'origin/master' into develop 2021-03-25 01:33:46 +00:00
QMK Bot d6b18ebfe7 Merge remote-tracking branch 'origin/master' into develop 2021-03-24 19:47:14 +00:00
QMK Bot b515651feb Merge remote-tracking branch 'origin/master' into develop 2021-03-24 19:39:16 +00:00
QMK Bot 0dc0516f0c Merge remote-tracking branch 'origin/master' into develop 2021-03-24 16:27:28 +00:00
QMK Bot 743d6c430b Merge remote-tracking branch 'origin/master' into develop 2021-03-24 10:13:37 +00:00
QMK Bot 87aa3282f0 Merge remote-tracking branch 'origin/master' into develop 2021-03-24 09:07:46 +00:00
QMK Bot bbc48b0ef5 Merge remote-tracking branch 'origin/master' into develop 2021-03-24 04:25:05 +00:00
Ryan bd18405cf0 LED Matrix: Fix up eeconfig code (#12327) 2021-03-24 13:09:56 +11:00
QMK Bot dd5a732eac Merge remote-tracking branch 'origin/master' into develop 2021-03-24 02:04:16 +00:00
QMK Bot 862b01d4c0 Merge remote-tracking branch 'origin/master' into develop 2021-03-24 02:00:40 +00:00
QMK Bot 9afbbf21fd Merge remote-tracking branch 'origin/master' into develop 2021-03-23 18:19:00 +00:00
QMK Bot b2cfb629e4 Merge remote-tracking branch 'origin/master' into develop 2021-03-23 15:11:57 +00:00
QMK Bot 34423580e0 Merge remote-tracking branch 'origin/master' into develop 2021-03-23 07:01:25 +00:00
QMK Bot e6d83644e8 Merge remote-tracking branch 'origin/master' into develop 2021-03-23 01:59:02 +00:00
QMK Bot fe58770df8 Merge remote-tracking branch 'origin/master' into develop 2021-03-21 02:43:41 +00:00
Donald Kjer 00a0c81f8e Durgod keyboard refactor in preparation for adding additional durgod keyboards (#11978)
* Durgod keyboard refactor in preparation for adding additional durgod keyboards

* Moving Durgod board configuration into a common location
* Reformatting layout macro whitespace
* Moving TGUI key functionality to the keyboard level
* Replacing default keymap.c with keymap.json
* Changing default and default_toggle_mac_windows keymaps to LAYOUT_all
* Increasing EEPROM size to support more VIA layers
* Fixing media keys; KC_MRWD/KC_MFFD => KC_MPRV/KC_NXT

* Move ISO Enter key to the correct row in Durgod K320

* Minor whitespace and readme cleanup for K320

* Changing durgod/k320 debounce back to default

* Simplifying DURGOD_STM32_F070's chconf.h

Co-authored-by: Simon Arlott <sa.me.uk>
Co-authored-by: Tyler Tidman <tyler.tidman@draak.ca>
2021-03-21 11:11:22 +11:00
QMK Bot 945b7a0613 Merge remote-tracking branch 'origin/master' into develop 2021-03-20 03:53:28 +00:00
Ryan ed28795651 LED Matrix: Additional common_features.mk tweaks (#12187) 2021-03-20 14:52:33 +11:00
QMK Bot 9d547a8443 Merge remote-tracking branch 'origin/master' into develop 2021-03-20 00:13:10 +00:00
QMK Bot c2dc3008b5 Merge remote-tracking branch 'origin/master' into develop 2021-03-19 19:37:22 +00:00
github-actions[bot] 32f0567ca5 Format code according to conventions (#12292)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-03-19 16:24:36 +00:00
Xelus22 6f7466b6dd ARM WS2812 SPI config (baudrate and circular buffer) (#12216)
* initial commit

* include circular buffer command

* add endif

* circular buffer mode

* remove untrue comment

* revamp and add documentation

* do not allow WS2812_SPI_SYNC & CIRCULAR_BUFFER
2021-03-19 19:29:18 +11:00
Zach White f2715a0593 Consistently use bin/qmk when that script is called (#12286)
* Pass QMK_BIN down to build_keyboard.mk

* choose the correct qmk script
2021-03-18 16:10:40 -07:00
QMK Bot 90b1e271a8 Merge remote-tracking branch 'origin/master' into develop 2021-03-18 17:25:01 +00:00
QMK Bot d97a9fb4ff Merge remote-tracking branch 'origin/master' into develop 2021-03-18 14:26:24 +00:00
QMK Bot 6d050b7282 Merge remote-tracking branch 'origin/master' into develop 2021-03-18 13:17:59 +00:00
QMK Bot 74c89de3e9 Merge remote-tracking branch 'origin/master' into develop 2021-03-18 03:38:43 +00:00
QMK Bot af5c10ef0c Merge remote-tracking branch 'origin/master' into develop 2021-03-18 01:29:25 +00:00
QMK Bot 4aa57e9e46 Merge remote-tracking branch 'origin/master' into develop 2021-03-18 00:48:52 +00:00
QMK Bot d0c2f3c403 Merge remote-tracking branch 'origin/master' into develop 2021-03-17 22:33:49 +00:00
QMK Bot 31b657e8ea Merge remote-tracking branch 'origin/master' into develop 2021-03-17 17:08:39 +00:00
QMK Bot 3367705ac2 Merge remote-tracking branch 'origin/master' into develop 2021-03-17 17:02:38 +00:00
QMK Bot 6671344602 Merge remote-tracking branch 'origin/master' into develop 2021-03-17 16:44:59 +00:00
XScorpion2 60837c9d0f [Keyboard] Split RGB Matrix Zygomorph support (#11083) 2021-03-16 23:56:39 -07:00
QMK Bot d4ac56226d Merge remote-tracking branch 'origin/master' into develop 2021-03-17 06:50:58 +00:00
QMK Bot 29589ce832 Merge remote-tracking branch 'origin/master' into develop 2021-03-17 06:48:33 +00:00
QMK Bot 5e7a7c7e2f Merge remote-tracking branch 'origin/master' into develop 2021-03-17 06:47:59 +00:00
QMK Bot 71b38e0cee Merge remote-tracking branch 'origin/master' into develop 2021-03-17 06:32:31 +00:00
QMK Bot 8c00003466 Merge remote-tracking branch 'origin/master' into develop 2021-03-17 06:23:19 +00:00
QMK Bot 33852d14af Merge remote-tracking branch 'origin/master' into develop 2021-03-17 06:18:20 +00:00
QMK Bot 6bc4528776 Merge remote-tracking branch 'origin/master' into develop 2021-03-17 06:01:16 +00:00
QMK Bot b4b3be4f05 Merge remote-tracking branch 'origin/master' into develop 2021-03-17 04:58:19 +00:00
QMK Bot 6817771df7 Merge remote-tracking branch 'origin/master' into develop 2021-03-17 04:57:18 +00:00
QMK Bot ed8ffa4bb4 Merge remote-tracking branch 'origin/master' into develop 2021-03-17 03:10:20 +00:00
QMK Bot 3c92142f12 Merge remote-tracking branch 'origin/master' into develop 2021-03-17 03:06:02 +00:00
QMK Bot c680c84a31 Merge remote-tracking branch 'origin/master' into develop 2021-03-17 02:50:20 +00:00
QMK Bot da752e5d7d Merge remote-tracking branch 'origin/master' into develop 2021-03-17 02:44:50 +00:00
QMK Bot cefa23e4eb Merge remote-tracking branch 'origin/master' into develop 2021-03-17 02:24:08 +00:00
QMK Bot 07ea935533 Merge remote-tracking branch 'origin/master' into develop 2021-03-17 01:39:42 +00:00
Michael Stapelberg 1d341ffbb0 core: add support for MK66F18 (Teensy 3.6) micro controller (#12258)
This is in preparation for https://github.com/qmk/qmk_firmware/pull/10171
2021-03-17 06:45:21 +11:00
QMK Bot 319031154d Merge remote-tracking branch 'origin/master' into develop 2021-03-16 07:01:35 +00:00
QMK Bot 2defbde5ab Merge remote-tracking branch 'origin/master' into develop 2021-03-15 23:10:08 +00:00
QMK Bot c12eae0c5e Merge remote-tracking branch 'origin/master' into develop 2021-03-15 23:03:53 +00:00
QMK Bot 56d193c5c8 Merge remote-tracking branch 'origin/master' into develop 2021-03-15 17:42:47 +00:00
QMK Bot c3a2a7659e Merge remote-tracking branch 'origin/master' into develop 2021-03-15 08:25:35 +00:00
QMK Bot 8b9419aaf7 Merge remote-tracking branch 'origin/master' into develop 2021-03-15 08:07:38 +00:00
QMK Bot 2f59e1c1d9 Merge remote-tracking branch 'origin/master' into develop 2021-03-15 01:21:48 +00:00
QMK Bot 998c58e89b Merge remote-tracking branch 'origin/master' into develop 2021-03-15 01:19:36 +00:00
QMK Bot 35db567c9c Merge remote-tracking branch 'origin/master' into develop 2021-03-14 21:51:52 +00:00
QMK Bot 93929e8d01 Merge remote-tracking branch 'origin/master' into develop 2021-03-14 20:19:39 +00:00
QMK Bot 75867ff164 Merge remote-tracking branch 'origin/master' into develop 2021-03-14 20:17:43 +00:00
QMK Bot 78be537eff Merge remote-tracking branch 'origin/master' into develop 2021-03-14 19:56:33 +00:00
QMK Bot d036ebeaf6 Merge remote-tracking branch 'origin/master' into develop 2021-03-14 19:24:07 +00:00
Ryan f236395176 LED Matrix: Clean up includes (#12197) 2021-03-13 11:38:26 +11:00
QMK Bot 5590c40b5b Merge remote-tracking branch 'origin/master' into develop 2021-03-13 00:38:14 +00:00
QMK Bot 71bb07d10a Merge remote-tracking branch 'origin/master' into develop 2021-03-12 22:38:13 +00:00
QMK Bot e83f4e0173 Merge remote-tracking branch 'origin/master' into develop 2021-03-12 21:58:40 +00:00
QMK Bot 0ee473afd1 Merge remote-tracking branch 'origin/master' into develop 2021-03-12 21:50:57 +00:00
QMK Bot f279f4731b Merge remote-tracking branch 'origin/master' into develop 2021-03-12 21:48:20 +00:00
QMK Bot d95df57297 Merge remote-tracking branch 'origin/master' into develop 2021-03-12 07:44:20 +00:00
QMK Bot 71f8f5048b Merge remote-tracking branch 'origin/master' into develop 2021-03-12 07:04:21 +00:00
QMK Bot 183c49f352 Merge remote-tracking branch 'origin/master' into develop 2021-03-12 06:34:50 +00:00
QMK Bot 97268662fe Merge remote-tracking branch 'origin/master' into develop 2021-03-11 18:02:34 +00:00
QMK Bot b113772bb1 Merge remote-tracking branch 'origin/master' into develop 2021-03-10 22:48:53 +00:00
Joel Challis 40c7ecfdea Move gpio wait logic to wait.h (#12067) 2021-03-10 22:47:36 +00:00
Ryan 2e24cfadb7 Remove FUNC() (#12161) 2021-03-11 05:21:28 +11:00
QMK Bot bb01ea3809 Merge remote-tracking branch 'origin/master' into develop 2021-03-10 05:18:14 +00:00
QMK Bot 25ec655162 Merge remote-tracking branch 'origin/master' into develop 2021-03-09 21:37:12 +00:00
QMK Bot 4496983233 Merge remote-tracking branch 'origin/master' into develop 2021-03-09 18:37:19 +00:00
QMK Bot 7b91af780a Merge remote-tracking branch 'origin/master' into develop 2021-03-09 16:07:25 +00:00
Ryan 9155b59e1a LED Matrix: decouple from Backlight (#12054) 2021-03-08 16:55:00 +11:00
Zach White b0069c5c05 Begin the process of deprecating bin/qmk in favor of the global cli (#12109)
* Begin the process of deprecating bin/qmk in favor of the global cli

* Correctly set the qmk bin
2021-03-07 19:10:03 -08:00
QMK Bot 7d45b7f269 Merge remote-tracking branch 'origin/master' into develop 2021-03-07 23:34:13 +00:00
QMK Bot 43b47495e3 Merge remote-tracking branch 'origin/master' into develop 2021-03-07 20:20:33 +00:00
Zach White b15288fb87 trivial change to trigger api update 2021-03-07 12:01:13 -08:00
QMK Bot e6e572bf5c Merge remote-tracking branch 'origin/master' into develop 2021-03-07 16:15:38 +00:00
QMK Bot 37d1fa53e0 Merge remote-tracking branch 'origin/master' into develop 2021-03-07 06:40:08 +00:00
QMK Bot f48d95b415 Merge remote-tracking branch 'origin/master' into develop 2021-03-07 05:26:50 +00:00
QMK Bot 5fb16e3442 Merge remote-tracking branch 'origin/master' into develop 2021-03-07 05:22:57 +00:00
QMK Bot d170a1c0e2 Merge remote-tracking branch 'origin/master' into develop 2021-03-07 05:18:28 +00:00
QMK Bot fbd6b28633 Merge remote-tracking branch 'origin/master' into develop 2021-03-06 23:57:11 +00:00
QMK Bot 56d5131715 Merge remote-tracking branch 'origin/master' into develop 2021-03-06 23:13:57 +00:00
QMK Bot bee226b3ee Merge remote-tracking branch 'origin/master' into develop 2021-03-06 21:04:21 +00:00
QMK Bot 6e19dbc923 Merge remote-tracking branch 'origin/master' into develop 2021-03-06 18:57:16 +00:00
QMK Bot cde4165097 Merge remote-tracking branch 'origin/master' into develop 2021-03-06 08:50:30 +00:00
QMK Bot c375a8d75b Merge remote-tracking branch 'origin/master' into develop 2021-03-06 06:45:23 +00:00
Drashna Jaelre b7f2f40ae5 Set default OLED Update Interval for Split Keyboards (#12107)
Because the matrix scanning is slower for splits, in general,
the frequent updating of the OLEDs can slow down the matrix scanning.
To help prevent that, set the update interval for the OLEDs to not
update as frequently.
2021-03-05 16:26:57 -08:00
QMK Bot 6e938f1f24 Merge remote-tracking branch 'origin/master' into develop 2021-03-05 22:23:19 +00:00
QMK Bot e1ce619bf7 Merge remote-tracking branch 'origin/master' into develop 2021-03-05 20:26:58 +00:00
QMK Bot 3acb3a09fc Merge remote-tracking branch 'origin/master' into develop 2021-03-05 18:43:45 +00:00
QMK Bot 7ca9604422 Merge remote-tracking branch 'origin/master' into develop 2021-03-05 18:30:41 +00:00
QMK Bot ebfd555ad1 Merge remote-tracking branch 'origin/master' into develop 2021-03-05 18:26:10 +00:00
QMK Bot f8f2cf7500 Merge remote-tracking branch 'origin/master' into develop 2021-03-05 18:04:50 +00:00
QMK Bot cc6cd394e5 Merge remote-tracking branch 'origin/master' into develop 2021-03-05 05:16:14 +00:00
QMK Bot 7e051e0619 Merge remote-tracking branch 'origin/master' into develop 2021-03-05 04:25:54 +00:00
QMK Bot a71fb6057d Merge remote-tracking branch 'origin/master' into develop 2021-03-04 23:04:36 +00:00
QMK Bot 474cffbc0f Merge remote-tracking branch 'origin/master' into develop 2021-03-04 23:00:06 +00:00
QMK Bot 4fcc709f4e Merge remote-tracking branch 'origin/master' into develop 2021-03-04 19:08:37 +00:00
QMK Bot 01c5ee6f7d Merge remote-tracking branch 'origin/master' into develop 2021-03-04 18:16:03 +00:00
QMK Bot 8f54152fab Merge remote-tracking branch 'origin/master' into develop 2021-03-04 15:20:45 +00:00
QMK Bot 54f6ff3bd5 Merge remote-tracking branch 'origin/master' into develop 2021-03-04 04:10:10 +00:00
QMK Bot d3092ced99 Merge remote-tracking branch 'origin/master' into develop 2021-03-04 01:02:37 +00:00
Nick Brassel 6c3af2670e Fixup line endings. 2021-03-04 10:35:02 +11:00
QMK Bot 6a4960889e Merge remote-tracking branch 'origin/master' into develop 2021-03-03 21:33:06 +00:00
QMK Bot 064265166c Merge remote-tracking branch 'origin/master' into develop 2021-03-03 21:32:18 +00:00
QMK Bot 9f6ce448bd Merge remote-tracking branch 'origin/master' into develop 2021-03-03 21:15:31 +00:00
QMK Bot c26344fc93 Merge remote-tracking branch 'origin/master' into develop 2021-03-03 20:38:58 +00:00
QMK Bot 4235160dcf Merge remote-tracking branch 'origin/master' into develop 2021-03-03 20:37:52 +00:00
QMK Bot 73120947cf Merge remote-tracking branch 'origin/master' into develop 2021-03-03 20:28:54 +00:00
QMK Bot 5762bc4a5f Merge remote-tracking branch 'origin/master' into develop 2021-03-03 18:52:36 +00:00
Drashna Jaelre 41933efbf0 [Keyboard] Enable RGB Matrix for Corne (#12091) 2021-03-03 10:38:21 -08:00
Sergey Vlasov 18a333ec6b Add support for complementary outputs to the WS2812 PWM driver (#11988) 2021-03-02 20:26:06 -08:00
QMK Bot 8f5d2e546e Merge remote-tracking branch 'origin/master' into develop 2021-03-03 04:07:13 +00:00
QMK Bot 4132dd87a4 Merge remote-tracking branch 'origin/master' into develop 2021-03-03 02:59:37 +00:00
github-actions[bot] d950b97115 Format code according to conventions (#12088)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-03-03 07:54:11 +11:00
XScorpion2 cde2859a65 Split RGB Matrix (#11055)
* Split RGB Matrix

* Suspend State sync for rgb matrix
2021-03-03 07:32:15 +11:00
QMK Bot 967d7c47dc Merge remote-tracking branch 'origin/master' into develop 2021-03-02 14:33:32 +00:00
QMK Bot 4c04c848b5 Merge remote-tracking branch 'origin/master' into develop 2021-03-02 14:32:29 +00:00
QMK Bot 27d2fb88ca Merge remote-tracking branch 'origin/master' into develop 2021-03-02 05:29:53 +00:00
QMK Bot de585e3109 Merge remote-tracking branch 'origin/master' into develop 2021-03-02 04:34:43 +00:00
QMK Bot e662de94f6 Merge remote-tracking branch 'origin/master' into develop 2021-03-02 03:10:19 +00:00
QMK Bot 4fedf6efbd Merge remote-tracking branch 'origin/master' into develop 2021-03-02 01:18:42 +00:00
QMK Bot 1beb6b686a Merge remote-tracking branch 'origin/master' into develop 2021-03-01 19:57:19 +00:00
github-actions[bot] 50290c78b6 Format code according to conventions (#12076)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-03-01 18:08:18 +00:00
Drashna Jaelre 0e984b6e7e Add ability to toggle One Shot functionality (#4198)
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-03-01 08:57:02 -08:00
QMK Bot 86f6f68274 Merge remote-tracking branch 'origin/master' into develop 2021-03-01 05:04:27 +00:00
QMK Bot 93a1d4f156 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 21:25:41 +00:00
QMK Bot 80e8e20a89 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 20:19:42 +00:00
QMK Bot 0efafdd408 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 20:12:15 +00:00
QMK Bot 3718f5149a Merge remote-tracking branch 'origin/master' into develop 2021-02-28 16:16:16 +00:00
QMK Bot 3b8ca5f343 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 16:01:51 +00:00
github-actions[bot] b2f5bd7c60 Format code according to conventions (#12056)
Co-authored-by: QMK Bot <hello@qmk.fm>
2021-02-28 15:53:54 +00:00
Joel Challis 5ba4391cf2 Refactor of USB code within split_common (#11890)
* Initial refactor of usb code within split_common

* Add headers

* Correct disable condition

* Format

* Align func name
2021-02-28 15:52:58 +00:00
Joel Challis 415a8bc249 ARM - Refactor SLEEP_LED to support more platforms (#8403)
* Initial refactor of ARM SLEEP_LED to enable more platforms

* fix build issues

* Disable SLEEP_LED for boards with no caps lock code

* Enable GPT14 for boards with caps lock code and SLEEP_LED enabled

* Enable GPT for boards with caps lock code and SLEEP_LED enabled
2021-02-28 15:52:43 +00:00
Joel Challis a3cbc8a004 Overhaul bootmagic logic to have single entrypoint (#8532)
* Relocate bootmagic logic to have single entrypoint

* Align init of layer state
2021-02-28 15:50:15 +00:00
QMK Bot 02dc3b6722 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 06:16:09 +00:00
QMK Bot 0f084751b4 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 06:13:59 +00:00
QMK Bot d57b44153e Merge remote-tracking branch 'origin/master' into develop 2021-02-28 06:13:24 +00:00
QMK Bot fcf1ec132f Merge remote-tracking branch 'origin/master' into develop 2021-02-28 06:12:24 +00:00
QMK Bot 4a31d0a9c9 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 06:11:35 +00:00
QMK Bot 656c39909a Merge remote-tracking branch 'origin/master' into develop 2021-02-28 06:10:56 +00:00
QMK Bot 70bdf25284 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 06:10:13 +00:00
QMK Bot 15af423d86 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 06:08:29 +00:00
QMK Bot 8428dee47e Merge remote-tracking branch 'origin/master' into develop 2021-02-28 06:07:06 +00:00
QMK Bot cf8097138e Merge remote-tracking branch 'origin/master' into develop 2021-02-28 06:05:14 +00:00
QMK Bot c4c3e774cd Merge remote-tracking branch 'origin/master' into develop 2021-02-28 06:04:19 +00:00
QMK Bot a19363ab25 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 06:03:04 +00:00
QMK Bot b6a39f61e5 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 06:02:30 +00:00
QMK Bot 13d44a2281 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 05:57:31 +00:00
QMK Bot fad596a159 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 05:51:25 +00:00
QMK Bot 55d85b89c0 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 05:50:33 +00:00
QMK Bot 43bd843f37 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 05:44:26 +00:00
QMK Bot 85dd0556d7 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 05:42:46 +00:00
QMK Bot e86e7c351d Merge remote-tracking branch 'origin/master' into develop 2021-02-28 05:39:17 +00:00
QMK Bot c2f446f40e Merge remote-tracking branch 'origin/master' into develop 2021-02-28 05:38:43 +00:00
QMK Bot d9d03d5af8 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 05:36:34 +00:00
QMK Bot b64fd093ad Merge remote-tracking branch 'origin/master' into develop 2021-02-28 05:32:12 +00:00
QMK Bot bd4b7f8b25 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 05:30:56 +00:00
QMK Bot 93d3cf52ab Merge remote-tracking branch 'origin/master' into develop 2021-02-28 05:04:17 +00:00
QMK Bot 33c7d6eb93 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 05:00:12 +00:00
QMK Bot 9525d5b5ae Merge remote-tracking branch 'origin/master' into develop 2021-02-28 04:54:08 +00:00
QMK Bot 00cb9029f5 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 04:48:45 +00:00
QMK Bot 72abf86870 Merge remote-tracking branch 'origin/master' into develop 2021-02-28 00:17:42 +00:00
QMK Bot 605fd0eda8 Merge remote-tracking branch 'origin/master' into develop 2021-02-27 23:26:10 +00:00
QMK Bot 4db695f932 Merge remote-tracking branch 'origin/master' into develop 2021-02-27 22:36:14 +00:00
QMK Bot 89936c66b0 Merge remote-tracking branch 'origin/master' into develop 2021-02-27 22:34:01 +00:00
QMK Bot 37690f2651 Merge remote-tracking branch 'origin/master' into develop 2021-02-27 22:21:12 +00:00
QMK Bot 6ae72f3980 Merge remote-tracking branch 'origin/master' into develop 2021-02-27 22:08:25 +00:00
QMK Bot 06071dc76d Merge remote-tracking branch 'origin/master' into develop 2021-02-27 22:02:34 +00:00
James Young c7a7982e23 Branch point for 2021 May 29 Breaking Change 2021-02-27 12:54:23 -08:00
9321 changed files with 222061 additions and 87526 deletions
-1
View File
@@ -22,7 +22,6 @@ keymap:
via:
- keyboards/**/keymaps/via/*
cli:
- bin/qmk
- requirements.txt
- lib/python/**/*
python:
+2 -1
View File
@@ -7,11 +7,12 @@ on:
paths:
- 'keyboards/**'
- 'layouts/community/**'
workflow_dispatch:
jobs:
api_data:
runs-on: ubuntu-latest
container: qmkfm/base_container
container: qmkfm/qmk_cli
# protect against those who develop with their fork on master
if: github.repository == 'qmk/qmk_firmware'
+2 -3
View File
@@ -8,7 +8,6 @@ on:
pull_request:
paths:
- 'lib/python/**'
- 'bin/qmk'
- 'requirements.txt'
- '.github/workflows/cli.yml'
@@ -16,7 +15,7 @@ jobs:
test:
runs-on: ubuntu-latest
container: qmkfm/base_container
container: qmkfm/qmk_cli
steps:
- uses: actions/checkout@v2
@@ -25,4 +24,4 @@ jobs:
- name: Install dependencies
run: pip3 install -r requirements-dev.txt
- name: Run tests
run: bin/qmk pytest
run: qmk pytest
+2 -1
View File
@@ -7,11 +7,12 @@ on:
paths:
- 'keyboards/**'
- 'layouts/community/**'
workflow_dispatch:
jobs:
api_data:
runs-on: ubuntu-latest
container: qmkfm/base_container
container: qmkfm/qmk_cli
# protect against those who work in their fork on develop
if: github.repository == 'qmk/qmk_firmware'
+1 -1
View File
@@ -14,7 +14,7 @@ on:
jobs:
generate:
runs-on: ubuntu-latest
container: qmkfm/base_container
container: qmkfm/qmk_cli
# protect against those who develop with their fork on master
if: github.repository == 'qmk/qmk_firmware'
+7 -7
View File
@@ -16,7 +16,7 @@ jobs:
lint:
runs-on: ubuntu-latest
container: qmkfm/base_container
container: qmkfm/qmk_cli
steps:
- uses: rlespinasse/github-slug-action@v3.x
@@ -31,12 +31,12 @@ jobs:
output: ' '
fileOutput: ' '
- name: Run qmk cformat and qmk pyformat
- name: Run qmk format-c and qmk format-python
shell: 'bash {0}'
run: |
qmk cformat --core-only -n $(< ~/files.txt)
cformat_exit=$?
qmk pyformat -n
pyformat_exit=$?
qmk format-c --core-only -n $(< ~/files.txt)
format_c_exit=$?
qmk format-python -n
format_python_exit=$?
exit $((cformat_exit + pyformat_exit))
exit $((format_c_exit + format_python_exit))
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
lint:
runs-on: ubuntu-latest
container: qmkfm/base_container
container: qmkfm/qmk_cli
steps:
- uses: actions/checkout@v2
+49 -43
View File
@@ -1,36 +1,32 @@
.history/
.dep
*.o
*.bin
*.eep
# Junk files
*.bak
*.swp
*~
.DS_Store
# Build artifacts
.clang_complete
.build/
*.elf
*.hex
*.uf2
*.qmk
!util/bootloader.hex
!quantum/tools/eeprom_reset.hex
*.log
*.lss
*.lst
*.map
*.o
*.stackdump
*.sym
*.swp
tags
*~
# QMK-specific
api_data/v1
build/
.build/
*.bak
.vagrant/
quantum/version.h
.idea/
CMakeLists.txt
cmake-build-debug
.clang_complete
doxygen/
.DS_Store
/util/wsl_downloaded
/util/win_downloaded
quantum/version.h
*.bin
*.eep
*.hex
*.qmk
*.uf2
# Old-style QMK Makefiles
/keyboards/*/Makefile
/keyboards/*/*/Makefile
/keyboards/*/*/*/Makefile
@@ -43,39 +39,49 @@ doxygen/
/keyboards/*/*/*/*/*/keymaps/Makefile
# Eclipse/PyCharm/Other IDE Settings
.cproject
.project
.settings/
.idea
*.iml
.browse.VC.db*
*.stackdump
.cproject
.idea
.idea/
.project
.settings/
.vagrant/
# ?
.dep
.history/
build/
cmake-build-debug
CMakeLists.txt
# Let these ones be user specific, since we have so many different configurations
*.code-workspace
.vscode/c_cpp_properties.json
.vscode/launch.json
.vscode/tasks.json
.vscode/last.sql
.vscode/temp.sql
.vscode/ipch/
.stfolder
.tags
.vscode/c_cpp_properties.json
.vscode/ipch/
.vscode/last.sql
.vscode/launch.json
.vscode/tasks.json
.vscode/temp.sql
tags
# ignore image files
*.png
# Ignore image files
*.gif
*.jpg
*.png
# things travis sees
secrets.tar
id_rsa_*
# Things Travis sees
/.vs
id_rsa_*
secrets.tar
# python things
# Python things
__pycache__
.python-version
# prerequisites for updating ChibiOS
# Prerequisites for updating ChibiOS
/util/fmpp*
# Allow to exist but don't include it in the repo
-38
View File
@@ -1,38 +0,0 @@
os: linux
dist: trusty
group: edge
language: c
branches:
except:
- /^.*-automated-build$/
- /^[0-9]+\.[0-9]+\.[0-9]+/
env:
global:
- secure: vBTSL34BDPxDilKUuTXqU4CJ26Pv5hogD2nghatkxSQkI1/jbdnLj/DQdPUrMJFDIY6TK3AltsBx72MaMsLQ1JO/Ou24IeHINHXzUC1FlS9yQa48cpxnhX5kzXNyGs3oa0qaFbvnr7RgYRWtmD52n4bIZuSuW+xpBv05x2OCizdT2ZonH33nATaHGFasxROm4qYZ241VfzcUv766V6RVHgL4x9V08warugs+RENVkfzxxwhk3NmkrISabze0gSVJLHBPHxroZC6EUcf/ocobcuDrCwFqtEt90i7pNIAFUE7gZsN2uE75LmpzAWin21G7lLPcPL2k4FJVd8an1HiP2WmscJU6U89fOfMb2viObnKcCzebozBCmKGtHEuXZo9FcReOx49AnQSpmESJGs+q2dL/FApkTjQiyT4J6O5dJpoww0/r57Wx0cmmqjETKBb5rSgXM51Etk3wO09mvcPHsEwrT7qH8r9XWdyCDoEn7FCLX3/LYnf/D4SmZ633YPl5gv3v9XEwxR5+04akjgnvWDSNIaDbWBdxHNb7l4pMc+WR1bwCyMyA7KXj0RrftEGOrm9ZRLe6BkbT4cycA+j77nbPOMcyZChliV9pPQos+4TOJoTzcK2L8yWVoY409aDNVuAjdP6Yum0R2maBGl/etLmIMpJC35C5/lZ+dUNjJAM=
- MAKEFLAGS="-j3 --output-sync"
services:
- docker
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-7
packages:
- diffutils
- clang-format-7
- libstdc++-7-dev
script:
- git fetch --depth=50 origin $TRAVIS_BRANCH:$TRAVIS_BRANCH
- git rev-parse --short HEAD
- git diff --name-only HEAD $TRAVIS_BRANCH
- bash util/travis_test.sh
- bash util/travis_build.sh
after_script:
bash util/travis_compiled_push.sh
notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/afce403d65f143dfac09
on_success: always # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: never # options: [always|never|change] default: always
+4 -1
View File
@@ -23,5 +23,8 @@
"editor.trimAutoWhitespace": false,
"files.trimTrailingWhitespace": false
},
"python.formatting.provider": "yapf"
"python.formatting.provider": "yapf",
"[json]": {
"editor.formatOnSave": false
}
}
-24
View File
@@ -1,24 +0,0 @@
# Code Of Conduct
QMK strives to be an inclusive, tolerant, and welcoming community. We encourage participation from anyone regardless of age, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, political belief, race, religion, or sexual identity and orientation.
> “A gentle word turns away wrath, but a harsh word stirs up anger."
Our users, contributors, and collaborators are expected to treat each other with kindness and respect, to assume good intentions, and to gently correct, where possible, rather than react with escalation. While our goal is to be as accurate as possible, kindness and understanding are more valuable than correctness. Some examples of behavior we will not tolerate include, but is not limited to:
* The use of sexualized language or imagery
* Unwelcome advances, sexual or otherwise
* Deliberate intimidation, stalking, or following
* Insults or derogatory comments, or personal or political attacks
* Publishing others private information without explicit permission
* Sustained disruption of talks or other events
* Other conduct which could reasonably be considered inappropriate in a professional setting
* Advocating for, or encouraging, any of the above behaviour
# Reporting
If someone is violating this Code of Conduct, please email hello@qmk.fm or reach out to one of the Collaborators to bring it to our attention. All complaints will be reviewed and investigated.
QMK will seek to use the least punitive means available to resolve an issue. If the circumstances require asking an offender to leave, we will do that.
Reports will be taken and kept in strict confidence. You will not be required to confront an offender directly.
+2 -3
View File
@@ -1,7 +1,6 @@
FROM qmkfm/base_container
FROM qmkfm/qmk_cli
VOLUME /qmk_firmware
WORKDIR /qmk_firmware
COPY . .
CMD make all:default
CMD qmk compile -kb all -km default
+21 -31
View File
@@ -30,11 +30,7 @@ endif
endif
# Determine which qmk cli to use
ifeq (,$(shell which qmk))
QMK_BIN = bin/qmk
else
QMK_BIN = qmk
endif
QMK_BIN := qmk
# avoid 'Entering|Leaving directory' messages
MAKEFLAGS += --no-print-directory
@@ -252,11 +248,20 @@ define PARSE_RULE
else
$$(info make: *** No rule to make target '$1'. Stop.)
$$(info |)
$$(info | QMK's make format recently changed to use folder locations and colons:)
$$(info | make project_folder:keymap[:target])
$$(info | Examples:)
$$(info | make dz60:default)
$$(info | make planck/rev6:default:flash)
$$(info | QMK's make format is:)
$$(info | make keyboard_folder:keymap_folder[:target])
$$(info |)
$$(info | Where `keyboard_folder` is the path to the keyboard relative to)
$$(info | `qmk_firmware/keyboards/`, and `keymap_folder` is the name of the)
$$(info | keymap folder under that board's `keymaps/` directory.)
$$(info |)
$$(info | Examples:)
$$(info | keyboards/dz60, keyboards/dz60/keymaps/default)
$$(info | -> make dz60:default)
$$(info | -> qmk compile -kb dz60 -km default)
$$(info | keyboards/planck/rev6, keyboards/planck/keymaps/default)
$$(info | -> make planck/rev6:default:flash)
$$(info | -> qmk flash -kb planck/rev6 -km default)
$$(info |)
endif
endef
@@ -548,29 +553,14 @@ git-submodule:
git submodule sync --recursive
git submodule update --init --recursive --progress
# Generate the version.h file
ifdef SKIP_GIT
VERSION_H_FLAGS := --skip-git
endif
ifdef SKIP_VERSION
VERSION_H_FLAGS := --skip-all
SKIP_GIT := yes
endif
# Generate the version.h file
ifndef SKIP_GIT
GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S")
CHIBIOS_VERSION := $(shell cd lib/chibios && git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S")
CHIBIOS_CONTRIB_VERSION := $(shell cd lib/chibios-contrib && git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S")
else
GIT_VERSION := NA
CHIBIOS_VERSION := NA
CHIBIOS_CONTRIB_VERSION := NA
endif
ifndef SKIP_VERSION
BUILD_DATE := $(shell date +"%Y-%m-%d-%H:%M:%S")
else
BUILD_DATE := 2020-01-01-00:00:00
endif
$(shell echo '#define QMK_VERSION "$(GIT_VERSION)"' > $(ROOT_DIR)/quantum/version.h)
$(shell echo '#define QMK_BUILDDATE "$(BUILD_DATE)"' >> $(ROOT_DIR)/quantum/version.h)
$(shell echo '#define CHIBIOS_VERSION "$(CHIBIOS_VERSION)"' >> $(ROOT_DIR)/quantum/version.h)
$(shell echo '#define CHIBIOS_CONTRIB_VERSION "$(CHIBIOS_CONTRIB_VERSION)"' >> $(ROOT_DIR)/quantum/version.h)
$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o quantum/version.h)
include $(ROOT_DIR)/testlist.mk
Vendored
+3 -3
View File
@@ -6,7 +6,7 @@ Vagrant.configure(2) do |config|
config.vm.define "qmk_firmware"
# VMware/Virtualbox ( and also Hyperv/Parallels) 64 bit
config.vm.box = "generic/debian9"
config.vm.box = "generic/debian10"
config.vm.synced_folder '.', '/vagrant'
@@ -68,13 +68,13 @@ Vagrant.configure(2) do |config|
["virtualbox", "vmware_workstation", "vmware_fusion"].each do |type|
config.vm.provider type do |virt, override|
override.vm.provision "docker" do |d|
d.run "qmkfm/base_container",
d.run "qmkfm/qmk_cli",
cmd: "tail -f /dev/null",
args: "--privileged -v /dev:/dev -v '/vagrant:/vagrant'"
end
override.vm.provision "shell", inline: <<-SHELL
echo 'docker restart qmkfm-base_container && exec docker exec -it qmkfm-base_container /bin/bash -l' >> ~vagrant/.bashrc
echo 'docker restart qmkfm-qmk_cli && exec docker exec -it qmkfm-qmk_cli /bin/bash -l' >> ~vagrant/.bashrc
SHELL
end
end
-58
View File
@@ -1,58 +0,0 @@
#!/usr/bin/env python3
"""CLI wrapper for running QMK commands.
"""
import os
import sys
from pathlib import Path
# Add the QMK python libs to our path
script_dir = Path(os.path.realpath(__file__)).parent
qmk_dir = script_dir.parent
python_lib_dir = Path(qmk_dir / 'lib' / 'python').resolve()
sys.path.append(str(python_lib_dir))
# Setup the CLI
import milc # noqa
milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}Ψ{style_reset_all}'
@milc.cli.entrypoint('QMK Helper Script')
def qmk_main(cli):
"""The function that gets run when no subcommand is provided.
"""
cli.print_help()
def main():
"""Setup our environment and then call the CLI entrypoint.
"""
# Change to the root of our checkout
os.environ['ORIG_CWD'] = os.getcwd()
os.environ['DEPRECATED_BIN_QMK'] = '1'
os.chdir(qmk_dir)
print('Warning: The bin/qmk script is being deprecated. Please install the QMK CLI: python3 -m pip install qmk', file=sys.stderr)
# Import the subcommands
import milc.subcommand.config # noqa
import qmk.cli # noqa
# Execute
return_code = milc.cli()
if return_code is False:
exit(1)
elif return_code is not True and isinstance(return_code, int):
if return_code < 0 or return_code > 255:
milc.cli.log.error('Invalid return_code: %d', return_code)
exit(255)
exit(return_code)
exit(0)
if __name__ == '__main__':
main()
+6
View File
@@ -26,6 +26,7 @@
# 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)
# USBasp USBaspLoader (ATmega328P)
# ARM:
@@ -67,6 +68,11 @@ ifeq ($(strip $(BOOTLOADER)), qmk-dfu)
BOOTLOADER_SIZE = 8192
endif
endif
ifeq ($(strip $(BOOTLOADER)), qmk-hid)
OPT_DEFS += -DBOOTLOADER_QMK_HID
OPT_DEFS += -DBOOTLOADER_HID
BOOTLOADER_SIZE = 4096
endif
ifeq ($(strip $(BOOTLOADER)), halfkay)
OPT_DEFS += -DBOOTLOADER_HALFKAY
ifeq ($(strip $(MCU)), atmega32u4)
-14
View File
@@ -1,31 +1,17 @@
# Look for a json keymap file
ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.json)","")
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_5)/keymap.json
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.json)","")
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_4)/keymap.json
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.json)","")
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_3)/keymap.json
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.json)","")
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_2)/keymap.json
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","")
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_1)/keymap.json
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
endif
# Load the keymap-level rules.mk if exists
ifneq ("$(wildcard $(KEYMAP_PATH))", "")
-include $(KEYMAP_PATH)/rules.mk
endif
# Generate the keymap.c
$(KEYBOARD_OUTPUT)/src/keymap.c: $(KEYMAP_JSON)
$(QMK_BIN) json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON)
+61 -12
View File
@@ -23,6 +23,15 @@ KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD_FILESAFE)
# Force expansion
TARGET := $(TARGET)
ifneq ($(FORCE_LAYOUT),)
TARGET := $(TARGET)_$(FORCE_LAYOUT)
endif
# Object files and generated keymap directory
# To put object files in current directory, use a dot (.), do NOT make
# this an empty or blank macro!
KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET)
# For split boards we need to set a master half.
MASTER ?= left
ifdef master
@@ -100,12 +109,13 @@ MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP)
# Pull in rules from info.json
INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/rules.mk)
INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_rules.mk)
include $(INFO_RULES_MK)
# Check for keymap.json first, so we can regenerate keymap.c
include 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)","")
@@ -137,16 +147,35 @@ ifeq ("$(wildcard $(KEYMAP_PATH))", "")
endif
endif
# Have we found a keymap.json?
ifneq ("$(wildcard $(KEYMAP_JSON))", "")
KEYMAP_C := $(KEYMAP_OUTPUT)/src/keymap.c
KEYMAP_H := $(KEYMAP_OUTPUT)/src/config.h
# Load the keymap-level rules.mk if exists
-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)
include $(INFO_RULES_MK)
# Add rules to generate the keymap files - indentation here is important
$(KEYMAP_OUTPUT)/src/keymap.c: $(KEYMAP_JSON)
$(QMK_BIN) json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON)
$(KEYMAP_OUTPUT)/src/config.h: $(KEYMAP_JSON)
$(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --keymap $(KEYMAP) --output $(KEYMAP_H)
generated-files: $(KEYMAP_OUTPUT)/src/config.h $(KEYMAP_OUTPUT)/src/keymap.c
endif
ifeq ($(strip $(CTPC)), yes)
CONVERT_TO_PROTON_C=yes
endif
ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes)
include platforms/chibios/QMK_PROTON_C/convert_to_proton_c.mk
endif
ifneq ($(FORCE_LAYOUT),)
TARGET := $(TARGET)_$(FORCE_LAYOUT)
include platforms/chibios/boards/QMK_PROTON_C/convert_to_proton_c.mk
endif
include quantum/mcu_selection.mk
@@ -232,6 +261,7 @@ ifdef MCU_FAMILY
PLATFORM=CHIBIOS
PLATFORM_KEY=chibios
FIRMWARE_FORMAT?=bin
OPT_DEFS += -DMCU_$(MCU_FAMILY)
else ifdef ARM_ATSAM
PLATFORM=ARM_ATSAM
PLATFORM_KEY=arm_atsam
@@ -316,6 +346,7 @@ ifeq ("$(USER_NAME)","")
endif
USER_PATH := users/$(USER_NAME)
# Pull in user level rules.mk
-include $(USER_PATH)/rules.mk
ifneq ("$(wildcard $(USER_PATH)/config.h)","")
CONFIG_H += $(USER_PATH)/config.h
@@ -327,19 +358,36 @@ endif
# Disable features that a keyboard doesn't support
-include disable_features.mk
# Object files directory
# To put object files in current directory, use a dot (.), do NOT make
# this an empty or blank macro!
KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET)
# 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
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/post_rules.mk)","")
include $(KEYBOARD_PATH_2)/post_rules.mk
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/post_rules.mk)","")
include $(KEYBOARD_PATH_3)/post_rules.mk
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/post_rules.mk)","")
include $(KEYBOARD_PATH_4)/post_rules.mk
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_rules.mk)","")
include $(KEYBOARD_PATH_5)/post_rules.mk
endif
ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
CONFIG_H += $(KEYMAP_PATH)/config.h
endif
ifneq ("$(KEYMAP_H)","")
CONFIG_H += $(KEYMAP_H)
endif
# project specific files
SRC += $(KEYBOARD_SRC) \
SRC += \
$(KEYBOARD_SRC) \
$(KEYMAP_C) \
$(QUANTUM_SRC)
$(QUANTUM_SRC) \
$(QUANTUM_DIR)/main.c \
# Optimize size but this may cause error "relocation truncated to fit"
#EXTRALDFLAGS = -Wl,--relax
@@ -374,6 +422,7 @@ ifneq ($(strip $(PROTOCOL)),)
else
include $(TMK_PATH)/protocol/$(PLATFORM_KEY).mk
endif
-include $(TOP_DIR)/platforms/$(PLATFORM_KEY)/flash.mk
# TODO: remove this bodge?
PROJECT_DEFS := $(OPT_DEFS)
-4
View File
@@ -7,7 +7,6 @@ define SEARCH_LAYOUTS_REPO
LAYOUT_KEYMAP_C := $$(LAYOUT_KEYMAP_PATH)/keymap.c
ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_JSON))","")
-include $$(LAYOUT_KEYMAP_PATH)/rules.mk
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
KEYMAP_JSON := $$(LAYOUT_KEYMAP_JSON)
KEYMAP_PATH := $$(LAYOUT_KEYMAP_PATH)
else ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_C))","")
@@ -31,6 +30,3 @@ ifneq ($(FORCE_LAYOUT),)
endif
$(foreach LAYOUT,$(LAYOUTS),$(eval $(call SEARCH_LAYOUTS)))
# Use rule from build_json.mk, but update prerequisite in case KEYMAP_JSON was updated
$(KEYBOARD_OUTPUT)/src/keymap.c: $(KEYMAP_JSON)
+13 -2
View File
@@ -24,7 +24,6 @@ GTEST_INTERNAL_INC :=\
$(GTEST_OUTPUT)_SRC :=\
googletest/src/gtest-all.cc\
googletest/src/gtest_main.cc\
googlemock/src/gmock-all.cc
$(GTEST_OUTPUT)_DEFS :=
@@ -35,7 +34,8 @@ CREATE_MAP := no
VPATH +=\
$(LIB_PATH)/googletest\
$(LIB_PATH)/googlemock
$(LIB_PATH)/googlemock\
$(LIB_PATH)/printf
all: elf
@@ -43,18 +43,29 @@ VPATH += $(COMMON_VPATH)
PLATFORM:=TEST
PLATFORM_KEY:=test
ifeq ($(strip $(DEBUG)), 1)
CONSOLE_ENABLE = yes
endif
ifneq ($(filter $(FULL_TESTS),$(TEST)),)
include tests/$(TEST)/rules.mk
endif
include common_features.mk
include $(TMK_PATH)/common.mk
include $(QUANTUM_PATH)/debounce/tests/rules.mk
include $(QUANTUM_PATH)/sequencer/tests/rules.mk
include $(QUANTUM_PATH)/serial_link/tests/rules.mk
include $(TMK_PATH)/common/test/rules.mk
ifneq ($(filter $(FULL_TESTS),$(TEST)),)
include build_full_test.mk
endif
$(TEST)_SRC += \
tests/test_common/main.c \
$(LIB_PATH)/printf/printf.c \
$(QUANTUM_PATH)/logging/print.c
$(TEST_OBJ)/$(TEST)_SRC := $($(TEST)_SRC)
$(TEST_OBJ)/$(TEST)_INC := $($(TEST)_INC) $(VPATH) $(GTEST_INC)
$(TEST_OBJ)/$(TEST)_DEFS := $($(TEST)_DEFS)
+3
View File
@@ -12,6 +12,9 @@ QUANTUM_PATH = $(QUANTUM_DIR)
DRIVER_DIR = drivers
DRIVER_PATH = $(DRIVER_DIR)
PLATFORM_DIR = platforms
PLATFORM_PATH = $(PLATFORM_DIR)
BUILD_DIR := .build
COMMON_VPATH := $(TOP_DIR)
+112 -61
View File
@@ -20,8 +20,23 @@ QUANTUM_SRC += \
$(QUANTUM_DIR)/send_string.c \
$(QUANTUM_DIR)/bitwise.c \
$(QUANTUM_DIR)/led.c \
$(QUANTUM_DIR)/action.c \
$(QUANTUM_DIR)/action_layer.c \
$(QUANTUM_DIR)/action_macro.c \
$(QUANTUM_DIR)/action_tapping.c \
$(QUANTUM_DIR)/action_util.c \
$(QUANTUM_DIR)/eeconfig.c \
$(QUANTUM_DIR)/keyboard.c \
$(QUANTUM_DIR)/keymap_common.c \
$(QUANTUM_DIR)/keycode_config.c
$(QUANTUM_DIR)/keycode_config.c \
$(QUANTUM_DIR)/logging/debug.c \
$(QUANTUM_DIR)/logging/sendchar.c \
VPATH += $(QUANTUM_DIR)/logging
# Fall back to lib/printf if there is no platform provided print
ifeq ("$(wildcard $(TMK_PATH)/common/$(PLATFORM_KEY)/printf.mk)","")
include $(QUANTUM_PATH)/logging/print.mk
endif
ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), yes)
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
@@ -102,13 +117,13 @@ endif
ifeq ($(strip $(MOUSEKEY_ENABLE)), yes)
OPT_DEFS += -DMOUSEKEY_ENABLE
OPT_DEFS += -DMOUSE_ENABLE
MOUSE_ENABLE := yes
SRC += $(QUANTUM_DIR)/mousekey.c
endif
ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes)
OPT_DEFS += -DPOINTING_DEVICE_ENABLE
OPT_DEFS += -DMOUSE_ENABLE
MOUSE_ENABLE := yes
SRC += $(QUANTUM_DIR)/pointing_device.c
endif
@@ -170,6 +185,7 @@ else
else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
OPT_DEFS += -DEEPROM_DRIVER
COMMON_VPATH += $(DRIVER_PATH)/eeprom
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom
SRC += eeprom_driver.c eeprom_stm32_L0_L1.c
else
# This will effectively work the same as "transient" if not supported by the chip
@@ -196,10 +212,11 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
ifeq ($(filter $(RGBLIGHT_DRIVER),$(VALID_RGBLIGHT_TYPES)),)
$(error RGBLIGHT_DRIVER="$(RGBLIGHT_DRIVER)" is not a valid RGB type)
else
POST_CONFIG_H += $(QUANTUM_DIR)/rgblight_post_config.h
COMMON_VPATH += $(QUANTUM_DIR)/rgblight
POST_CONFIG_H += $(QUANTUM_DIR)/rgblight/rgblight_post_config.h
OPT_DEFS += -DRGBLIGHT_ENABLE
SRC += $(QUANTUM_DIR)/color.c
SRC += $(QUANTUM_DIR)/rgblight.c
SRC += $(QUANTUM_DIR)/rgblight/rgblight.c
CIE1931_CURVE := yes
RGB_KEYCODES_ENABLE := yes
endif
@@ -230,21 +247,25 @@ ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162))
# ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines
OPT_DEFS += -DLIB8_ATTINY
endif
COMMON_VPATH += $(QUANTUM_DIR)/led_matrix
COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations
COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations/runners
SRC += $(QUANTUM_DIR)/process_keycode/process_backlight.c
SRC += $(QUANTUM_DIR)/led_matrix.c
SRC += $(QUANTUM_DIR)/led_matrix_drivers.c
SRC += $(QUANTUM_DIR)/led_matrix/led_matrix.c
SRC += $(QUANTUM_DIR)/led_matrix/led_matrix_drivers.c
SRC += $(LIB_PATH)/lib8tion/lib8tion.c
CIE1931_CURVE := yes
ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3731)
OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3731-simple.c
QUANTUM_LIB_SRC += i2c_master.c
endif
endif
RGB_MATRIX_ENABLE ?= no
VALID_RGB_MATRIX_TYPES := IS31FL3731 IS31FL3733 IS31FL3737 IS31FL3741 WS2812 custom
VALID_RGB_MATRIX_TYPES := AW20216 IS31FL3731 IS31FL3733 IS31FL3737 IS31FL3741 WS2812 custom
ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),)
@@ -255,36 +276,47 @@ ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162))
# ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines
OPT_DEFS += -DLIB8_ATTINY
endif
COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix
COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations
COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations/runners
SRC += $(QUANTUM_DIR)/color.c
SRC += $(QUANTUM_DIR)/rgb_matrix.c
SRC += $(QUANTUM_DIR)/rgb_matrix_drivers.c
SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix.c
SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix_drivers.c
SRC += $(LIB_PATH)/lib8tion/lib8tion.c
CIE1931_CURVE := yes
RGB_KEYCODES_ENABLE := yes
ifeq ($(strip $(RGB_MATRIX_DRIVER)), AW20216)
OPT_DEFS += -DAW20216 -DSTM32_SPI -DHAL_USE_SPI=TRUE
COMMON_VPATH += $(DRIVER_PATH)/led
SRC += aw20216.c
QUANTUM_LIB_SRC += spi_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3731)
OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3731.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3733)
OPT_DEFS += -DIS31FL3733 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3733.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3737)
OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3737.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3741)
OPT_DEFS += -DIS31FL3741 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3741.c
QUANTUM_LIB_SRC += i2c_master.c
endif
@@ -342,11 +374,6 @@ ifeq ($(strip $(LCD_ENABLE)), yes)
CIE1931_CURVE := yes
endif
# backward compat
ifeq ($(strip $(BACKLIGHT_CUSTOM_DRIVER)), yes)
BACKLIGHT_DRIVER := custom
endif
VALID_BACKLIGHT_TYPES := pwm timer software custom
BACKLIGHT_ENABLE ?= no
@@ -406,7 +433,7 @@ ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes)
endif
ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes)
COMMON_VPATH += $(DRIVER_PATH)/apa102
COMMON_VPATH += $(DRIVER_PATH)/led
SRC += apa102.c
endif
@@ -462,18 +489,15 @@ ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/dip_switch.c
endif
VALID_MAGIC_TYPES := yes full lite
VALID_MAGIC_TYPES := yes lite
BOOTMAGIC_ENABLE ?= no
ifneq ($(strip $(BOOTMAGIC_ENABLE)), no)
ifeq ($(filter $(BOOTMAGIC_ENABLE),$(VALID_MAGIC_TYPES)),)
$(error BOOTMAGIC_ENABLE="$(BOOTMAGIC_ENABLE)" is not a valid type of magic)
endif
ifneq ($(strip $(BOOTMAGIC_ENABLE)), full)
ifneq ($(strip $(BOOTMAGIC_ENABLE)), no)
OPT_DEFS += -DBOOTMAGIC_LITE
QUANTUM_SRC += $(QUANTUM_DIR)/bootmagic/bootmagic_lite.c
else
OPT_DEFS += -DBOOTMAGIC_ENABLE
QUANTUM_SRC += $(QUANTUM_DIR)/bootmagic/bootmagic_full.c
endif
endif
COMMON_VPATH += $(QUANTUM_DIR)/bootmagic
@@ -494,42 +518,31 @@ ifneq ($(strip $(CUSTOM_MATRIX)), yes)
# if 'lite' then skip the actual matrix implementation
ifneq ($(strip $(CUSTOM_MATRIX)), lite)
# Include the standard or split matrix code if needed
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
QUANTUM_SRC += $(QUANTUM_DIR)/split_common/matrix.c
else
QUANTUM_SRC += $(QUANTUM_DIR)/matrix.c
endif
QUANTUM_SRC += $(QUANTUM_DIR)/matrix.c
endif
endif
# Support for translating old names to new names:
ifeq ($(strip $(DEBOUNCE_TYPE)),sym_g)
DEBOUNCE_TYPE:=sym_defer_g
else ifeq ($(strip $(DEBOUNCE_TYPE)),eager_pk)
DEBOUNCE_TYPE:=sym_eager_pk
else ifeq ($(strip $(DEBOUNCE_TYPE)),sym_pk)
DEBOUNCE_TYPE:=sym_defer_pk
else ifeq ($(strip $(DEBOUNCE_TYPE)),eager_pr)
DEBOUNCE_TYPE:=sym_eager_pr
endif
DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
# Debounce Modules. Set DEBOUNCE_TYPE=custom if including one manually.
DEBOUNCE_TYPE?= sym_defer_g
DEBOUNCE_TYPE ?= sym_defer_g
ifneq ($(strip $(DEBOUNCE_TYPE)), custom)
QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c
QUANTUM_SRC += $(QUANTUM_DIR)/debounce/$(strip $(DEBOUNCE_TYPE)).c
endif
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
POST_CONFIG_H += $(QUANTUM_DIR)/split_common/post_config.h
OPT_DEFS += -DSPLIT_KEYBOARD
CRC_ENABLE := yes
# Include files used by all split keyboards
QUANTUM_SRC += $(QUANTUM_DIR)/split_common/split_util.c
# Determine which (if any) transport files are required
ifneq ($(strip $(SPLIT_TRANSPORT)), custom)
QUANTUM_LIB_SRC += $(QUANTUM_DIR)/split_common/transport.c
QUANTUM_SRC += $(QUANTUM_DIR)/split_common/transport.c \
$(QUANTUM_DIR)/split_common/transactions.c
OPT_DEFS += -DSPLIT_COMMON_TRANSACTIONS
# Functions added via QUANTUM_LIB_SRC are only included in the final binary if they're called.
# Unused functions are pruned away, which is why we can add multiple drivers here without bloat.
ifeq ($(PLATFORM),AVR)
@@ -550,11 +563,17 @@ ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
COMMON_VPATH += $(QUANTUM_PATH)/split_common
endif
ifeq ($(strip $(CRC_ENABLE)), yes)
OPT_DEFS += -DCRC_ENABLE
SRC += crc.c
endif
HAPTIC_ENABLE ?= no
ifneq ($(strip $(HAPTIC_ENABLE)),no)
COMMON_VPATH += $(DRIVER_PATH)/haptic
SRC += haptic.c
OPT_DEFS += -DHAPTIC_ENABLE
SRC += $(QUANTUM_DIR)/haptic.c
SRC += $(QUANTUM_DIR)/process_keycode/process_haptic.c
endif
ifneq ($(filter DRV2605L, $(HAPTIC_ENABLE)), )
@@ -569,15 +588,33 @@ ifneq ($(filter SOLENOID, $(HAPTIC_ENABLE)), )
endif
ifeq ($(strip $(HD44780_ENABLE)), yes)
SRC += drivers/avr/hd44780.c
SRC += platforms/avr/drivers/hd44780.c
OPT_DEFS += -DHD44780_ENABLE
endif
ifeq ($(strip $(OLED_DRIVER_ENABLE)), yes)
OPT_DEFS += -DOLED_DRIVER_ENABLE
COMMON_VPATH += $(DRIVER_PATH)/oled
QUANTUM_LIB_SRC += i2c_master.c
SRC += oled_driver.c
VALID_OLED_DRIVER_TYPES := SSD1306 custom
OLED_DRIVER ?= SSD1306
ifeq ($(strip $(OLED_ENABLE)), yes)
ifeq ($(filter $(OLED_DRIVER),$(VALID_OLED_DRIVER_TYPES)),)
$(error OLED_DRIVER="$(OLED_DRIVER)" is not a valid OLED driver)
else
OPT_DEFS += -DOLED_ENABLE
COMMON_VPATH += $(DRIVER_PATH)/oled
OPT_DEFS += -DOLED_DRIVER_$(strip $(shell echo $(OLED_DRIVER) | tr '[:lower:]' '[:upper:]'))
ifeq ($(strip $(OLED_DRIVER)), SSD1306)
SRC += ssd1306_sh1106.c
QUANTUM_LIB_SRC += i2c_master.c
endif
endif
endif
ifeq ($(strip $(ST7565_ENABLE)), yes)
OPT_DEFS += -DST7565_ENABLE
COMMON_VPATH += $(DRIVER_PATH)/oled # For glcdfont.h
COMMON_VPATH += $(DRIVER_PATH)/lcd
QUANTUM_LIB_SRC += spi_master.c
SRC += st7565.c
endif
include $(DRIVER_PATH)/qwiic/qwiic.mk
@@ -632,6 +669,11 @@ ifeq ($(strip $(COMBO_ENABLE)), yes)
OPT_DEFS += -DCOMBO_ENABLE
endif
ifeq ($(strip $(KEY_OVERRIDE_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/process_keycode/process_key_override.c
OPT_DEFS += -DKEY_OVERRIDE_ENABLE
endif
ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/process_keycode/process_tap_dance.c
OPT_DEFS += -DTAP_DANCE_ENABLE
@@ -656,19 +698,28 @@ ifeq ($(strip $(AUTO_SHIFT_ENABLE)), yes)
endif
JOYSTICK_ENABLE ?= no
ifneq ($(strip $(JOYSTICK_ENABLE)), no)
VALID_JOYSTICK_TYPES := analog digital
JOYSTICK_DRIVER ?= analog
ifeq ($(strip $(JOYSTICK_ENABLE)), yes)
ifeq ($(filter $(JOYSTICK_DRIVER),$(VALID_JOYSTICK_TYPES)),)
$(error "$(JOYSTICK_DRIVER)" is not a valid joystick driver)
endif
OPT_DEFS += -DJOYSTICK_ENABLE
SRC += $(QUANTUM_DIR)/process_keycode/process_joystick.c
SRC += $(QUANTUM_DIR)/joystick.c
ifeq ($(strip $(JOYSTICK_DRIVER)), analog)
OPT_DEFS += -DANALOG_JOYSTICK_ENABLE
SRC += analog.c
endif
ifeq ($(strip $(JOYSTICK_DRIVER)), digital)
OPT_DEFS += -DDIGITAL_JOYSTICK_ENABLE
endif
endif
ifeq ($(strip $(JOYSTICK_ENABLE)), analog)
OPT_DEFS += -DANALOG_JOYSTICK_ENABLE
SRC += analog.c
endif
ifeq ($(strip $(JOYSTICK_ENABLE)), digital)
OPT_DEFS += -DDIGITAL_JOYSTICK_ENABLE
DIGITIZER_ENABLE ?= no
ifneq ($(strip $(DIGITIZER_ENABLE)), no)
SRC += $(QUANTUM_DIR)/digitizer.c
endif
USBPD_ENABLE ?= no
+54 -4
View File
@@ -1,21 +1,48 @@
# This file maps keys between `config.h` and `info.json`. It is used by QMK
# 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", "int", "hex", "list", "mapping"
# value_type: one of "array", "array.int", "bool", "int", "hex", "list", "mapping"
# 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
"DEBOUNCE": {"info_key": "debounce", "value_type": "int"}
"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_PIN": {"info_key": "backlight.pin"},
"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"},
"DESCRIPTION": {"info_key": "keyboard_folder", "to_json": false},
"DIODE_DIRECTION": {"info_key": "diode_direction"},
"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"},
"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"},
@@ -30,17 +57,40 @@
"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_folder", "to_json": 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"}
"QMK_SPEAKER": {"info_key": "qmk_lufa_bootloader.speaker"},
"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"},
}
+12 -2
View File
@@ -1,15 +1,25 @@
# This file maps keys between `rules.mk` and `info.json`. It is used by QMK
# 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", "int", "list", "hex", "mapping"
# value_type: one of "array", "array.int", "bool", "int", "list", "hex", "mapping"
# 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
"BOARD": {"info_key": "board"},
"BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false},
"BLUETOOTH": {"info_key": "bluetooth.driver"},
"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"},
"SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"},
"SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "value_type": "str", "to_c": false},
"WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"}
}
+123 -2
View File
@@ -11,6 +11,9 @@
'2_milk': {
target: 'spaceman/2_milk'
},
'aeboards/constellation': {
target: 'aeboards/constellation/rev1'
},
'aeboards/ext65': {
target: 'aeboards/ext65/rev1'
},
@@ -38,9 +41,36 @@
'atom47/rev3': {
target: 'maartenwut/atom47/rev3'
},
bakeneko65: {
target: 'bakeneko65/rev2'
},
bear_face: {
target: 'bear_face/v1'
},
bm16a: {
target: 'kprepublic/bm16a'
},
bm16s: {
target: 'kprepublic/bm16s'
},
bm40hsrgb: {
target: 'kprepublic/bm40hsrgb'
},
bm43a: {
target: 'kprepublic/bm43a'
},
bm60poker: {
target: 'kprepublic/bm60poker'
},
bm60rgb: {
target: 'kprepublic/bm60rgb'
},
bm60rgb_iso: {
target: 'kprepublic/bm60rgb_iso'
},
bm68rgb: {
target: 'kprepublic/bm68rgb'
},
'bpiphany/pegasushoof': {
target: 'bpiphany/pegasushoof/2013'
},
@@ -56,11 +86,26 @@
canoe: {
target: 'percent/canoe'
},
'clawsome/gamebuddy': {
target: 'clawsome/gamebuddy/v1_0'
},
'cmm_studio/saka68': {
target: 'cmm_studio/saka68/solder'
},
'crkbd/rev1': {
target: 'crkbd/rev1/legacy'
'cospad': {
target: 'kprepublic/cospad'
},
'crkbd/rev1/legacy': {
target: 'crkbd/rev1'
},
'crkbd/rev1/common': {
target: 'crkbd/rev1'
},
'custommk/genesis': {
target: 'custommk/genesis/rev1'
},
'daisy': {
target: 'ktec/daisy'
},
'doro67/multi': {
layouts: {
@@ -80,6 +125,9 @@
drakon: {
target: 'jagdpietr/drakon'
},
'durgod/k320': {
target: 'durgod/k3x0/k320'
},
'dztech/dz60rgb': {
target: 'dztech/dz60rgb/v1'
},
@@ -92,9 +140,15 @@
'dztech/dz65rgb': {
target: 'dztech/dz65rgb/v1'
},
'dztech/volcano660': {
target: 'ilumkb/volcano660'
},
eek: {
target: 'eek/silk_down'
},
'ergodone': {
target: 'ktec/ergodone'
},
ergoinu: {
target: 'dm9records/ergoinu'
},
@@ -104,9 +158,15 @@
gh60: {
target: 'gh60/revc'
},
'gmmk/pro': {
target: 'gmmk/pro/ansi'
},
'handwired/ferris': {
target: 'ferris/0_1'
},
'handwired/p1800fl': {
target: 'team0110/p1800fl'
},
'helix/pico/sc/back': {
target: 'helix/pico/sc'
},
@@ -155,6 +215,15 @@
LAYOUT: 'LAYOUT_all'
}
},
'jj40': {
target: 'kprepublic/jj40'
},
'jj4x4': {
target: 'kprepublic/jj4x4'
},
'jj50': {
target: 'kprepublic/jj50'
},
jones: {
target: 'jones/v03_1'
},
@@ -179,6 +248,12 @@
kudox: {
target: 'kudox/rev1'
},
'kyria': {
target: 'splitkb/kyria'
},
'lazydesigners/the60': {
target: 'lazydesigners/the60/rev1'
},
'lfkeyboards/lfk78': {
target: 'lfkeyboards/lfk78/revj'
},
@@ -248,6 +323,9 @@
'maartenwut/wonderland': {
target: 'evyd13/wonderland'
},
'matrix/m12og': {
target: 'matrix/m12og/rev1'
},
'mechlovin/hannah910': {
target: 'mechlovin/hannah910/rev1'
},
@@ -263,6 +341,9 @@
'mechlovin/hannah60rgb': {
target: 'mechlovin/hannah60rgb/rev1'
},
'mechlovin/hannah65/mechlovin9': {
target: 'mechlovin/mechlovin9/rev1'
},
'melgeek/z70ultra': {
target: 'melgeek/z70ultra/rev1'
},
@@ -301,6 +382,9 @@
'pancake/promicro': {
target: 'spaceman/pancake/promicro'
},
'peiorisboards/ixora': {
target: 'coarse/ixora'
},
'percent/canoe': {
layouts: {
LAYOUT_iso: 'LAYOUT_65_iso_blocker'
@@ -363,6 +447,9 @@
'ramonimbao/herringbone': {
target: 'ramonimbao/herringbone/v1'
},
'ramonimbao/mona': {
target: 'ramonimbao/mona/v1'
},
'rgbkb/pan': {
target: 'rgbkb/pan/rev1/32a'
},
@@ -384,6 +471,9 @@
speedo: {
target: 'cozykeys/speedo/v2'
},
'staryu': {
target: 'ktec/staryu'
},
stoutgat: {
target: 'tkw/stoutgat/v1'
},
@@ -402,10 +492,14 @@
'tkw/stoutgat/v2': {
target: 'tkw/stoutgat/v2/f411'
},
'tokyo60': {
target: 'tokyokeyboard/tokyo60'
},
underscore33: {
target: 'underscore33/rev1'
},
vinta: {
target: 'coarse/vinta',
layouts: {
LAYOUT_67_ansi: 'LAYOUT_65_ansi_blocker'
}
@@ -419,6 +513,33 @@
'whale/sk': {
target: 'whale/sk/v3'
},
'xd002': {
target: 'xiudi/xd002'
},
'xd004': {
target: 'xiudi/xd004'
},
'xd60': {
target: 'xiudi/xd60'
},
'xd68': {
target: 'xiudi/xd68'
},
'xd75': {
target: 'xiudi/xd75'
},
'xd84': {
target: 'xiudi/xd84'
},
'xd84pro': {
target: 'xiudi/xd84pro'
},
'xd87': {
target: 'xiudi/xd87'
},
'xd96': {
target: 'xiudi/xd96'
},
'xelus/dawn60': {
target: 'xelus/dawn60/rev1'
},
+16 -28
View File
@@ -1,34 +1,22 @@
{
"$id": "qmk.api.keyboard.v1",
"allOf": [
{ "$ref": "qmk.keyboard.v1" },
{"$ref": "qmk.keyboard.v1"},
{
"$id": "qmk.api.keyboard.v1",
"keymaps": {
"type": "string"
},
"parse_errors": {
"type": "array",
"items": {
"type": "string"
}
},
"parse_warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"processor_type": {
"type": "string"
},
"protocol": {
"type": "string"
},
"keyboard_folder": {
"type": "string"
},
"platform": {
"type": "string"
"properties": {
"keymaps": {
"type": "object",
"properties": {
"url": {"type": "string"}
}
},
"parse_errors": {"$ref": "qmk.definitions.v1#/string_array"},
"parse_warnings": {"$ref": "qmk.definitions.v1#/string_array"},
"processor_type": {"type": "string"},
"protocol": {"type": "string"},
"keyboard_folder": {"type": "string"},
"platform": {"type": "string"}
}
}
]
+113
View File
@@ -0,0 +1,113 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "qmk.definitions.v1",
"title": "Common definitions used across QMK's jsonschemas.",
"type": "object",
"boolean_array": {
"type": "object",
"additionalProperties": {"type": "boolean"}
},
"filename": {
"type": "string",
"minLength": 1,
"pattern": "^[0-9a-z_]*$"
},
"keycode": {
"type": "string",
"minLength": 1,
"maxLength": 250,
"pattern": "^[A-Z_][0-9A-Z_()]*$"
},
"hex_number_2d": {
"type": "string",
"pattern": "^0x[0-9A-F]{2}$"
},
"hex_number_4d": {
"type": "string",
"pattern": "^0x[0-9A-F]{4}$"
},
"text_identifier": {
"type": "string",
"minLength": 1,
"maxLength": 250
},
"layout_macro": {
"oneOf": [
{
"type": "string",
"enum": ["LAYOUT", "LAYOUT_planck_1x2uC"]
},
{
"type": "string",
"pattern": "^LAYOUT_[0-9a-z_]*$"
}
]
},
"key_unit": {
"type": "number",
"min": 0.25
},
"mcu_pin_array": {
"type": "array",
"items": {"$ref": "#/mcu_pin"}
},
"mcu_pin": {
"oneOf": [
{
"type": "string",
"pattern": "^[A-K]\\d{1,2}$"
},
{
"type": "string",
"pattern": "^LINE_PIN\\d{1,2}$"
},
{
"type": "number",
"multipleOf": 1
},
{
"type": "null"
}
]
},
"signed_decimal": {
"type": "number"
},
"signed_int": {
"type": "number",
"multipleOf": 1
}
"signed_int_8": {
"type": "number",
"min": -127,
"max": 127,
"multipleOf": 1
}
"string_array": {
"type": "array",
"items": {
"type": "string"
}
},
"string_object": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"unsigned_decimal": {
"type": "number",
"min": 0
},
"unsigned_int": {
"type": "number",
"min": 0,
"multipleOf": 1
}
"unsigned_int_8": {
"type": "number",
"min": 0,
"max": 255,
"multipleOf": 1
}
}
+251 -210
View File
@@ -1,31 +1,53 @@
{
"$schema": "http://json-schema.org/schema#",
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "qmk.keyboard.v1",
"title": "Keyboard Information",
"type": "object",
"properties": {
"keyboard_name": {
"type": "string",
"minLength": 2,
"maxLength": 250
},
"maintainer": {
"type": "string",
"minLength": 2,
"maxLength": 250
},
"manufacturer": {
"type": "string",
"minLength": 2,
"maxLength": 250
},
"keyboard_name": {"$ref": "qmk.definitions.v1#/text_identifier"},
"maintainer": {"$ref": "qmk.definitions.v1#/text_identifier"},
"manufacturer": {"$ref": "qmk.definitions.v1#/text_identifier"},
"url": {
"type": "string",
"format": "uri"
},
"processor": {
"type": "string",
"enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "MK66F18", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F411", "STM32F446", "STM32G431", "STM32G474", "STM32L433", "STM32L443", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"]
"enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "MK66F18", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F407", "STM32F411", "STM32F446", "STM32G431", "STM32G474", "STM32L412", "STM32L422", "STM32L433", "STM32L443", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"]
},
"audio": {
"type": "object",
"additionalProperties": false,
"properties": {
"pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
"voices": {"type": "boolean"}
}
},
"backlight": {
"type": "object",
"additionalProperties": false,
"properties": {
"breathing": {"type": "boolean"},
"breathing_period": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"levels": {
"type": "number",
"min": 1,
"max": 31,
"multipleOf": 1
},
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
}
},
"bluetooth": {
"type": "object",
"additionalProperties": false,
"properties": {
"driver": {
"type": "string",
"enum": ["AdafruitBLE", "RN42"]
},
"lto": {"type": "boolean"},
}
},
"board": {
"type": "string",
@@ -34,68 +56,59 @@
},
"bootloader": {
"type": "string",
"enum": ["atmel-dfu", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "micronucleus", "qmk-dfu", "stm32-dfu", "stm32duino", "unknown", "USBasp", "tinyuf2"]
"enum": ["atmel-dfu", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "micronucleus", "qmk-dfu", "qmk-hid", "stm32-dfu", "stm32duino", "unknown", "USBasp", "tinyuf2"],
},
"bootloader_instructions": {
"type": "string",
"description": "Instructions for putting the keyboard into a mode that allows for firmware flashing."
},
"build": {
"type": "object",
"additionalProperties": false,
"properties": {
"debounce_type": {
"type": "string",
"enum": ["custom", "eager_pk", "eager_pr", "sym_defer_pk", "sym_eager_pk"]
},
"firmware_format": {
"type": "string",
"enum": ["bin", "hex", "uf2"]
},
"lto": {"type": "boolean"},
}
},
"custom_keycodes": {
"type": "array",
"items": {"$ref": "qmk.definitions.v1#/keycode"}
},
"diode_direction": {
"type": "string",
"enum": ["COL2ROW", "ROW2COL"]
},
"debounce": {
"type": "number",
"min": 0,
"multipleOf": 1
},
"height": {
"type": "number",
"min": 0.25
},
"width": {
"type": "number",
"min": 0.25
"debounce": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"combo": {
"type": "object",
"properties": {
"count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"term": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
},
"community_layouts": {
"type": "array",
"items": {
"type": "string",
"minLength": 2,
"pattern": "^[0-9a-z_]*$"
}
},
"features": {
"type": "object",
"additionalProperties": {"type": "boolean"}
"items": {"$ref": "qmk.definitions.v1#/filename"}
},
"features": {"$ref": "qmk.definitions.v1#/boolean_array"},
"indicators": {
"type": "object",
"properties": {
"caps_lock": {
"type": "string",
"pattern": "^[A-K]\\d{1,2}$"
},
"num_lock": {
"type": "string",
"pattern": "^[A-K]\\d{1,2}$"
},
"scroll_lock": {
"type": "string",
"pattern": "^[A-K]\\d{1,2}$"
}
"caps_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"num_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"scroll_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"}
}
},
"layout_aliases": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "string",
"enum": ["LAYOUT", "LAYOUT_planck_1x2uC"]
},
{
"type": "string",
"pattern": "^LAYOUT_[0-9a-z_]*$"
}
]
}
"additionalProperties": {"$ref": "qmk.definitions.v1#/layout_macro"}
},
"layouts": {
"type": "object",
@@ -109,11 +122,7 @@
"c_macro": {
"type": "boolean"
},
"key_count": {
"type": "number",
"min": 0,
"multipleOf": 1
},
"key_count": {"$ref": "qmk.definitions.v1#/key_unit"},
"layout": {
"type": "array",
"items": {
@@ -131,101 +140,61 @@
"multipleOf": 1
}
},
"h": {
"type": "number",
"min": 0.25
},
"r": {
"type": "number",
"min": 0
},
"rx": {
"type": "number",
"min": 0
},
"ry": {
"type": "number",
"min": 0
},
"w": {
"type": "number",
"min": 0.25
},
"x": {
"type": "number",
"min": 0
},
"y": {
"type": "number",
"min": 0
}
"key_count": {"$ref": "qmk.definitions.v1#/key_unit"},
"r": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
"rx": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
"ry": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
"h": {"$ref": "qmk.definitions.v1#/key_unit"},
"w": {"$ref": "qmk.definitions.v1#/key_unit"},
"x": {"$ref": "qmk.definitions.v1#/key_unit"},
"y": {"$ref": "qmk.definitions.v1#/key_unit"}
}
}
}
}
}
},
"leader_key": {
"type": "object",
"properties": {
"timing": {"type": "boolean"},
"strict_processing": {"type": "boolean"},
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
},
"matrix_pins": {
"type": "object",
"additionalProperties": false,
"properties": {
"custom": {"type": "boolean"},
"custom_lite": {"type": "boolean"},
"ghost": {"type": "boolean"},
"io_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"direct": {
"type": "array",
"items": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"pattern": "^[A-K]\\d{1,2}$"
},
{
"type": "number",
"multipleOf": 1
},
{
"type": "null"
}
]
}
}
"items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
},
"cols": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"pattern": "^[A-K]\\d{1,2}$"
},
{
"type": "number",
"multipleOf": 1
},
{
"type": "null"
}
]
}
},
"rows": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"pattern": "^[A-K]\\d{1,2}$"
},
{
"type": "number",
"multipleOf": 1
},
{
"type": "null"
}
]
}
}
"cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
"rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
"unused": {"$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"}
"wheel_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
}
},
"oneshot": {
"type": "object",
"properties": {
"tap_toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
},
"rgblight": {
@@ -238,88 +207,160 @@
"type": "boolean"
}
},
"brightness_steps": {
"type": "number",
"min": 0,
"multipleOf": 1
},
"hue_steps": {
"type": "number",
"min": 0,
"multipleOf": 1
},
"led_count": {
"type": "number",
"min": 0,
"multipleOf": 1
},
"max_brightness": {
"type": "number",
"min": 0,
"max": 255,
"multipleOf": 1
},
"pin": {
"type": "string",
"pattern": "^[A-K]\\d{1,2}$"
},
"saturation_steps": {
"type": "number",
"min": 0,
"multipleOf": 1
"brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"layers": {
"type": "object",
"additionalProperties": false,
"properties": {
"blink": {"type": "boolean"},
"enabled": {"type": "boolean"},
"max": {
"type": "number",
"min": 1,
"max": 32,
"multipleOf": 1
},
"override_rgb": {"type": "boolean"}
}
},
"led_count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"rgbw": {"type": "boolean"},
"saturation_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"sleep": {"type": "boolean"},
"split": {"type": "boolean"},
"split_count": {
"type": "array",
"minLength": 2,
"maxLength": 2,
"items": {
"type": "number",
"min": 0,
"multipleOf": 1
"items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
}
},
"split": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {"type": "boolean"},
"matrix_grid": {
"type": "array",
"items": {"$ref": "qmk.definitions.v1#/mcu_pin"}
},
"matrix_pins": {
"type": "object",
"additionalProperties": false,
"properties": {
"right": {
"type": "object",
"additionalProperties": false,
"properties": {
"direct": {
"type": "array",
"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"}
}
}
}
},
"main": {
"type": "string",
"enum": ["eeprom", "left", "matrix_grid", "pin", "right"]
},
"soft_serial_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"soft_serial_speed": {
"type": "number",
"min": 0,
"max": 5,
"multipleOf": 1
},
"transport": {
"type": "object",
"additionalProperties": false,
"properties": {
"protocol": {
"type": "string",
"enum": ["custom", "i2c", "serial", "serial_usart"]
},
"sync_matrix_state": {"type": "boolean"},
"sync_modifiers": {"type": "boolean"}
}
},
"usb_detect": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {"type": "boolean"},
"polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
}
}
}
},
"tags": {
"type": "array",
"items": {"type": "string"}
},
"tapping": {
"type": "object",
"properties": {
"force_hold": {"type": "boolean"},
"force_hold_per_key": {"type": "boolean"},
"ignore_mod_tap_interrupt": {"type": "boolean"},
"ignore_mod_tap_interrupt_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"},
}
},
"usb": {
"type": "object",
"additionalProperties": false,
"properties": {
"device_ver": {
"type": "string",
"pattern": "^[0-9A-F]x[0-9A-F][0-9A-F][0-9A-F][0-9A-F]"
"device_ver": {"$ref": "qmk.definitions.v1#/hex_number_4d"},
"force_nkro": {"type": "boolean"},
"pid": {"$ref": "qmk.definitions.v1#/hex_number_4d"},
"vid": {"$ref": "qmk.definitions.v1#/hex_number_4d"},
"max_power": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"no_startup_check": {"type": "boolean"},
"polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"shared_endpoint": {
"type": "object",
"additionalProperties": false,
"properties": {
"keyboard": {"type": "boolean"},
"mouse": {"type": "boolean"}
}
},
"pid": {
"type": "string",
"pattern": "^[0-9A-F]x[0-9A-F][0-9A-F][0-9A-F][0-9A-F]"
},
"vid": {
"type": "string",
"pattern": "^[0-9A-F]x[0-9A-F][0-9A-F][0-9A-F][0-9A-F]"
}
"suspend_wakeup_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"wait_for": {"type": "boolean"},
}
},
"qmk": {
"type": "object",
"additionalProperties": false,
"properties": {
"keys_per_scan": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"tap_keycode_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
}
},
"qmk_lufa_bootloader": {
"type": "object",
"additionalProperties": false,
"properties": {
"esc_output": {
"type": "string",
"pattern": "^[A-K]\\d{1,2}$"
},
"esc_input": {
"type": "string",
"pattern": "^[A-K]\\d{1,2}$"
},
"led": {
"type": "string",
"pattern": "^[A-K]\\d{1,2}$"
},
"speaker": {
"type": "string",
"pattern": "^[A-K]\\d{1,2}$"
}
"esc_output": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"esc_input": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"led": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"speaker": {"$ref": "qmk.definitions.v1#/mcu_pin"}
}
}
}
+28
View File
@@ -0,0 +1,28 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "qmk.keymap.v1",
"title": "Keymap Information",
"type": "object",
"properties": {
"author": {"type": "string"},
"config": {"$ref": "qmk.keyboard.v1"},
"custom_keycodes": {
"type": "array",
"items": {"$ref": "qmk.definitions.v1#/keycode"}
},
"keyboard": {"$ref": "qmk.definitions.v1#/text_identifier"},
"keymap": {"$ref": "qmk.definitions.v1#/text_identifier"},
"layout": {"$ref": "qmk.definitions.v1#/layout_macro"},
"layers": {
"type": "array",
"items": {
"type": "array",
"items": {"$ref": "qmk.definitions.v1#/keycode"}
}
},
"notes": {
"type": "string",
"description": "asdf"
}
}
}
+27
View File
@@ -0,0 +1,27 @@
# %KEYBOARD%
![%KEYBOARD%](imgur.com image replace me!)
*A short description of the keyboard/project*
* Keyboard Maintainer: [%YOUR_NAME%](https://github.com/yourusername)
* Hardware Supported: *The PCBs, controllers supported*
* Hardware Availability: *Links to where you can find this hardware*
Make example for this keyboard (after setting up your build environment):
make %KEYBOARD%:default
Flashing example for this keyboard:
make %KEYBOARD%:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
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
+22
View File
@@ -0,0 +1,22 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
+28
View File
@@ -0,0 +1,28 @@
# %KEYBOARD%
![%KEYBOARD%](imgur.com image replace me!)
*A short description of the keyboard/project*
* Keyboard Maintainer: [%YOUR_NAME%](https://github.com/yourusername)
* Hardware Supported: *The PCBs, controllers supported*
* Hardware Availability: *Links to where you can find this hardware*
Make example for this keyboard (after setting up your build environment):
make %KEYBOARD%:default
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
make %KEYBOARD%:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
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
* **BootloadHID reset**: Hold down the key connected to the `A0` and `B0` pins on the MCU if it is known (often top left or bottom left) 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
+19
View File
@@ -0,0 +1,19 @@
# MCU name
MCU = atmega32a
# Bootloader selection
BOOTLOADER = bootloadHID
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
WS2812_DRIVER = i2c
+35
View File
@@ -82,6 +82,22 @@ Example code before change:
void encoder_update_kb(uint8_t index, bool clockwise) {
encoder_update_user(index, clockwise);
}
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* First encoder */
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
} else if (index == 1) { /* Second encoder */
if (clockwise) {
tap_code(KC_DOWN);
} else {
tap_code(KC_UP);
}
}
}
```
Example code after change:
@@ -90,6 +106,25 @@ Example code after change:
bool encoder_update_kb(uint8_t index, bool clockwise) {
return encoder_update_user(index, clockwise);
}
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* First encoder */
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
} else if (index == 1) { /* Second encoder */
if (clockwise) {
tap_code(KC_DOWN);
} else {
tap_code(KC_UP);
}
}
return true;
// If you return true, this will allow the keyboard level code to run, as well.
//Returning false will override the keyboard level code. Depending on how the keyboard level function is set up.
}
```
## Core Changes :id=core-changes
+557
View File
@@ -0,0 +1,557 @@
# QMK Breaking Changes - 2021 August 28 Changelog
## Notable Features :id=notable-features
### Combo processing improvements ([#8591](https://github.com/qmk/qmk_firmware/pull/8591)) :id=combo-processing-improvements
Combo processing has been reordered with respect to keypress handling, allowing for much better compatibility with mod taps.
It is also now possible to define combos that have keys overlapping with other combos, triggering only one. For example, a combo of `A`, `B` can coexist with a longer combo of `A`, `B`, `C` -- previous functionality would trigger both combos if all three keys were pressed.
### Key Overrides ([#11422](https://github.com/qmk/qmk_firmware/pull/11422)) :id=key-overrides
QMK now has a new feature: [key overrides](https://docs.qmk.fm/#/feature_key_overrides). This feature allows for overriding the output of key combinations involving modifiers. As an example, pressing <kbd>Shift+2</kbd> normally results in an <kbd>@</kbd> on US-ANSI keyboard layouts -- the new key overrides allow for adding similar functionality, but for any <kbd>modifier + key</kbd> press.
To illustrate, it's now possible to use the key overrides feature to translate <kbd>Shift + Backspace</kbd> into <kbd>Delete</kbd> -- an often-requested example of where this functionality comes in handy.
There's far more to describe that what lives in this changelog, so head over to the [key overrides documentation](https://docs.qmk.fm/#/feature_key_overrides) for more examples and info.
### Digitizer support ([#12851](https://github.com/qmk/qmk_firmware/pull/12851))
QMK gained the ability to pretend to be a digitizer device -- much like a tablet device. A mouse uses delta-coordinates -- move up, move right -- but a digitizer works with absolute coordinates -- top left, bottom right.
## Changes Requiring User Action :id=changes-requiring-user-action
### Updated Keyboard Codebases :id=updated-keyboard-codebases
The following keyboards have had their source moved within QMK:
Old Keyboard Name | New Keyboard Name
------------------------------|---------------------------------------------------------
aeboards/constellation | aeboards/constellation/rev1, aeboards/constellation/rev2
bakeneko65 | bakeneko65/rev2, bakeneko65/rev3
bm16a | kprepublic/bm16a
bm16s | kprepublic/bm16s
bm40hsrgb | kprepublic/bm40hsrgb
bm43a | kprepublic/bm43a
bm60poker | kprepublic/bm60poker
bm60rgb | kprepublic/bm60rgb
bm60rgb_iso | kprepublic/bm60rgb_iso
bm68rgb | kprepublic/bm68rgb
clawsome/gamebuddy | clawsome/gamebuddy/v1_0, clawsome/gamebuddy/v1_m
cospad | kprepublic/cospad
custommk/genesis | custommk/genesis/rev1, custommk/genesis/rev2
daisy | ktec/daisy
durgod/k320 | durgod/k3x0/k320
dztech/volcano660 | ilumkb/volcano660
ergodone | ktec/ergodone
gmmk/pro | gmmk/pro/ansi, gmmk/pro/iso
handwired/p1800fl | team0110/p1800fl
jj40 | kprepublic/jj40
jj4x4 | kprepublic/jj4x4
jj50 | kprepublic/jj50
kyria | splitkb/kyria
lazydesigners/the60 | lazydesigners/the60/rev1, lazydesigners/the60/rev2
matrix/m12og | matrix/m12og/rev1, matrix/m12og/rev2
mechlovin/hannah65/mechlovin9 | mechlovin/mechlovin9/rev1, mechlovin/mechlovin9/rev2
peiorisboards/ixora | coarse/ixora
ramonimbao/mona | ramonimbao/mona/v1, ramonimbao/mona/v1_1
staryu | ktec/staryu
tokyo60 | tokyokeyboard/tokyo60
vinta | coarse/vinta
xd002 | xiudi/xd002
xd004 | xiudi/xd004
xd60 | xiudi/xd60
xd68 | xiudi/xd68
xd75 | xiudi/xd75
xd84 | xiudi/xd84
xd84pro | xiudi/xd84pro
xd87 | xiudi/xd87
xd96 | xiudi/xd96
### Bootmagic Full Removal ([#13846](https://github.com/qmk/qmk_firmware/pull/13846)) :id=bootmagic-full-removal
As noted during last breaking changes cycle, QMK has decided to deprecate the full Bootmagic feature and leave Bootmagic Lite as the only remaining option.
This pull request changes the behavior of `BOOTMAGIC_ENABLE` such that specifying `full` results in an error, allowing only `no`, `yes`, or `lite`.
Currently `lite` is the equivalent of `yes` in `rules.mk`. Next cycle the use of the `lite` keyword will be prevented in favour of `yes` -- any new submissions should now be using `yes` or `no` to minimise disruption.
#### Bootmagic Full Deprecation Schedule
This is the current roadmap for the behavior of `BOOTMAGIC_ENABLE`:
- (done) From 2021 May 29, setting `BOOTMAGIC_ENABLE = yes` will enable Bootmagic Lite instead of full Bootmagic.
- (now) From 2021 Aug 28, `BOOTMAGIC_ENABLE` must be either `yes`, `lite`, or `no` setting `BOOTMAGIC_ENABLE = full` will cause compilation to fail.
- (next) From 2021 Nov 27, `BOOTMAGIC_ENABLE` must be either `yes` or `no` setting `BOOTMAGIC_ENABLE = lite` will cause compilation to fail.
### DIP switch callbacks are now boolean ([#13399](https://github.com/qmk/qmk_firmware/pull/13399)) :id=dip-switch-boolean
To match the encoder change last breaking changes cycle, DIP switch callbacks now return `bool`, too.
Example code before change:
```c
void dip_switch_update_kb(uint8_t index, bool active) {
dip_switch_update_user(index, active);
}
void dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if(active) { audio_on(); } else { audio_off(); }
break;
}
}
void dip_switch_update_mask_kb(uint32_t state) {
dip_switch_update_mask_user(state);
}
void dip_switch_update_mask_user(uint32_t state) {
if (state & (1UL<<0) && state & (1UL<<1)) {
layer_on(_ADJUST); // C on esc
} else {
layer_off(_ADJUST);
}
}
```
Example code after change:
```c
bool dip_switch_update_kb(uint8_t index, bool active) {
if !(dip_switch_update_user(index, active)) { return false; }
return true;
}
bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if(active) { audio_on(); } else { audio_off(); }
break;
}
return true; // Returning true allows keyboard code to execute, false will tell the keyboard code "I've already handled it".
}
bool dip_switch_update_mask_kb(uint32_t state) {
if (!dip_switch_update_mask_user(state)) { return false; }
return true;
}
bool dip_switch_update_mask_user(uint32_t state) {
if (state & (1UL<<0) && state & (1UL<<1)) {
layer_on(_ADJUST); // C on esc
} else {
layer_off(_ADJUST);
}
return true; // Returning true allows keyboard code to execute, false will tell the keyboard code "I've already handled it".
}
```
## Notable core changes :id=notable-core
### Split transport improvements :id=split-transport-improvements
Split keyboards gained a significant amount of improvements during this breaking changes cycle, specifically:
* Extensible split data sync ([#11930](https://github.com/qmk/qmk_firmware/pull/11930)) -- rewritten data sharing between sides, allowing for data transfer only when required, as well as enabling keyboards and keymaps to define their own shared data.
* Full-duplex ARM USART split ([#13081](https://github.com/qmk/qmk_firmware/pull/13081)) -- adds to the previous half-duplex driver and now allows for full-duplex support on ARM.
* Make solo half of split keyboards (more) usable. ([#13523](https://github.com/qmk/qmk_firmware/pull/13523)) -- allows the slave to be disconnected, enabling one-handed use.
* Switch split_common to CRC subsystem ([#13418](https://github.com/qmk/qmk_firmware/pull/13418))
!> If you're updating your split keyboard, you will need to flash both sides of the split with the your firmware.
### Teensy 4.x support ([#13056](https://github.com/qmk/qmk_firmware/pull/13056), [#13076](https://github.com/qmk/qmk_firmware/pull/13076), [#13077](https://github.com/qmk/qmk_firmware/pull/13077)) :id=teensy-4-x-support
Updated ChibiOS and ChibiOS-Contrib, which brought in support for Teensy 4.x dev boards, running NXP i.MX1062.
### Data Driven Improvements ([#13366](https://github.com/qmk/qmk_firmware/pull/13366))
QMK's pursuit of data-driven keyboards has progressed, allowing substantially more configurable options to be specified in `info.json`.
#### Tags
Tags will let you categorize your keyboard, and will be used in the future to allow browsing and sorting through keyboards in QMK. Tags are free-form text identifiers that identify attributes about your keyboard. To add tags you simply add a `tags` key to your `info.json`:
"tags": ["tkl", "backlight", "encoder"]
#### Dot Notation
With this release we are moving towards using JSON dot notation in more places. For example, when using `qmk info -f text`:
```
$ qmk info -f text -kb clueboard/card
bootloader: atmel-dfu
debounce: 20
diode_direction: ROW2COL
features.audio: True
features.backlight: True
features.bluetooth: False
features.bootmagic: False
features.command: True
features.console: True
features.extrakey: True
features.lto: True
features.midi: False
features.mousekey: True
features.nkro: False
features.rgblight: True
features.unicode: False
height: 8
keyboard_folder: clueboard/card
keyboard_name: Cluecard
layout_aliases.LAYOUT: LAYOUT_all
layouts: LAYOUT_all
maintainer: skullydazed
manufacturer: Clueboard
matrix_pins.cols: F1, F6, F7
matrix_pins.rows: B4, F0, F4, F5
platform: unknown
processor: atmega32u4
processor_type: avr
protocol: LUFA
rgblight.brightness_steps: 17
rgblight.hue_steps: 10
rgblight.led_count: 4
rgblight.pin: E6
rgblight.saturation_steps: 17
split.transport.protocol: serial
usb.device_ver: 0x0001
usb.pid: 0x2330
usb.vid: 0xC1ED
width: 10
```
#### New configuration keys
We've added dozens of new keys to `info.json` so that you can configure more than ever without writing a single line of code. A quick overview of the new items you can configure:
* `audio.pins`, `audio.voices`
* `backlight.breathing`, `backlight.breathing_period`, `backlight.levels`, `backlight.pin`,
* `bluetooth.driver`, `bluetooth.lto`
* `bootloader_instructions`
* `build.debounce_type`, `build.firmware_format`, `build.lto`
* `combo.count`, `combo.term`
* `leader_key.timing`, `leader_key.strict_processing`, `leader_key.timeout`
* `matrix.custom`, `matrix.custom_lite`, `matrix.ghost`, `matrix.io_delay`
* `mouse_key.enabled`, `mouse_key.delay`, `mouse_key.interval`, `mouse_key.max_speed`, `mouse_key.time_to_max`, `mouse_key.wheel_delay`
* `oneshot.tap_toggle`, `oneshot.timeout`
* `rgblight.layers.blink`, `rgblight.layers.enabled`, `rgblight.layers.max`, `rgblight.layers.override_rgb`, `rgblight.rgbw`
* `split.enabled`, `split.matrix_grid`, `split.matrix_pins`, `split.main`, `split.soft_serial_pin`, `split.soft_serial_speed`, `split.transport.protocol`, `split.transport.sync_matrix_state`, `split.transport.sync_modifiers`, `split.usb_detect`
* `tapping.force_hold`, `tapping.force_hold_per_key`, `tapping.ignore_mod_tap_interrupt`, `tapping.ignore_mod_tap_interrupt_per_key`, `tapping.permissive_hold`, `tapping.permissive_hold_per_key`, `tapping.retro`, `tapping.retro_per_key`, `tapping.term`, `tapping.term_per_key`, `tapping.toggle`
* `usb.force_nkro`, `usb.max_power`, `usb.no_startup_check`, `usb.polling_interval`, `usb.shared_endpoint.keyboard`, `usb.shared_endpoint.mouse`, `usb.suspend_wakeup_delay`, `usb.wait_for`
* `qmk.keys_per_scan`, `qmk.tap_keycode_delay`, `qmk.tap_capslock_delay`
### Codebase restructure and cleanup :id=codebase-restructure
QMK was originally based on TMK, and has grown in size considerably since its first inception. To keep moving things forward, restructure of some of the core areas of the code is needed to support new concepts and new hardware, and progress is happening along those lines:
* Move RGBLight code into its own folder ([#13312](https://github.com/qmk/qmk_firmware/pull/13312))
* Migrate platform independent code from tmk_core -> quantum ([#13673](https://github.com/qmk/qmk_firmware/pull/13673))
* matrix_scan_x -> x_task ([#13748](https://github.com/qmk/qmk_firmware/pull/13748))
* Move some led drivers to common folder ([#13749](https://github.com/qmk/qmk_firmware/pull/13749))
* Move chibios board files to allow tmk_core platform migration ([#13777](https://github.com/qmk/qmk_firmware/pull/13777))
* Begin to carve out platform/protocol API - Single main loop ([#13843](https://github.com/qmk/qmk_firmware/pull/13843))
* Relocate platform specific drivers ([#13894](https://github.com/qmk/qmk_firmware/pull/13894))
* Move all the flash logic from tmk_core ([#13927](https://github.com/qmk/qmk_firmware/pull/13927))
* Move USB Host Shield and Arduino core to `lib/` ([#13973](https://github.com/qmk/qmk_firmware/pull/13973))
* Unify behaviour of wait on AVR ([#14025](https://github.com/qmk/qmk_firmware/pull/14025))
* Move nix folder alongside vagrant ([#14132](https://github.com/qmk/qmk_firmware/pull/14132))
* Align some quantum sub-directories ([#14134](https://github.com/qmk/qmk_firmware/pull/14134))
---
## Full changelist
Core:
* Arm ps2 mouse interrupt ([#6490](https://github.com/qmk/qmk_firmware/pull/6490))
* Process combos earlier & overlapping combos ([#8591](https://github.com/qmk/qmk_firmware/pull/8591))
* Swap buttons on PS2 Mouse/Trackball ([#9205](https://github.com/qmk/qmk_firmware/pull/9205))
* Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys ([#9404](https://github.com/qmk/qmk_firmware/pull/9404))
* add yaml_build_options target ([#10533](https://github.com/qmk/qmk_firmware/pull/10533))
* Warn when building a board that uses arm_atsam ([#10904](https://github.com/qmk/qmk_firmware/pull/10904))
* Key Overrides ([#11422](https://github.com/qmk/qmk_firmware/pull/11422))
* Refactor `quantum/command.{c,h}` for code size & {read,maintain}ability ([#11842](https://github.com/qmk/qmk_firmware/pull/11842))
* Extensible split data sync ([#11930](https://github.com/qmk/qmk_firmware/pull/11930))
* Move print/debug files to quantum ([#12069](https://github.com/qmk/qmk_firmware/pull/12069))
* Unconditionally call led_init_ports ([#12116](https://github.com/qmk/qmk_firmware/pull/12116))
* Support using a timer for wait_us() on ChibiOS-based boards ([#12211](https://github.com/qmk/qmk_firmware/pull/12211))
* Add support for NO_PIN to all matrix types ([#12238](https://github.com/qmk/qmk_firmware/pull/12238))
* Avoid 8-bit timer overflows in debounce algorithms ([#12240](https://github.com/qmk/qmk_firmware/pull/12240))
* Add Per Key exclusions for Haptic Feedback ([#12386](https://github.com/qmk/qmk_firmware/pull/12386))
* Steno combinedkeys ([#12538](https://github.com/qmk/qmk_firmware/pull/12538))
* eeprom_stm32: implement high density wear leveling ([#12567](https://github.com/qmk/qmk_firmware/pull/12567))
* eeprom_i2c driver: added EXTERNAL_EEPROM_WP_PIN configuration option. ([#12617](https://github.com/qmk/qmk_firmware/pull/12617))
* Add CRC8 calculation subsystem to quantum ([#12641](https://github.com/qmk/qmk_firmware/pull/12641))
* Limit saturation for RGB_MATRIX_JELLYBEAN_RAINDROPS ([#12669](https://github.com/qmk/qmk_firmware/pull/12669))
* Add asym_eager_defer_pk debounce type ([#12689](https://github.com/qmk/qmk_firmware/pull/12689))
* Include lib8tion.c into RGB/LED matrix build list ([#12699](https://github.com/qmk/qmk_firmware/pull/12699))
* Add readPort() and some API to 'tmk_core/common/*/gpio.h' ([#12754](https://github.com/qmk/qmk_firmware/pull/12754))
* add wait_cpuclock() macro for AVR and CPU_CLOCK macro ([#12755](https://github.com/qmk/qmk_firmware/pull/12755))
* Trigger a wakeup after USB Reset on ChibiOS. ([#12831](https://github.com/qmk/qmk_firmware/pull/12831))
* Add sync_timer support over serial_link (i.e. Ergodox Infinity) ([#12845](https://github.com/qmk/qmk_firmware/pull/12845))
* Digitizer HID interface : absolute coordinates for mouse cursor ([#12851](https://github.com/qmk/qmk_firmware/pull/12851))
* Add config.h and rules.mk support for data driven keymaps ([#12859](https://github.com/qmk/qmk_firmware/pull/12859))
* Add alternate ldscript for STM32duino (F103xB) ([#12914](https://github.com/qmk/qmk_firmware/pull/12914))
* `keymap_extras`: Remove deprecated defines ([#12949](https://github.com/qmk/qmk_firmware/pull/12949))
* Retain brightness with lighting layers ([#13025](https://github.com/qmk/qmk_firmware/pull/13025))
* Move optical sensor code to drivers folder ([#13044](https://github.com/qmk/qmk_firmware/pull/13044))
* Change the prototype of matrix_output_unselect_delay() ([#13045](https://github.com/qmk/qmk_firmware/pull/13045))
* Add weak refs on reading rows/cols. ([#13062](https://github.com/qmk/qmk_firmware/pull/13062))
* Use single memcmp to determine if matrix changed. ([#13064](https://github.com/qmk/qmk_firmware/pull/13064))
* Improve layer mask handling ([#13065](https://github.com/qmk/qmk_firmware/pull/13065))
* mousekey: expose current report to users ([#13069](https://github.com/qmk/qmk_firmware/pull/13069))
* ChibiOS SVN mirror script. ([#13070](https://github.com/qmk/qmk_firmware/pull/13070))
* Added right vs left specific pin assignments for dip switch ([#13074](https://github.com/qmk/qmk_firmware/pull/13074))
* make RESET key work with Teensy 4.x ([#13076](https://github.com/qmk/qmk_firmware/pull/13076))
* wire up flash make target for Teensy 4.x ([#13077](https://github.com/qmk/qmk_firmware/pull/13077))
* bump USB spec version in device descriptor to 2.0 ([#13078](https://github.com/qmk/qmk_firmware/pull/13078))
* Unite half-duplex and full-duplex serial drivers ([#13081](https://github.com/qmk/qmk_firmware/pull/13081))
* Add ST7565 LCD driver ([#13089](https://github.com/qmk/qmk_firmware/pull/13089))
* `spi_master` Kinetis support ([#13098](https://github.com/qmk/qmk_firmware/pull/13098))
* GMMK Pro RGB Support ([#13147](https://github.com/qmk/qmk_firmware/pull/13147))
* Remove dfu-util arguments from mcu_selection ([#13150](https://github.com/qmk/qmk_firmware/pull/13150))
* Add subcommand to generate version.h ([#13151](https://github.com/qmk/qmk_firmware/pull/13151))
* Add oled_invert ([#13172](https://github.com/qmk/qmk_firmware/pull/13172))
* ST7565 invert ([#13237](https://github.com/qmk/qmk_firmware/pull/13237))
* RGB Matrix eeprom write limiting ([#13238](https://github.com/qmk/qmk_firmware/pull/13238))
* Temporary disable of CRC ([#13252](https://github.com/qmk/qmk_firmware/pull/13252))
* Move LED/RGB Matrix code into their own directories ([#13257](https://github.com/qmk/qmk_firmware/pull/13257))
* Skip EEPROM writes once done. ([#13293](https://github.com/qmk/qmk_firmware/pull/13293))
* Remove rgblight stubs ([#13302](https://github.com/qmk/qmk_firmware/pull/13302))
* Allow settable SPI divisor for AW20216 driver, set default to 4 ([#13309](https://github.com/qmk/qmk_firmware/pull/13309))
* Move RGBLight code into its own folder ([#13312](https://github.com/qmk/qmk_firmware/pull/13312))
* Unify matrix for split common and regular matrix ([#13330](https://github.com/qmk/qmk_firmware/pull/13330))
* Relocate RGB/HSV color defs to a more fitting place ([#13377](https://github.com/qmk/qmk_firmware/pull/13377))
* Adds support for STM32L412xB, STM32L422xB. ([#13383](https://github.com/qmk/qmk_firmware/pull/13383))
* Convert Dip Switch callbacks to boolean functions ([#13399](https://github.com/qmk/qmk_firmware/pull/13399))
* Use string literals for `SERIAL_NUMBER` ([#13403](https://github.com/qmk/qmk_firmware/pull/13403))
* Switch split_common to CRC subsystem ([#13418](https://github.com/qmk/qmk_firmware/pull/13418))
* Improve 'show_build_options' target ([#13425](https://github.com/qmk/qmk_firmware/pull/13425))
* AW20216 use register increment for framebuffer flushes ([#13430](https://github.com/qmk/qmk_firmware/pull/13430))
* Allow invert of SPLIT_HAND_PIN logic ([#13433](https://github.com/qmk/qmk_firmware/pull/13433))
* chibios: bootloader: use integer pointers as volatile ([#13450](https://github.com/qmk/qmk_firmware/pull/13450))
* Refactor OLED to allow easy addition of other types ([#13454](https://github.com/qmk/qmk_firmware/pull/13454))
* Dual RGB Matrix IS31FL3737 driver support to address #13442 ([#13457](https://github.com/qmk/qmk_firmware/pull/13457))
* Enable g_is31_leds PROGMEM for RGB Matrix IS31FL3737 driver ([#13480](https://github.com/qmk/qmk_firmware/pull/13480))
* Switch Ergodox Infinity over to split_common ([#13481](https://github.com/qmk/qmk_firmware/pull/13481))
* Make solo half of split keyboards (more) usable. ([#13523](https://github.com/qmk/qmk_firmware/pull/13523))
* Enable sync of OLED/ST7565 display on/off state on Splits ([#13542](https://github.com/qmk/qmk_firmware/pull/13542))
* Revert "Add rgblight to RGB Matrix VPATH" ([#13559](https://github.com/qmk/qmk_firmware/pull/13559))
* Move `SENDSTRING_BELL` code to `send_string.h` ([#13566](https://github.com/qmk/qmk_firmware/pull/13566))
* Migrate platform independent code from tmk_core -> quantum ([#13673](https://github.com/qmk/qmk_firmware/pull/13673))
* Avoid LTO conficts on arm_atsam ([#13676](https://github.com/qmk/qmk_firmware/pull/13676))
* Allow for removal of hysteresis on 4x encoders ([#13698](https://github.com/qmk/qmk_firmware/pull/13698))
* Port new_keyboard.sh to CLI ([#13706](https://github.com/qmk/qmk_firmware/pull/13706))
* Align AW20216 driver ([#13712](https://github.com/qmk/qmk_firmware/pull/13712))
* Haptic: driver-> feature ([#13713](https://github.com/qmk/qmk_firmware/pull/13713))
* Add support for STM32F407x MCUs. ([#13718](https://github.com/qmk/qmk_firmware/pull/13718))
* Remove legacy BACKLIGHT_CUSTOM_DRIVER option ([#13731](https://github.com/qmk/qmk_firmware/pull/13731))
* Minor tidy up of key overrides ([#13747](https://github.com/qmk/qmk_firmware/pull/13747))
* matrix_scan_x -> x_task ([#13748](https://github.com/qmk/qmk_firmware/pull/13748))
* Move some led drivers to common folder ([#13749](https://github.com/qmk/qmk_firmware/pull/13749))
* Allow for higher USB Polling rate on ATSAM boards ([#13755](https://github.com/qmk/qmk_firmware/pull/13755))
* Rgb matrix/enable modes explicitly ([#13758](https://github.com/qmk/qmk_firmware/pull/13758))
* Move chibios board files to allow tmk_core platform migration ([#13777](https://github.com/qmk/qmk_firmware/pull/13777))
* __flash? ([#13799](https://github.com/qmk/qmk_firmware/pull/13799))
* `--parallel` improvements ([#13800](https://github.com/qmk/qmk_firmware/pull/13800))
* Speed up pimoroni trackball driver ([#13823](https://github.com/qmk/qmk_firmware/pull/13823))
* Add a toggle key for GUI On/Off in Magic feature ([#13830](https://github.com/qmk/qmk_firmware/pull/13830))
* Begin to carve out platform/protocol API - Single main loop ([#13843](https://github.com/qmk/qmk_firmware/pull/13843))
* Remove Full Bootmagic ([#13846](https://github.com/qmk/qmk_firmware/pull/13846))
* Remove backwards compatibility of debounce names ([#13877](https://github.com/qmk/qmk_firmware/pull/13877))
* Relocate platform specific drivers ([#13894](https://github.com/qmk/qmk_firmware/pull/13894))
* Remove ONEHAND_ENABLE ([#13920](https://github.com/qmk/qmk_firmware/pull/13920))
* Move all the flash logic from tmk_core ([#13927](https://github.com/qmk/qmk_firmware/pull/13927))
* adding uf2 flash support for blackpill 401 ([#13968](https://github.com/qmk/qmk_firmware/pull/13968))
* Unify behaviour of wait on AVR ([#14025](https://github.com/qmk/qmk_firmware/pull/14025))
* Add qmk-hid bootloader detection support to `qmk console` ([#14038](https://github.com/qmk/qmk_firmware/pull/14038))
* Align DIP_SWITCH_PINS_RIGHT implementation with encoders ([#14079](https://github.com/qmk/qmk_firmware/pull/14079))
* Tidy up quantum.c now some of tmk_core has been merged ([#14083](https://github.com/qmk/qmk_firmware/pull/14083))
* Improve pmw3360 sensor and make it more hardware agnostic ([#14097](https://github.com/qmk/qmk_firmware/pull/14097))
* Move nix folder alongside vagrant ([#14132](https://github.com/qmk/qmk_firmware/pull/14132))
* Align some quantum sub-directories ([#14134](https://github.com/qmk/qmk_firmware/pull/14134))
* Revert 14083 && 14144 ([#14150](https://github.com/qmk/qmk_firmware/pull/14150))
CLI:
* allow LINE_PINxx for Teensy 4.x pins ([#13247](https://github.com/qmk/qmk_firmware/pull/13247))
* Remove the redundant pin name validation ([#13251](https://github.com/qmk/qmk_firmware/pull/13251))
* Move all our CLI file formatters to the format dir ([#13296](https://github.com/qmk/qmk_firmware/pull/13296))
* Refactor doctor.py into a directory ([#13298](https://github.com/qmk/qmk_firmware/pull/13298))
* Add git and venv info to doctor's output ([#13405](https://github.com/qmk/qmk_firmware/pull/13405))
* Matrix consistency check ([#13470](https://github.com/qmk/qmk_firmware/pull/13470))
* Remove references to info.json `width` and `height` in CLI ([#13728](https://github.com/qmk/qmk_firmware/pull/13728))
* Make `qmk doctor` more lenient about system config ([#13804](https://github.com/qmk/qmk_firmware/pull/13804))
* Defer the expensive search for layout macros until info.json has been processed ([#14007](https://github.com/qmk/qmk_firmware/pull/14007))
Submodule updates:
* Update ChibiOS, ChibiOS-Contrib. ([#13056](https://github.com/qmk/qmk_firmware/pull/13056))
* Update LUFA (18-07-2021) and add QMK-HID Bootloader support ([#13588](https://github.com/qmk/qmk_firmware/pull/13588))
* Update LUFA Submodule (2021-07-30) ([#13819](https://github.com/qmk/qmk_firmware/pull/13819))
* Bump gtest ([#13885](https://github.com/qmk/qmk_firmware/pull/13885))
* Update ChibiOS-Contrib, mirroring script. ([#13896](https://github.com/qmk/qmk_firmware/pull/13896))
* Move USB Host Shield and Arduino core to `lib/` ([#13973](https://github.com/qmk/qmk_firmware/pull/13973))
Keyboards:
* Migrate keyboards using uGFX to LED_MATRIX ([#9657](https://github.com/qmk/qmk_firmware/pull/9657))
* Remove MIDI Configuration boilerplate ([#11151](https://github.com/qmk/qmk_firmware/pull/11151))
* manyboard macro ([#11896](https://github.com/qmk/qmk_firmware/pull/11896))
* Moved tokyo60/ into tokyokeyboard/tokyo60/. ([#12023](https://github.com/qmk/qmk_firmware/pull/12023))
* Organize KPrepublic, K.T.E.C, xiudi boards into directories ([#12159](https://github.com/qmk/qmk_firmware/pull/12159))
* Add Durgod Taurus K310 keyboard ([#12314](https://github.com/qmk/qmk_firmware/pull/12314))
* add support for m65 and simple 5x13 ortholinear ([#12315](https://github.com/qmk/qmk_firmware/pull/12315))
* Relocalize and Update p1800fl ([#12425](https://github.com/qmk/qmk_firmware/pull/12425))
* GameBuddy v1.M ([#12637](https://github.com/qmk/qmk_firmware/pull/12637))
* Add mechlovin9 rev2 PCB ([#12767](https://github.com/qmk/qmk_firmware/pull/12767))
* Add RGB matrix support for Kyria ([#12789](https://github.com/qmk/qmk_firmware/pull/12789))
* RGB Matrix working for Sofle RGB ([#12861](https://github.com/qmk/qmk_firmware/pull/12861))
* Add Durgod Hades, Galaxy and Venus Keyboards ([#12893](https://github.com/qmk/qmk_firmware/pull/12893))
* kint36: set correct EEPROM size ([#12946](https://github.com/qmk/qmk_firmware/pull/12946))
* Updated encoder_update_user on my keymap to follow the new signature on quantum ([#13152](https://github.com/qmk/qmk_firmware/pull/13152))
* Add Creator Pro by SergioPoverony ([#13154](https://github.com/qmk/qmk_firmware/pull/13154))
* Use the new ST7565 driver on Ergodox Infinity ([#13165](https://github.com/qmk/qmk_firmware/pull/13165))
* Refactor atom47 and add rev4 and rev5 ([#13201](https://github.com/qmk/qmk_firmware/pull/13201))
* Add Bakeneko65 V3 and revision folders ([#13228](https://github.com/qmk/qmk_firmware/pull/13228))
* Keyboards/RGBKB/Mün ([#13239](https://github.com/qmk/qmk_firmware/pull/13239))
* Optimize our jsonschema by using refs ([#13271](https://github.com/qmk/qmk_firmware/pull/13271))
* Handwired/Stream_Cheap/2x4: Add via support ([#13297](https://github.com/qmk/qmk_firmware/pull/13297))
* ez_maker/directpins for easy one-offs in qmk_configurator ([#13321](https://github.com/qmk/qmk_firmware/pull/13321))
* add kinT kinesis keyboard controller (kint41 variant) ([#13333](https://github.com/qmk/qmk_firmware/pull/13333))
* Error log cleanup ([#13349](https://github.com/qmk/qmk_firmware/pull/13349))
* Drashna's split updates ([#13350](https://github.com/qmk/qmk_firmware/pull/13350))
* Migrate SHIFT_ESC and RGB `fn_actions` to Grave Escape and RGB keycodes ([#13360](https://github.com/qmk/qmk_firmware/pull/13360))
* Add a lot more data to info.json ([#13366](https://github.com/qmk/qmk_firmware/pull/13366))
* Remove `API_SYSEX_ENABLE`s from rules.mk ([#13389](https://github.com/qmk/qmk_firmware/pull/13389))
* gmmk/pro/mike1808 keymap ([#13398](https://github.com/qmk/qmk_firmware/pull/13398))
* Remove deprecated callbacks for encoders and dip switches ([#13404](https://github.com/qmk/qmk_firmware/pull/13404))
* first pass: matrix consistency improvements ([#13471](https://github.com/qmk/qmk_firmware/pull/13471))
* Migrate more `fn_actions` stuff ([#13502](https://github.com/qmk/qmk_firmware/pull/13502))
* add simple gmmk pro macos keymap with rgb ([#13504](https://github.com/qmk/qmk_firmware/pull/13504))
* move volcano660 to ilumkb folder ([#13550](https://github.com/qmk/qmk_firmware/pull/13550))
* Valor Rev 2 ([#13551](https://github.com/qmk/qmk_firmware/pull/13551))
* Split GMMK Pro PCBs into separate revisions ([#13570](https://github.com/qmk/qmk_firmware/pull/13570))
* Remove the vision_division keyboard ([#13571](https://github.com/qmk/qmk_firmware/pull/13571))
* Develop - Change uint32_t to layer_state_t ([#13596](https://github.com/qmk/qmk_firmware/pull/13596))
* Develop - DC01 left ([#13597](https://github.com/qmk/qmk_firmware/pull/13597))
* Created "paddlegame" keymap ([#13629](https://github.com/qmk/qmk_firmware/pull/13629))
* Add timer_avr to includes for broken builds ([#13641](https://github.com/qmk/qmk_firmware/pull/13641))
* Disable console by default on all Keebio boards ([#13649](https://github.com/qmk/qmk_firmware/pull/13649))
* Enable LTO by default on BastardKB Scylla ([#13664](https://github.com/qmk/qmk_firmware/pull/13664))
* Reduce compile size for dz60rgb v2.1 ([#13680](https://github.com/qmk/qmk_firmware/pull/13680))
* Clean up remaining RGB_DISABLE_WHEN_USB_SUSPENDED defines ([#13689](https://github.com/qmk/qmk_firmware/pull/13689))
* Remove some legacy files ([#13715](https://github.com/qmk/qmk_firmware/pull/13715))
* [Keyboard Update] Change to L422 ([#13717](https://github.com/qmk/qmk_firmware/pull/13717))
* Update kyria make path example ([#13720](https://github.com/qmk/qmk_firmware/pull/13720))
* Drashna's Defaults cleanup ([#13722](https://github.com/qmk/qmk_firmware/pull/13722))
* Reduce firmware size in prep for #12670 ([#13724](https://github.com/qmk/qmk_firmware/pull/13724))
* Tidy up rgbkb/mun ([#13801](https://github.com/qmk/qmk_firmware/pull/13801))
* Make default keymap for GMMK Pro reflect stock ([#13850](https://github.com/qmk/qmk_firmware/pull/13850))
* Rework as per 9824 ([#13898](https://github.com/qmk/qmk_firmware/pull/13898))
* Remove console from keebio via keyboards ([#13901](https://github.com/qmk/qmk_firmware/pull/13901))
* Drashna split transport improvement ([#13905](https://github.com/qmk/qmk_firmware/pull/13905))
* Copy GMMK Pro screw specs to ISO readme ([#13908](https://github.com/qmk/qmk_firmware/pull/13908))
* Clean up remaining RGB_DISABLE_WHEN_USB_SUSPENDED defines Part 2 ([#13912](https://github.com/qmk/qmk_firmware/pull/13912))
* Add andrebrait layout for GMMK Pro ([#13932](https://github.com/qmk/qmk_firmware/pull/13932))
* Updated RGB Matrix suspend define part 3 ([#13954](https://github.com/qmk/qmk_firmware/pull/13954))
* Improve andrebrait keymap ([#13985](https://github.com/qmk/qmk_firmware/pull/13985))
* Drashna's Improve OLEDs and custom Split code ([#14063](https://github.com/qmk/qmk_firmware/pull/14063))
* Kyria default reformat ([#14080](https://github.com/qmk/qmk_firmware/pull/14080))
* Feature rich keymap for GMMK Pro (ANSI) ([#14120](https://github.com/qmk/qmk_firmware/pull/14120))
Keyboard fixes:
* Fix LED mapping for GMMK Pro ([#13189](https://github.com/qmk/qmk_firmware/pull/13189))
* Fix up SplitKB keyboards ([#13511](https://github.com/qmk/qmk_firmware/pull/13511))
* Keyboards/sol rev2 fix ([#13533](https://github.com/qmk/qmk_firmware/pull/13533))
* Fix MATRIX_COLS for aeboards/constellation/rev2 ([#13633](https://github.com/qmk/qmk_firmware/pull/13633))
* Fix errors with matrix_output_unselect_delay function calls ([#13645](https://github.com/qmk/qmk_firmware/pull/13645))
* Fix default keymap for 0xCB 1337 keyboard ([#13646](https://github.com/qmk/qmk_firmware/pull/13646))
* Fix Matrix Row number for ggkeyboards/genisis ([#13647](https://github.com/qmk/qmk_firmware/pull/13647))
* Fix matrix issues with Promethium ([#13648](https://github.com/qmk/qmk_firmware/pull/13648))
* Fix dc01/left so that it doesn't throw a warning ([#13653](https://github.com/qmk/qmk_firmware/pull/13653))
* Remove broken, unmaintained converter/ibm_5291 ([#13658](https://github.com/qmk/qmk_firmware/pull/13658))
* Quick hack to fix Astro65 board ([#13665](https://github.com/qmk/qmk_firmware/pull/13665))
* Fix symmetric70_proto build break on develop branch ([#13667](https://github.com/qmk/qmk_firmware/pull/13667))
* Fix matrix delay on Drop boards ([#13671](https://github.com/qmk/qmk_firmware/pull/13671))
* Fix split matrix for sekigon grs 70ec ([#13672](https://github.com/qmk/qmk_firmware/pull/13672))
* Fix type on pandora via keymap ([#13681](https://github.com/qmk/qmk_firmware/pull/13681))
* Fix & clean up tronguylabs/m122_3270 ([#13684](https://github.com/qmk/qmk_firmware/pull/13684))
* Fix up xd002 rgb keymaps ([#13685](https://github.com/qmk/qmk_firmware/pull/13685))
* Dactyl Manuform cleanup ([#13686](https://github.com/qmk/qmk_firmware/pull/13686))
* Fix Q1 change dip switch to bool ([#13687](https://github.com/qmk/qmk_firmware/pull/13687))
* Fix compile size for the Merge UM70 via keymap ([#13690](https://github.com/qmk/qmk_firmware/pull/13690))
* Fix compile size for the Lets Split Sockets via keymap ([#13691](https://github.com/qmk/qmk_firmware/pull/13691))
* Fix Compile size on ungodly Launch Pad ([#13692](https://github.com/qmk/qmk_firmware/pull/13692))
* dirty fix ([#13695](https://github.com/qmk/qmk_firmware/pull/13695))
* Fix compile size for the Vitamins Included via keymap ([#13696](https://github.com/qmk/qmk_firmware/pull/13696))
* Fix typo in Dactyl Manuform ([#13740](https://github.com/qmk/qmk_firmware/pull/13740))
* Fix compile issues due to LED changes ([#13821](https://github.com/qmk/qmk_firmware/pull/13821))
* Fix SRC include for matrix/m20add issi driver ([#13826](https://github.com/qmk/qmk_firmware/pull/13826))
* fix develop branch move file ([#13832](https://github.com/qmk/qmk_firmware/pull/13832))
* Fix knops keymaps ([#13872](https://github.com/qmk/qmk_firmware/pull/13872))
* Switch Draculad to using WPM char hack ([#13886](https://github.com/qmk/qmk_firmware/pull/13886))
* Fix up builds after #8591 ([#13900](https://github.com/qmk/qmk_firmware/pull/13900))
* Fix matrix_output_unselect_delay for handwired/xealousbrown ([#13913](https://github.com/qmk/qmk_firmware/pull/13913))
* Fixup rgb matrix config for KBD67 mkII boards ([#13931](https://github.com/qmk/qmk_firmware/pull/13931))
* Fix compliation for ferris 0.2 bling ([#13937](https://github.com/qmk/qmk_firmware/pull/13937))
* Fix some additional bootmagic settings ([#13979](https://github.com/qmk/qmk_firmware/pull/13979))
* Fix default keymap for GMMK Pro Iso ([#13980](https://github.com/qmk/qmk_firmware/pull/13980))
* Fixup Ungodly Launch Pad config ([#13992](https://github.com/qmk/qmk_firmware/pull/13992))
* Fix errors that have cropped up in develop ([#14005](https://github.com/qmk/qmk_firmware/pull/14005))
* Fix wait_us overflow in matrix for dactyl based boards ([#14039](https://github.com/qmk/qmk_firmware/pull/14039))
* Fixup Neson Design N6 ISSI includes ([#14045](https://github.com/qmk/qmk_firmware/pull/14045))
* Fixup `massdrop/alt`, `cest73/tkm`. ([#14048](https://github.com/qmk/qmk_firmware/pull/14048))
* fix helix:fraanrosi compile error caused by #13677. ([#14061](https://github.com/qmk/qmk_firmware/pull/14061))
* Fix compile issues for Tractyl Manuform ([#14105](https://github.com/qmk/qmk_firmware/pull/14105))
* Disable Console on Keebio Quefrency ([#14108](https://github.com/qmk/qmk_firmware/pull/14108))
* Fixed GMMK Pro -> stickandgum keymap readme.md ([#14123](https://github.com/qmk/qmk_firmware/pull/14123))
* Drashna keymap fixups ([#14140](https://github.com/qmk/qmk_firmware/pull/14140))
* fix ([#14142](https://github.com/qmk/qmk_firmware/pull/14142))
* Fix merge artifacts ([#14146](https://github.com/qmk/qmk_firmware/pull/14146))
* Update readme files ([#14172](https://github.com/qmk/qmk_firmware/pull/14172))
Others:
* Add examples to RGB Matrix Indicators docs ([#12797](https://github.com/qmk/qmk_firmware/pull/12797))
Bugs:
* Fix Indicator LED issues ([#12097](https://github.com/qmk/qmk_firmware/pull/12097))
* Fixing incorrect keymap build when switching between multiple keymap.jsons ([#12632](https://github.com/qmk/qmk_firmware/pull/12632))
* Fix LED Hit Counter for LED/RGB Matrix ([#12674](https://github.com/qmk/qmk_firmware/pull/12674))
* ChibiOS fix O3 and LTO breakage of extra keys and joystick ([#12819](https://github.com/qmk/qmk_firmware/pull/12819))
* Remove the #10088 hotfix for Teensy 3.1-like Input:Club keyboards ([#12870](https://github.com/qmk/qmk_firmware/pull/12870))
* Fix firmware size check with avr-libc 1:2.0.0+Atmel3.6.2-1.1 (Debian bullseye) ([#12951](https://github.com/qmk/qmk_firmware/pull/12951))
* Fix RGB/LED Suspend defines ([#13146](https://github.com/qmk/qmk_firmware/pull/13146))
* Fix overrun in st7565_write_raw when not at (0, 0) ([#13209](https://github.com/qmk/qmk_firmware/pull/13209))
* Upgrades Vagrant box to Debian 10 to fix Docker build error on Debian 9. ([#13236](https://github.com/qmk/qmk_firmware/pull/13236))
* Fix issues with VIA EEPROM init and bring in line with eeconfig functionality ([#13243](https://github.com/qmk/qmk_firmware/pull/13243))
* Fix CRC for AVR and enable again. ([#13253](https://github.com/qmk/qmk_firmware/pull/13253))
* Fix linker error when rgblight and RGB Matrix are both enabled ([#13304](https://github.com/qmk/qmk_firmware/pull/13304))
* Fix building layouts from JSON ([#13310](https://github.com/qmk/qmk_firmware/pull/13310))
* Add rgblight to RGB Matrix VPATH ([#13371](https://github.com/qmk/qmk_firmware/pull/13371))
* Fix two out of bounds accesses from #13330. ([#13525](https://github.com/qmk/qmk_firmware/pull/13525))
* Fixes for clang not being able to run unit tests ([#13546](https://github.com/qmk/qmk_firmware/pull/13546))
* Fixup Audio startup and add to documents ([#13606](https://github.com/qmk/qmk_firmware/pull/13606))
* CLI/Docs: Fix the format commands' name ([#13668](https://github.com/qmk/qmk_firmware/pull/13668))
* Disables rgblight twinkle by default. ([#13677](https://github.com/qmk/qmk_firmware/pull/13677))
* Fix typo in dip switch example ([#13688](https://github.com/qmk/qmk_firmware/pull/13688))
* docs/cli_commands: fix typo ([#13697](https://github.com/qmk/qmk_firmware/pull/13697))
* Include gpio.h in solenoid driver for GPIO Control functions ([#13716](https://github.com/qmk/qmk_firmware/pull/13716))
* Fix pimoroni trackball read address ([#13810](https://github.com/qmk/qmk_firmware/pull/13810))
* Fix Key Override includes ([#13831](https://github.com/qmk/qmk_firmware/pull/13831))
* Fix alignment of USB out report buffer 2 -> 4 ([#13838](https://github.com/qmk/qmk_firmware/pull/13838))
* Fix compilation issue. ([#13926](https://github.com/qmk/qmk_firmware/pull/13926))
* Fix `combo_disable` ([#13988](https://github.com/qmk/qmk_firmware/pull/13988))
* Fix pmw3360 code to only output debug info if mouse debugging is enabled ([#13993](https://github.com/qmk/qmk_firmware/pull/13993))
* Fix ifdefs for OLED split sync code ([#14017](https://github.com/qmk/qmk_firmware/pull/14017))
* Various fixes from reorg of files ([#14051](https://github.com/qmk/qmk_firmware/pull/14051))
* Fixup atsam builds. ([#14052](https://github.com/qmk/qmk_firmware/pull/14052))
* Fix RGB/LED Matrix Suspend code ([#14084](https://github.com/qmk/qmk_firmware/pull/14084))
* Fix issues with recent keymap.json changes ([#14089](https://github.com/qmk/qmk_firmware/pull/14089))
* Fix LED Matrix suspend code ([#14090](https://github.com/qmk/qmk_firmware/pull/14090))
* Fix up compilation issues. ([#14095](https://github.com/qmk/qmk_firmware/pull/14095))
* Fix copypasta issue with pmw3360 sensor config ([#14106](https://github.com/qmk/qmk_firmware/pull/14106))
* Fix typo ([#14118](https://github.com/qmk/qmk_firmware/pull/14118))
* Fix bootloadHID comments breaking :flash ([#14133](https://github.com/qmk/qmk_firmware/pull/14133))
* Fix Mouse Shared EP functionality ([#14136](https://github.com/qmk/qmk_firmware/pull/14136))
* Short term bodge for firmware size bloat ([#14144](https://github.com/qmk/qmk_firmware/pull/14144))
* Move to correct location ([#14171](https://github.com/qmk/qmk_firmware/pull/14171))
+7 -1
View File
@@ -19,6 +19,7 @@
* [Overview](newbs_building_firmware_configurator.md)
* [Step by Step](configurator_step_by_step.md)
* [Troubleshooting](configurator_troubleshooting.md)
* [Architecture](configurator_architecture.md)
* QMK API
* [Overview](api_overview.md)
* [API Documentation](api_docs.md)
@@ -35,6 +36,7 @@
* Guides
* [Customizing Functionality](custom_quantum_functions.md)
* [Driver Installation with Zadig](driver_installation_zadig.md)
* [Easy Maker for One Offs](easy_maker.md)
* [Keymap Overview](keymap.md)
* Development Environments
* [Docker Guide](getting_started_docker.md)
@@ -60,6 +62,7 @@
* [Language-Specific Keycodes](reference_keymap_extras.md)
* [Modifier Keys](feature_advanced_keycodes.md)
* [Quantum Keycodes](quantum_keycodes.md)
* [Magic Keycodes](keycodes_magic.md)
* Advanced Keycodes
* [Command](feature_command.md)
@@ -77,6 +80,7 @@
* [Combos](feature_combo.md)
* [Debounce API](feature_debounce_type.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)
@@ -93,6 +97,7 @@
* Hardware Features
* Displays
* [HD44780 LCD Controller](feature_hd44780.md)
* [ST7565 LCD Driver](feature_st7565.md)
* [OLED Driver](feature_oled_driver.md)
* Lighting
* [Backlight](feature_backlight.md)
@@ -101,8 +106,9 @@
* [RGB Matrix](feature_rgb_matrix.md)
* [Audio](feature_audio.md)
* [Bluetooth](feature_bluetooth.md)
* [Bootmagic](feature_bootmagic.md)
* [Bootmagic Lite](feature_bootmagic.md)
* [Custom Matrix](custom_matrix.md)
* [Digitizer](feature_digitizer.md)
* [DIP Switch](feature_dip_switch.md)
* [Encoders](feature_encoders.md)
* [Haptic Feedback](feature_haptic_feedback.md)
+19 -11
View File
@@ -6,6 +6,7 @@ The breaking change period is when we will merge PR's that change QMK in dangero
## What has been included in past Breaking Changes?
* [2021 Aug 28](ChangeLog/20210828.md)
* [2021 May 29](ChangeLog/20210529.md)
* [2021 Feb 27](ChangeLog/20210227.md)
* [2020 Nov 28](ChangeLog/20201128.md)
@@ -20,12 +21,12 @@ The next Breaking Change is scheduled for August 28, 2021.
### Important Dates
* [x] 2021 May 29 - `develop` is created. Each push to `master` is subsequently merged to `develop`
* [ ] 2021 Jul 31 - `develop` closed to new PR's.
* [ ] 2021 Jul 31 - Call for testers.
* [ ] 2021 Aug 26 - `master` is locked, no PR's merged.
* [ ] 2021 Aug 28 - Merge `develop` to `master`.
* [ ] 2021 Aug 28 - `master` is unlocked. PR's can be merged again.
* [x] 2021 Aug 29 - `develop` is created. Each push to `master` is subsequently merged to `develop`
* [ ] 2021 Oct 31 - `develop` closed to new PR's.
* [ ] 2021 Oct 31 - Call for testers.
* [ ] 2021 Nov 26 - `master` is locked, no PR's merged.
* [ ] 2021 Nov 28 - Merge `develop` to `master`.
* [ ] 2021 Nov 28 - `master` is unlocked. PR's can be merged again.
## What changes will be included?
@@ -56,7 +57,7 @@ This happens immediately after the previous `develop` branch is merged.
* [ ] `git commit -m 'Branch point for <DATE> Breaking Change'`
* [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>`
* [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
* [ ] `git push origin develop`
* [ ] `git push upstream develop`
* [ ] `git push --tags`
## 4 Weeks Before Merge
@@ -86,13 +87,20 @@ This happens immediately after the previous `develop` branch is merged.
* `qmk_firmware` git commands
* [ ] `git checkout develop`
* [ ] `git pull --ff-only`
* [ ] `git rebase origin/master`
* [ ] 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 origin develop`
* [ ] `git push upstream develop`
* GitHub Actions
* [ ] Create a PR for `develop`
* [ ] Make sure travis comes back clean
* [ ] Merge `develop` PR
* [ ] **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 push upstream master`
## Post-merge operations
* (Optional) [update ChibiOS + ChibiOS-Contrib on `develop`](chibios_upgrade_instructions.md)
+1
View File
@@ -2,6 +2,7 @@
This page links to all previous changelogs from the QMK Breaking Changes process.
* [2021 Aug 28](ChangeLog/20210828.md) - version 0.14.0
* [2021 May 29](ChangeLog/20210529.md) - version 0.13.0
* [2021 Feb 27](ChangeLog/20210227.md) - version 0.12.0
* [2020 Nov 28](ChangeLog/20201128.md) - version 0.11.0
+56
View File
@@ -0,0 +1,56 @@
# ChibiOS Upgrade Procedure
ChibiOS and ChibiOS-Contrib need to be updated in tandem -- the latter has a branch tied to the ChibiOS version in use and should not be mixed with different versions.
## Getting ChibiOS
* `svn` Initialisation:
* Only needed to be done once
* You might need to separately install `git-svn` package in your OS's package manager
* `git svn init --stdlayout --prefix='svn/' http://svn.osdn.net/svnroot/chibios/`
* `git remote add qmk git@github.com:qmk/ChibiOS.git`
* Updating:
* `git svn fetch`
* First time around this will take several hours
* Subsequent updates will be incremental only
* Tagging example (work out which version first!):
* `git tag -a ver20.3.3 -m ver20.3.3 svn/tags/ver20.3.3`
* `git push qmk ver20.3.3`
* `git tag -a breaking_YYYY_qN -m breaking_YYYY_qN svn/tags/ver20.3.3`
* `git push qmk breaking_YYYY_qN`
## Getting ChibiOS-Contrib
* `git` Initialisation:
* `git clone git@github.com:qmk/ChibiOS-Contrib`
* `git remote add upstream https://github.com/ChibiOS/ChibiOS-Contrib`
* `git checkout -b chibios-20.3.x upstream/chibios-20.3.x`
* Updating:
* `git fetch --all --tags --prune`
* `git checkout chibios-20.3.x`
* `git pull --ff-only`
* `git push origin chibios-20.3.x`
* `git tag -a breaking_YYYY_qN -m breaking_YYYY_qN chibios-20.3.x`
* `git push origin breaking_YYYY_qN`
## Updating submodules
* Update the submodules
* `cd $QMK_FIRMWARE`
* `git checkout develop`
* `git pull --ff-only`
* `git checkout -b chibios-version-bump`
* `cd lib/chibios`
* `git fetch --all --tags --prune`
* `git checkout breaking_YYYY_qN`
* `cd ../chibios-contrib`
* `git fetch --all --tags --prune`
* `git checkout breaking_YYYY_qN`
* Build everything
* `cd $QMK_FIRMWARE`
* `qmk multibuild -j4`
* Make sure there are no errors
* Push to the repo
* `git commit -am 'Update ChibiOS to XXXXXXXXX'`
* `git push --set-upstream origin chibios-version-bump`
* Make a PR to qmk_firmware with the new branch
+37 -62
View File
@@ -17,7 +17,7 @@ qmk compile [-c] <configuratorExport.json>
**Usage for Keymaps**:
```
qmk compile [-c] [-e <var>=<value>] -kb <keyboard_name> -km <keymap_name>
qmk compile [-c] [-e <var>=<value>] [-j <num_jobs>] -kb <keyboard_name> -km <keymap_name>
```
**Usage in Keyboard Directory**:
@@ -73,6 +73,17 @@ $ qmk compile -kb dz60
...
```
**Parallel Compilation**:
It is possible to speed up compilation by adding the `-j`/`--parallel` flag.
```
qmk compile -j <num_jobs> -kb <keyboard_name>
```
The `num_jobs` argument determines the maximum number of jobs that can be used. Setting it to zero will enable parallel compilation without limiting the maximum number of jobs.
```
qmk compile -j 0 -kb <keyboard_name>
```
## `qmk flash`
This command is similar to `qmk compile`, but can also target a bootloader. The bootloader is optional, and is set to `:flash` by default. To specify a different bootloader, use `-bl <bootloader>`. Visit the [Flashing Firmware](flashing.md) guide for more details of the available bootloaders.
@@ -82,13 +93,13 @@ This command is directory aware. It will automatically fill in KEYBOARD and/or K
**Usage for Configurator Exports**:
```
qmk flash [-bl <bootloader>] [-c] [-e <var>=<value>] <configuratorExport.json>
qmk flash [-bl <bootloader>] [-c] [-e <var>=<value>] [-j <num_jobs>] <configuratorExport.json>
```
**Usage for Keymaps**:
```
qmk flash -kb <keyboard_name> -km <keymap_name> [-bl <bootloader>] [-c] [-e <var>=<value>]
qmk flash -kb <keyboard_name> -km <keymap_name> [-bl <bootloader>] [-c] [-e <var>=<value>] [-j <num_jobs>]
```
**Listing the Bootloaders**
@@ -107,54 +118,6 @@ This command lets you configure the behavior of QMK. For the full `qmk config` d
qmk config [-ro] [config_token1] [config_token2] [...] [config_tokenN]
```
## `qmk console`
This command lets you connect to keyboard consoles to get debugging messages. It only works if your keyboard firmware has been compiled with `CONSOLE_ENABLED=yes`.
**Usage**:
```
qmk console [-d <pid>:<vid>[:<index>]] [-l] [-n] [-t] [-w <seconds>]
```
**Examples**:
Connect to all available keyboards and show their console messages:
```
qmk console
```
List all devices:
```
qmk console -l
```
Show only messages from clueboard/66/rev3 keyboards:
```
qmk console -d C1ED:2370
```
Show only messages from the second clueboard/66/rev3:
```
qmk console -d C1ED:2370:2
```
Show timestamps and VID:PID instead of names:
```
qmk console -n -t
```
Disable bootloader messages:
```
qmk console --no-bootloaders
```
## `qmk doctor`
This command examines your environment and alerts you to potential build or flash problems. It can fix many of them if you want it to.
@@ -280,12 +243,12 @@ qmk list-keymaps -kb planck/ez
This command creates a new keyboard based on available templates.
This command will prompt for input to guide you though the generation process.
Any arguments that are not provided will prompt for input. If `-u` is not passed and `user.name` is set in .gitconfig, it will be used as the default username in the prompt.
**Usage**:
```
qmk new-keyboard
qmk new-keyboard [-kb KEYBOARD] [-t {avr,ps2avrgb}] -u USERNAME
```
## `qmk new-keymap`
@@ -314,7 +277,18 @@ qmk clean [-a]
# Developer Commands
## `qmk cformat`
## `qmk format-text`
This command formats text files to have proper line endings.
Every text file in the repository needs to have Unix (LF) line ending.
If you are working on **Windows**, you must ensure that line endings are corrected in order to get your PRs merged.
```
qmk format-text
```
## `qmk format-c`
This command formats C code using clang-format.
@@ -325,35 +299,36 @@ Run it with `-a` to format all core code, or pass filenames on the command line
**Usage for specified files**:
```
qmk cformat [file1] [file2] [...] [fileN]
qmk format-c [file1] [file2] [...] [fileN]
```
**Usage for all core files**:
```
qmk cformat -a
qmk format-c -a
```
**Usage for only changed files against origin/master**:
```
qmk cformat
qmk format-c
```
**Usage for only changed files against branch_name**:
```
qmk cformat -b branch_name
qmk format-c -b branch_name
```
## `qmk docs`
This command starts a local HTTP server which you can use for browsing or improving the docs. Default port is 8936.
Use the `-b`/`--browser` flag to automatically open the local webserver in your default browser.
**Usage**:
```
qmk docs [-p PORT]
qmk docs [-b] [-p PORT]
```
## `qmk generate-docs`
@@ -368,7 +343,7 @@ qmk generate-docs
## `qmk generate-rgb-breathe-table`
This command generates a lookup table (LUT) header file for the [RGB Lighting](feature_rgblight.md) feature's breathing animation. Place this file in your keyboard or keymap directory as `rgblight_breathe_table.h` to override the default LUT in `quantum/`.
This command generates a lookup table (LUT) header file for the [RGB Lighting](feature_rgblight.md) feature's breathing animation. Place this file in your keyboard or keymap directory as `rgblight_breathe_table.h` to override the default LUT in `quantum/rgblight/`.
**Usage**:
@@ -398,14 +373,14 @@ $ qmk kle2json -f kle.txt -f
Ψ Wrote out to info.json
```
## `qmk pyformat`
## `qmk format-python`
This command formats python code in `qmk_firmware`.
**Usage**:
```
qmk pyformat
qmk format-python
```
## `qmk pytest`
+2 -2
View File
@@ -188,7 +188,7 @@ cli.log.info('Reading from %s and writing to %s', cli.args.filename, cli.args.ou
# Testing, and Linting, and Formatting (oh my!)
We use nose2, flake8, and yapf to test, lint, and format code. You can use the `pytest` and `pyformat` subcommands to run these tests:
We use nose2, flake8, and yapf to test, lint, and format code. You can use the `pytest` and `format-py` subcommands to run these tests:
### Testing and Linting
@@ -196,7 +196,7 @@ We use nose2, flake8, and yapf to test, lint, and format code. You can use the `
### Formatting
qmk pyformat
qmk format-py
## Formatting Details
+3
View File
@@ -27,10 +27,13 @@ You can also use any ARM chip with USB that [ChibiOS](https://www.chibios.org) s
* [STM32F103](https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html)
* [STM32F303](https://www.st.com/en/microcontrollers-microprocessors/stm32f303.html)
* [STM32F401](https://www.st.com/en/microcontrollers-microprocessors/stm32f401.html)
* [STM32F407](https://www.st.com/en/microcontrollers-microprocessors/stm32f407-417.html)
* [STM32F411](https://www.st.com/en/microcontrollers-microprocessors/stm32f411.html)
* [STM32F446](https://www.st.com/en/microcontrollers-microprocessors/stm32f446.html)
* [STM32G431](https://www.st.com/en/microcontrollers-microprocessors/stm32g4x1.html)
* [STM32G474](https://www.st.com/en/microcontrollers-microprocessors/stm32g4x4.html)
* [STM32L412](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html)
* [STM32L422](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html)
* [STM32L433](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x3.html)
* [STM32L443](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x3.html)
+50 -3
View File
@@ -51,8 +51,10 @@ This is a C header file that is one of the first things included, and will persi
* the number of columns in your keyboard's matrix
* `#define MATRIX_ROW_PINS { D0, D5, B5, B6 }`
* pins of the rows, from top to bottom
* may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions.md?id=low-level-matrix-overrides) for more information.
* `#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }`
* pins of the columns, from left to right
* may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions.md?id=low-level-matrix-overrides) for more information.
* `#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 }`
@@ -186,13 +188,27 @@ If you define these options you will enable the associated feature, which may in
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.
* 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
* `#define COMBO_MOD_TERM 200`
* 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`
* Flag to enable per-combo COMBO_TERM extension and `get_combo_term()` function
* `#define COMBO_STRICT_TIMER`
* Only start the combo timer on the first key press instead of on all key presses.
* `#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.
* `#define TAP_HOLD_CAPS_DELAY 80`
* Sets the delay for Tap Hold keys (`LT`, `MT`) when using `KC_CAPSLOCK` keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher.
* `#define KEY_OVERRIDE_REPEAT_DELAY 500`
* Sets the key repeat interval for [key overrides](feature_key_overrides.md).
## RGB Light Configuration
@@ -272,7 +288,7 @@ There are a few different ways to set handedness for split keyboards (listed in
### Other Options
* `#define USE_I2C`
* For using I2C instead of Serial (defaults to serial)
* For using I2C instead of Serial (default is serial; serial transport is supported on ARM -- I2C is AVR-only)
* `#define SOFT_SERIAL_PIN D0`
* When using serial, define this. `D0` or `D1`,`D2`,`D3`,`E6`.
@@ -280,6 +296,7 @@ There are a few different ways to set handedness for split keyboards (listed in
* `#define MATRIX_ROW_PINS_RIGHT { <row pins> }`
* `#define MATRIX_COL_PINS_RIGHT { <col pins> }`
* If you want to specify a different pinout for the right half than the left half, you can define `MATRIX_ROW_PINS_RIGHT`/`MATRIX_COL_PINS_RIGHT`. Currently, the size of `MATRIX_ROW_PINS` must be the same as `MATRIX_ROW_PINS_RIGHT` and likewise for the definition of columns.
* may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions.md?id=low-level-matrix-overrides) for more information.
* `#define DIRECT_PINS_RIGHT { { F1, F0, B0, C7 }, { F4, F5, F6, F7 } }`
* If you want to specify a different direct pinout for the right half than the left half, you can define `DIRECT_PINS_RIGHT`. Currently, the size of `DIRECT_PINS` must be the same as `DIRECT_PINS_RIGHT`.
@@ -300,7 +317,7 @@ There are a few different ways to set handedness for split keyboards (listed in
* `#define SPLIT_USB_DETECT`
* Detect (with timeout) USB connection when delegating master/slave
* Default behavior for ARM
* Required for AVR Teensy
* Required for AVR Teensy (without hardware mods)
* `#define SPLIT_USB_TIMEOUT 2000`
* Maximum timeout when detecting master/slave when using `SPLIT_USB_DETECT`
@@ -308,6 +325,34 @@ 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 FORCED_SYNC_THROTTLE_MS 100`
* Deadline for synchronizing data from master to slave when using the QMK-provided split transport.
* `#define SPLIT_TRANSPORT_MIRROR`
* Mirrors the master-side matrix on the slave when using the QMK-provided split transport.
* `#define SPLIT_LAYER_STATE_ENABLE`
* Ensures the current layer state is available on the slave when using the QMK-provided split transport.
* `#define SPLIT_LED_STATE_ENABLE`
* Ensures the current host indicator state (caps/num/scroll) is available on the slave when using the QMK-provided split transport.
* `#define SPLIT_MODS_ENABLE`
* Ensures the current modifier state (normal, weak, and oneshot) is available on the slave when using the QMK-provided split transport.
* `#define SPLIT_WPM_ENABLE`
* Ensures the current WPM is available on the slave when using the QMK-provided split transport.
* `#define SPLIT_OLED_ENABLE`
* Syncs the on/off state of the OLED between the halves.
* `#define SPLIT_ST7565_ENABLE`
* Syncs the on/off state of the ST7565 screen between the halves.
* `#define SPLIT_TRANSACTION_IDS_KB .....`
* `#define SPLIT_TRANSACTION_IDS_USER .....`
* Allows for custom data sync with the slave when using the QMK-provided split transport. See [custom data sync between sides](feature_split_keyboard.md#custom-data-sync) for more information.
# The `rules.mk` File
This is a [make](https://www.gnu.org/software/make/manual/make.html) file that is included by the top-level `Makefile`. It is used to set some information about the MCU that we will be compiling for as well as enabling and disabling certain features.
@@ -375,6 +420,8 @@ Use these to enable or disable building certain features. The more you have enab
* USB N-Key Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
* `AUDIO_ENABLE`
* Enable the audio subsystem.
* `KEY_OVERRIDE_ENABLE`
* Enable the key override feature
* `RGBLIGHT_ENABLE`
* Enable keyboard underlight functionality
* `LEADER_ENABLE`
+61
View File
@@ -0,0 +1,61 @@
# QMK Configurator Architecture
This page describes the web architecture behind QMK Configurator at a high level. If you are interested in the architecture of the QMK Configurator code itself you should start at the [qmk_configurator](https://github.com/qmk/qmk_configurator) repository.
# Overview
![QMK Configurator Architecture Diagram](configurator_diagram.svg)
# Detailed Description
QMK Configurator is a [Single Page Application](https://en.wikipedia.org/wiki/Single-page_application) that allows users to create custom keymaps for their QMK-compatible keyboard. They can export JSON representation of their keymaps and compile firmware binaries that can be flashed to their keyboard using a tool like [QMK Toolbox](https://github.com/qmk/qmk_toolbox).
Configurator gets metadata about keyboards from the Keyboard Metadata store and submits compile requests to the QMK API. The results of those compile requests will be made available on [Digital Ocean Spaces](https://www.digitalocean.com/products/spaces/), an S3-compatible data store.
## Configurator Frontend
Address: <https://config.qmk.fm>
The [Configurator Frontend](https://config.qmk.fm) is compiled into a set of static files that are served by Github Pages. This action happens every time a commit is pushed to the [qmk_configurator `master`](https://github.com/qmk/qmk_configurator) branch. You can view the status of these jobs on the [qmk_configurator actions tab](https://github.com/qmk/qmk_configurator/actions/workflows/build.yml).
## Keyboard Metadata
Address: <https://keyboards.qmk.fm>
The Keyboard Metadata is generated every time a keyboard in [qmk_firmware](https://github.com/qmk/qmk_firmware) changes. The resulting JSON files are uploaded to Spaces and used by Configurator to generate UI for each keyboard. You can view the status of this job on the [qmk_firmware actions tab](https://github.com/qmk/qmk_firmware/actions/workflows/api.yml). If you are a QMK Collaborator you can manually run this job using the `workflow_dispatch` event trigger.
## QMK API
Address: <http://api.qmk.fm>
The QMK API accepts `keymap.json` files for compilation. These are the same files you can use directly with `qmk compile` and `qmk flash`. When a `keymap.json` is submitted the browser will poll the status of the job periodically (every 2 seconds or longer, preferably) until the job has completed. The final status JSON will contain pointers to source and binary downloads for the keymap.
QMK API always presents the source and binary downloads side-by-side to comply with the GPL.
There are 3 non-error status responses from the API-
1. Compile Job Queued
2. Compile Job Running
3. Compile Job Finished
### Compile Job Queued
This status indicates that the job has not yet been picked up by a [QMK Compiler](#qmk-compiler) node. Configurator shows this status as "Waiting for an oven".
### Compile Job Running
This status indicates that the job has started compiling. Configurator shows this status as "Baking".
### Compile Job Finished
This status indicates that the job has completed. There will be keys in the status JSON for source and binary downloads.
## Redis/RQ
QMK API uses RQ to distribute jobs to the available [QMK Compiler](#qmk-compiler) nodes. When a `keymap.json` is received it's put into the RQ queue, where a `qmk_compiler` node will pick it up from.
## QMK Compiler
[QMK Compiler](https://github.com/qmk/qmk_compiler) is what actually performs the compilation of the `keymap.json`. It does so by checking out the requested `qmk_firmware` branch, running `qmk compile keymap.json`, and then uploading the resulting source and binary to Digital Ocean Spaces.
When users download their source/binary, API will redirect them to the authenticated Spaces download URL.
+1
View File
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2021-08-09T19:46:29.036Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="PQ2r34UrZa0TfW4Fw0EV" version="14.6.13" type="device"><diagram id="NEtccoSKIy4HskWlhJpu" name="Page-1">5VvbcqM4EP2a1O4+hOLqy2Ni5zKX1CTxzszOU0oG2dZEIBZEYu/XbwuEDQg7csZ2vFlXjQca0RLdR+eohXPiDML5VYLi2Q0LMD2xzWB+4gxPbNvqezb8JywLaTFtr7BMExJI28owIv/gsqG0ZiTAaa0hZ4xyEteNPosi7POaDSUJe643mzBa7zVGU6wYRj6iqvU7CfissPY8c2W/xmQ6K3u2THklRGVjaUhnKGDPFZNzceIMEsZ4cRTOB5iK6JVxKe67XHN1ObAER1znhgfT76Zzxxp3Z49j5+7zjw/z+NSS+XlCNJNPLEfLF2UIcAARkacs4TM2ZRGiFyvrecKyKMCiHxPOVm0+MxaD0QLjT8z5QqYXZZyBacZDKq/iKDgTyYLTiEW4sFwSSqXLAKWz3L9orD64jEXKssTHG57WlQBCyRTzTVGRDsWTV3qQcb3CLMQ8WUCDBFPEyVMdK0hCbrpst8oKHMjEbJEk9+UckTDHcTWm0jQk4RR6pWQM3z4l8QNKuDhkYZxxnKRw/J0ljymHJ2HRg2X35vDPiKPp2kA/4YTj+cbIyKunjmv0zMpHeljSQXH6XJla0jSrzKrStvPIei9Hdgm9HNoZpyTCgyXZmPWYI0qmERz7EDGcgIGiMaa3LCUittULIoQEaOZzo8GYcc7CSoMz6ZKLqXQOJBKLgYXzqSBc4xmPKcy11JgSPsvG0GLCIn6JQkJFiK8xfcLCjbwgJyDM+uJ8wChL8ud0ivSILnjCHnHblQlMyIp9kn/ADkMJCK55G14OL4YXmybrFhhyOzXQtKEGdMVwVeBUzDvHTjmKjdS54jWfojQlfpP3YCR/CRwZXnn6o3ptOJcgK84W8gwma8JVz7lZ0qZVI9Ff401PkzddTdqsJM5rme6lTZtdZQ+3jMCTLXFjlRkqyaZJI8Vzy7uqytl01Gk4chqOisAojnJYLR/7F5BWTpkV0gZUTDjgbnOUxTEorqCosxO7QyGG5+MEjqbiaDBLoPsTGzo2L0mCJ2yuNhri9FHQi21+iehCAfHzjHA8ilEOkWegnTqGm0QVkiDIVwU5950j/3Garw9Kdsjd7YYZlmurkhlUYrDNFoB19qUnltPCCUW40xhFZcBnnIvl65noTChxNCFT4+/w0ZiEZXOwV+9Qk9bmd0SiKYTeNm+F9AM2RKTX3tno4iN6QiM/IbFYHXz7eqHeOJI8AeM2YbTQDL4fiuFnCeIs0RvmNUt54eWqUK1iwOnaZ28Asr7cfC0894E/q2PYehDs7w2CGqtFdbndqklVRaoI1BpN2tEaXVdryql2JGKzTKiEgvdasXHchqNDi01XAz/vpiK0tOHW0YTbYUpC6/1ULj9TuH0XlWZ93riOuhjotsz/rmf09pWkjpKkuvI/4sWYoSRIG+K/ks9PsgV4ucEcBYgjXV2ekCR8hoiq7a+uoeGZX+RN3PQ1BsdiwXB2+wG+h629rFR7SKDaRPSLj4VIm7n2ptsuG2voPKRIu7Zt9N9apHtbiXRr7VirASVHVgtAc4cFoDZNekclypZnWK5p9Tp9y+v1up1y73nRQMbWBWHdz3LP90ASbav14HuW6L4m9spsHotE95Us3d18Kkm2mS5KSZziik76lGXBy+XNLpTTq8O5Y6rKadkts3Rv27JlZ2uFE8VkrWTeX4z+nGS0DLSeWILDTYp3jyJ/Bqsf2xRrFXP4Bb6+3fy2tegdUuc6pqenct29pVFjkfryDulhtzDLWXskCnbarCtd75WadaoUlpqqBelBi0qzWDRINwzZanTkOObmkTVv8Pq1G+CgGMNuRVSl53csonZXV0R7RyWitrobIasPMMoCRGF4WY807b+PnD+OS3idXh347fuHrdrbt8qWu4+5WpzU1RcE81QocLTwHcMPIiMoUsJEPtI8+obPWqRZRlNK7+kLoqskejut3UWCeg1msh3L6PYrn54qsf2WbO3thYOjrpTeTGK1Oea4ikSQ/EaSX7t1qwiZfeC9W6ft9dO71TSn/D3YS3hz7KPSNEct3+/vlDyVciS2/FLOEnwYSWpskXS7ai3YOSjB2WqwcEDEm+9cjEwRuqaGfGTineJdhrOW3c/2AjApnO6/BNxBkpqVXrfz1pWes91Lx73KkPZ+UTkP31qHyiw26zFt2fEacGiWiPtWHXWNXvwuIIwpETNmDbPhuZhhAcvG+RWrJj3Wm2x99Vt+QXLYrS9XXdAVu4YDCCehIpztbHefRVH+a07dX22sc/efoLy+/daU5+pswh+I8vRXQt3joDyZVbeW015ztaxLgHU3/eZbnT3Tn6uuULYGwoF/z+lo7wYdF16AHes00GuuO/V3Qxui2bP0ULP1bqjTYK5yS2Gvm5vu/6sQ1IVzKa67KwTXEJK3GVu6KLWd14H0ZRjB6eovj4rmqz/gci7+BQ==</diagram></mxfile>
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 39 KiB

+2 -2
View File
@@ -105,7 +105,7 @@ enum my_keycodes {
Before opening a pull request, you can preview your changes if you have set up the development environment by running this command from the `qmk_firmware/` folder:
./bin/qmk docs
qmk docs
or if you only have Python 3 installed:
@@ -148,7 +148,7 @@ Feature and Bug Fix PR's affect all keyboards. We are also in the process of res
Here are some things to keep in mind when working on your feature or bug fix.
* **Disabled by default** - memory is a pretty limited on most chips QMK supports, and it's important that current keymaps aren't broken, so please allow your feature to be turned **on**, rather than being turned off. If you think it should be on by default, or reduces the size of the code, please talk with us about it.
* **Compile locally before submitting** - hopefully this one is obvious, but things need to compile! Our Travis system will catch any issues, but it's generally faster for you to compile a few keyboards locally instead of waiting for the results to come back.
* **Compile locally before submitting** - hopefully this one is obvious, but things need to compile! You should always make sure your changes compile before opening a pull request.
* **Consider revisions and different chip-bases** - there are several keyboards that have revisions that allow for slightly different configurations, and even different chip-bases. Try to make a feature supported in ARM and AVR, or automatically disabled on platforms it doesn't work on.
* **Explain your feature** - Document it in `docs/`, either as a new file or as part of an existing file. If you don't document it other people won't be able to benefit from your hard work.
+9 -1
View File
@@ -144,6 +144,14 @@ This is useful for setting up stuff that you may need elsewhere, but isn't hardw
* Keyboard/Revision: `void matrix_init_kb(void)`
* Keymap: `void matrix_init_user(void)`
### Low-level Matrix Overrides Function Documentation :id=low-level-matrix-overrides
* GPIO pin initialisation: `void matrix_init_pins(void)`
* This needs to perform the low-level initialisation of all row and column pins. By default this will initialise the input/output state of each of the GPIO pins listed in `MATRIX_ROW_PINS` and `MATRIX_COL_PINS`, based on whether or not the keyboard is set up for `ROW2COL`, `COL2ROW`, or `DIRECT_PINS`. Should the keyboard designer override this function, no initialisation of pin state will occur within QMK itself, instead deferring to the keyboard's override.
* `COL2ROW`-based row reads: `void matrix_read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)`
* `ROW2COL`-based column reads: `void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)`
* `DIRECT_PINS`-based reads: `void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)`
* These three functions need to perform the low-level retrieval of matrix state of relevant input pins, based on the matrix type. Only one of the functions should be implemented, if needed. By default this will iterate through `MATRIX_ROW_PINS` and `MATRIX_COL_PINS`, configuring the inputs and outputs based on whether or not the keyboard is set up for `ROW2COL`, `COL2ROW`, or `DIRECT_PINS`. Should the keyboard designer override this function, no manipulation of matrix GPIO pin state will occur within QMK itself, instead deferring to the keyboard's override.
## Keyboard Post Initialization code
@@ -374,7 +382,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
}
```
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](feature_bootmagic.md) functionallity. For example, if you want to set rgb layer indication by default, and save the default valued.
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!
-1
View File
@@ -1,7 +1,6 @@
# Quantum Mechanical Keyboard Firmware
[![Aktuelle Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![Build Status](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware)
[![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh)
[![Docs Status](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)
+4 -23
View File
@@ -51,25 +51,6 @@ Wir suchen nach Freiwilligen, die ein `qmk`-Package für weitere Betriebssysteme
* Installiere mit einem [virtualenv](https://virtualenv.pypa.io/en/latest/).
* Weise den User an, die Umgebungs-Variable `QMK_HOME` zu setzen, um die Firmware-Quelle anders einzustellen als `~/qmk_firmware`.
# Lokale CLI
Wenn Du die globale CLI nicht verwenden möchtest, beinhaltet `qmk_firmware` auch eine lokale CLI. Du kannst sie hier finden: `qmk_firmware/bin/qmk`. Du kannst den `qmk`-Befehl aus irgendeinem Datei-Verzeichnis ausführen und es wird immer auf dieser Kopie von `qmk_firmware` arbeiten.
**Beispiel**:
```
$ ~/qmk_firmware/bin/qmk hello
Ψ Hello, World!
```
## Einschränkungen der lokalen CLI
Hier ein Vergleich mit der globalen CLI:
* Die lokale CLI unterstützt kein `qmk setup` oder `qmk clone`.
* Die lokale CLI arbeitet immer innerhalb der selben `qmk_firmware`-Verzeichnisstruktur, auch wenn Du mehrere Repositories geklont hast.
* Die lokale CLI läuft nicht in einer virtualenv. Daher ist es möglich, dass Abhängigkeiten (dependencies) miteinander in Konflikt kommen/stehen.
# CLI-Befehle
## `qmk compile`
@@ -88,14 +69,14 @@ qmk compile <configuratorExport.json>
qmk compile -kb <keyboard_name> -km <keymap_name>
```
## `qmk cformat`
## `qmk format-c`
Dieser Befehl formatiert C-Code im clang-Format. Benutze ihn ohne Argumente, um den core-Code zu formatieren, oder benutze Namen von Dateien in der CLI, um den Befehl auf bestimmte Dateien anzuwenden.
**Anwendung**:
```
qmk cformat [file1] [file2] [...] [fileN]
qmk format-c [file1] [file2] [...] [fileN]
```
## `qmk config`
@@ -148,14 +129,14 @@ Dieser Befehl erstellt eine neue Keymap basierend auf einer existierenden Standa
qmk new-keymap [-kb KEYBOARD] [-km KEYMAP]
```
## `qmk pyformat`
## `qmk format-py`
Dieser Befehl formatiert Python-Code in `qmk_firmware`.
**Anwendung**:
```
qmk pyformat
qmk format-py
```
## `qmk pytest`
+27 -6
View File
@@ -8,8 +8,8 @@ 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](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#bootmagic-lite) 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.
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.
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.
Alternatively, hold `BOOT` while inserting the USB cable.
@@ -30,18 +30,38 @@ If you find that you can no longer type with the keyboard, you may have accident
![A healthy keyboard as seen by Zadig](https://i.imgur.com/Hx0E5kC.png)
Open the Device Manager and look for a device that looks like your keyboard.
Open the Device Manager, select **View → Devices by container**, and look for an entry with your keyboard's name.
![The board with the wrong driver installed, in Device Manager](https://i.imgur.com/L3wvX8f.png)
![The board with the wrong driver installed, in Device Manager](https://i.imgur.com/o7WLvBl.png)
Right-click it and hit **Uninstall device**. Make sure to tick **Delete the driver software for this device** first.
Right-click each entry and hit **Uninstall device**. Make sure to tick **Delete the driver software for this device** first if it appears.
![The Device Uninstall dialog, with the "delete driver" checkbox ticked](https://i.imgur.com/aEs2RuA.png)
Click **Action → Scan for hardware changes**. At this point, you should be able to type again. Double check in Zadig that the keyboard device(s) are using the `HidUsb` driver. If so, you're all done, and your board should be functional again! Otherwise, repeat the process until Zadig reports the correct driver.
Click **Action → Scan for hardware changes**. At this point, you should be able to type again. Double check in Zadig that the keyboard device(s) are using the `HidUsb` driver. If so, you're all done, and your board should be functional again! Otherwise, repeat this process until Zadig reports the correct driver.
?> A full reboot of your computer may sometimes be necessary at this point, to get Windows to pick up the new driver.
## Uninstallation
Uninstallation of bootloader devices is a little more involved than installation.
Open the Device Manager, select **View → Devices by container**, and look for the bootloader device. Match up the USB VID and PID in Zadig with one from [the table below](#list-of-known-bootloaders).
Find the `Inf name` value in the Details tab of the device properties. This should generally be something like `oemXX.inf`:
![Device properties showing the Inf name value](https://i.imgur.com/Bu4mk9m.png)
Then, open a new Command Prompt window as an Administrator (type in `cmd` into the Start menu and press Ctrl+Shift+Enter). Run `pnputil /enum-drivers` to verify the `Inf name` matches the `Published Name` field of one of the entries:
![pnputil output with matching driver highlighted](https://i.imgur.com/3RrSjzW.png)
Run `pnputil /delete-driver oemXX.inf /uninstall`. This will delete the driver and remove it from any devices using it. Note that this will not uninstall the device itself.
As with the previous section, this process may need to be repeated multiple times, as multiple drivers can be applicable to the same device.
!> **WARNING:** Be *extremely careful* when doing this! You could potentially uninstall the driver for some other critical device. If you are unsure, double check the output of `/enum-drivers`, and omit the `/uninstall` flag when running `/delete-driver`.
## List of Known Bootloaders
This is a list of known bootloader devices and their USB vendor and product IDs, as well as the correct driver to assign for flashing with QMK. Note that the usbser and HidUsb drivers are built in to Windows, and cannot be assigned with Zadig - if your device has an incorrect driver, you must use the Device Manager to uninstall it as described in the previous section.
@@ -75,3 +95,4 @@ The device name here is the name that appears in Zadig, and may not be what the
|`stm32-dfu` |STM32 BOOTLOADER |`0483:DF11` |WinUSB |
|`kiibohd` |Kiibohd DFU Bootloader |`1C11:B007` |WinUSB |
|`stm32duino` |Maple 003 |`1EAF:0003` |WinUSB |
|`qmk-hid` |(keyboard name) Bootloader |`03EB:2067` |HidUsb |
+31
View File
@@ -0,0 +1,31 @@
# Easy Maker - Build One-Off Projects In Configurator
Have you ever needed an easy way to program a controller, such as a Proton C or Teensy 2.0, for a one-off project you're building? QMK has you covered with the Easy Maker. Now you can create a firmware in minutes using QMK Configurator.
There are different styles of Easy Maker available depending on your needs:
* [Direct Pin](https://config.qmk.fm/#/?filter=ez_maker/direct) - Connect a single switch to a single pin
* Direct Pin + Backlight (Coming Soon) - Like Direct Pin but dedicates a single pin to [Backlight](feature_backlight.md) control
* Direct Pin + Numlock (Coming Soon) - Like Direct Pin but dedicates a single pin to the Numlock LED
* Direct Pin + Capslock (Coming Soon) - Like Direct Pin but dedicates a single pin to the Numlock LED
* Direct Pin + Encoder (Coming Soon) - Like Direct Pin but uses 2 pins to add a single rotary encoder
## Quickstart
The easiest way to get started is with the Direct Pin boards. This will assign a single key to each pin and you can short that pin to ground to activate it. Select your MCU from the Keyboard dropdown here:
* <https://config.qmk.fm/#/?filter=ez_maker/direct>
For more details see the [Direct Pin](#direct-pin) section.
# Direct Pin
As its name implies Direct Pin works by connecting one switch per pin. The other side of the switch should be connected to ground (VSS or GND.) You don't need any other components, your MCU has internal pull-up resistors so that the switch sensing can work.
Here is a schematic showing how we connect a single button to pin A3 on a ProMicro:
![Schematic diagram showing a ProMicro with a wire coming out of A3, connecting to the left side of a switch. Another wire comes out of the right side of the switch to connect to the Ground Plane.](https://i.imgur.com/JcDhZll.png)
Once you have wired your switches you can assign keycodes to each pin and build a firmware by selecting the MCU you are using from the Keyboard dropdown. Use this link to show only Easy Maker Direct Pin:
* <https://config.qmk.fm/#/?filter=ez_maker/direct>
+3
View File
@@ -31,6 +31,9 @@ Currently QMK supports 24xx-series chips over I2C. As such, requires a working i
`#define EXTERNAL_EEPROM_PAGE_SIZE` | Page size of the EEPROM in bytes, as specified in the datasheet | 32
`#define EXTERNAL_EEPROM_ADDRESS_SIZE` | The number of bytes to transmit for the memory location within the EEPROM | 2
`#define EXTERNAL_EEPROM_WRITE_TIME` | Write cycle time of the EEPROM, as specified in the datasheet | 5
`#define EXTERNAL_EEPROM_WP_PIN` | If defined the WP pin will be toggled appropriately when writing to the EEPROM. | _none_
Some I2C EEPROM manufacturers explicitly recommend against hardcoding the WP pin to ground. This is in order to protect the eeprom memory content during power-up/power-down/brown-out conditions at low voltage where the eeprom is still operational, but the i2c master output might be unpredictable. If a WP pin is configured, then having an external pull-up on the WP pin is recommended.
Default values and extended descriptions can be found in `drivers/eeprom/eeprom_i2c.h`.
-1
View File
@@ -1,7 +1,6 @@
# Firmware Quantum Mechanical Keyboard
[![Versión actual](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![Estado de Build](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware)
[![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh)
[![Estado de la documentación](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![Contribuyentes en GitHub](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)
+18 -16
View File
@@ -6,26 +6,28 @@ Si aún no lo has hecho, debes leer las [Pautas de teclados](hardware_keyboard_g
## Añadir tu Teclado AVR a QMK
QMK tiene varias características para simplificar el trabajo con teclados AVR. Para la mayoría de los teclados no tienes que escribir ni una sola línea de código. Para empezar, ejecuta el archivo `util/new_keyboard.sh`:
QMK tiene varias características para simplificar el trabajo con teclados AVR. Para la mayoría de los teclados no tienes que escribir ni una sola línea de código. Para empezar, ejecuta `qmk new-keyboard`:
```
$ ./util/new_keyboard.sh
Generating a new QMK keyboard directory
$ qmk new-keyboard
Ψ Generating a new QMK keyboard directory
Keyboard Name: mycoolkb
Keyboard Type [avr]:
Your Name [John Smith]:
Keyboard Name: mycoolkeeb
Keyboard Type:
1. avr
2. ps2avrgb
Please enter your choice: [1]
Your Name: [John Smith]
Ψ Copying base template files...
Ψ Copying avr template files...
Ψ Renaming keyboard.[ch] to mycoolkeeb.[ch]...
Ψ Replacing %YEAR% with 2021...
Ψ Replacing %KEYBOARD% with mycoolkeeb...
Ψ Replacing %YOUR_NAME% with John Smith...
Copying base template files... done
Copying avr template files... done
Renaming keyboard files... done
Replacing %KEYBOARD% with mycoolkb... done
Replacing %YOUR_NAME% with John Smith... done
Created a new keyboard called mycoolkb.
To start working on things, cd into keyboards/mycoolkb,
or open the directory in your favourite text editor.
Ψ Created a new keyboard called mycoolkeeb.
Ψ To start working on things, `cd` into keyboards/mycoolkeeb,
Ψ or open the directory in your preferred text editor.
```
Esto creará todos los archivos necesarios para tu nuevo teclado, y rellenará la configuración con valores predeterminados. Ahora sólo tienes que personalizarlo para tu teclado.
+1 -1
View File
@@ -28,7 +28,7 @@ For compatible platforms, [QMK Toolbox](https://github.com/qmk/qmk_toolbox) can
Prefer a terminal based solution? [hid_listen](https://www.pjrc.com/teensy/hid_listen.html), provided by PJRC, can also be used to display debug messages. Prebuilt binaries for Windows,Linux,and MacOS are available.
## Sending Your Own Debug Messages
## Sending Your Own Debug Messages :id=debug-api
Sometimes it's useful to print debug messages from within your [custom code](custom_quantum_functions.md). Doing so is pretty simple. Start by including `print.h` at the top of your file:
+2 -2
View File
@@ -5,7 +5,7 @@ This page covers questions people often have about keymaps. If you haven't you s
## What Keycodes Can I Use?
See [Keycodes](keycodes.md) for an index of keycodes available to you. These link to more extensive documentation when available.
Keycodes are actually defined in [common/keycode.h](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/keycode.h).
Keycodes are actually defined in [quantum/keycode.h](https://github.com/qmk/qmk_firmware/blob/master/quantum/keycode.h).
## What Are the Default Keycodes?
@@ -31,7 +31,7 @@ QMK has two features, Bootmagic and Command, which allow you to change the behav
As a quick fix try holding down `Space`+`Backspace` while you plug in your keyboard. This will reset the stored settings on your keyboard, returning those keys to normal operation. If that doesn't work look here:
* [Bootmagic](feature_bootmagic.md)
* [Bootmagic Lite](feature_bootmagic.md)
* [Command](feature_command.md)
## The Menu Key Isn't Working
+21 -18
View File
@@ -2,24 +2,27 @@
These allow you to combine a modifier with a keycode. When pressed, the keydown event for the modifier, then `kc` will be sent. On release, the keyup event for `kc`, then the modifier will be sent.
|Key |Aliases |Description |
|----------|-------------------------------|------------------------------------------------------|
|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` |
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` |
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` |
|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` |
|Key |Aliases |Description |
|----------|----------------------------------|------------------------------------------------------|
|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` |
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` |
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and GUI and press `kc` |
|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` |
|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` |
|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` |
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` |
|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` |
You can also chain them, for example `LCTL(LALT(KC_DEL))` or `C(A(KC_DEL))` makes a key that sends Control+Alt+Delete with a single keypress.
+26
View File
@@ -167,6 +167,32 @@ The available keycodes for audio are:
!> 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.
## Audio Config
| Settings | Default | Description |
|---------------------------------|----------------------|-------------------------------------------------------------------------------|
|`AUDIO_PIN` | *Not defined* |Configures the pin that the speaker is connected to. |
|`AUDIO_PIN_ALT` | *Not defined* |Configures the pin for a second speaker or second pin connected to one speaker.|
|`AUDIO_PIN_ALT_AS_NEGATIVE` | *Not defined* |Enables support for one speaker connected to two pins. |
|`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) |
|`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) |
|`CG_SWAP_SONG` | `AG_SWAP_SOUND` |Plays when you press CG_SWAP (process_magic.c) |
|`MUSIC_ON_SONG` | `MUSIC_ON_SOUND` |Plays when music mode is activated (process_music.c) |
|`MUSIC_OFF_SONG` | `MUSIC_OFF_SOUND` |Plays when music mode is deactivated (process_music.c) |
|`MIDI_ON_SONG` | `MUSIC_ON_SOUND` |Plays when midi mode is activated (process_music.c) |
|`MIDI_OFF_SONG` | `MUSIC_OFF_SOUND` |Plays when midi mode is deactivated (process_music.c) |
|`CHROMATIC_SONG` | `CHROMATIC_SOUND` |Plays when the chromatic music mode is selected (process_music.c) |
|`GUITAR_SONG` | `GUITAR_SOUND` |Plays when the guitar music mode is selected (process_music.c) |
|`VIOLIN_SONG` | `VIOLIN_SOUND` |Plays when the violin music mode is selected (process_music.c) |
|`MAJOR_SONG` | `MAJOR_SOUND` |Plays when the major music mode is selected (process_music.c) |
|`DEFAULT_LAYER_SONGS` | *Not defined* |Plays song when switched default layers with [`set_single_persistent_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer)(quantum.c) |
|`SENDSTRING_BELL` | *Not defined* |Plays chime when the "enter" ("\a") character is sent (send_string.c) |
## Tempo
the 'speed' at which SONGs are played is dictated by the set Tempo, which is measured in beats-per-minute. Note lengths are defined relative to that.
The initial/default tempo is set to 120 bpm, but can be configured by setting `TEMPO_DEFAULT` in `config.c`.
+14 -129
View File
@@ -1,136 +1,15 @@
# Bootmagic
There are three separate but related features that allow you to change the behavior of your keyboard without reflashing. While each of them have similar functionality, it is accessed in different ways depending on how your keyboard is configured.
**Bootmagic** is a system for configuring your keyboard while it initializes. To trigger a Bootmagic command, hold down the Bootmagic key and one or more command keys.
**Bootmagic Keycodes** are prefixed with `MAGIC_`, and allow you to access the Bootmagic functionality *after* your keyboard has initialized. To use the keycodes, assign them to your keymap as you would any other keycode.
**Command**, formerly known as **Magic**, is another feature that allows you to control different aspects of your keyboard. While it shares some functionality with Bootmagic, it also allows you to do things that Bootmagic does not, such as printing version information to the console. For more information, see [Command](feature_command.md).
On some keyboards Bootmagic is disabled by default. If this is the case, it must be explicitly enabled in your `rules.mk` with:
```make
BOOTMAGIC_ENABLE = full
```
?> You may see `yes` being used in place of `full`, and this is okay. However, `yes` is deprecated, and ideally `full` (or `lite`) should be used instead.
Additionally, you can use [Bootmagic Lite](#bootmagic-lite) (a scaled down, very basic version of Bootmagic) by adding the following to your `rules.mk` file:
```make
BOOTMAGIC_ENABLE = lite
```
## Hotkeys
Hold down the Bootmagic key (Space by default) and the desired hotkey while plugging in your keyboard. For example, holding Space+`B` should cause it to enter the bootloader.
|Hotkey |Description |
|------------------|---------------------------------------------|
|Escape |Ignore Bootmagic configuration in EEPROM |
|`B` |Enter the bootloader |
|`D` |Toggle debugging over serial |
|`X` |Toggle key matrix debugging |
|`K` |Toggle keyboard debugging |
|`M` |Toggle mouse debugging |
|`L` |Set "Left Hand" for EE_HANDS handedness |
|`R` |Set "Right Hand" for EE_HANDS handedness |
|Backspace |Clear the EEPROM |
|Caps Lock |Toggle treating Caps Lock as Left Control |
|Left Control |Toggle swapping Caps Lock and Left Control |
|Left Alt |Toggle swapping Left Alt and Left GUI |
|Right Alt |Toggle swapping Right Alt and Right GUI |
|Left GUI |Toggle the GUI keys (useful when gaming) |
|<code>&#96;</code>|Toggle swapping <code>&#96;</code> and Escape|
|`\` |Toggle swapping `\` and Backspace |
|`N` |Toggle N-Key Rollover (NKRO) |
|`0` |Make layer 0 the default layer |
|`1` |Make layer 1 the default layer |
|`2` |Make layer 2 the default layer |
|`3` |Make layer 3 the default layer |
|`4` |Make layer 4 the default layer |
|`5` |Make layer 5 the default layer |
|`6` |Make layer 6 the default layer |
|`7` |Make layer 7 the default layer |
## Keycodes :id=keycodes
|Key |Aliases |Description |
|----------------------------------|---------|--------------------------------------------------------------------------|
|`MAGIC_SWAP_CONTROL_CAPSLOCK` |`CL_SWAP`|Swap Caps Lock and Left Control |
|`MAGIC_UNSWAP_CONTROL_CAPSLOCK` |`CL_NORM`|Unswap Caps Lock and Left Control |
|`MAGIC_CAPSLOCK_TO_CONTROL` |`CL_CTRL`|Treat Caps Lock as Control |
|`MAGIC_UNCAPSLOCK_TO_CONTROL` |`CL_CAPS`|Stop treating Caps Lock as Control |
|`MAGIC_SWAP_LCTL_LGUI` |`LCG_SWP`|Swap Left Control and GUI |
|`MAGIC_UNSWAP_LCTL_LGUI` |`LCG_NRM`|Unswap Left Control and GUI |
|`MAGIC_SWAP_RCTL_RGUI` |`RCG_SWP`|Swap Right Control and GUI |
|`MAGIC_UNSWAP_RCTL_RGUI` |`RCG_NRM`|Unswap Right Control and GUI |
|`MAGIC_SWAP_CTL_GUI` |`CG_SWAP`|Swap Control and GUI on both sides |
|`MAGIC_UNSWAP_CTL_GUI` |`CG_NORM`|Unswap Control and GUI on both sides |
|`MAGIC_TOGGLE_CTL_GUI` |`CG_TOGG`|Toggle Control and GUI swap on both sides |
|`MAGIC_SWAP_LALT_LGUI` |`LAG_SWP`|Swap Left Alt and GUI |
|`MAGIC_UNSWAP_LALT_LGUI` |`LAG_NRM`|Unswap Left Alt and GUI |
|`MAGIC_SWAP_RALT_RGUI` |`RAG_SWP`|Swap Right Alt and GUI |
|`MAGIC_UNSWAP_RALT_RGUI` |`RAG_NRM`|Unswap Right Alt and GUI |
|`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides |
|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Alt and GUI on both sides |
|`MAGIC_TOGGLE_ALT_GUI` |`AG_TOGG`|Toggle Alt and GUI swap on both sides |
|`MAGIC_NO_GUI` |`GUI_OFF`|Disable the GUI keys |
|`MAGIC_UNNO_GUI` |`GUI_ON` |Enable the GUI keys |
|`MAGIC_SWAP_GRAVE_ESC` |`GE_SWAP`|Swap <code>&#96;</code> and Escape |
|`MAGIC_UNSWAP_GRAVE_ESC` |`GE_NORM`|Unswap <code>&#96;</code> and Escape |
|`MAGIC_SWAP_BACKSLASH_BACKSPACE` |`BS_SWAP`|Swap `\` and Backspace |
|`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`|`BS_NORM`|Unswap `\` and Backspace |
|`MAGIC_HOST_NKRO` |`NK_ON` |Enable N-key rollover |
|`MAGIC_UNHOST_NKRO` |`NK_OFF` |Disable N-key rollover |
|`MAGIC_TOGGLE_NKRO` |`NK_TOGG`|Toggle N-key rollover |
|`MAGIC_EE_HANDS_LEFT` |`EH_LEFT`|Set the master half of a split keyboard as the left hand (for `EE_HANDS`) |
|`MAGIC_EE_HANDS_RIGHT` |`EH_RGHT`|Set the master half of a split keyboard as the right hand (for `EE_HANDS`)|
## Configuration
If you would like to change the hotkey assignments for Bootmagic, `#define` these in your `config.h` at either the keyboard or keymap level.
|Define |Default |Description |
|----------------------------------------|-------------|---------------------------------------------------|
|`BOOTMAGIC_KEY_SALT` |`KC_SPACE` |The Bootmagic key |
|`BOOTMAGIC_KEY_SKIP` |`KC_ESC` |Ignore Bootmagic configuration in EEPROM |
|`BOOTMAGIC_KEY_EEPROM_CLEAR` |`KC_BSPACE` |Clear the EEPROM configuration |
|`BOOTMAGIC_KEY_BOOTLOADER` |`KC_B` |Enter the bootloader |
|`BOOTMAGIC_KEY_DEBUG_ENABLE` |`KC_D` |Toggle debugging over serial |
|`BOOTMAGIC_KEY_DEBUG_MATRIX` |`KC_X` |Toggle matrix debugging |
|`BOOTMAGIC_KEY_DEBUG_KEYBOARD` |`KC_K` |Toggle keyboard debugging |
|`BOOTMAGIC_KEY_DEBUG_MOUSE` |`KC_M` |Toggle mouse debugging |
|`BOOTMAGIC_KEY_EE_HANDS_LEFT` |`KC_L` |Set "Left Hand" for EE_HANDS handedness |
|`BOOTMAGIC_KEY_EE_HANDS_RIGHT` |`KC_R` |Set "Right Hand" for EE_HANDS handedness |
|`BOOTMAGIC_KEY_SWAP_CONTROL_CAPSLOCK` |`KC_LCTRL` |Swap Left Control and Caps Lock |
|`BOOTMAGIC_KEY_CAPSLOCK_TO_CONTROL` |`KC_CAPSLOCK`|Toggle treating Caps Lock as Left Control |
|`BOOTMAGIC_KEY_SWAP_LALT_LGUI` |`KC_LALT` |Toggle swapping Left Alt and Left GUI (for macOS) |
|`BOOTMAGIC_KEY_SWAP_RALT_RGUI` |`KC_RALT` |Toggle swapping Right Alt and Right GUI (for macOS)|
|`BOOTMAGIC_KEY_NO_GUI` |`KC_LGUI` |Toggle the GUI keys (useful when gaming) |
|`BOOTMAGIC_KEY_SWAP_GRAVE_ESC` |`KC_GRAVE` |Toggle swapping <code>&#96;</code> and Escape |
|`BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE`|`KC_BSLASH` |Toggle swapping `\` and Backspace |
|`BOOTMAGIC_HOST_NKRO` |`KC_N` |Toggle N-Key Rollover (NKRO) |
|`BOOTMAGIC_KEY_DEFAULT_LAYER_0` |`KC_0` |Make layer 0 the default layer |
|`BOOTMAGIC_KEY_DEFAULT_LAYER_1` |`KC_1` |Make layer 1 the default layer |
|`BOOTMAGIC_KEY_DEFAULT_LAYER_2` |`KC_2` |Make layer 2 the default layer |
|`BOOTMAGIC_KEY_DEFAULT_LAYER_3` |`KC_3` |Make layer 3 the default layer |
|`BOOTMAGIC_KEY_DEFAULT_LAYER_4` |`KC_4` |Make layer 4 the default layer |
|`BOOTMAGIC_KEY_DEFAULT_LAYER_5` |`KC_5` |Make layer 5 the default layer |
|`BOOTMAGIC_KEY_DEFAULT_LAYER_6` |`KC_6` |Make layer 6 the default layer |
|`BOOTMAGIC_KEY_DEFAULT_LAYER_7` |`KC_7` |Make layer 7 the default layer |
# Bootmagic Lite :id=bootmagic-lite
In addition to the full blown Bootmagic feature, is the Bootmagic Lite feature that only handles jumping into the bootloader. This is great for boards that don't have a physical reset button but you need a way to jump into the bootloader, and don't want to deal with the headache that Bootmagic can cause.
The Bootmagic Lite feature that only handles jumping into the bootloader. This is great for boards that don't have a physical reset button, giving you a way to jump into the bootloader
To enable this version of Bootmagic, you need to enable it in your `rules.mk` with:
On some keyboards Bootmagic Lite is disabled by default. If this is the case, it must be explicitly enabled in your `rules.mk` with:
```make
BOOTMAGIC_ENABLE = lite
BOOTMAGIC_ENABLE = yes
```
?> You may see `lite` being used in place of `yes`.
Additionally, you may want to specify which key to use. This is especially useful for keyboards that have unusual matrices. To do so, you need to specify the row and column of the key that you want to use. Add these entries to your `config.h` file:
```c
@@ -142,11 +21,11 @@ By default, these are set to 0 and 0, which is usually the "ESC" key on a majori
And to trigger the bootloader, you hold this key down when plugging the keyboard in. Just the single key.
!> Using bootmagic lite will **always reset** the EEPROM, so you will lose any settings that have been saved.
!> Using Bootmagic Lite will **always reset** the EEPROM, so you will lose any settings that have been saved.
## Split Keyboards
When handedness is predetermined via an option like `SPLIT_HAND_PIN`, you might need to configure a different key between halves. This To do so, add these entries to your `config.h` file:
When handedness is predetermined via an option like `SPLIT_HAND_PIN`, you might need to configure a different key between halves. To do so, add these entries to your `config.h` file:
```c
#define BOOTMAGIC_LITE_ROW_RIGHT 4
@@ -174,4 +53,10 @@ void bootmagic_lite(void) {
}
```
You can additional feature here. For instance, resetting the eeprom or requiring additional keys to be pressed to trigger bootmagic. Keep in mind that `bootmagic_lite` is called before a majority of features are initialized in the firmware.
You can additional feature here. For instance, resetting the EEPROM or requiring additional keys to be pressed to trigger Bootmagic Lite. Keep in mind that `bootmagic_lite` is called before a majority of features are initialized in the firmware.
## Addenda
To manipulate settings that were formerly configured through the now-deprecated full Bootmagic feature, see [Magic Keycodes](keycodes_magic.md).
The Command feature, formerly known as Magic, also allows you to control different aspects of your keyboard. While it shares some functionality with Magic Keycodes, it also allows you to do things that Magic Keycodes cannot, such as printing version information to the console. For more information, see [Command](feature_command.md).
+259 -33
View File
@@ -1,24 +1,39 @@
# Combos
The Combo feature is a chording type solution for adding custom actions. It lets you hit multiple keys at once and produce a different effect. For instance, hitting `A` and `S` within the tapping term would hit `ESC` instead, or have it perform even more complex tasks.
The Combo feature is a chording type solution for adding custom actions. It lets you hit multiple keys at once and produce a different effect. For instance, hitting `A` and `S` within the combo term would hit `ESC` instead, or have it perform even more complex tasks.
To enable this feature, you need to add `COMBO_ENABLE = yes` to your `rules.mk`.
Additionally, in your `config.h`, you'll need to specify the number of combos that you'll be using, by adding `#define COMBO_COUNT 1` (replacing 1 with the number that you're using).
<!-- At this time, this is necessary -->
Additionally, in your `config.h`, you'll need to specify the number of combos that you'll be using, by adding `#define COMBO_COUNT 1` (replacing 1 with the number that you're using). It is also possible to not define this and instead set the variable `COMBO_LEN` yourself. There's a trick where we don't need to think about this variable at all. More on this later.
Also, by default, the tapping term for the Combos is set to the same value as `TAPPING_TERM` (200 by default on most boards). But you can specify a different value by defining it in your `config.h`. For instance: `#define COMBO_TERM 300` would set the time out period for combos to 300ms.
Then, your `keymap.c` file, you'll need to define a sequence of keys, terminated with `COMBO_END`, and a structure to list the combination of keys, and it's resulting action.
Then, in your `keymap.c` file, you'll need to define a sequence of keys, terminated with `COMBO_END`, and a structure to list the combination of keys, and its resulting action.
```c
const uint16_t PROGMEM test_combo[] = {KC_A, KC_B, COMBO_END};
combo_t key_combos[COMBO_COUNT] = {COMBO(test_combo, KC_ESC)};
const uint16_t PROGMEM test_combo1[] = {KC_A, KC_B, COMBO_END};
const uint16_t PROGMEM test_combo2[] = {KC_C, KC_D, COMBO_END};
combo_t key_combos[COMBO_COUNT] = {
COMBO(test_combo1, KC_ESC),
COMBO(test_combo2, LCTL(KC_Z)), // keycodes with modifiers are possible too!
};
```
This will send "Escape" if you hit the A and B keys.
This will send "Escape" if you hit the A and B keys, and Ctrl+Z when you hit the C and D keys.
!> This method only supports [basic keycodes](keycodes_basic.md). See the examples for more control.
As of [PR#8591](https://github.com/qmk/qmk_firmware/pull/8591/), it is possible to fire combos from ModTap keys and LayerTap keys. So in the above example you could have keys `LSFT_T(KC_A)` and `LT(_LAYER, KC_B)` and it would work. So Home Row Mods and Home Row Combos at same time is now a thing!
It is also now possible to overlap combos. Before, with the example below both combos would activate when all three keys were pressed. Now only the three key combo will activate.
```c
const uint16_t PROGMEM test_combo1[] = {LSFT_T(KC_A), LT(_LAYER, KC_B), COMBO_END};
const uint16_t PROGMEM test_combo2[] = {LSFT_T(KC_A), LT(_LAYER, KC_B), KC_C, COMBO_END};
combo_t key_combos[COMBO_COUNT] = {
COMBO(test_combo1, KC_ESC)
COMBO(test_combo2, KC_TAB)
};
```
Executing more complex keycodes like ModTaps and LayerTaps is now also possible.
## Examples
@@ -27,63 +42,68 @@ If you want to add a list, then you'd use something like this:
```c
enum combos {
AB_ESC,
JK_TAB
JK_TAB,
QW_SFT,
SD_LAYER,
};
const uint16_t PROGMEM ab_combo[] = {KC_A, KC_B, COMBO_END};
const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END};
const uint16_t PROGMEM qw_combo[] = {KC_Q, KC_W, COMBO_END};
const uint16_t PROGMEM sd_combo[] = {KC_S, KC_D, COMBO_END};
combo_t key_combos[COMBO_COUNT] = {
[AB_ESC] = COMBO(ab_combo, KC_ESC),
[JK_TAB] = COMBO(jk_combo, KC_TAB)
[JK_TAB] = COMBO(jk_combo, KC_TAB),
[QW_SFT] = COMBO(qw_combo, KC_LSFT)
[SD_LAYER] = COMBO(layer_combo, MO(_LAYER)),
};
```
For a more complicated implementation, you can use the `process_combo_event` function to add custom handling.
Additionally, this example shows how you can leave `COMBO_COUNT` undefined.
```c
enum combo_events {
ZC_COPY,
XV_PASTE
EM_EMAIL,
BSPC_LSFT_CLEAR,
COMBO_LENGTH
};
uint16_t COMBO_LEN = COMBO_LENGTH; // remove the COMBO_COUNT define and use this instead!
const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_C, COMBO_END};
const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END};
const uint16_t PROGMEM email_combo[] = {KC_E, KC_M, COMBO_END};
const uint16_t PROGMEM clear_line_combo[] = {KC_BSPC, KC_LSFT, COMBO_END};
combo_t key_combos[COMBO_COUNT] = {
[ZC_COPY] = COMBO_ACTION(copy_combo),
[XV_PASTE] = COMBO_ACTION(paste_combo),
combo_t key_combos[] = {
[EM_EMAIL] = COMBO_ACTION(email_combo),
[BSPC_LSFT_CLEAR] = COMBO_ACTION(clear_line_combo),
};
/* COMBO_ACTION(x) is same as COMBO(x, KC_NO) */
void process_combo_event(uint16_t combo_index, bool pressed) {
switch(combo_index) {
case ZC_COPY:
case EM_EMAIL:
if (pressed) {
tap_code16(LCTL(KC_C));
SEND_STRING("john.doe@example.com");
}
break;
case XV_PASTE:
case BSPC_LSFT_CLEAR:
if (pressed) {
tap_code16(LCTL(KC_V));
tap_code16(KC_END);
tap_code16(S(KC_HOME));
tap_code16(KC_BSPC);
}
break;
}
}
```
This will send Ctrl+C if you hit Z and C, and Ctrl+V if you hit X and V. But you could change this to do stuff like change layers, play sounds, or change settings.
This will send "john.doe@example.com" if you chord E and M together, and clear the current line with Backspace and Left-Shift. You could change this to do stuff like play sounds or change settings.
## Additional Configuration
It is worth noting that `COMBO_ACTION`s are not needed anymore. As of [PR#8591](https://github.com/qmk/qmk_firmware/pull/8591/), it is possible to run your own custom keycodes from combos. Just define the custom keycode, program its functionality in `process_record_user`, and define a combo with `COMBO(<key_array>, <your_custom_keycode>)`.
If you're using long combos, or even longer combos, you may run into issues with this, as the structure may not be large enough to accommodate what you're doing.
In this case, you can add either `#define EXTRA_LONG_COMBOS` or `#define EXTRA_EXTRA_LONG_COMBOS` in your `config.h` file.
You may also be able to enable action keys by defining `COMBO_ALLOW_ACTION_KEYS`.
## 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.
## 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 |
|----------|---------------------------------|
@@ -91,6 +111,187 @@ You can enable, disable and toggle the Combo feature on the fly. This is useful
|`CMB_OFF` |Turns off Combo feature |
|`CMB_TOG` |Toggles Combo feature on and off |
# Advanced Configuration
These configuration settings can be set in your `config.h` file.
## Combo Term
By default, the timeout for the Combos to be recognized is set to 50ms. This can be changed if accidental combo misfires are happening or if you're having difficulties pressing keys at the same time. For instance, `#define COMBO_TERM 40` would set the timeout period for combos to 40ms.
## Buffer and state sizes
If you're using long combos, or you have a lot of overlapping combos, you may run into issues with this, as the buffers may not be large enough to accommodate what you're doing. In this case, you can configure the sizes of the buffers used. Be aware, larger combo sizes and larger buffers will increase memory usage!
To configure the amount of keys a combo can be composed of, change the following:
| Keys | Define to be set |
|------|-----------------------------------|
| 6 | `#define EXTRA_SHORT_COMBOS` |
| 8 | QMK Default |
| 16 | `#define EXTRA_LONG_COMBOS` |
| 32 | `#define EXTRA_EXTRA_LONG_COMBOS` |
Defining `EXTRA_SHORT_COMBOS` combines a combo's internal state into just one byte. This can, in some cases, save some memory. If it doesn't, no point using it. If you do, you also have to make sure you don't define combos with more than 6 keys.
Processing combos has two buffers, one for the key presses, another for the combos being activated. Use the following options to configure the sizes of these buffers:
| Define | Default |
|-------------------------------------|------------------------------------------------------|
| `#define COMBO_KEY_BUFFER_LENGTH 8` | 8 (the key amount `(EXTRA_)EXTRA_LONG_COMBOS` gives) |
| `#define COMBO_BUFFER_LENGTH 4` | 4 |
## Modifier Combos
If a combo resolves to a Modifier, the window for processing the combo can be extended independently from normal combos. By default, this is disabled but can be enabled with `#define COMBO_MUST_HOLD_MODS`, and the time window can be configured with `#define COMBO_HOLD_TERM 150` (default: `TAPPING_TERM`). With `COMBO_MUST_HOLD_MODS`, you cannot tap the combo any more which makes the combo less prone to misfires.
## Per Combo Timing, Holding and Tapping
For each combo, it is possible to configure the time window it has to pressed in, if it needs to be held down, or if it needs to be tapped.
For example, tap-only combos are useful if any (or all) of the underlying keys is a Mod-Tap or a Layer-Tap key. When you tap the combo, you get the combo result. When you press the combo and hold it down, the combo doesn't actually activate. Instead the keys are processed separately as if the combo wasn't even there.
In order to use these features, the following configuration options and functions need to be defined. Coming up with useful timings and configuration is left as an exercise for the reader.
| Config Flag | Function | Description |
|-----------------------------|-----------------------------------------------------------|--------------------------------------------------------------------------------------------------------|
| `COMBO_TERM_PER_COMBO` | uint16_t get_combo_term(uint16_t index, combo_t \*combo) | Optional per-combo timeout window. (default: `COMBO_TERM`) |
| `COMBO_MUST_HOLD_PER_COMBO` | bool get_combo_must_hold(uint16_t index, combo_t \*combo) | Controls if a given combo should fire immediately on tap or if it needs to be held. (default: `false`) |
| `COMBO_MUST_TAP_PER_COMBO` | bool get_combo_must_tap(uint16_t index, combo_t \*combo) | Controls if a given combo should fire only if tapped within `COMBO_HOLD_TERM`. (default: `false`) |
Examples:
```c
uint16_t get_combo_term(uint16_t index, combo_t *combo) {
// decide by combo->keycode
switch (combo->keycode) {
case KC_X:
return 50;
}
// or with combo index, i.e. its name from enum.
switch (index) {
case COMBO_NAME_HERE:
return 9001;
}
// And if you're feeling adventurous, you can even decide by the keys in the chord,
// i.e. the exact array of keys you defined for the combo.
// This can be useful if your combos have a common key and you want to apply the
// same combo term for all of them.
if (combo->keys[0] == KC_ENTER) { // if first key in the array is KC_ENTER
return 150;
}
return COMBO_TERM;
}
bool get_combo_must_hold(uint16_t index, combo_t *combo) {
// Same as above, decide by keycode, the combo index, or by the keys in the chord.
if (KEYCODE_IS_MOD(combo->keycode) ||
(combo->keycode >= QK_MOMENTARY && combo->keycode <= QK_MOMENTARY_MAX) // MO(kc) keycodes
) {
return true;
}
switch (index) {
case COMBO_NAME_HERE:
return true;
}
return false;
}
bool get_combo_must_tap(uint16_t index, combo_t *combo) {
// If you want all combos to be tap-only, just uncomment the next line
// return true
// If you want *all* combos, that have Mod-Tap/Layer-Tap/Momentary keys in its chord, to be tap-only, this is for you:
uint16_t key;
uint8_t idx = 0;
while ((key = pgm_read_word(&combo->keys[idx])) != COMBO_END) {
switch (key) {
case QK_MOD_TAP...QK_MOD_TAP_MAX:
case QK_LAYER_TAP...QK_LAYER_TAP_MAX:
case QK_MOMENTARY...QK_MOMENTARY_MAX:
return true;
}
idx += 1;
}
return false;
}
```
## 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:
```c
enum myCombos {
...,
COMBO_LENGTH
};
uint16_t COMBO_LEN = COMBO_LENGTH;
```
Regardless of the method used to declare `COMBO_LEN`, this also requires to convert the `combo_t key_combos[COMBO_COUNT] = {...};` line to `combo_t key_combos[] = {...};`.
## Combo timer
Normally, the timer is started on the first key press and then reset on every subsequent key press within the `COMBO_TERM`.
Inputting combos is relaxed like this, but also slightly more prone to accidental misfires.
The next two options alter the behaviour of the timer.
### `#define COMBO_STRICT_TIMER`
With `COMBO_STRICT_TIMER`, the timer is started only on the first key press.
Inputting combos is now less relaxed; you need to make sure the full chord is pressed within the `COMBO_TERM`.
Misfires are less common but if you type multiple combos fast, there is a
chance that the latter ones might not activate properly.
### `#define COMBO_NO_TIMER`
By defining `COMBO_NO_TIMER`, the timer is disabled completely and combos are activated on the first key release.
This also disables the "must hold" functionalities as they just wouldn't work at all.
## Customizable key releases
By defining `COMBO_PROCESS_KEY_RELEASE` and implementing the function `bool process_combo_key_release(uint16_t combo_index, combo_t *combo, uint8_t key_index, uint16_t keycode)`, you can run your custom code on each key release after a combo was activated. For example you could change the RGB colors, activate haptics, or alter the modifiers.
You can also release a combo early by returning `true` from the function.
Here's an example where a combo resolves to two modifiers, and on key releases the modifiers are unregistered one by one, depending on which key was released.
```c
enum combos {
AB_MODS,
COMBO_LENGTH
};
uint16_t COMBO_LEN = COMBO_LENGTH;
const uint16_t PROGMEM ab_combo[] = {KC_A, KC_B, COMBO_END};
combo_t key_combos[] = {
[AB_MODS] = COMBO(ab_combo, LCTL(KC_LSFT)),
};
bool process_combo_key_release(uint16_t combo_index, combo_t *combo, uint8_t key_index, uint16_t keycode) {
switch (combo_index) {
case AB_MODS:
switch(keycode) {
case KC_A:
unregister_mods(MOD_MASK_CTRL);
break;
case KC_B:
unregister_mods(MOD_MASK_SHIFT);
break;
}
return false; // do not release combo
}
return false;
}
```
## Layer independent combos
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`.
## User callbacks
In addition to the keycodes, there are a few functions that you can use to set the status, or check it:
@@ -101,3 +302,28 @@ In addition to the keycodes, there are a few functions that you can use to set t
| `combo_disable()` | Disables the combo feature, and clears the combo buffer |
| `combo_toggle()` | Toggles the state of the combo feature |
| `is_combo_enabled()` | Returns the status of the combo feature state (true or false) |
# Dictionary Management
Having 3 places to update when adding new combos or altering old ones does become cumbersome when you have a lot of combos. We can alleviate this with some magic! ... If you consider C macros magic.
First, you need to add `VPATH += keyboards/gboards` to your `rules.mk`. Next, include the file `g/keymap_combo.h` in your `keymap.c`.
!> This functionality uses the same `process_combo_event` function as `COMBO_ACTION` macros do, so you cannot use the function yourself in your keymap. Instead, you have to define the `case`s of the `switch` statement by themselves within `inject.h`, which `g/keymap_combo.h` will then include into the function.
Then, write your combos in `combos.def` file in the following manner:
```c
// name result chord keys
COMB(AB_ESC, KC_ESC, KC_A, KC_B)
COMB(JK_TAB, KC_TAB, KC_J, KC_K)
COMB(JKL_SPC, KC_SPC, KC_J, KC_K, KC_L)
COMB(BSSL_CLR, KC_NO, KC_BSPC, KC_LSFT) // using KC_NO as the resulting keycode is the same as COMBO_ACTION before.
COMB(QW_UNDO, C(KC_Z), KC_Q, KC_W)
SUBS(TH_THE, "the", KC_T, KC_H) // SUBS uses SEND_STRING to output the given string.
...
```
Now, you can update only one place to add or alter combos. You don't even need to remember to update the `COMBO_COUNT` or the `COMBO_LEN` variables at all. Everything is taken care of. Magic!
For small to huge ready made dictionaries of combos, you can check out http://combos.gboards.ca/.
+1 -1
View File
@@ -1,6 +1,6 @@
# Command
Command, formerly known as Magic, is a way to change your keyboard's behavior without having to flash or unplug it to use [Bootmagic](feature_bootmagic.md). There is a lot of overlap between this functionality and the [Bootmagic Keycodes](feature_bootmagic.md#keycodes). Wherever possible we encourage you to use that feature instead of Command.
Command, formerly known as Magic, is a way to change your keyboard's behavior without having to flash or unplug it to use [Bootmagic Lite](feature_bootmagic.md). There is a lot of overlap between this functionality and the [Magic Keycodes](keycodes_magic.md). Wherever possible we encourage you to use that feature instead of Command.
On some keyboards Command is disabled by default. If this is the case, it must be explicitly enabled in your `rules.mk`:
+2 -19
View File
@@ -92,15 +92,6 @@ susceptible to noise, you must choose a debounce method that will also mitigate
## Debounce algorithms supported by QMK
QMK supports multiple debounce algorithms through its debounce API.
The logic for which debounce method called is below. It checks various defines that you have set in ```rules.mk```
```
DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
DEBOUNCE_TYPE?= sym_defer_g
ifneq ($(strip $(DEBOUNCE_TYPE)), custom)
QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c
endif
```
### Debounce selection
@@ -121,16 +112,16 @@ DEBOUNCE_TYPE = <name of algorithm>
Where name of algorithm is one of:
* ```sym_defer_g``` - debouncing per keyboard. On any state change, a global timer is set. When ```DEBOUNCE``` milliseconds of no changes has occurred, all input changes are pushed.
* This is the current default algorithm. This is the highest performance algorithm with lowest memory usage, and it's also noise-resistant.
* ```sym_eager_pr``` - debouncing per row. On any state change, response is immediate, followed by locking the row ```DEBOUNCE``` milliseconds of no further input for that row.
* ```sym_eager_pr``` - debouncing per row. On any state change, response is immediate, followed by locking the row ```DEBOUNCE``` milliseconds of no further input for that row.
For use in keyboards where refreshing ```NUM_KEYS``` 8-bit counters is computationally expensive / low scan rate, and fingers usually only hit one row at a time. This could be
appropriate for the ErgoDox models; the matrix is rotated 90°, and hence its "rows" are really columns, and each finger only hits a single "row" at a time in normal use.
* ```sym_eager_pk``` - debouncing per key. On any state change, response is immediate, followed by ```DEBOUNCE``` milliseconds of no further input for that key
* ```sym_defer_pk``` - debouncing per key. On any state change, a per-key timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that key, the key status change is pushed.
* ```asym_eager_defer_pk``` - debouncing per key. On a key-down state change, response is immediate, followed by ```DEBOUNCE``` milliseconds of no further input for that key. On a key-up state change, a per-key timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that key, the key-up status change is pushed.
### A couple algorithms that could be implemented in the future:
* ```sym_defer_pr```
* ```sym_eager_g```
* ```asym_eager_defer_pk```
### Use your own debouncing code
You have the option to implement you own debouncing algorithm. To do this:
@@ -140,11 +131,3 @@ You have the option to implement you own debouncing algorithm. To do this:
* Debouncing occurs after every raw matrix scan.
* Use num_rows rather than MATRIX_ROWS, so that split keyboards are supported correctly.
* If the algorithm might be applicable to other keyboards, please consider adding it to ```quantum/debounce```
### Old names
The following old names for existing algorithms will continue to be supported, however it is recommended to use the new names instead.
* sym_g - old name for sym_defer_g
* eager_pk - old name for sym_eager_pk
* sym_pk - old name for sym_defer_pk
* eager_pr - old name for sym_eager_pr
+35
View File
@@ -0,0 +1,35 @@
## Digitizer
The digitizer HID interface allows setting the mouse cursor position at absolute coordinates, unlike the Pointing Device feature that applies relative displacements.
To enable the digitizer interface, add the following line to your rules.mk:
```makefile
DIGITIZER_ENABLE = yes
```
In order to change the mouse cursor position from your keymap.c file, include the digitizer header :
```c
#include "digitizer.h"
```
This gives you access to the `digitizer` structure which members allow you to change the cursor position.
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:
```c
digitizer_t digitizer;
digitizer.x = 0.5;
digitizer.y = 0.5;
digitizer.tipswitch = 0;
digitizer.inrange = 1;
digitizer_set_report(digitizer);
```
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.
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.
+12 -7
View File
@@ -9,6 +9,8 @@ and this to your `config.h`:
```c
// Connects each switch in the dip switch to the GPIO pin of the MCU
#define DIP_SWITCH_PINS { B14, A15, A10, B9 }
// For split keyboards, you can separately define the right side pins
#define DIP_SWITCH_PINS_RIGHT { ... }
```
or
@@ -23,8 +25,9 @@ or
The callback functions can be inserted into your `<keyboard>.c`:
```c
void dip_switch_update_kb(uint8_t index, bool active) {
dip_switch_update_user(index, active);
bool dip_switch_update_kb(uint8_t index, bool active) {
if (!dip_switch_update_user(index, active)) { return false; }
return true;
}
```
@@ -32,7 +35,7 @@ void dip_switch_update_kb(uint8_t index, bool active) {
or `keymap.c`:
```c
void dip_switch_update_user(uint8_t index, bool active) {
bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if(active) { audio_on(); } else { audio_off(); }
@@ -57,6 +60,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
}
break;
}
return true;
}
```
@@ -64,8 +68,9 @@ Additionally, we support bit mask functions which allow for more complex handlin
```c
void dip_switch_update_mask_kb(uint32_t state) {
dip_switch_update_mask_user(state);
bool dip_switch_update_mask_kb(uint32_t state) {
if (!dip_switch_update_mask_user(state)) { return false; }
return true;
}
```
@@ -73,7 +78,7 @@ void dip_switch_update_mask_kb(uint32_t state) {
or `keymap.c`:
```c
void dip_switch_update_mask_user(uint32_t state) {
bool dip_switch_update_mask_user(uint32_t state) {
if (state & (1UL<<0) && state & (1UL<<1)) {
layer_on(_ADJUST); // C on esc
} else {
@@ -89,10 +94,10 @@ void dip_switch_update_mask_user(uint32_t state) {
} else {
layer_off(_TEST_B);
}
return true;
}
```
## Hardware
### Connects each switch in the dip switch to the GPIO pin of the MCU
+6
View File
@@ -38,6 +38,12 @@ It can also be defined per-encoder, by instead defining:
#define ENCODER_RESOLUTIONS { 4, 2 }
```
For 4× encoders you also can assign default position if encoder skips pulses when it changes direction. For example, if your encoder send high level on both pins by default, define this:
```c
#define ENCODER_DEFAULT_POS 0x3
```
## Split Keyboards
If you are using different pinouts for the encoders on each half of a split keyboard, you can define the pinout (and optionally, resolutions) for the right half like this:
+25 -1
View File
@@ -162,4 +162,28 @@ This will set what sequence HPT_RST will set as the active mode. If not defined,
### DRV2605L Continuous Haptic Mode
This mode sets continuous haptic feedback with the option to increase or decrease strength.
This mode sets continuous haptic feedback with the option to increase or decrease strength.
## Haptic Key Exclusion
The Haptic Exclusion is implemented as `__attribute__((weak)) bool get_haptic_enabled_key(uint16_t keycode, keyrecord_t *record)` in haptic.c. This allows a re-definition at the required level with the specific requirement / exclusion.
### NO_HAPTIC_MOD
With the entry of `#define NO_HAPTIC_MOD` in config.h, modifiers from Left Control to Right GUI will not trigger a feedback. This also includes modifiers in a Mod Tap configuration.
### NO_HAPTIC_FN
With the entry of `#define NO_HAPTIC_FN` in config.h, layer keys will not rigger a feedback.
### NO_HAPTIC_ALPHA
With the entry of `#define NO_HAPTIC_ALPHA` in config.h, none of the alpha keys (A ... Z) will trigger a feedback.
### NO_HAPTIC_PUNCTUATION
With the entry of `#define NO_HAPTIC_PUNCTUATION` in config.h, none of the following keys will trigger a feedback: Enter, ESC, Backspace, Space, Minus, Equal, Left Bracket, Right Bracket, Backslash, Non-US Hash, Semicolon, Quote, Grave, Comma, Slash, Dot, Non-US Backslash.
### NO_HAPTIC_LOCKKEYS
With the entry of `#define NO_HAPTIC_LOCKKEYS` in config.h, none of the following keys will trigger a feedback: Caps Lock, Scroll Lock, Num Lock.
### NO_HAPTIC_NAV
With the entry of `#define NO_HAPTIC_NAV` in config.h, none of the following keys will trigger a feedback: Print Screen, Pause, Insert, Delete, Page Down, Page Up, Left Arrow, Up Arrow, Right Arrow, Down Arrow, End, Home.
### NO_HAPTIC_NUMERIC
With the entry of `#define NO_HAPTIC_NUMERIC` in config.h, none of the following keys between 0 and 9 (KC_1 ... KC_0) will trigger a feedback.
+2 -3
View File
@@ -2,8 +2,6 @@
The keyboard can be made to be recognized as a joystick HID device by the operating system.
This is enabled by adding `JOYSTICK_ENABLE` to `rules.mk`. You can set this value to `analog`, `digital`, or `no`.
!> Joystick support is not currently available on V-USB devices.
The joystick feature provides two services:
@@ -18,7 +16,8 @@ or send gamepad reports based on values computed by the keyboard.
To use analog input you must first enable it in `rules.mk`:
```makefile
JOYSTICK_ENABLE = analog
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).
+229
View File
@@ -0,0 +1,229 @@
# Key Overrides
Key overrides allow you to override modifier-key combinations to send a different modifier-key combination or perform completely custom actions. Don't want `shift` + `1` to type `!` on your computer? Use a key override to make your keyboard type something different when you press `shift` + `1`. The general behavior is like this: If `modifiers w` + `key x` are pressed, replace these keys with `modifiers y` + `key z` in the keyboard report.
You can use key overrides in a similar way to momentary layer/fn keys to activate custom keycodes/shortcuts, with a number of benefits: You completely keep the original use of the modifier keys, while being able to save space by removing fn keys from your keyboard. You can also easily configure _combinations of modifiers_ to trigger different actions than individual modifiers, and much more. The possibilities are quite vast and this documentation contains a few examples for inspiration throughout.
##### A few more examples to get started: You could use key overrides to...
- Send `brightness up/down` when pressing `ctrl` + `volume up/down`.
- Send `delete` when pressing `shift` + `backspace`.
- Create custom shortcuts or change existing ones: E.g. Send `ctrl`+`shift`+`z` when `ctrl`+`y` is pressed.
- Run custom code when `ctrl` + `alt` + `esc` is pressed.
## Setup
To enable this feature, you need to add `KEY_OVERRIDE_ENABLE = yes` to your `rules.mk`.
Then, in your `keymap.c` file, you'll need to define the array `key_overrides`, which defines all key overrides to be used. Each override is a value of type `key_override_t`. The array `key_overrides` is `NULL`-terminated and contains pointers to `key_override_t` values (`const key_override_t **`).
## Creating Key Overrides
The `key_override_t` struct has many options that allow you to precisely tune your overrides. The full reference is shown below. Instead of manually creating a `key_override_t` value, it is recommended to use these dedicated initializers:
#### `ko_make_basic(modifiers, key, replacement)`
Returns a `key_override_t`, which sends `replacement` (can be a key-modifer combination), when `key` and `modifiers` are all pressed down. This override still activates if any additional modifiers not specified in `modifiers` are also pressed down. See `ko_make_with_layers_and_negmods` to customize this behavior.
#### `ko_make_with_layers(modifiers, key, replacement, layers)`
Additionally takes a bitmask `layers` that defines on which layers the override is used.
#### `ko_make_with_layers_and_negmods(modifiers, key, replacement, layers, negative_mods)`
Additionally takes a bitmask `negative_mods` that defines which modifiers may not be pressed for this override to activate.
#### `ko_make_with_layers_negmods_and_options(modifiers, key, replacement, layers, negative_mods, options)`
Additionally takes a bitmask `options` that specifies additional options. See `ko_option_t` for available options.
For more customization possibilities, you may directly create a `key_override_t`, which allows you to customize even more behavior. Read further below for details and examples.
## Simple Example
This shows how the mentioned example of sending `delete` when `shift` + `backspace` are pressed is realized:
```c
const key_override_t delete_key_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPACE, KC_DELETE);
// This globally defines all key overrides to be used
const key_override_t **key_overrides = (const key_override_t *[]){
&delete_key_override,
NULL // Null terminate the array of overrides!
};
```
## Intermediate Difficulty Examples
### Media Controls & Screen Brightness
In this example a single key is configured to control media, volume and screen brightness by using key overrides.
- The key is set to send `play/pause` in the keymap.
The following key overrides will be configured:
- `Ctrl` + `play/pause` will send `next track`.
- `Ctrl` + `Shift` + `play/pause` will send `previous track`.
- `Alt` + `play/pause` will send `volume up`.
- `Alt` + `Shift` + `play/pause` will send `volume down`.
- `Ctrl` + `Alt` + `play/pause` will send `brightness up`.
- `Ctrl` + `Alt` + `Shift` + `play/pause` will send `brightness down`.
```c
const key_override_t next_track_override =
ko_make_with_layers_negmods_and_options(
MOD_MASK_CTRL, // Trigger modifiers: ctrl
KC_MPLY, // Trigger key: play/pause
KC_MNXT, // Replacement key
~0, // Activate on all layers
MOD_MASK_SA, // Do not activate when shift or alt are pressed
ko_option_no_reregister_trigger); // Specifies that the play key is not registered again after lifting ctrl
const key_override_t prev_track_override = ko_make_with_layers_negmods_and_options(MOD_MASK_CS, KC_MPLY,
KC_MPRV, ~0, MOD_MASK_ALT, ko_option_no_reregister_trigger);
const key_override_t vol_up_override = ko_make_with_layers_negmods_and_options(MOD_MASK_ALT, KC_MPLY,
KC_VOLU, ~0, MOD_MASK_CS, ko_option_no_reregister_trigger);
const key_override_t vol_down_override = ko_make_with_layers_negmods_and_options(MOD_MASK_SA, KC_MPLY,
KC_VOLD, ~0, MOD_MASK_CTRL, ko_option_no_reregister_trigger);
const key_override_t brightness_up_override = ko_make_with_layers_negmods_and_options(MOD_MASK_CA, KC_MPLY,
KC_BRIU, ~0, MOD_MASK_SHIFT, ko_option_no_reregister_trigger);
const key_override_t brightness_down_override = ko_make_basic(MOD_MASK_CSA, KC_MPLY, KC_BRID);
// This globally defines all key overrides to be used
const key_override_t **key_overrides = (const key_override_t *[]){
&next_track_override,
&prev_track_override,
&vol_up_override,
&vol_down_override,
&brightness_up_override,
&brightness_down_override,
NULL
};
```
### Flexible macOS-friendly Grave Escape
The [Grave Escape feature](feature_grave_esc.md) is limited in its configurability and has [bugs when used on macOS](feature_grave_esc.md#caveats). Key overrides can be used to achieve a similar functionality as Grave Escape, but with more customization and without bugs on macOS.
```c
// Shift + esc = ~
const key_override_t tilde_esc_override = ko_make_basic(MOD_MASK_SHIFT, KC_ESC, S(KC_GRAVE));
// GUI + esc = `
const key_override_t grave_esc_override = ko_make_basic(MOD_MASK_GUI, KC_ESC, KC_GRAVE);
const key_override_t **key_overrides = (const key_override_t *[]){
&tilde_esc_override,
&grave_esc_override,
NULL
};
```
In addition to not encountering unexpected bugs on macOS, you can also change the behavior as you wish. Instead setting `GUI` + `ESC` = `` ` `` you may change it to an arbitrary other modifier, for example `Ctrl` + `ESC` = `` ` ``.
## Advanced Examples
### Modifiers as Layer Keys
Do you really need a dedicated key to toggle your fn layer? With key overrides, perhaps not. This example shows how you can configure to use `rGUI` + `rAlt` (right GUI and right alt) to access a momentary layer like an fn layer. With this you completely eliminate the need to use a dedicated layer key. Of course the choice of modifier keys can be changed as needed, `rGUI` + `rAlt` is just an example here.
```c
// This is called when the override activates and deactivates. Enable the fn layer on activation and disable on deactivation
bool momentary_layer(bool key_down, void *layer) {
if (key_down) {
layer_on((uint8_t)(uintptr_t)layer);
} else {
layer_off((uint8_t)(uintptr_t)layer);
}
return false;
}
const key_override_t fn_override = {.trigger_mods = MOD_BIT(KC_RGUI) | MOD_BIT(KC_RCTL), //
.layers = ~(1 << LAYER_FN), //
.suppressed_mods = MOD_BIT(KC_RGUI) | MOD_BIT(KC_RCTL), //
.options = ko_option_no_unregister_on_other_key_down, //
.negative_mod_mask = (uint8_t) ~(MOD_BIT(KC_RGUI) | MOD_BIT(KC_RCTL)), //
.custom_action = momentary_layer, //
.context = (void *)LAYER_FN, //
.trigger = KC_NO, //
.replacement = KC_NO, //
.enabled = NULL};
```
## 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)`|
## Reference for `key_override_t`
Advanced users may need more customization than what is offered by the simple `ko_make` initializers. For this, directly create a `key_override_t` value and set all members. Below is a reference for all members of `key_override_t`.
| Member | Description |
|--------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `uint16_t trigger` | The non-modifier keycode that triggers the override. This keycode, and the necessary modifiers (`trigger_mods`) must be pressed to activate this override. Set this to the keycode of the key that should activate the override. Set to `KC_NO` to require only the necessary modifiers to be pressed and no non-modifier. |
| `uint8_t trigger_mods` | Which mods need to be down for activation. If both sides of a modifier are set (e.g. left ctrl and right ctrl) then only one is required to be pressed (e.g. left ctrl suffices). Use the `MOD_MASK_XXX` and `MOD_BIT()` macros for this. |
| `layer_state_t layers` | This is a BITMASK (!), defining which layers this override applies to. To use this override on layer i set the ith bit `(1 << i)`. |
| `uint8_t negative_mod_mask` | Which modifiers cannot be down. It must hold that `(active_modifiers & negative_mod_mask) == 0`, otherwise the key override will not be activated. An active override will be deactivated once this is no longer true. |
| `uint8_t suppressed_mods` | Modifiers to 'suppress' while the override is active. To suppress a modifier means that even though the modifier key is held down, the host OS sees the modifier as not pressed. Can be used to suppress the trigger modifiers, as a trivial example. |
| `uint16_t replacement` | The complex keycode to send as replacement when this override is triggered. This can be a simple keycode, a key-modifier combination (e.g. `C(KC_A)`), or `KC_NO` (to register no replacement keycode). Use in combination with suppressed_mods to get the correct modifiers to be sent. |
| `ko_option_t options` | Options controlling the behavior of the override, such as what actions are allowed to activate the override. |
| `bool (*custom_action)(bool activated, void *context)` | If not NULL, this function will be called right before the replacement key is registered, along with the provided context and a flag indicating whether the override was activated or deactivated. This function allows you to run some custom actions for specific key overrides. If you return `false`, the replacement key is not registered/unregistered as it would normally. Return `true` to register and unregister the override normally. |
| `void *context` | A context that will be passed to the custom action function. |
| `bool *enabled` | If this points to false this override will not be used. Set to NULL to always have this override enabled. |
### Reference for `ko_option_t`
Bitfield with various options controlling the behavior of a key override.
| Value | Description |
|------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `ko_option_activation_trigger_down` | Allow activating when the trigger key is pressed down. |
| `ko_option_activation_required_mod_down` | Allow activating when a necessary modifier is pressed down. |
| `ko_option_activation_negative_mod_up` | Allow activating when a negative modifier is released. |
| `ko_option_one_mod` | If set, any of the modifiers in `trigger_mods` will be enough to activate the override (logical OR of modifiers). If not set, all the modifiers in `trigger_mods` have to be pressed (logical AND of modifiers). |
| `ko_option_no_unregister_on_other_key_down` | If set, the override will not deactivate when another key is pressed down. Use only if you really know you need this. |
| `ko_option_no_reregister_trigger` | If set, the trigger key will never be registered again after the override is deactivated. |
| `ko_options_default` | The default options used by the `ko_make_xxx` functions |
## For Advanced Users: Inner Workings
This section explains how a key override works in detail, explaining where each member of `key_override_t` comes into play. Understanding this is essential to be able to take full advantage of all the options offered by key overrides.
#### Activation
When the necessary keys are pressed (`trigger_mods` + `trigger`), the override is 'activated' and the replacement key is registered in the keyboard report (`replacement`), while the `trigger` key is removed from the keyboard report. The trigger modifiers may also be removed from the keyboard report upon activation of an override (`suppressed_mods`). The override will not activate if any of the `negative_modifiers` are pressed.
Overrides can activate in three different cases:
1. The trigger key is pressed down and necessary modifiers are already down.
2. A necessary modifier is pressed down, while the trigger key and other necessary modifiers are already down.
3. A negative modifier is released, while all necessary modifiers and the trigger key are already down.
Use the `option` member to customize which of these events are allowed to activate your overrides (default: all three).
In any case, a key override can only activate if the `trigger` key is the _last_ non-modifier key that was pressed down. This emulates the behavior of how standard OSes (macOS, Windows, Linux) handle normal key input (to understand: Hold down `a`, then also hold down `b`, then hold down `shift`; `B` will be typed but not `A`).
#### Deactivation
An override is 'deactivated' when one of the trigger keys (`trigger_mods`, `trigger`) is lifted, another non-modifier key is pressed down, or one of the `negative_modifiers` is pressed down. When an override deactivates, the `replacement` key is removed from the keyboard report, while the `suppressed_mods` that are still held down are re-added to the keyboard report. By default, the `trigger` key is re-added to the keyboard report if it is still held down and no other non-modifier key has been pressed since. This again emulates the behavior of how standard OSes handle normal key input (To understand: hold down `a`, then also hold down `b`, then also `shift`, then release `b`; `A` will not be typed even though you are holding the `a` and `shift` keys). Use the `option` field `ko_option_no_reregister_trigger` to prevent re-registering the trigger key in all cases.
#### Key Repeat Delay
A third way in which standard OS-handling of modifier-key input is emulated in key overrides is with a ['key repeat delay'](https://www.dummies.com/computers/pcs/set-your-keyboards-repeat-delay-and-repeat-rate/). To explain what this is, let's look at how normal keyboard input is handled by mainstream OSes again: If you hold down `a`, followed by `shift`, you will see the letter `a` is first typed, then for a short moment nothing is typed and then repeating `A`s are typed. Take note that, although shift is pressed down just after `a` is pressed, it takes a moment until `A` is typed. This is caused by the aforementioned key repeat delay, and it is a feature that prevents unwanted repeated characters from being typed.
This applies equally to releasing a modifier: When you hold `shift`, then press `a`, the letter `A` is typed. Now if you release `shift` first, followed by `a` shortly after, you will not see the letter `a` being typed, even though for a short moment of time you were just holding down the key `a`. This is because no modified characters are typed until the key repeat delay has passed.
This exact behavior is implemented in key overrides as well: If a key override for `shift` + `a` = `b` exists, and `a` is pressed and held, followed by `shift`, you will not immediately see the letter `b` being typed. Instead, this event is deferred for a short moment, until the key repeat delay has passed, measured from the moment when the trigger key (`a`) was pressed down.
The duration of the key repeat delay is controlled with the `KEY_OVERRIDE_REPEAT_DELAY` macro. Define this value in your `config.h` file to change it. It is 500ms by default.
## Difference to Combos
Note that key overrides are very different from [combos](https://docs.qmk.fm/#/feature_combo). Combos require that you press down several keys almost _at the same time_ and can work with any combination of non-modifier keys. Key overrides work like keyboard shortcuts (e.g. `ctrl` + `z`): They take combinations of _multiple_ modifiers and _one_ non-modifier key to then perform some custom action. Key overrides are implemented with much care to behave just like normal keyboard shortcuts would in regards to the order of pressed keys, timing, and interacton with other pressed keys. There are a number of optional settings that can be used to really fine-tune the behavior of each key override as well. Using key overrides also does not delay key input for regular key presses, which inherently happens in combos and may be undesirable.
+2
View File
@@ -1,5 +1,7 @@
# LED Indicators
?> Currently, this feature is not supported for split keyboards
QMK provides methods to read 5 of the LEDs defined in the HID spec:
* Num Lock
+23 -50
View File
@@ -52,7 +52,7 @@ Here is an example using 2 drivers.
Define these arrays listing all the LEDs in your `<keyboard>.c`:
```c
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | LED address
@@ -63,7 +63,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
}
```
Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/issi/is31fl3731-simple.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` ).
Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/led/issi/is31fl3731-simple.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` ).
---
@@ -164,26 +164,26 @@ You can disable a single effect by defining `DISABLE_[EFFECT_NAME]` in your `con
|Define |Description |
|-------------------------------------------------------|-----------------------------------------------|
|`#define DISABLE_LED_MATRIX_ALPHAS_MODS` |Disables `LED_MATRIX_ALPHAS_MODS` |
|`#define DISABLE_LED_MATRIX_BREATHING` |Disables `LED_MATRIX_BREATHING` |
|`#define DISABLE_LED_MATRIX_BAND` |Disables `LED_MATRIX_BAND` |
|`#define DISABLE_LED_MATRIX_BAND_PINWHEEL` |Disables `LED_MATRIX_BAND_PINWHEEL` |
|`#define DISABLE_LED_MATRIX_BAND_SPIRAL` |Disables `LED_MATRIX_BAND_SPIRAL` |
|`#define DISABLE_LED_MATRIX_CYCLE_LEFT_RIGHT` |Disables `LED_MATRIX_CYCLE_LEFT_RIGHT` |
|`#define DISABLE_LED_MATRIX_CYCLE_UP_DOWN` |Disables `LED_MATRIX_CYCLE_UP_DOWN` |
|`#define DISABLE_LED_MATRIX_CYCLE_OUT_IN` |Disables `LED_MATRIX_CYCLE_OUT_IN` |
|`#define DISABLE_LED_MATRIX_DUAL_BEACON` |Disables `LED_MATRIX_DUAL_BEACON` |
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE` |Disables `LED_MATRIX_SOLID_REACTIVE_SIMPLE` |
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_WIDE` |Disables `LED_MATRIX_SOLID_REACTIVE_WIDE` |
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE` |Disables `LED_MATRIX_SOLID_REACTIVE_MULTIWIDE` |
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_CROSS` |Disables `LED_MATRIX_SOLID_REACTIVE_CROSS` |
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS` |Disables `LED_MATRIX_SOLID_REACTIVE_MULTICROSS`|
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS` |Disables `LED_MATRIX_SOLID_REACTIVE_NEXUS` |
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS` |Disables `LED_MATRIX_SOLID_REACTIVE_MULTINEXUS`|
|`#define DISABLE_LED_MATRIX_SOLID_SPLASH` |Disables `LED_MATRIX_SOLID_SPLASH` |
|`#define DISABLE_LED_MATRIX_SOLID_MULTISPLASH` |Disables `LED_MATRIX_SOLID_MULTISPLASH` |
|`#define DISABLE_LED_MATRIX_WAVE_LEFT_RIGHT` |Disables `LED_MATRIX_WAVE_LEFT_RIGHT` |
|`#define DISABLE_LED_MATRIX_WAVE_UP_DOWN` |Disables `LED_MATRIX_WAVE_UP_DOWN` |
|`#define ENABLE_LED_MATRIX_ALPHAS_MODS` |Enables `LED_MATRIX_ALPHAS_MODS` |
|`#define ENABLE_LED_MATRIX_BREATHING` |Enables `LED_MATRIX_BREATHING` |
|`#define ENABLE_LED_MATRIX_BAND` |Enables `LED_MATRIX_BAND` |
|`#define ENABLE_LED_MATRIX_BAND_PINWHEEL` |Enables `LED_MATRIX_BAND_PINWHEEL` |
|`#define ENABLE_LED_MATRIX_BAND_SPIRAL` |Enables `LED_MATRIX_BAND_SPIRAL` |
|`#define ENABLE_LED_MATRIX_CYCLE_LEFT_RIGHT` |Enables `LED_MATRIX_CYCLE_LEFT_RIGHT` |
|`#define ENABLE_LED_MATRIX_CYCLE_UP_DOWN` |Enables `LED_MATRIX_CYCLE_UP_DOWN` |
|`#define ENABLE_LED_MATRIX_CYCLE_OUT_IN` |Enables `LED_MATRIX_CYCLE_OUT_IN` |
|`#define ENABLE_LED_MATRIX_DUAL_BEACON` |Enables `LED_MATRIX_DUAL_BEACON` |
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE` |Enables `LED_MATRIX_SOLID_REACTIVE_SIMPLE` |
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE` |Enables `LED_MATRIX_SOLID_REACTIVE_WIDE` |
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE` |Enables `LED_MATRIX_SOLID_REACTIVE_MULTIWIDE` |
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS` |Enables `LED_MATRIX_SOLID_REACTIVE_CROSS` |
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS` |Enables `LED_MATRIX_SOLID_REACTIVE_MULTICROSS`|
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS` |Enables `LED_MATRIX_SOLID_REACTIVE_NEXUS` |
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS` |Enables `LED_MATRIX_SOLID_REACTIVE_MULTINEXUS`|
|`#define ENABLE_LED_MATRIX_SOLID_SPLASH` |Enables `LED_MATRIX_SOLID_SPLASH` |
|`#define ENABLE_LED_MATRIX_SOLID_MULTISPLASH` |Enables `LED_MATRIX_SOLID_MULTISPLASH` |
|`#define ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT` |Enables `LED_MATRIX_WAVE_LEFT_RIGHT` |
|`#define ENABLE_LED_MATRIX_WAVE_UP_DOWN` |Enables `LED_MATRIX_WAVE_UP_DOWN` |
## Custom LED Matrix Effects :id=custom-led-matrix-effects
@@ -262,7 +262,7 @@ For inspiration and examples, check out the built-in effects under `quantum/led_
#define LED_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects
#define LED_DISABLE_TIMEOUT 0 // number of milliseconds to wait until led automatically turns off
#define LED_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects
#define LED_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
#define LED_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define LED_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#define LED_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define LED_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs
@@ -350,30 +350,3 @@ void led_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
LED_MATRIX_INDICATOR_SET_VALUE(index, value);
}
```
## Suspended State :id=suspended-state
To use the suspend feature, make sure that `#define LED_DISABLE_WHEN_USB_SUSPENDED true` is added to the `config.h` file.
Additionally add this to your `<keyboard>.c`:
```c
void suspend_power_down_kb(void) {
led_matrix_set_suspend_state(true);
suspend_power_down_user();
}
void suspend_wakeup_init_kb(void) {
led_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
```
or add this to your `keymap.c`:
```c
void suspend_power_down_user(void) {
led_matrix_set_suspend_state(true);
}
void suspend_wakeup_init_user(void) {
led_matrix_set_suspend_state(false);
}
```
+21 -3
View File
@@ -21,13 +21,23 @@ Hardware configurations using Arm-based microcontrollers or different sizes of O
To enable the OLED feature, there are three steps. First, when compiling your keyboard, you'll need to add the following to your `rules.mk`:
```make
OLED_DRIVER_ENABLE = yes
OLED_ENABLE = yes
```
## OLED type
|OLED Driver |Supported Device |
|-------------------|---------------------------|
|SSD1306 (default) |For both SSD1306 and SH1106|
e.g.
```make
OLED_DRIVER = SSD1306
```
Then in your `keymap.c` file, implement the OLED task call. This example assumes your keymap has three layers named `_QWERTY`, `_FN` and `_ADJ`:
```c
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
void oled_task_user(void) {
// Host Keyboard Layer Status
oled_write_P(PSTR("Layer: "), false);
@@ -114,7 +124,7 @@ static void fade_display(void) {
In split keyboards, it is very common to have two OLED displays that each render different content and are oriented or flipped differently. You can do this by switching which content to render by using the return value from `is_keyboard_master()` or `is_keyboard_left()` found in `split_util.h`, e.g:
```c
#ifdef OLED_DRIVER_ENABLE
#ifdef OLED_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
if (!is_keyboard_master()) {
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
@@ -346,6 +356,14 @@ bool oled_scroll_left(void);
// Returns true if the screen was not scrolling or stops scrolling
bool oled_scroll_off(void);
// Returns true if the oled is currently scrolling, false if it is
// not
bool is_oled_scrolling(void);
// Inverts the display
// Returns true if the screen was or is inverted
bool oled_invert(bool invert);
// Returns the maximum number of characters that will fit on a line
uint8_t oled_max_chars(void);
+36 -2
View File
@@ -50,7 +50,7 @@ In your keyboard config.h:
#endif
```
## Interrupt Version :id=interrupt-version
### Interrupt Version (AVR/ATMega32u4) :id=interrupt-version-avr
The following example uses D2 for clock and D5 for data. You can use any INT or PCINT pin for clock, and any pin for data.
@@ -88,7 +88,31 @@ In your keyboard config.h:
#endif
```
## USART Version :id=usart-version
### Interrupt Version (ARM chibios) :id=interrupt-version-chibios
Pretty much any two pins can be used for the (software) interrupt variant on ARM cores. The example below uses A8 for clock, and A9 for data.
In rules.mk:
```
PS2_MOUSE_ENABLE = yes
PS2_USE_INT = yes
```
In your keyboard config.h:
```c
#define PS2_CLOCK A8
#define PS2_DATA A9
```
And in the chibios specifig halconf.h:
```c
#define PAL_USE_CALLBACKS TRUE
```
### USART Version :id=usart-version
To use USART on the ATMega32u4, you have to use PD5 for clock and PD2 for data. If one of those are unavailable, you need to use interrupt version.
@@ -246,6 +270,16 @@ Fine control over the scrolling is supported with the following defines:
#define PS2_MOUSE_SCROLL_DIVISOR_V 2
```
### Invert Mouse buttons :id=invert-buttons
To invert the left & right buttons you can put:
```c
#define PS2_MOUSE_INVERT_BUTTONS
```
into config.h.
### Invert Mouse and Scroll Axes :id=invert-mouse-and-scroll-axes
To invert the X and Y axes you can put:
+220 -90
View File
@@ -52,7 +52,7 @@ Here is an example using 2 drivers.
Define these arrays listing all the LEDs in your `<keyboard>.c`:
```c
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -64,7 +64,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
}
```
Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/issi/is31fl3731.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3`).
Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/led/issi/is31fl3731.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3`).
---
### IS31FL3733 :id=is31fl3733
@@ -122,7 +122,7 @@ Currently only 4 drivers are supported, but it would be trivial to support all 8
Define these arrays listing all the LEDs in your `<keyboard>.c`:
```c
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -134,7 +134,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
}
```
Where `X_Y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3733.pdf) and the header file `drivers/issi/is31fl3733.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` for now).
Where `X_Y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3733.pdf) and the header file `drivers/led/issi/is31fl3733.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` for now).
---
### IS31FL3737 :id=is31fl3737
@@ -145,9 +145,22 @@ There is basic support for addressable RGB matrix lighting with the I2C IS31FL37
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = IS31FL3737
```
You can use between 1 and 2 IS31FL3737 IC's. Do not specify `DRIVER_ADDR_2` define for second IC if not present on your keyboard.
Configure the hardware via your `config.h`:
| Variable | Description | Default |
|----------|-------------|---------|
| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | |
| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | |
| `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | |
| `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | |
Here is an example using 2 drivers.
```c
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
@@ -159,19 +172,21 @@ Configure the hardware via your `config.h`:
// ADDR represents A3:A0 of the 7-bit address.
// The result is: 0b101(ADDR)
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_ADDR_2 0b1010001
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 64
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#define DRIVER_1_LED_TOTAL 30
#define DRIVER_2_LED_TOTAL 36
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
```
!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
Currently only a single drivers is supported, but it would be trivial to support all 4 combinations. For now define `DRIVER_ADDR_2` as `DRIVER_ADDR_1`
Currently only 2 drivers are supported, but it would be trivial to support all 4 combinations.
Define these arrays listing all the LEDs in your `<keyboard>.c`:
```c
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -183,7 +198,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
}
```
Where `X_Y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3737.pdf) and the header file `drivers/issi/is31fl3737.h`. The `driver` is the index of the driver you defined in your `config.h` (Only `0` right now).
Where `X_Y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3737.pdf) and the header file `drivers/led/issi/is31fl3737.h`. The `driver` is the index of the driver you defined in your `config.h` (Only `0`, `1` for now).
---
@@ -227,6 +242,75 @@ Configure the hardware via your `config.h`:
#define DRIVER_LED_TOTAL 70
```
---
### AW20216 :id=aw20216
There is basic support for addressable RGB matrix lighting with the SPI AW20216 RGB controller. To enable it, add this to your `rules.mk`:
```makefile
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = AW20216
```
You can use up to 2 AW20216 IC's. Do not specify `DRIVER_<N>_xxx` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`:
| Variable | Description | Default |
|----------|-------------|---------|
| `DRIVER_1_CS` | (Required) MCU pin connected to first RGB driver chip select line | B13 |
| `DRIVER_2_CS` | (Optional) MCU pin connected to second RGB driver chip select line | |
| `DRIVER_1_EN` | (Required) MCU pin connected to first RGB driver hardware enable line | C13 |
| `DRIVER_2_EN` | (Optional) MCU pin connected to second RGB driver hardware enable line | |
| `DRIVER_1_LED_TOTAL` | (Required) How many RGB lights are connected to first RGB driver | |
| `DRIVER_2_LED_TOTAL` | (Optional) How many RGB lights are connected to second RGB driver | |
| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | |
| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | |
| `AW_SCALING_MAX` | (Optional) LED current scaling value (0-255, higher values mean LED is brighter at full PWM) | 150 |
| `AW_GLOBAL_CURRENT_MAX` | (Optional) Driver global current limit (0-255, higher values means the driver may consume more power) | 150 |
| `AW_SPI_DIVISOR` | (Optional) Clock divisor for SPI communication (powers of 2, smaller numbers means faster communication, should not be less than 4) | 4 |
Here is an example using 2 drivers.
```c
#define DRIVER_1_CS B13
#define DRIVER_2_CS B14
// Hardware enable lines may be connected to the same pin
#define DRIVER_1_EN C13
#define DRIVER_2_EN C13
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 32
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
```
!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
Define these arrays listing all the LEDs in your `<keyboard>.c`:
```c
const aw_led __flash g_aw_leds[DRIVER_LED_TOTAL] = {
/* Each AW20216 channel is controlled by a register at some offset between 0x00
* and 0xD7 inclusive.
* See drivers/awinic/aw20216.h for the mapping between register offsets and
* driver pin locations.
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{ 0, CS1_SW1, CS2_SW1, CS3_SW1 },
{ 0, CS4_SW1, CS5_SW1, CS6_SW1 },
{ 0, CS7_SW1, CS8_SW1, CS9_SW1 },
{ 0, CS10_SW1, CS11_SW1, CS12_SW1 },
{ 0, CS13_SW1, CS14_SW1, CS15_SW1 },
...
{ 1, CS1_SW1, CS2_SW1, CS3_SW1 },
{ 1, CS13_SW1, CS14_SW1, CS15_SW1 },
{ 1, CS16_SW1, CS17_SW1, CS18_SW1 },
{ 1, CS4_SW2, CS5_SW2, CS6_SW2 },
...
};
```
---
## Common Configuration :id=common-configuration
@@ -364,46 +448,46 @@ You can disable a single effect by defining `DISABLE_[EFFECT_NAME]` in your `con
|Define |Description |
|-------------------------------------------------------|-----------------------------------------------|
|`#define DISABLE_RGB_MATRIX_ALPHAS_MODS` |Disables `RGB_MATRIX_ALPHAS_MODS` |
|`#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN` |Disables `RGB_MATRIX_GRADIENT_UP_DOWN` |
|`#define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT` |Disables `MATRIX_GRADIENT_LEFT_RIGHT` |
|`#define DISABLE_RGB_MATRIX_BREATHING` |Disables `RGB_MATRIX_BREATHING` |
|`#define DISABLE_RGB_MATRIX_BAND_SAT` |Disables `RGB_MATRIX_BAND_SAT` |
|`#define DISABLE_RGB_MATRIX_BAND_VAL` |Disables `RGB_MATRIX_BAND_VAL` |
|`#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT` |Disables `RGB_MATRIX_BAND_PINWHEEL_SAT` |
|`#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL` |Disables `RGB_MATRIX_BAND_PINWHEEL_VAL` |
|`#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT` |Disables `RGB_MATRIX_BAND_SPIRAL_SAT` |
|`#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL` |Disables `RGB_MATRIX_BAND_SPIRAL_VAL` |
|`#define DISABLE_RGB_MATRIX_CYCLE_ALL` |Disables `RGB_MATRIX_CYCLE_ALL` |
|`#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT` |Disables `RGB_MATRIX_CYCLE_LEFT_RIGHT` |
|`#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN` |Disables `RGB_MATRIX_CYCLE_UP_DOWN` |
|`#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON` |Disables `RGB_MATRIX_RAINBOW_MOVING_CHEVRON` |
|`#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN` |Disables `RGB_MATRIX_CYCLE_OUT_IN` |
|`#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL` |Disables `RGB_MATRIX_CYCLE_OUT_IN_DUAL` |
|`#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL` |Disables `RGB_MATRIX_CYCLE_PINWHEEL` |
|`#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL` |Disables `RGB_MATRIX_CYCLE_SPIRAL` |
|`#define DISABLE_RGB_MATRIX_DUAL_BEACON` |Disables `RGB_MATRIX_DUAL_BEACON` |
|`#define DISABLE_RGB_MATRIX_RAINBOW_BEACON` |Disables `RGB_MATRIX_RAINBOW_BEACON` |
|`#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS` |Disables `RGB_MATRIX_RAINBOW_PINWHEELS` |
|`#define DISABLE_RGB_MATRIX_RAINDROPS` |Disables `RGB_MATRIX_RAINDROPS` |
|`#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS` |Disables `RGB_MATRIX_JELLYBEAN_RAINDROPS` |
|`#define DISABLE_RGB_MATRIX_HUE_BREATHING` |Disables `RGB_MATRIX_HUE_BREATHING` |
|`#define DISABLE_RGB_MATRIX_HUE_PENDULUM` |Disables `RGB_MATRIX_HUE_PENDULUM` |
|`#define DISABLE_RGB_MATRIX_HUE_WAVE ` |Disables `RGB_MATRIX_HUE_WAVE ` |
|`#define DISABLE_RGB_MATRIX_TYPING_HEATMAP` |Disables `RGB_MATRIX_TYPING_HEATMAP` |
|`#define DISABLE_RGB_MATRIX_DIGITAL_RAIN` |Disables `RGB_MATRIX_DIGITAL_RAIN` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE` |Disables `RGB_MATRIX_SOLID_REACTIVE_SIMPLE` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE` |Disables `RGB_MATRIX_SOLID_REACTIVE` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE` |Disables `RGB_MATRIX_SOLID_REACTIVE_WIDE` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE` |Disables `RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS` |Disables `RGB_MATRIX_SOLID_REACTIVE_CROSS` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS` |Disables `RGB_MATRIX_SOLID_REACTIVE_MULTICROSS`|
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS` |Disables `RGB_MATRIX_SOLID_REACTIVE_NEXUS` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS` |Disables `RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS`|
|`#define DISABLE_RGB_MATRIX_SPLASH` |Disables `RGB_MATRIX_SPLASH` |
|`#define DISABLE_RGB_MATRIX_MULTISPLASH` |Disables `RGB_MATRIX_MULTISPLASH` |
|`#define DISABLE_RGB_MATRIX_SOLID_SPLASH` |Disables `RGB_MATRIX_SOLID_SPLASH` |
|`#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH` |Disables `RGB_MATRIX_SOLID_MULTISPLASH` |
|`#define ENABLE_RGB_MATRIX_ALPHAS_MODS` |Enables `RGB_MATRIX_ALPHAS_MODS` |
|`#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN` |Enables `RGB_MATRIX_GRADIENT_UP_DOWN` |
|`#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT` |Enables `MATRIX_GRADIENT_LEFT_RIGHT` |
|`#define ENABLE_RGB_MATRIX_BREATHING` |Enables `RGB_MATRIX_BREATHING` |
|`#define ENABLE_RGB_MATRIX_BAND_SAT` |Enables `RGB_MATRIX_BAND_SAT` |
|`#define ENABLE_RGB_MATRIX_BAND_VAL` |Enables `RGB_MATRIX_BAND_VAL` |
|`#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT` |Enables `RGB_MATRIX_BAND_PINWHEEL_SAT` |
|`#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL` |Enables `RGB_MATRIX_BAND_PINWHEEL_VAL` |
|`#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT` |Enables `RGB_MATRIX_BAND_SPIRAL_SAT` |
|`#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL` |Enables `RGB_MATRIX_BAND_SPIRAL_VAL` |
|`#define ENABLE_RGB_MATRIX_CYCLE_ALL` |Enables `RGB_MATRIX_CYCLE_ALL` |
|`#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT` |Enables `RGB_MATRIX_CYCLE_LEFT_RIGHT` |
|`#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN` |Enables `RGB_MATRIX_CYCLE_UP_DOWN` |
|`#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON` |Enables `RGB_MATRIX_RAINBOW_MOVING_CHEVRON` |
|`#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN` |Enables `RGB_MATRIX_CYCLE_OUT_IN` |
|`#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL` |Enables `RGB_MATRIX_CYCLE_OUT_IN_DUAL` |
|`#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL` |Enables `RGB_MATRIX_CYCLE_PINWHEEL` |
|`#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL` |Enables `RGB_MATRIX_CYCLE_SPIRAL` |
|`#define ENABLE_RGB_MATRIX_DUAL_BEACON` |Enables `RGB_MATRIX_DUAL_BEACON` |
|`#define ENABLE_RGB_MATRIX_RAINBOW_BEACON` |Enables `RGB_MATRIX_RAINBOW_BEACON` |
|`#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS` |Enables `RGB_MATRIX_RAINBOW_PINWHEELS` |
|`#define ENABLE_RGB_MATRIX_RAINDROPS` |Enables `RGB_MATRIX_RAINDROPS` |
|`#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS` |Enables `RGB_MATRIX_JELLYBEAN_RAINDROPS` |
|`#define ENABLE_RGB_MATRIX_HUE_BREATHING` |Enables `RGB_MATRIX_HUE_BREATHING` |
|`#define ENABLE_RGB_MATRIX_HUE_PENDULUM` |Enables `RGB_MATRIX_HUE_PENDULUM` |
|`#define ENABLE_RGB_MATRIX_HUE_WAVE ` |Enables `RGB_MATRIX_HUE_WAVE ` |
|`#define ENABLE_RGB_MATRIX_TYPING_HEATMAP` |Enables `RGB_MATRIX_TYPING_HEATMAP` |
|`#define ENABLE_RGB_MATRIX_DIGITAL_RAIN` |Enables `RGB_MATRIX_DIGITAL_RAIN` |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE` |Enables `RGB_MATRIX_SOLID_REACTIVE_SIMPLE` |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE` |Enables `RGB_MATRIX_SOLID_REACTIVE` |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE` |Enables `RGB_MATRIX_SOLID_REACTIVE_WIDE` |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE` |Enables `RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE` |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS` |Enables `RGB_MATRIX_SOLID_REACTIVE_CROSS` |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS` |Enables `RGB_MATRIX_SOLID_REACTIVE_MULTICROSS`|
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS` |Enables `RGB_MATRIX_SOLID_REACTIVE_NEXUS` |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS` |Enables `RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS`|
|`#define ENABLE_RGB_MATRIX_SPLASH` |Enables `RGB_MATRIX_SPLASH` |
|`#define ENABLE_RGB_MATRIX_MULTISPLASH` |Enables `RGB_MATRIX_MULTISPLASH` |
|`#define ENABLE_RGB_MATRIX_SOLID_SPLASH` |Enables `RGB_MATRIX_SOLID_SPLASH` |
|`#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH` |Enables `RGB_MATRIX_SOLID_MULTISPLASH` |
### RGB Matrix Effect Typing Heatmap :id=rgb-matrix-effect-typing-heatmap
@@ -485,28 +569,29 @@ For inspiration and examples, check out the built-in effects under `quantum/rgb_
These are shorthands to popular colors. The `RGB` ones can be passed to the `setrgb` functions, while the `HSV` ones to the `sethsv` functions.
|RGB |HSV |
|-------------------|-------------------|
|`RGB_WHITE` |`HSV_WHITE` |
|`RGB_RED` |`HSV_RED` |
|`RGB_CORAL` |`HSV_CORAL` |
|`RGB_ORANGE` |`HSV_ORANGE` |
|`RGB_GOLDENROD` |`HSV_GOLDENROD` |
|`RGB_GOLD` |`HSV_GOLD` |
|`RGB_YELLOW` |`HSV_YELLOW` |
|`RGB_CHARTREUSE` |`HSV_CHARTREUSE` |
|`RGB_GREEN` |`HSV_GREEN` |
|`RGB_SPRINGGREEN` |`HSV_SPRINGGREEN` |
|`RGB_TURQUOISE` |`HSV_TURQUOISE` |
|`RGB_TEAL` |`HSV_TEAL` |
|`RGB_CYAN` |`HSV_CYAN` |
|`RGB_AZURE` |`HSV_AZURE` |
|`RGB_BLUE` |`HSV_BLUE` |
|`RGB_PURPLE` |`HSV_PURPLE` |
|`RGB_MAGENTA` |`HSV_MAGENTA` |
|`RGB_PINK` |`HSV_PINK` |
|RGB |HSV |
|---------------------|---------------------|
|`RGB_AZURE` |`HSV_AZURE` |
|`RGB_BLACK`/`RGB_OFF`|`HSV_BLACK`/`HSV_OFF`|
|`RGB_BLUE` |`HSV_BLUE` |
|`RGB_CHARTREUSE` |`HSV_CHARTREUSE` |
|`RGB_CORAL` |`HSV_CORAL` |
|`RGB_CYAN` |`HSV_CYAN` |
|`RGB_GOLD` |`HSV_GOLD` |
|`RGB_GOLDENROD` |`HSV_GOLDENROD` |
|`RGB_GREEN` |`HSV_GREEN` |
|`RGB_MAGENTA` |`HSV_MAGENTA` |
|`RGB_ORANGE` |`HSV_ORANGE` |
|`RGB_PINK` |`HSV_PINK` |
|`RGB_PURPLE` |`HSV_PURPLE` |
|`RGB_RED` |`HSV_RED` |
|`RGB_SPRINGGREEN` |`HSV_SPRINGGREEN` |
|`RGB_TEAL` |`HSV_TEAL` |
|`RGB_TURQUOISE` |`HSV_TURQUOISE` |
|`RGB_WHITE` |`HSV_WHITE` |
|`RGB_YELLOW` |`HSV_YELLOW` |
These are defined in [`rgblight_list.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h). Feel free to add to this list!
These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/color.h). Feel free to add to this list!
## Additional `config.h` Options :id=additional-configh-options
@@ -624,29 +709,74 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
}
```
### Suspended state :id=suspended-state
To use the suspend feature, make sure that `#define RGB_DISABLE_WHEN_USB_SUSPENDED true` is added to the `config.h` file.
Additionally add this to your `<keyboard>.c`:
### Indicator Examples :id=indicator-examples
Caps Lock indicator on alphanumeric flagged keys:
```c
void suspend_power_down_kb(void) {
rgb_matrix_set_suspend_state(true);
suspend_power_down_user();
}
void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
if (host_keyboard_led_state().caps_lock) {
for (uint8_t i = led_min; i <= led_max; i++) {
if (g_led_config.flags[i] & LED_FLAG_KEYLIGHT) {
rgb_matrix_set_color(i, RGB_RED);
}
}
}
}
```
or add this to your `keymap.c`:
```c
void suspend_power_down_user(void) {
rgb_matrix_set_suspend_state(true);
}
void suspend_wakeup_init_user(void) {
rgb_matrix_set_suspend_state(false);
Layer indicator on all flagged keys:
```c
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
for (uint8_t i = led_min; i <= led_max; i++) {
switch(get_highest_layer(layer_state|default_layer_state)) {
case RAISE:
rgb_matrix_set_color(i, RGB_BLUE);
break;
case LOWER:
rgb_matrix_set_color(i, RGB_YELLOW);
break;
default:
break;
}
}
}
```
#### Examples :id=indicator-examples
This example sets the modifiers to be a specific color based on the layer state. You can use a switch case here, instead, if you would like. This uses HSV and then converts to RGB, because this allows the brightness to be limited (important when using the WS2812 driver).
```c
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
HSV hsv = {0, 255, 255};
if (layer_state_is(layer_state, 2)) {
hsv = {130, 255, 255};
} else {
hsv = {30, 255, 255};
}
if (hsv.v > rgb_matrix_get_val()) {
hsv.v = rgb_matrix_get_val();
}
RGB rgb = hsv_to_rgb(hsv);
for (uint8_t i = led_min; i <= led_max; i++) {
if (HAS_FLAGS(g_led_config.flags[i], 0x01)) { // 0x01 == LED_FLAG_MODIFIER
rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
}
}
}
```
If you want to indicate a Host LED status (caps lock, num lock, etc), you can use something like this to light up the caps lock key:
```c
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
if (host_keyboard_led_state().caps_lock) {
RGB_MATRIX_INDICATOR_SET_COLOR(5, 255, 255, 255); // assuming caps lock is at led #5
} else {
RGB_MATRIX_INDICATOR_SET_COLOR(5, 0, 0, 0);
}
}
```
+28 -23
View File
@@ -119,7 +119,7 @@ if `RGBLIGHT_EFFECT_xxxx` or `RGBLIGHT_ANIMATIONS` is defined, you also have a n
Check out [this video](https://youtube.com/watch?v=VKrpPAHlisY) for a demonstration.
Note: For versions older than 0.6.117, The mode numbers were written directly. In `quantum/rgblight.h` there is a contrast table between the old mode number and the current symbol.
Note: For versions older than 0.6.117, The mode numbers were written directly. In `quantum/rgblight/rgblight.h` there is a contrast table between the old mode number and the current symbol.
### Effect and Animation Toggles
@@ -326,9 +326,13 @@ would turn the layer 0 (or 1) on and off again three times when `DEBUG` is press
Normally lighting layers are not shown when RGB Lighting is disabled (e.g. with `RGB_TOG` keycode). If you would like lighting layers to work even when the RGB Lighting is otherwise off, add `#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF` to your `config.h`.
### Retain brightness
Usually lighting layers apply their configured brightness once activated. If you would like lighting layers to retain the currently used brightness (as returned by `rgblight_get_val()`), add `#define RGBLIGHT_LAYERS_RETAIN_VAL` to your `config.h`.
## Functions
If you need to change your RGB lighting in code, for example in a macro to change the color whenever you switch layers, QMK provides a set of functions to assist you. See [`rgblight.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight.h) for the full list, but the most commonly used functions include:
If you need to change your RGB lighting in code, for example in a macro to change the color whenever you switch layers, QMK provides a set of functions to assist you. See [`rgblight.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight/rgblight.h) for the full list, but the most commonly used functions include:
### Utility Functions
|Function |Description |
@@ -449,26 +453,27 @@ rgblight_sethsv_at(HSV_GREEN, 2); // led 2
These are shorthands to popular colors. The `RGB` ones can be passed to the `setrgb` functions, while the `HSV` ones to the `sethsv` functions.
|RGB |HSV |
|-------------------|-------------------|
|`RGB_WHITE` |`HSV_WHITE` |
|`RGB_RED` |`HSV_RED` |
|`RGB_CORAL` |`HSV_CORAL` |
|`RGB_ORANGE` |`HSV_ORANGE` |
|`RGB_GOLDENROD` |`HSV_GOLDENROD` |
|`RGB_GOLD` |`HSV_GOLD` |
|`RGB_YELLOW` |`HSV_YELLOW` |
|`RGB_CHARTREUSE` |`HSV_CHARTREUSE` |
|`RGB_GREEN` |`HSV_GREEN` |
|`RGB_SPRINGGREEN` |`HSV_SPRINGGREEN` |
|`RGB_TURQUOISE` |`HSV_TURQUOISE` |
|`RGB_TEAL` |`HSV_TEAL` |
|`RGB_CYAN` |`HSV_CYAN` |
|`RGB_AZURE` |`HSV_AZURE` |
|`RGB_BLUE` |`HSV_BLUE` |
|`RGB_PURPLE` |`HSV_PURPLE` |
|`RGB_MAGENTA` |`HSV_MAGENTA` |
|`RGB_PINK` |`HSV_PINK` |
|RGB |HSV |
|---------------------|---------------------|
|`RGB_AZURE` |`HSV_AZURE` |
|`RGB_BLACK`/`RGB_OFF`|`HSV_BLACK`/`HSV_OFF`|
|`RGB_BLUE` |`HSV_BLUE` |
|`RGB_CHARTREUSE` |`HSV_CHARTREUSE` |
|`RGB_CORAL` |`HSV_CORAL` |
|`RGB_CYAN` |`HSV_CYAN` |
|`RGB_GOLD` |`HSV_GOLD` |
|`RGB_GOLDENROD` |`HSV_GOLDENROD` |
|`RGB_GREEN` |`HSV_GREEN` |
|`RGB_MAGENTA` |`HSV_MAGENTA` |
|`RGB_ORANGE` |`HSV_ORANGE` |
|`RGB_PINK` |`HSV_PINK` |
|`RGB_PURPLE` |`HSV_PURPLE` |
|`RGB_RED` |`HSV_RED` |
|`RGB_SPRINGGREEN` |`HSV_SPRINGGREEN` |
|`RGB_TEAL` |`HSV_TEAL` |
|`RGB_TURQUOISE` |`HSV_TURQUOISE` |
|`RGB_WHITE` |`HSV_WHITE` |
|`RGB_YELLOW` |`HSV_YELLOW` |
```c
rgblight_setrgb(RGB_ORANGE);
@@ -477,7 +482,7 @@ rgblight_setrgb_at(RGB_GOLD, 3);
rgblight_sethsv_range(HSV_WHITE, 0, 6);
```
These are defined in [`rgblight_list.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h). Feel free to add to this list!
These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/color.h). Feel free to add to this list!
## Changing the order of the LEDs
+139 -11
View File
@@ -8,8 +8,7 @@ QMK Firmware has a generic implementation that is usable by any board, as well a
For this, we will mostly be talking about the generic implementation used by the Let's Split and other keyboards.
!> ARM is not yet fully supported for Split Keyboards and has many limitations. Progress is being made, but we have not yet reached 100% feature parity.
!> ARM split supports most QMK subsystems when using the 'serial' and 'serial_usart' drivers. I2C slave is currently unsupported.
## Compatibility Overview
@@ -90,7 +89,13 @@ You can configure the firmware to read a pin on the controller to determine hand
#define SPLIT_HAND_PIN B7
```
This will read the specified pin. If it's high, then the controller assumes it is the left hand, and if it's low, it's assumed to be the right side.
This will read the specified pin. By default, if it's high, then the controller assumes it is the left hand, and if it's low, it's assumed to be the right side.
This behaviour can be flipped by adding this to you `config.h` file:
```c
#define SPLIT_HAND_PIN_LOW_IS_LEFT
```
#### Handedness by Matrix Pin
@@ -169,7 +174,7 @@ Because not every split keyboard is identical, there are a number of additional
#define USE_I2C
```
This enables I<sup>2</sup>C support for split keyboards. This isn't strictly for communication, but can be used for OLED or other I<sup>2</sup>C-based devices.
This configures the use of I<sup>2</sup>C support for split keyboard transport (AVR only).
```c
#define SOFT_SERIAL_PIN D0
@@ -193,20 +198,143 @@ If you're having issues with serial communication, you can change this value, as
* **`5`**: about 20kbps
```c
#define SPLIT_MODS_ENABLE
#define FORCED_SYNC_THROTTLE_MS 100
```
This enables transmitting modifier state (normal, weak and oneshot) to the non
primary side of the split keyboard. This adds a few bytes of data to the split
communication protocol and may impact the matrix scan speed when enabled.
The purpose of this feature is to support cosmetic use of modifer state (e.g.
displaying status on an OLED screen).
This sets the maximum number of milliseconds before forcing a synchronization of data from master to slave. Under normal circumstances this sync occurs whenever the data _changes_, for safety a data transfer occurs after this number of milliseconds if no change has been detected since the last sync.
```c
#define SPLIT_MAX_CONNECTION_ERRORS 10
```
This sets the maximum number of failed communication attempts (one per scan cycle) from the master part before it assumes that no slave part is connected. This makes it possible to use a master part without the slave part connected.
Set to 0 to disable the disconnection check altogether.
```c
#define SPLIT_CONNECTION_CHECK_TIMEOUT 500
```
How long (in milliseconds) the master part should block all connection attempts to the slave after the communication has been flagged as disconnected (see `SPLIT_MAX_CONNECTION_ERRORS` above).
One communication attempt will be allowed everytime this amount of time has passed since the last attempt. If that attempt succeeds, the communication is seen as working again.
Set to 0 to disable this throttling of communications while disconnected. This can save you a couple of bytes of firmware size.
```c
#define SPLIT_TRANSPORT_MIRROR
```
This mirrors the master side matrix to the slave side for features that react or require knowledge of master side key presses on the slave side. This adds a few bytes of data to the split communication protocol and may impact the matrix scan speed when enabled. The purpose of this feature is to support cosmetic use of key events (e.g. RGB reacting to Keypresses).
This mirrors the master side matrix to the slave side for features that react or require knowledge of master side key presses on the slave side. The purpose of this feature is to support cosmetic use of key events (e.g. RGB reacting to keypresses). This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled.
```c
#define SPLIT_LAYER_STATE_ENABLE
```
This enables syncing of the layer state between both halves of the split keyboard. The main purpose of this feature is to enable support for use of things like OLED display of the currently active layer. This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled.
```c
#define SPLIT_LED_STATE_ENABLE
```
This enables syncing of the Host LED status (caps lock, num lock, etc) between both halves of the split keyboard. The main purpose of this feature is to enable support for use of things like OLED display of the Host LED status. This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled.
```c
#define SPLIT_MODS_ENABLE
```
This enables transmitting modifier state (normal, weak and oneshot) to the non primary side of the split keyboard. The purpose of this feature is to support cosmetic use of modifer state (e.g. displaying status on an OLED screen). This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled.
```c
#define SPLIT_WPM_ENABLE
```
This enables transmitting the current WPM to the slave side of the split keyboard. The purpose of this feature is to support cosmetic use of WPM (e.g. displaying the current value on an OLED screen). This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled.
```c
#define SPLIT_OLED_ENABLE
```
This enables transmitting the current OLED on/off status to the slave side of the split keyboard. The purpose of this feature is to support state (on/off state only) syncing. This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled.
```c
#define SPLIT_ST7565_ENABLE
```
This enables transmitting the current ST7565 on/off status to the slave side of the split keyboard. The purpose of this feature is to support state (on/off state only) syncing. This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled.
### Custom data sync between sides :id=custom-data-sync
QMK's split transport allows for arbitrary data transactions at both the keyboard and user levels. This is modelled on a remote procedure call, with the master invoking a function on the slave side, with the ability to send data from master to slave, process it slave side, and send data back from slave to master.
To leverage this, a keyboard or user/keymap can define a comma-separated list of _transaction IDs_:
```c
// for keyboard-level data sync:
#define SPLIT_TRANSACTION_IDS_KB KEYBOARD_SYNC_A, KEYBOARD_SYNC_B
// or, for user:
#define SPLIT_TRANSACTION_IDS_USER USER_SYNC_A, USER_SYNC_B, USER_SYNC_C
```
These _transaction IDs_ then need a slave-side handler function to be registered with the split transport, for example:
```c
typedef struct _master_to_slave_t {
int m2s_data;
} master_to_slave_t;
typedef struct _slave_to_master_t {
int s2m_data;
} slave_to_master_t;
void user_sync_a_slave_handler(uint8_t in_buflen, const void* in_data, uint8_t out_buflen, void* out_data) {
const master_to_slave_t *m2s = (const master_to_slave_t*)in_data;
slave_to_master_t *s2m = (slave_to_master_t*)out_data;
s2m->s2m_data = m2s->m2s_data + 5; // whatever comes in, add 5 so it can be sent back
}
void keyboard_post_init_user(void) {
transaction_register_rpc(USER_SYNC_A, user_sync_a_slave_handler);
}
```
The master side can then invoke the slave-side handler - for normal keyboard functionality to be minimally affected, any keyboard- or user-level code attempting to sync data should be throttled:
```c
void housekeeping_task_user(void) {
if (is_keyboard_master()) {
// Interact with slave every 500ms
static uint32_t last_sync = 0;
if (timer_elapsed32(last_sync) > 500) {
master_to_slave_t m2s = {6};
slave_to_master_t s2m = {0};
if(transaction_rpc_exec(USER_SYNC_A, sizeof(m2s), &m2s, sizeof(s2m), &s2m)) {
last_sync = timer_read32();
dprintf("Slave value: %d\n", s2m.s2m_data); // this will now be 11, as the slave adds 5
} else {
dprint("Slave sync failed!\n");
}
}
}
}
```
!> It is recommended that any data sync between halves happens during the master side's _housekeeping task_. This ensures timely retries should failures occur.
If only one-way data transfer is needed, helper methods are provided:
```c
bool transaction_rpc_exec(int8_t transaction_id, uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer);
bool transaction_rpc_send(int8_t transaction_id, uint8_t initiator2target_buffer_size, const void *initiator2target_buffer);
bool transaction_rpc_recv(int8_t transaction_id, uint8_t target2initiator_buffer_size, void *target2initiator_buffer);
```
By default, the inbound and outbound data is limited to a maximum of 32 bytes each. The sizes can be altered if required:
```c
// Master to slave:
#define RPC_M2S_BUFFER_SIZE 48
// Slave to master:
#define RPC_S2M_BUFFER_SIZE 48
```
### Hardware Configuration Options
+274
View File
@@ -0,0 +1,274 @@
# ST7565 LCD Driver
## Supported Hardware
LCD modules using ST7565 driver IC, communicating over SPI.
|Module |IC |Size |Notes |
|------------------------------|-------|------|----------------------------------------------------------|
|Newhaven Display NHD-C12832A1Z|ST7565R|128x32|Used by Ergodox Infinity; primary consumer of this feature|
|Zolentech ZLE12864B |ST7565P|128x64|Requires contrast adjustment |
## Usage
To enable the feature, there are three steps. First, when compiling your keyboard, you'll need to add the following to your `rules.mk`:
```make
ST7565_ENABLE = yes
```
Then in your `keymap.c` file, implement the ST7565 task call. This example assumes your keymap has three layers named `_QWERTY`, `_FN` and `_ADJ`:
```c
#ifdef ST7565_ENABLE
void st7565_task_user(void) {
// Host Keyboard Layer Status
st7565_write_P(PSTR("Layer: "), false);
switch (get_highest_layer(layer_state)) {
case _QWERTY:
st7565_write_P(PSTR("Default\n"), false);
break;
case _FN:
st7565_write_P(PSTR("FN\n"), false);
break;
case _ADJ:
st7565_write_P(PSTR("ADJ\n"), false);
break;
default:
// Or use the write_ln shortcut over adding '\n' to the end of your string
st7565_write_ln_P(PSTR("Undefined"), false);
}
// Host Keyboard LED Status
led_t led_state = host_keyboard_led_state();
st7565_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
st7565_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
st7565_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
}
#endif
```
## Logo Example
In the default font, certain ranges of characters are reserved for a QMK logo. To render this logo to the screen, use the following code example:
```c
static void render_logo(void) {
static const char PROGMEM qmk_logo[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
};
st7565_write_P(qmk_logo, false);
}
```
## Buffer Read Example
For some purposes, you may need to read the current state of the display buffer. The `st7565_read_raw` function can be used to safely read bytes from the buffer.
In this example, calling `fade_display` in the `st7565_task_user` function will slowly fade away whatever is on the screen by turning random pixels off over time.
```c
//Setup some mask which can be or'd with bytes to turn off pixels
const uint8_t single_bit_masks[8] = {127, 191, 223, 239, 247, 251, 253, 254};
static void fade_display(void) {
//Define the reader structure
display_buffer_reader_t reader;
uint8_t buff_char;
if (random() % 30 == 0) {
srand(timer_read());
// Fetch a pointer for the buffer byte at index 0. The return structure
// will have the pointer and the number of bytes remaining from this
// index position if we want to perform a sequential read by
// incrementing the buffer pointer
reader = st7565_read_raw(0);
//Loop over the remaining buffer and erase pixels as we go
for (uint16_t i = 0; i < reader.remaining_element_count; i++) {
//Get the actual byte in the buffer by dereferencing the pointer
buff_char = *reader.current_element;
if (buff_char != 0) {
st7565_write_raw_byte(buff_char & single_bit_masks[rand() % 8], i);
}
//increment the pointer to fetch a new byte during the next loop
reader.current_element++;
}
}
}
```
## Other Examples
In split keyboards, it is very common to have two displays that each render different content and are oriented or flipped differently. You can do this by switching which content to render by using the return value from `is_keyboard_master()` or `is_keyboard_left()` found in `split_util.h`, e.g:
```c
#ifdef ST7565_ENABLE
display_rotation_t st7565_init_user(display_rotation_t rotation) {
if (!is_keyboard_master()) {
return DISPLAY_ROTATION_180; // flips the display 180 degrees if offhand
}
return rotation;
}
void st7565_task_user(void) {
if (is_keyboard_master()) {
render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
} else {
render_logo(); // Renders a static logo
}
}
#endif
```
## Basic Configuration
|Define |Default |Description |
|------------------------|--------------|-----------------------------------------------------------------------------------------------------|
|`ST7565_A0_PIN` |*Not defined* |(Required) The GPIO connected to the display's A0 (data/command) pin |
|`ST7565_RST_PIN` |*Not defined* |(Required) The GPIO connected to the display's reset pin |
|`ST7565_SS_PIN` |*Not defined* |(Required) The GPIO connected to the display's slave select pin |
|`ST7565_SPI_CLK_DIVISOR`|`4` |The SPI clock divisor to use |
|`ST7565_FONT_H` |`"glcdfont.c"`|The font code file to use for custom fonts |
|`ST7565_FONT_START` |`0` |The starting character index for custom fonts |
|`ST7565_FONT_END` |`223` |The ending character index for custom fonts |
|`ST7565_FONT_WIDTH` |`6` |The font width |
|`ST7565_FONT_HEIGHT` |`8` |The font height (untested) |
|`ST7565_TIMEOUT` |`60000` |Turns off the screen after 60000ms of keyboard inactivity. Helps reduce burn-in. Set to 0 to disable.|
|`ST7565_COLUMN_OFFSET` |`0` |Shift output to the right this many pixels. |
|`ST7565_CONTRAST` |`32` |The default contrast level of the display, from 0 to 255. |
|`ST7565_UPDATE_INTERVAL`|`0` |Set the time interval for updating the display in ms. This will improve the matrix scan rate. |
## Custom sized displays
The default display size for this feature is 128x32 and all necessary defines are precalculated with that in mind.
|Define |Default |Description |
|-----------------------|----------|-----------------------------------------------------------------------------------------------------------|
|`ST7565_DISPLAY_WIDTH` |`128` |The width of the display. |
|`ST7565_DISPLAY_HEIGHT`|`32` |The height of the display. |
|`ST7565_MATRIX_SIZE` |`512` |The local buffer size to allocate.<br>`(ST7565_DISPLAY_HEIGHT / 8 * ST7565_DISPLAY_WIDTH)`. |
|`ST7565_BLOCK_TYPE` |`uint16_t`|The unsigned integer type to use for dirty rendering. |
|`ST7565_BLOCK_COUNT` |`16` |The number of blocks the display is divided into for dirty rendering.<br>`(sizeof(ST7565_BLOCK_TYPE) * 8)`.|
|`ST7565_BLOCK_SIZE` |`32` |The size of each block for dirty rendering<br>`(ST7565_MATRIX_SIZE / ST7565_BLOCK_COUNT)`. |
## API
```c
// Rotation enum values are flags
typedef enum {
DISPLAY_ROTATION_0,
DISPLAY_ROTATION_180
} display_rotation_t;
// Initialize the display, rotating the rendered output based on the define passed in.
// Returns true if the was initialized successfully
bool st7565_init(display_rotation_t rotation);
// Called at the start of st7565_init, weak function overridable by the user
// rotation - the value passed into st7565_init
// Return new display_rotation_t if you want to override default rotation
display_rotation_t st7565_init_user(display_rotation_t rotation);
// Clears the display buffer, resets cursor position to 0, and sets the buffer to dirty for rendering
void st7565_clear(void);
// Renders the dirty chunks of the buffer to display
void st7565_render(void);
// Moves cursor to character position indicated by column and line, wraps if out of bounds
// Max column denoted by 'st7565_max_chars()' and max lines by 'st7565_max_lines()' functions
void st7565_set_cursor(uint8_t col, uint8_t line);
// Advances the cursor to the next page, writing ' ' if true
// Wraps to the begining when out of bounds
void st7565_advance_page(bool clearPageRemainder);
// Moves the cursor forward 1 character length
// Advance page if there is not enough room for the next character
// Wraps to the begining when out of bounds
void st7565_advance_char(void);
// Writes a single character to the buffer at current cursor position
// Advances the cursor while writing, inverts the pixels if true
// Main handler that writes character data to the display buffer
void st7565_write_char(const char data, bool invert);
// Writes a string to the buffer at current cursor position
// Advances the cursor while writing, inverts the pixels if true
void st7565_write(const char *data, bool invert);
// Writes a string to the buffer at current cursor position
// Advances the cursor while writing, inverts the pixels if true
// Advances the cursor to the next page, wiring ' ' to the remainder of the current page
void st7565_write_ln(const char *data, bool invert);
// Pans the buffer to the right (or left by passing true) by moving contents of the buffer
// Useful for moving the screen in preparation for new drawing
void st7565_pan(bool left);
// Returns a pointer to the requested start index in the buffer plus remaining
// buffer length as struct
display_buffer_reader_t st7565_read_raw(uint16_t start_index);
// Writes a string to the buffer at current cursor position
void st7565_write_raw(const char *data, uint16_t size);
// Writes a single byte into the buffer at the specified index
void st7565_write_raw_byte(const char data, uint16_t index);
// Sets a specific pixel on or off
// Coordinates start at top-left and go right and down for positive x and y
void st7565_write_pixel(uint8_t x, uint8_t y, bool on);
// Writes a PROGMEM string to the buffer at current cursor position
// Advances the cursor while writing, inverts the pixels if true
// Remapped to call 'void st7565_write(const char *data, bool invert);' on ARM
void st7565_write_P(const char *data, bool invert);
// Writes a PROGMEM string to the buffer at current cursor position
// Advances the cursor while writing, inverts the pixels if true
// Advances the cursor to the next page, wiring ' ' to the remainder of the current page
// Remapped to call 'void st7565_write_ln(const char *data, bool invert);' on ARM
void st7565_write_ln_P(const char *data, bool invert);
// Writes a PROGMEM string to the buffer at current cursor position
void st7565_write_raw_P(const char *data, uint16_t size);
// Can be used to manually turn on the screen if it is off
// Returns true if the screen was on or turns on
bool st7565_on(void);
// Called when st7565_on() turns on the screen, weak function overridable by the user
// Not called if the screen is already on
void st7565_on_user(void);
// Can be used to manually turn off the screen if it is on
// Returns true if the screen was off or turns off
bool st7565_off(void);
// Called when st7565_off() turns off the screen, weak function overridable by the user
// Not called if the screen is already off
void st7565_off_user(void);
// Returns true if the screen is currently on, false if it is
// not
bool st7565_is_on(void);
// Basically it's st7565_render, but with timeout management and st7565_task_user calling!
void st7565_task(void);
// Called at the start of st7565_task, weak function overridable by the user
void st7565_task_user(void);
// Inverts the display
// Returns true if the screen was or is inverted
bool st7565_invert(bool invert);
// Returns the maximum number of characters that will fit on a line
uint8_t st7565_max_chars(void);
// Returns the maximum number of lines that will fit on the display
uint8_t st7565_max_lines(void);
```
+15
View File
@@ -128,3 +128,18 @@ As defined in `keymap_steno.h`.
|`STN_RES1`||(GeminiPR only)|
|`STN_RES2`||(GeminiPR only)|
|`STN_PWR`||(GeminiPR only)|
If you do not want to hit two keys with one finger combined keycodes can be used. These are also defined in `keymap_steno.h`, and causes both keys to be reported as pressed or released. To use these keycodes define `STENO_COMBINEDMAP` in your `config.h` file
|Combined key | Key1 | Key 2 |
|---------------|--------|----------|
|STN_S3 | STN_S1 | STN_S2 |
|STN_TKL | STN_TL | STN_KL |
|STN_PWL | STN_PL | STN_WL |
|STN_HRL | STN_HL | STN_RL |
|STN_FRR | STN_FR | STN_RR |
|STN_PBR | STN_PR | STN_BR |
|STN_LGR | STN_LR | STN_GR |
|STN_TSR | STN_TR | STN_SR |
|STN_DZR | STN_DR | STN_ZR |
|STN_AO | STN_A | STN_O |
|STN_EU | STN_E | STN_U |
+3 -1
View File
@@ -50,7 +50,7 @@ The main entry point is `process_tap_dance()`, called from `process_record_quant
This means that you have `TAPPING_TERM` time to tap the key again; you do not have to input all the taps within a single `TAPPING_TERM` timeframe. This allows for longer tap counts, with minimal impact on responsiveness.
Our next stop is `matrix_scan_tap_dance()`. This handles the timeout of tap-dance keys.
Our next stop is `tap_dance_task()`. This handles the timeout of tap-dance keys.
For the sake of flexibility, tap-dance actions can be either a pair of keycodes, or a user function. The latter allows one to handle higher tap counts, or do extra things, like blink the LEDs, fiddle with the backlighting, and so on. This is accomplished by using an union, and some clever macros.
@@ -490,6 +490,8 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
layer_on(_MY_LAYER);
}
break;
default:
break;
}
}
+1 -1
View File
@@ -13,7 +13,7 @@ EXTRAKEY_ENABLE = yes
VELOCIKEY_ENABLE = yes
```
Then, while using your keyboard, you need to also turn it on with the VLK_TOG keycode, which toggles the feature on and off.
Then, while using your keyboard, you need to also turn it on with the `VLK_TOG` keycode, which toggles the feature on and off.
The following light effects will all be controlled by Velocikey when it is enabled:
- RGB Breathing
+2
View File
@@ -45,6 +45,7 @@ bool wpm_keycode_user(uint16_t keycode) {
Additionally, if `WPM_ALLOW_COUNT_REGRESSION` is defined, there is the `uint8_t wpm_regress_count(uint16_t keycode)` function that allows you to decrease the WPM. This is useful if you want to be able to penalize certain keycodes (or even combinations).
```c
__attribute__((weak)) uint8_t wpm_regress_count(uint16_t keycode) {
bool weak_modded = (keycode >= QK_LCTL && keycode < QK_LSFT) || (keycode >= QK_RCTL && keycode < QK_RSFT);
@@ -60,3 +61,4 @@ __attribute__((weak)) uint8_t wpm_regress_count(uint16_t keycode) {
return 1;
}
}
```
+48 -2
View File
@@ -48,7 +48,7 @@ QMK maintains [a fork of the LUFA DFU bootloader](https://github.com/qmk/lufa/tr
//#define QMK_LED E6
//#define QMK_SPEAKER C6
```
Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic Lite](feature_bootmagic.md#bootmagic-lite), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader.
Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic Lite](feature_bootmagic.md), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader.
The manufacturer and product strings are automatically pulled from `config.h`, with " Bootloader" appended to the product string.
@@ -171,6 +171,52 @@ Flashing sequence:
3. Flash a .hex file
4. Reset the device into application mode (may be done automatically)
### QMK HID
QMK maintains [a fork of the LUFA HID bootloader](https://github.com/qmk/lufa/tree/master/Bootloaders/HID), which uses a USB HID Endpoint for flashing in the way that the PJRC's Teensy Loader flasher and HalfKay bootloader work. Additionally, it performs a simple matrix scan for exiting the bootloader and returning to the application, as well as flashing an LED/making a ticking noise with a speaker when things are happening.
To ensure compatibility with the QMK HID bootloader, make sure this block is present in your `rules.mk`:
```make
# Bootloader selection
BOOTLOADER = qmk-hid
```
To enable the additional features, add the following defines to your `config.h`:
```c
#define QMK_ESC_OUTPUT F1 // COL pin if COL2ROW
#define QMK_ESC_INPUT D5 // ROW pin if COL2ROW
// Optional:
//#define QMK_LED E6
//#define QMK_SPEAKER C6
```
Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic Lite](feature_bootmagic.md), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader.
The manufacturer and product strings are automatically pulled from `config.h`, with " Bootloader" appended to the product string.
To generate this bootloader, use the `bootloader` target, eg. `make planck/rev4:default:bootloader`. To generate a production-ready .hex file (combining QMK and the bootloader), use the `production` target, eg. `make planck/rev4:default:production`.
Compatible flashers:
* TBD
* Currently, you need to either use the [Python script](https://github.com/qmk/lufa/tree/master/Bootloaders/HID/HostLoaderApp_python), or compile [`hid_bootloader_cli`](https://github.com/qmk/lufa/tree/master/Bootloaders/HID/HostLoaderApp), from the LUFA repo. Homebrew may (will) have support for this directly (via `brew install qmk/qmk/hid_bootloader_cli`).
Flashing sequence:
1. Enter the bootloader using any of the following methods:
* Press the `RESET` keycode
* Press the `RESET` button on the PCB if available
* short RST to GND quickly
2. Wait for the OS to detect the device
3. Flash a .hex file
4. Reset the device into application mode (may be done automatically)
### `make` Targets
* `:qmk-hid`: Checks every 5 seconds until a DFU device is available, and then flashes the firmware.
## STM32/APM32 DFU
All STM32 and APM32 MCUs, except for F103 (see the [STM32duino section](#stm32duino)) come preloaded with a factory bootloader that cannot be modified nor deleted.
@@ -252,7 +298,7 @@ Flashing sequence:
## tinyuf2
Keyboards may opt into supporting the tinyuf2 bootloader. This is currently only supported on the F411 blackpill.
Keyboards may opt into supporting the tinyuf2 bootloader. This is currently only supported on the F401/F411 blackpill.
The `rules.mk` setting for this bootloader is `tinyuf2`, and can be specified at the keymap or user level.
+3 -4
View File
@@ -1,15 +1,14 @@
# Quantum Mechanical Keyboard Firmware
[![Version courante](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![Statut du build](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware)
[![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh)
[![Statut de la doc](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![Contributeurs GitHub](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)
[![Forks GitHub](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/)
## Qu'est-ce que QMK Firmware?
## Qu'est-ce que QMK Firmware?
QMK (*Quantum Mechanical Keyboard*) est une communauté open source qui maintient le firmware QMK, la QMK Toolbox (*Boite à outil*), qmk.fm et leurs documentations. QMKFirmware est un firmware dédié aux claviers qui est basé sur [tmk\_keyboard](https://github.com/tmk/tmk_keyboard). Il offre des fonctionnalités très utiles pour les contrôleurs Atmel AVR, et, plus spécifiquement pour [les produits d'OLKB](https://olkb.com), le clavier [ErgoDox EZ](https://www.ergodox-ez.com), et pour les [produits Clueboard](https://clueboard.co/). Il prend désormais aussi en charge les processeurs ARM qui utilisent ChibiOS. Vous pouvez l'utiliser pour contrôler un clavier personnalisé soudé à la main ou alors sur un clavier avec un PCB personnalisé.
QMK (*Quantum Mechanical Keyboard*) est une communauté open source qui maintient le firmware QMK, la QMK Toolbox (*Boite à outil*), qmk.fm et leurs documentations. QMK Firmware est un firmware dédié aux claviers qui est basé sur [tmk\_keyboard](https://github.com/tmk/tmk_keyboard). Il offre des fonctionnalités très utiles pour les contrôleurs Atmel AVR, et, plus spécifiquement pour [les produits d'OLKB](https://olkb.com), le clavier [ErgoDox EZ](https://www.ergodox-ez.com), et pour les [produits Clueboard](https://clueboard.co/). Il prend désormais aussi en charge les processeurs ARM qui utilisent ChibiOS. Vous pouvez l'utiliser pour contrôler un clavier personnalisé soudé à la main ou alors sur un clavier avec un PCB personnalisé.
## Comment l'obtenir
@@ -23,7 +22,7 @@ Avant d'être prêt à compiler vous allez devoir [installer un environnement](f
make planck/rev4:default
Cette commande compilera la révision `rev4` du clavier `planck` avec la disposition `default`. Notez que tous les claviers n'ont pas forcément de révisions (aussi appelées sous-projects ou dossiers, ou en anglais «subprojects» ou «folder»). Cette option peut donc être omise:
Cette commande compilera la révision `rev4` du clavier `planck` avec la disposition `default`. Notez que tous les claviers n'ont pas forcément de révisions (aussi appelées sous-projects ou dossiers, ou en anglais «subprojects» ou «folder»). Cette option peut donc être omise:
make preonic:default
-1
View File
@@ -103,5 +103,4 @@ Ceci est fait immédiatement après la fusion de la branche `future` précédent
* [ ] `git push origin future`
* Actions sur GitHub
* [ ] Crée un PR pour `future`
* [ ] S'assurer que Travis ne relève aucun problème
* [ ] Fusion le PR `future`
+4 -23
View File
@@ -48,25 +48,6 @@ Nous recherchons des gens pour créer et maintenir un paquet `qmk` pour plus de
* Installez en utilisant un virtualenv
* Expliquez à l'utilisateur de définir la variable d'environnement `QMK_Home` pour "check out" les sources du firmware à un autre endroit que `~/qmk_firmware`.
# CLI locale
Si vous ne voulez pas utiliser la CLI globale, il y a une CLI locale empaquetée avec `qmk_firmware`. Vous pouvez le trouver dans `qmk_firmware/bin/qmk`. Vous pouvez lancer la commande `qmk` depuis n'importe quel répertoire et elle fonctionnera toujours sur cette copie de `qmk_firmware`.
**Exemple**:
```
$ ~/qmk_firmware/bin/qmk hello
Ψ Hello, World!
```
## Limitations de la CLI locale
Il y a quelques limitations à la CLI locale comparé à la globale:
* La CLI locale ne supporte pas `qmk setup` ou `qmk clone`
* La CLI locale n'opère pas sur le même arbre `qmk_firmware`, même si vous avez plusieurs dépôts clonés.
* La CLI locale ne s'exécute pas dans un virtualenv, donc il y a des risques que des dépendances seront en conflit
# Les commandes CLI
## `qmk compile`
@@ -85,14 +66,14 @@ qmk compile <configuratorExport.json>
qmk compile -kb <keyboard_name> -km <keymap_name>
```
## `qmk cformat`
## `qmk format-c`
Cette commande formatte le code C en utilisant clang-format. Lancez-la sans arguments pour formatter tout le code core, ou passez les noms de fichiers à la ligne de commande pour la lancer sur des fichiers spécifiques.
**Utilisation**:
```
qmk cformat [file1] [file2] [...] [fileN]
qmk format-c [file1] [file2] [...] [fileN]
```
## `qmk config`
@@ -125,14 +106,14 @@ Cette commande crée une nouvelle keymap basée sur une keymap par défaut d'un
qmk new-keymap [-kb KEYBOARD] [-km KEYMAP]
```
## `qmk pyformat`
## `qmk format-py`
Cette commande formate le code python dans `qmk_firmware`.
**Utilisation**:
```
qmk pyformat
qmk format-py
```
## `qmk pytest`
+1 -1
View File
@@ -134,7 +134,7 @@ Les PR de nouvelles fonctionnalités de de correction de bug affectent tous les
Voici quelques choses à garder en tête lorsque vous travaillez sur une fonctionnalité ou un bug fix.
* **Désactivé par défaut** - la mémoire est plutôt limitée sur la plupart des puces que QMK supporte, et il est important que les keymaps courantes ne soient pas cassées. S'il vous plaît faites que vos features doivent être **activées** plutôt que désactivées. Si vous pensez qu'elle devrait être activée par défaut, ou que cela réduit la taille du code, parlez-nous-en.
* **Compilez localement avant de soumettre** - Cela devrait aller sans dire, mais votre code doit compiler! Notre système Travis devrait relever les problèmes, mais il est généralement plus rapide de compiler quelques claviers en local plutôt que d'attendre le retour des résultats
* **Compilez localement avant de soumettre** - Cela devrait aller sans dire, mais votre code doit compiler! Vous devriez toujours faire gaffe à ce que vos changements compilent avant d'ouvrir une pull request.
* **Faites attention aux révisions et différentes bases de puces** - beaucoup de claviers ont des révisions qui permettent des changements de configuration mineurs, voir des bases de chip différentes. Essayez de faire que votre fonctionnalité soit supportée à la fois sur ARM et AVR, ou désactivez-là automatiquement sur les plateformes non supportées.
* **Expliquez votre fonctionnalité** - Documentez-là dans `docs/`, soit dans un nouveau fichier, ou dans une partie d'un fichier existant. Si vous ne la documentez pas, personne ne pourra bénéficier de votre dur labeur.
+2 -2
View File
@@ -9,7 +9,7 @@ Nous vous recommandons d'utiliser l'utilitaire [Zadig](https://zadig.akeo.ie/).
## Installation
Passez votre clavier en mode bootloader, soit en appuyant sur le keycode `RESET` (qui peut se trouver dans un calque différent) ou en appuyant sur le bouton reset qui se trouve en général sous la board. Si votre clavier n'a aucune de ces options, essayez de le brancher en maintenant Escape ou Espace+`B` appuyés (voir la documentation de [Bootmagic](feature_bootmagic.md) pour plus de détails). Certaines boards utilisent [Command](feature_command.md) à la place de Bootmagic. Dans ce cas, vous pouvez entrer en mode bootloader en appuyant, à n'importe quel moment lorsque le clavier est branché, sur les combinaisons de touches Shift Gauche+Shift Droit+`B` ou Shift Gauche+Shift Droit+Escape.
Certains claviers ont des instructions spécifiques pour passer en mode bootloader. Par exemple, la touche [Bootmagic Lite]](feature_bootmagic.md#bootmagic-lite) (défaut:Échap) peut être sur une touche différente telle que Contrôle Gauche. La combinaison pour la Command (défaut:Shift Gauche+Shift Droit) peut être différente, par exemple Contrôle Gauche+Contrôle Droit. Référez-vous au fichier README de votre clavier.
Certains claviers ont des instructions spécifiques pour passer en mode bootloader. Par exemple, la touche [Bootmagic Lite]](feature_bootmagic.md#bootmagic-lite) (défaut: Échap) peut être sur une touche différente telle que Contrôle Gauche. La combinaison pour la Command (défaut: Shift Gauche+Shift Droit) peut être différente, par exemple Contrôle Gauche+Contrôle Droit. Référez-vous au fichier README de votre clavier.
Pour mettre un clavier en mode bootloader avec USBaspLoader, appuyez sur le bouton `RESET` tout en maintenant le bouton `BOOT`. Vous pouvez aussi maintenir le bouton `BOOT` en branchant le câble USB.
@@ -43,4 +43,4 @@ Cliquez dessus avec le bouton droit et sélectionner **Désinstaller le périph
![Le dialogue Suppression de périphérique, avec la boîte "suppression de pilote" cochée](https://i.imgur.com/aEs2RuA.png)
Appuyez sur **Action → Analyser les changements de hardware**. A ce stade, vous devriez pouvoir saisir à nouveau. Vérifiez dans Zadig que les périphériques utilisent bien le pilote `HidUsb`. Si c'est le cas, vous avez corrigé le problème, votre clavier devrait fonctionner à nouveau!
Appuyez sur **Action → Analyser les changements de hardware**. A ce stade, vous devriez pouvoir saisir à nouveau. Vérifiez dans Zadig que les périphériques utilisent bien le pilote `HidUsb`. Si c'est le cas, vous avez corrigé le problème, votre clavier devrait fonctionner à nouveau!
+1 -1
View File
@@ -20,7 +20,7 @@ Veuillez noter que lancer `make` avec `sudo` est généralement une **mauvaise**
### Règles `udev` pour Linux
Sous Linux, vous aurez besoin des permissions appropriées pour accéder au MCU (le micro-contrôleur). Vous avez le choix d'utiliser `sudo` en flashant le firmware, ou placer ces fichiers dans `/etc/udev/rules.d`. Une fois ajouté, lancez les commandes suivantes:
Sous Linux, vous aurez besoin des permissions appropriées pour accéder au MCU (le micro-contrôleur). Vous avez le choix d'utiliser `sudo` en flashant le firmware, ou placer ces fichiers dans `/etc/udev/rules.d`. Une fois ajouté, lancez les commandes suivantes:
```console
sudo udevadm control --reload-rules
+4 -4
View File
@@ -6,13 +6,13 @@ Cette page détaille diverses questions fréquemment posées par les utilisateur
## `hid_listen` ne reconnaît pas de périphérique
Lorsque la console de débugage sur votre périphérique n'est pas prêt, vous obtiendrez un message similaire:
Lorsque la console de débugage sur votre périphérique n'est pas prêt, vous obtiendrez un message similaire:
```
Waiting for device:.........
```
Une fois le périphérique connecté, *hid_listen* le trouve et vous obtiendrez ce message:
Une fois le périphérique connecté, *hid_listen* le trouve et vous obtiendrez ce message:
```
Waiting for new device:.........................
@@ -61,7 +61,7 @@ Vous ne voulez probablement pas "briquer" votre clavier, rendre impossible d'éc
- Si votre map de clavier n'inclut pas de RESET, pour entrer en mode DFU, vous devrez appuyer sur le bouton reset du PCB. Cela implique que vous devrez certainement dévisser certaines pièces de votre clavier pour y accéder.
- Modifier les fichiers tmk_core / common peut rendre le clavier inutilisable
- Si un fichier .hex trop large est la cause du problème: `make dfu` supprime le bloc puis teste la taille (il ne fait pas les choses dans le bon ordre), ce qui provoque une erreur. En résultat, le flash naura pas été fait et le clavier restera en mode DFU.
- Si un fichier .hex trop large est la cause du problème: `make dfu` supprime le bloc puis teste la taille (il ne fait pas les choses dans le bon ordre), ce qui provoque une erreur. En résultat, le flash naura pas été fait et le clavier restera en mode DFU.
- Pour finir, notez que la taille maximale d'un fichier .hex sur un Plank est de 7000h (28672 decimal)
```
@@ -118,7 +118,7 @@ Sous Windows, activez l'option `Permettre au périphérique de sortir l'ordinate
Appuyer sur n'importe quelle touche en mode veille devrait sortir l'ordinateur de veille.
## Vous utilisez un Arduino?
## Vous utilisez un Arduino?
**Faites attention au fait que le nommage des pin d'un Arduino diffère de la puce**. Par exemple, la pin `D0` n'est pas `PD0`. Vérifiez le circuit avec la fiche technique.
+2 -2
View File
@@ -44,7 +44,7 @@ Le premier n'est reconnu que sur macOS, alors que le dernier, `KC_SLEP` et `KC_W
## Modificateur "One Shot"
Cette fonctionnalité permet de corriger un problème avec la touche Shift. En effet, il arrive de saisir plusieurs majuscules en ne voulant en saisir qu'une sur un mot. Ex:`CEtte` à la place de `Cette`. La fonctionnalité «One shot» shift permet de corriger ça.
Cette fonctionnalité permet de corriger un problème avec la touche Shift. En effet, il arrive de saisir plusieurs majuscules en ne voulant en saisir qu'une sur un mot. Ex: `CEtte` à la place de `Cette`. La fonctionnalité «One shot» shift permet de corriger ça.
https://github.com/tmk/tmk_keyboard/issues/67
@@ -59,7 +59,7 @@ Pour les touches de modification et les actions de calque, vous devez placer `KC
## Support de touche à verrouillage mécanique
Cette fonctionnalité permet l'usage de *touches à verrouillage mécanique* comme [ces interrupteurs Alps](https://deskthority.net/wiki/Alps_SKCL_Lock). Vous pouvez l'activer en ajoutant ceci à votre `config.h`:
Cette fonctionnalité permet l'usage de *touches à verrouillage mécanique* comme [ces interrupteurs Alps](https://deskthority.net/wiki/Alps_SKCL_Lock). Vous pouvez l'activer en ajoutant ceci à votre `config.h`:
```
#define LOCKING_SUPPORT_ENABLE
+30 -30
View File
@@ -27,15 +27,15 @@ Méthodes de flash compatibles :
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (interface graphique recommandé)
* [dfu-programmer](https://github.com/dfu-programmer/dfu-programmer) / `:dfu` avec QMK (outil en ligne de commande recommandé)
Ordre des actions:
Ordre des actions:
1. Pressez le keycode `RESET`, ou appuyez sur le bouton physique RESET ou alors créez un contact entre RST et GND.
2. Attendez que l'OS detecte l'appareil.
3. Éffacez la mémoire, cela peut être fait automatiquement.
4. Flasher le fichier .hex.
5. Redémarrez l'appareil en mode «application», cela peut être fait automatiquement.
5. Redémarrez l'appareil en mode «application», cela peut être fait automatiquement.
Alternativement:
Alternativement:
make <keyboard>:<keymap>:dfu
@@ -48,11 +48,11 @@ QMK a un fork du bootloader LUFA DFU qui vous permet de faire un simple scan de
#define QMK_LED E6
#define QMK_SPEAKER C6
Le fabricant et le nom du produit proviennent de vos définitions dans fichier `config.h`, et la chaîne de caractère «bootloader» est ajoutée au nom du produit.
Le fabricant et le nom du produit proviennent de vos définitions dans fichier `config.h`, et la chaîne de caractère «bootloader» est ajoutée au nom du produit.
Pour génerer le bootloader, utilisez la cible `bootloader`. Exemple:`make planck/rev4:default:bootloader`.
Pour génerer le bootloader, utilisez la cible `bootloader`. Exemple: `make planck/rev4:default:bootloader`.
Pour génerer un fichier .hex prêt pour la production qui contiendra tant l'application que le bootloader, utilisez la cible `production`. Exemple:`make planck/rev4:default:production`.
Pour génerer un fichier .hex prêt pour la production qui contiendra tant l'application que le bootloader, utilisez la cible `production`. Exemple: `make planck/rev4:default:production`.
### Commandes DFU
@@ -67,7 +67,7 @@ Il y a plusieurs commandes DFU que vous pouvez utiliser pour flasher le firmware
Les cartes arduinos et leurs clones utilisent le [bootloader Caterina](https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/caterina) (tous les claviers utilisant un Pro Micro, ou un clone). Ils utilisent aussi le protocole avr109 pour communiquer en virtuellement en série (serial en anglais). Les bootloaders comme le [A-Star](https://www.pololu.com/docs/0J61/9) sont basés sur Caterina.
Pour vérifier la compatibilité avec un bootloader Caterina, vérifiez que ce bloc est présent dans votre fichier `rules.mk`:
Pour vérifier la compatibilité avec un bootloader Caterina, vérifiez que ce bloc est présent dans votre fichier `rules.mk`:
```make
# Bootloader selection
@@ -81,20 +81,20 @@ Pour vérifier la compatibilité avec un bootloader Caterina, vérifiez que ce b
BOOTLOADER = caterina
```
Flashers compatibles:
Flashers compatibles:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (Interface graphique recommandée)
* [avrdude](https://www.nongnu.org/avrdude/) avec avr109 / `:avrdude` (Outil en ligne de commande recommandé)
* [AVRDUDESS](https://github.com/zkemble/AVRDUDESS)
Séquence de flash :
Séquence de flash :
1. Pressez la touche avec le keycode `RESET`, ou reliez les ports GND et RST. Vous n'avez que 7 secondes pour flasher une fois que l'opération a été faite.
2. Attendez que l'OS détecte l'appareil.
3. Flasher le fichier .hex.
4. Attendez que l'appareil redémarre automatiquement.
ou, utilisez:
ou, utilisez:
make <keyboard>:<keymap>:avrdude
@@ -111,7 +111,7 @@ Il existe un certain nombre de commandes DFU que vous pouvez utiliser pour mettr
Halfkay est un protocole ultra-simple développé par PJRC qui utilise HID et qui est fourni avec tous les Teensys après le modèle 2.0.
Pour vérifier la compatibilité avec le booloader Halfkay, vérifiez que ce bloc est présent dans votre fichier `rules.mk`:
Pour vérifier la compatibilité avec le booloader Halfkay, vérifiez que ce bloc est présent dans votre fichier `rules.mk`:
```make
# Bootloader selection
@@ -125,24 +125,24 @@ Pour vérifier la compatibilité avec le booloader Halfkay, vérifiez que ce blo
BOOTLOADER = halfkay
```
Flasher compatibles:
Flasher compatibles:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (Interface graphique recomandée)
* [Teensy Loader](https://www.pjrc.com/teensy/loader.html) (petit utilitaire ultra simple)
[Teensy Loader en ligne de commande](https://www.pjrc.com/teensy/loader_cli.html) (Outil en ligne de commande recommandé)
Séquence de flash:
Séquence de flash:
1. Pressez la touche du keycode `RESET`, ou reliez les ports RST et GND rapidement. Vous avez ensuite 7 secondes pour réaliser le flash.
2. Attendez que l'OS détecte l'appareil.
3. Flasher le fichier .hex.
4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement.
4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement.
## USBasploader
USBasploader est un bootloader développé par matrixstorm. Il est utilisé sur des processeurs AVR non-USB comme le ATmega328P, qui fonctionne grâce à V-USB.
Pour vérifier la compatibilité avec le booloader USBasploader, vérifiez que ce bloc est présent dans votre fichier `rules.mk`:
Pour vérifier la compatibilité avec le booloader USBasploader, vérifiez que ce bloc est présent dans votre fichier `rules.mk`:
```make
# Bootloader selection
@@ -156,24 +156,24 @@ Pour vérifier la compatibilité avec le booloader USBasploader, vérifiez que c
BOOTLOADER = USBasp
```
Flashers compatibles:
Flashers compatibles:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (Interface graphique recommandé)
* [avrdude](https://www.nongnu.org/avrdude/) avec le programmeur `usbasp`.
* [AVRDUDESS](https://github.com/zkemble/AVRDUDESS)
Séquence de flash:
Séquence de flash:
1. Pressez la touche du keycode `RESET`, ou reliez le port de boot pendant que RST et GND snt reliés. Cela doit être fait très rapidement.
2. Attendez que l'OS détecte l'appareil.
3. Flasher le fichier .hex.
4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement.
4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement.
## BootloadHID
BootloadHID est un bootloader pour les microcontrôleurs AVR. L'utilitaire de téleversement ne demande pas de drivers au niveau du kernel et peut être lancé sans installer aucune DLLs.
Pour vérifier la compatibilité avec le bootloader bootloadHID, vérifiez que ce bloc existe dans votre fichier `rules.mk` :
Pour vérifier la compatibilité avec le bootloader bootloadHID, vérifiez que ce bloc existe dans votre fichier `rules.mk` :
```make
# Bootloader selection
@@ -187,50 +187,50 @@ Pour vérifier la compatibilité avec le bootloader bootloadHID, vérifiez que c
BOOTLOADER = bootloadHID
```
Utilitaires de flash compatibles:
Utilitaires de flash compatibles:
* [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash) (Utilitaire avec interface graphique recommandé)
* [bootloadhid Command Line](https://www.obdev.at/products/vusb/bootloadhid.html) / `:BootloadHID` avec QMK (utilitaire en ligne de commande recommandé)
Séquence de flash
1. Entrez dans le bootloader en utilisant l'une de ces méthodes:
1. Entrez dans le bootloader en utilisant l'une de ces méthodes:
* Pressez la touche du keycode `RESET` (Cela ne fonctionnera pas sur certains appareils).
* Verrouillez la touche «Salt» tout en branchant le clavier (Généralement ce principe est documenté dans le fichier readme du clavier)
* Verrouillez la touche «Salt» tout en branchant le clavier (Généralement ce principe est documenté dans le fichier readme du clavier)
2. Attendez que l'OS détecte l'appareil.
3. Flasher le fichier .hex.
4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement.
4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement.
Ou alors:
Ou alors:
make <keyboard>:<keymap>:bootloadHID
## STM32
Tous les processeurs STM32 contiennent un bootloader installé en usine qui ne peut pas être modifié ou supprimé. Certains processeurs STM32 ont des bootloaders qui ne peuvent pas être programmés par USB (ex:STM32F103) mais le processus reste le même.
Tous les processeurs STM32 contiennent un bootloader installé en usine qui ne peut pas être modifié ou supprimé. Certains processeurs STM32 ont des bootloaders qui ne peuvent pas être programmés par USB (ex: STM32F103) mais le processus reste le même.
Pour le moment, aucune variable `BOOTLOADER` n'est nécessaire dans le fichier `rules.mk`.
Flashers compatibles:
Flashers compatibles:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (interface graphique recommandé)
* [dfu-util](https://github.com/Stefan-Schmidt/dfu-util) / `:dfu-util` (utilitaire en ligne de commande recommandé)
Séquence pour flasher:
1. Entrez dans le bootloader en utilisant l'une de ces méthodes:
1. Entrez dans le bootloader en utilisant l'une de ces méthodes:
* Utilisez une touche sur laquelle le keycode `RESET` (Cela peut ne pas fonctionner sur les appareils STM32F042)
* Si un circuit de réinitialisation (Reset) est présent alors utilisé le bouton qui lui est dédié.
* Autrement, vous devez réaliser une liaison entre BOOT0 et VCC (en appuyant sur le bouton ou à l'aide d'un pont) puis faire un pont entre RESET et GND et enfin relacher le pont BOOT0.
2. Attendre que l'os détecte l'appareil.
3. Flasher un fichier `.bin`.h
* Vous allez recevoir un avertissement à propos de la signature DFU. Ignorez-la.
4. Réinitialisez l'appareil en mode «application». Cela peut être fait automatiquement.
* Si vous êtes en train de travailler en ligne de commande, par exemple avec un `make planck/rev6:default:dfu-util` alors soyez bien sur que l'argument `:leave` est passé aux arguments DFU grâce à la variable `DFU_ARGS` à l'intérieur de votre fichier `rules.mk` (Ex:`DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave`) afin que votre appareil redémarre après avoir été flashé.
4. Réinitialisez l'appareil en mode «application». Cela peut être fait automatiquement.
* Si vous êtes en train de travailler en ligne de commande, par exemple avec un `make planck/rev6:default:dfu-util` alors soyez bien sur que l'argument `:leave` est passé aux arguments DFU grâce à la variable `DFU_ARGS` à l'intérieur de votre fichier `rules.mk` (Ex: `DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave`) afin que votre appareil redémarre après avoir été flashé.
### Commandes STM32
Il y a différentes commandes que vous pouvez utiliser pour flasher un firmware dans un appareil STM32:
Il y a différentes commandes que vous pouvez utiliser pour flasher un firmware dans un appareil STM32:
* `:dfu-util` - C'est l'option standard pour flasher un appareil STM32. Le script attendra qu'un bootloader STM32 soit présent.
* `:dfu-util-split-left` - Permet de flasher un firmware normalement, tout comme l'option précédente mais permet de configurer le côté gauche des paramètres EEPROM sur un clavier scindé.
+3 -3
View File
@@ -88,7 +88,7 @@ Par exemple, si votre keymap s'appelle "xyverz" et que vous fabriquez une keymap
La commande va vérifier la configuration du clavier, puis tentera de le flasher en fonction du bootloader (chargeur damorçage) spécifié. Cela signifie que vous n'avez pas besoin de savoir quel bootloader votre clavier utilise. Exécutez simplement la commande et laissez-le faire le gros du travail.
Cependant, tout dépend du bootloader qui est installé sur le clavier. Si cette information nest pas configurée ou si vous tentez de flasher un clavier qui ne permet pas d’être flashé alors vous obtiendrez cette erreur :
Cependant, tout dépend du bootloader qui est installé sur le clavier. Si cette information nest pas configurée ou si vous tentez de flasher un clavier qui ne permet pas d’être flashé alors vous obtiendrez cette erreur:
WARNING: This board's bootloader is not specified or is not supported by the ":flash" target at this time.
@@ -326,7 +326,7 @@ Il y aun certain nombre de commandes du DFU que vous pouvez utiliser pour flash
### BootloadHID
Pour les claviers basés sur Bootmapper Client(BMC)/bootloadHID/ATmega32A, si vous êtes prêts à compiler et flasher le firmware, ouvrez votre fenêtre de terminal et lancez la commande suivante :
Pour les claviers basés sur Bootmapper Client(BMC)/bootloadHID/ATmega32A, si vous êtes prêts à compiler et flasher le firmware, ouvrez votre fenêtre de terminal et lancez la commande suivante:
make <my_keyboard>:<my_keymap>:bootloaderHID
@@ -351,7 +351,7 @@ Error opening HIDBoot device: The specified device was not found
Trying again in 5s.
```
Une fois ce résultat obtenu, réinitialisez le contrôleur. Le résultat suivant devrait safficher :
Une fois ce résultat obtenu, réinitialisez le contrôleur. Le résultat suivant devrait safficher:
```
Page size = 128 (0x80)
+1 -1
View File
@@ -24,7 +24,7 @@ The "easy" way to flash the firmware is using a tool from your host OS:
If you want to program via the command line you can uncomment the ['modifyvm'] lines in the Vagrantfile to enable the USB passthrough into Linux and then program using the command line tools like dfu-util/dfu-programmer or you can install the Teensy CLI version.
## Vagrantfile Overview
The development environment is configured to run the QMK Docker image, `qmkfm/base_container`. This not only ensures predictability between systems, it also mirrors the CI environment.
The development environment is configured to run the QMK Docker image, `qmkfm/qmk_cli`. This not only ensures predictability between systems, it also mirrors the CI environment.
## FAQ

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