Compare commits

...

94 Commits

Author SHA1 Message Date
9eaee65ac3 make custom keycodes actually work 2021-09-09 08:07:34 -07:00
5b0b8ba654 move clueboard/2x1800/2019 to json custom keycodes 2021-09-08 23:16:13 -07:00
0a33ce0659 wip: support for custom keycodes in json 2021-09-08 23:15:54 -07:00
ac4849df13 Merge remote-tracking branch 'origin/master' into develop 2021-09-09 03:20:08 +00:00
f03e78e888 Merge remote-tracking branch 'origin/master' into develop 2021-09-09 02:45:20 +00:00
588a3afe40 Merge remote-tracking branch 'origin/master' into develop 2021-09-09 02:14:37 +00:00
1837d98425 Merge remote-tracking branch 'origin/master' into develop 2021-09-09 01:35:09 +00:00
d961d8df83 Merge remote-tracking branch 'origin/master' into develop 2021-09-09 01:11:20 +00:00
8fa2a7ea2a Merge remote-tracking branch 'origin/master' into develop 2021-09-09 00:28:34 +00:00
60c985ac8e Merge remote-tracking branch 'origin/master' into develop 2021-09-08 23:58:10 +00:00
cab0d7955f Merge remote-tracking branch 'origin/master' into develop 2021-09-08 23:55:47 +00:00
24000ef2e1 Merge remote-tracking branch 'origin/master' into develop 2021-09-08 23:53:13 +00:00
983580322f Merge remote-tracking branch 'origin/master' into develop 2021-09-08 23:03:20 +00:00
38afc7e4cc Merge remote-tracking branch 'origin/master' into develop 2021-09-08 22:44:49 +00:00
d977e5d3e9 Remove Arduino-style analogRead() (#14348) 2021-09-08 14:37:59 +01:00
9b3e973aa2 Merge remote-tracking branch 'origin/master' into develop 2021-09-08 07:35:06 +00:00
4164f4148b Merge remote-tracking branch 'origin/master' into develop 2021-09-08 06:54:03 +00:00
6482fb9911 Merge remote-tracking branch 'origin/master' into develop 2021-09-08 04:07:40 +00:00
1498ecaa24 Merge remote-tracking branch 'origin/master' into develop 2021-09-08 03:24:22 +00:00
456f7019de Merge remote-tracking branch 'origin/master' into develop 2021-09-08 03:02:25 +00:00
4ba8305a5c Merge remote-tracking branch 'origin/master' into develop 2021-09-08 01:54:23 +00:00
f6b0484f0f Merge remote-tracking branch 'origin/master' into develop 2021-09-08 01:23:43 +00:00
af19461a02 Merge remote-tracking branch 'origin/master' into develop 2021-09-07 15:35:32 +00:00
c669c43769 Merge remote-tracking branch 'origin/master' into develop 2021-09-07 15:33:58 +00:00
f98f23d6d6 Merge remote-tracking branch 'origin/master' into develop 2021-09-06 19:45:19 +00:00
943e413f76 Merge remote-tracking branch 'origin/master' into develop 2021-09-06 13:49:44 +00:00
6ca09c6bba Merge remote-tracking branch 'origin/master' into develop 2021-09-05 22:56:53 +00:00
d72f29556a Merge remote-tracking branch 'origin/master' into develop 2021-09-05 22:36:16 +00:00
147289e173 Merge remote-tracking branch 'origin/master' into develop 2021-09-05 20:37:03 +00:00
673f82ebd9 Merge remote-tracking branch 'origin/master' into develop 2021-09-05 19:36:50 +00:00
e1ad9432b6 Merge remote-tracking branch 'origin/master' into develop 2021-09-05 16:09:51 +00:00
a66e8c884f Merge remote-tracking branch 'origin/master' into develop 2021-09-05 16:06:24 +00:00
0b1dee6c50 Merge remote-tracking branch 'origin/master' into develop 2021-09-04 14:02:25 +00:00
e4fcdf57cf Merge remote-tracking branch 'origin/master' into develop 2021-09-04 02:02:43 +00:00
d272bf2dc2 Merge remote-tracking branch 'origin/master' into develop 2021-09-03 20:03:43 +00:00
9f17f9b2e1 Merge remote-tracking branch 'origin/master' into develop 2021-09-03 20:02:20 +00:00
88bb29fb17 Merge remote-tracking branch 'origin/master' into develop 2021-09-03 20:00:59 +00:00
f95706810a Merge remote-tracking branch 'origin/master' into develop 2021-09-03 18:48:40 +00:00
337be283ca Merge remote-tracking branch 'origin/master' into develop 2021-09-03 16:10:08 +00:00
5bb9da6bca Merge remote-tracking branch 'origin/master' into develop 2021-09-02 17:50:50 +00:00
751dc35546 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 17:50:12 +00:00
d68d34644a Merge remote-tracking branch 'origin/master' into develop 2021-09-02 17:18:08 +00:00
d8a2142f24 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 17:10:14 +00:00
c2da0da1dc Merge remote-tracking branch 'origin/master' into develop 2021-09-02 17:09:13 +00:00
0ed4002c19 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 04:13:12 +00:00
98436577d7 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 04:09:36 +00:00
cfedd3054e Merge remote-tracking branch 'origin/master' into develop 2021-09-02 03:51:21 +00:00
e597469964 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 03:47:31 +00:00
f77602b8fb Merge remote-tracking branch 'origin/master' into develop 2021-09-02 03:44:58 +00:00
7847acdded Merge remote-tracking branch 'origin/master' into develop 2021-09-02 03:43:04 +00:00
b0104e99a5 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 03:41:44 +00:00
d437f78f57 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 03:41:03 +00:00
48a7b50238 Merge remote-tracking branch 'origin/master' into develop 2021-09-01 17:44:43 +00:00
b4065c557a Merge remote-tracking branch 'origin/master' into develop 2021-09-01 12:21:39 +00:00
1b357ea432 Fix typos from 14248 (#14261) 2021-09-01 13:19:17 +01:00
4df91985f7 Merge remote-tracking branch 'origin/master' into develop 2021-09-01 09:49:03 +00:00
41c50bb653 Change keyboard level include guards to pragma once (#14248)
* Change keyboard level include guards to `pragma once`

And clean up a lot of layout macros

* Oops

* Remove dangling endif
2021-09-01 19:03:14 +10:00
971d36bb9e Merge remote-tracking branch 'origin/master' into develop 2021-09-01 02:51:13 +00:00
d019c8a991 Merge remote-tracking branch 'origin/master' into develop 2021-09-01 00:51:16 +00:00
54ae829b04 Merge remote-tracking branch 'origin/master' into develop 2021-08-31 23:19:00 +00:00
7d797d2e34 Merge remote-tracking branch 'origin/master' into develop 2021-08-31 22:26:19 +00:00
94c9716e5b Merge remote-tracking branch 'origin/master' into develop 2021-08-31 18:30:22 +00:00
9abc657903 Merge remote-tracking branch 'origin/master' into develop 2021-08-31 18:25:13 +00:00
7830d671d3 Merge remote-tracking branch 'origin/master' into develop 2021-08-31 18:23:39 +00:00
1fdf766988 handwired/symmetric70_proto use post_rules.mk (#14235) 2021-08-31 16:58:43 +09:00
b8c68afb2f [Keyboard] Helix use post_rules.mk (#14216)
* Helix/pico use post_rules.mk insted of local_features.mk

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

* Helix/rev2 use post_rules.mk

Tested with the following procedure.
```
git checkout 77a93fec79 (qmk/develop)
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
make helix/rev2:all:check-md5
make helix/rev2/sc:all:check-md5
git checkout helix_use_post_rules.mk
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
make helix/rev2:all:check-md5
make helix/rev2/sc:all:check-md5
```
2021-08-31 16:58:07 +09:00
bab997c8c4 Merge remote-tracking branch 'origin/master' into develop 2021-08-31 05:19:55 +00:00
4d4c61f2e8 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 23:26:17 +00:00
a163d34abc Merge remote-tracking branch 'origin/master' into develop 2021-08-30 23:13:53 +00:00
25a2502216 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 19:34:52 +00:00
15710db4ad Move feature suspend logic out of platform specific code (#14210) 2021-08-30 20:21:03 +01:00
cf28feaf4d Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:50:23 +00:00
d770e273e1 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:42:37 +00:00
3f4d39ec84 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:29:26 +00:00
3471b2ac89 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:23:31 +00:00
4853ca1437 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:05:43 +00:00
9a888a5ec5 Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:05:13 +00:00
5b4f63c45f Merge remote-tracking branch 'origin/master' into develop 2021-08-30 18:04:21 +00:00
596c4a1f87 Remove bin/qmk (#14231)
* Remove the bin/qmk script

* remove bin/qmk from workflows
2021-08-29 16:50:22 -07:00
b46064a891 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 23:47:04 +00:00
92e606b927 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 23:42:27 +00:00
5fbfab1f3b Merge remote-tracking branch 'origin/master' into develop 2021-08-29 21:53:15 +00:00
532bff7b6c Merge remote-tracking branch 'origin/master' into develop 2021-08-29 21:25:08 +00:00
d227c8692a Merge remote-tracking branch 'origin/master' into develop 2021-08-29 19:19:29 +00:00
55d6956553 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 11:10:11 +00:00
8800adc533 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 11:08:51 +00:00
7209d7cca9 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 11:08:23 +00:00
77a93fec79 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 06:06:26 +00:00
c729df09ca fix automatic directory for qmk lint (#14215) 2021-08-28 23:02:31 -07:00
566d598516 Add check for non-assignment code in rules.mk (#12108)
* Add check for non-assignment code in rules.mk

* fix lint check

* fix lint

* fixup to reflect the final state of #8422

* fix lint
2021-08-29 12:37:55 +10:00
f155865804 remove qmk console, which is now part of the global cli (#14206) 2021-08-29 11:27:57 +10:00
1ac3b3e9b6 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 00:52:22 +00:00
7b8cdfc19d Merge remote-tracking branch 'origin/master' into develop 2021-08-28 23:48:16 +00:00
9fe7b5307a add 'include keyboard_features.mk' into build_keyboard.mk (#8422)
* add 'include keyboard_features.mk' into build_keyboard.mk

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

* add comment into build_keyboard.mk

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

* rename `keyboard_features.mk` to `post_rules.mk`
2021-08-29 09:42:57 +10:00
359 changed files with 3826 additions and 5358 deletions

1
.github/labeler.yml vendored
View File

@ -22,7 +22,6 @@ keymap:
via: via:
- keyboards/**/keymaps/via/* - keyboards/**/keymaps/via/*
cli: cli:
- bin/qmk
- requirements.txt - requirements.txt
- lib/python/**/* - lib/python/**/*
python: python:

View File

@ -8,7 +8,6 @@ on:
pull_request: pull_request:
paths: paths:
- 'lib/python/**' - 'lib/python/**'
- 'bin/qmk'
- 'requirements.txt' - 'requirements.txt'
- '.github/workflows/cli.yml' - '.github/workflows/cli.yml'

View File

@ -30,11 +30,7 @@ endif
endif endif
# Determine which qmk cli to use # Determine which qmk cli to use
ifeq (,$(shell which qmk)) QMK_BIN := qmk
QMK_BIN = bin/qmk
else
QMK_BIN = qmk
endif
# avoid 'Entering|Leaving directory' messages # avoid 'Entering|Leaving directory' messages
MAKEFLAGS += --no-print-directory MAKEFLAGS += --no-print-directory

58
bin/qmk
View File

@ -1,58 +0,0 @@
#!/usr/bin/env python3
"""CLI wrapper for running QMK commands.
"""
import os
import sys
from pathlib import Path
# Add the QMK python libs to our path
script_dir = Path(os.path.realpath(__file__)).parent
qmk_dir = script_dir.parent
python_lib_dir = Path(qmk_dir / 'lib' / 'python').resolve()
sys.path.append(str(python_lib_dir))
# Setup the CLI
import milc # noqa
milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}Ψ{style_reset_all}'
@milc.cli.entrypoint('QMK Helper Script')
def qmk_main(cli):
"""The function that gets run when no subcommand is provided.
"""
cli.print_help()
def main():
"""Setup our environment and then call the CLI entrypoint.
"""
# Change to the root of our checkout
os.environ['ORIG_CWD'] = os.getcwd()
os.environ['DEPRECATED_BIN_QMK'] = '1'
os.chdir(qmk_dir)
print('Warning: The bin/qmk script is being deprecated. Please install the QMK CLI: python3 -m pip install qmk', file=sys.stderr)
# Import the subcommands
import milc.subcommand.config # noqa
import qmk.cli # noqa
# Execute
return_code = milc.cli()
if return_code is False:
exit(1)
elif return_code is not True and isinstance(return_code, int):
if return_code < 0 or return_code > 255:
milc.cli.log.error('Invalid return_code: %d', return_code)
exit(255)
exit(return_code)
exit(0)
if __name__ == '__main__':
main()

View File

@ -115,6 +115,7 @@ include $(INFO_RULES_MK)
# Check for keymap.json first, so we can regenerate keymap.c # Check for keymap.json first, so we can regenerate keymap.c
include build_json.mk include build_json.mk
# Pull in keymap level rules.mk
ifeq ("$(wildcard $(KEYMAP_PATH))", "") ifeq ("$(wildcard $(KEYMAP_PATH))", "")
# Look through the possible keymap folders until we find a matching keymap.c # Look through the possible keymap folders until we find a matching keymap.c
ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","") ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","")
@ -345,6 +346,7 @@ ifeq ("$(USER_NAME)","")
endif endif
USER_PATH := users/$(USER_NAME) USER_PATH := users/$(USER_NAME)
# Pull in user level rules.mk
-include $(USER_PATH)/rules.mk -include $(USER_PATH)/rules.mk
ifneq ("$(wildcard $(USER_PATH)/config.h)","") ifneq ("$(wildcard $(USER_PATH)/config.h)","")
CONFIG_H += $(USER_PATH)/config.h CONFIG_H += $(USER_PATH)/config.h
@ -356,6 +358,23 @@ endif
# Disable features that a keyboard doesn't support # Disable features that a keyboard doesn't support
-include disable_features.mk -include disable_features.mk
# Pull in post_rules.mk files from all our subfolders
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/post_rules.mk)","")
include $(KEYBOARD_PATH_1)/post_rules.mk
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/post_rules.mk)","")
include $(KEYBOARD_PATH_2)/post_rules.mk
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/post_rules.mk)","")
include $(KEYBOARD_PATH_3)/post_rules.mk
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/post_rules.mk)","")
include $(KEYBOARD_PATH_4)/post_rules.mk
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_rules.mk)","")
include $(KEYBOARD_PATH_5)/post_rules.mk
endif
ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","") ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
CONFIG_H += $(KEYMAP_PATH)/config.h CONFIG_H += $(KEYMAP_PATH)/config.h
endif endif

View File

@ -12,6 +12,12 @@
"minLength": 1, "minLength": 1,
"pattern": "^[0-9a-z_]*$" "pattern": "^[0-9a-z_]*$"
}, },
"keycode": {
"type": "string",
"minLength": 1,
"maxLength": 250,
"pattern": "^[A-Z_][0-9A-Z_()]*$"
},
"hex_number_2d": { "hex_number_2d": {
"type": "string", "type": "string",
"pattern": "^0x[0-9A-F]{2}$" "pattern": "^0x[0-9A-F]{2}$"

View File

@ -77,6 +77,10 @@
"lto": {"type": "boolean"}, "lto": {"type": "boolean"},
} }
}, },
"custom_keycodes": {
"type": "array",
"items": {"$ref": "qmk.definitions.v1#/keycode"}
},
"diode_direction": { "diode_direction": {
"type": "string", "type": "string",
"enum": ["COL2ROW", "ROW2COL"] "enum": ["COL2ROW", "ROW2COL"]

View File

@ -5,6 +5,11 @@
"type": "object", "type": "object",
"properties": { "properties": {
"author": {"type": "string"}, "author": {"type": "string"},
"config": {"$ref": "qmk.keyboard.v1"},
"custom_keycodes": {
"type": "array",
"items": {"$ref": "qmk.definitions.v1#/keycode"}
},
"keyboard": {"$ref": "qmk.definitions.v1#/text_identifier"}, "keyboard": {"$ref": "qmk.definitions.v1#/text_identifier"},
"keymap": {"$ref": "qmk.definitions.v1#/text_identifier"}, "keymap": {"$ref": "qmk.definitions.v1#/text_identifier"},
"layout": {"$ref": "qmk.definitions.v1#/layout_macro"}, "layout": {"$ref": "qmk.definitions.v1#/layout_macro"},
@ -12,13 +17,12 @@
"type": "array", "type": "array",
"items": { "items": {
"type": "array", "type": "array",
"items": {"type": "string"} "items": {"$ref": "qmk.definitions.v1#/keycode"}
} }
}, },
"config": {"$ref": "qmk.keyboard.v1"},
"notes": { "notes": {
"type": "string", "type": "string",
"description": "asdf" "description": "asdf"
} }
} }
} }

View File

@ -118,54 +118,6 @@ This command lets you configure the behavior of QMK. For the full `qmk config` d
qmk config [-ro] [config_token1] [config_token2] [...] [config_tokenN] qmk config [-ro] [config_token1] [config_token2] [...] [config_tokenN]
``` ```
## `qmk console`
This command lets you connect to keyboard consoles to get debugging messages. It only works if your keyboard firmware has been compiled with `CONSOLE_ENABLE=yes`.
**Usage**:
```
qmk console [-d <pid>:<vid>[:<index>]] [-l] [-n] [-t] [-w <seconds>]
```
**Examples**:
Connect to all available keyboards and show their console messages:
```
qmk console
```
List all devices:
```
qmk console -l
```
Show only messages from clueboard/66/rev3 keyboards:
```
qmk console -d C1ED:2370
```
Show only messages from the second clueboard/66/rev3:
```
qmk console -d C1ED:2370:2
```
Show timestamps and VID:PID instead of names:
```
qmk console -n -t
```
Disable bootloader messages:
```
qmk console --no-bootloaders
```
## `qmk doctor` ## `qmk doctor`
This command examines your environment and alerts you to potential build or flash problems. It can fix many of them if you want it to. This command examines your environment and alerts you to potential build or flash problems. It can fix many of them if you want it to.

View File

@ -105,7 +105,7 @@ enum my_keycodes {
Before opening a pull request, you can preview your changes if you have set up the development environment by running this command from the `qmk_firmware/` folder: Before opening a pull request, you can preview your changes if you have set up the development environment by running this command from the `qmk_firmware/` folder:
./bin/qmk docs qmk docs
or if you only have Python 3 installed: or if you only have Python 3 installed:

View File

@ -51,25 +51,6 @@ Wir suchen nach Freiwilligen, die ein `qmk`-Package für weitere Betriebssysteme
* Installiere mit einem [virtualenv](https://virtualenv.pypa.io/en/latest/). * Installiere mit einem [virtualenv](https://virtualenv.pypa.io/en/latest/).
* Weise den User an, die Umgebungs-Variable `QMK_HOME` zu setzen, um die Firmware-Quelle anders einzustellen als `~/qmk_firmware`. * Weise den User an, die Umgebungs-Variable `QMK_HOME` zu setzen, um die Firmware-Quelle anders einzustellen als `~/qmk_firmware`.
# Lokale CLI
Wenn Du die globale CLI nicht verwenden möchtest, beinhaltet `qmk_firmware` auch eine lokale CLI. Du kannst sie hier finden: `qmk_firmware/bin/qmk`. Du kannst den `qmk`-Befehl aus irgendeinem Datei-Verzeichnis ausführen und es wird immer auf dieser Kopie von `qmk_firmware` arbeiten.
**Beispiel**:
```
$ ~/qmk_firmware/bin/qmk hello
Ψ Hello, World!
```
## Einschränkungen der lokalen CLI
Hier ein Vergleich mit der globalen CLI:
* Die lokale CLI unterstützt kein `qmk setup` oder `qmk clone`.
* Die lokale CLI arbeitet immer innerhalb der selben `qmk_firmware`-Verzeichnisstruktur, auch wenn Du mehrere Repositories geklont hast.
* Die lokale CLI läuft nicht in einer virtualenv. Daher ist es möglich, dass Abhängigkeiten (dependencies) miteinander in Konflikt kommen/stehen.
# CLI-Befehle # CLI-Befehle
## `qmk compile` ## `qmk compile`

View File

@ -48,25 +48,6 @@ Nous recherchons des gens pour créer et maintenir un paquet `qmk` pour plus de
* Installez en utilisant un virtualenv * Installez en utilisant un virtualenv
* Expliquez à l'utilisateur de définir la variable d'environnement `QMK_Home` pour "check out" les sources du firmware à un autre endroit que `~/qmk_firmware`. * Expliquez à l'utilisateur de définir la variable d'environnement `QMK_Home` pour "check out" les sources du firmware à un autre endroit que `~/qmk_firmware`.
# CLI locale
Si vous ne voulez pas utiliser la CLI globale, il y a une CLI locale empaquetée avec `qmk_firmware`. Vous pouvez le trouver dans `qmk_firmware/bin/qmk`. Vous pouvez lancer la commande `qmk` depuis n'importe quel répertoire et elle fonctionnera toujours sur cette copie de `qmk_firmware`.
**Exemple**:
```
$ ~/qmk_firmware/bin/qmk hello
Ψ Hello, World!
```
## Limitations de la CLI locale
Il y a quelques limitations à la CLI locale comparé à la globale:
* La CLI locale ne supporte pas `qmk setup` ou `qmk clone`
* La CLI locale n'opère pas sur le même arbre `qmk_firmware`, même si vous avez plusieurs dépôts clonés.
* La CLI locale ne s'exécute pas dans un virtualenv, donc il y a des risques que des dépendances seront en conflit
# Les commandes CLI # Les commandes CLI
## `qmk compile` ## `qmk compile`

View File

@ -144,10 +144,38 @@ The `rules.mk` file can also be placed in a sub-folder, and its reading order is
* `keyboards/top_folder/sub_1/sub_2/sub_3/sub_4/rules.mk` * `keyboards/top_folder/sub_1/sub_2/sub_3/sub_4/rules.mk`
* `keyboards/top_folder/keymaps/a_keymap/rules.mk` * `keyboards/top_folder/keymaps/a_keymap/rules.mk`
* `users/a_user_folder/rules.mk` * `users/a_user_folder/rules.mk`
* `keyboards/top_folder/sub_1/sub_2/sub_3/sub_4/post_rules.mk`
* `keyboards/top_folder/sub_1/sub_2/sub_3/post_rules.mk`
* `keyboards/top_folder/sub_1/sub_2/post_rules.mk`
* `keyboards/top_folder/sub_1/post_rules.mk`
* `keyboards/top_folder/post_rules.mk`
* `common_features.mk` * `common_features.mk`
Many of the settings written in the `rules.mk` file are interpreted by `common_features.mk`, which sets the necessary source files and compiler options. Many of the settings written in the `rules.mk` file are interpreted by `common_features.mk`, which sets the necessary source files and compiler options.
The `post_rules.mk` file can interpret `features` of a keyboard-level before `common_features.mk`. For example, when your designed keyboard has the option to implement backlighting or underglow using rgblight.c, writing the following in the `post_rules.mk` makes it easier for the user to configure the `rules.mk`.
* `keyboards/top_folder/keymaps/a_keymap/rules.mk`
```makefile
# Please set the following according to the selection of the hardware implementation option.
RGBLED_OPTION_TYPE = backlight ## none, backlight or underglow
```
* `keyboards/top_folder/post_rules.mk`
```makefile
ifeq ($(filter $(strip $(RGBLED_OPTION_TYPE))x, nonex backlightx underglowx x),)
$(error unknown RGBLED_OPTION_TYPE value "$(RGBLED_OPTION_TYPE)")
endif
ifeq ($(strip $(RGBLED_OPTION_TYPE)),backlight)
RGBLIGHT_ENABLE = yes
OPT_DEFS += -DRGBLED_NUM=30
endif
ifeq ($(strip $(RGBLED_OPTION_TYPE)),underglow)
RGBLIGHT_ENABLE = yes
OPT_DEFS += -DRGBLED_NUM=6
endif
```
?> See `build_keyboard.mk` and `common_features.mk` for more details. ?> See `build_keyboard.mk` and `common_features.mk` for more details.
### `<keyboard_name.c>` ### `<keyboard_name.c>`

View File

@ -1,14 +1,10 @@
#ifndef SIXBALL_H #pragma once
#define SIXBALL_H
#include "quantum.h" #include "quantum.h"
#define LAYOUT( \ #define LAYOUT( \
k01, k02, k03, \ k05, k00, k01, \
k04, k05, k06 \ k04, k03, k02 \
) \ ) { \
{ \ { k00, k01, k02, k03, k04, k05 } \
{ k02, k03, k06, k05, k04, k01 } \ }
}
#endif

View File

@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_H #pragma once
#define CONFIG_H
#include "config_common.h" #include "config_common.h"
@ -46,5 +45,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DIODE_DIRECTION COL2ROW #define DIODE_DIRECTION COL2ROW
#define TAPPING_TERM 200 #define TAPPING_TERM 200
#endif

View File

@ -1,17 +1,13 @@
#ifndef NINEKEY_H #pragma once
#define NINEKEY_H
#include "quantum.h" #include "quantum.h"
#define LAYOUT( \ #define LAYOUT( \
k00, k01, k02, \ k00, k01, k02, \
k10, k11, k12, \ k10, k11, k12, \
k20, k21, k22 \ k20, k21, k22 \
) \ ) { \
{ \
{ k00, k01, k02 }, \ { k00, k01, k02 }, \
{ k10, k11, k12 }, \ { k10, k11, k12 }, \
{ k20, k21, k22 } \ { k20, k21, k22 } \
} }
#endif

View File

@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_H #pragma once
#define CONFIG_H
#include "config_common.h" #include "config_common.h"
@ -45,5 +44,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DIODE_DIRECTION COL2ROW #define DIODE_DIRECTION COL2ROW
#define TAPPING_TERM 200 #define TAPPING_TERM 200
#endif

View File

@ -13,8 +13,8 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef ORBIT_H
#define ORBIT_H #pragma once
#include "quantum.h" #include "quantum.h"
@ -35,29 +35,27 @@
#endif #endif
#endif #endif
#define XXX KC_NO
#define LAYOUT( \ #define LAYOUT( \
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \ L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45 \ L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45 \
) \ ) { \
{ \ { L00, L01, L02, L03, L04, L05, L06 }, \
{ L00, L01, L02, L03, L04, L05, L06 }, \ { L10, L11, L12, L13, L14, L15, L16 }, \
{ L10, L11, L12, L13, L14, L15, L16 }, \ { L20, L21, L22, L23, L24, L25, L26 }, \
{ L20, L21, L22, L23, L24, L25, L26 }, \ { L30, L31, L32, L33, L34, L35, L36 }, \
{ L30, L31, L32, L33, L34, L35, L36 }, \ { XXX, L41, L42, L43, L44, L45, L46 }, \
{ KC_NO, L41, L42, L43, L44, L45, L46 }, \ { R00, R01, R02, R03, R04, R05, R06 }, \
{ R00, R01, R02, R03, R04, R05, R06 }, \ { R10, R11, R12, R13, R14, R15, R16 }, \
{ R10, R11, R12, R13, R14, R15, R16 }, \ { R20, R21, R22, R23, R24, R25, R26 }, \
{ R20, R21, R22, R23, R24, R25, R26 }, \ { R30, R31, R32, R33, R34, R35, R36 }, \
{ R30, R31, R32, R33, R34, R35, R36 }, \ { R40, R41, R42, R43, R44, R45, XXX } \
{ R40, R41, R42, R43, R44, R45, KC_NO } \
} }
extern void led_toggle(int id, bool on); extern void led_toggle(int id, bool on);
void set_all_leds(bool leds[6]); void set_all_leds(bool leds[6]);
extern void set_layer_indicators(uint8_t layer); extern void set_layer_indicators(uint8_t layer);
#endif

View File

@ -13,11 +13,13 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef DC60_H
#define DC60_H #pragma once
#include "quantum.h" #include "quantum.h"
#define XXX KC_NO
// This a shortcut to help you visually see your layout. // This a shortcut to help you visually see your layout.
// The following is an example using the Planck MIT layout // The following is an example using the Planck MIT layout
// The first section contains all of the arguments representing the physical // The first section contains all of the arguments representing the physical
@ -25,18 +27,15 @@
// The second converts the arguments into a two-dimensional array which // The second converts the arguments into a two-dimensional array which
// represents the switch matrix. // represents the switch matrix.
#define LAYOUT_all( \ #define LAYOUT_all( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KOD, KOE, \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
K40, K42, K43, K45, K47, K48, K4A, K4B, K4C, K4D, K4E \ k40, k42, k43, k45, k47, k48, k4A, k4B, k4C, k4D, k4E \
) \ ) { \
{ \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KOD, KOE }, \ { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
{ K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX }, \
{ K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO }, \ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ { k40, XXX, k42, k43, XXX, k45, XXX, k47, k48, XXX, k4A, k4B, k4C, k4D, k4E } \
{ K40, KC_NO, K42, K43, KC_NO, K45, KC_NO, K47, K48, KC_NO, K4A, K4B, K4C, K4D, K4E }, \
} }
#endif

View File

@ -1,5 +1,4 @@
#ifndef CONFIG_H #pragma once
#define CONFIG_H
#include "config_common.h" #include "config_common.h"
@ -45,5 +44,3 @@
#define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_VAL_STEP 8
#endif #endif
#endif

View File

@ -1,98 +1,97 @@
#ifndef X2_H #pragma once
#define X2_H
#include "quantum.h" #include "quantum.h"
// K404 and K408 are the microswitches at the top of the PCB #define XXX KC_NO
// k44 and k48 are the microswitches at the top of the PCB
#define LAYOUT( \ #define LAYOUT( \
K404, K408, \ k44, k48, \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
K400, K401, K403, K406, K410, K411, K412, K413, K414 \ k40, k41, k43, k46, k4A, k4B, k4C, k4D, k4E \
) { \ ) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
{ K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX }, \
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \
{ K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, K412, K413, K414 } \ { k40, k41, XXX, k43, k44, XXX, k46, XXX, k48, XXX, k4A, k4B, k4C, k4D, k4E } \
} }
#define LAYOUT_std_ansi( \ #define LAYOUT_std_ansi( \
K404, K408, \ k44, k48, \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, \
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \ k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, \
K400, K401, K403, K406, K410, K411, K413, K414 \ k40, k41, k43, k46, k4A, k4B, k4D, k4E \
) { \ ) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO, K014 }, \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, XXX, k0E }, \
{ K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX }, \
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, KC_NO }, \ { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, XXX }, \
{ K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, KC_NO, K413, K414 } \ { k40, k41, XXX, k43, k44, XXX, k46, XXX, k48, XXX, k4A, k4B, XXX, k4D, k4E } \
} }
#define LAYOUT_std_splits( \ #define LAYOUT_std_splits( \
K404, K408, \ k44, k48, \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, \
K400, K401, K403, K406, K410, K411, K413, K414 \ k40, k41, k43, k46, k4A, k4B, k4D, k4E \
) { \ ) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
{ K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX }, \
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
{ K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, KC_NO, K413, K414 } \ { k40, k41, XXX, k43, k44, XXX, k46, XXX, k48, XXX, k4A, k4B, XXX, k4D, k4E } \
} }
#define LAYOUT_hhkb( \ #define LAYOUT_hhkb( \
K404, K408, \ k44, k48, \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, \
K401, K403, K406, K410, K411 \ k41, k43, k46, k4A, k4B \
) { \ ) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
{ K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX }, \
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \ { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
{ KC_NO, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, KC_NO, KC_NO, KC_NO } \ { XXX, k41, XXX, k43, k44, XXX, k46, XXX, k48, XXX, k4A, k4B, XXX, XXX, XXX } \
} }
#define LAYOUT_2u_split_arrows( \ #define LAYOUT_2u_split_arrows( \
K404, K408, \ k44, k48, \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
K400, K401, K403, K406, K410, K411, K412, K413, K414 \ k40, k41, k43, k46, k4A, k4B, k4C, k4D, k4E \
) { \ ) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
{ K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX }, \
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \
{ K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, K412, K413, K414 } \ { k40, k41, XXX, k43, k44, XXX, k46, XXX, k48, XXX, k4A, k4B, k4C, k4D, k4E } \
} }
#define LAYOUT_split_arrows( \ #define LAYOUT_split_arrows( \
K404, K408, \ k44, k48, \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, \
K400, K401, K403, K406, K410, K411, K412, K413, K414 \ k40, k41, k43, k46, k4A, k4B, k4C, k4D, k4E \
) { \ ) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
{ K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX }, \
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
{ K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, K412, K413, K414 } \ { k40, k41, XXX, k43, k44, XXX, k46, XXX, k48, XXX, k4A, k4B, k4C, k4D, k4E } \
} }
#endif

View File

@ -1,16 +1,15 @@
#ifndef KB_H #pragma once
#define KB_H
#include "quantum.h" #include "quantum.h"
#define LAYOUT( \ #define XXX KC_NO
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, \
K200, K201, K202, K203, K205, K207, K208, K209 \
) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009 }, \
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109 }, \
{ K200, K201, K202, K203, KC_NO, K205, KC_NO, K207, K208, K209 } \
}
#endif #define LAYOUT( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
k20, k21, k22, k23, k25, k27, k28, k29 \
) { \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
{ k20, k21, k22, k23, XXX, k25, XXX, k27, k28, k29 } \
}

View File

@ -1,5 +1,4 @@
#ifndef CONFIG_H #pragma once
#define CONFIG_H
#include "config_common.h" #include "config_common.h"
@ -45,5 +44,3 @@
#define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_VAL_STEP 8
#endif #endif
#endif

View File

@ -13,8 +13,8 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef AMJ96_H
#define AMJ96_H #pragma once
#include "quantum.h" #include "quantum.h"
@ -26,21 +26,18 @@
// The first section contains all of the arguments // The first section contains all of the arguments
// The second converts the arguments into a two-dimensional array // The second converts the arguments into a two-dimensional array
#define LAYOUT( \ #define LAYOUT( \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K09, K0A, K0C, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k09, k0A, k0C, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K0B, K0F, K6F, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k0B, k0F, k6F, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K0D, K6D, \ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, k0D, k6D, \
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, K6E, \ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k6E, \
K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F, K0E, K07, \ k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B, k5C, k5D, k5E, k5F, k0E, k07, \
K60, K61, K62, K63, K64, K65, K66, K68, K69, K6A, K6B, K6C \ k60, k61, k62, k63, k64, k65, k66, k68, k69, k6A, k6B, k6C \
) { \ ) { \
{ XXX, XXX, XXX, XXX, XXX, XXX, XXX, K07, XXX, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, k07, XXX, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \
{ K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, \ { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \
{ K60, K61, K62, K63, K64, K65, K66, XXX, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F } \ { k60, k61, k62, k63, k64, k65, k66, XXX, k68, k69, k6A, k6B, k6C, k6D, k6E, k6F } \
} }
#endif

View File

@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_H #pragma once
#define CONFIG_H
#include "config_common.h" #include "config_common.h"
@ -154,5 +153,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_ANIMATIONS #define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 16 #define RGBLED_NUM 16
#define RGB_DI_PIN D3 #define RGB_DI_PIN D3
#endif

View File

@ -1,5 +1,4 @@
#ifndef AMJPAD_H #pragma once
#define ADMJPAD_H
#include "quantum.h" #include "quantum.h"
@ -24,40 +23,36 @@
// The first section contains all of the arguments // The first section contains all of the arguments
// The second converts the arguments into a two-dimensional array // The second converts the arguments into a two-dimensional array
#define LAYOUT_numpad_6x4( \ #define LAYOUT_numpad_6x4( \
k00, k01, k02, k03, \ k00, k01, k02, k03, \
k10, k11, k12, k13, \ k10, k11, k12, k13, \
k20, k21, k22, \ k20, k21, k22, \
k30, k31, k32, k23, \ k30, k31, k32, k23, \
k40, k41, k42, \ k40, k41, k42, \
k50, k52, k43 \ k50, k52, k43 \
) \ ) { \
{ \ { k00, k01, k02, k03 }, \
{k00, k01, k02, k03}, \ { k10, k11, k12, k13 }, \
{k10, k11, k12, k13}, \ { k20, k21, k22, k23 }, \
{k20, k21, k22, k23}, \ { k30, k31, k32, XXX }, \
{k30, k31, k32, XXX}, \ { k40, k41, k42, k43 }, \
{k40, k41, k42, k43}, \ { k50, XXX, k52, XXX } \
{k50, XXX, k52, XXX} \
} }
#define LAYOUT_ortho_6x4( \ #define LAYOUT_ortho_6x4( \
k00, k01, k02, k03, \ k00, k01, k02, k03, \
k10, k11, k12, k13, \ k10, k11, k12, k13, \
k20, k21, k22, k23, \ k20, k21, k22, k23, \
k30, k31, k32, k33, \ k30, k31, k32, k33, \
k40, k41, k42, k43, \ k40, k41, k42, k43, \
k50, k51, k52, k53 \ k50, k51, k52, k53 \
) \ ) { \
{ \ { k00, k01, k02, k03 }, \
{k00, k01, k02, k03}, \ { k10, k11, k12, k13 }, \
{k10, k11, k12, k13}, \ { k20, k21, k22, k23 }, \
{k20, k21, k22, k23}, \ { k30, k31, k32, k33 }, \
{k30, k31, k32, k33}, \ { k40, k41, k42, k43 }, \
{k40, k41, k42, k43}, \ { k50, k51, k52, k53 } \
{k50, k51, k52, k53} \
} }
void matrix_init_user(void); void matrix_init_user(void);
void matrix_scan_user(void); void matrix_scan_user(void);
#endif

View File

@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_H #pragma once
#define CONFIG_H
#include "config_common.h" #include "config_common.h"
@ -87,5 +86,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT //#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO //#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION //#define NO_ACTION_FUNCTION
#endif

View File

@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef CONFIG_H #pragma once
#define CONFIG_H
#include "config_common.h" #include "config_common.h"
@ -71,5 +70,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT //#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO //#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION //#define NO_ACTION_FUNCTION
#endif

View File

@ -13,11 +13,13 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef BAGUETTE_H
#define BAGUETTE_H #pragma once
#include "quantum.h" #include "quantum.h"
#define XXX KC_NO
/* This a shortcut to help you visually see your layout. /* This a shortcut to help you visually see your layout.
* *
* The first section contains all of the arguments representing the physical * The first section contains all of the arguments representing the physical
@ -27,33 +29,29 @@
* represents the switch matrix. * represents the switch matrix.
*/ */
#define LAYOUT_ansi( \ #define LAYOUT_ansi( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
K42, K43, K47, K4B, K4C, K4D, K4E, K4F \ k42, k43, k47, k4B, k4C, k4D, k4E, k4F \
) \ ) { \
{ \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX, k1F }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO, K1F }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, XXX, XXX }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO, KC_NO }, \ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, KC_NO }, \ { XXX, XXX, k42, k43, XXX, XXX, XXX, k47, XXX, XXX, XXX, k4B, k4C, k4D, k4E, k4F } \
{ KC_NO, KC_NO, K42, K43, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, KC_NO, K4B, K4C, K4D, K4E, K4F } \
} }
#define LAYOUT_iso( \ #define LAYOUT_iso( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1F, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2D, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k1D, k2D, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
K42, K43, K47, K4B, K4C, K4D, K4E, K4F \ k42, k43, k47, k4B, k4C, k4D, k4E, k4F \
) \ ) { \
{ \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, XXX, XXX, k1F }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, KC_NO, K1F }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k1D, k2D, XXX, XXX }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K1D, K2D, KC_NO, KC_NO }, \ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, KC_NO }, \ { XXX, XXX, k42, k43, XXX, XXX, XXX, k47, XXX, XXX, XXX, k4B, k4C, k4D, k4E, k4F } \
{ KC_NO, KC_NO, K42, K43, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, KC_NO, K4B, K4C, K4D, K4E, K4F } \
} }
#endif

View File

@ -1,23 +1,21 @@
#ifndef BANTAM44_H #pragma once
#define BANTAM44_H
#include "quantum.h" #include "quantum.h"
#define XXX KC_NO
// This a shortcut to help you visually see your layout. // This a shortcut to help you visually see your layout.
// The following is an example using the Planck MIT layout // The following is an example using the Planck MIT layout
// The first section contains all of the arguements // The first section contains all of the arguements
// The second converts the arguments into a two-dimensional array // The second converts the arguments into a two-dimensional array
#define LAYOUT( \ #define LAYOUT( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1B, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \
K30, K31, K32, K33, K34, K35, K36, K37, K38 \ k30, k31, k32, k34, k36, k38, k39, k3A, k3B \
) \ ) { \
{ \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, XXX, k1B }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, KC_NO, K2A }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \ { k30, k31, k32, XXX, k34, XXX, k36, XXX, k38, k39, k3A, k3B } \
{ K30, K31, K32, KC_NO, K33, KC_NO, K34, KC_NO, K35, K36, K37, K38 } \
} }
#endif

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