Compare commits

...
11 Commits
Author SHA1 Message Date
Hedgestock 8ea7f4f45f Fixed french quotes on canadian multilingual (#11183) 2020-12-11 19:00:07 +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
David Heck b185816717 Add XD75am as supported in XD75 readme (#11170) 2020-12-11 23:50:05 +11: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
Joel Challis 5b5d74a267 Fix warning logic when running 'qmk format -a' (#11177) 2020-12-10 19:02:41 +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
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
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
Ryan 79d992d1e7 Use progmem.h for claw44 glcdfont (#11164) 2020-12-10 13:07:08 +11: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
82 changed files with 367 additions and 113 deletions

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
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
- 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: [email protected]
-1
View File
@@ -19,7 +19,6 @@ addons:
- llvm-toolchain-trusty-7 - llvm-toolchain-trusty-7
packages: packages:
- diffutils - diffutils
- dos2unix
- clang-format-7 - clang-format-7
- libstdc++-7-dev - libstdc++-7-dev
script: script:
+3 -1
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: 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 ## Hardware Options
+3 -1
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: 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: Danach stehen dir verschiedene Druck-Funktionen zur Verfügung:
+3 -1
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: 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: Después de eso puedes utilzar algunas funciones print diferentes:
+3 -1
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: 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 ### Strings in Memory
+1 -1
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 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: Once you've done that, you'll want to set the keycode definitions that you need to the `<name>.h` file. For instance:
```c ```c
+3 -1
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: 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: Une fois fait, vous pouvez utiliser les fonctions print suivantes:
+3 -1
View File
@@ -34,7 +34,9 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
これは最初に include されるものの 1 つである C ヘッダファイルで、プロジェクト全体(もし含まれる場合)にわたって持続します。多くの変数をここで設定し、他の場所からアクセスすることができます。`config.h` ファイルでは、以下のもの以外の、他の `config.h` ファイルやその他のファイルの include をしないでください: これは最初に include されるものの 1 つである C ヘッダファイルで、プロジェクト全体(もし含まれる場合)にわたって持続します。多くの変数をここで設定し、他の場所からアクセスすることができます。`config.h` ファイルでは、以下のもの以外の、他の `config.h` ファイルやその他のファイルの include をしないでください:
#include "config_common.h" ```c
#include "config_common.h"
```
## ハードウェアオプション ## ハードウェアオプション
+3 -1
View File
@@ -187,7 +187,9 @@ void post_process_record_user(uint16_t keycode, keyrecord_t *record) {
デフォルトでは、QWERTY レイアウトの US キーマップを想定しています; それを変更したい場合(例えば OS がソフトウェア Colemak を使う場合)、キーマップのどこかに以下を含めます: デフォルトでは、QWERTY レイアウトの US キーマップを想定しています; それを変更したい場合(例えば OS がソフトウェア Colemak を使う場合)、キーマップのどこかに以下を含めます:
#include <sendstring_colemak.h> ```c
#include "sendstring_colemak.h"
```
### メモリ内の文字列 ### メモリ内の文字列
+1 -1
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` ファイルを調べ、代わりに `process_record_user` を `process_record_keymap` に置き換えます。この方法では、これらのキーボードでキーボード固有のコードを使用でき、カスタムの "global" キーコードも使うことができます。また、`SAFE_RANGE` を `NEW_SAFE_RANGE` に置き換えて、キーコードが重複しないようにすることもできます。
次に、全ての keymap.c ファイルに `#include <name.h>` を追加します。これにより、各キーマップでそれらを再定義することなく新しいキーコードを使うことができます。 次に、全ての keymap.c ファイルに `#include "<name>.h"` を追加します。これにより、各キーマップでそれらを再定義することなく新しいキーコードを使うことができます。
それが完了したら、必要なキーコードの定義を `<name>.h` ファイルに設定します。例えば: それが完了したら、必要なキーコードの定義を `<name>.h` ファイルに設定します。例えば:
```c ```c
+3 -1
View File
@@ -45,7 +45,9 @@ void keyboard_post_init_user(void) {
[custom code](ja/custom_quantum_functions.md)内からデバッグメッセージを出力すると便利な場合があります。それはとても簡単です。ファイルの先頭に`print.h`のインクルードを追加します: [custom code](ja/custom_quantum_functions.md)内からデバッグメッセージを出力すると便利な場合があります。それはとても簡単です。ファイルの先頭に`print.h`のインクルードを追加します:
#include <print.h> ```c
#include "print.h"
```
そのあとは、いくつかの異なった print 関数を使用することが出来ます。 そのあとは、いくつかの異なった print 関数を使用することが出来ます。
+3 -1
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: 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: After that you can use a few different print functions:
+3 -1
View File
@@ -34,7 +34,9 @@ void keyboard_post_init_user(void) {
有时用[custom code](custom_quantum_functions.md)发送自定义调试信息很有用. 这么做很简单. 首先在你文件头部包含`print.h`: 有时用[custom code](custom_quantum_functions.md)发送自定义调试信息很有用. 这么做很简单. 首先在你文件头部包含`print.h`:
#include <print.h> ```c
#include "print.h"
```
之后,您可以使用一些不同的打印功能: 之后,您可以使用一些不同的打印功能:
+1 -1
View File
@@ -16,7 +16,7 @@
#include "quantum.h" #include "quantum.h"
#include "analog.h" #include "analog.h"
#include "ch.h" #include <ch.h>
#include <hal.h> #include <hal.h>
#if !HAL_USE_ADC #if !HAL_USE_ADC
+1 -1
View File
@@ -24,7 +24,7 @@
*/ */
#pragma once #pragma once
#include "ch.h" #include <ch.h>
#include <hal.h> #include <hal.h>
#ifdef I2C1_BANK #ifdef I2C1_BANK
+1 -1
View File
@@ -6,7 +6,7 @@
#include "serial.h" #include "serial.h"
#include "wait.h" #include "wait.h"
#include "hal.h" #include <hal.h>
// TODO: resolve/remove build warnings // TODO: resolve/remove build warnings
#if defined(RGBLIGHT_ENABLE) && defined(RGBLED_SPLIT) && defined(PROTOCOL_CHIBIOS) && defined(WS2812_DRIVER_BITBANG) #if defined(RGBLIGHT_ENABLE) && defined(RGBLED_SPLIT) && defined(PROTOCOL_CHIBIOS) && defined(WS2812_DRIVER_BITBANG)
+2 -2
View File
@@ -2,8 +2,8 @@
#include "serial.h" #include "serial.h"
#include "printf.h" #include "printf.h"
#include "ch.h" #include <ch.h>
#include "hal.h" #include <hal.h>
#ifndef USART_CR1_M0 #ifndef USART_CR1_M0
# define USART_CR1_M0 USART_CR1_M // some platforms (f1xx) dont have this so # define USART_CR1_M0 USART_CR1_M // some platforms (f1xx) dont have this so
+1 -1
View File
@@ -18,7 +18,7 @@
#include <ch.h> #include <ch.h>
#include <hal.h> #include <hal.h>
#include <quantum.h> #include "quantum.h"
#ifndef SPI_DRIVER #ifndef SPI_DRIVER
# define SPI_DRIVER SPID2 # define SPI_DRIVER SPID2
+2 -2
View File
@@ -1,7 +1,7 @@
#include "quantum.h" #include "quantum.h"
#include "ws2812.h" #include "ws2812.h"
#include "ch.h" #include <ch.h>
#include "hal.h" #include <hal.h>
/* Adapted from https://github.com/bigjosh/SimpleNeoPixelDemo/ */ /* Adapted from https://github.com/bigjosh/SimpleNeoPixelDemo/ */
+1 -1
View File
@@ -1,6 +1,6 @@
#include "ws2812.h" #include "ws2812.h"
#include "quantum.h" #include "quantum.h"
#include "hal.h" #include <hal.h>
/* Adapted from https://github.com/joewa/WS2812-LED-Driver_ChibiOS/ */ /* Adapted from https://github.com/joewa/WS2812-LED-Driver_ChibiOS/ */
+1 -1
View File
@@ -17,7 +17,7 @@
#include <stdint.h> #include <stdint.h>
#include <string.h> #include <string.h>
#include "hal.h" #include <hal.h>
#include "eeprom_driver.h" #include "eeprom_driver.h"
#include "eeprom_stm32_L0_L1.h" #include "eeprom_stm32_L0_L1.h"
+1 -1
View File
@@ -15,7 +15,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <timer.h> #include "timer.h"
#include "solenoid.h" #include "solenoid.h"
#include "haptic.h" #include "haptic.h"
+1 -1
View File
@@ -28,7 +28,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "micro_oled.h" #include "micro_oled.h"
#include <print.h> #include "print.h"
#include <stdlib.h> #include <stdlib.h>
#include "util/font5x7.h" #include "util/font5x7.h"
#include "util/font8x16.h" #include "util/font8x16.h"
+48
View File
@@ -0,0 +1,48 @@
/* Copyright 2020 OJtheTiny
*
* 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 Layer*/
[0] = LAYOUT(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENTER,
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_LCTRL, KC_LGUI, KC_LALT, KC_SPC, KC_TAB, KC_RALT, KC_RGUI, KC_RCTL
),
/* Num Layer */
[1] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
/* F-Layer */
[2] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
/* Lock Layer */
[3] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
@@ -0,0 +1 @@
# Via keymap for beatervan
+1
View File
@@ -0,0 +1 @@
VIA_ENABLE = yes
+1 -12
View File
@@ -1,17 +1,7 @@
// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. // This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
// See gfxfont.h for newer custom bitmap font info. // See gfxfont.h for newer custom bitmap font info.
#ifndef FONT5X7_H #include "progmem.h"
#define FONT5X7_H
#ifdef __AVR__
#include <avr/io.h>
#include <avr/pgmspace.h>
#elif defined(ESP8266)
#include <pgmspace.h>
#else
#define PROGMEM
#endif
// Standard ASCII 5x7 font // Standard ASCII 5x7 font
const unsigned char font[] PROGMEM = { const unsigned char font[] PROGMEM = {
@@ -240,4 +230,3 @@ const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
}; };
#endif // FONT5X7_H
+55
View File
@@ -0,0 +1,55 @@
/* Copyright 2020 OJtheTiny
*
* 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 Layer*/
[0] = LAYOUT(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_RSFT,
KC_LCTL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL
),
/* Num Layer */
[1] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
/* F Layer */
[2] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
/* Lock Layer */
[3] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
/* Random Layer */
[4] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
+1
View File
@@ -0,0 +1 @@
# VIA keymap for edc40
+1
View File
@@ -0,0 +1 @@
VIA_ENABLE = yes
@@ -47,8 +47,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* COL2ROW, ROW2COL */ /* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW #define DIODE_DIRECTION COL2ROW
#define ENCODERS_PAD_A { B4 } #define ENCODERS_PAD_A { B3 }
#define ENCODERS_PAD_B { B3 } #define ENCODERS_PAD_B { B4 }
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5 #define DEBOUNCE 5
@@ -26,6 +26,25 @@
* 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_ansi( \
K000, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, E001, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K315, \
K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, \
K500, K501, K503, K505, K509, K511, K512, K514, K515 \
) \
{ \
{ K000, ____, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, ____, ____}, \
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, ____, K115, ____}, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215, ____}, \
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, ____, ____, K315, ____}, \
{ K400, ____, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, ____, K414, ____, ____}, \
{ K500, K501, K503, ____, ____, K505, ____, ____, ____, K509, ____, K511, K512, ____, K514, K515, ____}, \
{ ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, E001}, \
}
#define LAYOUT_all( \ #define LAYOUT_all( \
K000, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, E001, \ K000, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, E001, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
@@ -4,6 +4,9 @@
"width": 16.25, "width": 16.25,
"height": 6.5, "height": 6.5,
"layouts": { "layouts": {
"LAYOUT_ansi": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,2", "x":1.25, "y":0}, {"label":"0,3", "x":2.25, "y":0}, {"label":"0,4", "x":3.25, "y":0}, {"label":"0,5", "x":4.25, "y":0}, {"label":"0,6", "x":5.5, "y":0}, {"label":"0,7", "x":6.5, "y":0}, {"label":"0,8", "x":7.5, "y":0}, {"label":"0,9", "x":8.5, "y":0}, {"label":"0,10", "x":9.75, "y":0}, {"label":"0,11", "x":10.75, "y":0}, {"label":"0,12", "x":11.75, "y":0}, {"label":"0,13", "x":12.75, "y":0}, {"label":"0,14", "x":14, "y":0}, {"label":"6,16", "x":15.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,10", "x":10, "y":1.25}, {"label":"1,11", "x":11, "y":1.25}, {"label":"1,12", "x":12, "y":1.25}, {"label":"1,13", "x":13, "y":1.25, "w":2}, {"label":"1,15", "x":15.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,10", "x":10.5, "y":2.25}, {"label":"2,11", "x":11.5, "y":2.25}, {"label":"2,12", "x":12.5, "y":2.25}, {"label":"2,13", "x":13.5, "y":2.25, "w":1.5}, {"label":"2,15", "x":15.25, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,10", "x":10.75, "y":3.25}, {"label":"3,11", "x":11.75, "y":3.25}, {"label":"3,12", "x":12.75, "y":3.25, "w":2.25}, {"label":"3,15", "x":15.25, "y":3.25}, {"label":"4,0", "x":0, "y":4.25, "w":2.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"4,7", "x":7.25, "y":4.25}, {"label":"4,8", "x":8.25, "y":4.25}, {"label":"4,9", "x":9.25, "y":4.25}, {"label":"4,10", "x":10.25, "y":4.25}, {"label":"4,11", "x":11.25, "y":4.25}, {"label":"4,12", "x":12.25, "y":4.25, "w":1.75}, {"label":"4,14", "x":14.25, "y":4.5}, {"label":"5,0", "x":0, "y":5.25, "w":1.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.25}, {"label":"5,5", "x":3.75, "y":5.25, "w":6.25}, {"label":"5,9", "x":10, "y":5.25, "w":1.5}, {"label":"5,11", "x":11.5, "y":5.25, "w":1.5}, {"label":"5,12", "x":13.25, "y":5.5}, {"label":"5,14", "x":14.25, "y":5.5}, {"label":"5,15", "x":15.25, "y":5.5}]
},
"LAYOUT_all": { "LAYOUT_all": {
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,2", "x":1.25, "y":0}, {"label":"0,3", "x":2.25, "y":0}, {"label":"0,4", "x":3.25, "y":0}, {"label":"0,5", "x":4.25, "y":0}, {"label":"0,6", "x":5.5, "y":0}, {"label":"0,7", "x":6.5, "y":0}, {"label":"0,8", "x":7.5, "y":0}, {"label":"0,9", "x":8.5, "y":0}, {"label":"0,10", "x":9.75, "y":0}, {"label":"0,11", "x":10.75, "y":0}, {"label":"0,12", "x":11.75, "y":0}, {"label":"0,13", "x":12.75, "y":0}, {"label":"0,14", "x":14, "y":0}, {"label":"6,16", "x":15.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,10", "x":10, "y":1.25}, {"label":"1,11", "x":11, "y":1.25}, {"label":"1,12", "x":12, "y":1.25}, {"label":"1,13", "x":13, "y":1.25}, {"label":"1,14", "x":14, "y":1.25}, {"label":"1,15", "x":15.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,10", "x":10.5, "y":2.25}, {"label":"2,11", "x":11.5, "y":2.25}, {"label":"2,12", "x":12.5, "y":2.25}, {"label":"2,13", "x":13.5, "y":2.25, "w":1.5}, {"label":"2,15", "x":15.25, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,10", "x":10.75, "y":3.25}, {"label":"3,11", "x":11.75, "y":3.25}, {"label":"3,12", "x":12.75, "y":3.25, "w":2.25}, {"label":"3,15", "x":15.25, "y":3.25}, {"label":"4,0", "x":0, "y":4.25, "w":1.25}, {"label":"4,1", "x":1.25, "y":4.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"4,7", "x":7.25, "y":4.25}, {"label":"4,8", "x":8.25, "y":4.25}, {"label":"4,9", "x":9.25, "y":4.25}, {"label":"4,10", "x":10.25, "y":4.25}, {"label":"4,11", "x":11.25, "y":4.25}, {"label":"4,12", "x":12.25, "y":4.25, "w":1.75}, {"label":"4,14", "x":14.25, "y":4.5}, {"label":"5,0", "x":0, "y":5.25, "w":1.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.25}, {"label":"5,5", "x":3.75, "y":5.25, "w":6.25}, {"label":"5,9", "x":10, "y":5.25, "w":1.5}, {"label":"5,11", "x":11.5, "y":5.25, "w":1.5}, {"label":"5,12", "x":13.25, "y":5.5}, {"label":"5,14", "x":14.25, "y":5.5}, {"label":"5,15", "x":15.25, "y":5.5}] "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,2", "x":1.25, "y":0}, {"label":"0,3", "x":2.25, "y":0}, {"label":"0,4", "x":3.25, "y":0}, {"label":"0,5", "x":4.25, "y":0}, {"label":"0,6", "x":5.5, "y":0}, {"label":"0,7", "x":6.5, "y":0}, {"label":"0,8", "x":7.5, "y":0}, {"label":"0,9", "x":8.5, "y":0}, {"label":"0,10", "x":9.75, "y":0}, {"label":"0,11", "x":10.75, "y":0}, {"label":"0,12", "x":11.75, "y":0}, {"label":"0,13", "x":12.75, "y":0}, {"label":"0,14", "x":14, "y":0}, {"label":"6,16", "x":15.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,10", "x":10, "y":1.25}, {"label":"1,11", "x":11, "y":1.25}, {"label":"1,12", "x":12, "y":1.25}, {"label":"1,13", "x":13, "y":1.25}, {"label":"1,14", "x":14, "y":1.25}, {"label":"1,15", "x":15.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,10", "x":10.5, "y":2.25}, {"label":"2,11", "x":11.5, "y":2.25}, {"label":"2,12", "x":12.5, "y":2.25}, {"label":"2,13", "x":13.5, "y":2.25, "w":1.5}, {"label":"2,15", "x":15.25, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,10", "x":10.75, "y":3.25}, {"label":"3,11", "x":11.75, "y":3.25}, {"label":"3,12", "x":12.75, "y":3.25, "w":2.25}, {"label":"3,15", "x":15.25, "y":3.25}, {"label":"4,0", "x":0, "y":4.25, "w":1.25}, {"label":"4,1", "x":1.25, "y":4.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"4,7", "x":7.25, "y":4.25}, {"label":"4,8", "x":8.25, "y":4.25}, {"label":"4,9", "x":9.25, "y":4.25}, {"label":"4,10", "x":10.25, "y":4.25}, {"label":"4,11", "x":11.25, "y":4.25}, {"label":"4,12", "x":12.25, "y":4.25, "w":1.75}, {"label":"4,14", "x":14.25, "y":4.5}, {"label":"5,0", "x":0, "y":5.25, "w":1.25}, {"label":"5,1", "x":1.25, "y":5.25, "w":1.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.25}, {"label":"5,5", "x":3.75, "y":5.25, "w":6.25}, {"label":"5,9", "x":10, "y":5.25, "w":1.5}, {"label":"5,11", "x":11.5, "y":5.25, "w":1.5}, {"label":"5,12", "x":13.25, "y":5.5}, {"label":"5,14", "x":14.25, "y":5.5}, {"label":"5,15", "x":15.25, "y":5.5}]
} }
@@ -18,21 +18,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all( [0] = LAYOUT_ansi(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_MPLY, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_MPLY,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSLS, KC_PGUP, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, 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_BSPC, KC_PGDN, 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_BSPC, 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, MO(1), 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, MO(1),
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, 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, KC_RALT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT
), ),
[1] = LAYOUT_all( [1] = LAYOUT_ansi(
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______ _______, _______, _______, _______, _______, _______, _______, _______, _______
), ),
}; };
@@ -0,0 +1,20 @@
/*
Copyright 2020 zvecr<git@zvecr.com>
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
#define TAP_CODE_DELAY 10
#define ENCODER_RESOLUTION 2
@@ -0,0 +1,46 @@
/*
Copyright 2020 zvecr<git@zvecr.com>
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_all(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_MPLY,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSLS, 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_BSPC, 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, MO(1),
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_all(
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
void encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
}
+4 -2
View File
@@ -2,10 +2,12 @@
![XD75](https://cdn.shopify.com/s/files/1/2711/4238/products/HTB1MzOISXXXXXXgXpXXq6xXFXXXO_1024x1024.jpg) ![XD75](https://cdn.shopify.com/s/files/1/2711/4238/products/HTB1MzOISXXXXXXgXpXXq6xXFXXXO_1024x1024.jpg)
The XD75Re is a 15x5 full-grid ortholinear keyboard manufactured by XIUDI. This port of the QMK firmware is my first shot at using QMK, so if you see any features done wrong (or just plain missing), feel free to fix them and put in a pull request! The XD75 is a 15x5 full-grid ortholinear keyboard manufactured by XIUDI. Available in two different versions: XD75Re with hot swap switch sockets and XD75Am with Alps+MX Stem support that needs soldering.
This port of the QMK firmware is my first shot at using QMK, so if you see any features done wrong (or just plain missing), feel free to fix them and put in a pull request!
* Keyboard Maintainer: [The QMK Community](https://github.com/qmk) * Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
* Hardware Supported: XD75Re * Hardware Supported: XD75Re, XD75Am
* Hardware Availability: [KPrepublic](https://kprepublic.com/products/xd75re-xd75am-xd75-xiudi-60-custom-keyboard-pcb), [AliExpress](https://www.aliexpress.com/item/xd75re-Custom-Mechanical-Keyboard-75-keys-TKG-TOOLS-Underglow-RGB-PCB-GH60-60-programmed-gh60-kle/32818745981.html) * Hardware Availability: [KPrepublic](https://kprepublic.com/products/xd75re-xd75am-xd75-xiudi-60-custom-keyboard-pcb), [AliExpress](https://www.aliexpress.com/item/xd75re-Custom-Mechanical-Keyboard-75-keys-TKG-TOOLS-Underglow-RGB-PCB-GH60-60-programmed-gh60-kle/32818745981.html)
Make example for this keyboard (after setting up your build environment): Make example for this keyboard (after setting up your build environment):
+8 -2
View File
@@ -60,7 +60,13 @@
#define I2C1_TIMINGR_SCLL 9U #define I2C1_TIMINGR_SCLL 9U
// I2C EEPROM // I2C EEPROM
#define EEPROM_I2C_CAT24C512 // 24LC64
#define EXTERNAL_EEPROM_BYTE_COUNT 65535
#define EXTERNAL_EEPROM_PAGE_SIZE 32
#define EXTERNAL_EEPROM_ADDRESS_SIZE 2
#define EXTERNAL_EEPROM_WRITE_TIME 5
// Dynamic EEPROM // Dynamic EEPROM
#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 65535 // Something sensible or else VIA may crash
// Users may enable more if they wish
#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
+1
View File
@@ -14,6 +14,7 @@ from . import compile
from . import config from . import config
from . import docs from . import docs
from . import doctor from . import doctor
from . import fileformat
from . import flash from . import flash
from . import generate from . import generate
from . import hello from . import hello
+2 -2
View File
@@ -23,8 +23,6 @@ def cformat_run(files, all_files):
if not files: if not files:
cli.log.warn('No changes detected. Use "qmk cformat -a" to format all files') cli.log.warn('No changes detected. Use "qmk cformat -a" to format all files')
return False return False
if files and all_files:
cli.log.warning('Filenames passed with -a, only formatting: %s', ','.join(files))
subprocess.run(clang_format + [file for file in files], check=True) subprocess.run(clang_format + [file for file in files], check=True)
cli.log.info('Successfully formatted the C code.') cli.log.info('Successfully formatted the C code.')
@@ -48,6 +46,8 @@ def cformat(cli):
# Find the list of files to format # Find the list of files to format
if cli.args.files: if cli.args.files:
files.extend(normpath(file) for file in cli.args.files) files.extend(normpath(file) for file in cli.args.files)
if cli.args.all_files:
cli.log.warning('Filenames passed with -a, only formatting: %s', ','.join(map(str, files)))
# If -a is specified # If -a is specified
elif cli.args.all_files: elif cli.args.all_files:
all_files = c_source_files(core_dirs) all_files = c_source_files(core_dirs)
+13
View File
@@ -0,0 +1,13 @@
"""Format files according to QMK's style.
"""
from milc import cli
import subprocess
@cli.subcommand("Format files according to QMK's style.", hidden=True)
def fileformat(cli):
"""Run several general formatting commands.
"""
dos2unix = subprocess.run(['bash', '-c', 'git ls-files -z | xargs -0 dos2unix'])
return dos2unix.returncode
@@ -19,8 +19,8 @@
* generator plugin. Do not edit manually. * generator plugin. Do not edit manually.
*/ */
#include "hal.h" #include <hal.h>
#include "stm32_gpio.h" #include <stm32_gpio.h>
/*===========================================================================*/ /*===========================================================================*/
/* Driver local definitions. */ /* Driver local definitions. */
@@ -13,7 +13,7 @@
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
#include "hal.h" #include <hal.h>
#if HAL_USE_PAL || defined(__DOXYGEN__) #if HAL_USE_PAL || defined(__DOXYGEN__)
/** /**
@@ -14,7 +14,7 @@
limitations under the License. limitations under the License.
*/ */
#include "hal.h" #include <hal.h>
// Value to place in RTC backup register 10 for persistent bootloader mode // Value to place in RTC backup register 10 for persistent bootloader mode
#define RTC_BOOTLOADER_FLAG 0x424C #define RTC_BOOTLOADER_FLAG 0x424C
+2 -2
View File
@@ -15,8 +15,8 @@
*/ */
#include "audio.h" #include "audio.h"
#include "ch.h" #include <ch.h>
#include "hal.h" #include <hal.h>
#include <string.h> #include <string.h>
#include "print.h" #include "print.h"
+2 -2
View File
@@ -19,8 +19,8 @@
# include <avr/interrupt.h> # include <avr/interrupt.h>
# include <avr/pgmspace.h> # include <avr/pgmspace.h>
#else #else
# include "ch.h" # include <ch.h>
# include "hal.h" # include <hal.h>
#endif #endif
#ifndef LUTS_H #ifndef LUTS_H
+3 -3
View File
@@ -15,10 +15,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <avr/interrupt.h> #include <avr/interrupt.h>
#include <avr/io.h> #include <avr/io.h>
#include <timer.h> #include "timer.h"
#include <fauxclicky.h> #include "fauxclicky.h"
#include <stdbool.h> #include <stdbool.h>
#include <musical_notes.h> #include "musical_notes.h"
bool fauxclicky_enabled = true; bool fauxclicky_enabled = true;
uint16_t note_start = 0; uint16_t note_start = 0;
+1 -1
View File
@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#endif #endif
#include "musical_notes.h" #include "musical_notes.h"
#include "stdbool.h" #include <stdbool.h>
__attribute__((weak)) float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_D4, 0.25); __attribute__((weak)) float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_D4, 0.25);
__attribute__((weak)) float fauxclicky_released_note[2] = MUSICAL_NOTE(_C4, 0.125); __attribute__((weak)) float fauxclicky_released_note[2] = MUSICAL_NOTE(_C4, 0.125);
+1 -1
View File
@@ -25,7 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# include <avr/pgmspace.h> # include <avr/pgmspace.h>
#elif defined PROTOCOL_CHIBIOS #elif defined PROTOCOL_CHIBIOS
// We need to ensure that chibios is include before redefining reset // We need to ensure that chibios is include before redefining reset
# include "ch.h" # include <ch.h>
#endif #endif
#include "keycode.h" #include "keycode.h"
#include "action_macro.h" #include "action_macro.h"
@@ -149,8 +149,8 @@
// Row 3 // Row 3
#define CA_DEG ALGR(CA_SCLN) // ° #define CA_DEG ALGR(CA_SCLN) // °
// Row 4 // Row 4
#define CA_LDAQ ALGR(CA_X) // « #define CA_LDAQ ALGR(CA_Z) // «
#define CA_RDAQ ALGR(CA_C) // » #define CA_RDAQ ALGR(CA_X) // »
#define CA_LABK ALGR(CA_COMM) // < #define CA_LABK ALGR(CA_COMM) // <
#define CA_RABK ALGR(CA_DOT) // > #define CA_RABK ALGR(CA_DOT) // >
+2 -2
View File
@@ -14,8 +14,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "inttypes.h" #include <inttypes.h>
#include "stdint.h" #include <stdint.h>
#include "process_key_lock.h" #include "process_key_lock.h"
#define BV_64(shift) (((uint64_t)1) << (shift)) #define BV_64(shift) (((uint64_t)1) << (shift))
+1 -1
View File
@@ -21,7 +21,7 @@
# include <avr/interrupt.h> # include <avr/interrupt.h>
#endif #endif
#if defined(PROTOCOL_CHIBIOS) #if defined(PROTOCOL_CHIBIOS)
# include "hal.h" # include <hal.h>
# include "chibios_config.h" # include "chibios_config.h"
#endif #endif
+1 -1
View File
@@ -23,7 +23,7 @@
#include <string.h> #include <string.h>
#include <math.h> #include <math.h>
#include "lib/lib8tion/lib8tion.h" #include <lib/lib8tion/lib8tion.h>
#ifndef RGB_MATRIX_CENTER #ifndef RGB_MATRIX_CENTER
const point_t k_rgb_matrix_center = {112, 32}; const point_t k_rgb_matrix_center = {112, 32};
+3 -3
View File
@@ -24,7 +24,7 @@
# include "eeprom.h" # include "eeprom.h"
#endif #endif
#ifdef STM32_EEPROM_ENABLE #ifdef STM32_EEPROM_ENABLE
# include "hal.h" # include <hal.h>
# include "eeprom_stm32.h" # include "eeprom_stm32.h"
#endif #endif
#include "wait.h" #include "wait.h"
@@ -34,7 +34,7 @@
#include "color.h" #include "color.h"
#include "debug.h" #include "debug.h"
#include "led_tables.h" #include "led_tables.h"
#include "lib/lib8tion/lib8tion.h" #include <lib/lib8tion/lib8tion.h>
#ifdef VELOCIKEY_ENABLE #ifdef VELOCIKEY_ENABLE
# include "velocikey.h" # include "velocikey.h"
#endif #endif
@@ -983,7 +983,7 @@ void rgblight_task(void) {
# ifndef RGBLIGHT_BREATHE_TABLE_SIZE # ifndef RGBLIGHT_BREATHE_TABLE_SIZE
# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256 or 128 or 64 # define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256 or 128 or 64
# endif # endif
# include <rgblight_breathe_table.h> # include "rgblight_breathe_table.h"
# endif # endif
__attribute__((weak)) const uint8_t RGBLED_BREATHING_INTERVALS[] PROGMEM = {30, 20, 10, 5}; __attribute__((weak)) const uint8_t RGBLED_BREATHING_INTERVALS[] PROGMEM = {30, 20, 10, 5};
+1 -1
View File
@@ -24,7 +24,7 @@ SOFTWARE.
#include "report.h" #include "report.h"
#include "host_driver.h" #include "host_driver.h"
#include "serial_link/system/serial_link.h" #include "serial_link/system/serial_link.h"
#include "hal.h" #include <hal.h>
#include "serial_link/protocol/byte_stuffer.h" #include "serial_link/protocol/byte_stuffer.h"
#include "serial_link/protocol/transport.h" #include "serial_link/protocol/transport.h"
#include "serial_link/protocol/frame_router.h" #include "serial_link/protocol/frame_router.h"
+1 -1
View File
@@ -36,7 +36,7 @@ host_driver_t* get_serial_link_driver(void);
void serial_link_update(void); void serial_link_update(void);
#if defined(PROTOCOL_CHIBIOS) #if defined(PROTOCOL_CHIBIOS)
# include "ch.h" # include <ch.h>
static inline void serial_link_lock(void) { chSysLock(); } static inline void serial_link_lock(void) { chSysLock(); }
+1 -1
View File
@@ -12,7 +12,7 @@
#endif #endif
#ifdef PROTOCOL_VUSB #ifdef PROTOCOL_VUSB
# include "usbdrv.h" # include <usbdrv/usbdrv.h>
#endif #endif
#ifdef EE_HANDS #ifdef EE_HANDS
+1 -1
View File
@@ -1,6 +1,6 @@
#pragma once #pragma once
#include <common/matrix.h> #include "common/matrix.h"
void transport_master_init(void); void transport_master_init(void);
void transport_slave_init(void); void transport_slave_init(void);
+1 -1
View File
@@ -16,7 +16,7 @@
#pragma once #pragma once
#include <tmk_core/common/eeconfig.h> // for EECONFIG_SIZE #include "tmk_core/common/eeconfig.h" // for EECONFIG_SIZE
// Keyboard level code can change where VIA stores the magic. // Keyboard level code can change where VIA stores the magic.
// The magic is the build date YYMMDD encoded as BCD in 3 bytes, // The magic is the build date YYMMDD encoded as BCD in 3 bytes,
+1 -1
View File
@@ -24,7 +24,7 @@ SOFTWARE.
#ifndef LCD_BACKLIGHT_H_ #ifndef LCD_BACKLIGHT_H_
#define LCD_BACKLIGHT_H_ #define LCD_BACKLIGHT_H_
#include "stdint.h" #include <stdint.h>
// Helper macros for storing hue, staturation and intensity as unsigned integers // Helper macros for storing hue, staturation and intensity as unsigned integers
#define LCD_COLOR(hue, saturation, intensity) (hue << 16 | saturation << 8 | intensity) #define LCD_COLOR(hue, saturation, intensity) (hue << 16 | saturation << 8 | intensity)
+1 -1
View File
@@ -22,7 +22,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.
*/ */
#include "gfx.h" #include "gfx.h"
#include "math.h" #include <math.h>
#include "led_backlight_keyframes.h" #include "led_backlight_keyframes.h"
static uint8_t fade_led_color(keyframe_animation_t* animation, int from, int to) { static uint8_t fade_led_color(keyframe_animation_t* animation, int from, int to) {
+1 -1
View File
@@ -26,7 +26,7 @@ SOFTWARE.
#include "visualizer.h" #include "visualizer.h"
#include <string.h> #include <string.h>
#ifdef PROTOCOL_CHIBIOS #ifdef PROTOCOL_CHIBIOS
# include "ch.h" # include <ch.h>
#endif #endif
#include "gfx.h" #include "gfx.h"
+1 -1
View File
@@ -48,7 +48,7 @@ int retro_tapping_counter = 0;
#endif #endif
#ifdef FAUXCLICKY_ENABLE #ifdef FAUXCLICKY_ENABLE
# include <fauxclicky.h> # include "fauxclicky.h"
#endif #endif
#ifdef IGNORE_MOD_TAP_INTERRUPT_PER_KEY #ifdef IGNORE_MOD_TAP_INTERRUPT_PER_KEY
+2 -2
View File
@@ -1,7 +1,7 @@
#include "bootloader.h" #include "bootloader.h"
#include "ch.h" #include <ch.h>
#include "hal.h" #include <hal.h>
#include "wait.h" #include "wait.h"
/* This code should be checked whether it runs correctly on platforms */ /* This code should be checked whether it runs correctly on platforms */
+2 -2
View File
@@ -24,8 +24,8 @@
#ifndef __EEPROM_H #ifndef __EEPROM_H
#define __EEPROM_H #define __EEPROM_H
#include "ch.h" #include <ch.h>
#include "hal.h" #include <hal.h>
#include "flash_stm32.h" #include "flash_stm32.h"
// HACK ALERT. This definition may not match your processor // HACK ALERT. This definition may not match your processor
+2 -2
View File
@@ -1,5 +1,5 @@
#include "ch.h" #include <ch.h>
#include "hal.h" #include <hal.h>
#include "eeconfig.h" #include "eeconfig.h"
+2 -2
View File
@@ -23,8 +23,8 @@
extern "C" { extern "C" {
#endif #endif
#include "ch.h" #include <ch.h>
#include "hal.h" #include <hal.h>
typedef enum { FLASH_BUSY = 1, FLASH_ERROR_PG, FLASH_ERROR_WRP, FLASH_ERROR_OPT, FLASH_COMPLETE, FLASH_TIMEOUT, FLASH_BAD_ADDRESS } FLASH_Status; typedef enum { FLASH_BUSY = 1, FLASH_ERROR_PG, FLASH_ERROR_WRP, FLASH_ERROR_OPT, FLASH_COMPLETE, FLASH_TIMEOUT, FLASH_BAD_ADDRESS } FLASH_Status;
+2 -2
View File
@@ -1,5 +1,5 @@
#include "ch.h" #include <ch.h>
#include "hal.h" #include <hal.h>
#include "led.h" #include "led.h"
#include "sleep_led.h" #include "sleep_led.h"
+2 -2
View File
@@ -1,7 +1,7 @@
/* TODO */ /* TODO */
#include "ch.h" #include <ch.h>
#include "hal.h" #include <hal.h>
#include "matrix.h" #include "matrix.h"
#include "action.h" #include "action.h"
+1 -1
View File
@@ -1,4 +1,4 @@
#include "ch.h" #include <ch.h>
#include "timer.h" #include "timer.h"
+1 -1
View File
@@ -5,7 +5,7 @@
#include "action_layer.h" #include "action_layer.h"
#ifdef STM32_EEPROM_ENABLE #ifdef STM32_EEPROM_ENABLE
# include "hal.h" # include <hal.h>
# include "eeprom_stm32.h" # include "eeprom_stm32.h"
#endif #endif
+1 -1
View File
@@ -12,7 +12,7 @@ extern "C" {
# define wait_ms(ms) _delay_ms(ms) # define wait_ms(ms) _delay_ms(ms)
# define wait_us(us) _delay_us(us) # define wait_us(us) _delay_us(us)
#elif defined PROTOCOL_CHIBIOS #elif defined PROTOCOL_CHIBIOS
# include "ch.h" # include <ch.h>
# define wait_ms(ms) \ # define wait_ms(ms) \
do { \ do { \
if (ms != 0) { \ if (ms != 0) { \
+2 -2
View File
@@ -15,8 +15,8 @@
* GPL v2 or later. * GPL v2 or later.
*/ */
#include "ch.h" #include <ch.h>
#include "hal.h" #include <hal.h>
#include "usb_main.h" #include "usb_main.h"
+1 -1
View File
@@ -22,7 +22,7 @@
* @{ * @{
*/ */
#include "hal.h" #include <hal.h>
#include "usb_driver.h" #include "usb_driver.h"
#include <string.h> #include <string.h>
+1 -1
View File
@@ -25,7 +25,7 @@
#ifndef USB_DRIVER_H #ifndef USB_DRIVER_H
# define USB_DRIVER_H # define USB_DRIVER_H
# include "hal_usb_cdc.h" # include <hal_usb_cdc.h>
/*===========================================================================*/ /*===========================================================================*/
/* Driver constants. */ /* Driver constants. */
+2 -2
View File
@@ -25,8 +25,8 @@
* makes the assumption this is safe to avoid littering with preprocessor directives. * makes the assumption this is safe to avoid littering with preprocessor directives.
*/ */
#include "ch.h" #include <ch.h>
#include "hal.h" #include <hal.h>
#include "usb_main.h" #include "usb_main.h"
+2 -2
View File
@@ -21,8 +21,8 @@
// TESTING // TESTING
// extern uint8_t blinkLed; // extern uint8_t blinkLed;
#include "ch.h" #include <ch.h>
#include "hal.h" #include <hal.h>
/* ------------------------- /* -------------------------
* General USB driver header * General USB driver header
+1 -1
View File
@@ -61,7 +61,7 @@ extern keymap_config_t keymap_config;
#endif #endif
#ifdef AUDIO_ENABLE #ifdef AUDIO_ENABLE
# include <audio.h> # include "audio.h"
#endif #endif
#ifdef BLUETOOTH_ENABLE #ifdef BLUETOOTH_ENABLE
@@ -32,7 +32,7 @@ interrupt_setting_t store_and_clear_interrupt(void) {
void restore_interrupt_setting(interrupt_setting_t setting) { SREG = setting; } void restore_interrupt_setting(interrupt_setting_t setting) { SREG = setting; }
#elif defined(__arm__) #elif defined(__arm__)
# include "ch.h" # include <ch.h>
interrupt_setting_t store_and_clear_interrupt(void) { interrupt_setting_t store_and_clear_interrupt(void) {
chSysLock(); chSysLock();
+1 -1
View File
@@ -46,7 +46,7 @@
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#ifdef PROTOCOL_CHIBIOS #ifdef PROTOCOL_CHIBIOS
# include "hal.h" # include <hal.h>
#endif #endif
/* /*
-5
View File
@@ -10,12 +10,7 @@ echo "Using git hash ${rev}"
if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" ]] ; then if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" ]] ; then
# fix formatting
git checkout master git checkout master
git diff --diff-filter=AM --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 dos2unix
git diff --diff-filter=AM --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} '*.c' '*.h' '*.cpp' | grep -z -e '^drivers' -e '^quantum' -e '^tests' -e '^tmk_core' | grep -zv -e 'quantum/template' -e 'tmk_core/protocol/usb_hid' -e 'platforms/chibios' | xargs -0 clang-format-7 -i
git diff --diff-filter=AM --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 git add
git commit -m "format code according to conventions [skip ci]" && git push [email protected]:qmk/qmk_firmware.git master
git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE}