Compare commits

..

414 Commits

Author SHA1 Message Date
Zach White
69e5e15ccc use unix lineendings even on windows 2021-01-08 17:21:55 -08:00
Zach White
543e663c68 more robust key label parsing 2021-01-07 21:11:57 -08:00
Zach White
0177fbd65b rearrange to more reliably detect urls 2021-01-07 20:42:37 -08:00
Zach White
7f398eea50 make flake8 happy 2021-01-03 17:31:46 -08:00
Zach White
df85940a47 add a note about additional layouts 2021-01-03 15:23:27 -08:00
Zach White
cd1cfb7c36 Document the new kle2json 2021-01-03 15:18:00 -08:00
Zach White
2ee52e43a7 remove extraneous options 2021-01-03 15:18:00 -08:00
Zach White
63472dfde7 add support for fetching KLE over http 2021-01-03 15:18:00 -08:00
Zach White
2040fe3d8a add support for generating a keymap 2021-01-03 15:18:00 -08:00
Zach White
88cfd3554a add support for writing a default keymap with 2 layers 2021-01-03 15:18:00 -08:00
Zach White
0f8b34771d build an info.json from KLE 2021-01-03 15:18:00 -08:00
Nick Brassel
34446b79d7 Split up QWIIC_ENABLE to use QWIIC_DRIVERS as well, with yes/no for enable flag. (#11426) 2021-01-04 08:45:43 +11:00
QMK Bot
b7d4a9dc25 Merge remote-tracking branch 'origin/master' into develop 2021-01-03 20:31:41 +00:00
Ryan
acec174fde Homebrew install: ignore pinned formulae in brew upgrade (#11423) 2021-01-03 20:30:59 +00:00
QMK Bot
1f8acb7619 Merge remote-tracking branch 'origin/master' into develop 2021-01-03 20:30:50 +00:00
Joel Elkins
070240f212 arm_atsam: Use PROGRAM_CMD for :flash target if set (#11424) 2021-01-04 07:30:22 +11:00
Nick Brassel
271c0cf136 Merge remote-tracking branch 'upstream/master' into develop 2021-01-03 15:26:43 +11:00
Ryan
f3ac792c09 Align ChibiOS spi_master behaviour with AVR (#11404)
* Align ChibiOS spi_master behaviour with AVR

* Rollback `spi_transmit()` and `spi_receive()` to preserve DMA
2021-01-03 14:53:53 +11:00
Nick Brassel
e8e090aced Remove handwired/bluepill. (#11415) 2021-01-03 13:29:19 +11:00
Nick Brassel
7456e6c776 ChibiOS conf migrations... take 4 (#11413)
* ChibiOS conf upgrade for cannonkeys/tsukuyomi

 cannonkeys/tsukuyomi - 7beddc74b03d652481198843a178177de5da3ddb

* ChibiOS conf upgrade for misterknife/knife66_iso

 misterknife/knife66_iso - f2dd6e6c54258ae9d09a88215b36fba34947fc23

* ChibiOS conf upgrade for mode/eighty

 mode/eighty/m80h - 4bbbee01a89a5b4ab5f4de36e0dd2044cf54a698
 mode/eighty/m80s - 6de4a1affab4ed8f08423eb511393ed797e3ea77
2021-01-03 13:17:34 +11:00
Zach White
11bd98f684 Fix broken keyboards (#11412)
* Fix a couple errors

* add a dependency for the generated headers
2021-01-03 13:08:17 +11:00
Joshua Diamond
b3de903a3d Fix broken Lighting Layers when RGBLIGHT_MAX_LAYERS > 16 (#11406)
* fix incorrect bit math when RGBLIGHT_MAX_LAYERS > 16

* with 1UL cast is not needed

* ...but just casting works and is even more efficient

* cformat
2021-01-02 13:42:48 -08:00
Zach White
f27d8d9448 Fix compiling on develop (#11409) 2021-01-02 21:05:56 +01:00
QMK Bot
f12000a1b6 Merge remote-tracking branch 'origin/master' into develop 2021-01-02 17:28:05 +00:00
Zach White
c07543133a Return the make exit code for qmk compile and flash (#11402) 2021-01-02 17:27:35 +00:00
QMK Bot
266343666f Merge remote-tracking branch 'origin/master' into develop 2021-01-02 08:46:59 +00:00
Felix Jen
2e9d091960 [Keyboard] Added LDK65 based off BKS65 (#11335) 2021-01-02 00:46:25 -08:00
Joshua Diamond
e190872b82 Improved Language Specific Keycodes for US International and Extended Layouts (#11307)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-02 15:54:48 +11:00
QMK Bot
8e68003b28 Merge remote-tracking branch 'origin/master' into develop 2021-01-02 01:39:21 +00:00
npspears
13efa8290e Update quark pin config (#11398) 2021-01-02 12:38:50 +11:00
QMK Bot
d8a9974a41 Merge remote-tracking branch 'origin/master' into develop 2021-01-02 01:36:46 +00:00
Michael Overman
988715910c [Docs] Fix typo in hand_wire.md (#11297) 2021-01-01 17:36:17 -08:00
QMK Bot
7ecbc83e71 Merge remote-tracking branch 'origin/master' into develop 2021-01-02 00:45:16 +00:00
Felix Jen
8da9219c16 [Keyboard] Added Phantom Solder PCB and KBD8X HS PCB Variants (#11282)
* Added config for phantom solder all layout via only

* fixed matrix def

* Added KBD8X

* changed info name

* lowercase instances of LAYOUT_ALL and edited rules.mk

* edited kbd8x results

* fixed kbd8x rules

* removed trailing comma in kbd8x info

* Update keyboards/lucid/kbd8x_hs/config.h

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

* Update keyboards/lucid/kbd8x_hs/kbd8x_hs.h

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

* Update keyboards/lucid/kbd8x_hs/readme.md

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

* Update keyboards/lucid/kbd8x_hs/rules.mk

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

* Update keyboards/lucid/phantom_solder/info.json

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

* Update keyboards/lucid/phantom_solder/readme.md

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

* Update keyboards/lucid/phantom_solder/rules.mk

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

* Fixed info.json key mismatch

Co-authored-by: Joel Challis <git@zvecr.com>
2021-01-01 16:44:45 -08:00
QMK Bot
ddfb558591 Merge remote-tracking branch 'origin/master' into develop 2021-01-01 23:27:44 +00:00
smssmssms
d321cb3f8b [Keyboard] Pos78 update (#11274)
* Added LED hardware pin numbers

CAPS and NUM lock LEDs

* Added "LED_PIN_ON_STATE 1"

* Make MATRIX_ROW/COL pins match reality
2021-01-01 15:27:13 -08:00
QMK Bot
5209576828 Merge remote-tracking branch 'origin/master' into develop 2021-01-01 23:26:27 +00:00
gkeyboard
8ed9eb9c7f [Keyboard] Add GKB-M16 Macro Pad (#11262)
* Add GKB-M16 Macro Pad

Add GKB-M16 (gkb_m16) Macro Pad under gkeyboard

* Update keyboards/gkeyboard/gkb_m16/config.h

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

* Update keyboards/gkeyboard/gkb_m16/keymaps/via/keymap.c

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

* Update keyboards/gkeyboard/gkb_m16/info.json

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

* Update keyboards/gkeyboard/gkb_m16/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-01-01 15:26:00 -08:00
QMK Bot
f410dfa091 Merge remote-tracking branch 'origin/master' into develop 2021-01-01 23:16:33 +00:00
Kyle McCreery
1d2a9a1cdb [Keyboard] New Keyboard - Mercutio (#11214)
* Initial commit on new clean branch. Testing out functionality of oled and encoder for default features.

* Cleaned up the initial push and removed the fancy keymap until the extra features and functionality can be tested and made more user friendly.

* Cleaned up the readme some more, compiled and tested both default and via keymaps, and did another round of checks to prepare for starting the PR.

* Cleaning up the keymap to meet expected formatting in a couple places and also adding in the TAP_CODE_DELAY after newly encoutnered encoder issues and inconsistencies.

* Apply suggestions from code review

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

* Update keyboards/mechwild/mercutio/readme.md

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

* Fixing json syntax.

* Update keyboards/mechwild/mercutio/rules.mk

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-01 15:16:00 -08:00
QMK Bot
428eb5faad Merge remote-tracking branch 'origin/master' into develop 2021-01-01 23:05:35 +00:00
Ross Montsinger
fcd921f3aa [Keyboard] Rebound, adding files for VIA compat (#11193)
* changes for via

* add manu to product name

* remove manu from product value

* remove description

* i m licensed
2021-01-01 15:05:02 -08:00
QMK Bot
e45a2af683 Merge remote-tracking branch 'origin/master' into develop 2021-01-01 18:09:02 +00:00
MURAOKA Taro
e11d3d524d speed up list_keyboards.sh 2021-01-01 10:08:32 -08:00
QMK Bot
d288f2f5da Merge remote-tracking branch 'origin/master' into develop 2021-01-01 16:32:49 +00:00
Ryan
c01a8b030e O4L 5x12 refactor (#11392)
* O4L 5x12 refactor

* Remove config.h
2021-01-01 16:32:21 +00:00
QMK Bot
5fe3de3153 Merge remote-tracking branch 'origin/master' into develop 2021-01-01 14:59:27 +00:00
Ryan
b5fc6f0682 Fix rart4x4 info.json (#11390) 2021-01-01 14:58:55 +00:00
QMK Bot
39bd151472 Merge remote-tracking branch 'origin/master' into develop 2021-01-01 14:57:27 +00:00
s-maurice
08fdf086b7 Fix typo in hand wiring guide (#11388)
ridid -> rigid
2021-01-01 14:57:02 +00:00
QMK Bot
8a2a39ed06 Merge remote-tracking branch 'origin/master' into develop 2021-01-01 13:53:22 +00:00
Ryan
aab056a4a6 Manta60 refactor (#11378) 2021-01-02 00:52:49 +11:00
QMK Bot
7b83bb188a Merge remote-tracking branch 'origin/master' into develop 2021-01-01 13:43:06 +00:00
Joel Challis
565a038a3d Fix layout ortho_4x12 macro for montsinger/rebound/rev4 (#11382) 2021-01-01 13:42:36 +00:00
fauxpark
e3da93e658 Merge remote-tracking branch 'upstream/master' into develop 2021-01-01 05:09:50 +11:00
Ryan
53e9213a22 Quark refactor (#11377) 2021-01-01 05:04:00 +11:00
Joel Challis
a68d289fa5 Manually run formatting CI process (#11375) 2021-01-01 03:50:32 +11:00
QMK Bot
da8423ca97 Merge remote-tracking branch 'origin/master' into develop 2020-12-31 15:00:40 +00:00
npspears
4ef4347543 Quark PCB for Planck/Preonic (#11206)
* Quark PCB for Planck/Preonic

Quark provides alternate bottom row layouts for both the OLKB Planck and Preonic

* Rename rules.mk.txt to rules.mk

* added Tapping Toggle

removed tapping toggle from keymap level

* Update info.json

took out } as requested

* update config.h

added GPL2+ license and #pragma once

* update info.json again

cleaned up syntax

* Apply suggestions from code review

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

* update config.h

added GPL2+ License

* Update info.json - and again

fixed it - oops

Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-31 10:00:08 -05:00
QMK Bot
42cdba8680 Merge remote-tracking branch 'origin/master' into develop 2020-12-31 14:53:38 +00:00
Chas
028d2c91dc Fixed typo in readme.md (#11333)
* Fixed typo in readme.md

censor -> sensor

* Censor -> Sensor in the Ploopy Trackball Readme
2020-12-31 14:53:06 +00:00
QMK Bot
e319d501f7 Merge remote-tracking branch 'origin/master' into develop 2020-12-31 12:59:26 +00:00
Álvaro A. Volpato
9f690c94b8 Change PRODUCT_ID descriptors for M80S and M80H (#11371)
* Change PRODUCT_ID descriptors for M80S and M80H

* Update config.h

* Update config.h

* Update config.h

* Remove PRODUCT_ID from root config.h
2020-12-31 12:58:59 +00:00
QMK Bot
633d2cb648 Merge remote-tracking branch 'origin/master' into develop 2020-12-31 06:21:45 +00:00
Takeshi ISHII
6169b47e82 Add target 'check-md5' to build_keyboard.mk (#11338)
* Add target 'build-for-compare' to `build_keyboard.mk`

The `build-for-compare` target provides an easy way to check the md5 checksum of the generated binary.

You can easily see if there is any change in the generated binaries between the two versions, as in the example below.

```
$ git checkout 0.11.0
M	build_keyboard.mk
M	tmk_core/rules.mk
Note: checking out '0.11.0'.
HEAD is now at c66df1664 2020 November 28 Breaking Changes Update (#11053)

$ make helix:all:build-for-compare | grep ^MD5
MD5 (.build/helix_rev2_default.hex) = 5c3606562c944bb4d18832e601b45d4a
MD5 (.build/helix_rev2_edvorakjp.hex) = 9e43d13d389d518ba7e99cd7337e28d6
MD5 (.build/helix_rev2_five_rows.hex) = 8bcb61c2fd5d237c2997f2fa007d4934
MD5 (.build/helix_rev2_five_rows_jis.hex) = b97cd818d52f73ca2d4e78c86d90a791
MD5 (.build/helix_rev2_froggy.hex) = c492172364188f4e2918b10bf0f3a0a6
MD5 (.build/helix_rev2_froggy_106.hex) = b0861fd735a8f81881a8c02730641a2b
MD5 (.build/helix_rev2_led_test.hex) = 5c97d982a5da5cfb3dacb28a8934b81d
MD5 (.build/helix_rev2_xulkal.hex) = 01f603dc46bcf9094d7e106831d8f5b1
MD5 (.build/helix_rev2_yshrsmz.hex) = 5a008bca2d0c5790a151c02834c529ba

$ git checkout 0.11.1
M	build_keyboard.mk
M	tmk_core/rules.mk
Previous HEAD position was c66df1664 2020 November 28 Breaking Changes Update (#11053)
HEAD is now at cc08e3082 nix-shell: add milc dependency (#11086)

$ make helix:all:build-for-compare | grep ^MD5
MD5 (.build/helix_rev2_default.hex) = 5c3606562c944bb4d18832e601b45d4a
MD5 (.build/helix_rev2_edvorakjp.hex) = 9e43d13d389d518ba7e99cd7337e28d6
MD5 (.build/helix_rev2_five_rows.hex) = 8bcb61c2fd5d237c2997f2fa007d4934
MD5 (.build/helix_rev2_five_rows_jis.hex) = b97cd818d52f73ca2d4e78c86d90a791
MD5 (.build/helix_rev2_froggy.hex) = c492172364188f4e2918b10bf0f3a0a6
MD5 (.build/helix_rev2_froggy_106.hex) = b0861fd735a8f81881a8c02730641a2b
MD5 (.build/helix_rev2_led_test.hex) = 5c97d982a5da5cfb3dacb28a8934b81d
MD5 (.build/helix_rev2_xulkal.hex) = d848383adfd7463b138c6da179cf1436
MD5 (.build/helix_rev2_yshrsmz.hex) = 5a008bca2d0c5790a151c02834c529ba
```

* make builds reproducable by default

* update build_keyboard.mk: remove 'build-for-compare' target

* GNU make (3.81) on macOS 10.14(Mojave) does not have the 'undefine' directive.

* Adopted fauxpark's suggestion.

* Update tmk_core/rules.mk

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

* update tmk_core/rules.mk

* fix tmk_core/rules.mk

Co-authored-by: Zach White <skullydazed@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-31 15:20:56 +09:00
Zach White
47b9b11009 Configure keyboard matrix from info.json (#10817)
* Make parameters from info.json available to the build system

* move all clueboard settings to info.json

* code formatting

* make flake8 happy

* make flake8 happy

* make qmk lint happy

* Add support for specifying led indicators in json

* move led indicators to the clueboard info.json

* Apply suggestions from code review

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

* add missing docstring

Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-12-30 10:27:37 -08:00
QMK Bot
f231f24dda Merge remote-tracking branch 'origin/master' into develop 2020-12-30 16:35:16 +00:00
Ryan
10096fc42e Zadig docs: add APM32 device name (#11356) 2020-12-30 16:35:06 +00:00
Nick Blyumberg
5e5ee3f8de Correct encoder pins on BDN9v2 (#11357)
* Update config.h

Wrong pin used for the left encoder, should be A4

* Update config.h

Added a media keys fix as well
2020-12-30 16:34:40 +00:00
QMK Bot
b51cc6d67a Merge remote-tracking branch 'origin/master' into develop 2020-12-30 15:45:24 +00:00
Ryan
7071900407 Missed a couple more #pragma onces (#11351) 2020-12-30 15:44:53 +00:00
QMK Bot
d5c89c8ed5 Merge remote-tracking branch 'origin/master' into develop 2020-12-30 14:02:54 +00:00
Reibl János Dániel
6f6e28b4c7 Add Arch / Manjaro section for Linux setup instructions (#10509) 2020-12-30 15:02:24 +01:00
QMK Bot
f801c69c75 Merge remote-tracking branch 'origin/master' into develop 2020-12-30 09:59:32 +00:00
Ryan
411b92e206 Remove useless wait in AVR suspend code (#11352) 2020-12-30 20:58:57 +11:00
QMK Bot
78b12dee89 Merge remote-tracking branch 'origin/master' into develop 2020-12-30 09:06:36 +00:00
Enoch
1aa8a3b424 [Keymap] Yd60mq add 64 key layout (#11207)
* 64 key layout

* add license

* add license

add name
2020-12-30 01:06:02 -08:00
QMK Bot
a8ac486555 Merge remote-tracking branch 'origin/master' into develop 2020-12-30 04:12:32 +00:00
Maurizio Porrato
0f5f6a6a75 Add libusb-devel dependency for fedora (#11287)
On fedora 33, libusb-devel is required to build BootloadHID
2020-12-30 15:12:02 +11:00
QMK Bot
a63db4b179 Merge remote-tracking branch 'origin/master' into develop 2020-12-30 03:56:14 +00:00
swampmonster
a038b712d0 [Keyboard] Add support to Kyria for the 2x2u layout (#11227)
* Adding support for the 2 x 2u layout.

This adds a macro to support the 2 x 2u layout which facilitates
a cleaner looking layout configuration for the people using it.

* Update keyboards/kyria/kyria.h

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

Co-authored-by: swampmonster <>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-29 19:55:40 -08:00
QMK Bot
09eb6381a9 Merge remote-tracking branch 'origin/master' into develop 2020-12-30 03:41:33 +00:00
André Cruz
ca8df55858 Added mac variant of portuguese keymap extras (#11260)
* Added mac variant of portuguese keymap

This keymap is very similar to the existing portuguese keymap, but
some symbols are moved around.

Apply suggestions from code review

Corrected whitespace and implemented some suggested changes.

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

Converted some spaces to nbsp

Added sendstring ISO version

* Apply suggestions from code review

Added suggestions from code review

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

* Replaced space with nbsp

* Corrected 2 chars in ascii_to_shift_lut

{ and } require shift

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-29 19:40:58 -08:00
QMK Bot
ade1a34cc8 Merge remote-tracking branch 'origin/master' into develop 2020-12-30 03:26:45 +00:00
ReFil
fda514bbd7 [Keyboard] Polarity works CRBN support (#11107)
* Initial CRBN compatibility

Updated readme.md too

* formatting tweaks to meet requirements

* Update crbn.c

* Create readme.md

* Required fixes and licence header

* Fixes

* Apply suggestions from code review

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

* Update keyboards/crbn/rules.mk

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

* Update keyboards/readme.md

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

* Update crbn.c

* Update keyboards/crbn/crbn.c

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

* Licence headers

* Create info.json

* Apply suggestions from code review

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

* Configurator support

* Update keymap.c

* Update keymap.c

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-29 19:26:16 -08:00
QMK Bot
c989da4cfd Merge remote-tracking branch 'origin/master' into develop 2020-12-30 03:22:16 +00:00
Joshua Diamond
c9156b50d9 [Keymap] spidey3 keymap for DMQDesign Spin (#11194)
* My first cut at firmware for te DMQDesign Spin

* Turn off underglow when computer sleeps

* dmqdesigns spin - a little more refined keymap now

* a few more refinements for spin

* missing key up event for CH_CPNL and CH_ASST

* better naming for keymap

* cformat

* Apply suggestions from code review

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

* Old #include habits die hard... :)

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-29 19:21:44 -08:00
siggie0815
1b3504e329 Update ADB impelemtation in TMK Core (#11168)
* Update ADB impelmentation in tmk_core to recent version.

Pcked from tmk_keyboard repository revision: 48d696443857512d45f9a7329e0dd0a76345860f

* Restore convenient ADB functions used in QMK port.

* Do cformat.
2020-12-29 19:18:16 -08:00
QMK Bot
9410b15ac9 Merge remote-tracking branch 'origin/master' into develop 2020-12-30 02:21:31 +00:00
Jonathan Paugh
992380a5dd Add missing Debian/Ubuntu dependency to the install script (#11348)
To successfully compile bootloadHID, we must have the libusb-config tool, which comes from the libusb-dev package. This package is available in both Ubuntu Groovy and Debian Buster

Co-authored-by: Jonathan Paugh <jpaugh@gmx.com>
2020-12-30 02:21:00 +00:00
QMK Bot
163e47c29d Merge remote-tracking branch 'origin/master' into develop 2020-12-30 02:06:23 +00:00
kb-elmo
b4ea0a70be Add Axolstudio Helpo (#11117)
* add axolstudio helpo

* reverse matrix

* fix path in readme

* Apply suggestions from code review

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

* Update keyboards/axolstudio/helpo/readme.md

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: Ryan <fauxpark@gmail.com>
2020-12-30 02:05:48 +00:00
QMK Bot
ed94fe28bf Merge remote-tracking branch 'origin/master' into develop 2020-12-30 01:49:49 +00:00
cole smith
c89930ca01 The mark: 65 (#11060)
* added main keyboard files

* working default and iso maps

* add via config

* made default ansi map

* fixed info.json and made readme

* renamed folders

* reincluding the folders I renamed

* Apply suggestions from code review

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

* I made a change before PR to clean up VIA map that broke it now its fixed

* Apply suggestions from code review

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

* Update keyboards/boardsource/the_mark/the_mark.h

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-12-30 01:49:13 +00:00
QMK Bot
5e9b002808 Merge remote-tracking branch 'origin/master' into develop 2020-12-30 01:46:45 +00:00
Suschman
a94044c15c 40percentclub sixpack support (#11007)
* QMK support for 40percentclub SixPack

* Update readme.md

* QMK support for 40percentclub SixPack

* fix info.json

* Apply suggestions from code review

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

* update PRODUCT name and change BL levels to 6

* Add Fkeys keymap

* correct readme

* add via keymap

* correct readme

* change indentation

* Apply suggestions from code review

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

* requested change and more cleanup

* Update keyboards/40percentclub/sixpack/sixpack.h

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

* Apply suggestions from code review

Co-authored-by: Suschman <suschman@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-12-30 01:46:16 +00:00
QMK Bot
154bf92b5b Merge remote-tracking branch 'origin/master' into develop 2020-12-30 01:28:05 +00:00
Álvaro A. Volpato
457042f179 Mode80 support (#10945)
* Add default mode eighty firmware

* Add via keymap

* Mode80 firmware upgrades

- Removed SPI and PWM drivers from MCU configuration, HAL configuration and Chibi configuration as neither peripherals are being used
- Included second backspace key (row 5, col 14) which should solve the non-appearance of the backspace key on the hotswap PCB

* Add default mode eighty firmware

* Add via keymap

* Update keyboards/mode/eighty/config.h

Remove comment lines from config.h

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

* Update keyboards/mode/eighty/config.h

Remove comments from config.h

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

* Update eighty.c

Add GPLv2 header

* Update eighty.h

Add GPLv2 license header

* Update readme.md

Update README

* Update keyboards/mode/eighty/config.h

Remove keyboard description

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

* Delete config.h

Delete config.h in keynap folder

* Update keyboards/mode/eighty/rules.mk

Remove feature disabling in rules.mk

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

* Move rules.mk to VIA folder

* Update keyboards/mode/eighty/keymaps/via/rules.mk

Use LTO_ENABLE as short for LINK_TIME_OPTIMIZATION_ENABLE

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

* Update keyboards/mode/eighty/readme.md

Puts a single image embedded in the readme, and links to the full gallery

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

* Update keyboards/mode/eighty/readme.md

Use * for markdown list

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

* Apply suggestions from code review

Correct comment characters

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

* Adjusted copyright name, USB descriptor and removed info.json

* Separate Mode80 S and H firwares into subfolders

* Added info.json files for QMK Configurator

* Lowercase folder and filenames

* Remove config definition macros in M80H

* Remove config definition macros in M80S and root

* Change definitions to lowercase parameters

* Moce chconf and mcuconf chibiOS files to root folder

* Move halconf to root folder, keymaps to subfolders

* Update readme for building/flashing guide

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

* Add layers to VIA keymaps, remove CONSOLE_ENABLE

* Push master changes to lib/

* Retrieve lufa and googletest submodules to previous heads at master

* Disabled LTO in VIA keymaps

* Fix layout declaration to lowercase in m80s default keymap

* Added readme's for each M80S and M80H

Co-authored-by: Jaicob <jaicob@icloud.com>
Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-12-30 01:27:33 +00:00
QMK Bot
aae0e12385 Merge remote-tracking branch 'origin/master' into develop 2020-12-30 01:14:12 +00:00
LongerHV
944feb2da5 [REDOX] Fix default keymap formatting (#11288) 2020-12-30 12:13:37 +11:00
QMK Bot
e3ce3d6e30 Merge remote-tracking branch 'origin/master' into develop 2020-12-30 01:07:23 +00:00
TJ
b49c657ac1 [Keyboard] Add via support for le chiffren (#10597)
* add Via support and improve default keymap

* Update OLED widgets with Sickbabies updates. Add license headers

* Add led matrix config

* Add g_led_config

* Fix rules for matrix

* rules.mk updates

* Fix key lock state widgets
rebase on master

* Rules fixes

* remove LED_MAP
2020-12-29 17:06:52 -08:00
QMK Bot
dae6249efa Merge remote-tracking branch 'origin/master' into develop 2020-12-30 00:58:48 +00:00
NightlyBoards
ac433b218d [Keyboard] Add the Octopad (#9946)
* Create Alter folder

* Revert "Create Alter folder"

This reverts commit 361103b821.

* Add octopad folder

* Added a new keyboard, the Octopad

* Edited files based on requested changes

* Moved encoder code in keyboard level

* Updated the readme

* Corrected the rows and columns of encoders on config.h

* Changed the Vendor ID to D812 since the first one was already taken

* Added support for ast1109MLTRQ speakers

* Increased number of layers to 8 on VIA keymap

* Edited files based on comments

* Edited rules.mk as per comment

* Edited readme.md as per comment
2020-12-29 16:58:14 -08:00
Aldehir Rojas
4f2f21dc05 Rewrite APA102 support (#10894)
* Rewrite APA102 support

The APA102 source was broken by commit 16a15c1cfc as it did not include the
quantum header. This commit addresses that, as well as other issues with
transferring bytes over the SPI interface, i.e. it was not setting the
clock pin back to low after sending a bit.

The deviation when sending the end frame is kept, but updated to the
latest from the referenced project.

Finally, these changes expose the global LED brightness parameter
of the APA102. Brightness values are configurable through
`APA102_DEFAULT_BRIGHTNESS` and `APA102_MAX_BRIGHTNESS`.

* Fix typo in led brightness extern

* Move driver out of AVR directory and add delay for ARM

* Experimental APA102 support on AVR and ARM

Co-authored-by: Alde Rojas <hello@alde.io>

* Refactor apa102_send_byte() calls to a loop

* Implement io_wait function for ARM

* Move APA102 drivers to own directory, fix copyright notice

* Add APA102 keymap to handwired/onekey

* Simplify RGBLIGHT_ENABLE/DRIVER option handling

Co-authored-by: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>
2020-12-30 00:28:49 +00:00
QMK Bot
7dd99f2b22 Merge remote-tracking branch 'origin/master' into develop 2020-12-30 00:06:16 +00:00
Naoto Takai
8ee03f6a6b Update Choco60 firmware to support new PCB (#11218)
* Update vendor and product info

* Add rev2 for Choco60

* Add keymap for VIA

* Add readme.md for rev1 and rev2

* Use list instead of new line

* Remove DESCRIPTION

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

* Update rev1/readme.md to specify rev1 directly.

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

* Remove some definitions

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

* Remove comments

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-30 00:05:48 +00:00
QMK Bot
e29b9e32bb Merge remote-tracking branch 'origin/master' into develop 2020-12-30 00:03:43 +00:00
Jacqueline Liang
0c4663a802 Add 6key to keyboards/handwired (#11226)
* Add 6key to keyboards/handwired

* Add keyboards/handwired/6key folder
* Add 6key.c
* Add 6key.h
* Add config.h
* Add keymaps/default/keymap.c
* Add readme.md
* Add rules.mk

* Add info.json

* Apply suggestions from code review

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

* Make changes based on pr comments

* Apply formatting suggestions from code review

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

* Update keyboards/handwired/6key/rules.mk

Co-authored-by: jyliang2 <jyliang2@illinois.edu>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-12-30 00:03:35 +00:00
Brandon Claveria
5d0c0e7c12 add nodu keyboard (#11233)
* add nodu keyboard

* fix info.json

* limit via to 3 layers

Co-authored-by: Swiftrax <swiftrax@gmail.com>
2020-12-30 00:03:09 +00:00
QMK Bot
599043e7ff Merge remote-tracking branch 'origin/master' into develop 2020-12-29 23:44:18 +00:00
Andrew Kannan
bea897caf1 Tsukuyomi Keyboard (#10898)
* Add Tsukuyomi PCB

* Remove unncessary file

* Fix

* update config

* Tsukuyomi info.json

* Update readme

* add license header and add dfu suffix args

* Apply suggestions from code review

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

* Update info.json

* Apply suggestions from code review

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

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-29 23:43:46 +00:00
QMK Bot
79265fc2c0 Merge remote-tracking branch 'origin/master' into develop 2020-12-29 23:24:24 +00:00
Nick Krichevsky
e85d904fe1 Add convenience method for setting Nibble's big LED RGB (#11257) 2020-12-29 23:23:50 +00:00
QMK Bot
871d99e659 Merge remote-tracking branch 'origin/master' into develop 2020-12-29 22:14:33 +00:00
Drashna Jaelre
12568fb5a9 [Bug] Fix RGB Matrix Indicators (#11308) 2020-12-29 22:14:03 +00:00
QMK Bot
25109f79f1 Merge remote-tracking branch 'origin/master' into develop 2020-12-29 22:13:29 +00:00
Joe Hu
824e1cd95d Fix backlight for XD84 (#11309)
Like XD87, XD8 should have `#define BACKLIGHT_ON_STATE 0` too.
2020-12-29 22:12:58 +00:00
QMK Bot
9634c72d7e Merge remote-tracking branch 'origin/master' into develop 2020-12-29 21:45:35 +00:00
xyzz
2573ed8c6b Remove MATRIX_IS_ON macro (#11330)
* Remove MATRIX_IS_ON macro

this macro is both incorrect and excessive given that macro_is_on()
exists

* Remove massdrop matrix.h
2020-12-29 21:45:04 +00:00
QMK Bot
8609fe8f46 Merge remote-tracking branch 'origin/master' into develop 2020-12-29 21:14:06 +00:00
Monksoffunk
25d9cdc88f Add ALETH42 keyboard (#10720)
* Add Aleth42 keyboard

* Fix Rotary Encoder Section

* Add VIA keymap

* Fix VIA keymap

remove RETRO_TAPPING define because of incompatiblity of rotary encoders with layer tapping.
change KC_ESC to KC_GESC

* Change TAPPING definitions

Comment TAPPING_TERM
Remove RETRO_TAPPING

* Add rev1

Add new rev1 directory
Move previous files to rev0

* Add define of ENCODER_RESOLUTION

* Change number of RGBLED

* Change USB descriptor param

Change VID, PID and product name

* Change default and via keymaps

* Remove upper keymap

* Add readme

* Change USB descriptor param

VID 0x04D8 PID 0xEAC8
Manufacturer 25KEYS
rev0 -> 0x0000 rev1 -> 0x0001
Remove define DESCRIPTION

* Fix info.json

Remove info,json under /rev0 /rev1
Add correct info.json at keyboard/aleth42/

* Change keymaps

* Remove unnecessary comments

* Change BOOTMAGIC option

* Change config options

* Fix readme files

* Change keymap readme files

* Change to use get_highest_layer

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

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

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

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

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

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

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

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

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

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

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

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

* Update keyboards/aleth42/keymaps/via/readme.md

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

* Update keyboards/aleth42/keymaps/via/readme.md

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

* Update keyboards/aleth42/keymaps/via/readme.md

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

* Use tap_code16 function

* Remove empty config file

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

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

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

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

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

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

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

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

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

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

* Update keyboards/aleth42/keymaps/via/readme.md

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

* Update keyboards/aleth42/keymaps/via/readme.md

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

* Update keyboards/aleth42/keymaps/via/readme.md

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

* Update keyboards/aleth42/keymaps/via/readme.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-29 21:13:35 +00:00
QMK Bot
77185961dc Merge remote-tracking branch 'origin/master' into develop 2020-12-29 20:52:21 +00:00
Ryan
962b8d3814 Update keycode docs (#11343) 2020-12-30 07:51:36 +11:00
QMK Bot
7ee3eb50b0 Merge remote-tracking branch 'origin/master' into develop 2020-12-29 19:46:58 +00:00
Ryan
122cf3ad0f Update Zadig docs with list of bootloader device names and IDs (#11337) 2020-12-29 19:46:15 +00:00
QMK Bot
525be128c9 Merge remote-tracking branch 'origin/master' into develop 2020-12-29 19:42:43 +00:00
Zach White
5edfdeff50 remove some old and unused code from Makefile (#11336) 2020-12-29 19:42:09 +00:00
QMK Bot
7b7763469b Merge remote-tracking branch 'origin/master' into develop 2020-12-29 19:35:24 +00:00
LongerHV
221d8fd866 [CLI] Add stdin support for json2c command (#11289)
* Implement stdin for json2c command

* Refactor

* Handle json decode error

* Add stdin support for c2json cli command

* Refactor to prevent code duplication

* Change exit(1) to return False in c2json command

* Remove unused import
2020-12-29 11:34:48 -08:00
QMK Bot
9748b6b847 Merge remote-tracking branch 'origin/master' into develop 2020-12-29 16:33:06 +00:00
Chas
3300164065 Typo fix: Useful function -> Useful Functions (#11342)
Thanks!
2020-12-30 01:32:30 +09:00
QMK Bot
d1b9a7e1bd Merge remote-tracking branch 'origin/master' into develop 2020-12-29 04:06:42 +00:00
Zach White
55843480ff Fix compile issues from the error page (#11314)
* fix abacus so it works with configurator

* create the keymap path if it doesn't exist

* bpiphany/unloved_bastard: remove the nested macros, move default keymap to json

* readd the unloved_bastard default keymap

* fix clueboard/card

* fixup handwired/2x5keypad

* fixup hub16

* matrix/noah: remove the broken matrix print code to fix compilation

* reinstate matrix_print with the right include

* Revert "create the keymap path if it doesn't exist"

This reverts commit af732776a5.
2020-12-28 20:06:07 -08:00
QMK Bot
8ea2650ab2 Merge remote-tracking branch 'origin/master' into develop 2020-12-28 20:27:33 +00:00
David Doan
5fde2d730c 1x4p1 (#11186)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-12-28 21:27:00 +01:00
QMK Bot
99d6349978 Merge remote-tracking branch 'origin/master' into develop 2020-12-27 17:37:04 +00:00
Ryan
1b7b72c0e9 Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
QMK Bot
0c5be869ff Merge remote-tracking branch 'origin/master' into develop 2020-12-27 16:56:40 +00:00
Joel Challis
bbf0f65284 Simplify the visual flow of the getting started page (#11316)
* Add tabs to getting started page

* Review comments

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

* Align with current theme

* Update docs/newbs_getting_started.md

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

* Apply suggestions from code review

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-27 16:56:10 +00:00
QMK Bot
0b37c0dfa0 Merge remote-tracking branch 'origin/master' into develop 2020-12-26 04:56:43 +00:00
Ryan
1d1d5da43f Change include guards in tmk_core/ and drivers/ to pragma once (#11240) 2020-12-26 15:56:11 +11:00
QMK Bot
ffd7e44e5a Merge remote-tracking branch 'origin/master' into develop 2020-12-26 04:53:57 +00:00
Ryan
48f4768d33 Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
QMK Bot
6c366ccf6a Merge remote-tracking branch 'origin/master' into develop 2020-12-25 23:00:57 +00:00
Drashna Jaelre
53eb7f0774 [Keyboard] Fix default keymaps for tunks/ergo33 (#11280)
* [Keyboard] Fix default keymap for tunks/ergo33

* Add prpro keymap too
2020-12-25 15:00:29 -08:00
QMK Bot
a4866b31d6 Merge remote-tracking branch 'origin/master' into develop 2020-12-25 17:38:46 +00:00
Takeshi ISHII
5544bf8524 [Keymap] update rules.mk and config.h of helix/rev2:five_rows (#11302)
* update keyboards/helix/rev2/keymaps/five_rows/rules.mk: oled selection, led animation selection

* add OLED_UPDATE_INTERVAL support into keyboards/helix/rev2/keymaps/five_rows/oled_display.c

Support for OLED_UPDATE_INTERVAL, even for older types of OLED tasks.

* Add 'HELIX=debug/no-debug' option into 'helix/rev2/keymaps/five_rows/rules.mk'
2020-12-26 02:38:07 +09:00
QMK Bot
f1a67c42a0 Merge remote-tracking branch 'origin/master' into develop 2020-12-25 14:45:00 +00:00
kiwikey
7ca4b61922 First commit of Kawii9 (#11201)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-26 01:44:32 +11:00
QMK Bot
c6aa9c4ad7 Merge remote-tracking branch 'origin/master' into develop 2020-12-25 14:42:41 +00:00
Jonathon Carstens
b7f640ca76 Adding new keyboard: Tenkey++ (tenkey_plusplus) (#11197)
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-26 01:42:11 +11:00
QMK Bot
f83eefba37 Merge remote-tracking branch 'origin/master' into develop 2020-12-25 14:39:30 +00:00
Drashna Jaelre
436b5394bb [Keyboard] Fix Dactyl Manuform with Trackball info.json (#11298) 2020-12-26 01:38:31 +11:00
George Mao
73dfc2b368 [Keyboard] Refactor Jacky's boards (Bear65 and S7 Elephant) (#10528) 2020-12-24 14:53:16 -08:00
Jan Christoph Ebersbach
010271d6ea Implement kinetic mouse movement algorithm (#6739)
* Implement kinetic mouse movement algorithm

* Adjust mouse wheel speed

* Remove unused math.h include

* Wrap mouse_timer definition in ifdef

* Replace double space by single space

* Clarify documentation of kinetic mouse speed

Co-Authored-By: lf <software@lfcode.ca>

* Clarify documentation of kinetic mouse speed

Co-Authored-By: lf <software@lfcode.ca>

* Remove superfluous definition of speed

* fix(variable): remove unused variable

Co-authored-by: lf <software@lfcode.ca>
2020-12-24 14:12:19 -08:00
QMK Bot
4551e57d64 Merge remote-tracking branch 'origin/master' into develop 2020-12-24 13:33:55 +00:00
CMMS-Freather
cd0d2d0de5 new repo: create cmm.studio folder, add saka qmk firmware (#11248)
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-24 14:33:25 +01:00
QMK Bot
7771e544ac Merge remote-tracking branch 'origin/master' into develop 2020-12-24 02:37:19 +00:00
Ryan
6a292e11d3 qmk fileformat: only print complaints, and fix some of them (#11278) 2020-12-24 02:36:44 +00:00
QMK Bot
5437c0af6e Merge remote-tracking branch 'origin/master' into develop 2020-12-24 01:08:27 +00:00
Thierry Michel Philippe Kleist
3e3f93c971 [Keyboard] misterknife/knife66_iso (#11010)
* feat: added new variant of knife66
2020-12-23 17:07:56 -08:00
QMK Bot
45bace1328 Merge remote-tracking branch 'origin/master' into develop 2020-12-23 17:00:38 +00:00
Boris Faure
9136c122f8 docs: add Gentoo to newbs_getting_started.md (#11241) 2020-12-23 17:59:57 +01:00
QMK Bot
a0af5eb307 Merge remote-tracking branch 'origin/master' into develop 2020-12-23 09:22:59 +00:00
Barry Huang
cc4b93b330 Helen 80 addition (#11133)
Co-authored-by: james sa <james@keto.tw>
Co-authored-by: James Sa <james.sa.2013@gmail.com>
2020-12-23 10:22:31 +01:00
QMK Bot
363957f919 Merge remote-tracking branch 'origin/master' into develop 2020-12-23 07:26:03 +00:00
Perry Hargrave
d40d1e4024 [keymap] Adds tofu65 with split spacebar (#10831)
* [keymap] Adds tofu65 with split spacebar

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/readme.md

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

* Update keyboards/kbdfans/kbd67/rev2/rev2.h

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

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

* keymap:tofu65: remove unneeded config.h

* Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-22 23:25:20 -08:00
QMK Bot
524da962d3 Merge remote-tracking branch 'origin/master' into develop 2020-12-23 06:37:37 +00:00
Nick Blyumberg
b2ab0af905 [Docs] Update links in main README.md (#11284)
It looks like features.md was deprecated and content was split into other files. This results in a broken link on the main page which, if removed, would have no impact to the remainder of the documentation. This would also:
resolve #9239
resolve #10293 
resolve #10447
2020-12-22 22:37:01 -08:00
QMK Bot
d6de97b116 Merge remote-tracking branch 'origin/master' into develop 2020-12-23 06:28:28 +00:00
TerryMathews
d898d4a6fc [Keyboard] Portico: Initial support for TKC Portico (#11215)
* Portico: Initial support for TKC Portico

* Portico: added GPL header to keymap files

* Update keyboards/tkc/portico/rules.mk

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-22 22:27:55 -08:00
QMK Bot
7c95e5ef3e Merge remote-tracking branch 'origin/master' into develop 2020-12-23 06:24:07 +00:00
Anthony Marin
7c0cb18681 [Keyboard] HID Technologies vendor id correction (#11225)
* add bastyl

* no need to copy the folder anymore

* clean up according to PR rules

* remove via, fix disposition

* add reset button on right half

* Update readme.md

* Update keyboards/hidtech/bastyl/bastyl.h

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

* Update keyboards/hidtech/bastyl/rules.mk

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

* Update keyboards/hidtech/bastyl/config.h

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

* move json, remove via files

* Update keyboards/hidtech/bastyl/keymaps/default/keymap.c

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

* Update keyboards/hidtech/bastyl/keymaps/default/keymap.c

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

* Update keyboards/hidtech/bastyl/keymaps/default/keymap.c

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

* Update keyboards/hidtech/bastyl/keymaps/default/keymap.c

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

* add GPL to c and h files

* Update keyboards/hidtech/bastyl/info.json

Change order to match layout macro

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

* Update keyboards/hidtech/bastyl/config.h

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

* serial define can be ommited, is used by default

* Corrected VENDOR_ID

Incorrect VENDOR_ID has been updated to the correct one.

Co-authored-by: Quentin <qlebastard@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-22 22:23:29 -08:00
QMK Bot
83d73b5407 Merge remote-tracking branch 'origin/master' into develop 2020-12-23 06:01:26 +00:00
Blake
e52b4797d3 [Keyboard] Scarlet numpad VIA support added (#11188)
* Initial test version of Scarlet keyboard

* First commit of DElec Scarlet

* Change to new Draytronics branding

* Update to keyboard details

Update to keyboard details and link to Draytronics website.

* Update keyboards/draytronics/scarlet/scarlet.h

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

* Update keyboards/draytronics/scarlet/rules.mk

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

* Update keyboards/draytronics/scarlet/readme.md

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

* Update keyboards/draytronics/scarlet/keymaps/default/keymap.c

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

* Update keyboards/draytronics/scarlet/config.h

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

* Update keymap.c

* Update config.h

* Update scarlet.h

* Update keyboards/draytronics/scarlet/config.h

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

* Update keyboards/draytronics/scarlet/config.h

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

* Update keyboards/draytronics/scarlet/scarlet.h

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

* Update keyboards/draytronics/scarlet/keymaps/default/keymap.c

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

* provide info.json layout to fix qmk configurator

* Correctly name keyboard in info.json

* Added website and layout key labels to info.json

* VIA support. Thanks sirdicholas

* Readme change, link to VIA design file.

Co-authored-by: Blake Drayson <blake@Euclid.ghost7.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-12-22 22:00:55 -08:00
QMK Bot
f971934dab Merge remote-tracking branch 'origin/master' into develop 2020-12-23 05:59:58 +00:00
Daniele De Vincenti
498d89f4b3 [Docs] Add clarification on use of custom RGB Matrix effect (#11176)
* Update feature_rgb_matrix.md

Added more clarification on how to use a newly created rgb effect as it was unclear that the prefix 'RGB_MATRIX_CUSTOM_' had to be added.
Also included an example consistent with the documentation example.

* Update docs/feature_rgb_matrix.md

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

* Update docs/feature_rgb_matrix.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2020-12-22 21:59:26 -08:00
QMK Bot
3656644c35 Merge remote-tracking branch 'origin/master' into develop 2020-12-23 05:53:47 +00:00
Ibnu Daru Aji
d5f3f7c126 [Keyboard] corrected VID/PID and layout for squiggle (#11198)
* corrected the pid and added a new layout.

* following drashna's suggestion.
2020-12-22 21:53:14 -08:00
QMK Bot
bdc3578e29 Merge remote-tracking branch 'origin/master' into develop 2020-12-23 05:35:04 +00:00
Rustam Zagirov
e9ed5d7571 ergodox_ez/stamm update (#11236) 2020-12-23 16:34:33 +11:00
QMK Bot
19fd0108d3 Merge remote-tracking branch 'origin/master' into develop 2020-12-23 04:02:16 +00:00
Ryan
806aa9bc67 Remove comments about custom ldscript for Teensy LC (#11224) 2020-12-23 15:01:44 +11:00
QMK Bot
529dad88dd Merge remote-tracking branch 'origin/master' into develop 2020-12-23 02:50:49 +00:00
Takeshi ISHII
dc7081a823 [Keymap] fix and update helix/rev3_5rows:five_rows (#11191)
* [Keymap] fix and update helix/rev3_5rows:five_rows

* fix rgblight animation selection
* use `DEBUG_MATRIX_SCAN_RATE_ENABLE` insted of keyboard_post_init_user_scan.c

* Change the initial value of the ENCODER_ENABLE to 'no' in 'keymaps/five_rows/rules.mk'

* Add 'HELIX=debug/no-debug' option into 'rev3_5rows/keymaps/five_rows/rules.mk'

* Add '#define OLED_UPDATE_INTERVAL 100' 'rev3_5rows/keymaps/five_rows/config.h'

* add LED_ANIMATIONS_LEVEL macro into rev3_5rows/keymaps/five_rows/

* Change OLED_UPDATE_INTERVAL value in rev3_5rows/keymaps/five_rows/config.h
2020-12-23 11:50:12 +09:00
QMK Bot
b02c694992 Merge remote-tracking branch 'origin/master' into develop 2020-12-23 00:45:29 +00:00
Reza Jelveh
fd177582ad chibios: honor PLATFORMASM in chibios build (#11219) 2020-12-23 11:44:49 +11:00
QMK Bot
dc6b0d3548 Merge remote-tracking branch 'origin/master' into develop 2020-12-22 21:05:31 +00:00
Kishor Prins
dee506c096 Updated Raw HID docs to clarify packet/report length (#11211)
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-23 08:04:55 +11:00
QMK Bot
1c04608b0a Merge remote-tracking branch 'origin/master' into develop 2020-12-22 20:33:41 +00:00
Ryan
78b2f120e5 V-USB: Fix initial dropped keypress (#11263) 2020-12-23 07:33:04 +11:00
QMK Bot
47db2d3062 Merge remote-tracking branch 'origin/master' into develop 2020-12-22 19:29:09 +00:00
SpacebarRacecar
ce7d3855f4 Update to personal keymaps (#11171) 2020-12-23 06:28:34 +11:00
QMK Bot
286ab6d53f Merge remote-tracking branch 'origin/master' into develop 2020-12-22 19:28:03 +00:00
Nathan13888
4eebefada7 [Keyboard] YMD75 rev 3: fix BACKLIGHT_PIN (#11172)
* YMD75 rev 3:  fix BACKLIGHT_PIN

Update backlight LED pin used by QMK to control the per-key backlight for YMD75 rev 3

* YMD75 rev 3: fix BACKLIGHT_PIN - fix comments

* YMD75: move BACKLIGHT_PIN definitions to the respective versions

Signed-off-by: Nathan13888 <29968201+Nathan13888@users.noreply.github.com>
2020-12-22 11:27:27 -08:00
Sendy Aditya Suryana
3b06ab51e5 [Keyboard] Add Pix (#11154)
* Add nakal4x keyboard firmware

* Fix VIA config

* Setup OLED

* Rename to pix

* Rename via.json to info.json

* Update keyboards/sendyyeah/pix/config.h

remove obsolete value as suggested by drashna

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

* Add GPL Like license header

* Remove unused bootloader list

* Change URL

* Update readme

* Delete via info.json

* Add GPL2+ license header on via keymap

* Update keyboards/sendyyeah/pix/rules.mk

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

* Update keyboards/sendyyeah/pix/keymaps/default/glcdfont.c

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

* Add GPL2+ license header on via keymap

* Add image

* Remove local drivers

* Remove unused method on keymap files

* Change project name on keymap readme files

* Update keyboards/sendyyeah/pix/rules.mk

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

* Update keyboards/sendyyeah/pix/readme.md

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

* Update keyboards/sendyyeah/pix/keymaps/default/glcdfont.c

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

* Update keyboards/sendyyeah/pix/keymaps/default/keymap.c

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

* Update keyboards/sendyyeah/pix/keymaps/via/keymap.c

Co-authored-by: Sendy Aditya Suryana <sendy.suryana@go-jek.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-22 11:20:09 -08:00
QMK Bot
3dde354736 Merge remote-tracking branch 'origin/master' into develop 2020-12-22 18:40:06 +00:00
cjcodell1
71b52416d8 [Keyboard] Add Nimrod (#11141)
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-22 19:39:29 +01:00
QMK Bot
824175e69c Merge remote-tracking branch 'origin/master' into develop 2020-12-22 18:11:31 +00:00
Dmitry Nosachev
bf324c38e3 [Keyboard] add ASkeyboard Sono1 (#11114)
* handwired/sono1

* readme: addition

* Apply suggestions from code review

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-22 10:10:56 -08:00
QMK Bot
603d5fbeb1 Merge remote-tracking branch 'origin/master' into develop 2020-12-22 17:52:34 +00:00
Joshua Diamond
f40b564683 Partial fix for Issue #9405 - Caps Lock not working with Unicode Map's XP on Linux (#11232) 2020-12-23 04:51:47 +11:00
QMK Bot
325179eb63 Merge remote-tracking branch 'origin/master' into develop 2020-12-22 17:40:46 +00:00
Jack
2843e7f995 [Keyboard] Add VIA keymap for the reviung41 (#11102)
* Add VIA keymap for reviung41

* Change VID for compatibility

* Add GPL header to config.h

* Enable link time optimization

* Remove config since it might not be needed
2020-12-22 09:40:04 -08:00
QMK Bot
96a5e560d7 Merge remote-tracking branch 'origin/master' into develop 2020-12-22 17:23:53 +00:00
Joshua Diamond
54e2bf3ede Fix Issue #9533 - Delayed shift state handling (#11220)
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-22 18:23:09 +01:00
QMK Bot
71fcfb3cb5 Merge remote-tracking branch 'origin/master' into develop 2020-12-22 09:15:10 +00:00
kb-elmo
9453573080 [Keyboard] Add Axolstudio Yeti (#11051) 2020-12-22 01:14:28 -08:00
QMK Bot
8f867c1bef Merge remote-tracking branch 'origin/master' into develop 2020-12-21 14:39:10 +00:00
Zach White
c0dcee96a8 Initial list of keyboards to exclude from CI (#11213) 2020-12-21 15:38:39 +01:00
QMK Bot
37bb69686c Merge remote-tracking branch 'origin/master' into develop 2020-12-21 14:35:14 +00:00
Ben
4e0718a3b7 [Keyboard] add Lily58L keymap (#9870)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-21 15:34:40 +01:00
QMK Bot
210e614d2a Merge remote-tracking branch 'origin/master' into develop 2020-12-21 12:30:13 +00:00
Erovia
a380a26ad2 Split of the doctor codebase (#11255)
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-21 13:29:36 +01:00
Nick Brassel
296a6cf4ea ChibiOS conf migrations... take 3 (#11261)
* Add SPI1 DMA stream definitions.

* ChibiOS conf upgrade for acheron/lasgweloth

 acheron/lasgweloth - 3bedb0fe1f1b542b4d90daeaeab8905cd9ee992c

* ChibiOS conf upgrade for box75

 box75 - ff91bacf5cec0b42df02967eb0ecbf4bd1b56928

* ChibiOS conf upgrade for geekboards/macropad_v2

 geekboards/macropad_v2 - 1c205720d47f7e636173064b1aef1637860a9134

* ChibiOS conf upgrade for iron180

 iron180 - 867929d78361a50e34671e4e167cafd927d8982b

* ChibiOS conf upgrade for technika

 technika - cb9295b90980eb8dfdc63d6031533edbb344c045
2020-12-21 15:02:38 +11:00
QMK Bot
c8cd2caeac Merge remote-tracking branch 'origin/master' into develop 2020-12-21 02:12:40 +00:00
Ryan
e3211e307e Fix small typo in V-USB configuration descriptor (#11253) 2020-12-21 13:12:07 +11:00
QMK Bot
d7385676bc Merge remote-tracking branch 'origin/master' into develop 2020-12-20 14:46:35 +00:00
Ryan
0239ce025a Doctor: add check for .git folder (#11208)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-12-20 15:46:01 +01:00
QMK Bot
aee1798476 Merge remote-tracking branch 'origin/master' into develop 2020-12-20 08:09:09 +00:00
Nick Brassel
13bbeefc5a Follow symlinks when listing keyboards. (#11250) 2020-12-20 19:08:39 +11:00
QMK Bot
24e827ee1f Merge remote-tracking branch 'origin/master' into develop 2020-12-20 02:28:28 +00:00
Takeshi ISHII
63362a9c5e [Keymap] fix keyboards/helix/rev2/keymaps/default/oled_display.c (#11228)
Fixed the OLED display on the right side as it was showing some garbage.
右側のOLEDディスプレイにゴミが表示されていたのを修正しました。
2020-12-20 13:27:54 +11:00
QMK Bot
8cb52b2048 Merge remote-tracking branch 'origin/master' into develop 2020-12-19 21:15:16 +00:00
MechMerlin
25b1367806 VIA Support: MF68 (#11030)
* add via support to mf68 pcb

* add license header
2020-12-19 13:14:41 -08:00
QMK Bot
32f53c0671 Merge remote-tracking branch 'origin/master' into develop 2020-12-19 18:47:05 +00:00
Zach White
624cafbfd2 Change keyboard json format to bring it inline with the current api (#11231) 2020-12-19 19:46:30 +01:00
QMK Bot
d11116f734 Merge remote-tracking branch 'origin/master' into develop 2020-12-19 18:43:32 +00:00
Drashna Jaelre
5619b1d3db [Keyboard] Add drashna's dactyl manuform 5x6 with trackball (#11062)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-12-19 19:43:00 +01:00
QMK Bot
35e684d1ff Merge remote-tracking branch 'origin/master' into develop 2020-12-19 00:43:05 +00:00
Zach White
bded5f473c simplify qmk doctor to make room for #11208 (#11242) 2020-12-18 16:42:30 -08:00
QMK Bot
45a1a3239d Merge remote-tracking branch 'origin/master' into develop 2020-12-18 20:57:00 +00:00
precondition
6890090fbb Updated usage of qmk c2json (#11148) 2020-12-18 21:56:23 +01:00
QMK Bot
d66c14b71e Merge remote-tracking branch 'origin/master' into develop 2020-12-18 20:18:55 +00:00
Zach White
03cbee8637 Add the ability to exclude keyboards from travis builds (#11178)
* add the ability to exclude keyboards from travis builds

* add filtering to make all:

* only skip keyboards during make all:

* working implementation

* forego a CI_KEYBOARDS variable

* optimize the startup by only listing keyboards once

* add sort -u to all list_keyboard invocations

* move the if else if tree back to 1 level
2020-12-18 12:17:53 -08:00
QMK Bot
06f9297f94 Merge remote-tracking branch 'origin/master' into develop 2020-12-18 17:29:08 +00:00
Joel Challis
a9f7d4dccc Various compilation fixes for avr-gcc 10 (#9269) 2020-12-18 17:28:29 +00:00
Ryan
115b60b0e1 Fix duplicate I2C_KEYMAP_START define (#11237) 2020-12-17 15:49:24 +00:00
fauxpark
7797070b37 Merge remote-tracking branch 'upstream/master' into develop 2020-12-18 02:15:28 +11:00
Ryan
6ea4b06f9f Run cformat and dos2unix manually (#11235) 2020-12-17 14:06:30 +00:00
QMK Bot
973057cfe4 Merge remote-tracking branch 'origin/master' into develop 2020-12-17 09:51:19 +00:00
maikong
d9dcb716bf [Keyboard] add MT64RGB (#10865)
* Create mt64

* Create mt84rgb

* Delete mt64

* Add files via upload

* Create MK84RGB

* gx84

* add new keyboard

* new keyboard

* Delete MK84RGB

* Delete config.h

* Delete mt84.c

* Delete mt84.h

* Delete mt84rgb

* Delete rules.mk

* add info json

* Add files via upload

* Delete config.h

* Delete rules.mk

* Delete keymap.c

* Delete keymap.c

* Delete info.json

* Delete mt64rgb.c

* Delete mt64rgb.h

* Delete rules.mk

* add keyboard

* Delete config.h

* Delete info.json

* Delete mt64rgb.c

* Delete mt64rgb.h

* Delete rules.mk

* Delete rules.mk

* Delete keymap.c

* Delete keymap.c

* Delete config.h

* Delete mt84.c

* Delete mt84.h

* Delete rules.mk

* Delete rules.mk

* Delete keymap.c

* Delete keymap.c

* Delete info.json

* Add files via upload

* Delete keymap.c

* Add files via upload

* Delete keymap.c

* Add files via upload

* Delete rules.mk

* Add files via upload

* Delete config.h

* Add files via upload

* Update config.h

* Update keymap.c

* Update keymap.c

* Update and rename keyboards/mt64rgb/keymaps/default/keymap.c to 键盘/mt64rgb/按键图/默认/keymap.c

* Update mt64rgb.h

* Update mt64rgb.c

* Update and rename keyboards/mt64rgb/rules.mk to 键盘/mt64rgb/rules.mk

* Update config.h

* Update rules.mk

* Update readme.md

* Update keymap.c

* Create rules.mk

* Update keymap.c

* Create keymap.c

* Delete keymap.c

* Update keymap.c

* Update keymap.c

* Update mt64rgb.h

* Delete rules.mk

* Update readme.md

* Update rules.mk

* Update readme.md

* Update info.json

* Update keymap.c

* Update mt64rgb.c

* Update config.h

* Update keymap.c

* Update readme.md

* Update rules.mk

* Update keymap.c

* Update config.h

* Update readme.md

* Update rules.mk

* Update readme.md

* Update config.h
2020-12-17 01:50:42 -08:00
QMK Bot
e58f69ea6a Merge remote-tracking branch 'origin/master' into develop 2020-12-17 06:47:47 +00:00
hekekee
8346151fe0 [Keymap] ISO layout for KBD67 rev 2.0 (#11136) 2020-12-16 22:47:12 -08:00
QMK Bot
1bd9570ece Merge remote-tracking branch 'origin/master' into develop 2020-12-17 06:45:50 +00:00
Liviturtle
dc4c80eef4 [Keyboard] add Labyrinth75 (#11135)
* added Labyrinth75

* changed to lowercase inline with the PR checklist

* added a correctly formatted image to readme.md

* fixed imgur link

* fixed info.json

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

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

* Update keyboards/labyrinth75/labyrinth75.h

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

* remove superfluous backslashes

* Update keyboards/labyrinth75/config.h

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

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-16 22:45:21 -08:00
QMK Bot
398f67290c Merge remote-tracking branch 'origin/master' into develop 2020-12-17 06:44:20 +00:00
r-pufky
c4aae0e93b [Keymap] Update based on massdrop/ctrl core changes n(#11134) 2020-12-16 22:43:49 -08:00
QMK Bot
ddc27c2935 Merge remote-tracking branch 'origin/master' into develop 2020-12-17 05:56:48 +00:00
haierwangwei2005
49b6c5fd83 [Keyboard] Update config for 10 ble oled usbhub pad (#11066) 2020-12-16 21:56:17 -08:00
QMK Bot
41bf5505eb Merge remote-tracking branch 'origin/master' into develop 2020-12-17 05:45:49 +00:00
smssmssms
7938921f9e [Keyboard] Add POS78 keyboard (#11024)
* Add pos78 keyboard

* tidy up links

* Added missing commas

The missing commas were causing a compile error (Travis CI, #41934 failed).

* Added trailing commas 

On lines 10-14, just missed last line (15).

* Travis CI errors

Trying to correct errors from Travis CI #41951 failed

* Corrected(?) TG(_FN) from Travis CI failure

* Revert readme.md to original format

Fauxpark

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

* Remove trailing \ from keymap.c

Fauxpark

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

* Change Vendor and Product ID

How do I update the Product ID search tool if 0x7878 is used/good?

* Add  LAYOUT_ortho_6x13 Update keyboards/pos78/pos78.h

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

* I bow to drashna's superior knowledge. Update keyboards/pos78/info.json

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

* I bow to drashna's superior knowledge.  Update keyboards/pos78/keymaps/default/keymap.c

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

* I bow to drashna's superior knowledge.   Update keyboards/pos78/keymaps/default/keymap.c

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

* Added pic

* Add picture properly. Update keyboards/pos78/readme.md

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

* Remove Bootmagic_enable (fauxpark)

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-16 21:45:11 -08:00
QMK Bot
4352416d77 Merge remote-tracking branch 'origin/master' into develop 2020-12-17 05:28:22 +00:00
melonbred
58107ebedf [Keyboard] Add program_yoink (#10963)
* Add new keyboard: program_yoink

* Updated rules.mk

* Updated split_space keymap

Fixed split_space keymap and now builds with no errors.

* Update keyboards/program_yoink/config.h

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

* Update keyboards/program_yoink/config.h

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

* Update keyboards/program_yoink/rules.mk

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

* Update keyboards/program_yoink/program_yoink.h

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

* Update keyboards/program_yoink/program_yoink.h

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

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

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

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

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

* Update keyboards/program_yoink/keymaps/split_bar/keymap.c

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

* Update keyboards/program_yoink/keymaps/split_bar/keymap.c

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

* Update keyboards/program_yoink/keymaps/split_bar/keymap.c

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

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

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

* Update readme.md

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Update keyboards/program_yoink/readme.md

per code review

* Apply suggestions from code review

* Update keyboards/program_yoink/rules.mk

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

* Update keyboards/program_yoink/config.h

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

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-16 21:27:47 -08:00
QMK Bot
cb3dff5c3f Merge remote-tracking branch 'origin/master' into develop 2020-12-17 05:26:37 +00:00
Álvaro A. Volpato
d82ab56a14 [Keyboard] Box75 (#10949)
* Initial BOX75 PCB v1.0.6 PCB support

* New prototype firmware

* Correct column pin assignment

* Update README

* Update keyboards/box75/config.h

Remove USB description

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

* Update keyboards/box75/rules.mk

Remove comment lines from BLUETOOTH_ENABLE and AUDIO_ENABLE

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

* Add VIA support

* Remove KC_NO define and use traditional one

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

Move KC_HOME location on keymap.c

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

* Update keyboards/box75/box75.h

Move HOME key location on keymap.c

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

* Changed F13 to print screen in default VIA firmware

Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-12-16 21:26:03 -08:00
QMK Bot
4631e4ef8e Merge remote-tracking branch 'origin/master' into develop 2020-12-17 05:25:34 +00:00
Álvaro A. Volpato
14024fabeb [Keyboard] Iron180 (#10948)
* Initial CK60i support

* Initial Iron180 support

* Add PWM support

* Feedback from PCB protos

* Update README

* Remove CK60i references

* Remove KC_NO ____ definition and replaced with predefined

* Remove description field in USD descriptors

* Shorten bluetooth enable and audio output comments on rules.mk

* Initial VIA support

Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
2020-12-16 21:24:59 -08:00
QMK Bot
45fa5416ab Merge remote-tracking branch 'origin/master' into develop 2020-12-17 05:22:14 +00:00
Álvaro A. Volpato
d60031b321 [Keyboard] Technika (#10946)
* Initial technika support

* Updated README

* Update keyboards/technika/config.h

Remove DESCRIPTION from usb desciptor fields

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

* Update keyboards/technika/rules.mk

Remove words from comments in rules.mk

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

* Remove old KC_NO definitions and used default one

* Use defines for num, caps and scroll lock LED pins

* Fix underscore KC_NO substitution in keymap

Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-16 21:21:37 -08:00
Casey Webster
5e2b53541b Add modifier state to the split keyboard transport (#10400)
* Add modifier state to the split transport

This adds modifier state to the i2c and serial transport for split
keyboards.  The purpose of this is to allow e.g. displaying modifier
state on the slave side of a split keyboard on an oled.  This adds one
byte to the data transferred between halves.

This also fixes a missing ifdef guard for BLACKLIGHT_ENABLE.

Break modifiers into real/weak/oneshot

Fix incorrect slave serial mod setting

Fix typo in serial weal mod setter

Fix build errors for the I2C code that I introduced

Code cleanup and formatting per project preferences

Correctly get oneshot mods

Fix missing braces

Remove unneeded ifdef guard

Make the added state transport optional

Add documentation for the new define to enable this feature

Fix stray grave mark

* Fix error introduced in conflict resolution
2020-12-17 16:21:26 +11:00
QMK Bot
9c205d4a29 Merge remote-tracking branch 'origin/master' into develop 2020-12-16 23:00:55 +00:00
Joel Challis
c807695035 Yet another stab at trying to get github actions to push (#11230) 2020-12-16 23:00:02 +00:00
QMK Bot
4f431e8a90 Merge remote-tracking branch 'origin/master' into develop 2020-12-16 21:03:23 +00:00
Alabahuy
11669bb45b [Keyboard] Add rart/rart4x4 with VIA support (#11095)
* Create config.h

* Create info.json

* Create rart4x4.c

* Create rart4x4.h

* Create readme.md

* Create rules.mk

* Create keymap.c

* Create keymap.c

* Rename keyboards/rart/rart4x4/default/keymap.c to keyboards/rart/rart4x4/keymaps/default/keymap.c

* Rename keyboards/rart/rart4x4/via/keymap.c to keyboards/rart/rart4x4/keymaps/via/keymap.c

* Create rules.mk

* Update info.json

* Update keymap.c

* Update rart4x4.h

* Update rules.mk
2020-12-16 13:02:47 -08:00
QMK Bot
13b31938ce Merge remote-tracking branch 'origin/master' into develop 2020-12-16 17:48:32 +00:00
ridingqwerty
3295ac90ee New keyboard: wsk/alpha9 (#10430)
* adding alpha variants

* adding cajal layouts

* adding V2 PCB support

adding additional layouts for new PCB version, and correecting incorrect image in info file

* Cleanup master -- remove alpha9

* Cleanup master -- remove g4m3ralpha

* Cleanup master -- remove cajal & sl40

* Master cleanup -- re-add sl40

* Master cleanup -- correct SL40 image

* Add keyboard: wsk/alpha9

* Cleaned up default keymap

* Removed misleading keymap README

* Slight tweak to default keymap.c

* Added license attribution to .{c,h} files

* Update keyboards/wsk/alpha9/config.h

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

* Update keyboards/wsk/alpha9/alpha9.c

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

* Update keyboards/wsk/alpha9/rules.mk

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

* Update keyboards/wsk/alpha9/keymaps/default/keymap.c

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

* Update keyboards/wsk/alpha9/config.h

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

* Update keyboards/wsk/alpha9/info.json

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

* Update keyboards/wsk/alpha9/config.h

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

* Update keyboards/wsk/alpha9/rules.mk

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

* Update keyboards/wsk/alpha9/alpha9.c

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

* Update keyboards/wsk/alpha9/config.h

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

Co-authored-by: worldspawn00 <mcmancuso@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-16 12:47:56 -05:00
QMK Bot
a5dd5bfd26 Merge remote-tracking branch 'origin/master' into develop 2020-12-16 17:37:30 +00:00
cBachoo
0d42d7b87b Added Split Backspace Support for the Nemui (#11131)
* added nemui layout

* via support working

* added license headers for c and h files

* Update keyboards/nemui/keymaps/via/rules.mk

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

* Update keyboards/nemui/nemui.c

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

* Update keyboards/nemui/config.h

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

* Update keyboards/nemui/readme.md

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

* Update keyboards/nemui/rules.mk

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

* removed nemui.json as it was supposed to only be in via repo

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

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

* Update keyboards/nemui/info.json

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

* Update keyboards/nemui/info.json

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

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

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

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

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

* added split backspace support for the nemui

* need to also update the qmk keymap

* fixed info.json to have the new keys

* vusb changes shouldn't have happened

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-12-16 12:36:57 -05:00
QMK Bot
2e0f2025bd Merge remote-tracking branch 'origin/master' into develop 2020-12-16 03:27:52 +00:00
Ryan
9366ed7282 Normalise include statements in keyboard code (#11185) 2020-12-16 14:27:23 +11:00
QMK Bot
416dea2c54 Merge remote-tracking branch 'origin/master' into develop 2020-12-16 03:25:18 +00:00
Ryan
37fb14f1b5 CLI-ify rgblight_breathing_table_calc.c (#11174)
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
Co-authored-by: Zach White <skullydazed@drpepper.org>
2020-12-16 14:24:42 +11:00
QMK Bot
55f681a723 Merge remote-tracking branch 'origin/master' into develop 2020-12-15 17:27:06 +00:00
Ryan
3925ff5342 gh60/satan: fix indicator LED define (#11216) 2020-12-15 17:26:18 +00:00
QMK Bot
c1b8b811ed Merge remote-tracking branch 'origin/master' into develop 2020-12-15 11:14:52 +00:00
MakotoKurauchi
0831a3181a [Keymap] Helix default keymap oled update (#11152)
* update keyboards/helix/rev2/local_features.mk - Improved parsing of the `HELIX =` option

* add 'is_mac_mode()' into keyboards/helix/rev2/rev2.c

* update helix/rev2/keymaps/default/keymap.c: use rgblight query functions

* Makes the OLED driver used by the helix:default keymap switchable.

* use TOP/drivers/oled/oled_driver.c
  `make  helix:default`
  or
  `make OLED_SELECT=core  helix:default`
* use helix/local_drivers/ssd1306.c
  `make OLED_SELECT=local  helix:default`

* Separated the OLED related code from keymap.c and moved it to oled_display.c.

* Change the 'led_test' keymap to follow the changes in the 'default' keymap.

* update helix/rev2/keymaps/default/oled_display.c

* add '#define OLED_UPDATE_INTERVAL 50' into keyboards/helix/rev2/config.h

* Support for OLED_UPDATE_INTERVAL, even for older types of OLED tasks

* add readme.md for helix/rev2

* Apply drashna's suggestions to rev2.c.

* Apply drashna's suggestions to rev3_4rows.c, rev3_5rows.c.

Co-authored-by: mtei <2170248+mtei@users.noreply.github.com>
2020-12-15 20:14:14 +09:00
QMK Bot
9a04739b98 Merge remote-tracking branch 'origin/master' into develop 2020-12-14 22:27:09 +00:00
labahuy
ac8cddda22 [Keyboard] rart/rart45 (#11096)
* Create config.h

* Create info.json

* Create rart45.c

* Create rart45.h

* Create readme.md

* Create rules.mk

* Create keymap.c

* Create keymap.c

* Create rules.mk

* Update config.h

* Update rart45.c

* Update rart45.h

* Update rules.mk

* Update readme.md

* Update info.json
2020-12-14 14:26:30 -08:00
QMK Bot
ac0ad5ad17 Merge remote-tracking branch 'origin/master' into develop 2020-12-14 19:13:38 +00:00
Yan-Fa Li
e6217b6aa6 Selectively enable command and console for yanfali userspace (#11212)
* Remove command and console

 - these options prevent community layouts from being built on other
   keyboards. Selectively enable it on keyboards I own rather than on
   everything.

* Update users/yanfali/rules.mk
2020-12-14 11:13:00 -08:00
QMK Bot
6c8ed21022 Merge remote-tracking branch 'origin/master' into develop 2020-12-13 21:47:56 +00:00
Joel Challis
795e82074d Another attempt to fix formatting workflow (#11187) 2020-12-13 21:47:20 +00:00
QMK Bot
25a1cb5a15 Merge remote-tracking branch 'origin/master' into develop 2020-12-13 18:51:35 +00:00
Xelus22
70f40339c2 Add i2c 24LC64 eeprom (#11200)
* add 24LC64 eeprom

* docs update

* Update docs/eeprom_driver.md

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

Co-authored-by: Joel Challis <git@zvecr.com>
2020-12-14 05:50:50 +11:00
QMK Bot
11ee2736bd Merge remote-tracking branch 'origin/master' into develop 2020-12-12 18:19:43 +00:00
Takeshi ISHII
10e4487ba3 Fix incorrect search order for rgblight_breathe_table.h that rgblight.c includes. (#11192)
When `rgblight.c` includes `rgblight_breathe_table.h`, the search order should be as follows.

* `keyboards/KEYBOARD/keymaps/USER/rgblight_breathe_table.h`
* `users/USER/rgblight_breathe_table.h`
* `quantum/rgblight_breathe_table.h`

However, the current implementation was wrong, so I fixed it.
2020-12-13 03:19:15 +09:00
QMK Bot
d7e285a4d9 Merge remote-tracking branch 'origin/master' into develop 2020-12-11 19:00:42 +00:00
Hedgestock
8ea7f4f45f Fixed french quotes on canadian multilingual (#11183) 2020-12-11 19:00:07 +00:00
QMK Bot
6873c4cf91 Merge remote-tracking branch 'origin/master' into develop 2020-12-11 13:49:45 +00:00
Joel Challis
4b03b6f7f4 Nightingale Studios Hailey production fixes (#11180) 2020-12-11 13:49:31 +00:00
Joel Challis
1ebd243cdc CI automated format fixes (#11179)
* Format all C files for now, till diff logic works within CI

* Fix recursion of dos2unix
2020-12-11 13:49:03 +00:00
QMK Bot
a023484d64 Merge remote-tracking branch 'origin/master' into develop 2020-12-11 12:50:39 +00:00
David Heck
b185816717 Add XD75am as supported in XD75 readme (#11170) 2020-12-11 23:50:05 +11:00
QMK Bot
fdfcce57e1 Merge remote-tracking branch 'origin/master' into develop 2020-12-11 02:46:19 +00:00
Ryan
501f2fdef1 Normalise include statements in core code (#11153)
* Normalise include statements in core code

* Missed one
2020-12-11 13:45:24 +11:00
QMK Bot
ed76f4394f Merge remote-tracking branch 'origin/master' into develop 2020-12-10 19:03:17 +00:00
Joel Challis
5b5d74a267 Fix warning logic when running 'qmk format -a' (#11177) 2020-12-10 19:02:41 +00:00
QMK Bot
f77f715aa2 Merge remote-tracking branch 'origin/master' into develop 2020-12-10 17:02:28 +00:00
Joel Challis
6c4b6531fe CI: Add workflow for codebase formatting (#7382)
* Add workflow for codebase formatting

* stash

* review comments

* Swap to a more complete push action
2020-12-10 17:01:51 +00:00
QMK Bot
15373c8367 Merge remote-tracking branch 'origin/master' into develop 2020-12-10 14:47:20 +00:00
ojthetiny
82bb47a2f1 add Via keymap for beatervan (#11159)
* add via keymap for beatervan

* fixed error in rules.mk
2020-12-10 09:46:46 -05:00
QMK Bot
f743ff2256 Merge remote-tracking branch 'origin/master' into develop 2020-12-10 14:31:52 +00:00
ojthetiny
9517d90e84 add VIA keymap for edc40 (#11160)
* add via keymap for edc40

* fix error in keymap
2020-12-10 09:31:12 -05:00
QMK Bot
b8b8a294d3 Merge remote-tracking branch 'origin/master' into develop 2020-12-10 02:08:06 +00:00
Ryan
79d992d1e7 Use progmem.h for claw44 glcdfont (#11164) 2020-12-10 13:07:08 +11:00
QMK Bot
5e04ed9f53 Merge remote-tracking branch 'origin/master' into develop 2020-12-09 17:29:35 +00:00
Xelus22
cd67074f72 [Keyboard] Valor FRL TKL update - EEPROM change (#11163)
* valor fix

* change eeprom

* fix up eeprom
2020-12-09 09:28:58 -08:00
QMK Bot
5689df7490 Merge remote-tracking branch 'origin/master' into develop 2020-12-09 08:56:17 +00:00
Nick Brassel
01c7108db5 Fixup config template to match <> instead of "" for includes. (#11166) 2020-12-09 19:55:43 +11:00
QMK Bot
cc14d32941 Merge remote-tracking branch 'origin/master' into develop 2020-12-09 08:04:32 +00:00
Ryan
f440111b4b Fix titan60 and h660 error_log complaints (#11124) 2020-12-09 19:03:51 +11:00
fauxpark
95c39b3727 Merge remote-tracking branch 'upstream/master' into develop 2020-12-09 18:21:45 +11:00
Jay Greco
56933b9b9f [Keymap] Fix rules.mk for nullbits nibble oled keymap (#11142) 2020-12-08 17:49:10 -08:00
Sergey Omelchenko
e03d72d71e [Keyboard] Geekboards Macropad V2 keyboard (#11045)
* Initial commit of Geekboards Macropad V2 keyboard

* Apply suggestions from code review

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

* Apply suggestions from code review: delete unnecessary files

* Fixed typos

* Apply suggestions from code review

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

* Change RGB_MATRIX config syntax following recent core changes

* Apply suggestions from drashna code review

* Remove unnecessary file (it is now defined in the core)

* Remove unnecessary code, due to PR 11084 approve

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-08 15:58:32 -08:00
Borja López Jiménez
563723392f Fixed taleguers75 info.json (#11121) 2020-12-08 14:28:13 -05:00
Charles A Moonen
2ae700c8c8 Add missing hardware availability for Plank EZ (#11069)
Add missing information needed to mirror the supported hardware in the previous line
2020-12-08 14:12:41 -05:00
Kyle McCreery
666861dd6f [Keyboard] Big Dill Extended by MechWild (#11047)
* [Keyboard] New Keyboard - BDE

Added the Big Dill Extended by MechWild

* Corrected pinout for righty config

Corrected the copied line from the lefty config that had not been updated prior to this commit.

* Corrected the files that had been overwritten with old versions during testing.

* Update keyboards/mechwild/bde/lefty/config.h

* Made changes based on suggestions. Added GPL and split preference config.h lines into keymap level.

* Apply suggestions from code review

Readme cleanup

* Update keyboards/mechwild/bde/lefty/keymaps/fancy/config.h

* Update keyboards/mechwild/bde/lefty/keymaps/via/config.h

* Apply suggestions from code review

Corrects a stray style line in one of the readme files as well as correcting the name of the keymap layout from the inaccurate 3x14 name to just "layout"
2020-12-08 01:14:54 -08:00
Nick Brassel
eb3964bd57 ChibiOS conf migration: dekunukem/duckypad (#11123) 2020-12-08 15:05:11 +11:00
kb-elmo
35f922df73 add via layout for aek2 usb pcb (#11125) 2020-12-08 13:51:07 +11:00
Evy Dekkers
af03b92246 [Keyboard] Add nt980 (#11092)
* Add nt980

* update LED configuration
2020-12-07 18:20:48 -08:00
sithlord121
d354b1f0a4 [Keyboard] New keyboard SLZ40 (#11088)
* New SLZ40 keyboard

new keyboard added

* Update readme.md

* Update info.json

* Delete slz40_default.hex

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

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

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

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

* Update readme.md

* Update readme.md

Co-authored-by: Joel Challis <git@zvecr.com>
2020-12-07 18:18:16 -08:00
Quentin
95022bc366 [Keyboard] Add Bastyl keyboard (#11085)
* add bastyl

* no need to copy the folder anymore

* clean up according to PR rules

* remove via, fix disposition

* add reset button on right half

* Update readme.md

* Update keyboards/hidtech/bastyl/bastyl.h

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

* Update keyboards/hidtech/bastyl/rules.mk

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

* Update keyboards/hidtech/bastyl/config.h

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

* move json, remove via files

* Update keyboards/hidtech/bastyl/keymaps/default/keymap.c

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

* Update keyboards/hidtech/bastyl/keymaps/default/keymap.c

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

* Update keyboards/hidtech/bastyl/keymaps/default/keymap.c

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

* Update keyboards/hidtech/bastyl/keymaps/default/keymap.c

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

* add GPL to c and h files

* Update keyboards/hidtech/bastyl/info.json

Change order to match layout macro

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

* Update keyboards/hidtech/bastyl/config.h

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

* serial define can be ommited, is used by default

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-07 18:16:28 -08:00
David Hoelscher
399be2a9b3 [Keyboard] Add customMK Genesis Macro Pad (#11080)
* Adding customMK Genesis keyboard and keymap files

* Updated readme.md

fixed a typo

* Fixed code for QMK PR

* Updated syntax in config.h and changed dfu to flash in readme

Co-authored-by: Ray <ray@custommk.com>
2020-12-07 18:10:45 -08:00
stanrc85
ab2a43edb0 [Keymap] sneakbox keymap and userspace code (redo) (#10977)
* Add support for LAYOUT_alice to sneakbox pcb

* define variables for sneakbox led pins

* set rules for sneakbox pcb

* add rotary encoder to userspace

* fix rotary function

* add custom layer indicators for sneakbox

* Revert "Add support for LAYOUT_alice to sneakbox pcb"

This reverts commit 5ed94d8d89.

* add license header

* Use  KEYBOARD_sneakbox_aliceclone

* cleaned up indicator code
2020-12-07 17:18:04 -08:00
Erovia
d17caeb8ec Fix lineending in mt84 files (#11150) 2020-12-07 20:21:44 +00:00
QMK Bot
cf0ae2abe8 Merge remote-tracking branch 'origin/master' into develop 2020-12-07 19:39:49 +00:00
maikong
10f7f6009d add mt84 keyboard (#10857)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-07 19:39:18 +00:00
QMK Bot
7222210454 Merge remote-tracking branch 'origin/master' into develop 2020-12-07 19:08:02 +00:00
James Smith
9346bd6f80 Eek! keyboard firmware merge into QMK (#11020)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-12-07 19:07:25 +00:00
QMK Bot
07502a28f7 Merge remote-tracking branch 'origin/master' into develop 2020-12-07 18:15:16 +00:00
monjebf
a5a1f860c0 Add VIA support for E88 (#11065)
* Add VIA support for E88

* Update keyboards/e88/keymaps/via/keymap.c
2020-12-07 10:14:40 -08:00
QMK Bot
0e65e9ad51 Merge remote-tracking branch 'origin/master' into develop 2020-12-06 20:04:55 +00:00
encg
3a69d688f2 [Keymap] Adding encg keymap for 2% Milk keyboard (#11041)
* adding my keymap

* Updating coding convention and style for new keymap PR

* Added GPL license header and to-do list to readme
2020-12-06 12:04:22 -08:00
QMK Bot
7fba37db06 Merge remote-tracking branch 'origin/master' into develop 2020-12-06 19:57:57 +00:00
Joel Challis
e2e6ff43ab Use patch bump for auto tagging workflow (#11137) 2020-12-06 19:57:28 +00:00
QMK Bot
4acfa14df1 Merge remote-tracking branch 'origin/master' into develop 2020-12-06 19:18:04 +00:00
Dmitry Nosachev
b953a585d6 handwired/videowriter: oleg keymap update, via keymap (#10984)
* oleg keymap update, via keymap

* Apply suggestions from code review

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

* via keymap use default bootloader

Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-06 11:17:31 -08:00
QMK Bot
354262dfe9 Merge remote-tracking branch 'origin/master' into develop 2020-12-06 18:57:23 +00:00
Álvaro A. Volpato
dfeba3f9b6 [Keyboard] Add Lasgweloth (#10944)
* Initial Lasgweloth PCB support

* Fix column attribution

* Fix Col1 pin assignment

* New xoxotus layout and revised README

* Removed KC_NO definition

* Update keyboards/acheron/lasgweloth/config.h

Remove USB DESCRIPTION filed from config.h

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

* Update keyboards/acheron/lasgweloth/rules.mk

Remove unnecessary comment lines on rules.mk

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

* Update readme.md

Update readme.md

Co-authored-by: Gondolindrim <alvaro.augusto.volpato@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-06 10:56:48 -08:00
QMK Bot
41a76cd810 Merge remote-tracking branch 'origin/master' into develop 2020-12-06 18:12:30 +00:00
Ralph Azucena
df3a81b31e [Keyboard] Added a dactyl promicro rah (#10889)
* Added a dactyl promicro with a slightly different 6x6 layout

* updated keyboard layout

* Removed description as per code review

* refactored as per code review

* removed redundant config.h file

* removed and updated a couple of lines in rules.mk

* replaced symlink with copy of file

* removed lines in readme

* Update readme.md

Co-authored-by: ralphie02 <ralph.azucena@carbon60.com>
2020-12-06 10:11:59 -08:00
QMK Bot
b36e32a676 Merge remote-tracking branch 'origin/master' into develop 2020-12-06 17:38:05 +00:00
haierwangwei2005
f1b082320e [Keyboard] Latin47ble bluetooth keyboard (#11023)
* Create rules.mk

* Create glcdfonr.c

* Create keymap.c

* Create keymap.c

* Create rules.mk

* Add files via upload

* Update readme.md

* Update readme.md

* Update readme.md

* Update config.h

* Update 10bleoledhub.h

* Update 10bleoledhub.c

* Update info.json

* Update keymap.c

* Update keymap.c

* Rename glcdfonr.c to glcdfont.c

* Update config.h

* Update config.h

* Update config.h

* Update rules.mk

* Update 10bleoledhub.c

* Update 10bleoledhub.h

* Update info.json

* Update config.h

* Update rules.mk

* Update keymap.c

* Update keymap.c

* Update glcdfont.c

* Update keyboards/10bleoledhub/rules.mk

* Update keyboards/10bleoledhub/keymaps/via/keymap.c

* Update keyboards/10bleoledhub/keymaps/default/keymap.c

* Update keyboards/10bleoledhub/config.h

* Update keyboards/10bleoledhub/config.h

* Update keyboards/10bleoledhub/10bleoledhub.h

* Create readme.md

* Create rules.mk

* Create latin47ble.h

* Create latin47ble.c

* Create info.json

* Create config.h

* Create keymap.c

* Create rules.mk

* Create keymap.c

* Update keymap.c

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

* Update keymap.c

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

* Update keyboards/latin47ble/rules.mk

* Update keyboards/latin47ble/rules.mk

* Update keyboards/latin47ble/rules.mk

* Update latin47ble.h

* Update latin47ble.c

* Update latin47ble.h

* Update latin47ble.c

* Update keymap.c

* Update keymap.c

* Update config.h

* Update keyboards/latin47ble/config.h

* Update keyboards/latin47ble/config.h

* Update keyboards/latin47ble/config.h

* Update keyboards/latin47ble/config.h

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

* Update keyboards/latin47ble/rules.mk

* Delete info.json

* Update readme.md

* Update keymap.c

* Update keymap.c

* Update keyboards/latin47ble/config.h

* Update keyboards/latin47ble/config.h

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

* Update keyboards/latin47ble/latin47ble.c

* Update keyboards/latin47ble/latin47ble.h

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

* Update keymap.c

* Update keymap.c

* Update latin47ble.h

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update keymap.c

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

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

* Update keyboards/latin47ble/latin47ble.h

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

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

* Update keyboards/latin47ble/rules.mk
2020-12-06 09:37:32 -08:00
QMK Bot
e31671ece0 Merge remote-tracking branch 'origin/master' into develop 2020-12-06 12:54:36 +00:00
Joel Challis
8d6ad23b09 CI: Add workflow for tagging essential modified files (#7384)
* Add workflow for tagging essential modified files

* Update inline with recent actions

* align rules to labeler

* Update .github/workflows/auto_tag.yaml
2020-12-06 12:54:08 +00:00
QMK Bot
3aa2c122e1 Merge remote-tracking branch 'origin/master' into develop 2020-12-06 06:39:15 +00:00
MechMerlin
a6a1289003 Revert back to the old matrix (Take the blue pill) (#10568)
* revert back to the old matrix.

* apparently I can't count, J is the 19th not the 20th column
2020-12-06 17:38:46 +11:00
QMK Bot
688b8df982 Merge remote-tracking branch 'origin/master' into develop 2020-12-06 06:32:11 +00:00
Wilba
644dd9c388 Added WT60-G (#10876) 2020-12-06 17:31:41 +11:00
QMK Bot
d62e367280 Merge remote-tracking branch 'origin/master' into develop 2020-12-06 06:31:03 +00:00
Jacob Jerrell
3076f86dc1 Bocaj - Third Annual Refactor (Redux) (#10295)
* Reset everything to upstream, reapply Bocaj changes

* Bocaj - address PR comments

* Just in time changes

* Bocaj - Several adjustments after using the layout for a while
2020-12-06 17:30:27 +11:00
Jesper Jensen
63d06655e6 gcc 10 compatibility for Drop alt (#9485)
* Split dmac_desc declaration and definition

According to the official documentation[1] gcc 10 is more strict about
correct extern usage.

I've had to move the definition of dmac_desc and dmac_desc_wb from
i2c_master.h to the corresponding .c file. This could be an issue if
anyone includes the i2c_master.h file without liking with the object
file.

[1]: https://gcc.gnu.org/gcc-10/porting_to.html

* Remove the keymap_config definition from keymaps

The keymap_config def was conflicting with the one found in
tmk_core/common/magic.c. Declaring it extern in magic.c breaks a bunch
of keyboard that rely on that declaration (like the ergodox). Instead
I've removed the one found in the keymap.c of the massdrop alt.

The same change will have to be made to other keyboards.
2020-12-06 17:24:49 +11:00
QMK Bot
7043561459 Merge remote-tracking branch 'origin/master' into develop 2020-12-06 06:18:31 +00:00
Xelus22
6b1f96dca8 Update is31fl3731-simple (#7610)
* update simple

* Update is31fl3731-simple.c
2020-12-06 17:18:02 +11:00
QMK Bot
e199fb6190 Merge remote-tracking branch 'origin/master' into develop 2020-12-06 06:16:19 +00:00
Josh Hinnebusch
c59f87a5d7 add definition WS2812_BYTE_ORDER to fix RGB LED issues (#10184)
* add define for WS2812B-2020 to fix RGB issues

* update driver doc

* add WS2812_BYTE_ORDER definition to correct RGB byte issues

* add definition variable thing

* update per PR request

* update per PR reqs

* update per PR request

* inital changes

* move defines to color.h and add rgbw incase

* Update docs/ws2812_driver.md

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

Co-authored-by: hineybush <hineybushkeyboards@gmail.com>
Co-authored-by: Xelus22 <preyas22@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-06 17:15:48 +11:00
QMK Bot
5cfbfc2c52 Merge remote-tracking branch 'origin/master' into develop 2020-12-06 06:11:48 +00:00
r-pufky
08bf9f9e74 Add definitions for RGB off/black. (#11132) 2020-12-06 17:10:58 +11:00
QMK Bot
2c121b3d8e Merge remote-tracking branch 'origin/master' into develop 2020-12-06 01:54:14 +00:00
XScorpion2
cba76092eb Added OLED Initialized checks (#11129) 2020-12-06 12:53:47 +11:00
QMK Bot
bb79fbaccf Merge remote-tracking branch 'origin/master' into develop 2020-12-06 01:50:41 +00:00
Dimitris Papavasiliou
5cf70f3993 Fix error handling in SPI master. (#11122)
Co-authored-by: Dimitris Papavasiliou <dpapavas@gmail.com>
2020-12-06 12:50:02 +11:00
QMK Bot
af8697c85b Merge remote-tracking branch 'origin/master' into develop 2020-12-05 21:48:41 +00:00
Joel Challis
54b932e844 Initial Nightingale Studios Hailey support (#11116)
* Initial Nightingale Studios Hailey support

* Add info.json

* Fix bootmagic jump

* Add missing header

* Update default keymap
2020-12-05 21:48:02 +00:00
QMK Bot
351f258bed Merge remote-tracking branch 'origin/master' into develop 2020-12-05 11:15:47 +00:00
Alexander Dergachev
9971caa632 Add a custom keymap for Torn keyboard (#11017) 2020-12-05 22:14:50 +11:00
QMK Bot
15200bd8f5 Merge remote-tracking branch 'origin/master' into develop 2020-12-05 10:14:47 +00:00
Ryan
15faffacf4 Omit serial number if not defined (#11104) 2020-12-05 21:14:19 +11:00
Nick Brassel
f1fef16e4d ChibiOS upgrade: keyboard conf migrations (phase 1) (#10418)
* ChibiOS conf upgrade for acheron/arctic

 acheron/arctic - 8d3d233f15bf5d396e29abb94f943a89b0b828d1

* ChibiOS conf upgrade for acheron/austin

 acheron/austin - beabc6204533de80704684de9ff7790895f319e1

* ChibiOS conf upgrade for acheron/keebspcb

 acheron/keebspcb - e14a96e99aab54aefebc1d3d24d64b0082db7842

* ChibiOS conf upgrade for aeboards/ext65/rev2

 aeboards/ext65/rev2 - 0b97daef994903585be2768b6aaffc4da97ec617

* ChibiOS conf upgrade for ai03/vega

 ai03/vega - 7e5f208278309681fd1db8b2629890b813fdf938

* ChibiOS conf upgrade for at_at/660m

 at_at/660m - e30393b6546454f9939c1187aa9c6539f1ef76c1

* ChibiOS conf upgrade for bt66tech/bt66tech60

 bt66tech/bt66tech60 - a7f4e8a224132830447d12c92d146997f9b56b7d

* ChibiOS conf upgrade for cannonkeys/an_c

 cannonkeys/an_c - e7320dc09377fdad749e382b3986f2241633214b

* ChibiOS conf upgrade for cannonkeys/atlas

 cannonkeys/atlas - 063a8eaea7e68607b725ad06777c49d34686b433

* ChibiOS conf upgrade for cannonkeys/chimera65

 cannonkeys/chimera65 - 01ce66c862a5cd98183b10e992939a55038779bc

* ChibiOS conf upgrade for cannonkeys/db60

 cannonkeys/db60 - 45636d0b3cf951cef51a5b19678e2da549efd14f

* ChibiOS conf upgrade for cannonkeys/devastatingtkl

 cannonkeys/devastatingtkl - 709e0155c421991fad283d38c28f850320ed4730

* ChibiOS conf upgrade for cannonkeys/instant60

 cannonkeys/instant60 - 7e530e10794183d684a328f01b9b0743907440c7

* ChibiOS conf upgrade for cannonkeys/instant65

 cannonkeys/instant65 - c8de288708d0586337cb7137ae54d97e1ddc90a6

* ChibiOS conf upgrade for cannonkeys/iron165

 cannonkeys/iron165 - 3a3c0273e227fd15ab3527e4aa557b94d0b69248

* ChibiOS conf upgrade for cannonkeys/obliterated75

 cannonkeys/obliterated75 - cdf834802ae77b1bbd4876eb8c34c19a83ad95cd

* ChibiOS conf upgrade for cannonkeys/ortho48

 cannonkeys/ortho48 - 3432ff13c83a6358eca44b37f72b18882eeda699

* ChibiOS conf upgrade for cannonkeys/ortho60

 cannonkeys/ortho60 - 95be42a23798cc8f9b04175d4892b712d871a52d

* ChibiOS conf upgrade for cannonkeys/ortho75

 cannonkeys/ortho75 - e1149893fd01e853124808b45d521b61a7638eb9

* ChibiOS conf upgrade for cannonkeys/practice60

 cannonkeys/practice60 - 6e4da87f0a766cf2665e9b4aa8e3ab33017cf745

* ChibiOS conf upgrade for cannonkeys/practice65

 cannonkeys/practice65 - c436c06829123503073b3a9c5a1c0acfc2dbe2e5

* ChibiOS conf upgrade for cannonkeys/rekt1800

 cannonkeys/rekt1800 - 43e8e21b62531534afeaa241f4c683fbdb60a8e0

* ChibiOS conf upgrade for cannonkeys/satisfaction75

 cannonkeys/satisfaction75 - 28ff9a8a11ad1de9d09ec85fab2af906b7c27d6a

* ChibiOS conf upgrade for cannonkeys/savage65

 cannonkeys/savage65 - 53eaefae56020b536d4934686506d5d1fe51b6e0

* ChibiOS conf upgrade for cannonkeys/tmov2

 cannonkeys/tmov2 - 8b1ced8ff7dc368afa268104cd5192bb1bfc8a1c

* ChibiOS conf upgrade for chavdai40

 chavdai40/rev1 - b166af66b084077764b705c9428725cde0b0ce51
 chavdai40/rev2 - 0048c8ec8c28f1dfa5d1a37348524899595d8325

* ChibiOS conf upgrade for cheshire/curiosity

 cheshire/curiosity - f1636e53638ce2e798070e6e622fd88a08982d5a

* ChibiOS conf upgrade for clueboard/60

 clueboard/60 - bb5057d4a2976b6530fe2e345a4153de2f7c042d

* ChibiOS conf upgrade for clueboard/66_hotswap/gen1

 clueboard/66_hotswap/gen1 - 03fe10f4de7b67e5f1cf0a7d576f82676adf4261

* ChibiOS conf upgrade for clueboard/66/rev4

 clueboard/66/rev4 - 878e38a34f97b32d9d109a6d98f98bc385d84864

* ChibiOS conf upgrade for coarse/cordillera

 coarse/cordillera - 5cae5c643e96d03bddcbb73e76e225ea5f82fef3

* ChibiOS conf upgrade for converter/siemens_tastatur

 converter/siemens_tastatur - 48f82cd227836878967dfa0fe0411f7d877a124c

* ChibiOS conf upgrade for ergodox_infinity

 ergodox_infinity - 8df21d6129eef47d7a5ced92715e5bdbfb0151e5

* ChibiOS conf upgrade for function96

 function96 - deecdcdca34c88058f820f0e2bc9f112458c85c5

* ChibiOS conf upgrade for generic_panda/panda65_01

 generic_panda/panda65_01 - 8522d8107edcf71758f3be7298c0bc18fa7f6706

* ChibiOS conf upgrade for hadron/ver3

 hadron/ver3 - 632af7727b767720c699abdff770edc9682928ee

* ChibiOS conf upgrade for handwired/ck4x4

 handwired/ck4x4 - a4cb9b5b8c3a162083677b14b105edbc1bca2baf

* ChibiOS conf upgrade for handwired/co60/rev6

 handwired/co60/rev6 - be1688eeabd83a7f576d9e4e23e24d56b8dc251b

* ChibiOS conf upgrade for handwired/co60/rev7

 handwired/co60/rev7 - d196c5772859ddee695bda5b0e9f0944a0f350f8

* ChibiOS conf upgrade for handwired/onekey/blackpill_f401

 handwired/onekey/blackpill_f401 - 8387bfd56888fc1605d293dc0071b4ec94b23991

* ChibiOS conf upgrade for handwired/onekey/blackpill_f411

 handwired/onekey/blackpill_f411 - 855efdb2f60c384edf64773c0f4ff4b7ea8ae4c9

* ChibiOS conf upgrade for handwired/onekey/bluepill

 handwired/onekey/bluepill - 60d8555b174dbdabae196a4cc5eccfee4bdd9529

* ChibiOS conf upgrade for handwired/onekey/stm32f0_disco

 handwired/onekey/stm32f0_disco - 9bc12e29f5a4e4b9ec0f34987559e5e11de4bb48

* ChibiOS conf upgrade for handwired/onekey/teensy_32

 handwired/onekey/teensy_32 - 17459dd8e71b3a33270037878bdbd04151af196b

* ChibiOS conf upgrade for handwired/onekey/teensy_lc

 handwired/onekey/teensy_lc - 3a9aed4681c287176efe31c988340ca43ad27a9d

* ChibiOS conf upgrade for handwired/pill60/blackpill_f401

 handwired/pill60/blackpill_f401 - 5b652354ae957e86e211dcef29f8f27320b31180

* ChibiOS conf upgrade for handwired/pill60/blackpill_f411

 handwired/pill60/blackpill_f411 - 580255c171e95b5bca53b14a13ae018a73d18414

* ChibiOS conf upgrade for handwired/pill60/bluepill

 handwired/pill60/bluepill - 29109b54137ea94ac266c604991cff87516689ff

* ChibiOS conf upgrade for handwired/riblee_f401

 handwired/riblee_f401 - dc68c31d7ca8ae0fad7e7ad8bdd63406155ff363

* ChibiOS conf upgrade for handwired/riblee_f411

 handwired/riblee_f411 - cf0fadff4c98d41cf9bdddbe1ead15c79be941b9

* ChibiOS conf upgrade for handwired/steamvan/rev1

 handwired/steamvan/rev1 - 743b395ac87b918b6be4614c9e120e80a9f049d4

* ChibiOS conf upgrade for handwired/t111

 handwired/t111 - 99b61ae5692ee4b2101673d1a896cd7a5831bcfa

* ChibiOS conf upgrade for handwired/twadlee/tp69

 handwired/twadlee/tp69 - 3ab2753c40e947a726ece6c825493ebc87ecf20e

* ChibiOS conf upgrade for handwired/z150

 handwired/z150 - 78808b0c8671e2386b9ba65dbd647d613d92f253

* ChibiOS conf upgrade for hs60/v2

 hs60/v2/ansi - 7bcd152c269803de8f96416ba26e939c0420ceae
 hs60/v2/hhkb - d77f393d2811bd104b05c4530bf1083d75856b7a
 hs60/v2/iso - 5d3d20de919fca3b64cb7548cad46e8d35d7cc04

* ChibiOS conf upgrade for infinity60

 infinity60 - dbcbb2f58ee499252b0879d68d9beec08a8433bc

* ChibiOS conf upgrade for k_type

 k_type - 492f476177da95495442d1e173391e3c17324a70

* ChibiOS conf upgrade for keebio/bdn9/rev2

 keebio/bdn9/rev2 - 4dbb5d606b3d9060ad01a437978220fe0f1fc5b2

* ChibiOS conf upgrade for keebio/choconum

 keebio/choconum - 1521e634088a30114cd12b7b6bbd2cca5331c822

* ChibiOS conf upgrade for keebwerk/mega

 keebwerk/mega/ansi - 10e32718c7bfff2f6bd8dd2159a15bef0f4acbf9

* ChibiOS conf upgrade for misterknife/knife66

 misterknife/knife66 - cf2f3d26103036d79bf7fcec204e13899e33fbe3

* ChibiOS conf upgrade for nack

 nack - ba7f421d5670e672c5c14fd5f80c0f86447c1468

* ChibiOS conf upgrade for nebula12

 nebula12 - aedb11fa894dc19513462f054a9fa00f5c195adc

* ChibiOS conf upgrade for nebula68

 nebula68 - 6bed6afb2fd84ef9069b757f1d1e87fc1cbe290c

* ChibiOS conf upgrade for nemui

 nemui - 86ed80ea8565d7d0f39512a9032cc5e1b306fcff

* ChibiOS conf upgrade for nk65

 nk65 - 75b2484741a96dcbff14e94c44443bb33ad73dce

* ChibiOS conf upgrade for nk87

 nk87 - f719a739a3d2c0969c79c1ace5fe9a7d6f05cc22

* ChibiOS conf upgrade for peiorisboards/ixora

 peiorisboards/ixora - b5adf1090fb4c6278d8990ce9132727a13ca3cd7

* ChibiOS conf upgrade for phoenix

 phoenix - 21bfb14c52451899dadf545b78a8e88b22a420f0

* ChibiOS conf upgrade for polilla

 polilla - 3ba5f326b268362c9aba570b1510e1c61009ba96

* ChibiOS conf upgrade for primekb/meridian

 primekb/meridian - df266e25c682a8ed3318faa186805683014ccec4

* ChibiOS conf upgrade for projectkb/alice

 projectkb/alice - eee7210f618588b2c5c6367c8a0318427d09da52

* ChibiOS conf upgrade for projectkb/signature87

 projectkb/signature87 - 617430e601981f0bb5fbcce42eee53107d5161b8

* ChibiOS conf upgrade for ramonimbao/squishy65

 ramonimbao/squishy65 - 88e4cd3db8db61ccf9daed5405cf5eeb32f8043e

* ChibiOS conf upgrade for ramonimbao/wete

 ramonimbao/wete - f0e90d943d8749e802b6bba619ce943b568a7f65

* ChibiOS conf upgrade for rart/rartlice

 rart/rartlice - f7a6b58e6cadd4102fcf5f89d054d1fbdc5809d0

* ChibiOS conf upgrade for retro_75

 retro_75 - 34c7b291fb2443bf8cb69fb9ee676190c736bf00

* ChibiOS conf upgrade for rocketboard_16

 rocketboard_16 - 24e6503a7a5259934a80dd96dd37d3281b4240d3

* ChibiOS conf upgrade for satt/vision

 satt/vision - c926d6433d8b2dc1d74623184255016bdd36ae22

* ChibiOS conf upgrade for tkc/candybar

 tkc/candybar/lefty - 2f269cbed5dcec61bb0c7904a46436f110dc0ae1
 tkc/candybar/righty - 9b1448b2ccbcf8a4d1e5ad74d8ad5933003ee9a2

* ChibiOS conf upgrade for tkc/godspeed75

 tkc/godspeed75 - 2cfed58d44a7eef8f341ff24e0136511e03aa78d

* ChibiOS conf upgrade for tkw/stoutgat/v2/f411

 tkw/stoutgat/v2/f411 - b094651ec61c79099de3e6e4991319816ac464c1

* ChibiOS conf upgrade for viktus/styrka

 viktus/styrka - f3f678ea55126c9965f24da6fffc9bbbd8b24aa9

* ChibiOS conf upgrade for vinta

 vinta - e5403dc6bbf47f35a53cf43b1b1d130f05552f16

* ChibiOS conf upgrade for westfoxtrot/prophet

 westfoxtrot/prophet - 0e4d6987ffa6430720804e7bc1502ab6c3dcb879

* ChibiOS conf upgrade for whitefox

 whitefox - 5ca6de6fb09d8c2cfa996b65732fcd55391053ff

* ChibiOS conf upgrade for wolfmarkclub/wm1

 wolfmarkclub/wm1 - 2d8294e29b08f5af5406988a284483d1694ed36c

* ChibiOS conf upgrade for xelus/kangaroo

 xelus/kangaroo - f9697ba27d4e6c36a1cfd9e2657eac35dfa3be99

* ChibiOS conf upgrade for xelus/trinityxttkl

 xelus/trinityxttkl - a457601b446ea9b4e9e28d2ba304a4bcdb934257

* ChibiOS conf upgrade for xelus/valor_frl_tkl

 xelus/valor_frl_tkl - 27ec14b9ee0e5cb2d026af500d16b17d4c2885e2

* ChibiOS conf upgrade for zoo/wampus

 zoo/wampus - 926487c1f50c1c5eb0608ca7dc1184881d54d35e

* ChibiOS conf upgrade for zvecr/split_blackpill

 zvecr/split_blackpill - 02f4393d01e0a70c94af48fa979ff0229732e8ca

* ChibiOS conf upgrade for zvecr/zv48/f401

 zvecr/zv48/f401 - 8b1766a24f943b9b0ba756c6fe340ba69d5e14e3

* ChibiOS conf upgrade for zvecr/zv48/f411

 zvecr/zv48/f411 - 09ba645092eb7f3d41da0d5e6727f2f4f97033c0
2020-12-05 21:13:58 +11:00
QMK Bot
684773f2d4 Merge remote-tracking branch 'origin/master' into develop 2020-12-05 06:01:27 +00:00
Sergey Omelchenko
e3888281f4 Fix missing define to map rgb_matrix function set to rgblight. (#11084) 2020-12-05 17:00:58 +11:00
QMK Bot
e1ced62836 Merge remote-tracking branch 'origin/master' into develop 2020-12-05 05:46:31 +00:00
Evy Dekkers
1e7661651c add nt750 (#11091) 2020-12-05 16:45:59 +11:00
QMK Bot
fac5e3b540 Merge remote-tracking branch 'origin/master' into develop 2020-12-04 11:03:51 +00:00
Nick Brassel
f05b1b54a9 Add default early-init bootloader to F042/F072. (#11120) 2020-12-04 22:03:16 +11:00
QMK Bot
64b395cb3a Merge remote-tracking branch 'origin/master' into develop 2020-12-04 05:00:10 +00:00
Borja López Jiménez
59832e7654 [Keyboard] Added taleguers75 rev1 keyboard (#11052)
* Added taleguers75 rev1 keyboard

* Apply suggestions from code review

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

* Fixed VIA keymap

Co-authored-by: Joel Challis <git@zvecr.com>
2020-12-03 20:59:41 -08:00
QMK Bot
dc1eebb566 Merge remote-tracking branch 'origin/master' into develop 2020-12-04 02:22:34 +00:00
Andrew Kannan
0f086df89f Allow APM32 MCUs on certain CannonKeys PCBs (#10899)
* Allow APM32 MCUs on certain CannonKeys PCBs

* another one

* Update DFU suffix args

* missed one

* Apply suggestions from code review

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

Co-authored-by: Joel Challis <git@zvecr.com>
2020-12-03 18:22:05 -08:00
QMK Bot
024b3bd0dd Merge remote-tracking branch 'origin/master' into develop 2020-12-04 02:17:51 +00:00
James Young
6ab0a6e796 Hotfix for #11106 (#11118)
* Hotfix for #11106: Rework LAYOUT_alice support; add LAYOUT_alice_split_bs

Accidentally missed backwards compatibility on the sneakbox/aliceclone in #11106, which broke stanrc85's Community Layout keymap.

* sneakbox/aliceclone: move 2u Backspace to column 6
2020-12-03 18:17:15 -08:00
QMK Bot
7a6e7d87cc Merge remote-tracking branch 'origin/master' into develop 2020-12-04 02:09:45 +00:00
bbrfkr
c1dc676d28 [Keyboard] add scatter42 by bbrfkr (#10893)
* add new keyboard scatter42 by bbrfkr

* mod info.json to work

* mod info.json

* mod readme

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

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

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

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

* Update keyboards/scatter42/scatter42.h

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

* Update keyboards/scatter42/config.h

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-03 18:08:56 -08:00
Nick Brassel
4444f3cc55 Disable almost all ChibiOS subsystems in default configs (#11111)
* Disable almost all ChibiOS subsystems.

* Modify ChibiOS config updater script to fixup mcuconf include, use develop as base instead of master.

* Add default early-init bootloader to F042/F072.

* Back to 100k freq.
2020-12-04 10:45:39 +11:00
James Young
138c3e7042 Rework LAYOUT_alice support; add LAYOUT_alice_split_bs (#11106)
* Add LAYOUT_alice support: fallacy

* Add LAYOUT_alice support: kb_elmo/sesame

* Add LAYOUT_alice support: cheshire/curiosity

* Add LAYOUT_alice support: evyd13/wonderland

* Add LAYOUT_alice support: mechlovin/adelais

* Update LAYOUT_alice support: projectkb/alice

The PR that added Alice community layout support for the projectkb/alice/rev2 simultaneously broke support for every other keyboard that supported LAYOUT_alice.

This commit partially reverts the offending PR. `LAYOUT_alice` for the projectkb/alice has been renamed to `LAYOUT_alice_split_bs`, and a correct 65-key `LAYOUT_alice` has been added.

Additionally, the `LAYOUTS` rule has been moved to keyboard level as the layout macros are shared between rev1 and rev2 boards, which means the layout options are the same for both revisions.

* Update ramonimbao/aelith info.json

Keyboard source was already correct to support LAYOUT_alice, but the layout tree was missing from info.json.

* Fork `alice` Community Layout...

... into Standard and Split Backspace versions

Also updates stanrc85's layout keymap to use 65 keys instead of the Split Backspace 66-key version.

* Update LAYOUT_alice support: sneakbox/aliceclone

Rework the sneakbox/aliceclone to use the Split Backspace Alice layout.

* Update LAYOUT_alice support: zoo/wampus

The layout macro that was `LAYOUT_alice` was 66 keys. This layout macro has been renamed to `LAYOUT_alice_split_bs`, and a 65-key `LAYOUT_alice` has been added.

Additionally, the 66-key macro has been rearranged to accept its keycodes in the intended order for Community Layout support.

* Update keyboards for `LAYOUT_alice_split_bs` support

* LAYOUT_alice_split_bs support: ergosaurus

* LAYOUT_alice_split_bs support: handwired/colorlice

* LAYOUT_alice(_split_bs) support: handwired/owlet60

* LAYOUT_alice_split_bs support: nightly_boards/alter/rev1

* LAYOUT_alice(_split_bs) support: sck/osa

* LAYOUT_alice_split_bs support: tgr/alice

* LAYOUT_alice(_split_bs) support: tkc/osav2

* LAYOUT_alice_split_bs support: xelus/valor/rev1
2020-12-03 14:07:41 -08:00
QMK Bot
7e2ba2784e Merge remote-tracking branch 'origin/master' into develop 2020-12-03 20:03:01 +00:00
npspears
a5a65fb1e2 Add Via support to Plexus75 PCB (#11027)
* Add Via keymap

* Via Enable in Rules.mk

* Update config.h

added nasp before Plexus75 in PRODUCT to better follow Via naming convention

* Update keymap.c

changed KC_CTRL to KC_LCTL

* Update config.h

took out the manu repeat

* Update rules.mk

* Create rules.mk

changed location of rules.mk for supporting Via

* Apply suggestions from code review

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

* Update keyboards/plexus75/keymaps/via/rules.mk

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

* Apply suggestions from code review

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-12-03 15:02:21 -05:00
QMK Bot
ed2bb46658 Merge remote-tracking branch 'origin/master' into develop 2020-12-03 19:39:14 +00:00
a_p_u_r_o
fc85ebecd4 [Keyboard] Fixed inconsistent MATRIX_COLS and MATRIX_COL_PINS: facew (#8115) 2020-12-04 06:38:26 +11:00
Nick Brassel
87291437bd Add board specific to Proton-C, with usual defaults turned on. (#10976)
- Set all other ChibiOS defaults to 'off', when not targeting Proton-C
- Modified all existing F303 boards to point at the QMK_PROTON_C to ensure repeatable binary output
- Modified version.h generation so that SKIP_VERSION=yes generates the same output
2020-12-03 13:04:28 +11:00
QMK Bot
777a30cb42 Merge remote-tracking branch 'origin/master' into develop 2020-12-02 19:24:26 +00:00
TerryMathews
2989f9ce2b TKC TKL_A/B87: Initial support (#10943)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-12-02 19:23:45 +00:00
QMK Bot
de44fdbaf2 Merge remote-tracking branch 'origin/master' into develop 2020-12-02 02:01:06 +00:00
Dustin Bosveld
bcab02b654 [Keyboard] Fix issue with Kyria and RGB Light (#11070)
Add recommendation to default firmware https://docs.splitkb.com/hc/en-us/articles/360017633199-The-keyboard-behaves-erratically-after-changing-the-RGB-settings
2020-12-01 18:00:27 -08:00
QMK Bot
b5adf4d9e9 Merge remote-tracking branch 'origin/master' into develop 2020-12-01 22:28:42 +00:00
Xelus22
3aae5300e2 Fix Valor default underglow (#11093) 2020-12-02 09:28:08 +11:00
QMK Bot
0892741b10 Merge remote-tracking branch 'origin/master' into develop 2020-12-01 20:41:13 +00:00
Drashna Jaelre
41347cdcec [Keyboard] Fix compiler issues for handwired/6macro (#11098) 2020-12-01 19:55:32 +00:00
XScorpion2
a8d0ec0749 [Split] Sync Timer feature (#10997)
A timer that is kept in sync between the halves of a split keyboard
2020-12-01 10:04:42 -08:00
David Dai
33802ab5cd Add support for Drop + Ryloo Studio "Hello" M0110. (#11050) 2020-12-01 17:37:33 +00:00
QMK Bot
9c03a89596 Merge remote-tracking branch 'origin/master' into develop 2020-12-01 11:49:57 +00:00
Brandon Claveria
eaa8c18174 fix handwired/swiftrax/beegboy keymaps (#11071)
Co-authored-by: Swiftrax <swiftrax@gmail.com>
2020-12-01 22:49:52 +11:00
Brandon Claveria
3a77ef5fa3 fix handwired/swiftrax/bebol keymaps (#11072)
Co-authored-by: Swiftrax <swiftrax@gmail.com>
2020-12-01 22:49:20 +11:00
QMK Bot
a4da9c47c8 Merge remote-tracking branch 'origin/master' into develop 2020-12-01 11:37:38 +00:00
Felix Jen
1124e51b11 Moved default LALT and LWIN for BKS65 (#11087) 2020-12-01 22:37:02 +11:00
QMK Bot
58a5193a2b Merge remote-tracking branch 'origin/master' into develop 2020-12-01 11:25:08 +00:00
4pplet
c7dab4bb25 Adding bootleg and waffling60 rev b (#10846)
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>
2020-12-01 22:23:58 +11:00
QMK Bot
0abf4647e3 Merge remote-tracking branch 'origin/master' into develop 2020-11-30 21:03:46 +00:00
QMK Bot
9a0a2dce41 Merge remote-tracking branch 'origin/master' into develop 2020-11-30 20:19:59 +00:00
QMK Bot
4a5388a2b6 Merge remote-tracking branch 'origin/master' into develop 2020-11-30 19:20:22 +00:00
James Young
3cc7d22732 Branch point for 2021 Feb 27 Breaking Change 2020-11-30 03:29:39 -08:00
XScorpion2
990d5189d1 Configurable serial usart timeout (#11057) 2020-11-30 03:29:35 -08:00
2186 changed files with 54901 additions and 134908 deletions

33
.github/workflows/auto_tag.yaml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: Essential files modified
on:
push:
branches:
- master
paths:
- quantum/**/*
- tmk_core/**/*
- drivers/**/*
- tests/**/*
- util/**/*
- platforms/**/*
- Makefile
- '*.mk'
jobs:
tag:
runs-on: ubuntu-latest
# protect against those who develop with their fork on master
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Bump version and push tag
uses: anothrNick/github-tag-action@1.26.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DEFAULT_BUMP: 'patch'

37
.github/workflows/format.yaml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: Format Codebase
on:
push:
branches:
- master
jobs:
format:
runs-on: ubuntu-latest
container: qmkfm/base_container
# protect against those who develop with their fork on master
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.API_TOKEN_GITHUB }}
- name: Install dependencies
run: |
apt-get update && apt-get install -y dos2unix
- name: Format files
run: |
bin/qmk cformat -a
bin/qmk pyformat
bin/qmk fileformat
- name: Commit files
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Format code according to conventions for $GITHUB_SHA
commit_user_name: QMK Bot
commit_user_email: hello@qmk.fm
commit_author: QMK Bot <hello@qmk.fm>

View File

@@ -19,7 +19,6 @@ addons:
- llvm-toolchain-trusty-7
packages:
- diffutils
- dos2unix
- clang-format-7
- libstdc++-7-dev
script:

111
Makefile
View File

@@ -68,71 +68,15 @@ PATH_ELEMENTS := $(subst /, ,$(STARTING_DIR))
# Initialize the path elements list for further processing
$(eval $(call NEXT_PATH_ELEMENT))
# This function sets the KEYBOARD; KEYMAP and SUBPROJECT to the correct
# variables depending on which directory you stand in.
# It's really a very simple if else chain, if you squint enough,
# but the makefile syntax makes it very verbose.
# If we are in a subfolder of keyboards
#
# *** No longer needed **
#
# ifeq ($(CURRENT_PATH_ELEMENT),keyboards)
# $(eval $(call NEXT_PATH_ELEMENT))
# KEYBOARD := $(CURRENT_PATH_ELEMENT)
# $(eval $(call NEXT_PATH_ELEMENT))
# # If we are in a subfolder of keymaps, or in other words in a keymap
# # folder
# ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
# $(eval $(call NEXT_PATH_ELEMENT))
# KEYMAP := $(CURRENT_PATH_ELEMENT)
# # else if we are not in the keyboard folder itself
# else ifneq ($(CURRENT_PATH_ELEMENT),)
# # the we can assume it's a subproject, as no other folders
# # should have make files in them
# SUBPROJECT := $(CURRENT_PATH_ELEMENT)
# $(eval $(call NEXT_PATH_ELEMENT))
# # if we are inside a keymap folder of a subproject
# ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
# $(eval $(call NEXT_PATH_ELEMENT))
# KEYMAP := $(CURRENT_PATH_ELEMENT)
# endif
# endif
# endif
define GET_KEYBOARDS
ifndef ALT_GET_KEYBOARDS
All_RULES_MK := $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/rules.mk))
All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/rules.mk))
All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/rules.mk))
All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/*/rules.mk))
KEYMAPS_MK := $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/keymaps/*/rules.mk))
KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/keymaps/*/rules.mk))
KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/keymaps/*/rules.mk))
KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/*/keymaps/*/rules.mk))
KEYBOARDS := $$(sort $$(filter-out $$(KEYMAPS_MK), $$(All_RULES_MK)))
else
KEYBOARDS := $(shell find keyboards/ -type f -iname "rules.mk" | grep -v keymaps | sed 's!keyboards/\(.*\)/rules.mk!\1!' | sort | uniq)
endif
endef
$(eval $(call GET_KEYBOARDS))
# Only consider folders with makefiles, to prevent errors in case there are extra folders
#KEYBOARDS += $(patsubst $(ROOD_DIR)/keyboards/%/rules.mk,%,$(wildcard $(ROOT_DIR)/keyboards/*/*/rules.mk))
# Phony targets to enable a few simple make commands outside the main processing below.
.PHONY: list-keyboards
list-keyboards:
echo $(KEYBOARDS)
define PRINT_KEYBOARD
$(info $(PRINTING_KEYBOARD))
endef
util/list_keyboards.sh | sort -u | tr '\n' ' '
.PHONY: generate-keyboards-file
generate-keyboards-file:
$(foreach PRINTING_KEYBOARD,$(KEYBOARDS),$(eval $(call PRINT_KEYBOARD)))
util/list_keyboards.sh | sort -u
.PHONY: clean
clean:
@@ -158,8 +102,6 @@ endif
# Uncomment these for debugging
# $(info Keyboard: $(KEYBOARD))
# $(info Keymap: $(KEYMAP))
# $(info Subproject: $(SUBPROJECT))
# $(info Keyboards: $(KEYBOARDS))
# Set the default goal depending on where we are running make from
@@ -217,7 +159,6 @@ endef
# A recursive helper function for finding the longest match
# $1 The list to be checked
# It works by always removing the currently matched item from the list
# and call itself recursively, until a match is found
define TRY_TO_MATCH_RULE_FROM_LIST_HELPER2
# Stop the recursion when the list is empty
ifneq ($1,)
@@ -294,7 +235,7 @@ define PARSE_RULE
$$(eval $$(call PARSE_TEST))
# If the rule starts with the name of a known keyboard, then continue
# the parsing from PARSE_KEYBOARD
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYBOARDS)),true)
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(shell util/list_keyboards.sh | sort -u)),true)
KEYBOARD_RULE=$$(MATCHED_ITEM)
$$(eval $$(call PARSE_KEYBOARD,$$(MATCHED_ITEM)))
# Otherwise use the KEYBOARD variable, which is determined either by
@@ -411,26 +352,9 @@ endef
# if we are going to compile all keyboards, match the rest of the rule
# for each of them
define PARSE_ALL_KEYBOARDS
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(KEYBOARDS)))
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(shell util/list_keyboards.sh noci | sort -u)))
endef
# $1 Subproject
# When entering this, the keyboard and subproject are known, so now we need
# to determine which keymaps are going to get compiled
# define PARSE_SUBPROJECT
# endef
# If we want to parse all subprojects, but the keyboard doesn't have any,
# then use defaultsp instead
# define PARSE_ALL_SUBPROJECTS
# ifeq ($$(SUBPROJECTS),)
# $$(eval $$(call PARSE_SUBPROJECT,defaultsp))
# else
# $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$$(SUBPROJECTS)))
# endif
# endef
# Prints a list of all known keymaps for the given keyboard
define LIST_ALL_KEYMAPS
COMMAND_true_LIST_KEYMAPS := \
@@ -572,13 +496,13 @@ if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi;
endef
# Let's match everything, we handle all the rule parsing ourselves
# Catch everything and parse the command line ourselves.
.PHONY: %
%:
# Check if we have the CMP tool installed
cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi;
# Ensure that bin/qmk works. This will be a failing check after the next develop merge on 2020 Aug 29.
if ! bin/qmk hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; fi
# Ensure that bin/qmk works.
if ! bin/qmk hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; exit 1; fi
# Check if the submodules are dirty, and display a warning if they are
ifndef SKIP_GIT
if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 50 --init lib/chibios; fi
@@ -608,25 +532,6 @@ endif
$(foreach TEST,$(sort $(TESTS)),$(RUN_TEST))
if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;
# These no longer work because of the colon system
# All should compile everything
# .PHONY: all
# all: all-keyboards test-all
# Define some shortcuts, mostly for compatibility with the old syntax
# .PHONY: all-keyboards
# all-keyboards: all\:all\:all
# .PHONY: all-keyboards-defaults
# all-keyboards-defaults: all\:default
# .PHONY: test
# test: test-all
# .PHONY: test-clean
# test-clean: test-all-clean
lib/%:
git submodule sync $?
git submodule update --init $?

View File

@@ -30,4 +30,4 @@ $(TEST)_SRC += $(patsubst $(ROOTDIR)/%,%,$(wildcard $(TEST_PATH)/*.cpp))
$(TEST)_DEFS=$(TMK_COMMON_DEFS) $(OPT_DEFS)
$(TEST)_CONFIG=$(TEST_PATH)/config.h
VPATH+=$(TOP_DIR)/tests/test_common
VPATH+=$(TOP_DIR)/tests/test_common

View File

@@ -90,13 +90,16 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_1)/rules.mk)","")
include $(KEYBOARD_PATH_1)/rules.mk
endif
MAIN_KEYMAP_PATH_1 := $(KEYBOARD_PATH_1)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_2 := $(KEYBOARD_PATH_2)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP)
# Pull in rules from info.json
INFO_RULES_MK = $(shell bin/qmk generate-rules-mk --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/rules.mk)
include $(INFO_RULES_MK)
# Check for keymap.json first, so we can regenerate keymap.c
include build_json.mk
@@ -136,9 +139,7 @@ ifeq ($(strip $(CTPC)), yes)
endif
ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes)
TARGET := $(TARGET)_proton_c
include platforms/chibios/GENERIC_STM32_F303XC/configs/proton_c.mk
OPT_DEFS += -DCONVERT_TO_PROTON_C
include platforms/chibios/QMK_PROTON_C/convert_to_proton_c.mk
endif
ifneq ($(FORCE_LAYOUT),)
@@ -292,6 +293,32 @@ ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
CONFIG_H += $(KEYMAP_PATH)/config.h
endif
# Pull in stuff from info.json
INFO_JSON_FILES :=
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_1)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_2)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_3)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_4)/info.json
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/info.json)","")
INFO_JSON_FILES += $(KEYBOARD_PATH_5)/info.json
endif
CONFIG_H += $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h
$(KEYBOARD_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES)
bin/qmk generate-config-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_config.h
$(KEYBOARD_OUTPUT)/src/layouts.h: $(INFO_JSON_FILES)
bin/qmk generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h
# project specific files
SRC += $(KEYBOARD_SRC) \
$(KEYMAP_C) \
@@ -366,8 +393,9 @@ all:
echo "skipped" >&2
endif
build: elf cpfirmware
build: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h elf cpfirmware
check-size: build
check-md5: build
objs-size: build
include show_options.mk

View File

@@ -17,7 +17,7 @@ OUTPUTS := $(TEST_OBJ)/$(TEST) $(GTEST_OUTPUT)
GTEST_INC := \
$(LIB_PATH)/googletest/googletest/include\
$(LIB_PATH)/googletest/googlemock/include\
GTEST_INTERNAL_INC :=\
$(LIB_PATH)/googletest/googletest\
$(LIB_PATH)/googletest/googlemock
@@ -27,7 +27,7 @@ $(GTEST_OUTPUT)_SRC :=\
googletest/src/gtest_main.cc\
googlemock/src/gmock-all.cc
$(GTEST_OUTPUT)_DEFS :=
$(GTEST_OUTPUT)_DEFS :=
$(GTEST_OUTPUT)_INC := $(GTEST_INC) $(GTEST_INTERNAL_INC)
LDFLAGS += -lstdc++ -lpthread -shared-libgcc
@@ -66,4 +66,3 @@ include $(TMK_PATH)/rules.mk
$(shell mkdir -p $(BUILD_DIR)/test 2>/dev/null)
$(shell mkdir -p $(TEST_OBJ) 2>/dev/null)

View File

@@ -154,18 +154,38 @@ else
endif
endif
RGBLIGHT_ENABLE ?= no
VALID_RGBLIGHT_TYPES := WS2812 APA102 custom
ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes)
RGBLIGHT_DRIVER ?= custom
endif
ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
POST_CONFIG_H += $(QUANTUM_DIR)/rgblight_post_config.h
OPT_DEFS += -DRGBLIGHT_ENABLE
SRC += $(QUANTUM_DIR)/color.c
SRC += $(QUANTUM_DIR)/rgblight.c
CIE1931_CURVE := yes
RGB_KEYCODES_ENABLE := yes
ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes)
OPT_DEFS += -DRGBLIGHT_CUSTOM_DRIVER
RGBLIGHT_DRIVER ?= WS2812
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
OPT_DEFS += -DRGBLIGHT_ENABLE
SRC += $(QUANTUM_DIR)/color.c
SRC += $(QUANTUM_DIR)/rgblight.c
CIE1931_CURVE := yes
RGB_KEYCODES_ENABLE := yes
endif
ifeq ($(strip $(RGBLIGHT_DRIVER)), WS2812)
WS2812_DRIVER_REQUIRED := yes
endif
ifeq ($(strip $(RGBLIGHT_DRIVER)), APA102)
APA102_DRIVER_REQUIRED := yes
endif
ifeq ($(strip $(RGBLIGHT_DRIVER)), custom)
OPT_DEFS += -DRGBLIGHT_CUSTOM_DRIVER
endif
endif
@@ -243,6 +263,11 @@ endif
WS2812_DRIVER_REQUIRED := yes
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), APA102)
OPT_DEFS += -DAPA102
APA102_DRIVER_REQUIRED := yes
endif
ifeq ($(strip $(RGB_MATRIX_CUSTOM_KB)), yes)
OPT_DEFS += -DRGB_MATRIX_CUSTOM_KB
endif
@@ -345,6 +370,11 @@ ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes)
endif
endif
ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes)
COMMON_VPATH += $(DRIVER_PATH)/apa102
SRC += apa102.c
endif
ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
CIE1931_CURVE := yes
endif

View File

@@ -50,4 +50,3 @@ This document marks the inaugural Breaking Change merge. A list of changes follo
* `KC_DELT` was a redundant, undocumented alias for `KC_DELETE`
* It has been removed and all its uses replaced with the more common `KC_DEL` alias
* Around 90 keymaps (mostly for ErgoDox boards) have been modified as a result

View File

@@ -24,7 +24,7 @@ Totally new to QMK? There are two ways to get started:
## Make It Yours
QMK has lots of [features](features.md) to explore, and a good deal of reference documentation to dig through. Most features are taken advantage of by modifying your [keymap](keymap.md), and changing the [keycodes](keycodes.md).
QMK has lots of features to explore, and a good deal of reference documentation to dig through. Most features are taken advantage of by modifying your [keymap](keymap.md), and changing the [keycodes](keycodes.md).
## Need help?

View File

@@ -22,6 +22,7 @@
* QMK API
* [Overview](api_overview.md)
* [API Documentation](api_docs.md)
* [KLE To info.json](kle2json_guide.md)
* [Keyboard Support](reference_configurator_support.md)
* [Adding Default Keymaps](configurator_default_keymaps.md)

View File

@@ -175,7 +175,7 @@ Creates a keymap.json from a keymap.c.
**Usage**:
```
qmk c2json [--no-cpp] [-o OUTPUT] filename
qmk c2json -km KEYMAP -kb KEYBOARD [-q] [--no-cpp] [-o OUTPUT] filename
```
## `qmk lint`
@@ -296,26 +296,44 @@ This command allows you to generate QMK documentation locally. It can be uses fo
qmk generate-docs
```
## `qmk kle2json`
## `qmk generate-rgb-breathe-table`
This command allows you to convert from raw KLE data to QMK Configurator JSON. It accepts either an absolute file path, or a file name in the current directory. By default it will not overwrite `info.json` if it is already present. Use the `-f` or `--force` flag to overwrite.
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/`.
**Usage**:
```
qmk kle2json [-f] <filename>
qmk generate-rgb-breathe-table [-q] [-o OUTPUT] [-m MAX] [-c CENTER]
```
## `qmk kle2json`
This command allows you to convert [Keyboard-Layout-Editor.com](http://keyboard-layout-editor.com) layouts into `info.json` layouts. It will also create a `keymap.json` file for your layout. This saves a lot of time when setting up a new keyboard.
To use this command your KLE will need to follow a specific format. See [KLE To info.json](kle2json_guide.md) for more details.
**Usage**:
```
qmk kle2json -kb <keyboard> [-km KEYMAP] [-l LAYOUT] <filename-or-kle-id>
```
**Examples**:
```
$ qmk kle2json kle.txt
☒ File info.json already exists, use -f or --force to overwrite.
```
With only a KLE id:
```
$ qmk kle2json -f kle.txt -f
Ψ Wrote out to info.json
$ qmk kle2json -kb clueboard/new60 70aaa4bed76d0b2f67fd165641239552
Ψ Wrote file keyboards/clueboard/new60/info.json
Ψ Wrote file keyboards/clueboard/new60/keymaps/default/keymap.json
```
With a full URL:
```
$ qmk kle2json -kb clueboard/new60 'http://www.keyboard-layout-editor.com/#/gists/70aaa4bed76d0b2f67fd165641239552'
Ψ Wrote file keyboards/clueboard/new60/info.json
Ψ Wrote file keyboards/clueboard/new60/keymaps/default/keymap.json
```
## `qmk pyformat`

View File

@@ -29,7 +29,9 @@ This level contains all of the options for that particular keymap. If you wish t
This is a C header file that is one of the first things included, and will persist over the whole project (if included). Lots of variables can be set here and accessed elsewhere. The `config.h` file shouldn't be including other `config.h` files, or anything besides this:
#include "config_common.h"
```c
#include "config_common.h"
```
## Hardware Options

View File

@@ -41,7 +41,9 @@ Bevorzugst Du es lieber auf der Befehlszeile zu debuggen? Dafür eignet sich das
Manchmal ist es hilfreich Debug-Nachrichten innerhalb deines eigenen [Custom Codes](de/custom_quantum_functions.md) zu drucken. Das ist ziemlich einfach. Beginne damit `print.h` am Anfang deiner Datei zu inkludieren:
#include <print.h>
```c
#include "print.h"
```
Danach stehen dir verschiedene Druck-Funktionen zur Verfügung:

View File

@@ -14,16 +14,11 @@ Some keyboards may have specific instructions for entering the bootloader. For e
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.
Zadig will automatically detect the bootloader device. You may sometimes need to check **Options → List All Devices**.
- For keyboards with Atmel AVR MCUs, the bootloader will be named something similar to `ATm32U4DFU`, and have a Vendor ID of `03EB`.
- USBasp bootloaders will appear as `USBasp`, with a VID/PID of `16C0:05DC`.
- AVR keyboards flashed with the QMK-DFU bootloader will be named `<keyboard name> Bootloader` and will also have the VID `03EB`.
- For most ARM keyboards, it will be called `STM32 BOOTLOADER`, and have a VID/PID of `0483:DF11`.
Zadig should automatically detect the bootloader device, but you may sometimes need to check **Options → List All Devices** and select the device from the dropdown instead.
!> If Zadig lists one or more devices with the `HidUsb` driver, your keyboard is probably not in bootloader mode. The arrow will be colored orange and you will be asked to confirm modifying a system driver. **Do not** proceed if this is the case!
If the arrow appears green, select the driver, and click **Install Driver**. The `libusb-win32` driver will usually work for AVR, and `WinUSB` for ARM, but if you still cannot flash the board, try installing a different driver from the list. USBAspLoader devices must use the `libusbK` driver.
If the arrow appears green, select the driver, and click **Install Driver**. See the [list of known bootloaders](#list-of-known-bootloaders) for the correct driver to install.
![Zadig with a bootloader driver correctly installed](https://i.imgur.com/b8VgXzx.png)
@@ -43,6 +38,40 @@ Right-click it and hit **Uninstall device**. Make sure to tick **Delete the driv
![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!
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.
?> A full reboot of your computer may sometimes be necessary at this point, to get Windows to pick up the new 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.
The device name here is the name that appears in Zadig, and may not be what the Device Manager or QMK Toolbox displays.
|Bootloader |Device Name |VID/PID |Driver |
|-------------|------------------------------|--------------|-------|
|`atmel-dfu` |ATmega16u2 DFU |`03EB:2FEF` |libusb0|
|`atmel-dfu` |ATmega32U2 DFU |`03EB:2FF0` |libusb0|
|`atmel-dfu` |ATm16U4 DFU V1.0.2 |`03EB:2FF3` |libusb0|
|`atmel-dfu` |ATm32U4DFU |`03EB:2FF4` |libusb0|
|`atmel-dfu` |*none* (AT90USB64) |`03EB:2FF9` |libusb0|
|`atmel-dfu` |AT90USB128 DFU |`03EB:2FFB` |libusb0|
|`qmk-dfu` |(keyboard name) Bootloader |As `atmel-dfu`|libusb0|
|`halfkay` |*none* |`16C0:0478` |HidUsb |
|`caterina` |Pro Micro 3.3V |`1B4F:9203` |usbser |
|`caterina` |Pro Micro 5V |`1B4F:9205` |usbser |
|`caterina` |LilyPadUSB |`1B4F:9207` |usbser |
|`caterina` |Pololu A-Star 32U4 Bootloader |`1FFB:0101` |usbser |
|`caterina` |Arduino Leonardo |`2341:0036` |usbser |
|`caterina` |Arduino Micro |`2341:0037` |usbser |
|`caterina` |Adafruit Feather 32u4 |`239A:000C` |usbser |
|`caterina` |Adafruit ItsyBitsy 32u4 3V |`239A:000D` |usbser |
|`caterina` |Adafruit ItsyBitsy 32u4 5V |`239A:000E` |usbser |
|`caterina` |Arduino Leonardo |`2A03:0036` |usbser |
|`caterina` |Arduino Micro |`2A03:0037` |usbser |
|`bootloadHID`|HIDBoot |`16C0:05DF` |HidUsb |
|`USBasp` |USBasp |`16C0:05DC` |libusbK|
|`apm32-dfu` |APM32 DFU ISP Mode |`314B:0106` |WinUSB |
|`stm32-dfu` |STM32 BOOTLOADER |`0483:DF11` |WinUSB |
|`kiibohd` |Kiibohd DFU Bootloader |`1C11:B007` |WinUSB |
|`stm32duino` |Maple 003 |`1EAF:0003` |WinUSB |

View File

@@ -40,6 +40,7 @@ Module | Equivalent `#define` | Source
-----------------|---------------------------------|------------------------------------------
CAT24C512 EEPROM | `#define EEPROM_I2C_CAT24C512` | <https://www.sparkfun.com/products/14764>
RM24C512C EEPROM | `#define EEPROM_I2C_RM24C512C` | <https://www.sparkfun.com/products/14764>
24LC64 EEPROM | `#define EEPROM_I2C_24LC64` | <https://www.microchip.com/wwwproducts/en/24LC64>
24LC128 EEPROM | `#define EEPROM_I2C_24LC128` | <https://www.microchip.com/wwwproducts/en/24LC128>
24LC256 EEPROM | `#define EEPROM_I2C_24LC256` | <https://www.sparkfun.com/products/525>
MB85RC256V FRAM | `#define EEPROM_I2C_MB85RC256V` | <https://www.adafruit.com/product/1895>

View File

@@ -33,4 +33,3 @@ Soporte para hasta 2 controladores. Cada controlador implementa 2 matrices charl
## IS31FL3733
Soporte para hasta un solo controlador con espacio para expansión. Cada controlador puede controlar 192 LEDs individuales o 64 LEDs RGB. Para obtener más información sobre cómo configurar el controlador, consulta la página de [Matriz RGB](feature_rgb_matrix.md).

View File

@@ -41,7 +41,9 @@ Para plataformas compatibles, [QMK Toolbox](https://github.com/qmk/qmk_toolbox)
A veces, es útil imprimir mensajes de depuración desde tu [código personalizado](custom_quantum_functions.md). Hacerlo es bastante simple. Comienza incluyendo `print.h` al principio de tu fichero:
#include <print.h>
```c
#include "print.h"
```
Después de eso puedes utilzar algunas funciones print diferentes:

View File

@@ -148,4 +148,3 @@ The following old names for existing algorithms will continue to be supported, h
* eager_pk - old name for sym_eager_pk
* sym_pk - old name for sym_defer_pk
* eager_pr - old name for sym_eager_pr

View File

@@ -182,7 +182,9 @@ Which would send Left Control+`a` (Left Control down, `a`, Left Control up) - no
By default, it assumes a US keymap with a QWERTY layout; if you want to change that (e.g. if your OS uses software Colemak), include this somewhere in your keymap:
#include <sendstring_colemak.h>
```c
#include "sendstring_colemak.h"
```
### Strings in Memory
@@ -207,7 +209,7 @@ SEND_STRING(".."SS_TAP(X_END));
There are some functions you may find useful in macro-writing. Keep in mind that while you can write some fairly advanced code within a macro, if your functionality gets too complex you may want to define a custom keycode instead. Macros are meant to be simple.
?> You can also use the functions described in [Useful function](ref_functions.md) for additional functionality. For example `reset_keyboard()` allows you to reset the keyboard as part of a macro.
?> You can also use the functions described in [Useful functions](ref_functions.md) for additional functionality. For example `reset_keyboard()` allows you to reset the keyboard as part of a macro.
### `record->event.pressed`

View File

@@ -42,6 +42,7 @@ In your keymap you can use the following keycodes to map key presses to mouse ac
Mouse keys supports three different modes to move the cursor:
* **Accelerated (default):** Holding movement keys accelerates the cursor until it reaches its maximum speed.
* **Kinetic:** Holding movement keys accelerates the cursor with its speed following a quadratic curve until it reaches its maximum speed.
* **Constant:** Holding movement keys moves the cursor at constant speeds.
* **Combined:** Holding movement keys accelerates the cursor until it reaches its maximum speed, but holding acceleration and movement keys simultaneously moves the cursor at constant speeds.
@@ -56,7 +57,8 @@ This is the default mode. You can adjust the cursor and scrolling acceleration u
|Define |Default|Description |
|----------------------------|-------|---------------------------------------------------------|
|`MOUSEKEY_DELAY` |300 |Delay between pressing a movement key and cursor movement|
|`MOUSEKEY_INTERVAL` |50 |Time between cursor movements |
|`MOUSEKEY_INTERVAL` |50 |Time between cursor movements in milliseconds |
|`MOUSEKEY_MOVE_DELTA` |5 |Step size |
|`MOUSEKEY_MAX_SPEED` |10 |Maximum cursor speed at which acceleration stops |
|`MOUSEKEY_TIME_TO_MAX` |20 |Time until maximum cursor speed is reached |
|`MOUSEKEY_WHEEL_DELAY` |300 |Delay between pressing a wheel key and wheel movement |
@@ -73,6 +75,30 @@ Tips:
Cursor acceleration uses the same algorithm as the X Window System MouseKeysAccel feature. You can read more about it [on Wikipedia](https://en.wikipedia.org/wiki/Mouse_keys).
### Kinetic Mode
This is an extension of the accelerated mode. The kinetic mode uses a quadratic curve on the cursor speed which allows precise movements at the beginning and allows to cover large distances by increasing cursor speed quickly thereafter. You can adjust the cursor and scrolling acceleration using the following settings in your keymaps `config.h` file:
|Define |Default |Description |
|--------------------------------------|---------|---------------------------------------------------------------|
|`MK_KINETIC_SPEED` |undefined|Enable kinetic mode |
|`MOUSEKEY_DELAY` |8 |Delay between pressing a movement key and cursor movement |
|`MOUSEKEY_INTERVAL` |8 |Time between cursor movements in milliseconds |
|`MOUSEKEY_MOVE_DELTA` |25 |Step size for accelerating from initial to base speed |
|`MOUSEKEY_INITIAL_SPEED` |100 |Initial speed of the cursor in pixel per second |
|`MOUSEKEY_BASE_SPEED` |1000 |Maximum cursor speed at which acceleration stops |
|`MOUSEKEY_DECELERATED_SPEED` |400 |Decelerated cursor speed |
|`MOUSEKEY_ACCELERATED_SPEED` |3000 |Accelerated cursor speed |
|`MOUSEKEY_WHEEL_INITIAL_MOVEMENTS` |16 |Initial number of movements of the mouse wheel |
|`MOUSEKEY_WHEEL_BASE_MOVEMENTS` |32 |Maximum number of movements at which acceleration stops |
|`MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS`|48 |Accelerated wheel movements |
|`MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS`|8 |Decelerated wheel movements |
Tips:
* The smoothness of the cursor movement depends on the `MOUSEKEY_INTERVAL` setting. The shorter the interval is set the smoother the movement will be. Setting the value too low makes the cursor unresponsive. Lower settings are possible if the micro processor is fast enough. For example: At an interval of `8` milliseconds, `125` movements per second will be initiated. With a base speed of `1000` each movement will move the cursor by `8` pixels.
* Mouse wheel movements are implemented differently from cursor movements. While it's okay for the cursor to move multiple pixels at once for the mouse wheel this would lead to jerky movements. Instead, the mouse wheel operates at step size `1`. Setting mouse wheel speed is done by adjusting the number of wheel movements per second.
### Constant mode
In this mode you can define multiple different speeds for both the cursor and the mouse wheel. There is no acceleration. `KC_ACL0`, `KC_ACL1` and `KC_ACL2` change the cursor and scroll speed to their respective setting.

View File

@@ -29,7 +29,7 @@ void raw_hid_receive(uint8_t *data, uint8_t length) {
}
```
`raw_hid_receive` can receive variable size packets from host with maximum length `RAW_EPSIZE`. `raw_hid_send` on the other hand can send packets to host of exactly `RAW_EPSIZE` length, therefore it should be used with data of length `RAW_EPSIZE`.
These two functions send and receive packets of length `RAW_EPSIZE` bytes to and from the host (32 on LUFA/ChibiOS/V-USB, 64 on ATSAM).
Make sure to flash raw enabled firmware before proceeding with working on the host side.

View File

@@ -129,6 +129,28 @@ Configure the hardware via your `config.h`:
---
### APA102 :id=apa102
There is basic support for APA102 based addressable LED strands. To enable it, add this to your `rules.mk`:
```makefile
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = APA102
```
Configure the hardware via your `config.h`:
```c
// The pin connected to the data pin of the LEDs
#define RGB_DI_PIN D7
// The pin connected to the clock pin of the LEDs
#define RGB_CI_PIN D6
// The number of LEDs connected
#define DRIVER_LED_TOTAL 70
```
---
From this point forward the configuration is the same for all the drivers. The `led_config_t` struct provides a key electrical matrix to led index lookup table, what the physical position of each LED is on the board, and what type of key or usage the LED if the LED represents. Here is a brief example:
```c
@@ -306,6 +328,12 @@ To declare new effects, create a new `rgb_matrix_user/kb.inc` that looks somethi
`rgb_matrix_user.inc` should go in the root of the keymap directory.
`rgb_matrix_kb.inc` should go in the root of the keyboard directory.
To use custom effects in your code, simply prepend `RGB_MATRIX_CUSTOM_` to the effect name specified in `RGB_MATRIX_EFFECT()`. For example, an effect declared as `RGB_MATRIX_EFFECT(my_cool_effect)` would be referenced with:
```c
rgb_matrix_mode(RGB_MATRIX_CUSTOM_my_cool_effect);
```
```c
// !!! DO NOT ADD #pragma once !!! //

View File

@@ -10,6 +10,7 @@ Currently QMK supports the following addressable LEDs (however, the white LED in
* WS2811, WS2812, WS2812B, WS2812C, etc.
* SK6812, SK6812MINI, SK6805
* APA102
These LEDs are called "addressable" because instead of using a wire per color, each LED contains a small microchip that understands a special protocol sent over a single wire. The chip passes on the remaining data to the next LED, allowing them to be chained together. In this way, you can easily control the color of the individual LEDs.
@@ -21,11 +22,19 @@ On keyboards with onboard RGB LEDs, it is usually enabled by default. If it is n
RGBLIGHT_ENABLE = yes
```
At minimum you must define the data pin your LED strip is connected to, and the number of LEDs in the strip, in your `config.h`. If your keyboard has onboard RGB LEDs, and you are simply creating a keymap, you usually won't need to modify these.
For APA102 LEDs, add the following to your `rules.mk`:
```make
RGBLIGHT_ENABLE = yes
RGBLIGHT_DRIVER = APA102
```
At minimum you must define the data pin your LED strip is connected to, and the number of LEDs in the strip, in your `config.h`. For APA102 LEDs, you must also define the clock pin. If your keyboard has onboard RGB LEDs, and you are simply creating a keymap, you usually won't need to modify these.
|Define |Description |
|---------------|---------------------------------------------------------------------------------------------------------|
|`RGB_DI_PIN` |The pin connected to the data pin of the LEDs |
|`RGB_CI_PIN` |The pin connected to the clock pin of the LEDs (APA102 only) |
|`RGBLED_NUM` |The number of LEDs connected |
|`RGBLED_SPLIT` |(Optional) For split keyboards, the number of LEDs connected on each half directly wired to `RGB_DI_PIN` |

View File

@@ -85,4 +85,3 @@ While the tempo defines the absolute speed at which the sequencer goes through t
|`void sequencer_activate_track(uint8_t track);` |Activate the `track` |
|`void sequencer_deactivate_track(uint8_t track);` |Deactivate the `track` |
|`void sequencer_toggle_single_active_track(uint8_t track);` |Set `track` as the only active track or deactivate all |

View File

@@ -181,6 +181,16 @@ If you're having issues with serial communication, you can change this value, as
* **`4`**: about 26kbps
* **`5`**: about 20kbps
```c
#define SPLIT_MODS_ENABLE
```
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).
### Hardware Configuration Options
There are some settings that you may need to configure, based on how the hardware is set up.

View File

@@ -129,4 +129,3 @@ As defined in `keymap_steno.h`.
|`STN_RES1`||(GeminiPR only)|
|`STN_RES2`||(GeminiPR only)|
|`STN_PWR`||(GeminiPR only)|

View File

@@ -184,7 +184,7 @@ If you wanted to consolidate macros and other functions into your userspace for
First, you'd want to go through all of your `keymap.c` files and replace `process_record_user` with `process_record_keymap` instead. This way, you can still use keyboard specific codes on those boards, and use your custom "global" keycodes as well. You'll also want to replace `SAFE_RANGE` with `NEW_SAFE_RANGE` so that you wont have any overlapping keycodes
Then add `#include <name.h>` to all of your keymap.c files. This allows you to use these new keycodes without having to redefine them in each keymap.
Then add `#include "<name>.h"` to all of your keymap.c files. This allows you to use these new keycodes without having to redefine them in each keymap.
Once you've done that, you'll want to set the keycode definitions that you need to the `<name>.h` file. For instance:
```c

View File

@@ -42,7 +42,9 @@ Vous préférez une solution basée sur le terminal? [hid_listen](https://www.pj
Parfois, il est utile d'afficher des messages de débugage depuis votre [code custom](custom_quantum_functions.md). Le faire est assez simple. Commencez par ajouter `print.h` au début de votre fichier:
#include <print.h>
```c
#include "print.h"
```
Une fois fait, vous pouvez utiliser les fonctions print suivantes:

View File

@@ -47,4 +47,3 @@ This configuration is from usbasploader's Makefile.
# | | +----- LB 2..1 (No memory lock features enabled)
# | +--------- BLB0 2..1 (No restrictions for SPM or LPM accessing the Application section)
# +--------------- BLB1 2..1 (No restrictions for SPM or LPM accessing the Boot Loader section)

View File

@@ -78,7 +78,7 @@ Established materials and techniques include:
| Short lengths of wire | [u/xicolinguada's ortho build](https://www.reddit.com/r/MechanicalKeyboards/comments/c39k4f/my_first_hand_wired_keyboard_its_not_perfect_but/) | Easier to strip the wire | More difficult to place | ![individual wire lengths](https://i.imgur.com/mBe5vkL.jpg)
| Magnet/Enamelled wire | [Brett Kosinski's handwired alpha](http://blog.b-ark.ca/Blog-2019-01-27) and [fknraiden's custom board](https://geekhack.org/index.php?topic=74223.0) | Can be directly soldered onto (insulation burns off with heat) | Appearance? | ![Magnet wire](https://i.imgur.com/b4b7KDb.jpg)
| Bending the legs of the diodes for the rows | [Matt3o's Brownfox](https://deskthority.net/viewtopic.php?f=7&t=6050) | Fewer solder joints required | Uninsulated | ![Bent diode legs](https://i.imgur.com/aTnG8TV.jpg)
| Using ridid wiring (e.g. brass tube) | [u/d_stilgar's invisible hardline](https://www.reddit.com/r/MechanicalKeyboards/comments/8aw5j2/invisible_hardline_keyboard_progress_update_april/) and [u/jonasfasler's first attempt](https://www.reddit.com/r/MechanicalKeyboards/comments/de1jyv/my_first_attempt_at_handwiring_a_keyboard/) | Very pretty | More difficult. No physical insulation | ![Hardline hand wire](https://i.imgur.com/CnASmPo.jpg)
| Using rigid wiring (e.g. brass tube) | [u/d_stilgar's invisible hardline](https://www.reddit.com/r/MechanicalKeyboards/comments/8aw5j2/invisible_hardline_keyboard_progress_update_april/) and [u/jonasfasler's first attempt](https://www.reddit.com/r/MechanicalKeyboards/comments/de1jyv/my_first_attempt_at_handwiring_a_keyboard/) | Very pretty | More difficult. No physical insulation | ![Hardline hand wire](https://i.imgur.com/CnASmPo.jpg)
| Bare wire with insulation added after (e.g. kapton tape) | [Matt3o's 65% on his website](https://matt3o.com/hand-wiring-a-custom-keyboard/) | Easier (no wire stripping required) | Not as attractive | ![Bare wire](https://i.imgur.com/AvXZShD.jpg)
| Copper tape | [ManuForm Dactyl](https://github.com/tshort/dactyl-keyboard) | Very easy | Only really works when your plate/case aligns with the bottom of your switches | ![Copper tape](https://i.imgur.com/RFyNMlL.jpg)
@@ -121,7 +121,7 @@ Letting the diode rest, grab your solder, and touch both it and the soldering ir
The smoke that the rosin releases is harmful, so be careful not to breath it or get it in your eyes/face.
After soldering things in place, it may be helpful to blow on the joint to push the smoke away from your face, and cool the solder quicker. You should see the solder develop a matte (not shiny) surface as it solidifies. Keep in mind that it will still be very hot afterwards, and will take a couple minutes to be cool to touch. Blow on it will accelerate this process.
After soldering things in place, it may be helpful to blow on the joint to push the smoke away from your face, and cool the solder quicker. You should see the solder develop a matte (not shiny) surface as it solidifies. Keep in mind that it will still be very hot afterwards, and will take a couple minutes to be cool to touch. Blowing on it will accelerate this process.
When the first diode is complete, the next one will need to be soldered to both the keyswitch, and the previous diode at the new elbow. That will look something like this:

View File

@@ -64,4 +64,4 @@
```
מקמו את התיעוד שלכם בתוך `docs/feature_<my_cool_feature>.md`, והוסיפו קישור לקובץ זה במקום המתאים ב `docs/_sidebar.md`. אם הוספתם קודי מקשים נוספים, תקפידו להוסיף אותם ל- `docs/keycodes.md` עם לינק לעמוד היכולת שלכם.
</div>
</div>

View File

@@ -5,4 +5,4 @@
* [בנייה או קומפילציה של QMK](faq_build.md)
* [דיבאגינג ופתרון בעיות של QMK](faq_debug.md)
* [מיפוי מקשים](faq_keymap.md)
</div>
</div>

View File

@@ -14,4 +14,4 @@ TMK עוצב ומומש במקור ע״י [Jun Wako](https://github.com/tmk). QM
מנק׳ מבט של הפרוייקט וניהול הקהילה, TMK מנהל את כל המקלדות הנתמכות בעצמו, עם מעט תמיכה מהקהילה. כל אחד יכול לעשות פורק מהפרוייקט עבור מקלדות אחרות. רק מס׳ מיפויי מקשים נמצאים בברירת המחדל כך שאנשים בד״כ לא משתפים מיפויי מקשים זה עם זה. QMK מעודד את השיתוף של המקלדות וקודי המקשים דרך רפוזיטורי בניהול מרכזי, אשר מקבל את כל בקשות ה- Pull Requests שעומדות בסטנדרט האיכות. רובם מנוהלות ע״י הקהילה, אבל הצוות של QMK עוזר כשנדרש.
לשתי הגישות יש יתרונות וחסרונות וקוד עובר בחופשיות בין TMK ל- QMK כשצריך.
</div>
</div>

View File

@@ -14,4 +14,4 @@
## סוגיות GitHub
ניתן לפתוח [סוגייה ב-GitHub](https://github.com/qmk/qmk_firmware/issues). הדבר שימושי במיוחד כאשר הסוגיה דורשת דיון עמוק וארוך או דיבאגינג.
</div>
</div>

View File

@@ -7,4 +7,4 @@ QMK רצה על מגוון של חומרות. אם המעבד שלך יכול ל
* [מעבדי AVR](hardware_avr.md)
* מעבדי ARM (TBD)
* [מנהלי התקנים](hardware_drivers.md)
</div>
</div>

View File

@@ -13,4 +13,4 @@
מקורות לפקודות שורה (Command Line):
* [מדריך טוב על Command Line](https://www.codecademy.com/learn/learn-the-command-line)
</div>
</div>

View File

@@ -126,6 +126,10 @@
headings: 'h1, h2',
title: 'Table of Contents',
},
tabs: {
persist : false,
tabComments: false,
},
plugins: [
function (hook, vm) {
hook.beforeEach(function (html) {
@@ -148,6 +152,7 @@
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
<script src="//unpkg.com/docsify/lib/plugins/search.min.js"></script>
<script src="//unpkg.com/docsify/lib/plugins/emoji.min.js"></script>
<script src="//unpkg.com/docsify-tabs@1"></script>
<script src="//unpkg.com/docsify-copy-code@2"></script>
<script src="//unpkg.com/docsify-toc@1.0.0/dist/toc.js"></script>
<script src="//unpkg.com/prismjs/components/prism-bash.min.js"></script>

View File

@@ -34,7 +34,9 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
これは最初に include されるものの 1 つである C ヘッダファイルで、プロジェクト全体(もし含まれる場合)にわたって持続します。多くの変数をここで設定し、他の場所からアクセスすることができます。`config.h` ファイルでは、以下のもの以外の、他の `config.h` ファイルやその他のファイルの include をしないでください:
#include "config_common.h"
```c
#include "config_common.h"
```
## ハードウェアオプション

View File

@@ -43,5 +43,3 @@ endif
* eager_pk - キーごとにデバウンスします。状態が変化すると、応答は即座に行われ、その後そのキーは ```DEBOUNCE``` ミリ秒の間入力されません。
* sym_g - キーボードごとにデバウンスします。状態が変化すると、グローバルタイマが設定されます。```DEBOUNCE``` ミリ秒の間何も変化がなければ、全ての入力の変更がプッシュされます。
* sym_pk - キーごとにデバウンスします。状態が変化すると、キーごとのタイマーが設定されます。```DEBOUNCE``` ミリ秒の間そのキーに変化がなければ、キーの状態の変更がプッシュされます。

View File

@@ -187,7 +187,9 @@ void post_process_record_user(uint16_t keycode, keyrecord_t *record) {
デフォルトでは、QWERTY レイアウトの US キーマップを想定しています; それを変更したい場合(例えば OS がソフトウェア Colemak を使う場合)、キーマップのどこかに以下を含めます:
#include <sendstring_colemak.h>
```c
#include "sendstring_colemak.h"
```
### メモリ内の文字列

View File

@@ -189,7 +189,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
最初に、全ての `keymap.c` ファイルを調べ、代わりに `process_record_user``process_record_keymap` に置き換えます。この方法では、これらのキーボードでキーボード固有のコードを使用でき、カスタムの "global" キーコードも使うことができます。また、`SAFE_RANGE``NEW_SAFE_RANGE` に置き換えて、キーコードが重複しないようにすることもできます。
次に、全ての keymap.c ファイルに `#include <name.h>` を追加します。これにより、各キーマップでそれらを再定義することなく新しいキーコードを使うことができます。
次に、全ての keymap.c ファイルに `#include "<name>.h"` を追加します。これにより、各キーマップでそれらを再定義することなく新しいキーコードを使うことができます。
それが完了したら、必要なキーコードの定義を `<name>.h` ファイルに設定します。例えば:
```c

View File

@@ -171,4 +171,3 @@
* `device` 関連するデバイス
* `func` 登録するコールバック関数

View File

@@ -45,7 +45,9 @@ void keyboard_post_init_user(void) {
[custom code](ja/custom_quantum_functions.md)内からデバッグメッセージを出力すると便利な場合があります。それはとても簡単です。ファイルの先頭に`print.h`のインクルードを追加します:
#include <print.h>
```c
#include "print.h"
```
そのあとは、いくつかの異なった print 関数を使用することが出来ます。

View File

@@ -51,6 +51,7 @@ Proton C には1つのオンボード LED(C13)しかなく、デフォルトで
```
MCU = STM32F303
BOARD = QMK_PROTON_C
```
次の変数が存在する場合は削除します。

View File

@@ -51,6 +51,7 @@ HID Keyboard/Keypad usage ページでは 256 未満の usage が定義されて
| Norwegian | `keymap_norwegian.h` |
| Polish | `keymap_polish.h` |
| Portuguese | `keymap_portuguese.h` |
| Portuguese (macOS, ISO) | `keymap_portuguese_osx_iso.h` |
| Portuguese (Brazil) | `keymap_br_abnt2.h` |
| Romanian | `keymap_romanian.h` |
| Russian* | `keymap_russian.h` |

View File

@@ -124,17 +124,17 @@ See also: [Basic Keycodes](keycodes_basic.md)
|`KC_F22` | |F22 |✔ | |✔ |
|`KC_F23` | |F23 |✔ | |✔ |
|`KC_F24` | |F24 |✔ | |✔ |
|`KC_EXECUTE` |`KC_EXEC` |Execute | | |✔ |
|`KC_HELP` | |Help | | |✔ |
|`KC_MENU` | |Menu | | |✔ |
|`KC_SELECT` |`KC_SLCT` |Select | | |✔ |
|`KC_STOP` | |Stop | | |✔ |
|`KC_AGAIN` |`KC_AGIN` |Again | | |✔ |
|`KC_UNDO` | |Undo | | |✔ |
|`KC_CUT` | |Cut | | |✔ |
|`KC_COPY` | |Copy | | |✔ |
|`KC_PASTE` |`KC_PSTE` |Paste | | |✔ |
|`KC_FIND` | |Find | | |✔ |
|`KC_EXECUTE` |`KC_EXEC` |Execute | | |✔ |
|`KC_HELP` | |Help | | |✔ |
|`KC_MENU` | |Menu | | |✔ |
|`KC_SELECT` |`KC_SLCT` |Select | | |✔ |
|`KC_STOP` | |Stop | | |✔ |
|`KC_AGAIN` |`KC_AGIN` |Again | | |✔ |
|`KC_UNDO` | |Undo | | |✔ |
|`KC_CUT` | |Cut | | |✔ |
|`KC_COPY` | |Copy | | |✔ |
|`KC_PASTE` |`KC_PSTE` |Paste | | |✔ |
|`KC_FIND` | |Find | | |✔ |
|`KC__MUTE` | |Mute | |✔ |✔ |
|`KC__VOLUP` | |Volume Up | |✔ |✔ |
|`KC__VOLDOWN` | |Volume Down | |✔ |✔ |

View File

@@ -144,48 +144,48 @@ The basic set of keycodes are based on the [HID Keyboard/Keypad Usage Page (0x07
## Commands
|Key |Aliases |Description |
|------------------|------------------------------|------------------------------|
|`KC_PSCREEN` |`KC_PSCR` |Print Screen |
|`KC_PAUSE` |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, Brightness Up (macOS) |
|`KC_INSERT` |`KC_INS` |Insert |
|`KC_HOME` | |Home |
|`KC_PGUP` | |Page Up |
|`KC_DELETE` |`KC_DEL` |Forward Delete |
|`KC_END` | |End |
|`KC_PGDOWN` |`KC_PGDN` |Page Down |
|`KC_RIGHT` |`KC_RGHT` |Right Arrow |
|`KC_LEFT` | |Left Arrow |
|`KC_DOWN` | |Down Arrow |
|`KC_UP` | |Up Arrow |
|`KC_APPLICATION` |`KC_APP` |Application (Windows Menu Key)|
|`KC_POWER` | |System Power (macOS/Linux) |
|`KC_EXECUTE` |`KC_EXEC` |Execute |
|`KC_HELP` | |Help |
|`KC_MENU` | |Menu |
|`KC_SELECT` |`KC_SLCT` |Select |
|`KC_STOP` | |Stop |
|`KC_AGAIN` |`KC_AGIN` |Again |
|`KC_UNDO` | |Undo |
|`KC_CUT` | |Cut |
|`KC_COPY` | |Copy |
|`KC_PASTE` |`KC_PSTE` |Paste |
|`KC_FIND` | |Find |
|`KC__MUTE` | |Mute (macOS) |
|`KC__VOLUP` | |Volume Up (macOS) |
|`KC__VOLDOWN` | |Volume Down (macOS) |
|`KC_ALT_ERASE` |`KC_ERAS` |Alternate Erase |
|`KC_SYSREQ` | |SysReq/Attention |
|`KC_CANCEL` | |Cancel |
|`KC_CLEAR` |`KC_CLR` |Clear |
|`KC_PRIOR` | |Prior |
|`KC_RETURN` | |Return |
|`KC_SEPARATOR` | |Separator |
|`KC_OUT` | |Out |
|`KC_OPER` | |Oper |
|`KC_CLEAR_AGAIN` | |Clear/Again |
|`KC_CRSEL` | |CrSel/Props |
|`KC_EXSEL` | |ExSel |
|Key |Aliases |Description |
|------------------|------------------------------|--------------------------------------|
|`KC_PSCREEN` |`KC_PSCR` |Print Screen |
|`KC_PAUSE` |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, Brightness Up (macOS) |
|`KC_INSERT` |`KC_INS` |Insert |
|`KC_HOME` | |Home |
|`KC_PGUP` | |Page Up |
|`KC_DELETE` |`KC_DEL` |Forward Delete |
|`KC_END` | |End |
|`KC_PGDOWN` |`KC_PGDN` |Page Down |
|`KC_RIGHT` |`KC_RGHT` |Right Arrow |
|`KC_LEFT` | |Left Arrow |
|`KC_DOWN` | |Down Arrow |
|`KC_UP` | |Up Arrow |
|`KC_APPLICATION` |`KC_APP` |Application (Windows Context Menu Key)|
|`KC_POWER` | |System Power |
|`KC_EXECUTE` |`KC_EXEC` |Execute |
|`KC_HELP` | |Help |
|`KC_MENU` | |Menu |
|`KC_SELECT` |`KC_SLCT` |Select |
|`KC_STOP` | |Stop |
|`KC_AGAIN` |`KC_AGIN` |Again |
|`KC_UNDO` | |Undo |
|`KC_CUT` | |Cut |
|`KC_COPY` | |Copy |
|`KC_PASTE` |`KC_PSTE` |Paste |
|`KC_FIND` | |Find |
|`KC__MUTE` | |Mute |
|`KC__VOLUP` | |Volume Up |
|`KC__VOLDOWN` | |Volume Down |
|`KC_ALT_ERASE` |`KC_ERAS` |Alternate Erase |
|`KC_SYSREQ` | |SysReq/Attention |
|`KC_CANCEL` | |Cancel |
|`KC_CLEAR` |`KC_CLR` |Clear |
|`KC_PRIOR` | |Prior |
|`KC_RETURN` | |Return |
|`KC_SEPARATOR` | |Separator |
|`KC_OUT` | |Out |
|`KC_OPER` | |Oper |
|`KC_CLEAR_AGAIN` | |Clear/Again |
|`KC_CRSEL` | |CrSel/Props |
|`KC_EXSEL` | |ExSel |
## Media Keys
@@ -193,34 +193,34 @@ These keycodes are not part of the Keyboard/Keypad usage page. The `SYSTEM_` key
?> Some of these keycodes may behave differently depending on the OS. For example, on macOS, the keycodes `KC_MEDIA_FAST_FORWARD`, `KC_MEDIA_REWIND`, `KC_MEDIA_NEXT_TRACK` and `KC_MEDIA_PREV_TRACK` skip within the current track when held, but skip the entire track when tapped.
|Key |Aliases |Description |
|-----------------------|---------|-----------------------------|
|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |
|`KC_SYSTEM_SLEEP` |`KC_SLEP`|System Sleep |
|`KC_SYSTEM_WAKE` |`KC_WAKE`|System Wake |
|`KC_AUDIO_MUTE` |`KC_MUTE`|Mute |
|`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up |
|`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down |
|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track |
|`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track |
|`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track (Windows) |
|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track |
|`KC_MEDIA_SELECT` |`KC_MSEL`|Launch Media Player (Windows)|
|`KC_MEDIA_EJECT` |`KC_EJCT`|Eject (macOS) |
|`KC_MAIL` | |Launch Mail (Windows) |
|`KC_CALCULATOR` |`KC_CALC`|Launch Calculator (Windows) |
|`KC_MY_COMPUTER` |`KC_MYCM`|Launch My Computer (Windows) |
|`KC_WWW_SEARCH` |`KC_WSCH`|Browser Search (Windows) |
|`KC_WWW_HOME` |`KC_WHOM`|Browser Home (Windows) |
|`KC_WWW_BACK` |`KC_WBAK`|Browser Back (Windows) |
|`KC_WWW_FORWARD` |`KC_WFWD`|Browser Forward (Windows) |
|`KC_WWW_STOP` |`KC_WSTP`|Browser Stop (Windows) |
|`KC_WWW_REFRESH` |`KC_WREF`|Browser Refresh (Windows) |
|`KC_WWW_FAVORITES` |`KC_WFAV`|Browser Favorites (Windows) |
|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track (macOS) |
|`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track (macOS) |
|`KC_BRIGHTNESS_UP` |`KC_BRIU`|Brightness Up |
|`KC_BRIGHTNESS_DOWN` |`KC_BRID`|Brightness Down |
|Key |Aliases |Description |
|-----------------------|---------|-------------------|
|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |
|`KC_SYSTEM_SLEEP` |`KC_SLEP`|System Sleep |
|`KC_SYSTEM_WAKE` |`KC_WAKE`|System Wake |
|`KC_AUDIO_MUTE` |`KC_MUTE`|Mute |
|`KC_AUDIO_VOL_UP` |`KC_VOLU`|Volume Up |
|`KC_AUDIO_VOL_DOWN` |`KC_VOLD`|Volume Down |
|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT`|Next Track |
|`KC_MEDIA_PREV_TRACK` |`KC_MPRV`|Previous Track |
|`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track |
|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track |
|`KC_MEDIA_SELECT` |`KC_MSEL`|Launch Media Player|
|`KC_MEDIA_EJECT` |`KC_EJCT`|Eject |
|`KC_MAIL` | |Launch Mail |
|`KC_CALCULATOR` |`KC_CALC`|Launch Calculator |
|`KC_MY_COMPUTER` |`KC_MYCM`|Launch My Computer |
|`KC_WWW_SEARCH` |`KC_WSCH`|Browser Search |
|`KC_WWW_HOME` |`KC_WHOM`|Browser Home |
|`KC_WWW_BACK` |`KC_WBAK`|Browser Back |
|`KC_WWW_FORWARD` |`KC_WFWD`|Browser Forward |
|`KC_WWW_STOP` |`KC_WSTP`|Browser Stop |
|`KC_WWW_REFRESH` |`KC_WREF`|Browser Refresh |
|`KC_WWW_FAVORITES` |`KC_WFAV`|Browser Favorites |
|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD`|Next Track |
|`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track |
|`KC_BRIGHTNESS_UP` |`KC_BRIU`|Brightness Up |
|`KC_BRIGHTNESS_DOWN` |`KC_BRID`|Brightness Down |
## Number Pad
@@ -248,7 +248,7 @@ These keycodes are not part of the Keyboard/Keypad usage page. The `SYSTEM_` key
## Special Keys
In addition to these, keycodes in the range of `0xA5-DF` are reserved for internal use by TMK.
In addition to these, keycodes in the range of `0xA5-DF` are reserved for internal use.
|Key |Aliases |Description |
|----------------|--------------------|---------------------------------------|

62
docs/kle2json_guide.md Normal file
View File

@@ -0,0 +1,62 @@
# KLE To info.json
This page describes how to create a [Keyboard Layout Editor](http://keyboard-layout-editor.com) layout that works with `qmk kle2json`. You will also be able to use the same KLE layout to create VIA support for your keyboard.
## Overview
QMK uses `info.json` to store metadata about the keyboard including the matrix pins, row and column configuration, and keyboard layout. You can encode some of this data into a KLE layout and then convert that to `info.json`, which saves you time and headaches creating files from scratch.
Our reference layout is here: <http://www.keyboard-layout-editor.com/#/gists/70aaa4bed76d0b2f67fd165641239552>
Keep that open in a separate window so that you can refer to it while reading this document.
## Layout Structure
The first thing you should notice is that the main layout for the keyboard is in the middle. This is the default layout. Around the sides you'll find layout options. These are groups of keys that can replace specific keys in the default layout. More on that later.
## Anatomy of a Key
Every key in KLE has 12 labels- top left, top center, top right, center left, center, center right, bottom left, bottom center, bottom right, front left, front center, front right. We do not use all 12 labels, but we do some of them.
The labels we use are below:
| | | |
|-|-|-|
| **Matrix** | (unused) | (unused) |
| **Keycode** | (unused) | (unused) |
| (unused) | (unused) | **Option Group** |
| **Option Name** | (unused) | (unused) |
### Matrix
This is the location of the key in the keyboard matrix. It should be two whole numbers separated by a comma representing row and column. For example, the top left location of the keyboard is usually `0,0`, to the right of that key is `0,1`, below that key is `1,0`, and so on.
### Keycode
This is the default keycode for layer 0. You should supply this now even if you won't use the generated keymap because QMK will make greater use of it in the future.
### Option Group
This identifies what Layout Options (if any) this key is part of. If this value is empty the key is not part of any Layout Options.
The value is two whole numbers separated by a comma. The first number is the Layout Option Group Number, which identifies the specific Layout Option this key is associated with. The second number is the specific Layout Option Choice this key is associated with.
### Option Name
This identifies the name for each Option Group Choice. This will be used in the future to automatically build layouts from each option. All keys with the same Option Group identifier should have the same Option Name.
## Running qmk kle2json
Once you have built your KLE layout you are ready to convert it to `info.json`. Start by clicking `Sign In with GitHub` on Keyboard Layout Editor. Once you have signed in you can click `Save` to save your KLE. Once it's saved grab the URL from the bar, it should end end in `/#/gists/<long_number>`.
To use the reference layout as an example, I could update the keyboard `clueboard/60` from that KLE using this command:
```shell
qmk kle2json -kb clueboard/60 -l LAYOUT_60_ansi 'http://www.keyboard-layout-editor.com/#/gists/70aaa4bed76d0b2f67fd165641239552'
```
It will fetch the KLE, generate a new `LAYOUT_60_ansi`, and either add a new layout or change the existing layout to match.
## Adding more layouts
At the current time QMK only supports the base layout. Layout Options are allowed for VIA compatibility purposes and will be implemented in QMK at a later date. For now we recommend you create a KLE for each layout you want to support in QMK and call `qmk kle2json` once per layout to set up the info.json.

View File

@@ -37,26 +37,45 @@ We've tried to make QMK as easy to set up as possible. You only have to prepare
[Must Know Linux Commands](https://www.guru99.com/must-know-linux-commands.html)<br>
[Some Basic Unix Commands](https://www.tjhsst.edu/~dhyatt/superap/unixcmd.html)
### Windows
<!-- tabs:start -->
You will need to install MSYS2, Git, and the QMK CLI.
### ** Windows **
Follow the installation instructions on the [MSYS2 homepage](http://www.msys2.org). Close any open MSYS terminals and open a new MinGW 64-bit terminal. **NOTE: This is *not* the same as the MSYS terminal that opens when installation is completed.**
#### Prerequisites
Then, run the following:
You will need to install MSYS2, Git and Python. Follow the installation instructions on https://www.msys2.org.
Once MSYS2 is installed, close any open MSYS terminals and open a new MinGW 64-bit terminal.
!> **NOTE:** The MinGW 64-bit terminal is *not* the same as the MSYS terminal that opens when installation is completed. Your prompt should say "MINGW64" in purple text, rather than "MSYS". See [this page](https://www.msys2.org/wiki/MSYS2-introduction/#subsystems) for more information on the differences.
Then run the following command:
pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-python3-pip
#### Installation
Install the QMK CLI by running:
python3 -m pip install qmk
### macOS
### ** macOS **
You will need to install Homebrew. Follow the instructions on the [Homebrew homepage](https://brew.sh).
QMK maintains a Homebrew tap and formula which will automatically install the CLI and all necessary dependencies.
After Homebrew is installed run this command:
#### Prerequisites
You will need to install Homebrew. Follow the instructions on https://brew.sh.
#### Installation
Install the QMK CLI by running:
brew install qmk/qmk/qmk
### Linux
### ** Linux/WSL **
#### Prerequisites
You will need to install Git and Python. It's very likely that you already have both, but if not, one of the following commands should install them:
@@ -66,30 +85,71 @@ You will need to install Git and Python. It's very likely that you already have
* Void: `sudo xbps-install -y git python3-pip`
* Solus: `sudo eopkg -y install git python3`
* Sabayon: `sudo equo install dev-vcs/git dev-python/pip`
* Gentoo: `sudo emerge dev-vcs/git dev-python/pip`
Install the global CLI to bootstrap your system:
#### Installation
`python3 -m pip install --user qmk` (on Arch-based distros you can also try the `qmk` package from AUR (**note**: it's maintained by a community member): `yay -S qmk`)
Install the QMK CLI by running:
### FreeBSD
python3 -m pip install --user qmk
#### Community Packages
These packages are maintained by community members, so may not be up to date or completely functional. If you encounter problems, please report them to their respective maintainers.
On Arch-based distros you can install the CLI from the official repositories (NOTE: at the time of writing this package marks some dependencies as optional that should not be):
sudo pacman -S qmk
You can also try the `qmk` package from AUR:
yay -S qmk
### ** FreeBSD **
#### Prerequisites
You will need to install Git and Python. It's possible that you already have both, but if not, run the following commands to install them:
pkg install git python3
Make sure that `$HOME/.local/bin` is added to your `$PATH` so that locally install Python packages are available.
Make sure that `$HOME/.local/bin` is added to your `$PATH` so that locally installed Python packages are available.
Once installed, you can install QMK CLI:
#### Installation
Install the QMK CLI by running:
python3 -m pip install --user qmk
<!-- tabs:end -->
## 3. Run QMK Setup :id=set-up-qmk
<!-- tabs:start -->
### ** Windows **
After installing QMK you can set it up with this command:
qmk setup
In most situations you will want to answer Yes to all of the prompts.
In most situations you will want to answer `y` to all of the prompts.
### ** macOS **
After installing QMK you can set it up with this command:
qmk setup
In most situations you will want to answer `y` to all of the prompts.
### ** Linux/WSL **
After installing QMK you can set it up with this command:
qmk setup
In most situations you will want to answer `y` to all of the prompts.
?>**Note on Debian, Ubuntu and their derivatives**:
It's possible, that you will get an error saying something like: `bash: qmk: command not found`.
@@ -97,12 +157,22 @@ This is due to a [bug](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839155)
Sadly, Ubuntu reitroduced this bug and is [yet to fix it](https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562).
Luckily, the fix is easy. Run this as your user: `echo 'PATH="$HOME/.local/bin:$PATH"' >> $HOME/.bashrc && source $HOME/.bashrc`
### ** FreeBSD **
After installing QMK you can set it up with this command:
qmk setup
In most situations you will want to answer `y` to all of the prompts.
?>**Note on FreeBSD**:
It is suggested to run `qmk setup` as a non-`root` user to start with, but this will likely identify packages that need to be installed to your
base system using `pkg`. However the installation will probably fail when run as an unprivileged user.
To manually install the base dependencies, run `./util/qmk_install.sh` either as `root`, or with `sudo`.
Once that completes, re-run `qmk setup` to complete the setup and checks.
<!-- tabs:end -->
?> If you already know [how to use GitHub](getting_started_github.md), we recommend that you create your own fork and use `qmk setup <github_username>/qmk_firmware` to clone your personal fork. If you don't know what that means you can safely ignore this message.
## 4. Test Your Build Environment

View File

@@ -36,7 +36,9 @@ Prefer a terminal based solution? [hid_listen](https://www.pjrc.com/teensy/hid_l
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:
#include <print.h>
```c
#include "print.h"
```
After that you can use a few different print functions:

View File

@@ -61,4 +61,4 @@ To implement your own version of this function, in your keyboard's source files:
void board_init(void) {
// initialize anything that requires ChibiOS
}
```
```

View File

@@ -44,6 +44,7 @@ To use the Proton C natively, without having to specify `CTPC=yes`, you need to
```
MCU = STM32F303
BOARD = QMK_PROTON_C
```
Remove these variables if they exist:

View File

@@ -27,3 +27,20 @@
.markdown-section hr, .search {
border-bottom: 1px solid #777 !important;
}
:root {
--docsifytabs-border-color: #555;
--docsifytabs-tab-highlight-color: var(--theme-color,#ea6f5a);
--docsifytabs-tab-background: #444;
--docsifytabs-tab-background-active: #3f3f3f;
}
.docsify-tabs__tab:focus {
outline: none !important;
}
.docsify-tabs__content .anchor {
transition: none;
}

View File

@@ -28,3 +28,20 @@
.markdown-section pre {
padding: 0;
}
:root {
--docsifytabs-border-color: #ddd;
--docsifytabs-tab-highlight-color: var(--theme-color, #0074d9);
--docsifytabs-tab-background: #f8f8f8;
--docsifytabs-tab-background-active: transparent;
}
.docsify-tabs__tab:focus {
outline: none !important;
}
.docsify-tabs__content .anchor {
transition: none;
}

View File

@@ -19,8 +19,20 @@ The `info.json` file is a JSON formatted dictionary with the following keys avai
* Width of the board in Key Units
* `height`
* Height of the board in Key Units
* `debounce`
* How many milliseconds (ms) to wait for debounce to happen. (Default: 5)
* `diode_direction`
* The direction diodes face. See [`DIRECT_PINS` in the hardware configuration](https://docs.qmk.fm/#/config_options?id=hardware-options) for more details.
* `layout_aliases`
* A dictionary containing layout aliases. The key is the alias and the value is a layout in `layouts` it maps to.
* `layouts`
* Physical Layout representations. See the next section for more detail.
* Physical Layout representations. See the [Layout Format](#layout_format) section for more detail.
* `matrix_pins`
* Configure the pins corresponding to columns and rows, or direct pins. See [Matrix Pins](#matrix_pins) for more detail.
* `rgblight`
* Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb_lighting) section for more detail.
* `usb`
* Configure USB VID, PID, and other parameters. See [USB](#USB) for more detail.
### Layout Format
@@ -49,25 +61,128 @@ All key positions and rotations are specified in relation to the top-left corner
* The width of the key, in Key Units. Ignored if `ks` is provided. Default: `1`
* `h`
* The height of the key, in Key Units. Ignored if `ks` is provided. Default: `1`
* `r`
* How many degrees clockwise to rotate the key.
* `rx`
* The absolute position of the point to rotate the key around in the horizontal axis. Default: `x`
* `ry`
* The absolute position of the point to rotate the key around in the vertical axis. Default: `y`
* `ks`
* Key Shape: define a polygon by providing a list of points, in Key Units.
* **Important**: These are relative to the top-left of the key, not absolute.
* Example ISO Enter: `[ [0,0], [1.5,0], [1.5,2], [0.25,2], [0.25,1], [0,1], [0,0] ]`
* `label`
* What to name this position in the matrix.
* This should usually be the same name as what is silkscreened on the PCB at this location.
* This should usually correspond to the keycode for the first layer of the default keymap.
* `matrix`
* A 2 item list describing the row and column location for this key.
## How is the Metadata Exposed?
### Matrix Pins
This metadata is primarily used in two ways:
Currently QMK supports connecting switches either directly to GPIO pins or via a switch matrix. At this time you can not combine these, they are mutually exclusive.
* To allow web-based configurators to dynamically generate UI
* To support the new `make keyboard:keymap:qmk` target, which bundles this metadata up with the firmware to allow QMK Toolbox to be smarter.
#### Switch Matrix
Configurator authors can see the [QMK Compiler](https://docs.api.qmk.fm/using-the-api) docs for more information on using the JSON API.
Most keyboards use a switch matrix to connect keyswitches to the MCU. You can define your pin columns and rows to configure your switch matrix. When defining switch matrices you should also define your `diode_direction`.
Example:
```json
{
"diode_direction": "COL2ROW",
"matrix_pins": {
"cols": ["F4", "E6", "B1", "D2"],
"rows": ["B0", "D3", "D5", "D4", "D6"]
}
}
```
#### Direct Pins
Direct pins are when you connect one side of the switch to GND and the other side to a GPIO pin on your MCU. No diode is required, but there is a 1:1 mapping between switches and pins.
When specifying direct pins you need to arrange them in nested arrays. The outer array consists of rows, while the inner array is a text string corresponding to a pin. You can use `null` to indicate an empty spot in the matrix.
Example:
```json
{
"matrix_pins": {
"direct": [
["A10", "A9"],
["A0", "B8"],
[null, "B11"],
["B9", "A8"],
["A7", "B1"],
[null, "B2"]
]
}
```
### RGB Lighting
This section controls the legacy WS2812 support in QMK. This should not be confused with the RGB Matrix feature, which can be used to control both WS2812 and ISSI RGB LEDs.
The following items can be set. Not every value is required.
* `led_count`
* The number of LEDs in your strip
* `pin`
* The GPIO pin that your LED strip is connected to
* `animations`
* A dictionary that lists enabled and disabled animations. See [RGB Light Animations](#rgb_light_animations) below.
* `sleep`
* Set to `true` to enable lighting during host sleep
* `split`
* Set to `true` to enable synchronization functionality between split halves
* `split_count`
* For split keyboards, the number of LEDs on each side
* `max_brightness`
* (0-255) What the maxmimum brightness (value) level is
* `hue_steps`
* How many steps of adjustment to have for hue
* `saturation_steps`
* How many steps of adjustment to have for saturation
* `brightness_steps`
* How many steps of adjustment to have for brightness (value)
Example:
```json
{
"rgblight": {
"led_count": 4,
"pin": "F6",
"hue_steps": 10,
"saturation_steps": 17,
"brightness_steps": 17,
"animations": {
"all": true
}
}
}
```
#### RGB Light Animations
The following animations can be enabled:
| Key | Description |
|-----|-------------|
| `all` | Enable all additional animation modes. |
| `alternating` | Enable alternating animation mode. |
| `breathing` | Enable breathing animation mode. |
| `christmas` | Enable christmas animation mode. |
| `knight` | Enable knight animation mode. |
| `rainbow_mood` | Enable rainbow mood animation mode. |
| `rainbow_swirl` | Enable rainbow swirl animation mode. |
| `rgb_test` | Enable RGB test animation mode. |
| `snake` | Enable snake animation mode. |
| `static_gradient` | Enable static gradient mode. |
| `twinkle` | Enable twinkle animation mode. |
### USB
Every USB keyboard needs to have its USB parmaters defined. At a minimum you need to set vid, pid, and device version.
Example:
```json
{
"usb": {
"vid": "0xC1ED",
"pid": "0x23B0",
"device_ver": "0x0001"
}
}
```

View File

@@ -18,7 +18,9 @@ To use these, simply `#include` the corresponding [header file](https://github.c
|Dutch (Belgium) |`keymap_belgian.h` |
|English (Ireland) |`keymap_irish.h` |
|English (UK) |`keymap_uk.h` |
|English (US Extended) |`keymap_us_extended.h` |
|English (US International) |`keymap_us_international.h` |
|English (US International, Linux)|`keymap_us_international_linux.h`|
|Estonian |`keymap_estonian.h` |
|Finnish |`keymap_finnish.h` |
|French |`keymap_french.h` |
@@ -46,6 +48,7 @@ To use these, simply `#include` the corresponding [header file](https://github.c
|Norwegian |`keymap_norwegian.h` |
|Polish |`keymap_polish.h` |
|Portuguese |`keymap_portuguese.h` |
|Portuguese (macOS, ISO) |`keymap_portuguese_osx_iso.h` |
|Portuguese (Brazil) |`keymap_br_abnt2.h` |
|Romanian |`keymap_romanian.h` |
|Russian* |`keymap_russian.h` |

View File

@@ -60,6 +60,7 @@ Configure the hardware via your config.h:
// 5: about 19200 baud
#define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1
#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
#define SERIAL_USART_TIMEOUT 100 // USART driver timeout. default 100
```
You must also enable the ChibiOS `SERIAL` feature:

View File

@@ -28,6 +28,17 @@ The default setting is 280 µs, which should work for most cases, but this can b
#define WS2812_TRST_US 80
```
#### Byte Order
Some variants of the WS2812 may have their color components in a different physical or logical order. For example, the WS2812B-2020 has physically swapped red and green LEDs, which causes the wrong color to be displayed, because the default order of the bytes sent over the wire is defined as GRB.
In this case, you can change the byte order by defining `WS2812_BYTE_ORDER` as one of the following values:
| Byte order | Known devices |
|-----------------------------------|-------------------------------|
| `WS2812_BYTE_ORDER_GRB` (default) | Most WS2812's, SK6812, SK6805 |
| `WS2812_BYTE_ORDER_RGB` | WS2812B-2020 |
### Bitbang
Default driver, the absence of configuration assumes this driver. To configure it, add this to your rules.mk:

View File

@@ -34,7 +34,9 @@ void keyboard_post_init_user(void) {
有时用[custom code](custom_quantum_functions.md)发送自定义调试信息很有用. 这么做很简单. 首先在你文件头部包含`print.h`:
#include <print.h>
```c
#include "print.h"
```
之后,您可以使用一些不同的打印功能:

151
drivers/apa102/apa102.c Normal file
View File

@@ -0,0 +1,151 @@
/* Copyright 2020 Aldehir Rojas
* Copyright 2017 Mikkel (Duckle29)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "apa102.h"
#include "quantum.h"
#ifndef APA102_NOPS
# if defined(__AVR__)
# define APA102_NOPS 0 // AVR at 16 MHz already spends 62.5 ns per clock, so no extra delay is needed
# elif defined(PROTOCOL_CHIBIOS)
# include "hal.h"
# if defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX)
# define APA102_NOPS (100 / (1000000000L / (STM32_SYSCLK / 4))) // This calculates how many loops of 4 nops to run to delay 100 ns
# else
# error("APA102_NOPS configuration required")
# define APA102_NOPS 0 // this just pleases the compile so the above error is easier to spot
# endif
# endif
#endif
#define io_wait \
do { \
for (int i = 0; i < APA102_NOPS; i++) { \
__asm__ volatile("nop\n\t" \
"nop\n\t" \
"nop\n\t" \
"nop\n\t"); \
} \
} while (0)
#define APA102_SEND_BIT(byte, bit) \
do { \
writePin(RGB_DI_PIN, (byte >> bit) & 1); \
io_wait; \
writePinHigh(RGB_CI_PIN); \
io_wait; \
writePinLow(RGB_CI_PIN); \
io_wait; \
} while (0)
uint8_t apa102_led_brightness = APA102_DEFAULT_BRIGHTNESS;
void static apa102_start_frame(void);
void static apa102_end_frame(uint16_t num_leds);
void static apa102_send_frame(uint8_t red, uint8_t green, uint8_t blue, uint8_t brightness);
void static apa102_send_byte(uint8_t byte);
void apa102_setleds(LED_TYPE *start_led, uint16_t num_leds) {
LED_TYPE *end = start_led + num_leds;
apa102_start_frame();
for (LED_TYPE *led = start_led; led < end; led++) {
apa102_send_frame(led->r, led->g, led->b, apa102_led_brightness);
}
apa102_end_frame(num_leds);
}
// Overwrite the default rgblight_call_driver to use apa102 driver
void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) { apa102_setleds(start_led, num_leds); }
void static apa102_init(void) {
setPinOutput(RGB_DI_PIN);
setPinOutput(RGB_CI_PIN);
writePinLow(RGB_DI_PIN);
writePinLow(RGB_CI_PIN);
}
void apa102_set_brightness(uint8_t brightness) {
if (brightness > APA102_MAX_BRIGHTNESS) {
apa102_led_brightness = APA102_MAX_BRIGHTNESS;
} else if (brightness < 0) {
apa102_led_brightness = 0;
} else {
apa102_led_brightness = brightness;
}
}
void static apa102_send_frame(uint8_t red, uint8_t green, uint8_t blue, uint8_t brightness) {
apa102_send_byte(0b11100000 | brightness);
apa102_send_byte(blue);
apa102_send_byte(green);
apa102_send_byte(red);
}
void static apa102_start_frame(void) {
apa102_init();
for (uint16_t i = 0; i < 4; i++) {
apa102_send_byte(0);
}
}
void static apa102_end_frame(uint16_t num_leds) {
// This function has been taken from: https://github.com/pololu/apa102-arduino/blob/master/APA102.h
// and adapted. The code is MIT licensed. I think thats compatible?
//
// The data stream seen by the last LED in the chain will be delayed by
// (count - 1) clock edges, because each LED before it inverts the clock
// line and delays the data by one clock edge. Therefore, to make sure
// the last LED actually receives the data we wrote, the number of extra
// edges we send at the end of the frame must be at least (count - 1).
//
// Assuming we only want to send these edges in groups of size K, the
// C/C++ expression for the minimum number of groups to send is:
//
// ((count - 1) + (K - 1)) / K
//
// The C/C++ expression above is just (count - 1) divided by K,
// rounded up to the nearest whole number if there is a remainder.
//
// We set K to 16 and use the formula above as the number of frame-end
// bytes to transfer. Each byte has 16 clock edges.
//
// We are ignoring the specification for the end frame in the APA102
// datasheet, which says to send 0xFF four times, because it does not work
// when you have 66 LEDs or more, and also it results in unwanted white
// pixels if you try to update fewer LEDs than are on your LED strip.
uint16_t iterations = (num_leds + 14) / 16;
for (uint16_t i = 0; i < iterations; i++) {
apa102_send_byte(0);
}
apa102_init();
}
void static apa102_send_byte(uint8_t byte) {
APA102_SEND_BIT(byte, 7);
APA102_SEND_BIT(byte, 6);
APA102_SEND_BIT(byte, 5);
APA102_SEND_BIT(byte, 4);
APA102_SEND_BIT(byte, 3);
APA102_SEND_BIT(byte, 2);
APA102_SEND_BIT(byte, 1);
APA102_SEND_BIT(byte, 0);
}

View File

@@ -1,10 +1,5 @@
/*
* light weight WS2812 lib include
*
* Version 2.3 - Nev 29th 2015
* Author: Tim (cpldcpu@gmail.com)
*
* Please do not change this file! All configuration is handled in "ws2812_config.h"
/* Copyright 2020 Aldehir Rojas
* Copyright 2017 Mikkel (Duckle29)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,24 +17,25 @@
#pragma once
#include <avr/io.h>
#include <avr/interrupt.h>
#include "color.h"
#ifndef APA102_DEFAULT_BRIGHTNESS
# define APA102_DEFAULT_BRIGHTNESS 31
#endif
#define APA102_MAX_BRIGHTNESS 31
extern uint8_t apa102_led_brightness;
/* User Interface
*
* Input:
* ledarray: An array of GRB data describing the LED colors
* number_of_leds: The number of LEDs to write
* pinmask (optional): Bitmask describing the output bin. e.g. _BV(PB0)
* start_led: An array of GRB data describing the LED colors
* num_leds: The number of LEDs to write
*
* The functions will perform the following actions:
* - Set the data-out pin as output
* - Send out the LED data
* - Wait 50<EFBFBD>s to reset the LEDs
*/
void apa102_setleds(LED_TYPE *ledarray, uint16_t number_of_leds);
void apa102_setleds_pin(LED_TYPE *ledarray, uint16_t number_of_leds, uint8_t pinmask);
void apa102_setleds_rgbw(LED_TYPE *ledarray, uint16_t number_of_leds);
void apa102_setleds(LED_TYPE *start_led, uint16_t num_leds);
void apa102_set_brightness(uint8_t brightness);

View File

@@ -1,96 +0,0 @@
/*
* APA102 lib V1.0a
*
* Controls APA102 RGB-LEDs
* Author: Mikkel (Duckle29 on GitHub)
*
* Dec 22th, 2017 v1.0a Initial Version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "apa102.h"
#include <avr/interrupt.h>
#include <avr/io.h>
#include <util/delay.h>
#include "debug.h"
// Setleds for standard RGB
void inline apa102_setleds(LED_TYPE *ledarray, uint16_t leds) { apa102_setleds_pin(ledarray, leds, _BV(RGB_DI_PIN & 0xF), _BV(RGB_CLK_PIN & 0xF)); }
void static inline apa102_setleds_pin(LED_TYPE *ledarray, uint16_t leds, uint8_t pinmask_DI, uint8_t pinmask_CLK) {
setPinOutput(RGB_DI_PIN);
setPinOutput(RGB_CLK_PIN);
apa102_send_array((uint8_t *)ledarray, leds)
}
void apa102_send_array(uint8_t *data, uint16_t leds) { // Data is struct of 3 bytes. RGB - leds is number of leds in data
apa102_start_frame();
while (leds--) {
apa102_send_frame(0xFF000000 | (data->b << 16) | (data->g << 8) | data->r);
data++;
}
apa102_end_frame(leds);
}
void apa102_send_frame(uint32_t frame) {
for (uint32_t i = 0xFF; i > 0;) {
apa102_send_byte(frame & i);
i = i << 8;
}
}
void apa102_start_frame() { apa102_send_frame(0); }
void apa102_end_frame(uint16_t leds) {
// This function has been taken from: https://github.com/pololu/apa102-arduino/blob/master/APA102.h
// and adapted. The code is MIT licensed. I think thats compatible?
// We need to send some more bytes to ensure that all the LEDs in the
// chain see their new color and start displaying it.
//
// The data stream seen by the last LED in the chain will be delayed by
// (count - 1) clock edges, because each LED before it inverts the clock
// line and delays the data by one clock edge. Therefore, to make sure
// the last LED actually receives the data we wrote, the number of extra
// edges we send at the end of the frame must be at least (count - 1).
// For the APA102C, that is sufficient.
//
// The SK9822 only updates after it sees 32 zero bits followed by one more
// rising edge. To avoid having the update time depend on the color of
// the last LED, we send a dummy 0xFF byte. (Unfortunately, this means
// that partial updates of the beginning of an LED strip are not possible;
// the LED after the last one you are trying to update will be black.)
// After that, to ensure that the last LED in the chain sees 32 zero bits
// and a rising edge, we need to send at least 65 + (count - 1) edges. It
// is sufficent and simpler to just send (5 + count/16) bytes of zeros.
//
// We are ignoring the specification for the end frame in the APA102/SK9822
// datasheets because it does not actually ensure that all the LEDs will
// start displaying their new colors right away.
apa102_send_byte(0xFF);
for (uint16_t i = 0; i < 5 + leds / 16; i++) {
apa102_send_byte(0);
}
}
void apa102_send_byte(uint8_t byte) {
uint8_t i;
for (i = 0; i < 8; i++) {
writePin(RGB_DI_PIN, !!(byte & (1 << (7 - i))));
writePinHigh(RGB_CLK_PIN);
}
}

View File

@@ -1,5 +1,3 @@
#ifndef LCD_H
#define LCD_H
/*************************************************************************
Title : C include file for the HD44780U LCD library (lcd.c)
Author: Peter Fleury <pfleury@gmx.ch> http://tinyurl.com/peterfleury
@@ -43,6 +41,8 @@
*/
#pragma once
#include <inttypes.h>
#include <avr/pgmspace.h>
@@ -346,5 +346,3 @@ extern void lcd_data(uint8_t data);
#define lcd_puts_P(__s) lcd_puts_p(PSTR(__s))
/**@}*/
#endif // LCD_H

View File

@@ -17,8 +17,7 @@
* GitHub repository: https://github.com/g4lvanix/I2C-master-lib
*/
#ifndef I2C_MASTER_H
#define I2C_MASTER_H
#pragma once
#define I2C_READ 0x01
#define I2C_WRITE 0x00
@@ -42,5 +41,3 @@ i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16
i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout);
i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
void i2c_stop(void);
#endif // I2C_MASTER_H

View File

@@ -20,8 +20,7 @@
Read or write to the necessary buffer according to the opperation.
*/
#ifndef I2C_SLAVE_H
#define I2C_SLAVE_H
#pragma once
#define I2C_SLAVE_REG_COUNT 30
@@ -29,5 +28,3 @@ extern volatile uint8_t i2c_slave_reg[I2C_SLAVE_REG_COUNT];
void i2c_slave_init(uint8_t address);
void i2c_slave_stop(void);
#endif // I2C_SLAVE_H

View File

@@ -140,27 +140,33 @@ spi_status_t spi_read() {
}
spi_status_t spi_transmit(const uint8_t *data, uint16_t length) {
spi_status_t status = SPI_STATUS_ERROR;
spi_status_t status;
for (uint16_t i = 0; i < length; i++) {
status = spi_write(data[i]);
if (status < 0) {
return status;
}
}
return status;
return SPI_STATUS_SUCCESS;
}
spi_status_t spi_receive(uint8_t *data, uint16_t length) {
spi_status_t status = SPI_STATUS_ERROR;
spi_status_t status;
for (uint16_t i = 0; i < length; i++) {
status = spi_read();
if (status > 0) {
if (status >= 0) {
data[i] = status;
} else {
return status;
}
}
return (status < 0) ? status : SPI_STATUS_SUCCESS;
return SPI_STATUS_SUCCESS;
}
void spi_stop(void) {

View File

@@ -1,5 +1,4 @@
#ifndef SSD1306_H
#define SSD1306_H
#pragma once
#include <stdbool.h>
#include <stdio.h>
@@ -86,5 +85,3 @@ void matrix_write_char(struct CharacterMatrix *matrix, uint8_t c);
void matrix_write(struct CharacterMatrix *matrix, const char *data);
void matrix_write_P(struct CharacterMatrix *matrix, const char *data);
void matrix_render(struct CharacterMatrix *matrix);
#endif

View File

@@ -16,7 +16,7 @@
#include "quantum.h"
#include "analog.h"
#include "ch.h"
#include <ch.h>
#include <hal.h>
#if !HAL_USE_ADC

View File

@@ -24,7 +24,7 @@
*/
#pragma once
#include "ch.h"
#include <ch.h>
#include <hal.h>
#ifdef I2C1_BANK

View File

@@ -6,7 +6,7 @@
#include "serial.h"
#include "wait.h"
#include "hal.h"
#include <hal.h>
// TODO: resolve/remove build warnings
#if defined(RGBLIGHT_ENABLE) && defined(RGBLED_SPLIT) && defined(PROTOCOL_CHIBIOS) && defined(WS2812_DRIVER_BITBANG)

View File

@@ -1,9 +1,9 @@
#include "quantum.h"
#include "serial.h"
#include "printf.h"
#include "print.h"
#include "ch.h"
#include "hal.h"
#include <ch.h>
#include <hal.h>
#ifndef USART_CR1_M0
# define USART_CR1_M0 USART_CR1_M // some platforms (f1xx) dont have this so
@@ -58,7 +58,10 @@
# error invalid SELECT_SOFT_SERIAL_SPEED value
#endif
#define TIMEOUT 100
#ifndef SERIAL_USART_TIMEOUT
# define SERIAL_USART_TIMEOUT 100
#endif
#define HANDSHAKE_MAGIC 7
static inline msg_t sdWriteHalfDuplex(SerialDriver* driver, uint8_t* data, uint8_t size) {
@@ -201,21 +204,21 @@ int soft_serial_transaction(int index) {
sdClear(&SERIAL_USART_DRIVER);
// First chunk is always transaction id
sdWriteTimeout(&SERIAL_USART_DRIVER, &sstd_index, sizeof(sstd_index), TIME_MS2I(TIMEOUT));
sdWriteTimeout(&SERIAL_USART_DRIVER, &sstd_index, sizeof(sstd_index), TIME_MS2I(SERIAL_USART_TIMEOUT));
uint8_t sstd_index_shake = 0xFF;
// Which we always read back first so that we can error out correctly
// - due to the half duplex limitations on return codes, we always have to read *something*
// - without the read, write only transactions *always* succeed, even during the boot process where the slave is not ready
res = sdReadTimeout(&SERIAL_USART_DRIVER, &sstd_index_shake, sizeof(sstd_index_shake), TIME_MS2I(TIMEOUT));
res = sdReadTimeout(&SERIAL_USART_DRIVER, &sstd_index_shake, sizeof(sstd_index_shake), TIME_MS2I(SERIAL_USART_TIMEOUT));
if (res < 0 || (sstd_index_shake != (sstd_index ^ HANDSHAKE_MAGIC))) {
dprintf("serial::usart_shake NO_RESPONSE\n");
return TRANSACTION_NO_RESPONSE;
}
if (trans->initiator2target_buffer_size) {
res = sdWriteTimeout(&SERIAL_USART_DRIVER, trans->initiator2target_buffer, trans->initiator2target_buffer_size, TIME_MS2I(TIMEOUT));
res = sdWriteTimeout(&SERIAL_USART_DRIVER, trans->initiator2target_buffer, trans->initiator2target_buffer_size, TIME_MS2I(SERIAL_USART_TIMEOUT));
if (res < 0) {
dprintf("serial::usart_transmit NO_RESPONSE\n");
return TRANSACTION_NO_RESPONSE;
@@ -223,7 +226,7 @@ int soft_serial_transaction(int index) {
}
if (trans->target2initiator_buffer_size) {
res = sdReadTimeout(&SERIAL_USART_DRIVER, trans->target2initiator_buffer, trans->target2initiator_buffer_size, TIME_MS2I(TIMEOUT));
res = sdReadTimeout(&SERIAL_USART_DRIVER, trans->target2initiator_buffer, trans->target2initiator_buffer_size, TIME_MS2I(SERIAL_USART_TIMEOUT));
if (res < 0) {
dprintf("serial::usart_receive NO_RESPONSE\n");
return TRANSACTION_NO_RESPONSE;

View File

@@ -115,11 +115,17 @@ bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor) {
return true;
}
spi_status_t spi_write(uint8_t data) { return spi_transmit(&data, 1); }
spi_status_t spi_write(uint8_t data) {
uint8_t rxData;
spiExchange(&SPI_DRIVER, 1, &data, &rxData);
return rxData;
}
spi_status_t spi_read(void) {
uint8_t data = 0;
spi_receive(&data, 1);
spiReceive(&SPI_DRIVER, 1, &data);
return data;
}

View File

@@ -18,7 +18,7 @@
#include <ch.h>
#include <hal.h>
#include <quantum.h>
#include "quantum.h"
#ifndef SPI_DRIVER
# define SPI_DRIVER SPID2

View File

@@ -1,7 +1,7 @@
#include "quantum.h"
#include "ws2812.h"
#include "ch.h"
#include "hal.h"
#include <ch.h>
#include <hal.h>
/* Adapted from https://github.com/bigjosh/SimpleNeoPixelDemo/ */
@@ -89,9 +89,16 @@ void ws2812_setleds(LED_TYPE *ledarray, uint16_t leds) {
for (uint8_t i = 0; i < leds; i++) {
// WS2812 protocol dictates grb order
#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB)
sendByte(ledarray[i].g);
sendByte(ledarray[i].r);
sendByte(ledarray[i].b);
#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB)
sendByte(ledarray[i].r);
sendByte(ledarray[i].g);
sendByte(ledarray[i].b);
#endif
#ifdef RGBW
sendByte(ledarray[i].w);
#endif

View File

@@ -1,6 +1,6 @@
#include "ws2812.h"
#include "quantum.h"
#include "hal.h"
#include <hal.h>
/* Adapted from https://github.com/joewa/WS2812-LED-Driver_ChibiOS/ */
@@ -107,6 +107,7 @@
*/
#define WS2812_BIT(led, byte, bit) (24 * (led) + 8 * (byte) + (7 - (bit)))
#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB)
/**
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given red bit
*
@@ -117,7 +118,7 @@
*
* @return The bit index
*/
#define WS2812_RED_BIT(led, bit) WS2812_BIT((led), 1, (bit))
# define WS2812_RED_BIT(led, bit) WS2812_BIT((led), 1, (bit))
/**
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given green bit
@@ -129,7 +130,7 @@
*
* @return The bit index
*/
#define WS2812_GREEN_BIT(led, bit) WS2812_BIT((led), 0, (bit))
# define WS2812_GREEN_BIT(led, bit) WS2812_BIT((led), 0, (bit))
/**
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given blue bit
@@ -141,7 +142,45 @@
*
* @return The bit index
*/
#define WS2812_BLUE_BIT(led, bit) WS2812_BIT((led), 2, (bit))
# define WS2812_BLUE_BIT(led, bit) WS2812_BIT((led), 2, (bit))
#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB)
/**
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given red bit
*
* @note The red byte is the middle byte in the color packet
*
* @param[in] led: The led index [0, @ref RGBLED_NUM)
* @param[in] bit: The bit number [0, 7]
*
* @return The bit index
*/
# define WS2812_RED_BIT(led, bit) WS2812_BIT((led), 0, (bit))
/**
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given green bit
*
* @note The red byte is the first byte in the color packet
*
* @param[in] led: The led index [0, @ref RGBLED_NUM)
* @param[in] bit: The bit number [0, 7]
*
* @return The bit index
*/
# define WS2812_GREEN_BIT(led, bit) WS2812_BIT((led), 1, (bit))
/**
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given blue bit
*
* @note The red byte is the last byte in the color packet
*
* @param[in] led: The led index [0, @ref RGBLED_NUM)
* @param[in] bit: The bit index [0, 7]
*
* @return The bit index
*/
# define WS2812_BLUE_BIT(led, bit) WS2812_BIT((led), 2, (bit))
#endif
/* --- PRIVATE VARIABLES ---------------------------------------------------- */

View File

@@ -62,9 +62,15 @@ static uint8_t get_protocol_eq(uint8_t data, int pos) {
static void set_led_color_rgb(LED_TYPE color, int pos) {
uint8_t* tx_start = &txbuf[PREAMBLE_SIZE];
#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB)
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.g, j);
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.r, j);
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.b, j);
#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB)
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.r, j);
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.g, j);
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.b, j);
#endif
}
void ws2812_init(void) {

View File

@@ -49,6 +49,11 @@
# define EXTERNAL_EEPROM_PAGE_SIZE 64
# define EXTERNAL_EEPROM_ADDRESS_SIZE 2
# define EXTERNAL_EEPROM_WRITE_TIME 5
#elif defined(EEPROM_I2C_24LC64)
# define EXTERNAL_EEPROM_BYTE_COUNT 8192
# define EXTERNAL_EEPROM_PAGE_SIZE 32
# define EXTERNAL_EEPROM_ADDRESS_SIZE 2
# define EXTERNAL_EEPROM_WRITE_TIME 5
#elif defined(EEPROM_I2C_MB85RC256V)
# define EXTERNAL_EEPROM_BYTE_COUNT 32768
# define EXTERNAL_EEPROM_PAGE_SIZE 128

View File

@@ -17,7 +17,7 @@
#include <stdint.h>
#include <string.h>
#include "hal.h"
#include <hal.h>
#include "eeprom_driver.h"
#include "eeprom_stm32_L0_L1.h"

View File

@@ -21,8 +21,6 @@
#include <math.h>
uint8_t DRV2605L_transfer_buffer[2];
uint8_t DRV2605L_tx_register[0];
uint8_t DRV2605L_read_buffer[0];
uint8_t DRV2605L_read_register;
void DRV_write(uint8_t drv_register, uint8_t settings) {
@@ -32,8 +30,7 @@ void DRV_write(uint8_t drv_register, uint8_t settings) {
}
uint8_t DRV_read(uint8_t regaddress) {
i2c_readReg(DRV2605L_BASE_ADDRESS << 1, regaddress, DRV2605L_read_buffer, 1, 100);
DRV2605L_read_register = (uint8_t)DRV2605L_read_buffer[0];
i2c_readReg(DRV2605L_BASE_ADDRESS << 1, regaddress, &DRV2605L_read_register, 1, 100);
return DRV2605L_read_register;
}

View File

@@ -403,4 +403,4 @@ typedef union DRVREG_CTRL5 { /* register 0x1F */
uint8_t C5_LRA_AUTO_OPEN_LOOP : 1;
uint8_t C5_AUTO_OL_CNT : 2;
} Bits;
} DRVREG_CTRL5;
} DRVREG_CTRL5;

View File

@@ -15,7 +15,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <timer.h>
#include "timer.h"
#include "solenoid.h"
#include "haptic.h"

View File

@@ -63,7 +63,7 @@ uint8_t g_twi_transfer_buffer[20];
// buffers and the transfers in IS31FL3731_write_pwm_buffer() but it's
// probably not worth the extra complexity.
uint8_t g_pwm_buffer[LED_DRIVER_COUNT][144];
bool g_pwm_buffer_update_required = false;
bool g_pwm_buffer_update_required[LED_DRIVER_COUNT] = {false};
/* There's probably a better way to init this... */
#if LED_DRIVER_COUNT == 1
@@ -75,7 +75,7 @@ uint8_t g_led_control_registers[LED_DRIVER_COUNT][18] = {{0}, {0}, {0}};
#elif LED_DRIVER_COUNT == 4
uint8_t g_led_control_registers[LED_DRIVER_COUNT][18] = {{0}, {0}, {0}, {0}};
#endif
bool g_led_control_registers_update_required = false;
bool g_led_control_registers_update_required[LED_DRIVER_COUNT] = {false};
// This is the bit pattern in the LED control registers
// (for matrix A, add one to register for matrix B)
@@ -190,8 +190,8 @@ void IS31FL3731_set_value(int index, uint8_t value) {
is31_led led = g_is31_leds[index];
// Subtract 0x24 to get the second index of g_pwm_buffer
g_pwm_buffer[led.driver][led.v - 0x24] = value;
g_pwm_buffer_update_required = true;
g_pwm_buffer[led.driver][led.v - 0x24] = value;
g_pwm_buffer_update_required[led.driver] = true;
}
}
@@ -213,20 +213,21 @@ void IS31FL3731_set_led_control_register(uint8_t index, bool value) {
g_led_control_registers[led.driver][control_register] &= ~(1 << bit_value);
}
g_led_control_registers_update_required = true;
g_led_control_registers_update_required[led.driver] = true;
}
void IS31FL3731_update_pwm_buffers(uint8_t addr, uint8_t index) {
if (g_pwm_buffer_update_required) {
if (g_pwm_buffer_update_required[index]) {
IS31FL3731_write_pwm_buffer(addr, g_pwm_buffer[index]);
g_pwm_buffer_update_required = false;
g_pwm_buffer_update_required[index] = false;
}
}
void IS31FL3731_update_led_control_registers(uint8_t addr, uint8_t index) {
if (g_led_control_registers_update_required) {
if (g_led_control_registers_update_required[index]) {
for (int i = 0; i < 18; i++) {
IS31FL3731_write_register(addr, i, g_led_control_registers[index][i]);
}
g_led_control_registers_update_required[index] = false;
}
}

View File

@@ -271,6 +271,10 @@ static void rotate_90(const uint8_t *src, uint8_t *dest) {
}
void oled_render(void) {
if (!oled_initialized) {
return;
}
// Do we have work to do?
oled_dirty &= OLED_ALL_BLOCKS_MASK;
if (!oled_dirty || oled_scrolling) {
@@ -527,6 +531,10 @@ void oled_write_raw_P(const char *data, uint16_t size) {
#endif // defined(__AVR__)
bool oled_on(void) {
if (!oled_initialized) {
return oled_active;
}
#if OLED_TIMEOUT > 0
oled_timeout = timer_read32() + OLED_TIMEOUT;
#endif
@@ -543,6 +551,10 @@ bool oled_on(void) {
}
bool oled_off(void) {
if (!oled_initialized) {
return !oled_active;
}
static const uint8_t PROGMEM display_off[] = {I2C_CMD, DISPLAY_OFF};
if (oled_active) {
if (I2C_TRANSMIT_P(display_off) != I2C_STATUS_SUCCESS) {
@@ -557,6 +569,10 @@ bool oled_off(void) {
bool is_oled_on(void) { return oled_active; }
uint8_t oled_set_brightness(uint8_t level) {
if (!oled_initialized) {
return oled_brightness;
}
uint8_t set_contrast[] = {I2C_CMD, CONTRAST, level};
if (oled_brightness != level) {
if (I2C_TRANSMIT(set_contrast) != I2C_STATUS_SUCCESS) {
@@ -596,6 +612,10 @@ void oled_scroll_set_speed(uint8_t speed) {
}
bool oled_scroll_right(void) {
if (!oled_initialized) {
return oled_scrolling;
}
// Dont enable scrolling if we need to update the display
// This prevents scrolling of bad data from starting the scroll too early after init
if (!oled_dirty && !oled_scrolling) {
@@ -610,6 +630,10 @@ bool oled_scroll_right(void) {
}
bool oled_scroll_left(void) {
if (!oled_initialized) {
return oled_scrolling;
}
// Dont enable scrolling if we need to update the display
// This prevents scrolling of bad data from starting the scroll too early after init
if (!oled_dirty && !oled_scrolling) {
@@ -624,6 +648,10 @@ bool oled_scroll_left(void) {
}
bool oled_scroll_off(void) {
if (!oled_initialized) {
return !oled_scrolling;
}
if (oled_scrolling) {
static const uint8_t PROGMEM display_scroll_off[] = {I2C_CMD, DEACTIVATE_SCROLL};
if (I2C_TRANSMIT_P(display_scroll_off) != I2C_STATUS_SUCCESS) {

View File

@@ -28,11 +28,11 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "micro_oled.h"
#include <print.h>
#include "print.h"
#include <stdlib.h>
#include "util/font5x7.h"
#include "util/font8x16.h"
#include "string.h"
#include <string.h>
#define TOTALFONTS 2
const unsigned char* fonts_pointer[] = {font5x7, font8x16};

View File

@@ -1,16 +1,17 @@
ifneq ($(strip $(QWIIC_ENABLE)),)
ifeq ($(strip $(QWIIC_ENABLE)),yes)
COMMON_VPATH += $(DRIVER_PATH)/qwiic
OPT_DEFS += -DQWIIC_ENABLE
SRC += qwiic.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifneq ($(filter JOYSTIIC, $(QWIIC_ENABLE)),)
ifneq ($(filter JOYSTIIC, $(QWIIC_DRIVERS)),)
OPT_DEFS += -DQWIIC_JOYSTIIC_ENABLE
SRC += joystiic.c
endif
ifneq ($(filter MICRO_OLED, $(QWIIC_ENABLE)),)
ifneq ($(filter MICRO_OLED, $(QWIIC_DRIVERS)),)
OPT_DEFS += -DQWIIC_MICRO_OLED_ENABLE
SRC += micro_oled.c
endif
endif

View File

@@ -1,3 +1,3 @@
GFXINC += drivers/ugfx/gdisp/is31fl3731c
GFXSRC += drivers/ugfx/gdisp/is31fl3731c/gdisp_is31fl3731c.c
GDISP_DRIVER_LIST += GDISPVMT_IS31FL3731C_QMK
GDISP_DRIVER_LIST += GDISPVMT_IS31FL3731C_QMK

View File

View File

@@ -26,7 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
#define MATRIX_ROW_PINS { F6, F5, F4, F1 }
#define MATRIX_ROW_PINS { F0, F5, F4, F6 }
#define MATRIX_COL_PINS { D6, D7, B5 }
#define UNUSED_PINS

View File

View File

@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F303
BOARD = QMK_PROTON_C
## Features
CONSOLE_ENABLE = yes

View File

@@ -20,8 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xCEEB
#define PRODUCT_ID 0x0510
#define VENDOR_ID 0x3430 // "40"
#define PRODUCT_ID 0x4D68 // "M68"
#define DEVICE_VER 0x0101
#define MANUFACTURER di0ib
#define PRODUCT MF68

View File

@@ -0,0 +1,49 @@
/* Copyright 2020 MechMerlin
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_68_ansi(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_68_ansi(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_VOLU, KC_HOME,
_______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, _______, KC_VOLD, KC_END,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, KC_MUTE,
_______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
),
[2] = LAYOUT_68_ansi(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[3] = LAYOUT_68_ansi(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

View File

@@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes

View File

@@ -16,7 +16,7 @@
{ K40, K41, K42, K43, K44, K45, K46, K47, K48 }, \
{ K50, K51, K52, K53, K54, K55, K56, K57, K58 }, \
{ K60, K61, K62, K63, K64, K65, K66, K67, K68 }, \
{ K70, K71, K72, K73, K74 } \
{ K70, K71, K72, K73, K74, KC_NO, KC_NO, KC_NO, KC_NO } \
}
#define LAYOUT_kc( \

View File

@@ -14,7 +14,7 @@ BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
@@ -22,7 +22,7 @@ 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
NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI controls

View File

@@ -0,0 +1,122 @@
/*
Copyright 2020
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x3430 // "40"
#define PRODUCT_ID 0x5350 // "SP"
#define DEVICE_VER 0x1001
#define MANUFACTURER di0ib
#define PRODUCT Six Pack
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
// #define MATRIX_ROW_PINS { B0 } // B0 equivalents the ground pin
// #define MATRIX_COL_PINS { E6, D7, C6, D4 }
#define DIRECT_PINS { \
{ D4, C6, D7 }, \
{ E6, B4, B5 } \
}
#define UNUSED_PINS { D1, D0, C4, C5, B1, B2, B3 } // TX, RX, SDA, SCL, PB1, PB2, PB3 on expansion connector
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/* Backlight */
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 6
#define BACKLIGHT_PINS { F4, F5 } // Top Row, Bottom Row
// #define RGB_DI_PIN B1 // PB1 on expansion connector
// #ifdef RGB_DI_PIN
// #define RGBLED_NUM 16
// #define RGBLIGHT_HUE_STEP 8
// #define RGBLIGHT_SAT_STEP 8
// #define RGBLIGHT_VAL_STEP 8
// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
// /*== all animations enable ==*/
// #define RGBLIGHT_ANIMATIONS
// /*== or choose animations ==*/
// #define RGBLIGHT_EFFECT_BREATHING
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
// #define RGBLIGHT_EFFECT_SNAKE
// #define RGBLIGHT_EFFECT_KNIGHT
// #define RGBLIGHT_EFFECT_CHRISTMAS
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
// #define RGBLIGHT_EFFECT_RGB_TEST
// #define RGBLIGHT_EFFECT_ALTERNATING
// /*== customize breathing effect ==*/
// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
// /*==== use exp() and sin() ====*/
// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
// #endif
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
*/
// #define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/* Bootmagic Lite key configuration */
// #define BOOTMAGIC_LITE_ROW 0
// #define BOOTMAGIC_LITE_COLUMN 0

View File

@@ -0,0 +1,15 @@
{
"keyboard_name": "sixpack",
"url": "https://www.40percent.club/2017/05/six-pack-11.html",
"maintainer": "qmk",
"width": 3,
"height": 2,
"layouts": {
"LAYOUT_ortho_2x3": {
"layout": [
{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0},
{"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}
]
}
}
}

View File

@@ -0,0 +1,31 @@
/* Copyright 2020
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Default 2x3 layout
* .--------------------------.
* | MUTE | UP | PLAY |
* |--------+--------+--------+
* | LEFT | DOWN | RIGHT |
* '--------------------------'
*/
[0] = LAYOUT_ortho_2x3(/* Default */
KC_MUTE, KC_UP, KC_MPLY,
KC_LEFT, KC_DOWN, KC_RGHT),
};

View File

@@ -0,0 +1 @@
# The default keymap for Six Pack

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