Compare commits

..

94 Commits

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

And clean up a lot of layout macros

* Oops

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

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

* Helix/rev2 use post_rules.mk

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

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

* fix lint check

* fix lint

* fixup to reflect the final state of #8422

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

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

* add comment into build_keyboard.mk

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

* rename `keyboard_features.mk` to `post_rules.mk`
2021-08-29 09:42:57 +10:00
6432 changed files with 45020 additions and 119108 deletions
-1
View File
@@ -22,7 +22,6 @@ keymap:
via:
- keyboards/**/keymaps/via/*
cli:
- bin/qmk
- requirements.txt
- lib/python/**/*
python:
-1
View File
@@ -8,7 +8,6 @@ on:
pull_request:
paths:
- 'lib/python/**'
- 'bin/qmk'
- 'requirements.txt'
- '.github/workflows/cli.yml'
+7 -14
View File
@@ -19,9 +19,7 @@ jobs:
container: qmkfm/qmk_cli
steps:
- name: Install dependencies
run: |
apt-get update && apt-get install -y dos2unix
- uses: rlespinasse/github-slug-action@v3.x
- uses: actions/checkout@v2
with:
@@ -33,17 +31,12 @@ jobs:
output: ' '
fileOutput: ' '
- name: Run qmk formatters
- name: Run qmk format-c and qmk format-python
shell: 'bash {0}'
run: |
qmk format-c --core-only $(< ~/files.txt)
qmk format-python $(< ~/files.txt)
qmk format-text $(< ~/files.txt)
git diff
qmk format-c --core-only -n $(< ~/files.txt)
format_c_exit=$?
qmk format-python -n
format_python_exit=$?
- name: Fail when formatting required
run: |
for file in $(git diff --name-only); do
echo "::error file=${file}::::File Requires Formatting"
done
test -z "$(git diff --name-only)"
exit $((format_c_exit + format_python_exit))
-49
View File
@@ -1,49 +0,0 @@
name: Lint Format
on:
push:
branches:
- master
- develop
jobs:
lint:
runs-on: ubuntu-latest
container: qmkfm/qmk_cli
steps:
- name: Install dependencies
run: |
apt-get update && apt-get install -y dos2unix
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Run qmk formatters
shell: 'bash {0}'
run: |
qmk format-c -a
qmk format-python -a
qmk format-text -a
git diff
- uses: rlespinasse/github-slug-action@v3.x
- name: Become QMK Bot
run: |
git config user.name 'QMK Bot'
git config user.email 'hello@qmk.fm'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
if: ${{ github.repository == 'qmk/qmk_firmware'}}
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
delete-branch: true
branch: bugfix/format_${{ env.GITHUB_REF_SLUG }}
author: QMK Bot <hello@qmk.fm>
committer: QMK Bot <hello@qmk.fm>
commit-message: Format code according to conventions
title: '[CI] Format code according to conventions'
+2 -1
View File
@@ -5,6 +5,7 @@
"xaver.clang-format",
"ms-vscode.cpptools",
"bierner.github-markdown-preview",
"donjayamanne.git-extension-pack"
"donjayamanne.git-extension-pack",
"CoenraadS.bracket-pair-colorizer-2"
]
}
+31 -6
View File
@@ -30,11 +30,7 @@ endif
endif
# Determine which qmk cli to use
ifeq (,$(shell which qmk))
QMK_BIN = bin/qmk
else
QMK_BIN = qmk
endif
QMK_BIN := qmk
# avoid 'Entering|Leaving directory' messages
MAKEFLAGS += --no-print-directory
@@ -303,8 +299,37 @@ define PARSE_KEYBOARD
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/keymaps/*/.)))
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.)))
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/.)))
# this might be needed, but in a different form
#KEYMAPS := $$(sort $$(filter-out $$(KEYBOARD_FOLDER_1) $$(KEYBOARD_FOLDER_2) \
$$(KEYBOARD_FOLDER_3) $$(KEYBOARD_FOLDER_4) $$(KEYBOARD_FOLDER_5), $$(KEYMAPS)))
KEYBOARD_LAYOUTS :=
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/rules.mk)","")
LAYOUTS :=
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/rules.mk)
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
endif
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/rules.mk)","")
LAYOUTS :=
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/rules.mk)
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
endif
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/rules.mk)","")
LAYOUTS :=
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/rules.mk)
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
endif
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/rules.mk)","")
LAYOUTS :=
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/rules.mk)
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
endif
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/rules.mk)","")
LAYOUTS :=
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/rules.mk)
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
endif
KEYBOARD_LAYOUTS := $(shell $(QMK_BIN) list-layouts --keyboard $1)
LAYOUT_KEYMAPS :=
$$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/layouts/*/$$(LAYOUT)/*/.)))))
-58
View File
@@ -1,58 +0,0 @@
#!/usr/bin/env python3
"""CLI wrapper for running QMK commands.
"""
import os
import sys
from pathlib import Path
# Add the QMK python libs to our path
script_dir = Path(os.path.realpath(__file__)).parent
qmk_dir = script_dir.parent
python_lib_dir = Path(qmk_dir / 'lib' / 'python').resolve()
sys.path.append(str(python_lib_dir))
# Setup the CLI
import milc # noqa
milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}Ψ{style_reset_all}'
@milc.cli.entrypoint('QMK Helper Script')
def qmk_main(cli):
"""The function that gets run when no subcommand is provided.
"""
cli.print_help()
def main():
"""Setup our environment and then call the CLI entrypoint.
"""
# Change to the root of our checkout
os.environ['ORIG_CWD'] = os.getcwd()
os.environ['DEPRECATED_BIN_QMK'] = '1'
os.chdir(qmk_dir)
print('Warning: The bin/qmk script is being deprecated. Please install the QMK CLI: python3 -m pip install qmk', file=sys.stderr)
# Import the subcommands
import milc.subcommand.config # noqa
import qmk.cli # noqa
# Execute
return_code = milc.cli()
if return_code is False:
exit(1)
elif return_code is not True and isinstance(return_code, int):
if return_code < 0 or return_code > 255:
milc.cli.log.error('Invalid return_code: %d', return_code)
exit(255)
exit(return_code)
exit(0)
if __name__ == '__main__':
main()
+19 -19
View File
@@ -21,19 +21,19 @@
# Current options:
#
# AVR:
# halfkay PJRC Teensy
# caterina Pro Micro (Sparkfun/generic)
# atmel-dfu Atmel factory DFU
# lufa-dfu LUFA DFU
# qmk-dfu QMK DFU (LUFA + blinkenlight)
# qmk-hid QMK HID (LUFA + blinkenlight)
# bootloadhid HIDBootFlash compatible (ATmega32A)
# usbasploader USBaspLoader (ATmega328P)
# halfkay PJRC Teensy
# caterina Pro Micro (Sparkfun/generic)
# atmel-dfu Atmel factory DFU
# lufa-dfu LUFA DFU
# qmk-dfu QMK DFU (LUFA + blinkenlight)
# qmk-hid QMK HID (LUFA + blinkenlight)
# bootloadHID HIDBootFlash compatible (ATmega32A)
# USBasp USBaspLoader (ATmega328P)
# ARM:
# kiibohd Input:Club Kiibohd bootloader (only used on their boards)
# stm32duino STM32Duino (STM32F103x8)
# stm32-dfu STM32 USB DFU in ROM
# apm32-dfu APM32 USB DFU in ROM
# kiibohd Input:Club Kiibohd bootloader (only used on their boards)
# stm32duino STM32Duino (STM32F103x8)
# stm32-dfu STM32 USB DFU in ROM
# apm32-dfu APM32 USB DFU in ROM
#
# BOOTLOADER_SIZE can still be defined manually, but it's recommended
# you add any possible configuration to this list
@@ -52,26 +52,26 @@ ifeq ($(strip $(BOOTLOADER)), lufa-dfu)
OPT_DEFS += -DBOOTLOADER_LUFA_DFU
OPT_DEFS += -DBOOTLOADER_DFU
ifneq (,$(filter $(MCU), at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647))
BOOTLOADER_SIZE ?= 4096
BOOTLOADER_SIZE = 4096
endif
ifneq (,$(filter $(MCU), at90usb1286 at90usb1287))
BOOTLOADER_SIZE ?= 8192
BOOTLOADER_SIZE = 8192
endif
endif
ifeq ($(strip $(BOOTLOADER)), qmk-dfu)
OPT_DEFS += -DBOOTLOADER_QMK_DFU
OPT_DEFS += -DBOOTLOADER_DFU
ifneq (,$(filter $(MCU), at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647))
BOOTLOADER_SIZE ?= 4096
BOOTLOADER_SIZE = 4096
endif
ifneq (,$(filter $(MCU), at90usb1286 at90usb1287))
BOOTLOADER_SIZE ?= 8192
BOOTLOADER_SIZE = 8192
endif
endif
ifeq ($(strip $(BOOTLOADER)), qmk-hid)
OPT_DEFS += -DBOOTLOADER_QMK_HID
OPT_DEFS += -DBOOTLOADER_HID
BOOTLOADER_SIZE ?= 4096
BOOTLOADER_SIZE = 4096
endif
ifeq ($(strip $(BOOTLOADER)), halfkay)
OPT_DEFS += -DBOOTLOADER_HALFKAY
@@ -86,11 +86,11 @@ ifeq ($(strip $(BOOTLOADER)), caterina)
OPT_DEFS += -DBOOTLOADER_CATERINA
BOOTLOADER_SIZE = 4096
endif
ifneq (,$(filter $(BOOTLOADER), bootloadhid bootloadHID))
ifeq ($(strip $(BOOTLOADER)), bootloadHID)
OPT_DEFS += -DBOOTLOADER_BOOTLOADHID
BOOTLOADER_SIZE = 4096
endif
ifneq (,$(filter $(BOOTLOADER), usbasploader USBasp))
ifeq ($(strip $(BOOTLOADER)), USBasp)
OPT_DEFS += -DBOOTLOADER_USBASP
BOOTLOADER_SIZE = 4096
endif
+19
View File
@@ -115,6 +115,7 @@ include $(INFO_RULES_MK)
# Check for keymap.json first, so we can regenerate keymap.c
include build_json.mk
# Pull in keymap level rules.mk
ifeq ("$(wildcard $(KEYMAP_PATH))", "")
# Look through the possible keymap folders until we find a matching keymap.c
ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","")
@@ -345,6 +346,7 @@ ifeq ("$(USER_NAME)","")
endif
USER_PATH := users/$(USER_NAME)
# Pull in user level rules.mk
-include $(USER_PATH)/rules.mk
ifneq ("$(wildcard $(USER_PATH)/config.h)","")
CONFIG_H += $(USER_PATH)/config.h
@@ -356,6 +358,23 @@ endif
# Disable features that a keyboard doesn't support
-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)","")
CONFIG_H += $(KEYMAP_PATH)/config.h
endif
+6
View File
@@ -12,6 +12,12 @@
"minLength": 1,
"pattern": "^[0-9a-z_]*$"
},
"keycode": {
"type": "string",
"minLength": 1,
"maxLength": 250,
"pattern": "^[A-Z_][0-9A-Z_()]*$"
},
"hex_number_2d": {
"type": "string",
"pattern": "^0x[0-9A-F]{2}$"
+7 -1
View File
@@ -56,7 +56,7 @@
},
"bootloader": {
"type": "string",
"enum": ["atmel-dfu", "bootloadhid", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "micronucleus", "qmk-dfu", "qmk-hid", "stm32-dfu", "stm32duino", "unknown", "usbasploader", "USBasp", "tinyuf2"],
"enum": ["atmel-dfu", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "micronucleus", "qmk-dfu", "qmk-hid", "stm32-dfu", "stm32duino", "unknown", "USBasp", "tinyuf2"],
},
"bootloader_instructions": {
"type": "string",
@@ -77,6 +77,10 @@
"lto": {"type": "boolean"},
}
},
"custom_keycodes": {
"type": "array",
"items": {"$ref": "qmk.definitions.v1#/keycode"}
},
"diode_direction": {
"type": "string",
"enum": ["COL2ROW", "ROW2COL"]
@@ -118,6 +122,7 @@
"c_macro": {
"type": "boolean"
},
"key_count": {"$ref": "qmk.definitions.v1#/key_unit"},
"layout": {
"type": "array",
"items": {
@@ -135,6 +140,7 @@
"multipleOf": 1
}
},
"key_count": {"$ref": "qmk.definitions.v1#/key_unit"},
"r": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
"rx": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
"ry": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
+7 -3
View File
@@ -5,6 +5,11 @@
"type": "object",
"properties": {
"author": {"type": "string"},
"config": {"$ref": "qmk.keyboard.v1"},
"custom_keycodes": {
"type": "array",
"items": {"$ref": "qmk.definitions.v1#/keycode"}
},
"keyboard": {"$ref": "qmk.definitions.v1#/text_identifier"},
"keymap": {"$ref": "qmk.definitions.v1#/text_identifier"},
"layout": {"$ref": "qmk.definitions.v1#/layout_macro"},
@@ -12,13 +17,12 @@
"type": "array",
"items": {
"type": "array",
"items": {"type": "string"}
"items": {"$ref": "qmk.definitions.v1#/keycode"}
}
},
"config": {"$ref": "qmk.keyboard.v1"},
"notes": {
"type": "string",
"description": "asdf"
}
}
}
}
+18 -4
View File
@@ -1,5 +1,19 @@
// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s)
// SPDX-License-Identifier: GPL-2.0-or-later
/*
Copyright %YEAR% %YOUR_NAME%
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
@@ -9,8 +23,8 @@
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x0000
#define DEVICE_VER 0x0001
#define MANUFACTURER %(USER_NAME)s
#define PRODUCT %(KEYBOARD)s
#define MANUFACTURER %YOUR_NAME%
#define PRODUCT %KEYBOARD%
/* key matrix size */
#define MATRIX_ROWS 2
+5 -5
View File
@@ -1,20 +1,20 @@
# %(KEYBOARD)s
# %KEYBOARD%
![%(KEYBOARD)s](imgur.com image replace me!)
![%KEYBOARD%](imgur.com image replace me!)
*A short description of the keyboard/project*
* Keyboard Maintainer: [%(YOUR_NAME)s](https://github.com/%(USER_NAME)s)
* Keyboard Maintainer: [%YOUR_NAME%](https://github.com/yourusername)
* Hardware Supported: *The PCBs, controllers supported*
* Hardware Availability: *Links to where you can find this hardware*
Make example for this keyboard (after setting up your build environment):
make %(KEYBOARD)s:default
make %KEYBOARD%:default
Flashing example for this keyboard:
make %(KEYBOARD)s:default:flash
make %KEYBOARD%:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+1
View File
@@ -18,4 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
-4
View File
@@ -1,4 +0,0 @@
// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s)
// SPDX-License-Identifier: GPL-2.0-or-later
#include "%(KEYBOARD)s.h"
-22
View File
@@ -1,22 +0,0 @@
// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "quantum.h"
/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/
#define LAYOUT( \
k00, k01, k02, \
k10, k12 \
) { \
{ k00, k01, k02 }, \
{ k10, KC_NO, k12 } \
}
+4 -2
View File
@@ -1,7 +1,9 @@
{
"keyboard_name": "%(KEYBOARD)s",
"keyboard_name": "%KEYBOARD%",
"url": "",
"maintainer": "%(USER_NAME)s",
"maintainer": "%YOUR_NAME%",
"width": 3,
"height": 2,
"layouts": {
"LAYOUT": {
"layout": [
@@ -1,4 +1,4 @@
/* Copyright 2021 ai03
/* Copyright %YEAR% %YOUR_NAME%
*
* 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
@@ -14,4 +14,4 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "jp60.h"
#include "%KEYBOARD%.h"
@@ -1,4 +1,4 @@
/* Copyright 2020 KiwiKeebs
/* Copyright %YEAR% %YOUR_NAME%
*
* 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
@@ -28,8 +28,8 @@
*/
#define LAYOUT( \
k00, k01, k02, \
k03, k04, k05, k06 \
k10, k12 \
) { \
{ k00, k01, k02, KC_NO }, \
{ k03, k04, k05, k06 } \
{ k00, k01, k02 }, \
{ k10, KC_NO, k12 } \
}
+44 -4
View File
@@ -1,6 +1,18 @@
// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s)
// SPDX-License-Identifier: GPL-2.0-or-later
/* Copyright %YEAR% %YOUR_NAME%
*
* 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
// Defines names for use in layer keycodes and the keymap
@@ -9,6 +21,12 @@ enum layer_names {
_FN
};
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
QMKBEST = SAFE_RANGE,
QMKURL
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
@@ -16,7 +34,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_SPC
),
[_FN] = LAYOUT(
_______, _______, _______,
QMKBEST, QMKURL, _______,
RESET, XXXXXXX
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QMKBEST:
if (record->event.pressed) {
// when keycode QMKBEST is pressed
SEND_STRING("QMK is the best thing ever!");
} else {
// when keycode QMKBEST is released
}
break;
case QMKURL:
if (record->event.pressed) {
// when keycode QMKURL is pressed
SEND_STRING("https://qmk.fm/\n");
} else {
// when keycode QMKURL is released
}
break;
}
return true;
}
@@ -1 +1 @@
# The default keymap for %(KEYBOARD)s
# The default keymap for %KEYBOARD%
+18 -4
View File
@@ -1,5 +1,19 @@
// Copyright %(YEAR)s %(YOUR_NAME)s (@%(USER_NAME)s)
// SPDX-License-Identifier: GPL-2.0-or-later
/*
Copyright %YEAR% %YOUR_NAME%
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
@@ -9,8 +23,8 @@
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x0000
#define DEVICE_VER 0x0001
#define MANUFACTURER %(USER_NAME)s
#define PRODUCT %(KEYBOARD)s
#define MANUFACTURER %YOUR_NAME%
#define PRODUCT %KEYBOARD%
/* key matrix size */
#define MATRIX_ROWS 8
+5 -5
View File
@@ -1,20 +1,20 @@
# %(KEYBOARD)s
# %KEYBOARD%
![%(KEYBOARD)s](imgur.com image replace me!)
![%KEYBOARD%](imgur.com image replace me!)
*A short description of the keyboard/project*
* Keyboard Maintainer: [%(YOUR_NAME)s](https://github.com/yourusername)
* Keyboard Maintainer: [%YOUR_NAME%](https://github.com/yourusername)
* Hardware Supported: *The PCBs, controllers supported*
* Hardware Availability: *Links to where you can find this hardware*
Make example for this keyboard (after setting up your build environment):
make %(KEYBOARD)s:default
make %KEYBOARD%:default
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
make %(KEYBOARD)s:default:flash
make %KEYBOARD%:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+1 -1
View File
@@ -2,7 +2,7 @@
MCU = atmega32a
# Bootloader selection
BOOTLOADER = bootloadhid
BOOTLOADER = bootloadHID
# Build Options
# change yes to no to disable
+1 -1
View File
@@ -3,7 +3,7 @@
- [:cn: 中文](/zh-cn/)
- [:es: Español](/es/)
- [:fr: Français](/fr-fr/)
- [:israel: עברית](/he-il/)
- [:he: עברית](/he-il/)
- [:brazil: Português](/pt-br/)
- [:ru: Русский](/ru-ru/)
- [:jp: 日本語](/ja/)
-64
View File
@@ -118,68 +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 cd`
This command opens a new shell in your `qmk_firmware` directory.
Note that if you are already somewhere within `QMK_HOME` (for example, the `keyboards/` folder), nothing will happen.
To exit out into the parent shell, simply type `exit`.
**Usage**:
```
qmk cd
```
## `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`
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.
@@ -387,8 +325,6 @@ qmk format-c -b branch_name
This command starts a local HTTP server which you can use for browsing or improving the docs. Default port is 8936.
Use the `-b`/`--browser` flag to automatically open the local webserver in your default browser.
This command runs `docsify serve` if `docsify-cli` is installed (which provides live reload), otherwise Python's builtin HTTP server module will be used.
**Usage**:
```
+1 -1
View File
@@ -18,7 +18,7 @@ If you put `qmk_firmware` into another location you will need to adjust this pat
If you want the tab completion available to all users of the system you can add a symlink to the `qmk_tab_complete.sh` script:
ln -s ~/qmk_firmware/util/qmk_tab_complete.sh /etc/profile.d/qmk_tab_complete.sh
`ln -s ~/qmk_firmware/util/qmk_tab_complete.sh /etc/profile.d/qmk_tab_complete.sh`
### System Wide Copy
+1 -1
View File
@@ -2,7 +2,7 @@
Most of our style follows PEP8 with some local modifications to make things less nit-picky.
* We target Python 3.7 for compatability with all supported platforms.
* We target Python 3.6 for compatability with all supported platforms.
* We indent using four (4) spaces (soft tabs)
* We encourage liberal use of comments
* Think of them as a story describing the feature
+2 -6
View File
@@ -397,15 +397,13 @@ However, this will automatically disable the legacy TMK Macros and Functions fea
* `qmk-dfu`
* `halfkay`
* `caterina`
* `bootloadhid`
* `usbasploader`
* `bootloadHID`
* `USBasp`
## Feature Options :id=feature-options
Use these to enable or disable building certain features. The more you have enabled the bigger your firmware will be, and you run the risk of building a firmware too large for your MCU.
* `MAGIC_ENABLE`
* MAGIC actions (BOOTMAGIC without the boot)
* `BOOTMAGIC_ENABLE`
* Virtual DIP switch configuration
* `MOUSEKEY_ENABLE`
@@ -420,8 +418,6 @@ Use these to enable or disable building certain features. The more you have enab
* Key combo feature
* `NKRO_ENABLE`
* USB N-Key Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
* `RING_BUFFERED_6KRO_REPORT_ENABLE`
* USB 6-Key Rollover - Instead of stopping any new input once 6 keys are pressed, the oldest key is released and the new key is pressed.
* `AUDIO_ENABLE`
* Enable the audio subsystem.
* `KEY_OVERRIDE_ENABLE`

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