forked from mirror/qmk_firmware
Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d1d5da43f | ||
|
|
48f4768d33 | ||
|
|
53eb7f0774 | ||
|
|
5544bf8524 | ||
|
|
7ca4b61922 | ||
|
|
b7f640ca76 | ||
|
|
436b5394bb | ||
|
|
cd0d2d0de5 | ||
|
|
6a292e11d3 | ||
|
|
3e3f93c971 | ||
|
|
9136c122f8 | ||
|
|
cc4b93b330 | ||
|
|
d40d1e4024 | ||
|
|
b2ab0af905 | ||
|
|
d898d4a6fc | ||
|
|
7c0cb18681 | ||
|
|
e52b4797d3 | ||
|
|
498d89f4b3 | ||
|
|
d5f3f7c126 | ||
|
|
e9ed5d7571 | ||
|
|
806aa9bc67 | ||
|
|
dc7081a823 |
@@ -24,7 +24,7 @@ Totally new to QMK? There are two ways to get started:
|
||||
|
||||
## Make It Yours
|
||||
|
||||
QMK has lots of [features](features.md) to explore, and a good deal of reference documentation to dig through. Most features are taken advantage of by modifying your [keymap](keymap.md), and changing the [keycodes](keycodes.md).
|
||||
QMK has lots of features to explore, and a good deal of reference documentation to dig through. Most features are taken advantage of by modifying your [keymap](keymap.md), and changing the [keycodes](keycodes.md).
|
||||
|
||||
## Need help?
|
||||
|
||||
|
||||
@@ -306,6 +306,12 @@ To declare new effects, create a new `rgb_matrix_user/kb.inc` that looks somethi
|
||||
`rgb_matrix_user.inc` should go in the root of the keymap directory.
|
||||
`rgb_matrix_kb.inc` should go in the root of the keyboard directory.
|
||||
|
||||
To use custom effects in your code, simply prepend `RGB_MATRIX_CUSTOM_` to the effect name specified in `RGB_MATRIX_EFFECT()`. For example, an effect declared as `RGB_MATRIX_EFFECT(my_cool_effect)` would be referenced with:
|
||||
|
||||
```c
|
||||
rgb_matrix_mode(RGB_MATRIX_CUSTOM_my_cool_effect);
|
||||
```
|
||||
|
||||
```c
|
||||
// !!! DO NOT ADD #pragma once !!! //
|
||||
|
||||
|
||||
@@ -66,6 +66,7 @@ You will need to install Git and Python. It's very likely that you already have
|
||||
* Void: `sudo xbps-install -y git python3-pip`
|
||||
* Solus: `sudo eopkg -y install git python3`
|
||||
* Sabayon: `sudo equo install dev-vcs/git dev-python/pip`
|
||||
* Gentoo: `sudo emerge dev-vcs/git dev-python/pip`
|
||||
|
||||
Install the global CLI to bootstrap your system:
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#ifndef LCD_H
|
||||
#define LCD_H
|
||||
/*************************************************************************
|
||||
Title : C include file for the HD44780U LCD library (lcd.c)
|
||||
Author: Peter Fleury <pfleury@gmx.ch> http://tinyurl.com/peterfleury
|
||||
@@ -43,6 +41,8 @@
|
||||
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <inttypes.h>
|
||||
#include <avr/pgmspace.h>
|
||||
|
||||
@@ -346,5 +346,3 @@ extern void lcd_data(uint8_t data);
|
||||
#define lcd_puts_P(__s) lcd_puts_p(PSTR(__s))
|
||||
|
||||
/**@}*/
|
||||
|
||||
#endif // LCD_H
|
||||
|
||||
@@ -17,8 +17,7 @@
|
||||
* GitHub repository: https://github.com/g4lvanix/I2C-master-lib
|
||||
*/
|
||||
|
||||
#ifndef I2C_MASTER_H
|
||||
#define I2C_MASTER_H
|
||||
#pragma once
|
||||
|
||||
#define I2C_READ 0x01
|
||||
#define I2C_WRITE 0x00
|
||||
@@ -42,5 +41,3 @@ i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16
|
||||
i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout);
|
||||
i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);
|
||||
void i2c_stop(void);
|
||||
|
||||
#endif // I2C_MASTER_H
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
Read or write to the necessary buffer according to the opperation.
|
||||
*/
|
||||
|
||||
#ifndef I2C_SLAVE_H
|
||||
#define I2C_SLAVE_H
|
||||
#pragma once
|
||||
|
||||
#define I2C_SLAVE_REG_COUNT 30
|
||||
|
||||
@@ -29,5 +28,3 @@ extern volatile uint8_t i2c_slave_reg[I2C_SLAVE_REG_COUNT];
|
||||
|
||||
void i2c_slave_init(uint8_t address);
|
||||
void i2c_slave_stop(void);
|
||||
|
||||
#endif // I2C_SLAVE_H
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#ifndef SSD1306_H
|
||||
#define SSD1306_H
|
||||
#pragma once
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
@@ -86,5 +85,3 @@ void matrix_write_char(struct CharacterMatrix *matrix, uint8_t c);
|
||||
void matrix_write(struct CharacterMatrix *matrix, const char *data);
|
||||
void matrix_write_P(struct CharacterMatrix *matrix, const char *data);
|
||||
void matrix_render(struct CharacterMatrix *matrix);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,7 +6,6 @@ MCU = STM32F303
|
||||
#
|
||||
BACKLIGHT_ENABLE = no
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
|
||||
@@ -6,7 +6,6 @@ MCU = STM32F303
|
||||
#
|
||||
BACKLIGHT_ENABLE = no
|
||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
|
||||
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
|
||||
@@ -9,7 +9,6 @@ LED_MATRIX_DRIVER = IS31FL3731
|
||||
# comment out to disable the options.
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
|
||||
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
|
||||
57
keyboards/cmm_studio/saka68/config.h
Normal file
57
keyboards/cmm_studio/saka68/config.h
Normal file
@@ -0,0 +1,57 @@
|
||||
/* Copyright 2020 CMM.Studio Freather
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x434D
|
||||
#define PRODUCT_ID 0x534B
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER CMM.Studio
|
||||
#define PRODUCT Saka68
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 17
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { D1, D0, B0, F6, F7 }
|
||||
#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, B6, C6, F5, F4, F1, F0, B1, B2, B3, D2, D3, D5 }
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define DEBOUNCE 5
|
||||
|
||||
|
||||
// Dynamic keymap starts after EEPROM version
|
||||
#define DYNAMIC_KEYMAP_EEPROM_ADDR 35
|
||||
// Dynamic macro starts after dynamic keymaps (35+(4*10*6*2)) = (35+480)
|
||||
#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 680 // **** CHANGE THIS BASED ON MATRIX_ROWS & MATRIX_COLS ****
|
||||
#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 344 // **** CHANGE THIS BASED ON 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR ****
|
||||
#define DYNAMIC_KEYMAP_MACRO_COUNT 16
|
||||
// generated by KBFirmware JSON to QMK Parser
|
||||
// https://noroadsleft.github.io/kbf_qmk_converter/
|
||||
82
keyboards/cmm_studio/saka68/info.json
Normal file
82
keyboards/cmm_studio/saka68/info.json
Normal file
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"keyboard_name": "",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 17.25,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"K00 (D1,D4)", "x":0, "y":0},
|
||||
{"label":"K01 (D1,D6)", "x":1, "y":0},
|
||||
{"label":"K02 (D1,D7)", "x":2, "y":0},
|
||||
{"label":"K03 (D1,B4)", "x":3, "y":0},
|
||||
{"label":"K04 (D1,B5)", "x":4, "y":0},
|
||||
{"label":"K05 (D1,B6)", "x":5, "y":0},
|
||||
{"label":"K06 (D1,C6)", "x":6, "y":0},
|
||||
{"label":"K07 (D1,F5)", "x":7, "y":0},
|
||||
{"label":"K08 (D1,F4)", "x":8, "y":0},
|
||||
{"label":"K09 (D1,F1)", "x":9, "y":0},
|
||||
{"label":"K0A (D1,F0)", "x":10, "y":0},
|
||||
{"label":"K0B (D1,B1)", "x":11, "y":0},
|
||||
{"label":"K0C (D1,B2)", "x":12, "y":0},
|
||||
{"label":"K0D (D1,B3)", "x":13, "y":0, "w":2},
|
||||
{"label":"K0F (D1,D3)", "x":15.25, "y":0},
|
||||
{"label":"K0G (D1,D5)", "x":16.25, "y":0},
|
||||
{"label":"K10 (D0,D4)", "x":0, "y":1, "w":1.5},
|
||||
{"label":"K11 (D0,D6)", "x":1.5, "y":1},
|
||||
{"label":"K12 (D0,D7)", "x":2.5, "y":1},
|
||||
{"label":"K13 (D0,B4)", "x":3.5, "y":1},
|
||||
{"label":"K14 (D0,B5)", "x":4.5, "y":1},
|
||||
{"label":"K15 (D0,B6)", "x":5.5, "y":1},
|
||||
{"label":"K16 (D0,C6)", "x":6.5, "y":1},
|
||||
{"label":"K17 (D0,F5)", "x":7.5, "y":1},
|
||||
{"label":"K18 (D0,F4)", "x":8.5, "y":1},
|
||||
{"label":"K19 (D0,F1)", "x":9.5, "y":1},
|
||||
{"label":"K1A (D0,F0)", "x":10.5, "y":1},
|
||||
{"label":"K1B (D0,B1)", "x":11.5, "y":1},
|
||||
{"label":"K1C (D0,B2)", "x":12.5, "y":1},
|
||||
{"label":"K1D (D0,B3)", "x":13.5, "y":1, "w":1.5},
|
||||
{"label":"K1E (D0,D2)", "x":15.25, "y":1},
|
||||
{"label":"K1F (D0,D3)", "x":16.25, "y":1},
|
||||
{"label":"K20 (B0,D4)", "x":0, "y":2, "w":1.75},
|
||||
{"label":"K21 (B0,D6)", "x":1.75, "y":2},
|
||||
{"label":"K22 (B0,D7)", "x":2.75, "y":2},
|
||||
{"label":"K23 (B0,B4)", "x":3.75, "y":2},
|
||||
{"label":"K24 (B0,B5)", "x":4.75, "y":2},
|
||||
{"label":"K25 (B0,B6)", "x":5.75, "y":2},
|
||||
{"label":"K26 (B0,C6)", "x":6.75, "y":2},
|
||||
{"label":"K27 (B0,F5)", "x":7.75, "y":2},
|
||||
{"label":"K28 (B0,F4)", "x":8.75, "y":2},
|
||||
{"label":"K29 (B0,F1)", "x":9.75, "y":2},
|
||||
{"label":"K2A (B0,F0)", "x":10.75, "y":2},
|
||||
{"label":"K2B (B0,B1)", "x":11.75, "y":2},
|
||||
{"label":"K2D (B0,B3)", "x":12.75, "y":2, "w":2.25},
|
||||
{"label":"K30 (F6,D4)", "x":0, "y":3, "w":2.25},
|
||||
{"label":"K32 (F6,D7)", "x":2.25, "y":3},
|
||||
{"label":"K33 (F6,B4)", "x":3.25, "y":3},
|
||||
{"label":"K34 (F6,B5)", "x":4.25, "y":3},
|
||||
{"label":"K35 (F6,B6)", "x":5.25, "y":3},
|
||||
{"label":"K36 (F6,C6)", "x":6.25, "y":3},
|
||||
{"label":"K37 (F6,F5)", "x":7.25, "y":3},
|
||||
{"label":"K38 (F6,F4)", "x":8.25, "y":3},
|
||||
{"label":"K39 (F6,F1)", "x":9.25, "y":3},
|
||||
{"label":"K3A (F6,F0)", "x":10.25, "y":3},
|
||||
{"label":"K3B (F6,B1)", "x":11.25, "y":3},
|
||||
{"label":"K3C (F6,B2)", "x":12.25, "y":3, "w":2.75},
|
||||
{"label":"K3E (F6,D2)", "x":15.25, "y":3},
|
||||
{"label":"K40 (F7,D4)", "x":0, "y":4, "w":1.25},
|
||||
{"label":"K41 (F7,D6)", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"K42 (F7,D7)", "x":2.5, "y":4, "w":1.25},
|
||||
{"label":"K46 (F7,C6)", "x":3.75, "y":4, "w":6.25},
|
||||
{"label":"K4A (F7,F0)", "x":10, "y":4, "w":1.25},
|
||||
{"label":"K4B (F7,B1)", "x":11.25, "y":4, "w":1.25},
|
||||
{"label":"K4C (F7,B2)", "x":12.5, "y":4, "w":1.25},
|
||||
{"label":"K4D (F7,B3)", "x":14.25, "y":4},
|
||||
{"label":"K4E (F7,D2)", "x":15.25, "y":4},
|
||||
{"label":"K4F (F7,D3)", "x":16.25, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
|
||||
}
|
||||
36
keyboards/cmm_studio/saka68/keymaps/default/keymap.c
Normal file
36
keyboards/cmm_studio/saka68/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,36 @@
|
||||
/* Copyright 2020 CMM.Studio Freather
|
||||
*
|
||||
* 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(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_TRNS, 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_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, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
};
|
||||
51
keyboards/cmm_studio/saka68/keymaps/via/keymap.c
Normal file
51
keyboards/cmm_studio/saka68/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,51 @@
|
||||
/* Copyright 2020 CMM.Studio Freather
|
||||
*
|
||||
* 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(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_TRNS, 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_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, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[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, 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
|
||||
),
|
||||
|
||||
[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, 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
|
||||
),
|
||||
};
|
||||
2
keyboards/cmm_studio/saka68/keymaps/via/rules.mk
Normal file
2
keyboards/cmm_studio/saka68/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
MOUSEKEY_ENABLE = yes
|
||||
17
keyboards/cmm_studio/saka68/readme.md
Normal file
17
keyboards/cmm_studio/saka68/readme.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# CMM.Studio Saka68
|
||||
|
||||
CMM.Studio Saka68 Keyboard
|
||||
|
||||

|
||||
|
||||
* Keyboard Maintainer: [CMM.Studio Freather](https://github.com/CMMS-Freather)
|
||||
* Hardware Supported: PCB, Atmega32u4
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make cmm_studio/saka68:default
|
||||
|
||||
|
||||
For reset instruction, use the physical reset button on the back of the keyboard to enter bootloader mode
|
||||
|
||||
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).
|
||||
22
keyboards/cmm_studio/saka68/rules.mk
Normal file
22
keyboards/cmm_studio/saka68/rules.mk
Normal file
@@ -0,0 +1,22 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
20
keyboards/cmm_studio/saka68/saka68.c
Normal file
20
keyboards/cmm_studio/saka68/saka68.c
Normal file
@@ -0,0 +1,20 @@
|
||||
/* Copyright 2020 CMM.Studio Freather
|
||||
*
|
||||
* 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 "saka68.h"
|
||||
|
||||
// generated by KBFirmware JSON to QMK Parser
|
||||
// https://noroadsleft.github.io/kbf_qmk_converter/
|
||||
36
keyboards/cmm_studio/saka68/saka68.h
Normal file
36
keyboards/cmm_studio/saka68/saka68.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/* Copyright 2020 CMM.Studio Freather
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, K0G, \
|
||||
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, K2D, \
|
||||
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, \
|
||||
K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO, K0F, K0G }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, KC_NO }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO, KC_NO, KC_NO }, \
|
||||
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, KC_NO, KC_NO }, \
|
||||
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F, KC_NO }, \
|
||||
}
|
||||
|
||||
// generated by KBFirmware JSON to QMK Parser
|
||||
// https://noroadsleft.github.io/kbf_qmk_converter/
|
||||
51
keyboards/draytronics/scarlet/keymaps/via/keymap.c
Normal file
51
keyboards/draytronics/scarlet/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,51 @@
|
||||
/*Copyright 2020 Blake Drayson / Draytronics
|
||||
|
||||
Special thanks to sirdicholas for the VIA support config files
|
||||
|
||||
VIA Design Config File
|
||||
https://www.draytronics.co.uk/f_scarlet/draytronics_scarlet_via_config.json
|
||||
|
||||
Contact info@draytronics.co.uk
|
||||
|
||||
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_numpad_5x4(
|
||||
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P0, KC_PDOT, KC_PENT),
|
||||
[1] = LAYOUT_numpad_5x4(
|
||||
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 ),
|
||||
[2] = LAYOUT_numpad_5x4(
|
||||
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 ),
|
||||
[3] = LAYOUT_numpad_5x4(
|
||||
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 ),
|
||||
};
|
||||
2
keyboards/draytronics/scarlet/keymaps/via/rules.mk
Normal file
2
keyboards/draytronics/scarlet/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
@@ -17,3 +17,5 @@ Flashing example for this keyboard:
|
||||
make draytronics/scarlet: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).
|
||||
|
||||
VIA design config file avaliable [here](https://www.draytronics.co.uk/f_scarlet/draytronics_scarlet_via_config.json)
|
||||
|
||||
@@ -31,14 +31,10 @@
|
||||
#define NO_BSLS_ALT KC_EQUAL
|
||||
#define LSA_T(kc) MT(MOD_LSFT | MOD_LALT, kc)
|
||||
|
||||
#define E_NUMBERS LT(_3_NUMBERS,KC_E)
|
||||
#define R_MOUSE LT(_4_MOUSE,KC_R)
|
||||
#define O_NUMBERS LT(_3_NUMBERS,KC_O)
|
||||
#define U_MOUSE LT(_4_MOUSE,KC_U)
|
||||
#define R_NUMBERS LT(_3_NUMBERS,KC_R)
|
||||
#define W_MOUSE LT(_4_MOUSE,KC_W)
|
||||
#define LEFT_NUMBERS LT(_3_NUMBERS, KC_LEFT)
|
||||
#define RIGHT_MOUSE LT(_4_MOUSE, KC_RIGHT)
|
||||
#define E_NUMBERS LT(_1_NUMBERS, KC_E)
|
||||
#define R_MOUSE LT(_2_MOUSE, KC_R)
|
||||
|
||||
#define ARROWS MO(_3_ARROW)
|
||||
|
||||
enum custom_keycodes {
|
||||
RGB_SLD = EZ_SAFE_RANGE,
|
||||
@@ -50,20 +46,19 @@ uint16_t alt_tab_timer = 0; // we will be using them soon.
|
||||
|
||||
enum layers {
|
||||
_0_BASE,
|
||||
_1_BEAKL,
|
||||
_2_WORKMAN,
|
||||
_3_NUMBERS,
|
||||
_4_MOUSE,
|
||||
_1_NUMBERS,
|
||||
_2_MOUSE,
|
||||
_3_ARROW,
|
||||
};
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_0_BASE] = LAYOUT_ergodox(
|
||||
KC_NONUS_BSLASH, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_AUDIO_MUTE,
|
||||
KC_LEAD, KC_Q, KC_W, E_NUMBERS, R_MOUSE, KC_T, TG(_1_BEAKL),
|
||||
LCTL(KC_B), LSFT_T(KC_A), LCTL_T(KC_S), LALT_T(KC_D), LGUI_T(KC_F), KC_G,
|
||||
KC_BSLASH, KC_Z, KC_X, KC_C, KC_V, KC_B, TG(_2_WORKMAN),
|
||||
ALT_TAB, XXXXXXX, XXXXXXX, LEFT_NUMBERS, RIGHT_MOUSE,
|
||||
KC_NONUS_BSLASH, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_AUDIO_MUTE,
|
||||
KC_LEAD, KC_Q, KC_W, E_NUMBERS, R_MOUSE, KC_T, XXXXXXX,
|
||||
LCTL(KC_B), LSFT_T(KC_A), LCTL_T(KC_S), LALT_T(KC_D), LGUI_T(KC_F), KC_G,
|
||||
KC_BSLASH, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX,
|
||||
ALT_TAB, XXXXXXX, XXXXXXX, MO(_1_NUMBERS), ARROWS,
|
||||
KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP,
|
||||
XXXXXXX,
|
||||
KC_ENTER, KC_TAB, KC_ESCAPE,
|
||||
@@ -71,50 +66,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET,
|
||||
KC_H, RGUI_T(KC_J), RALT_T(KC_K), RCTL_T(KC_L), RSFT_T(KC_SCOLON), KC_QUOTE,
|
||||
KC_RBRACKET, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_EQUAL,
|
||||
KC_DOWN, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK,
|
||||
XXXXXXX,
|
||||
KC_ESCAPE, KC_BSPACE, KC_SPACE
|
||||
),
|
||||
[_1_BEAKL] = LAYOUT_ergodox(
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_H, O_NUMBERS, U_MOUSE, KC_X, _______,
|
||||
_______, LSFT_T(KC_Y), LCTL_T(KC_I), LALT_T(KC_E), LGUI_T(KC_A), KC_DOT,
|
||||
_______, KC_J, KC_SLASH, KC_COMMA, KC_K, KC_QUOTE, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_G, KC_C, KC_R, KC_F, KC_Z, _______,
|
||||
KC_D, RGUI_T(KC_S), RALT_T(KC_T), RCTL_T(KC_N), RSFT_T(KC_B), KC_SCOLON,
|
||||
_______, KC_W, _______, KC_L, KC_P, KC_V, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
),
|
||||
[_2_WORKMAN] = LAYOUT_ergodox(
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_D, R_NUMBERS, W_MOUSE, KC_B, _______,
|
||||
_______, _______, _______, LALT_T(KC_H), LGUI_T(KC_T), _______,
|
||||
_______, _______, _______, KC_M, KC_C, KC_V, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_J, KC_F, KC_U, KC_P, KC_SCOLON, _______,
|
||||
KC_Y, RGUI_T(KC_N), RALT_T(KC_E), RCTL_T(KC_O), RSFT_T(KC_I), _______,
|
||||
_______, KC_K, KC_L, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
),
|
||||
[_3_NUMBERS] = LAYOUT_ergodox(
|
||||
[_1_NUMBERS] = LAYOUT_ergodox(
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
@@ -133,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______,
|
||||
_______, _______, _______
|
||||
),
|
||||
[_4_MOUSE] = LAYOUT_ergodox(
|
||||
[_2_MOUSE] = LAYOUT_ergodox(
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
@@ -152,12 +109,36 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
RGB_VAD, RGB_VAI,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
),
|
||||
[_3_ARROW] = LAYOUT_ergodox(
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
|
||||
/* bool suspended = false; */
|
||||
void keyboard_post_init_user(void) {
|
||||
rgblight_disable();
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
@@ -184,24 +165,20 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
ergodox_led_all_off();
|
||||
/* rgblight_disable(); */
|
||||
switch (get_highest_layer(state)) {
|
||||
case _1_BEAKL:
|
||||
case _1_NUMBERS:
|
||||
ergodox_right_led_1_on();
|
||||
/* rgblight_enable();
|
||||
rgblight_mode(1);
|
||||
rgblight_sethsv(HSV_BLUE);*/
|
||||
break;
|
||||
case _2_WORKMAN:
|
||||
case _2_MOUSE:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
case _3_NUMBERS:
|
||||
case _3_ARROW:
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
case _4_MOUSE:
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
/* case 6: */
|
||||
/* ergodox_right_led_2_on(); */
|
||||
/* ergodox_right_led_3_on(); */
|
||||
/* break; */
|
||||
/* case 7: */
|
||||
/* ergodox_right_led_1_on(); */
|
||||
/* ergodox_right_led_2_on(); */
|
||||
@@ -219,9 +196,9 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
/* case SFT_T(KC_SPC): */
|
||||
/* return TAPPING_TERM + 1250; */
|
||||
case LT(_3_NUMBERS, KC_E):
|
||||
case E_NUMBERS:
|
||||
return 200;
|
||||
case LT(_4_MOUSE, KC_R):
|
||||
case LT(_2_MOUSE, KC_R):
|
||||
return 200;
|
||||
/* case LGUI_T(KC_F): */
|
||||
/* return 50; */
|
||||
@@ -231,8 +208,8 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||
}
|
||||
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case LT(_3_NUMBERS, KC_E):
|
||||
case LT(_4_MOUSE, KC_R):
|
||||
case E_NUMBERS:
|
||||
case R_MOUSE:
|
||||
case LSFT_T(KC_A):
|
||||
case LCTL_T(KC_S):
|
||||
case LALT_T(KC_D):
|
||||
@@ -241,8 +218,7 @@ bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
case RALT_T(KC_K):
|
||||
case RCTL_T(KC_L):
|
||||
case RSFT_T(KC_SCOLON):
|
||||
case LEFT_NUMBERS:
|
||||
case RIGHT_MOUSE:
|
||||
case ARROWS:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
@@ -252,8 +228,8 @@ bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case LT(_3_NUMBERS, KC_E):
|
||||
case LT(_4_MOUSE, KC_R):
|
||||
case LT(_1_NUMBERS, KC_E):
|
||||
case R_MOUSE:
|
||||
case LSFT_T(KC_A):
|
||||
case LCTL_T(KC_S):
|
||||
case LALT_T(KC_D):
|
||||
@@ -262,8 +238,7 @@ bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
|
||||
case RALT_T(KC_K):
|
||||
case RCTL_T(KC_L):
|
||||
case RSFT_T(KC_SCOLON):
|
||||
case LEFT_NUMBERS:
|
||||
case RIGHT_MOUSE:
|
||||
case ARROWS:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
@@ -291,6 +266,9 @@ void matrix_scan_user(void) {
|
||||
SEQ_ONE_KEY(KC_S) {
|
||||
SEND_STRING ("sudo -i\n");
|
||||
}
|
||||
SEQ_ONE_KEY(KC_H) {
|
||||
SEND_STRING ("--help\n");
|
||||
}
|
||||
SEQ_TWO_KEYS(KC_D, KC_D) {
|
||||
SEND_STRING(SS_LGUI("ac"));
|
||||
/* SEND_STRING(SS_LGUI("a") SS_LGUI("c")); */
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
# Stamm layouts for ergodox_ez
|
||||
|
||||
5 layers:
|
||||
4 layers:
|
||||
|
||||
* QUERTY
|
||||
* BEAKL15
|
||||
* WORKMAN
|
||||
* Numbers
|
||||
* Mouse
|
||||
* Arrows
|
||||
|
||||
On home row there are hold dual keys:
|
||||
- shift, ctrl, alt, cmd — on the fingers on the left hand
|
||||
@@ -17,17 +16,17 @@ Hold E switch to layer with numbers.
|
||||
Hold R switch to mouse controll layer.
|
||||
|
||||
```
|
||||
0 Base
|
||||
0_Base
|
||||
╭────────┬─────┬─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────┬─────┬────────╮
|
||||
│ ` │ ! │ @ │ # │ $ │ % │Mute │ │Capsl│ ^ │ & │ * │ ( │ ) │ - │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
│ Lead │ Q │ W │E|LT3│R|LT4│ T │ TG1 │ │ │ Y │ U │ I │ O │ P │ [ │
|
||||
│ Lead │ Q │ W │E|LT1│R|LT2│ T │ │ │ │ Y │ U │ I │ O │ P │ [ │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
│Ctrl + B│A | ⇧│S | ⌃│D | ⌥│F | ⌘│ G ├─────┤ ├─────┤ H │J | ⌘│K | ⌥│L | ⌃│; | ⇧│ ' │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┤ TG2 │ │ ] ├─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ] ├─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
│ \ │ Z │ X │ C │ V │ B │ │ │ │ N │ M │ , │ . │ / │ = │
|
||||
╰──┬─────┼─────┼─────┼─────┼─────┼─────┴─────╯ ╰─────┴─────┼─────┼─────┼─────┼─────┼─────┬──╯
|
||||
│⎇ + T│ │ │←|LT3│→|LT4│ │ ↓ │ ↑ │ │ │ │
|
||||
│⎇ + T│ │ │ │Arrow│ │ │ │ │ │ │
|
||||
╰─────┴─────┴─────┴─────┴─────╯ ╭─────┬─────╮ ╭─────┬─────╮ ╰─────┴─────┴─────┴─────┴─────╯
|
||||
│Vol- │Vol+ │ │Play │Next │
|
||||
╭─────┼─────┼─────┤ ├─────┼─────┼─────╮
|
||||
@@ -36,45 +35,7 @@ Hold R switch to mouse controll layer.
|
||||
│ │ │ Esc │ │ Esc │ │ │
|
||||
╰─────┴─────┴─────╯ ╰─────┴─────┴─────╯
|
||||
|
||||
1 Beakl
|
||||
╭────────┬─────┬─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────┬─────┬────────╮
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
│ │ │ H │O|LT3│U|LT4│ X │ │ │ │ G │ C │ R │ F │ Z │ │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
│ │Y | ⇧│I | ⌃│E | ⌥│A | ⌘│ . ├─────┤ ├─────┤ D │S | ⌘│T | ⌥│N | ⌃│B | ⇧│ ; │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
│ │ J │ / │ , │ K │ ' │ │ │ │ W │ │ L │ P │ V │ │
|
||||
╰──┬─────┼─────┼─────┼─────┼─────┼─────┴─────╯ ╰─────┴─────┼─────┼─────┼─────┼─────┼─────┬──╯
|
||||
│ │ │ │ │ │ │ │ │ │ │ │
|
||||
╰─────┴─────┴─────┴─────┴─────╯ ╭─────┬─────╮ ╭─────┬─────╮ ╰─────┴─────┴─────┴─────┴─────╯
|
||||
│ │ │ │ │ │
|
||||
╭─────┼─────┼─────┤ ├─────┼─────┼─────╮
|
||||
│ │ │ │ │ │ │ │
|
||||
│ │ ├─────┤ ├─────┤ │ │
|
||||
│ │ │ │ │ │ │ │
|
||||
╰─────┴─────┴─────╯ ╰─────┴─────┴─────╯
|
||||
|
||||
2 Workman
|
||||
╭────────┬─────┬─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────┬─────┬────────╮
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
│ │ │ D │R|LT3│W|LT4│ B │ │ │ │ J │ F │ U │ P │ ; │ │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
│ │ │ │H | ⌥│T | ⌘│ ├─────┤ ├─────┤ Y │N | ⌘│E | ⌥│O | ⌃│I | ⇧│ │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
│ │ │ │ M │ C │ V │ │ │ │ K │ L │ │ │ │ │
|
||||
╰──┬─────┼─────┼─────┼─────┼─────┼─────┴─────╯ ╰─────┴─────┼─────┼─────┼─────┼─────┼─────┬──╯
|
||||
│ │ │ │ │ │ │ │ │ │ │ │
|
||||
╰─────┴─────┴─────┴─────┴─────╯ ╭─────┬─────╮ ╭─────┬─────╮ ╰─────┴─────┴─────┴─────┴─────╯
|
||||
│ │ │ │ │ │
|
||||
╭─────┼─────┼─────┤ ├─────┼─────┼─────╮
|
||||
│ │ │ │ │ │ │ │
|
||||
│ │ ├─────┤ ├─────┤ │ │
|
||||
│ │ │ │ │ │ │ │
|
||||
╰─────┴─────┴─────╯ ╰─────┴─────┴─────╯
|
||||
|
||||
3 Numbers
|
||||
1_Numbers
|
||||
╭────────┬─────┬─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────┬─────┬────────╮
|
||||
│ │ F1 │ F2 │ F3 │ F4 │ F5 │ │ │ │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
@@ -93,7 +54,7 @@ Hold R switch to mouse controll layer.
|
||||
│ │ │ │ │ │ │ │
|
||||
╰─────┴─────┴─────╯ ╰─────┴─────┴─────╯
|
||||
|
||||
4 Mouse
|
||||
2_Mouse
|
||||
╭────────┬─────┬─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────┬─────┬────────╮
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
@@ -108,7 +69,26 @@ Hold R switch to mouse controll layer.
|
||||
│RgbHu│RgbHu│ │RgbVa│RgbVa│
|
||||
╭─────┼─────┼─────┤ ├─────┼─────┼─────╮
|
||||
│ │ │ │ │ │ │ │
|
||||
│ │ ├─────┤ ├─────┤ │ 75 │
|
||||
│ │ ├─────┤ ├─────┤ │ │
|
||||
│ │ │ │ │ │ │ │
|
||||
╰─────┴─────┴─────╯ ╰─────┴─────┴─────╯
|
||||
|
||||
3_Arrow
|
||||
╭────────┬─────┬─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────┬─────┬────────╮
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
│ │ │ │ │ │ ├─────┤ ├─────┤ ← │ ↓ │ ↑ │ → │ │ │
|
||||
├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
╰──┬─────┼─────┼─────┼─────┼─────┼─────┴─────╯ ╰─────┴─────┼─────┼─────┼─────┼─────┼─────┬──╯
|
||||
│ │ │ │ │ │ │ │ │ │ │ │
|
||||
╰─────┴─────┴─────┴─────┴─────╯ ╭─────┬─────╮ ╭─────┬─────╮ ╰─────┴─────┴─────┴─────┴─────╯
|
||||
│ │ │ │ │ │
|
||||
╭─────┼─────┼─────┤ ├─────┼─────┼─────╮
|
||||
│ │ │ │ │ │ │ │
|
||||
│ │ ├─────┤ ├─────┤ │ │
|
||||
│ │ │ │ │ │ │ │
|
||||
╰─────┴─────┴─────╯ ╰─────┴─────┴─────╯
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ MCU = STM32F303
|
||||
#
|
||||
BACKLIGHT_ENABLE = no
|
||||
BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
|
||||
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"width": 17,
|
||||
"height": 8,
|
||||
"layouts": {
|
||||
"LAYOUT_5x6": {
|
||||
"LAYOUT_5x6_right_trackball": {
|
||||
"layout": [
|
||||
{"label":"L00", "x":0, "y":0},
|
||||
{"label":"L01", "x":1, "y":0},
|
||||
|
||||
@@ -3,6 +3,7 @@ This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
Copyright 2020 mtei
|
||||
|
||||
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
|
||||
@@ -27,12 +28,27 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD.
|
||||
see tmk_core/common/action_tapping.c */
|
||||
|
||||
#undef OLED_UPDATE_INTERVAL
|
||||
#define OLED_UPDATE_INTERVAL 50
|
||||
|
||||
// place overrides here
|
||||
|
||||
// If you need more program area, try select and reduce rgblight modes to use.
|
||||
|
||||
// Selection of RGBLIGHT MODE to use.
|
||||
#undef RGBLIGHT_ANIMATIONS
|
||||
#undef RGBLIGHT_EFFECT_BREATHING
|
||||
#undef RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#undef RGBLIGHT_EFFECT_SNAKE
|
||||
#undef RGBLIGHT_EFFECT_KNIGHT
|
||||
#undef RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#undef RGBLIGHT_EFFECT_RGB_TEST
|
||||
#undef RGBLIGHT_EFFECT_ALTERNATING
|
||||
|
||||
#if defined(LED_ANIMATIONS)
|
||||
# if LED_ANIMATIONS_LEVEL > 1
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
@@ -42,6 +58,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
//#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
//#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
# else
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
//#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
//#define RGBLIGHT_EFFECT_SNAKE
|
||||
//#define RGBLIGHT_EFFECT_KNIGHT
|
||||
//#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
//#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
//#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* CONFIG_USER_H */
|
||||
|
||||
#ifdef DEBUG_CONFIG
|
||||
# include "debug_config.h"
|
||||
#endif
|
||||
|
||||
@@ -163,6 +163,10 @@ void render_status(void) {
|
||||
}
|
||||
|
||||
# ifdef SSD1306OLED
|
||||
# if OLED_UPDATE_INTERVAL > 0
|
||||
uint16_t oled_update_timeout;
|
||||
# endif
|
||||
|
||||
void iota_gfx_task_user(void) {
|
||||
struct CharacterMatrix matrix;
|
||||
|
||||
@@ -172,6 +176,12 @@ void iota_gfx_task_user(void) {
|
||||
}
|
||||
# endif
|
||||
|
||||
#if OLED_UPDATE_INTERVAL > 0
|
||||
if (timer_elapsed(oled_update_timeout) < OLED_UPDATE_INTERVAL) {
|
||||
return;
|
||||
}
|
||||
oled_update_timeout = timer_read();
|
||||
#endif
|
||||
matrix_clear(&matrix);
|
||||
if (is_keyboard_master()) {
|
||||
render_status(&matrix);
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
# yes, yes +3200
|
||||
# no, yes +400
|
||||
LTO_ENABLE = no # if firmware size over limit, try this option
|
||||
LED_ANIMATIONS = yes
|
||||
|
||||
# Helix Spacific Build Options
|
||||
# you can uncomment and edit follows 7 Variables
|
||||
@@ -26,8 +27,8 @@ HELIX_ROWS = 5 # Helix Rows is 4 or 5
|
||||
|
||||
ifneq ($(strip $(HELIX)),)
|
||||
define KEYMAP_OPTION_PARSE
|
||||
# $xinfo .$1.x #debug
|
||||
# parse 'dispoff', 'consle', 'stdole', 'oled', 'sc'
|
||||
# parse 'dispoff', 'consloe', 'na', 'ani', 'mini-ani'
|
||||
$(if $(SHOW_PARCE),$(info parse -$1-)) #debug
|
||||
ifeq ($(strip $1),dispoff)
|
||||
OLED_ENABLE = no
|
||||
OLED_DRIVER_ENABLE = no
|
||||
@@ -37,19 +38,26 @@ ifneq ($(strip $(HELIX)),)
|
||||
ifeq ($(strip $1),console)
|
||||
CONSOLE_ENABLE = yes
|
||||
endif
|
||||
ifeq ($(strip $1),stdole)
|
||||
## make HELIX=stdole helix:five_rows -- use TOP/drivers/oled/oled_driver.c
|
||||
OLED_ENABLE = new
|
||||
ifeq ($(strip $1),debug)
|
||||
DEBUG_CONFIG = yes
|
||||
endif
|
||||
ifeq ($(strip $1),oled)
|
||||
## make HELIX=oled helix:five_rows -- use helix/local_drivers/ssd1306.c
|
||||
OLED_ENABLE = yes
|
||||
ifneq ($(filter nodebug no-debug no_debug,$(strip $1)),)
|
||||
DEBUG_CONFIG = no
|
||||
endif
|
||||
ifeq ($(strip $1),back)
|
||||
LED_BACK_ENABLE = yes
|
||||
ifneq ($(filter na no_ani no-ani,$(strip $1)),)
|
||||
LED_ANIMATIONS = no
|
||||
endif
|
||||
ifeq ($(strip $1),sc)
|
||||
SPLIT_KEYBOARD = yes
|
||||
ifneq ($(filter mini-ani mini_ani,$(strip $1)),)
|
||||
LED_ANIMATIONS = mini
|
||||
endif
|
||||
ifneq ($(filter ani animation,$(strip $1)),)
|
||||
LED_ANIMATIONS = yes
|
||||
endif
|
||||
ifeq ($(strip $1),lto)
|
||||
LTO_ENABLE = yes
|
||||
endif
|
||||
ifneq ($(filter nolto no-lto no_lto,$(strip $1)),)
|
||||
LTO_ENABLE = no
|
||||
endif
|
||||
endef # end of KEYMAP_OPTION_PARSE
|
||||
|
||||
@@ -58,20 +66,23 @@ ifneq ($(strip $(HELIX)),)
|
||||
$(call KEYMAP_OPTION_PARSE,$(A_OPTION_NAME))))
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(OLED_ENABLE)), new)
|
||||
OLED_DRIVER_ENABLE = yes
|
||||
OLED_ENABLE = no
|
||||
SRC += oled_display.c
|
||||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
|
||||
OPT_DEFS += -DOLED_FONT_H=\<helixfont.h\>
|
||||
else
|
||||
OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\"
|
||||
endif
|
||||
ifeq ($(strip $(LED_ANIMATIONS)), yes)
|
||||
OPT_DEFS += -DLED_ANIMATIONS_LEVEL=2
|
||||
endif
|
||||
ifeq ($(strip $(OLED_ENABLE)), yes)
|
||||
SRC += oled_display.c
|
||||
|
||||
ifeq ($(strip $(LED_ANIMATIONS)), mini)
|
||||
OPT_DEFS += -DLED_ANIMATIONS_LEVEL=1
|
||||
LED_ANIMATIONS = yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(DEBUG_CONFIG)), yes)
|
||||
OPT_DEFS += -DDEBUG_CONFIG
|
||||
endif
|
||||
|
||||
# convert Helix-specific options (that represent combinations of standard options)
|
||||
# into QMK standard options.
|
||||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
|
||||
|
||||
ifeq ($(strip $(OLED_ENABLE)), yes)
|
||||
SRC += oled_display.c
|
||||
endif
|
||||
|
||||
@@ -22,6 +22,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#undef OLED_UPDATE_INTERVAL
|
||||
#define OLED_UPDATE_INTERVAL 50
|
||||
|
||||
#undef TAPPING_TERM
|
||||
#define TAPPING_TERM 300
|
||||
#define PERMISSIVE_HOLD
|
||||
@@ -33,7 +36,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
// If you need more program area, try select and reduce rgblight modes to use.
|
||||
|
||||
// Selection of RGBLIGHT MODE to use.
|
||||
#undef RGBLIGHT_ANIMATIONS
|
||||
#undef RGBLIGHT_EFFECT_BREATHING
|
||||
#undef RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#undef RGBLIGHT_EFFECT_SNAKE
|
||||
#undef RGBLIGHT_EFFECT_KNIGHT
|
||||
#undef RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#undef RGBLIGHT_EFFECT_RGB_TEST
|
||||
#undef RGBLIGHT_EFFECT_ALTERNATING
|
||||
|
||||
#if defined(LED_ANIMATIONS)
|
||||
# if LED_ANIMATIONS_LEVEL > 1
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
@@ -43,6 +58,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
//#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
//#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
# else
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
//#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
//#define RGBLIGHT_EFFECT_SNAKE
|
||||
//#define RGBLIGHT_EFFECT_KNIGHT
|
||||
//#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
//#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
//#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* CONFIG_USER_H */
|
||||
|
||||
#ifdef DEBUG_CONFIG
|
||||
# include "debug_config.h"
|
||||
#endif
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
#if defined(DEBUG_MATRIX_SCAN_RATE)
|
||||
debug_enable = true;
|
||||
#endif
|
||||
}
|
||||
@@ -10,12 +10,14 @@
|
||||
# yes, no +1500
|
||||
# yes, yes +3200
|
||||
# no, yes +400
|
||||
ENCODER_ENABLE = no
|
||||
LTO_ENABLE = no # if firmware size over limit, try this option
|
||||
LED_ANIMATIONS = yes
|
||||
|
||||
ifneq ($(strip $(HELIX)),)
|
||||
define KEYMAP_OPTION_PARSE
|
||||
# $xinfo .$1.x #debug
|
||||
# parse 'dispoff', 'consle', 'back', 'oled'
|
||||
# parse 'dispoff', 'consle', 'back', 'oled', 'no-ani', 'mini-ani', 'lto', 'no-lto', 'no-enc', 'scan'
|
||||
$(if $(SHOW_PARCE),$(info parse .$1.)) #debug
|
||||
ifeq ($(strip $1),dispoff)
|
||||
OLED_DRIVER_ENABLE = no
|
||||
RGBLIGHT_ENABLE = no
|
||||
@@ -23,18 +25,43 @@ ifneq ($(strip $(HELIX)),)
|
||||
ifeq ($(strip $1),console)
|
||||
CONSOLE_ENABLE = yes
|
||||
endif
|
||||
ifeq ($(strip $1),debug)
|
||||
DEBUG_CONFIG = yes
|
||||
endif
|
||||
ifneq ($(filter nodebug no-debug no_debug,$(strip $1)),)
|
||||
DEBUG_CONFIG = no
|
||||
endif
|
||||
ifneq ($(filter enc,$(strip $1)),)
|
||||
ENCODER_ENABLE = yes
|
||||
endif
|
||||
ifneq ($(filter noenc no-enc no_enc,$(strip $1)),)
|
||||
ENCODER_ENABLE = no
|
||||
endif
|
||||
ifeq ($(strip $1),oled)
|
||||
OLED_DRIVER_ENABLE = yes
|
||||
endif
|
||||
ifeq ($(strip $1),back)
|
||||
RGBLIGHT_ENABLE = yes
|
||||
endif
|
||||
ifneq ($(filter na no_ani no-ani,$(strip $1)),)
|
||||
LED_ANIMATIONS = no
|
||||
endif
|
||||
ifneq ($(filter mini-ani mini_ani,$(strip $1)),)
|
||||
LED_ANIMATIONS = mini
|
||||
endif
|
||||
ifneq ($(filter ani animation,$(strip $1)),)
|
||||
LED_ANIMATIONS = yes
|
||||
endif
|
||||
ifeq ($(strip $1),lto)
|
||||
LTO_ENABLE = yes
|
||||
endif
|
||||
ifneq ($(filter nolto no-lto no_lto,$(strip $1)),)
|
||||
LTO_ENABLE = no
|
||||
endif
|
||||
ifeq ($(strip $1),scan)
|
||||
# use DEBUG_MATRIX_SCAN_RATE
|
||||
# see docs/newbs_testing_debugging.md
|
||||
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
|
||||
CONSOLE_ENABLE = yes
|
||||
SRC += keyboard_post_init_user_scan.c
|
||||
DEBUG_MATRIX_SCAN_RATE_ENABLE = yes
|
||||
endif
|
||||
endef # end of KEYMAP_OPTION_PARSE
|
||||
|
||||
@@ -42,3 +69,17 @@ ifneq ($(strip $(HELIX)),)
|
||||
$(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(HELIX)), \
|
||||
$(call KEYMAP_OPTION_PARSE,$(A_OPTION_NAME))))
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_ANIMATIONS)), yes)
|
||||
OPT_DEFS += -DLED_ANIMATIONS
|
||||
OPT_DEFS += -DLED_ANIMATIONS_LEVEL=2
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_ANIMATIONS)), mini)
|
||||
OPT_DEFS += -DLED_ANIMATIONS
|
||||
OPT_DEFS += -DLED_ANIMATIONS_LEVEL=1
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(DEBUG_CONFIG)), yes)
|
||||
OPT_DEFS += -DDEBUG_CONFIG
|
||||
endif
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
#pragma once
|
||||
#include "config_common.h"
|
||||
#define VENDOR_ID 0xA76A
|
||||
#define VENDOR_ID 0xA8F7
|
||||
#define PRODUCT_ID 0x1827
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER HID Technologies
|
||||
|
||||
@@ -17,7 +17,6 @@ BOARD = MCHCK_K20
|
||||
# comment out to disable the options.
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
|
||||
@@ -8,7 +8,6 @@ BOARD = JM60_BOARD
|
||||
# comment out to disable the options.
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
|
||||
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
/* Copyright 2018 'mechmerlin'
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap (Base Layer) Default Layer
|
||||
* ,----------------------------------------------------------------.
|
||||
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Home|
|
||||
* |----------------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp|
|
||||
* |----------------------------------------------------------------|
|
||||
* |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn|
|
||||
* |----------------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|End |
|
||||
* |----------------------------------------------------------------|
|
||||
* |Ctrl|Win |Alt | fn |win| space |Alt| FN|Ctrl|Lef|Dow|Rig |
|
||||
* `----------------------------------------------------------------'
|
||||
*/
|
||||
[0] = LAYOUT_65_ansi_split_space(
|
||||
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_BSPC, KC_ESC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
|
||||
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_PGDN,
|
||||
MO(2), KC_LGUI, KC_LALT, MO(1), KC_LGUI, KC_SPC, KC_RALT, MO(2), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ),
|
||||
|
||||
/* Keymap Fn Layer
|
||||
* ,----------------------------------------------------------------.
|
||||
* |~ `|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |Ins |
|
||||
* |----------------------------------------------------------------|
|
||||
* | | |Up | | | | | |PSc|SLk|Pau|Up | | | |
|
||||
* |----------------------------------------------------------------|
|
||||
* | |Lef|Dow|Rig| | | | |Hom|PUp|Lef|Rig| | |
|
||||
* |----------------------------------------------------------------|
|
||||
* | | | | | | | | |End|PDn|Dow| |PUp| |
|
||||
* |----------------------------------------------------------------|
|
||||
* | | | | | | | |Hom|PDn|End |
|
||||
* `----------------------------------------------------------------'
|
||||
*/
|
||||
[1] = LAYOUT_65_ansi_split_space(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,KC_INS,
|
||||
_______,_______, KC_UP,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK,KC_PAUS, KC_UP,_______, _______,_______,
|
||||
_______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______,_______,_______,KC_HOME,KC_PGUP,KC_LEFT,KC_RGHT, _______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______, KC_END,KC_PGDN,KC_DOWN, _______,KC_PGUP,_______,
|
||||
_______, _______, _______,_______, _______, _______, _______,_______,_______,KC_HOME,KC_PGDN, KC_END),
|
||||
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
# Keymap for kbd67 rev.2 tofu65, with split spacebar
|
||||
@@ -101,3 +101,18 @@
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
|
||||
{ K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
|
||||
}
|
||||
|
||||
#define LAYOUT_65_ansi_split_space( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
|
||||
K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
|
||||
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
|
||||
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
|
||||
K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E, K4F \
|
||||
) \
|
||||
{ \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
|
||||
{ K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
|
||||
{ K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
|
||||
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
|
||||
{ K40, K41, KC_NO, K43, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \
|
||||
}
|
||||
|
||||
@@ -46,11 +46,11 @@
|
||||
branch-name = "!git rev-parse --abbrev-ref HEAD"
|
||||
bn = "!git branch-name" # short-form of the above
|
||||
# List branches by the date of their last commit, newest to oldest
|
||||
bbd = "for-each-ref --count=30 --sort=-committerdate refs/heads/ --format='[33m%(objectname)[0m %(objecttype) [32m%(refname:short)[0m (%(authordate))'"
|
||||
bbd = "for-each-ref --count=30 --sort=-committerdate refs/heads/ --format='\e[33m%(objectname)\e[0m %(objecttype) \e[32m%(refname:short)\e[0m (%(authordate))'"
|
||||
|
||||
# Compare commit counts between current branch and QMK master
|
||||
# e.g. `git cc dev_branch upstream/master` returns how many commits are on `dev_branch` and not on `upstream/master`, and vice versa.
|
||||
cc = "!f() { git fetch upstream; echo \"[0;32m$(git branch-name)[0m vs. [0;31m$2[0m\"; git rev-list --left-right --count $1...$2; }; f"
|
||||
cc = "!f() { git fetch upstream; echo \"\e[0;32m$(git branch-name)\e[0m vs. \e[0;31m$2\e[0m\"; git rev-list --left-right --count $1...$2; }; f"
|
||||
|
||||
# Push to origin repo
|
||||
po = "push origin $(git branch-name)"
|
||||
|
||||
137
keyboards/kiwikey/kawii9/config.h
Normal file
137
keyboards/kiwikey/kawii9/config.h
Normal file
@@ -0,0 +1,137 @@
|
||||
/*
|
||||
Copyright 2020 KiwiKey
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x4B57 // KW - KiwiKey
|
||||
#define PRODUCT_ID 0x0303 // 3x3
|
||||
#define DEVICE_VER 0x0002
|
||||
#define MANUFACTURER KiwiKey
|
||||
#define PRODUCT Kawii9
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 3
|
||||
#define MATRIX_COLS 3
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { B6, B5, B4 }
|
||||
#define MATRIX_COL_PINS { F4, F5, F6 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define RGB_DI_PIN D3 // Ver1: F0, Ver2: D3
|
||||
//#ifdef RGB_DI_PIN
|
||||
#define RGBLED_NUM 4
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== all animations enable ==*/
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
/*== or choose animations ==*/
|
||||
//# define RGBLIGHT_EFFECT_BREATHING
|
||||
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
//# define RGBLIGHT_EFFECT_SNAKE
|
||||
//# define RGBLIGHT_EFFECT_KNIGHT
|
||||
//# define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
//# define RGBLIGHT_EFFECT_RGB_TEST
|
||||
//# define RGBLIGHT_EFFECT_ALTERNATING
|
||||
/*== customize breathing effect ==*/
|
||||
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
|
||||
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
|
||||
/*==== use exp() and sin() ====*/
|
||||
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
|
||||
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
|
||||
//#endif
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||
*/
|
||||
//#define GRAVE_ESC_CTRL_OVERRIDE
|
||||
|
||||
/*
|
||||
* Force NKRO
|
||||
*
|
||||
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||
* makefile for this to work.)
|
||||
*
|
||||
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||
* until the next keyboard reset.
|
||||
*
|
||||
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||
* fully operational during normal computer usage.
|
||||
*
|
||||
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||
* power-up.
|
||||
*
|
||||
*/
|
||||
//#define FORCE_NKRO
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
*/
|
||||
|
||||
/* disable debug print */
|
||||
//#define NO_DEBUG
|
||||
|
||||
/* disable print */
|
||||
//#define NO_PRINT
|
||||
|
||||
/* disable action features */
|
||||
//#define NO_ACTION_LAYER
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_ACTION_ONESHOT
|
||||
|
||||
/* disable these deprecated features by default */
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
|
||||
/* Bootmagic Lite key configuration */
|
||||
//#define BOOTMAGIC_LITE_ROW 0
|
||||
//#define BOOTMAGIC_LITE_COLUMN 0
|
||||
23
keyboards/kiwikey/kawii9/info.json
Normal file
23
keyboards/kiwikey/kawii9/info.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"keyboard_name": "Kawii9",
|
||||
"url": "http://kiwikey.vn/kawii9/",
|
||||
"manufacturer": "KiwiKey",
|
||||
"maintainer": "KiwiKey",
|
||||
"width": 3,
|
||||
"height": 3,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_3x3": {
|
||||
"layout": [
|
||||
{"label":"k00", "x":0, "y":0},
|
||||
{"label":"k01", "x":1, "y":0},
|
||||
{"label":"k02", "x":2, "y":0},
|
||||
{"label":"k10", "x":0, "y":1},
|
||||
{"label":"k11", "x":1, "y":1},
|
||||
{"label":"k12", "x":2, "y":1},
|
||||
{"label":"k20", "x":0, "y":2},
|
||||
{"label":"k21", "x":1, "y":2},
|
||||
{"label":"k22", "x":2, "y":2}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
17
keyboards/kiwikey/kawii9/kawii9.c
Normal file
17
keyboards/kiwikey/kawii9/kawii9.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2020 KiwiKey
|
||||
*
|
||||
* 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 "kawii9.h"
|
||||
38
keyboards/kiwikey/kawii9/kawii9.h
Normal file
38
keyboards/kiwikey/kawii9/kawii9.h
Normal file
@@ -0,0 +1,38 @@
|
||||
/* Copyright 2020 KiwiKey
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "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_ortho_3x3( \
|
||||
k00, k01, k02, \
|
||||
k10, k11, k12, \
|
||||
k20, k21, k22 \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02 }, \
|
||||
{ k10, k11, k12 }, \
|
||||
{ k20, k21, k22 } \
|
||||
}
|
||||
35
keyboards/kiwikey/kawii9/keymaps/default/keymap.c
Normal file
35
keyboards/kiwikey/kawii9/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/* Copyright 2020 KiwiKey
|
||||
*
|
||||
* 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
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_ortho_3x3(
|
||||
KC_MUTE, KC_VOLD, KC_VOLU, // Media volume: Mute - Up - Down
|
||||
KC_MPLY, KC_MPRV, KC_MNXT, // Media track control: Play/Pause - Previous Track - Next Track
|
||||
MO(_FN), LCTL(KC_C), LCTL(KC_V) // FN - Copy - Paste
|
||||
),
|
||||
[_FN] = LAYOUT_ortho_3x3(
|
||||
RGB_TOG, RGB_MODE_REVERSE, RGB_MODE_FORWARD,
|
||||
_______, RGB_MODE_BREATHE, RGB_MODE_RAINBOW,
|
||||
_______, _______, RESET
|
||||
)
|
||||
};
|
||||
4
keyboards/kiwikey/kawii9/keymaps/default/readme.md
Normal file
4
keyboards/kiwikey/kawii9/keymaps/default/readme.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# Default keymap for KiwiKey Kawii9
|
||||
|
||||
This is the default keymap which is flashed on every Kawii9 board from the very first Group-buy.
|
||||
This keymap contains some basic media commands on BASE layer and RGB underglow control commands on FN layer (FN is the most bottom-left key, by default).
|
||||
15
keyboards/kiwikey/kawii9/readme.md
Normal file
15
keyboards/kiwikey/kawii9/readme.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# KiwiKey Kawii9
|
||||
|
||||

|
||||
|
||||
A 3x3 keypad, comes with 2 options: solderable and hotswap (using Kailh hotswap socket).
|
||||
|
||||
* Keyboard Maintainer: [KiwiKey](https://github.com/kiwikey)
|
||||
* Hardware Supported: Kawii9 PCB
|
||||
* Hardware Availability: from Group-buy, will be available for direct purchasing via KiwiKey Website (http://kiwikey.vn/kawii9)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make kiwikey/kawii9:default
|
||||
|
||||
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).
|
||||
22
keyboards/kiwikey/kawii9/rules.mk
Normal file
22
keyboards/kiwikey/kawii9/rules.mk
Normal file
@@ -0,0 +1,22 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = yes # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - |
|
||||
* |------+------+------+------+------+------| cmd spc| | |------+------+------+------+------+------|
|
||||
@@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
|
||||
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
@@ -160,4 +160,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
// set_timelog();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
@@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
|
||||
159
keyboards/lizard_trick/tenkey_plusplus/config.h
Normal file
159
keyboards/lizard_trick/tenkey_plusplus/config.h
Normal file
@@ -0,0 +1,159 @@
|
||||
/*
|
||||
Copyright 2020 Jonathon Carstens jonathon@lizardtrick.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
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x0000
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Lizard Trick Electronics
|
||||
#define PRODUCT Tenkey++
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 4
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
|
||||
#define MATRIX_ROW_PINS { B7, D4, B5, B6, C6, C7, }
|
||||
#define MATRIX_COL_PINS { D5, D3, D2, F7 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
#define ENCODERS_PAD_A \
|
||||
{ B4, F0, F4 }
|
||||
#define ENCODERS_PAD_B \
|
||||
{ D7, E6, F1 }
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/*
|
||||
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
|
||||
*/
|
||||
//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
|
||||
|
||||
//#define LED_NUM_LOCK_PIN B0
|
||||
//#define LED_CAPS_LOCK_PIN B1
|
||||
//#define LED_SCROLL_LOCK_PIN B2
|
||||
//#define LED_COMPOSE_PIN B3
|
||||
//#define LED_KANA_PIN B4
|
||||
|
||||
//#define BACKLIGHT_PIN B7
|
||||
//#define BACKLIGHT_LEVELS 3
|
||||
//#define BACKLIGHT_BREATHING
|
||||
|
||||
//#define RGB_DI_PIN E2
|
||||
//#ifdef RGB_DI_PIN
|
||||
//# define RGBLED_NUM 16
|
||||
//# define RGBLIGHT_HUE_STEP 8
|
||||
//# define RGBLIGHT_SAT_STEP 8
|
||||
//# define RGBLIGHT_VAL_STEP 8
|
||||
//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== all animations enable ==*/
|
||||
//# define RGBLIGHT_ANIMATIONS
|
||||
/*== or choose animations ==*/
|
||||
//# define RGBLIGHT_EFFECT_BREATHING
|
||||
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
//# define RGBLIGHT_EFFECT_SNAKE
|
||||
//# define RGBLIGHT_EFFECT_KNIGHT
|
||||
//# define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
//# define RGBLIGHT_EFFECT_RGB_TEST
|
||||
//# define RGBLIGHT_EFFECT_ALTERNATING
|
||||
/*== customize breathing effect ==*/
|
||||
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
|
||||
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
|
||||
/*==== use exp() and sin() ====*/
|
||||
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
|
||||
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
|
||||
//#endif
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||
*/
|
||||
//#define GRAVE_ESC_CTRL_OVERRIDE
|
||||
|
||||
/*
|
||||
* Force NKRO
|
||||
*
|
||||
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||
* makefile for this to work.)
|
||||
*
|
||||
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||
* until the next keyboard reset.
|
||||
*
|
||||
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||
* fully operational during normal computer usage.
|
||||
*
|
||||
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||
* power-up.
|
||||
*
|
||||
*/
|
||||
//#define FORCE_NKRO
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
*/
|
||||
|
||||
/* disable debug print */
|
||||
//#define NO_DEBUG
|
||||
|
||||
/* disable print */
|
||||
//#define NO_PRINT
|
||||
|
||||
/* disable action features */
|
||||
//#define NO_ACTION_LAYER
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_ACTION_ONESHOT
|
||||
|
||||
/* disable these deprecated features by default */
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
|
||||
/* Bootmagic Lite key configuration */
|
||||
//#define BOOTMAGIC_LITE_ROW 0
|
||||
//#define BOOTMAGIC_LITE_COLUMN 0
|
||||
38
keyboards/lizard_trick/tenkey_plusplus/info.json
Normal file
38
keyboards/lizard_trick/tenkey_plusplus/info.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"keyboard_name": "tenkey_plusplus",
|
||||
"url": "https://github.com/jonbobcar/tenkey_plusplus",
|
||||
"maintainer": "Jonathon Carstens",
|
||||
"width": 4,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"default": {
|
||||
"LAYOUT": [
|
||||
{"label": "Mute", "x": 0, "y": 0, "w": 1.3},
|
||||
{"label": "MDPL", "x": 1.3, "y": 0, "w": 1.4},
|
||||
{"label": "MDNX", "x": 2.7, "y": 0, "w": 1.3},
|
||||
|
||||
{"label": "Num Lock", "x": 0, "y": 1},
|
||||
{"label": "/", "x": 1, "y": 1},
|
||||
{"label": "*", "x": 2, "y": 1},
|
||||
{"label": "-", "x": 3, "y": 1},
|
||||
|
||||
{"label": "7", "x": 0, "y": 2},
|
||||
{"label": "8", "x": 1, "y": 2},
|
||||
{"label": "9", "x": 2, "y": 2},
|
||||
{"label": "+", "x": 3, "y": 2, "h": 2},
|
||||
|
||||
{"label": "4", "x": 0, "y": 3},
|
||||
{"label": "5", "x": 1, "y": 3},
|
||||
{"label": "6", "x": 2, "y": 3},
|
||||
|
||||
{"label": "1", "x": 0, "y": 4},
|
||||
{"label": "2", "x": 1, "y": 4},
|
||||
{"label": "3", "x": 2, "y": 4},
|
||||
{"label": "Enter", "x": 3, "y": 4, "h" :2},
|
||||
|
||||
{"label": "0", "x": 0, "y": 5, "w": 2},
|
||||
{"label": ".", "x": 2, "y": 5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
Copyright 2020 Jonathon Carstens jonathon@lizardtrick.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
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
*
|
||||
* Left Middle Right
|
||||
* VolDn PgDn Alt+Tab (Rotary Counterclockwise)
|
||||
* VolUp PgUp Tab (Rotary Clockwise)
|
||||
* Mute Play Next (Rotary Click)
|
||||
*
|
||||
*
|
||||
*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │TG1│ / │ * │ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 7 │ 8 │ 9 │ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ 4 │ 5 │ 6 │ │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 1 │ 2 │ 3 │ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │ 0 │ . │ │
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
|
||||
[_BASE] = LAYOUT(
|
||||
KC_MUTE, KC_MPLY, KC_MNXT,
|
||||
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
KC_P4, KC_P5, KC_P6,
|
||||
KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_PDOT
|
||||
)
|
||||
};
|
||||
|
||||
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == 0) { /* Left Encoder */
|
||||
if (clockwise) {
|
||||
tap_code16(KC_VOLU);
|
||||
} else {
|
||||
tap_code16(KC_VOLD);
|
||||
}
|
||||
} else if (index == 1) { /* Middle Encoder */
|
||||
if (clockwise) {
|
||||
tap_code16(KC_PGDN);
|
||||
} else {
|
||||
tap_code16(KC_PGUP);
|
||||
}
|
||||
} else if (index == 2) { /* Right Encoder */
|
||||
if (clockwise) {
|
||||
tap_code16(KC_TAB);
|
||||
} else {
|
||||
tap_code16(S(KC_TAB));
|
||||
}
|
||||
}
|
||||
}
|
||||
103
keyboards/lizard_trick/tenkey_plusplus/keymaps/macro/keymap.c
Normal file
103
keyboards/lizard_trick/tenkey_plusplus/keymaps/macro/keymap.c
Normal file
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
Copyright 2020 Jonathon Carstens jonathon@lizardtrick.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
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_TG1,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
*
|
||||
* Left Middle Right
|
||||
* VolDn PgDn Alt+Tab (Rotary Counterclockwise)
|
||||
* VolUp PgUp Tab (Rotary Clockwise)
|
||||
* Mute Play Next (Rotary Click)
|
||||
*
|
||||
*
|
||||
*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │TG1│ / │ * │ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 7 │ 8 │ 9 │ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ 4 │ 5 │ 6 │ │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 1 │ 2 │ 3 │ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │ 0 │ . │ │
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
|
||||
[_BASE] = LAYOUT(
|
||||
KC_MUTE, KC_MPLY, KC_MNXT,
|
||||
TG(1), KC_SLSH, KC_ASTR, KC_MINS,
|
||||
KC_7, KC_8, KC_9, KC_PLUS,
|
||||
KC_4, KC_5, KC_6,
|
||||
KC_1, KC_2, KC_3, KC_ENT,
|
||||
KC_0, KC_DOT
|
||||
),
|
||||
|
||||
/*
|
||||
*
|
||||
* ┌─────────┬─────────┬─────────┬─────────┐
|
||||
* │ TG1 │ / │ * │ - │
|
||||
* ├─────────┼─────────┼─────────┼─────────┤
|
||||
* │ Alt 7 │ Alt 8 │ Alt 9 │ │
|
||||
* ├─────────┼─────────┼─────────┤ + │
|
||||
* │ Alt 4 │ Alt 5 │ Alt 6 │ │
|
||||
* ├─────────┼─────────┼─────────┼─────────┤
|
||||
* │ Alt 1 │ Alt 2 │ Alt 3 │ │
|
||||
* ├─────────┴─────────┼─────────┤ Ent │
|
||||
* │ Escape │ Del │ │
|
||||
* └───────────────────┴─────────┴─────────┘
|
||||
*/
|
||||
|
||||
[_TG1] = LAYOUT(
|
||||
_______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
A(KC_7), A(KC_8), A(KC_9), _______,
|
||||
A(KC_4), A(KC_5), A(KC_6),
|
||||
A(KC_1), A(KC_2), A(KC_3), _______,
|
||||
KC_ESC, KC_DEL
|
||||
)
|
||||
};
|
||||
|
||||
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == 0) { /* Left Encoder */
|
||||
if (clockwise) {
|
||||
tap_code16(KC_VOLU);
|
||||
} else {
|
||||
tap_code16(KC_VOLD);
|
||||
}
|
||||
} else if (index == 1) { /* Middle Encoder */
|
||||
if (clockwise) {
|
||||
tap_code16(KC_PGDN);
|
||||
} else {
|
||||
tap_code16(KC_PGUP);
|
||||
}
|
||||
} else if (index == 2) { /* Right Encoder */
|
||||
if (clockwise) {
|
||||
tap_code16(KC_TAB);
|
||||
} else {
|
||||
tap_code16(S(KC_TAB));
|
||||
}
|
||||
}
|
||||
}
|
||||
25
keyboards/lizard_trick/tenkey_plusplus/readme.md
Normal file
25
keyboards/lizard_trick/tenkey_plusplus/readme.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Tenkey++
|
||||
|
||||

|
||||
|
||||
Tenkey++ is a USB-C hotswap numpad with the layout of a standard 10-key. Tenkey++ also has three rotary encoders at the top for additional functionality.
|
||||
|
||||
* Keyboard Maintainer: [Jonathon Carstens](https://github.com/jonbobcar) :: [jonathon@lizardtrick.com](mailto:jonathon@lizardtrick.com)
|
||||
* Hardware Source Files: [Tenkey++ GitHub Repository](https://github.com/jonbobcar/tenkey_plusplus)
|
||||
* Hardware Availability: [Tenkey++ on Tindie](https://www.tindie.com/products/lizardtrick/tenkey/)
|
||||
|
||||
Make example for default layout (set up QMK build environment first):
|
||||
|
||||
make lizard_trick/tenkey_plusplus:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make lizard_trick/tenkey_plusplus:default:flash
|
||||
|
||||
Default Layout:
|
||||
|
||||

|
||||
|
||||
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 the [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||

|
||||
23
keyboards/lizard_trick/tenkey_plusplus/rules.mk
Normal file
23
keyboards/lizard_trick/tenkey_plusplus/rules.mk
Normal file
@@ -0,0 +1,23 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
ENCODER_ENABLE = yes
|
||||
18
keyboards/lizard_trick/tenkey_plusplus/tenkey_plusplus.c
Normal file
18
keyboards/lizard_trick/tenkey_plusplus/tenkey_plusplus.c
Normal file
@@ -0,0 +1,18 @@
|
||||
/*
|
||||
Copyright 2020 Jonathon Carstens jonathon@lizardtrick.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 "tenkey_plusplus.h"
|
||||
45
keyboards/lizard_trick/tenkey_plusplus/tenkey_plusplus.h
Normal file
45
keyboards/lizard_trick/tenkey_plusplus/tenkey_plusplus.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
Copyright 2020 Jonathon Carstens jonathon@lizardtrick.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
|
||||
|
||||
#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, K03, \
|
||||
K10, K11, K12, K13, \
|
||||
K20, K21, K22, K23, \
|
||||
K30, K31, K32, \
|
||||
K40, K41, K42, K43, \
|
||||
K51, K52 \
|
||||
) { \
|
||||
{ K00, K01, KC_NO, K03 }, \
|
||||
{ K10, K11, K12, K13 }, \
|
||||
{ K20, K21, K22, K23 }, \
|
||||
{ K30, K31, K32, KC_NO }, \
|
||||
{ K40, K41, K42, K43 }, \
|
||||
{ KC_NO, K51, K52, KC_NO } \
|
||||
}
|
||||
714
keyboards/misterknife/knife66_iso/chconf.h
Normal file
714
keyboards/misterknife/knife66_iso/chconf.h
Normal file
@@ -0,0 +1,714 @@
|
||||
/*
|
||||
ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file rt/templates/chconf.h
|
||||
* @brief Configuration file template.
|
||||
* @details A copy of this file must be placed in each project directory, it
|
||||
* contains the application specific kernel settings.
|
||||
*
|
||||
* @addtogroup config
|
||||
* @details Kernel related settings and hooks.
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef CHCONF_H
|
||||
#define CHCONF_H
|
||||
|
||||
#define _CHIBIOS_RT_CONF_
|
||||
#define _CHIBIOS_RT_CONF_VER_6_0_
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name System timers settings
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief System time counter resolution.
|
||||
* @note Allowed values are 16 or 32 bits.
|
||||
*/
|
||||
#if !defined(CH_CFG_ST_RESOLUTION)
|
||||
#define CH_CFG_ST_RESOLUTION 32
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief System tick frequency.
|
||||
* @details Frequency of the system timer that drives the system ticks. This
|
||||
* setting also defines the system tick time unit.
|
||||
*/
|
||||
#if !defined(CH_CFG_ST_FREQUENCY)
|
||||
#define CH_CFG_ST_FREQUENCY 10000
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Time intervals data size.
|
||||
* @note Allowed values are 16, 32 or 64 bits.
|
||||
*/
|
||||
#if !defined(CH_CFG_INTERVALS_SIZE)
|
||||
#define CH_CFG_INTERVALS_SIZE 32
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Time types data size.
|
||||
* @note Allowed values are 16 or 32 bits.
|
||||
*/
|
||||
#if !defined(CH_CFG_TIME_TYPES_SIZE)
|
||||
#define CH_CFG_TIME_TYPES_SIZE 32
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Time delta constant for the tick-less mode.
|
||||
* @note If this value is zero then the system uses the classic
|
||||
* periodic tick. This value represents the minimum number
|
||||
* of ticks that is safe to specify in a timeout directive.
|
||||
* The value one is not valid, timeouts are rounded up to
|
||||
* this value.
|
||||
*/
|
||||
#if !defined(CH_CFG_ST_TIMEDELTA)
|
||||
#define CH_CFG_ST_TIMEDELTA 2
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name Kernel parameters and options
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Round robin interval.
|
||||
* @details This constant is the number of system ticks allowed for the
|
||||
* threads before preemption occurs. Setting this value to zero
|
||||
* disables the preemption for threads with equal priority and the
|
||||
* round robin becomes cooperative. Note that higher priority
|
||||
* threads can still preempt, the kernel is always preemptive.
|
||||
* @note Disabling the round robin preemption makes the kernel more compact
|
||||
* and generally faster.
|
||||
* @note The round robin preemption is not supported in tickless mode and
|
||||
* must be set to zero in that case.
|
||||
*/
|
||||
#if !defined(CH_CFG_TIME_QUANTUM)
|
||||
#define CH_CFG_TIME_QUANTUM 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Managed RAM size.
|
||||
* @details Size of the RAM area to be managed by the OS. If set to zero
|
||||
* then the whole available RAM is used. The core memory is made
|
||||
* available to the heap allocator and/or can be used directly through
|
||||
* the simplified core memory allocator.
|
||||
*
|
||||
* @note In order to let the OS manage the whole RAM the linker script must
|
||||
* provide the @p __heap_base__ and @p __heap_end__ symbols.
|
||||
* @note Requires @p CH_CFG_USE_MEMCORE.
|
||||
*/
|
||||
#if !defined(CH_CFG_MEMCORE_SIZE)
|
||||
#define CH_CFG_MEMCORE_SIZE 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Idle thread automatic spawn suppression.
|
||||
* @details When this option is activated the function @p chSysInit()
|
||||
* does not spawn the idle thread. The application @p main()
|
||||
* function becomes the idle thread and must implement an
|
||||
* infinite loop.
|
||||
*/
|
||||
#if !defined(CH_CFG_NO_IDLE_THREAD)
|
||||
#define CH_CFG_NO_IDLE_THREAD FALSE
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name Performance options
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief OS optimization.
|
||||
* @details If enabled then time efficient rather than space efficient code
|
||||
* is used when two possible implementations exist.
|
||||
*
|
||||
* @note This is not related to the compiler optimization options.
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_OPTIMIZE_SPEED)
|
||||
#define CH_CFG_OPTIMIZE_SPEED FALSE
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name Subsystem options
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Time Measurement APIs.
|
||||
* @details If enabled then the time measurement APIs are included in
|
||||
* the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_TM)
|
||||
#define CH_CFG_USE_TM FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Threads registry APIs.
|
||||
* @details If enabled then the registry APIs are included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_REGISTRY)
|
||||
#define CH_CFG_USE_REGISTRY TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Threads synchronization APIs.
|
||||
* @details If enabled then the @p chThdWait() function is included in
|
||||
* the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_WAITEXIT)
|
||||
#define CH_CFG_USE_WAITEXIT TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Semaphores APIs.
|
||||
* @details If enabled then the Semaphores APIs are included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_SEMAPHORES)
|
||||
#define CH_CFG_USE_SEMAPHORES TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Semaphores queuing mode.
|
||||
* @details If enabled then the threads are enqueued on semaphores by
|
||||
* priority rather than in FIFO order.
|
||||
*
|
||||
* @note The default is @p FALSE. Enable this if you have special
|
||||
* requirements.
|
||||
* @note Requires @p CH_CFG_USE_SEMAPHORES.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_SEMAPHORES_PRIORITY)
|
||||
#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Mutexes APIs.
|
||||
* @details If enabled then the mutexes APIs are included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MUTEXES)
|
||||
#define CH_CFG_USE_MUTEXES TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables recursive behavior on mutexes.
|
||||
* @note Recursive mutexes are heavier and have an increased
|
||||
* memory footprint.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
* @note Requires @p CH_CFG_USE_MUTEXES.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MUTEXES_RECURSIVE)
|
||||
#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Conditional Variables APIs.
|
||||
* @details If enabled then the conditional variables APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
* @note Requires @p CH_CFG_USE_MUTEXES.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_CONDVARS)
|
||||
#define CH_CFG_USE_CONDVARS TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Conditional Variables APIs with timeout.
|
||||
* @details If enabled then the conditional variables APIs with timeout
|
||||
* specification are included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
* @note Requires @p CH_CFG_USE_CONDVARS.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_CONDVARS_TIMEOUT)
|
||||
#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Events Flags APIs.
|
||||
* @details If enabled then the event flags APIs are included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_EVENTS)
|
||||
#define CH_CFG_USE_EVENTS TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Events Flags APIs with timeout.
|
||||
* @details If enabled then the events APIs with timeout specification
|
||||
* are included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
* @note Requires @p CH_CFG_USE_EVENTS.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_EVENTS_TIMEOUT)
|
||||
#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Synchronous Messages APIs.
|
||||
* @details If enabled then the synchronous messages APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MESSAGES)
|
||||
#define CH_CFG_USE_MESSAGES TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Synchronous Messages queuing mode.
|
||||
* @details If enabled then messages are served by priority rather than in
|
||||
* FIFO order.
|
||||
*
|
||||
* @note The default is @p FALSE. Enable this if you have special
|
||||
* requirements.
|
||||
* @note Requires @p CH_CFG_USE_MESSAGES.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MESSAGES_PRIORITY)
|
||||
#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Mailboxes APIs.
|
||||
* @details If enabled then the asynchronous messages (mailboxes) APIs are
|
||||
* included in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
* @note Requires @p CH_CFG_USE_SEMAPHORES.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MAILBOXES)
|
||||
#define CH_CFG_USE_MAILBOXES TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Core Memory Manager APIs.
|
||||
* @details If enabled then the core memory manager APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MEMCORE)
|
||||
#define CH_CFG_USE_MEMCORE TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Heap Allocator APIs.
|
||||
* @details If enabled then the memory heap allocator APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
* @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
|
||||
* @p CH_CFG_USE_SEMAPHORES.
|
||||
* @note Mutexes are recommended.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_HEAP)
|
||||
#define CH_CFG_USE_HEAP FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Memory Pools Allocator APIs.
|
||||
* @details If enabled then the memory pools allocator APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_MEMPOOLS)
|
||||
#define CH_CFG_USE_MEMPOOLS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Objects FIFOs APIs.
|
||||
* @details If enabled then the objects FIFOs APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_OBJ_FIFOS)
|
||||
#define CH_CFG_USE_OBJ_FIFOS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Pipes APIs.
|
||||
* @details If enabled then the pipes APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_PIPES)
|
||||
#define CH_CFG_USE_PIPES FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Dynamic Threads APIs.
|
||||
* @details If enabled then the dynamic threads creation APIs are included
|
||||
* in the kernel.
|
||||
*
|
||||
* @note The default is @p TRUE.
|
||||
* @note Requires @p CH_CFG_USE_WAITEXIT.
|
||||
* @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_DYNAMIC)
|
||||
#define CH_CFG_USE_DYNAMIC FALSE
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name Objects factory options
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Objects Factory APIs.
|
||||
* @details If enabled then the objects factory APIs are included in the
|
||||
* kernel.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
*/
|
||||
#if !defined(CH_CFG_USE_FACTORY)
|
||||
#define CH_CFG_USE_FACTORY FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Maximum length for object names.
|
||||
* @details If the specified length is zero then the name is stored by
|
||||
* pointer but this could have unintended side effects.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_MAX_NAMES_LENGTH)
|
||||
#define CH_CFG_FACTORY_MAX_NAMES_LENGTH 8
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the registry of generic objects.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_OBJECTS_REGISTRY)
|
||||
#define CH_CFG_FACTORY_OBJECTS_REGISTRY FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables factory for generic buffers.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_GENERIC_BUFFERS)
|
||||
#define CH_CFG_FACTORY_GENERIC_BUFFERS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables factory for semaphores.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_SEMAPHORES)
|
||||
#define CH_CFG_FACTORY_SEMAPHORES FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables factory for mailboxes.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_MAILBOXES)
|
||||
#define CH_CFG_FACTORY_MAILBOXES FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables factory for objects FIFOs.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_OBJ_FIFOS)
|
||||
#define CH_CFG_FACTORY_OBJ_FIFOS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables factory for Pipes.
|
||||
*/
|
||||
#if !defined(CH_CFG_FACTORY_PIPES) || defined(__DOXYGEN__)
|
||||
#define CH_CFG_FACTORY_PIPES FALSE
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name Debug options
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Debug option, kernel statistics.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
*/
|
||||
#if !defined(CH_DBG_STATISTICS)
|
||||
#define CH_DBG_STATISTICS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, system state check.
|
||||
* @details If enabled the correct call protocol for system APIs is checked
|
||||
* at runtime.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
*/
|
||||
#if !defined(CH_DBG_SYSTEM_STATE_CHECK)
|
||||
#define CH_DBG_SYSTEM_STATE_CHECK FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, parameters checks.
|
||||
* @details If enabled then the checks on the API functions input
|
||||
* parameters are activated.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
*/
|
||||
#if !defined(CH_DBG_ENABLE_CHECKS)
|
||||
#define CH_DBG_ENABLE_CHECKS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, consistency checks.
|
||||
* @details If enabled then all the assertions in the kernel code are
|
||||
* activated. This includes consistency checks inside the kernel,
|
||||
* runtime anomalies and port-defined checks.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
*/
|
||||
#if !defined(CH_DBG_ENABLE_ASSERTS)
|
||||
#define CH_DBG_ENABLE_ASSERTS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, trace buffer.
|
||||
* @details If enabled then the trace buffer is activated.
|
||||
*
|
||||
* @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
|
||||
*/
|
||||
#if !defined(CH_DBG_TRACE_MASK)
|
||||
#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Trace buffer entries.
|
||||
* @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
|
||||
* different from @p CH_DBG_TRACE_MASK_DISABLED.
|
||||
*/
|
||||
#if !defined(CH_DBG_TRACE_BUFFER_SIZE)
|
||||
#define CH_DBG_TRACE_BUFFER_SIZE 128
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, stack checks.
|
||||
* @details If enabled then a runtime stack check is performed.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
* @note The stack check is performed in a architecture/port dependent way.
|
||||
* It may not be implemented or some ports.
|
||||
* @note The default failure mode is to halt the system with the global
|
||||
* @p panic_msg variable set to @p NULL.
|
||||
*/
|
||||
#if !defined(CH_DBG_ENABLE_STACK_CHECK)
|
||||
#define CH_DBG_ENABLE_STACK_CHECK FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, stacks initialization.
|
||||
* @details If enabled then the threads working area is filled with a byte
|
||||
* value when a thread is created. This can be useful for the
|
||||
* runtime measurement of the used stack.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
*/
|
||||
#if !defined(CH_DBG_FILL_THREADS)
|
||||
#define CH_DBG_FILL_THREADS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Debug option, threads profiling.
|
||||
* @details If enabled then a field is added to the @p thread_t structure that
|
||||
* counts the system ticks occurred while executing the thread.
|
||||
*
|
||||
* @note The default is @p FALSE.
|
||||
* @note This debug option is not currently compatible with the
|
||||
* tickless mode.
|
||||
*/
|
||||
#if !defined(CH_DBG_THREADS_PROFILING)
|
||||
#define CH_DBG_THREADS_PROFILING FALSE
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/**
|
||||
* @name Kernel hooks
|
||||
* @{
|
||||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief System structure extension.
|
||||
* @details User fields added to the end of the @p ch_system_t structure.
|
||||
*/
|
||||
#define CH_CFG_SYSTEM_EXTRA_FIELDS \
|
||||
/* Add threads custom fields here.*/
|
||||
|
||||
/**
|
||||
* @brief System initialization hook.
|
||||
* @details User initialization code added to the @p chSysInit() function
|
||||
* just before interrupts are enabled globally.
|
||||
*/
|
||||
#define CH_CFG_SYSTEM_INIT_HOOK() { \
|
||||
/* Add threads initialization code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Threads descriptor structure extension.
|
||||
* @details User fields added to the end of the @p thread_t structure.
|
||||
*/
|
||||
#define CH_CFG_THREAD_EXTRA_FIELDS \
|
||||
/* Add threads custom fields here.*/
|
||||
|
||||
/**
|
||||
* @brief Threads initialization hook.
|
||||
* @details User initialization code added to the @p _thread_init() function.
|
||||
*
|
||||
* @note It is invoked from within @p _thread_init() and implicitly from all
|
||||
* the threads creation APIs.
|
||||
*/
|
||||
#define CH_CFG_THREAD_INIT_HOOK(tp) { \
|
||||
/* Add threads initialization code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Threads finalization hook.
|
||||
* @details User finalization code added to the @p chThdExit() API.
|
||||
*/
|
||||
#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
|
||||
/* Add threads finalization code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Context switch hook.
|
||||
* @details This hook is invoked just before switching between threads.
|
||||
*/
|
||||
#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
|
||||
/* Context switch code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ISR enter hook.
|
||||
*/
|
||||
#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
|
||||
/* IRQ prologue code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ISR exit hook.
|
||||
*/
|
||||
#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
|
||||
/* IRQ epilogue code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Idle thread enter hook.
|
||||
* @note This hook is invoked within a critical zone, no OS functions
|
||||
* should be invoked from here.
|
||||
* @note This macro can be used to activate a power saving mode.
|
||||
*/
|
||||
#define CH_CFG_IDLE_ENTER_HOOK() { \
|
||||
/* Idle-enter code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Idle thread leave hook.
|
||||
* @note This hook is invoked within a critical zone, no OS functions
|
||||
* should be invoked from here.
|
||||
* @note This macro can be used to deactivate a power saving mode.
|
||||
*/
|
||||
#define CH_CFG_IDLE_LEAVE_HOOK() { \
|
||||
/* Idle-leave code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Idle Loop hook.
|
||||
* @details This hook is continuously invoked by the idle thread loop.
|
||||
*/
|
||||
#define CH_CFG_IDLE_LOOP_HOOK() { \
|
||||
/* Idle loop code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief System tick event hook.
|
||||
* @details This hook is invoked in the system tick handler immediately
|
||||
* after processing the virtual timers queue.
|
||||
*/
|
||||
#define CH_CFG_SYSTEM_TICK_HOOK() { \
|
||||
/* System tick event code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief System halt hook.
|
||||
* @details This hook is invoked in case to a system halting error before
|
||||
* the system is halted.
|
||||
*/
|
||||
#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
|
||||
/* System halt code here.*/ \
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Trace hook.
|
||||
* @details This hook is invoked each time a new record is written in the
|
||||
* trace buffer.
|
||||
*/
|
||||
#define CH_CFG_TRACE_HOOK(tep) { \
|
||||
/* Trace code here.*/ \
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Port-specific settings (override port settings defaulted in chcore.h). */
|
||||
/*===========================================================================*/
|
||||
|
||||
#endif /* CHCONF_H */
|
||||
|
||||
/** @} */
|
||||
55
keyboards/misterknife/knife66_iso/config.h
Normal file
55
keyboards/misterknife/knife66_iso/config.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
Copyright 2020 Thierry Kleist
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xAC11
|
||||
#define PRODUCT_ID 0x4173
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER MisterKnife
|
||||
#define PRODUCT Knife66 ISO
|
||||
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 15
|
||||
|
||||
#define MATRIX_COL_PINS { B2, B1, B0, A7, A6, A5, A4, B9, B8, B7, B6, B5, B4, B3, A15 }
|
||||
#define MATRIX_ROW_PINS { B15, A8, A3, A2, A1 }
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define RGB_DI_PIN A9
|
||||
|
||||
#ifdef RGB_DI_PIN
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLIGHT_SLEEP
|
||||
#define RGBLED_NUM 6
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_LIMIT_VAL 160
|
||||
#endif
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
#define WS2812_PWM_DRIVER PWMD1 // default: PWMD1
|
||||
#define WS2812_PWM_CHANNEL 2 // default: 2
|
||||
#define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2
|
||||
#define WS2812_DMA_STREAM STM32_DMA1_STREAM5 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
|
||||
#define WS2812_DMA_CHANNEL 5 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
|
||||
525
keyboards/misterknife/knife66_iso/halconf.h
Normal file
525
keyboards/misterknife/knife66_iso/halconf.h
Normal file
@@ -0,0 +1,525 @@
|
||||
/*
|
||||
ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file templates/halconf.h
|
||||
* @brief HAL configuration header.
|
||||
* @details HAL configuration file, this file allows to enable or disable the
|
||||
* various device drivers from your application. You may also use
|
||||
* this file in order to override the device drivers default settings.
|
||||
*
|
||||
* @addtogroup HAL_CONF
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef HALCONF_H
|
||||
#define HALCONF_H
|
||||
|
||||
#define _CHIBIOS_HAL_CONF_
|
||||
#define _CHIBIOS_HAL_CONF_VER_7_0_
|
||||
|
||||
#include "mcuconf.h"
|
||||
|
||||
/**
|
||||
* @brief Enables the PAL subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_PAL TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the ADC subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_ADC FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the CAN subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_CAN FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the cryptographic subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_CRY) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_CRY FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the DAC subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_DAC FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the GPT subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_GPT FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the I2C subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_I2C TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the I2S subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_I2S FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the ICU subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_ICU FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the MAC subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_MAC FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the MMC_SPI subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_MMC_SPI FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the PWM subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_PWM TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the RTC subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_RTC FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the SDC subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_SDC FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the SERIAL subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_SERIAL FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the SERIAL over USB subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_SERIAL_USB FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the SIO subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_SIO) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_SIO FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the SPI subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_SPI TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the TRNG subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_TRNG) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_TRNG FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the UART subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_UART FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the USB subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_USB TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the WDG subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_WDG FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the WSPI subsystem.
|
||||
*/
|
||||
#if !defined(HAL_USE_WSPI) || defined(__DOXYGEN__)
|
||||
#define HAL_USE_WSPI FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* PAL driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(PAL_USE_CALLBACKS) || defined(__DOXYGEN__)
|
||||
#define PAL_USE_CALLBACKS FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(PAL_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define PAL_USE_WAIT FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* ADC driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define ADC_USE_WAIT TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
||||
#define ADC_USE_MUTUAL_EXCLUSION TRUE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* CAN driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Sleep mode related APIs inclusion switch.
|
||||
*/
|
||||
#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
|
||||
#define CAN_USE_SLEEP_MODE TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enforces the driver to use direct callbacks rather than OSAL events.
|
||||
*/
|
||||
#if !defined(CAN_ENFORCE_USE_CALLBACKS) || defined(__DOXYGEN__)
|
||||
#define CAN_ENFORCE_USE_CALLBACKS FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* CRY driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables the SW fall-back of the cryptographic driver.
|
||||
* @details When enabled, this option, activates a fall-back software
|
||||
* implementation for algorithms not supported by the underlying
|
||||
* hardware.
|
||||
* @note Fall-back implementations may not be present for all algorithms.
|
||||
*/
|
||||
#if !defined(HAL_CRY_USE_FALLBACK) || defined(__DOXYGEN__)
|
||||
#define HAL_CRY_USE_FALLBACK FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Makes the driver forcibly use the fall-back implementations.
|
||||
*/
|
||||
#if !defined(HAL_CRY_ENFORCE_FALLBACK) || defined(__DOXYGEN__)
|
||||
#define HAL_CRY_ENFORCE_FALLBACK FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* DAC driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(DAC_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define DAC_USE_WAIT TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the @p dacAcquireBus() and @p dacReleaseBus() APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(DAC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
||||
#define DAC_USE_MUTUAL_EXCLUSION TRUE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* I2C driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables the mutual exclusion APIs on the I2C bus.
|
||||
*/
|
||||
#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
||||
#define I2C_USE_MUTUAL_EXCLUSION TRUE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* MAC driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables the zero-copy API.
|
||||
*/
|
||||
#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
|
||||
#define MAC_USE_ZERO_COPY FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables an event sources for incoming packets.
|
||||
*/
|
||||
#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
|
||||
#define MAC_USE_EVENTS TRUE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* MMC_SPI driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Delays insertions.
|
||||
* @details If enabled this options inserts delays into the MMC waiting
|
||||
* routines releasing some extra CPU time for the threads with
|
||||
* lower priority, this may slow down the driver a bit however.
|
||||
* This option is recommended also if the SPI driver does not
|
||||
* use a DMA channel and heavily loads the CPU.
|
||||
*/
|
||||
#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
|
||||
#define MMC_NICE_WAITING TRUE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* SDC driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Number of initialization attempts before rejecting the card.
|
||||
* @note Attempts are performed at 10mS intervals.
|
||||
*/
|
||||
#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
|
||||
#define SDC_INIT_RETRY 100
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Include support for MMC cards.
|
||||
* @note MMC support is not yet implemented so this option must be kept
|
||||
* at @p FALSE.
|
||||
*/
|
||||
#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
|
||||
#define SDC_MMC_SUPPORT FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Delays insertions.
|
||||
* @details If enabled this options inserts delays into the MMC waiting
|
||||
* routines releasing some extra CPU time for the threads with
|
||||
* lower priority, this may slow down the driver a bit however.
|
||||
*/
|
||||
#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
|
||||
#define SDC_NICE_WAITING TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief OCR initialization constant for V20 cards.
|
||||
*/
|
||||
#if !defined(SDC_INIT_OCR_V20) || defined(__DOXYGEN__)
|
||||
#define SDC_INIT_OCR_V20 0x50FF8000U
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief OCR initialization constant for non-V20 cards.
|
||||
*/
|
||||
#if !defined(SDC_INIT_OCR) || defined(__DOXYGEN__)
|
||||
#define SDC_INIT_OCR 0x80100000U
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* SERIAL driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Default bit rate.
|
||||
* @details Configuration parameter, this is the baud rate selected for the
|
||||
* default configuration.
|
||||
*/
|
||||
#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
|
||||
#define SERIAL_DEFAULT_BITRATE 38400
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Serial buffers size.
|
||||
* @details Configuration parameter, you can change the depth of the queue
|
||||
* buffers depending on the requirements of your application.
|
||||
* @note The default is 16 bytes for both the transmission and receive
|
||||
* buffers.
|
||||
*/
|
||||
#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
|
||||
#define SERIAL_BUFFERS_SIZE 16
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* SERIAL_USB driver related setting. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Serial over USB buffers size.
|
||||
* @details Configuration parameter, the buffer size must be a multiple of
|
||||
* the USB data endpoint maximum packet size.
|
||||
* @note The default is 256 bytes for both the transmission and receive
|
||||
* buffers.
|
||||
*/
|
||||
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
|
||||
#define SERIAL_USB_BUFFERS_SIZE 1
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Serial over USB number of buffers.
|
||||
* @note The default is 2 buffers.
|
||||
*/
|
||||
#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
|
||||
#define SERIAL_USB_BUFFERS_NUMBER 2
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* SPI driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define SPI_USE_WAIT TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables circular transfers APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(SPI_USE_CIRCULAR) || defined(__DOXYGEN__)
|
||||
#define SPI_USE_CIRCULAR FALSE
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
||||
#define SPI_USE_MUTUAL_EXCLUSION TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Handling method for SPI CS line.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(SPI_SELECT_MODE) || defined(__DOXYGEN__)
|
||||
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* UART driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define UART_USE_WAIT FALSE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
||||
#define UART_USE_MUTUAL_EXCLUSION FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* USB driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define USB_USE_WAIT TRUE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* WSPI driver related settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Enables synchronous APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(WSPI_USE_WAIT) || defined(__DOXYGEN__)
|
||||
#define WSPI_USE_WAIT TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enables the @p wspiAcquireBus() and @p wspiReleaseBus() APIs.
|
||||
* @note Disabling this option saves both code and data space.
|
||||
*/
|
||||
#if !defined(WSPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
||||
#define WSPI_USE_MUTUAL_EXCLUSION TRUE
|
||||
#endif
|
||||
|
||||
#endif /* HALCONF_H */
|
||||
|
||||
/** @} */
|
||||
84
keyboards/misterknife/knife66_iso/info.json
Normal file
84
keyboards/misterknife/knife66_iso/info.json
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"keyboard_name": "Knife66_iso",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 16.5,
|
||||
"height": 5.25,
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{ "x": 0, "y": 0 },
|
||||
{ "x": 1, "y": 0 },
|
||||
{ "x": 2, "y": 0 },
|
||||
{ "x": 3, "y": 0 },
|
||||
{ "x": 4, "y": 0 },
|
||||
{ "x": 5, "y": 0 },
|
||||
{ "x": 6, "y": 0 },
|
||||
{ "x": 7, "y": 0 },
|
||||
{ "x": 8, "y": 0 },
|
||||
{ "x": 9, "y": 0 },
|
||||
{ "x": 10, "y": 0 },
|
||||
{ "x": 11, "y": 0 },
|
||||
{ "x": 12, "y": 0 },
|
||||
{ "x": 13, "y": 0 },
|
||||
{ "x": 14, "y": 0 },
|
||||
{ "x": 15.5, "y": 0 },
|
||||
{ "x": 0, "y": 1, "w": 1.5 },
|
||||
{ "x": 1.5, "y": 1 },
|
||||
{ "x": 2.5, "y": 1 },
|
||||
{ "x": 3.5, "y": 1 },
|
||||
{ "x": 4.5, "y": 1 },
|
||||
{ "x": 5.5, "y": 1 },
|
||||
{ "x": 6.5, "y": 1 },
|
||||
{ "x": 7.5, "y": 1 },
|
||||
{ "x": 8.5, "y": 1 },
|
||||
{ "x": 9.5, "y": 1 },
|
||||
{ "x": 10.5, "y": 1 },
|
||||
{ "x": 11.5, "y": 1 },
|
||||
{ "x": 12.5, "y": 1 },
|
||||
{ "x": 15.5, "y": 1 },
|
||||
{ "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "x": 1.75, "y": 2 },
|
||||
{ "x": 2.75, "y": 2 },
|
||||
{ "x": 3.75, "y": 2 },
|
||||
{ "x": 4.75, "y": 2 },
|
||||
{ "x": 5.75, "y": 2 },
|
||||
{ "x": 6.75, "y": 2 },
|
||||
{ "x": 7.75, "y": 2 },
|
||||
{ "x": 8.75, "y": 2 },
|
||||
{ "x": 9.75, "y": 2 },
|
||||
{ "x": 10.75, "y": 2 },
|
||||
{ "x": 11.75, "y": 2 },
|
||||
{ "x": 12.75, "y": 2 },
|
||||
{ "x": 13.75, "y": 1, "w": 1.25, "h": 2 },
|
||||
{ "x": 15.5, "y": 2 },
|
||||
{ "x": 0, "y": 3, "w": 1.25 },
|
||||
{ "x": 1.25, "y": 3 },
|
||||
{ "x": 2.25, "y": 3 },
|
||||
{ "x": 3.25, "y": 3 },
|
||||
{ "x": 4.25, "y": 3 },
|
||||
{ "x": 5.25, "y": 3 },
|
||||
{ "x": 6.25, "y": 3 },
|
||||
{ "x": 7.25, "y": 3 },
|
||||
{ "x": 8.25, "y": 3 },
|
||||
{ "x": 9.25, "y": 3 },
|
||||
{ "x": 10.25, "y": 3 },
|
||||
{ "x": 11.25, "y": 3 },
|
||||
{ "x": 12.25, "y": 3, "w": 1.75 },
|
||||
{ "x": 14.25, "y": 3.25 },
|
||||
{ "x": 15.5, "y": 3 },
|
||||
{ "x": 0, "y": 4, "w": 1.25 },
|
||||
{ "x": 2.25, "y": 4 },
|
||||
{ "x": 3.25, "y": 4, "w": 1.25 },
|
||||
{ "x": 4.5, "y": 4, "w": 2.25 },
|
||||
{ "x": 6.75, "y": 4, "w": 2.75 },
|
||||
{ "x": 9.5, "y": 4, "w": 1.25 },
|
||||
{ "x": 10.75, "y": 4 },
|
||||
{ "x": 11.75, "y": 4, "w": 1.25 },
|
||||
{ "x": 13.25, "y": 4.25 },
|
||||
{ "x": 14.25, "y": 4.25 },
|
||||
{ "x": 15.25, "y": 4.25 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
45
keyboards/misterknife/knife66_iso/keymaps/default/keymap.c
Normal file
45
keyboards/misterknife/knife66_iso/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
Copyright 2020 Thierry Kleist
|
||||
|
||||
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
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_all(
|
||||
KC_GESC, 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_DEL, KC_BSPC, KC_HOME,
|
||||
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_END,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_PGUP,
|
||||
KC_LSFT, KC_GRAVE, 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_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[_FN] = LAYOUT_all(
|
||||
KC_TRNS, 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_TRNS, KC_TRNS, RGB_TOG,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, RGB_MOD,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, RGB_SPI,
|
||||
KC_CAPS, 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_VOLU, RGB_SPD,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_TRNS ),
|
||||
};
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
void keyboard_post_init_user(void) {
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_SWIRL+1);
|
||||
}
|
||||
#endif
|
||||
17
keyboards/misterknife/knife66_iso/knife66_iso.c
Normal file
17
keyboards/misterknife/knife66_iso/knife66_iso.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2020 Thierry Kleist
|
||||
*
|
||||
* 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 "knife66_iso.h"
|
||||
35
keyboards/misterknife/knife66_iso/knife66_iso.h
Normal file
35
keyboards/misterknife/knife66_iso/knife66_iso.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* Copyright 2020 Thierry Kleist
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define ____ KC_NO
|
||||
|
||||
#define LAYOUT_all( \
|
||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K114, \
|
||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K214, \
|
||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K113, K314, \
|
||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K414, \
|
||||
K400, K401, K402, K404, K407, K408, K409, K410, K411, K412, K413 \
|
||||
) { \
|
||||
{ K000, K001, 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, K114 }, \
|
||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, ____, K214 }, \
|
||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \
|
||||
{ K400, K401, K402, ____, K404, ____, ____, K407, K408, K409, K410, K411, K412, K413, K414 } \
|
||||
}
|
||||
176
keyboards/misterknife/knife66_iso/mcuconf.h
Normal file
176
keyboards/misterknife/knife66_iso/mcuconf.h
Normal file
@@ -0,0 +1,176 @@
|
||||
/*
|
||||
ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _MCUCONF_H_
|
||||
#define _MCUCONF_H_
|
||||
|
||||
/*
|
||||
* STM32F0xx drivers configuration.
|
||||
* The following settings override the default settings present in
|
||||
* the various device driver implementation headers.
|
||||
* Note that the settings for each driver only have effect if the whole
|
||||
* driver is enabled in halconf.h.
|
||||
*
|
||||
* IRQ priorities:
|
||||
* 3...0 Lowest...Highest.
|
||||
*
|
||||
* DMA priorities:
|
||||
* 0...3 Lowest...Highest.
|
||||
*/
|
||||
|
||||
#define STM32F0xx_MCUCONF
|
||||
// #define STM32F070xB
|
||||
|
||||
/*
|
||||
* HAL driver system settings.
|
||||
*/
|
||||
#define STM32_NO_INIT FALSE
|
||||
#define STM32_PVD_ENABLE FALSE
|
||||
#define STM32_PLS STM32_PLS_LEV0
|
||||
#define STM32_HSI_ENABLED TRUE
|
||||
#define STM32_HSI14_ENABLED TRUE
|
||||
#define STM32_HSI48_ENABLED FALSE
|
||||
#define STM32_LSI_ENABLED TRUE
|
||||
#define STM32_HSE_ENABLED FALSE
|
||||
#define STM32_LSE_ENABLED FALSE
|
||||
#define STM32_SW STM32_SW_PLL
|
||||
#define STM32_PLLSRC STM32_PLLSRC_HSI_DIV2
|
||||
#define STM32_PREDIV_VALUE 1
|
||||
#define STM32_PLLMUL_VALUE 12
|
||||
#define STM32_HPRE STM32_HPRE_DIV1
|
||||
#define STM32_PPRE STM32_PPRE_DIV1
|
||||
#define STM32_ADCSW STM32_ADCSW_HSI14
|
||||
#define STM32_ADCPRE STM32_ADCPRE_DIV4
|
||||
#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
|
||||
#define STM32_ADCPRE STM32_ADCPRE_DIV4
|
||||
#define STM32_ADCSW STM32_ADCSW_HSI14
|
||||
#define STM32_USBSW STM32_USBSW_HSI48
|
||||
#define STM32_CECSW STM32_CECSW_HSI
|
||||
#define STM32_I2C1SW STM32_I2C1SW_HSI
|
||||
#define STM32_USART1SW STM32_USART1SW_PCLK
|
||||
#define STM32_RTCSEL STM32_RTCSEL_LSI
|
||||
|
||||
/*
|
||||
* ADC driver system settings.
|
||||
*/
|
||||
#define STM32_ADC_USE_ADC1 FALSE
|
||||
#define STM32_ADC_ADC1_DMA_PRIORITY 2
|
||||
#define STM32_ADC_IRQ_PRIORITY 2
|
||||
#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 2
|
||||
|
||||
/*
|
||||
* EXT driver system settings.
|
||||
*/
|
||||
#define STM32_EXT_EXTI0_1_IRQ_PRIORITY 3
|
||||
#define STM32_EXT_EXTI2_3_IRQ_PRIORITY 3
|
||||
#define STM32_EXT_EXTI4_15_IRQ_PRIORITY 3
|
||||
#define STM32_EXT_EXTI16_IRQ_PRIORITY 3
|
||||
#define STM32_EXT_EXTI17_IRQ_PRIORITY 3
|
||||
|
||||
/*
|
||||
* GPT driver system settings.
|
||||
*/
|
||||
#define STM32_GPT_USE_TIM1 FALSE
|
||||
#define STM32_GPT_USE_TIM2 FALSE
|
||||
#define STM32_GPT_USE_TIM3 FALSE
|
||||
#define STM32_GPT_USE_TIM14 FALSE
|
||||
#define STM32_GPT_TIM1_IRQ_PRIORITY 2
|
||||
#define STM32_GPT_TIM2_IRQ_PRIORITY 2
|
||||
#define STM32_GPT_TIM3_IRQ_PRIORITY 2
|
||||
#define STM32_GPT_TIM14_IRQ_PRIORITY 2
|
||||
|
||||
/*
|
||||
* I2C driver system settings.
|
||||
*/
|
||||
#define STM32_I2C_USE_I2C1 TRUE
|
||||
#define STM32_I2C_USE_I2C2 FALSE
|
||||
#define STM32_I2C_BUSY_TIMEOUT 50
|
||||
#define STM32_I2C_I2C1_IRQ_PRIORITY 3
|
||||
#define STM32_I2C_I2C2_IRQ_PRIORITY 3
|
||||
#define STM32_I2C_USE_DMA TRUE
|
||||
#define STM32_I2C_I2C1_DMA_PRIORITY 1
|
||||
#define STM32_I2C_I2C2_DMA_PRIORITY 1
|
||||
#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
|
||||
#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
|
||||
#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
|
||||
|
||||
/*
|
||||
* ICU driver system settings.
|
||||
*/
|
||||
#define STM32_ICU_USE_TIM1 FALSE
|
||||
#define STM32_ICU_USE_TIM2 FALSE
|
||||
#define STM32_ICU_USE_TIM3 FALSE
|
||||
#define STM32_ICU_TIM1_IRQ_PRIORITY 3
|
||||
#define STM32_ICU_TIM2_IRQ_PRIORITY 3
|
||||
#define STM32_ICU_TIM3_IRQ_PRIORITY 3
|
||||
|
||||
/*
|
||||
* PWM driver system settings.
|
||||
*/
|
||||
#define STM32_PWM_USE_ADVANCED FALSE
|
||||
#define STM32_PWM_USE_TIM1 TRUE
|
||||
#define STM32_PWM_USE_TIM2 FALSE
|
||||
#define STM32_PWM_USE_TIM3 FALSE
|
||||
#define STM32_PWM_TIM1_IRQ_PRIORITY 3
|
||||
#define STM32_PWM_TIM2_IRQ_PRIORITY 3
|
||||
#define STM32_PWM_TIM3_IRQ_PRIORITY 3
|
||||
|
||||
/*
|
||||
* SERIAL driver system settings.
|
||||
*/
|
||||
#define STM32_SERIAL_USE_USART1 FALSE
|
||||
#define STM32_SERIAL_USE_USART2 FALSE
|
||||
#define STM32_SERIAL_USART1_PRIORITY 3
|
||||
#define STM32_SERIAL_USART2_PRIORITY 3
|
||||
|
||||
/*
|
||||
* SPI driver system settings.
|
||||
*/
|
||||
#define STM32_SPI_USE_SPI1 FALSE
|
||||
#define STM32_SPI_USE_SPI2 TRUE
|
||||
#define STM32_SPI_SPI1_DMA_PRIORITY 1
|
||||
#define STM32_SPI_SPI2_DMA_PRIORITY 1
|
||||
#define STM32_SPI_SPI1_IRQ_PRIORITY 2
|
||||
#define STM32_SPI_SPI2_IRQ_PRIORITY 2
|
||||
#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
|
||||
#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
|
||||
#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
|
||||
|
||||
/*
|
||||
* ST driver system settings.
|
||||
*/
|
||||
#define STM32_ST_IRQ_PRIORITY 2
|
||||
#define STM32_ST_USE_TIMER 2
|
||||
|
||||
/*
|
||||
* UART driver system settings.
|
||||
*/
|
||||
#define STM32_UART_USE_USART1 FALSE
|
||||
#define STM32_UART_USE_USART2 FALSE
|
||||
#define STM32_UART_USART1_IRQ_PRIORITY 3
|
||||
#define STM32_UART_USART2_IRQ_PRIORITY 3
|
||||
#define STM32_UART_USART1_DMA_PRIORITY 0
|
||||
#define STM32_UART_USART2_DMA_PRIORITY 0
|
||||
#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
|
||||
|
||||
/*
|
||||
* USB driver system settings.
|
||||
*/
|
||||
#define STM32_USB_USE_USB1 TRUE
|
||||
#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
|
||||
#define STM32_USB_USB1_LP_IRQ_PRIORITY 3
|
||||
|
||||
#endif /* _MCUCONF_H_ */
|
||||
18
keyboards/misterknife/knife66_iso/readme.md
Normal file
18
keyboards/misterknife/knife66_iso/readme.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# Knife66 ISO
|
||||
|
||||

|
||||
|
||||
This is a replacement board for the CA66 keyboard
|
||||
|
||||
* Keyboard Maintainer: [afewyards](https://github.com/afewyards)
|
||||
* Hardware Availability: [Geekhack](https://geekhack.org/index.php?topic=107331.0)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make misterknife/knife66_iso:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make misterknife/knife66_iso: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).
|
||||
23
keyboards/misterknife/knife66_iso/rules.mk
Normal file
23
keyboards/misterknife/knife66_iso/rules.mk
Normal file
@@ -0,0 +1,23 @@
|
||||
# MCU name
|
||||
MCU = STM32F072
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
WS2812_DRIVER = pwm
|
||||
@@ -6,7 +6,6 @@ MCU = STM32F303
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
|
||||
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
#
|
||||
BACKLIGHT_ENABLE = no
|
||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
|
||||
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
|
||||
@@ -6,7 +6,6 @@ MCU = STM32F303
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
|
||||
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
|
||||
74
keyboards/playkbtw/helen80/config.h
Normal file
74
keyboards/playkbtw/helen80/config.h
Normal file
@@ -0,0 +1,74 @@
|
||||
/* Copyright 2020 Play Keyboard
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x706B
|
||||
#define PRODUCT_ID 0x4845
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Play Keyboard
|
||||
#define PRODUCT Helen 80
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 15
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { E6, B7, D4, F0, D6, D7 }
|
||||
#define MATRIX_COL_PINS { D1, D0, F7, F6, F5, D5, D3, D2, C7, C6, B5, F4, F1, B4, B0 }
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define BACKLIGHT_PIN B6
|
||||
// #define BACKLIGHT_BREATHING
|
||||
#define BACKLIGHT_LEVELS 3
|
||||
|
||||
#define RGB_DI_PIN E2
|
||||
#ifdef RGB_DI_PIN
|
||||
#define RGBLED_NUM 87
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_LIMIT_VAL 180 /* The maximum brightness level */
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== all animations enable ==*/
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
// /*== or choose animations ==*/
|
||||
// #define RGBLIGHT_EFFECT_BREATHING
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
// #define RGBLIGHT_EFFECT_SNAKE
|
||||
// #define RGBLIGHT_EFFECT_KNIGHT
|
||||
// #define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
// #define RGBLIGHT_EFFECT_RGB_TEST
|
||||
// #define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#endif
|
||||
|
||||
// generated by KBFirmware JSON to QMK Parser
|
||||
// https://noroadsleft.github.io/kbf_qmk_converter/
|
||||
20
keyboards/playkbtw/helen80/helen80.c
Normal file
20
keyboards/playkbtw/helen80/helen80.c
Normal file
@@ -0,0 +1,20 @@
|
||||
/* Copyright 2020 Play Keyboard
|
||||
*
|
||||
* 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 "helen80.h"
|
||||
|
||||
// generated by KBFirmware JSON to QMK Parser
|
||||
// https://noroadsleft.github.io/kbf_qmk_converter/
|
||||
38
keyboards/playkbtw/helen80/helen80.h
Normal file
38
keyboards/playkbtw/helen80/helen80.h
Normal file
@@ -0,0 +1,38 @@
|
||||
/* Copyright 2020 Play Keyboard
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_tkl_ansi( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K3D, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K5B, K5C, K3E, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K5D, K5E, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, \
|
||||
K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C }, \
|
||||
{ K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, K5E }, \
|
||||
}
|
||||
|
||||
// generated by KBFirmware JSON to QMK Parser
|
||||
// https://noroadsleft.github.io/kbf_qmk_converter/
|
||||
101
keyboards/playkbtw/helen80/info.json
Normal file
101
keyboards/playkbtw/helen80/info.json
Normal file
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"keyboard_name": "helen80",
|
||||
"url": "",
|
||||
"maintainer": "yj7272098",
|
||||
"width": 18.25,
|
||||
"height": 6.5,
|
||||
"layouts": {
|
||||
"LAYOUT_tkl_ansi": {
|
||||
"layout": [
|
||||
{"label":"K00 (E6,D1)", "x":0, "y":0},
|
||||
{"label":"K01 (E6,D0)", "x":2, "y":0},
|
||||
{"label":"K02 (E6,F7)", "x":3, "y":0},
|
||||
{"label":"K03 (E6,F6)", "x":4, "y":0},
|
||||
{"label":"K04 (E6,F5)", "x":5, "y":0},
|
||||
{"label":"K05 (E6,D5)", "x":6.5, "y":0},
|
||||
{"label":"K06 (E6,D3)", "x":7.5, "y":0},
|
||||
{"label":"K07 (E6,D2)", "x":8.5, "y":0},
|
||||
{"label":"K08 (E6,C7)", "x":9.5, "y":0},
|
||||
{"label":"K09 (E6,C6)", "x":11, "y":0},
|
||||
{"label":"K0A (E6,B5)", "x":12, "y":0},
|
||||
{"label":"K0B (E6,F4)", "x":13, "y":0},
|
||||
{"label":"K0C (E6,F1)", "x":14, "y":0},
|
||||
{"label":"K0D (E6,B4)", "x":15.25, "y":0},
|
||||
{"label":"K0E (E6,B0)", "x":16.25, "y":0},
|
||||
{"label":"K3D (F0,B4)", "x":17.25, "y":0},
|
||||
{"label":"K10 (B7,D1)", "x":0, "y":1.5},
|
||||
{"label":"K11 (B7,D0)", "x":1, "y":1.5},
|
||||
{"label":"K12 (B7,F7)", "x":2, "y":1.5},
|
||||
{"label":"K13 (B7,F6)", "x":3, "y":1.5},
|
||||
{"label":"K14 (B7,F5)", "x":4, "y":1.5},
|
||||
{"label":"K15 (B7,D5)", "x":5, "y":1.5},
|
||||
{"label":"K16 (B7,D3)", "x":6, "y":1.5},
|
||||
{"label":"K17 (B7,D2)", "x":7, "y":1.5},
|
||||
{"label":"K18 (B7,C7)", "x":8, "y":1.5},
|
||||
{"label":"K19 (B7,C6)", "x":9, "y":1.5},
|
||||
{"label":"K1A (B7,B5)", "x":10, "y":1.5},
|
||||
{"label":"K1B (B7,F4)", "x":11, "y":1.5},
|
||||
{"label":"K1C (B7,F1)", "x":12, "y":1.5},
|
||||
{"label":"K1E (B7,B0)", "x":13, "y":1.5, "w":2},
|
||||
{"label":"K5B (D7,F4)", "x":15.25, "y":1.5},
|
||||
{"label":"K5C (D7,F1)", "x":16.25, "y":1.5},
|
||||
{"label":"K3E (F0,B0)", "x":17.25, "y":1.5},
|
||||
{"label":"K20 (D4,D1)", "x":0, "y":2.5, "w":1.5},
|
||||
{"label":"K21 (D4,D0)", "x":1.5, "y":2.5},
|
||||
{"label":"K22 (D4,F7)", "x":2.5, "y":2.5},
|
||||
{"label":"K23 (D4,F6)", "x":3.5, "y":2.5},
|
||||
{"label":"K24 (D4,F5)", "x":4.5, "y":2.5},
|
||||
{"label":"K25 (D4,D5)", "x":5.5, "y":2.5},
|
||||
{"label":"K26 (D4,D3)", "x":6.5, "y":2.5},
|
||||
{"label":"K27 (D4,D2)", "x":7.5, "y":2.5},
|
||||
{"label":"K28 (D4,C7)", "x":8.5, "y":2.5},
|
||||
{"label":"K29 (D4,C6)", "x":9.5, "y":2.5},
|
||||
{"label":"K2A (D4,B5)", "x":10.5, "y":2.5},
|
||||
{"label":"K2B (D4,F4)", "x":11.5, "y":2.5},
|
||||
{"label":"K2C (D4,F1)", "x":12.5, "y":2.5},
|
||||
{"label":"K2D (D4,B4)", "x":13.5, "y":2.5, "w":1.5},
|
||||
{"label":"K2E (D4,B0)", "x":15.25, "y":2.5},
|
||||
{"label":"K5D (D7,B4)", "x":16.25, "y":2.5},
|
||||
{"label":"K5E (D7,B0)", "x":17.25, "y":2.5},
|
||||
{"label":"K30 (F0,D1)", "x":0, "y":3.5, "w":1.75},
|
||||
{"label":"K31 (F0,D0)", "x":1.75, "y":3.5},
|
||||
{"label":"K32 (F0,F7)", "x":2.75, "y":3.5},
|
||||
{"label":"K33 (F0,F6)", "x":3.75, "y":3.5},
|
||||
{"label":"K34 (F0,F5)", "x":4.75, "y":3.5},
|
||||
{"label":"K35 (F0,D5)", "x":5.75, "y":3.5},
|
||||
{"label":"K36 (F0,D3)", "x":6.75, "y":3.5},
|
||||
{"label":"K37 (F0,D2)", "x":7.75, "y":3.5},
|
||||
{"label":"K38 (F0,C7)", "x":8.75, "y":3.5},
|
||||
{"label":"K39 (F0,C6)", "x":9.75, "y":3.5},
|
||||
{"label":"K3A (F0,B5)", "x":10.75, "y":3.5},
|
||||
{"label":"K3B (F0,F4)", "x":11.75, "y":3.5},
|
||||
{"label":"K3C (F0,F1)", "x":12.75, "y":3.5, "w":2.25},
|
||||
{"label":"K40 (D6,D1)", "x":0, "y":4.5, "w":2.25},
|
||||
{"label":"K42 (D6,F7)", "x":2.25, "y":4.5},
|
||||
{"label":"K43 (D6,F6)", "x":3.25, "y":4.5},
|
||||
{"label":"K44 (D6,F5)", "x":4.25, "y":4.5},
|
||||
{"label":"K45 (D6,D5)", "x":5.25, "y":4.5},
|
||||
{"label":"K46 (D6,D3)", "x":6.25, "y":4.5},
|
||||
{"label":"K47 (D6,D2)", "x":7.25, "y":4.5},
|
||||
{"label":"K48 (D6,C7)", "x":8.25, "y":4.5},
|
||||
{"label":"K49 (D6,C6)", "x":9.25, "y":4.5},
|
||||
{"label":"K4A (D6,B5)", "x":10.25, "y":4.5},
|
||||
{"label":"K4B (D6,F4)", "x":11.25, "y":4.5},
|
||||
{"label":"K4C (D6,F1)", "x":12.25, "y":4.5, "w":2.75},
|
||||
{"label":"K4E (D6,B0)", "x":16.25, "y":4.5},
|
||||
{"label":"K50 (D7,D1)", "x":0, "y":5.5, "w":1.25},
|
||||
{"label":"K51 (D7,D0)", "x":1.25, "y":5.5, "w":1.25},
|
||||
{"label":"K52 (D7,F7)", "x":2.5, "y":5.5, "w":1.25},
|
||||
{"label":"K53 (D7,F6)", "x":3.75, "y":5.5, "w":6.25},
|
||||
{"label":"K54 (D7,F5)", "x":10, "y":5.5, "w":1.25},
|
||||
{"label":"K55 (D7,D5)", "x":11.25, "y":5.5, "w":1.25},
|
||||
{"label":"K56 (D7,D3)", "x":12.5, "y":5.5, "w":1.25},
|
||||
{"label":"K57 (D7,D2)", "x":13.75, "y":5.5, "w":1.25},
|
||||
{"label":"K58 (D7,C7)", "x":15.25, "y":5.5},
|
||||
{"label":"K59 (D7,C6)", "x":16.25, "y":5.5},
|
||||
{"label":"K5A (D7,B5)", "x":17.25, "y":5.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
|
||||
}
|
||||
44
keyboards/playkbtw/helen80/keymaps/default/keymap.c
Normal file
44
keyboards/playkbtw/helen80/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,44 @@
|
||||
/* Copyright 2020 Play Keyboard
|
||||
*
|
||||
* 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
|
||||
|
||||
enum _layer {
|
||||
_BASE,
|
||||
_RGB
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_BASE] = LAYOUT_tkl_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_PSCR, KC_SLCK, KC_PAUS,
|
||||
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_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_RGB),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_RGB] = LAYOUT_tkl_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______,
|
||||
_______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
||||
3
keyboards/playkbtw/helen80/keymaps/default/readme.md
Normal file
3
keyboards/playkbtw/helen80/keymaps/default/readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Default Helen 80 Layout
|
||||
|
||||
This is the default tkl_ansi layout that comes flashed on every Helen 80.
|
||||
44
keyboards/playkbtw/helen80/keymaps/via/keymap.c
Normal file
44
keyboards/playkbtw/helen80/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,44 @@
|
||||
/* Copyright 2020 Play Keyboard
|
||||
*
|
||||
* 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
|
||||
|
||||
enum _layer {
|
||||
_BASE,
|
||||
_RGB
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_BASE] = LAYOUT_tkl_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_PSCR, KC_SLCK, KC_PAUS,
|
||||
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_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_RGB),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_RGB] = LAYOUT_tkl_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______,
|
||||
_______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
||||
2
keyboards/playkbtw/helen80/keymaps/via/rules.mk
Normal file
2
keyboards/playkbtw/helen80/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
LTO_ENABLE = yes
|
||||
VIA_ENABLE = yes
|
||||
17
keyboards/playkbtw/helen80/readme.md
Normal file
17
keyboards/playkbtw/helen80/readme.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Helen 80
|
||||
|
||||

|
||||
|
||||
A 80% RGB hotswap keyboard kit made by Play Keyboard.
|
||||
|
||||
* Keyboard Maintainer: [Barry Huang](https://github.com/yj7272098)
|
||||
* Hardware Supported: Helen 80
|
||||
* Hardware Availability: [Play Keyboard](http://play-keyboard.store/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make playkbtw/helen80:default
|
||||
|
||||
You can get into bootloader by pressing the reset button from the back of PCB.
|
||||
|
||||
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).
|
||||
30
keyboards/playkbtw/helen80/rules.mk
Normal file
30
keyboards/playkbtw/helen80/rules.mk
Normal file
@@ -0,0 +1,30 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
LTO_ENABLE = yes
|
||||
|
||||
KEY_LOCK_ENABLE = no # Enable KC_LOCK support
|
||||
|
||||
LAYOUTS = tkl_ansi
|
||||
|
||||
# generated by KBFirmware JSON to QMK Parser
|
||||
# https://noroadsleft.github.io/kbf_qmk_converter/
|
||||
@@ -6,7 +6,6 @@ MCU = STM32F303
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
|
||||
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
|
||||
@@ -20,8 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x6955
|
||||
#define PRODUCT_ID 0x2073
|
||||
#define VENDOR_ID 0x1209
|
||||
#define PRODUCT_ID 0x6969
|
||||
#define MANUFACTURER ibnuda
|
||||
#define PRODUCT squiggle
|
||||
|
||||
|
||||
25
keyboards/squiggle/keymaps/default38/config.h
Normal file
25
keyboards/squiggle/keymaps/default38/config.h
Normal file
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.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 COMBO_TERM 100
|
||||
#define COMBO_COUNT 38
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
#define PERMISSIVE_HOLD
|
||||
157
keyboards/squiggle/keymaps/default38/keymap.c
Normal file
157
keyboards/squiggle/keymaps/default38/keymap.c
Normal file
@@ -0,0 +1,157 @@
|
||||
/* Copyright 2020 Ibnu D. Aji
|
||||
*
|
||||
* 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
|
||||
|
||||
// enum for combos.
|
||||
enum combos {
|
||||
// left hand combinations.
|
||||
Q_W,
|
||||
W_E,
|
||||
E_R,
|
||||
Z_X,
|
||||
C_X,
|
||||
C_V,
|
||||
|
||||
// right hand combinations.
|
||||
P_O,
|
||||
O_U,
|
||||
U_I,
|
||||
SLASH_DOT,
|
||||
DOT_COMMA,
|
||||
COMMA_M,
|
||||
|
||||
// both hands combinations.
|
||||
SLASH_Z,
|
||||
COMMA_X,
|
||||
J_F,
|
||||
};
|
||||
|
||||
enum {
|
||||
_BASE,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
};
|
||||
|
||||
// thumb keys.
|
||||
#define ALT_ENT ALT_T(KC_ENT)
|
||||
#define SFT_ESC SFT_T(KC_ESC)
|
||||
|
||||
// home row mods.
|
||||
#define CT_S RCTL_T(KC_S)
|
||||
#define CT_L RCTL_T(KC_L)
|
||||
#define SH_A RSFT_T(KC_A)
|
||||
#define SH_SCLN RSFT_T(KC_SCLN)
|
||||
#define AL_D RALT_T(KC_D)
|
||||
#define AL_K RALT_T(KC_K)
|
||||
#define GU_G RGUI_T(KC_G)
|
||||
#define GU_H RGUI_T(KC_H)
|
||||
|
||||
// layer toggle.
|
||||
#define LW_BSPC LT(_LOWER, KC_BSPC)
|
||||
#define RS_SPC LT(_RAISE, KC_SPC)
|
||||
|
||||
// idk, man. not used, i guess.
|
||||
#define RAISE MO(_RAISE)
|
||||
#define LOWER MO(_LOWER)
|
||||
#define ADDDD MO(_ADJUST)
|
||||
#define MUIS MO(_MUIS)
|
||||
|
||||
// common shortcuts for windows and linux that i use.
|
||||
#define NXTTAB LCTL(KC_PGDN)
|
||||
#define PRVTAB LCTL(KC_PGUP)
|
||||
#define UPTAB LCTL(LSFT(KC_PGUP))
|
||||
#define DNTAB LCTL(LSFT(KC_PGDN))
|
||||
#define NXTWIN LALT(KC_TAB)
|
||||
#define PRVWIN LALT(LSFT(KC_TAB))
|
||||
#define CALDL LCTL(LALT(KC_DELT))
|
||||
#define TSKMGR LCTL(LSFT(KC_ESC))
|
||||
#define EXPLR LGUI(KC_E)
|
||||
#define LCKGUI LGUI(KC_L)
|
||||
#define CONPST LSFT(KC_INS)
|
||||
#define CLSGUI LALT(KC_F4)
|
||||
|
||||
// left hand combinations.
|
||||
const uint16_t PROGMEM q_w_combo[] = {KC_Q, KC_W, COMBO_END};
|
||||
const uint16_t PROGMEM w_e_combo[] = {KC_W, KC_E, COMBO_END};
|
||||
const uint16_t PROGMEM e_r_combo[] = {KC_E, KC_R, COMBO_END};
|
||||
const uint16_t PROGMEM z_x_combo[] = {KC_Z, KC_X, COMBO_END};
|
||||
const uint16_t PROGMEM x_c_combo[] = {KC_X, KC_C, COMBO_END};
|
||||
const uint16_t PROGMEM c_v_combo[] = {KC_C, KC_V, COMBO_END};
|
||||
|
||||
// right hand combinations.
|
||||
const uint16_t PROGMEM p_o_combo[] = {KC_P, KC_O, COMBO_END};
|
||||
const uint16_t PROGMEM o_u_combo[] = {KC_O, KC_U, COMBO_END};
|
||||
const uint16_t PROGMEM u_i_combo[] = {KC_U, KC_I, COMBO_END};
|
||||
const uint16_t PROGMEM slash_dot_combo[] = {KC_SLSH, KC_DOT, COMBO_END};
|
||||
const uint16_t PROGMEM dot_comma_combo[] = {KC_DOT, KC_COMM,COMBO_END};
|
||||
const uint16_t PROGMEM comma_m_combo[] = {KC_COMM, KC_M, COMBO_END};
|
||||
|
||||
// both hand combinations.
|
||||
const uint16_t PROGMEM z_slash_combo[] = {KC_Z, KC_SLSH, COMBO_END};
|
||||
const uint16_t PROGMEM x_comma_combo[] = {KC_X, KC_COMM, COMBO_END};
|
||||
const uint16_t PROGMEM j_f_combo[] = {KC_F, KC_J, COMBO_END};
|
||||
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
// left hand combinations.
|
||||
[Q_W] = COMBO(q_w_combo, KC_TAB),
|
||||
[W_E] = COMBO(w_e_combo, KC_DQT),
|
||||
[E_R] = COMBO(e_r_combo, KC_UNDS),
|
||||
[Z_X] = COMBO(z_x_combo, KC_ENT),
|
||||
[C_X] = COMBO(x_c_combo, LCTL(KC_W)),
|
||||
[C_V] = COMBO(c_v_combo, KC_DELT),
|
||||
|
||||
// right hand combinations.
|
||||
[P_O] = COMBO(p_o_combo, KC_BSPC),
|
||||
[O_U] = COMBO(o_u_combo, KC_QUOT),
|
||||
[U_I] = COMBO(u_i_combo, KC_MINS),
|
||||
[SLASH_DOT] = COMBO(slash_dot_combo, KC_PIPE),
|
||||
[DOT_COMMA] = COMBO(dot_comma_combo, KC_APP),
|
||||
[COMMA_M] = COMBO(comma_m_combo, KC_DELT),
|
||||
|
||||
// both hand combinations.
|
||||
[SLASH_Z] = COMBO(z_slash_combo, KC_HOME),
|
||||
[COMMA_X] = COMBO(x_comma_combo, KC_END),
|
||||
[J_F] = COMBO(j_f_combo, KC_ENT),
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_thumbrow(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
SH_A, CT_S, AL_D, KC_F, GU_G, GU_H, KC_J, AL_K, CT_L, SH_SCLN,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,
|
||||
LOWER, KC_BSPC,KC_LSFT,KC_ESC, KC_ENT, KC_LALT,KC_SPC, RAISE
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_thumbrow(
|
||||
KC_EXLM,KC_AT, KC_UP, KC_LCBR,KC_RCBR, KC_BSLS,KC_7, KC_8, KC_9, KC_ASTR ,
|
||||
KC_HASH,KC_LEFT,KC_DOWN,KC_RGHT,KC_DLR, KC_EQL, KC_4, KC_5, KC_6, KC_0 ,
|
||||
KC_LBRC,KC_RBRC,KC_LPRN,KC_RPRN,KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_PLUS ,
|
||||
LOWER, ADDDD, _______,KC_ESC, KC_ENT, ALT_ENT,RS_SPC, RAISE
|
||||
),
|
||||
[_LOWER] = LAYOUT_thumbrow(
|
||||
KC_ESC, KC_QUES,KC_UNDS,KC_F1, KC_F2, KC_F3, KC_F4, KC_MINS,KC_SLSH,KC_BSPC ,
|
||||
KC_LSFT,KC_TAB, KC_PGUP,KC_F5, KC_F6, KC_F7, KC_F8, KC_HOME,KC_LALT,KC_ENT ,
|
||||
KC_CLCK,KC_SLCK,KC_PGDN,KC_F9, KC_F10, KC_F11, KC_F12, KC_END, KC_INS, KC_SLSH ,
|
||||
LOWER, ADDDD, _______,KC_ESC, KC_ENT, ALT_ENT,ADDDD, RAISE
|
||||
),
|
||||
[_ADJUST] = LAYOUT_thumbrow(
|
||||
_______,EXPLR, KC_UP, PRVTAB, PRVWIN, NXTWIN, NXTTAB, _______,_______,LCKGUI,
|
||||
TSKMGR, KC_LEFT,KC_DOWN,KC_RGHT,UPTAB, DNTAB, KC_ENT, KC_LGUI,_______,CALDL,
|
||||
_______,CLSGUI, _______,CONPST, RESET, _______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______
|
||||
),
|
||||
};
|
||||
6
keyboards/squiggle/keymaps/default38/readme.md
Normal file
6
keyboards/squiggle/keymaps/default38/readme.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# The default keymap for squiggle with thumb row
|
||||
|
||||
Because of the key count in this board is less than 40, it uses combo
|
||||
extensively.
|
||||
For example, to input `KC_TAB`, you have to press `KC_Q` and `KC_W`
|
||||
simultaneously.
|
||||
1
keyboards/squiggle/keymaps/default38/rules.mk
Normal file
1
keyboards/squiggle/keymaps/default38/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
COMBO_ENABLE = yes
|
||||
@@ -82,3 +82,20 @@
|
||||
{ R24, R23, R22, R21, R20 }, \
|
||||
{ ___, R33, R32, R31, R30 }, \
|
||||
}
|
||||
|
||||
#define LAYOUT_thumbrow(\
|
||||
L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
|
||||
L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
|
||||
L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
|
||||
L31, L32, L33, L34, R30, R31, R32, R33 \
|
||||
) \
|
||||
{ \
|
||||
{ L00, L01, L02, L03, L04 }, \
|
||||
{ L10, L11, L12, L13, L14 }, \
|
||||
{ L20, L21, L22, L23, L24 }, \
|
||||
{ ___, L31, L32, L33, L34 }, \
|
||||
{ R04, R03, R02, R01, R00 }, \
|
||||
{ R14, R13, R12, R11, R10 }, \
|
||||
{ R24, R23, R22, R21, R20 }, \
|
||||
{ ___, R33, R32, R31, R30 }, \
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ MCU = STM32F072
|
||||
LTO_ENABLE = yes
|
||||
BACKLIGHT_ENABLE = no
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
|
||||
@@ -8,7 +8,6 @@ MCU = STM32F072
|
||||
LTO_ENABLE = yes
|
||||
BACKLIGHT_ENABLE = no
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
|
||||
73
keyboards/tkc/portico/config.h
Normal file
73
keyboards/tkc/portico/config.h
Normal file
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
Copyright 2020 Terry Mathews
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x544B //TK
|
||||
#define PRODUCT_ID 0x0008
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER TKC
|
||||
#define PRODUCT Portico
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 15
|
||||
|
||||
#define MATRIX_ROW_PINS { B6, C6, C7, F7, D2 }
|
||||
#define MATRIX_COL_PINS { D3, D5, D4, D6, D7, B4, B5, F6, F5, F4, F1, B0, B1, B2, B3 }
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* disable these deprecated features by default */
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_MATRIX_LED_PROCESS_LIMIT 4
|
||||
# define RGB_MATRIX_LED_FLUSH_LIMIT 26
|
||||
# define DEBOUNCE 3
|
||||
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
|
||||
# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
|
||||
# define RGB_MATRIX_KEYPRESSES
|
||||
# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
# define DISABLE_RGB_MATRIX_BAND_SAT
|
||||
# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
# define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
# define DISABLE_RGB_MATRIX_SPLASH
|
||||
# define DISABLE_RGB_MATRIX_MULTISPLASH
|
||||
# define DISABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
# define DISABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
|
||||
# define DRIVER_ADDR_1 0x74
|
||||
# define DRIVER_ADDR_2 0x77
|
||||
# define DRIVER_COUNT 2
|
||||
# define DRIVER_1_LED_TOTAL 36
|
||||
# define DRIVER_2_LED_TOTAL 31
|
||||
# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
||||
#endif
|
||||
79
keyboards/tkc/portico/info.json
Normal file
79
keyboards/tkc/portico/info.json
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"keyboard_name": "TKC Portico",
|
||||
"url": "",
|
||||
"maintainer": "TerryMathews",
|
||||
"width": 16,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"~", "x":0, "y":0},
|
||||
{"label":"!", "x":1, "y":0},
|
||||
{"label":"@", "x":2, "y":0},
|
||||
{"label":"#", "x":3, "y":0},
|
||||
{"label":"$", "x":4, "y":0},
|
||||
{"label":"%", "x":5, "y":0},
|
||||
{"label":"^", "x":6, "y":0},
|
||||
{"label":"&", "x":7, "y":0},
|
||||
{"label":"*", "x":8, "y":0},
|
||||
{"label":"(", "x":9, "y":0},
|
||||
{"label":")", "x":10, "y":0},
|
||||
{"label":"_", "x":11, "y":0},
|
||||
{"label":"+", "x":12, "y":0},
|
||||
{"label":"Backspace", "x":13, "y":0, "w":2},
|
||||
{"label":"Home", "x":15, "y":0},
|
||||
{"label":"Tab", "x":0, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":1.5, "y":1},
|
||||
{"label":"W", "x":2.5, "y":1},
|
||||
{"label":"E", "x":3.5, "y":1},
|
||||
{"label":"R", "x":4.5, "y":1},
|
||||
{"label":"T", "x":5.5, "y":1},
|
||||
{"label":"Y", "x":6.5, "y":1},
|
||||
{"label":"U", "x":7.5, "y":1},
|
||||
{"label":"I", "x":8.5, "y":1},
|
||||
{"label":"O", "x":9.5, "y":1},
|
||||
{"label":"P", "x":10.5, "y":1},
|
||||
{"label":"{", "x":11.5, "y":1},
|
||||
{"label":"}", "x":12.5, "y":1},
|
||||
{"label":"|", "x":13.5, "y":1, "w":1.5},
|
||||
{"label":"PgUp", "x":15, "y":1},
|
||||
{"label":"Caps Lock", "x":0, "y":2, "w":1.75},
|
||||
{"label":"A", "x":1.75, "y":2},
|
||||
{"label":"S", "x":2.75, "y":2},
|
||||
{"label":"D", "x":3.75, "y":2},
|
||||
{"label":"F", "x":4.75, "y":2},
|
||||
{"label":"G", "x":5.75, "y":2},
|
||||
{"label":"H", "x":6.75, "y":2},
|
||||
{"label":"J", "x":7.75, "y":2},
|
||||
{"label":"K", "x":8.75, "y":2},
|
||||
{"label":"L", "x":9.75, "y":2},
|
||||
{"label":":", "x":10.75, "y":2},
|
||||
{"label":"\"", "x":11.75, "y":2},
|
||||
{"label":"Enter", "x":12.75, "y":2, "w":2.25},
|
||||
{"label":"PgDn", "x":15, "y":2},
|
||||
{"label":"Shift", "x":0, "y":3, "w":2.25},
|
||||
{"label":"Z", "x":2.25, "y":3},
|
||||
{"label":"X", "x":3.25, "y":3},
|
||||
{"label":"C", "x":4.25, "y":3},
|
||||
{"label":"V", "x":5.25, "y":3},
|
||||
{"label":"B", "x":6.25, "y":3},
|
||||
{"label":"N", "x":7.25, "y":3},
|
||||
{"label":"M", "x":8.25, "y":3},
|
||||
{"label":"<", "x":9.25, "y":3},
|
||||
{"label":">", "x":10.25, "y":3},
|
||||
{"label":"?", "x":11.25, "y":3},
|
||||
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
|
||||
{"label":"<i class='kb kb-Arrows-Up'></i>", "x":14, "y":3},
|
||||
{"label":"End", "x":15, "y":3},
|
||||
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
|
||||
{"label":"Win", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
|
||||
{"x":3.75, "y":4, "w":6.25},
|
||||
{"label":"Fn", "x":10, "y":4, "w":1.25},
|
||||
{"label":"Ctrl", "x":11.25, "y":4, "w":1.25},
|
||||
{"label":"<i class='kb kb-Arrows-Left'></i>", "x":13, "y":4},
|
||||
{"label":"<i class='kb kb-Arrows-Down'></i>", "x":14, "y":4},
|
||||
{"label":"<i class='kb kb-Arrows-Right'></i>", "x":15, "y":4}]
|
||||
}
|
||||
}
|
||||
}
|
||||
49
keyboards/tkc/portico/keymaps/default/keymap.c
Normal file
49
keyboards/tkc/portico/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
Copyright 2020 Terry Mathews
|
||||
|
||||
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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
||||
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_END,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
KC_GESC, 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_DEL, KC_HOME,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP,
|
||||
KC_CAPS, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, KC_PGDN,
|
||||
KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE,
|
||||
_______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
|
||||
),
|
||||
[2] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[3] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
49
keyboards/tkc/portico/keymaps/via/keymap.c
Normal file
49
keyboards/tkc/portico/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
Copyright 2020 Terry Mathews
|
||||
|
||||
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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
||||
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_END,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
KC_GESC, 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_DEL, KC_HOME,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP,
|
||||
KC_CAPS, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, KC_PGDN,
|
||||
KC_LSFT, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE,
|
||||
_______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
|
||||
),
|
||||
[2] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[3] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
2
keyboards/tkc/portico/keymaps/via/rules.mk
Normal file
2
keyboards/tkc/portico/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
139
keyboards/tkc/portico/portico.c
Normal file
139
keyboards/tkc/portico/portico.c
Normal file
@@ -0,0 +1,139 @@
|
||||
/*
|
||||
Copyright 2020 Terry Mathews
|
||||
|
||||
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 "portico.h"
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
|
||||
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
|
||||
{ 0, C2_1, C3_1, C4_1 },
|
||||
{ 0, C1_1, C3_2, C4_2 },
|
||||
{ 0, C1_2, C2_2, C4_3 },
|
||||
{ 0, C1_3, C2_3, C3_3 },
|
||||
{ 0, C1_4, C2_4, C3_4 },
|
||||
{ 0, C1_5, C2_5, C3_5 },
|
||||
{ 0, C1_6, C2_6, C3_6 },
|
||||
{ 0, C1_7, C2_7, C3_7 },
|
||||
{ 0, C1_8, C2_8, C3_8 },
|
||||
{ 1, C2_1, C3_1, C4_1 },
|
||||
{ 1, C1_1, C3_2, C4_2 },
|
||||
{ 1, C1_2, C2_2, C4_3 },
|
||||
{ 1, C1_3, C2_3, C3_3 },
|
||||
{ 1, C1_4, C2_4, C3_4 },
|
||||
{ 1, C1_5, C2_5, C3_5 },
|
||||
|
||||
{ 0, C9_1, C8_1, C7_1 },
|
||||
{ 0, C9_2, C8_2, C7_2 },
|
||||
{ 0, C9_3, C8_3, C7_3 },
|
||||
{ 0, C9_4, C8_4, C7_4 },
|
||||
{ 0, C9_5, C8_5, C7_5 },
|
||||
{ 0, C9_6, C8_6, C7_6 },
|
||||
{ 0, C9_7, C8_7, C6_6 },
|
||||
{ 0, C9_8, C7_7, C6_7 },
|
||||
{ 0, C8_8, C7_8, C6_8 },
|
||||
{ 1, C9_1, C8_1, C7_1 },
|
||||
{ 1, C9_2, C8_2, C7_2 },
|
||||
{ 1, C9_3, C8_3, C7_3 },
|
||||
{ 1, C9_4, C8_4, C7_4 },
|
||||
{ 1, C9_5, C8_5, C7_5 },
|
||||
{ 1, C9_6, C8_6, C7_6 },
|
||||
|
||||
{ 0, C1_9, C3_10, C4_10 },
|
||||
{ 0, C1_10, C2_10, C4_11 },
|
||||
{ 0, C1_11, C2_11, C3_11 },
|
||||
{ 0, C1_12, C2_12, C3_12 },
|
||||
{ 0, C1_13, C2_13, C3_13 },
|
||||
{ 0, C1_14, C2_14, C3_14 },
|
||||
{ 0, C1_15, C2_15, C3_15 },
|
||||
{ 0, C1_16, C2_16, C3_16 },
|
||||
{ 1, C1_10, C2_10, C4_11 },
|
||||
{ 1, C1_11, C2_11, C3_11 },
|
||||
{ 1, C1_12, C2_12, C3_12 },
|
||||
{ 1, C1_13, C2_13, C3_13 },
|
||||
{ 1, C1_14, C2_14, C3_14 },
|
||||
{ 1, C9_7, C8_7, C6_6 },
|
||||
|
||||
{ 0, C2_9, C3_9, C4_9 },
|
||||
{ 0, C9_12, C8_12, C7_12 },
|
||||
{ 0, C9_13, C8_13, C7_13 },
|
||||
{ 0, C9_14, C8_14, C7_14 },
|
||||
{ 0, C9_15, C8_15, C6_14 },
|
||||
{ 0, C9_16, C7_15, C6_15 },
|
||||
{ 1, C2_9, C3_9, C4_9 },
|
||||
{ 1, C1_9, C3_10, C4_10 },
|
||||
{ 1, C9_9, C8_9, C7_9 },
|
||||
{ 1, C9_10, C8_10, C7_10 },
|
||||
{ 1, C9_11, C8_11, C7_11 },
|
||||
{ 1, C9_14, C8_14, C7_14 },
|
||||
{ 1, C1_15, C2_15, C3_15 },
|
||||
{ 1, C1_16, C2_16, C3_16 },
|
||||
|
||||
{ 0, C9_9, C8_9, C7_9 },
|
||||
{ 0, C9_10, C8_10, C7_10 },
|
||||
{ 0, C9_11, C8_11, C7_11 },
|
||||
{ 0, C8_16, C7_16, C6_16 },
|
||||
{ 1, C9_12, C8_12, C7_12 },
|
||||
{ 1, C9_13, C8_13, C7_13 },
|
||||
{ 1, C9_15, C8_15, C6_14 },
|
||||
{ 1, C9_16, C7_15, C6_15 },
|
||||
{ 1, C8_16, C7_16, C6_16 }
|
||||
};
|
||||
|
||||
led_config_t g_led_config = {
|
||||
{
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
|
||||
{ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
|
||||
{ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, NO_LED, 43 },
|
||||
{ 44, NO_LED, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 },
|
||||
{ 58, 59, 60, NO_LED, NO_LED, NO_LED, 61, NO_LED, NO_LED, NO_LED, 62, 63, 64, 65, 66 }
|
||||
}, {
|
||||
{ 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 203, 0 }, { 224, 0 },
|
||||
{ 4, 16 }, { 23, 16 }, { 38, 16 }, { 53, 16 }, { 68, 16 }, { 83, 16 }, { 98, 16 }, { 113, 16 }, { 128, 16 }, { 143, 16 }, { 158, 16 }, { 173, 16 }, { 188, 16 }, { 206, 16 }, { 224, 16 },
|
||||
{ 6, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 201, 32 }, { 224, 32 },
|
||||
{ 9, 48 }, { 34, 48 }, { 49, 48 }, { 64, 48 }, { 79, 48 }, { 94, 48 }, { 109, 48 }, { 124, 48 }, { 139, 48 }, { 154, 48 }, { 169, 48 }, { 189, 48 }, { 210, 48 }, { 224, 48 },
|
||||
{ 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 152, 64 }, { 171, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 }
|
||||
}, {
|
||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||
4, 4, 4, 4, 4, 4, 4, 4, 4
|
||||
}
|
||||
};
|
||||
|
||||
void suspend_power_down_kb(void) {
|
||||
rgb_matrix_set_suspend_state(true);
|
||||
suspend_power_down_user();
|
||||
}
|
||||
|
||||
void suspend_wakeup_init_kb(void) {
|
||||
rgb_matrix_set_suspend_state(false);
|
||||
suspend_wakeup_init_user();
|
||||
}
|
||||
|
||||
void rgb_matrix_indicators_kb(void) {
|
||||
if (host_keyboard_led_state().caps_lock) {
|
||||
rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
|
||||
}
|
||||
else {
|
||||
rgb_matrix_set_color(30, 0x00, 0x00, 0x00);
|
||||
}
|
||||
if (!rgb_matrix_is_enabled()) {
|
||||
rgb_matrix_driver.flush();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
36
keyboards/tkc/portico/portico.h
Normal file
36
keyboards/tkc/portico/portico.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
Copyright 2020 Terry Mathews
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define XXX KC_NO
|
||||
|
||||
#define LAYOUT_all( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
|
||||
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
|
||||
K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E }, \
|
||||
{ K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||
{ K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, K4E } \
|
||||
}
|
||||
22
keyboards/tkc/portico/readme.md
Normal file
22
keyboards/tkc/portico/readme.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# TKC Portico
|
||||
|
||||

|
||||
|
||||
A 65% keyboard kit with per-key and underglow RGB lighting
|
||||
|
||||
* Keyboard Maintainer: [TerryMathews](https://github.com/TerryMathews)
|
||||
* Hardware Supported: TKC Portico
|
||||
* Hardware Availability: TBA
|
||||
|
||||
|
||||
Reset board into bootloader by holding down Esc key while plugging in USB-C cable.
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make tkc/portico:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make tkc/portico: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).
|
||||
24
keyboards/tkc/portico/rules.mk
Normal file
24
keyboards/tkc/portico/rules.mk
Normal file
@@ -0,0 +1,24 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # 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
|
||||
RGB_MATRIX_ENABLE = yes # Use RGB matrix
|
||||
RGB_MATRIX_DRIVER = IS31FL3731
|
||||
@@ -1,17 +1,17 @@
|
||||
/* Copyright 2020 Mika Kuitunen
|
||||
*
|
||||
* 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/>.
|
||||
/* Copyright 2020 Mika Kuitunen
|
||||
*
|
||||
* 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
|
||||
@@ -60,7 +60,6 @@ void encoder_update_user(uint8_t index, bool clockwise) {
|
||||
|
||||
#ifdef RGBLIGHT_LAYERS
|
||||
#define HUE_PRIMARY 10
|
||||
#define HSV_OFF 0, 0, 0
|
||||
#define HSV_CAPS HUE_PRIMARY, 255, 64
|
||||
#define HSV_LAYER_BASE HUE_PRIMARY, 255, 64
|
||||
#define HSV_LAYER_RGB 213, 255, 64
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user