mirror of
https://github.com/qmk/qmk_userspace.git
synced 2025-11-07 03:59:58 -05:00
parent
fe9b65d8e1
commit
7547d9aba8
108 changed files with 1 additions and 7677 deletions
|
|
@ -1,43 +0,0 @@
|
|||
#include "quantum.h"
|
||||
|
||||
int pwm_level;
|
||||
|
||||
void backlight_init_ports(void) {
|
||||
// Set C7 to output
|
||||
DDRC |= (1<<7);
|
||||
|
||||
// Initialize the timer
|
||||
TC4H = 0x03;
|
||||
OCR4C = 0xFF;
|
||||
TCCR4A = 0b10000010;
|
||||
TCCR4B = 0b00000001;
|
||||
}
|
||||
|
||||
void backlight_set(uint8_t level) {
|
||||
// Determine the PWM level
|
||||
switch (level)
|
||||
{
|
||||
case 0:
|
||||
// 33%
|
||||
pwm_level = 0x54;
|
||||
break;
|
||||
case 1:
|
||||
// 66%
|
||||
pwm_level = 0xA8;
|
||||
break;
|
||||
case 2:
|
||||
// 100%
|
||||
pwm_level = 0xFF;
|
||||
break;
|
||||
case 3:
|
||||
// 0%
|
||||
pwm_level = 0x00;
|
||||
break;
|
||||
default:
|
||||
xprintf("Unknown level: %d\n", level);
|
||||
}
|
||||
|
||||
// Write the PWM level to the timer
|
||||
TC4H = pwm_level >> 8;
|
||||
OCR4A = 0xFF & pwm_level;
|
||||
}
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
{
|
||||
"manufacturer": "Clueboard",
|
||||
"keyboard_name": "Clueboard 17% (Cluepad)",
|
||||
"maintainer": "skullydazed",
|
||||
"diode_direction": "COL2ROW",
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"features": {
|
||||
"backlight": true,
|
||||
"bootmagic": false,
|
||||
"command": false,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F4", "E6", "B1", "D2"],
|
||||
"rows": ["B0", "D3", "D5", "D4", "D6"]
|
||||
},
|
||||
"rgblight": {
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"rgb_test": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"brightness_steps": 17,
|
||||
"hue_steps": 10,
|
||||
"led_count": 4,
|
||||
"saturation_steps": 17
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "F6"
|
||||
},
|
||||
"url": "",
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x2312",
|
||||
"vid": "0xC1ED"
|
||||
},
|
||||
"backlight": {
|
||||
"driver": "custom"
|
||||
},
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_numpad_5x4"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_numpad_5x4": {
|
||||
"layout": [
|
||||
{"label": "Num Lock", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "/", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "*", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "-", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "7", "matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"label": "8", "matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"label": "9", "matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"label": "4", "matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"label": "5", "matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"label": "6", "matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"h": 2, "label": "+", "matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"label": "1", "matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"label": "2", "matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"label": "3", "matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"label": "0", "matrix": [4, 0], "w": 2, "x": 0, "y": 4},
|
||||
{"label": ".", "matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"h": 2, "label": "Enter", "matrix": [3, 3], "x": 3, "y": 3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: (Base Layer) Default Layer
|
||||
* .-------------------.
|
||||
* |NL F| /| *| -|
|
||||
* |-------------------|
|
||||
* | 7| 8| 9| |
|
||||
* |--------------| |
|
||||
* | 4| 5| 6| +|
|
||||
* |-------------------|
|
||||
* | 1| 2| 3| |
|
||||
* |--------------| |
|
||||
* | 0| .| Ent|
|
||||
* '-------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT_numpad_5x4(
|
||||
LT(_FL, KC_NUM), 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
|
||||
),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
* .-------------------.
|
||||
* |NL F| | | Fn0|
|
||||
* |-------------------|
|
||||
* | | Fn4| | |
|
||||
* |--------------| |
|
||||
* | Fn3|BL_S| Fn2| Fn6|
|
||||
* |-------------------|
|
||||
* | | Fn5| | |
|
||||
* |--------------| |
|
||||
* | Fn1| | Fn7|
|
||||
* '-------------------'
|
||||
*/
|
||||
[_FL] = LAYOUT_numpad_5x4(
|
||||
LT(_FL, KC_NUM), _______, _______, UG_TOGG,
|
||||
_______, UG_SATU, _______,
|
||||
UG_HUED, BL_STEP, UG_HUEU, UG_VALU,
|
||||
_______, UG_SATD, _______,
|
||||
UG_NEXT, _______, UG_VALD
|
||||
)
|
||||
};
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
# Clueboard 17% (Formerly Cluepad)
|
||||
|
||||

|
||||
|
||||
A basic 17 key numpad PCB.
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported:
|
||||
* Cluepad PCB 1.0
|
||||
* Hardware Availability: [clueboard.co](https://clueboard.co/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make clueboard/17: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).
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
/*
|
||||
Copyright 2017 Zach White <skullydazed@clueboard.co>
|
||||
|
||||
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
|
||||
|
||||
|
||||
/* audio support */
|
||||
#define AUDIO_PIN_ALT B7
|
||||
#define AUDIO_PIN C4
|
||||
#define AUDIO_CLICKY
|
||||
|
|
@ -1,446 +0,0 @@
|
|||
{
|
||||
"manufacturer": "Clueboard",
|
||||
"keyboard_name": "Clueboard 2x1800 2018",
|
||||
"maintainer": "skullydazed",
|
||||
"processor": "at90usb1286",
|
||||
"bootloader": "halfkay",
|
||||
"diode_direction": "ROW2COL",
|
||||
"features": {
|
||||
"audio": true,
|
||||
"bootmagic": false,
|
||||
"command": false,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"qmk": {
|
||||
"locking": {
|
||||
"enabled": true,
|
||||
"resync": true
|
||||
}
|
||||
},
|
||||
"indicators": {
|
||||
"num_lock": "B4",
|
||||
"caps_lock": "B5",
|
||||
"scroll_lock": "B6"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["D2", "D3", "D4", "D5", "D7", "E0", "E1", "B0", "E6", "B3", "B2"],
|
||||
"rows": ["C0", "C1", "C2", "C3", "C7", "F7", "B1", "F2", "F3", "F4", "F5", "F6"]
|
||||
},
|
||||
"rgblight": {
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"rgb_test": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"brightness_steps": 8,
|
||||
"hue_steps": 8,
|
||||
"led_count": 16,
|
||||
"saturation_steps": 8
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "C6"
|
||||
},
|
||||
"usb": {
|
||||
"pid": "0x23A0"
|
||||
},
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_4u_space": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.75, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.25, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8.25, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9.25, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10.75, "y": 0},
|
||||
{"matrix": [6, 0], "x": 11.75, "y": 0},
|
||||
{"matrix": [6, 1], "x": 12.75, "y": 0},
|
||||
{"matrix": [6, 2], "x": 13.75, "y": 0},
|
||||
{"matrix": [6, 3], "x": 15.25, "y": 0},
|
||||
{"matrix": [6, 4], "x": 16.25, "y": 0},
|
||||
{"matrix": [6, 5], "x": 17.25, "y": 0},
|
||||
{"matrix": [6, 6], "x": 18.25, "y": 0},
|
||||
{"matrix": [6, 7], "x": 20, "y": 0},
|
||||
{"matrix": [6, 8], "x": 21, "y": 0},
|
||||
{"matrix": [6, 9], "x": 22, "y": 0},
|
||||
{"matrix": [6, 10], "x": 23, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1.25},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1.25},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1.25},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1.25},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1.25},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1.25},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1.25},
|
||||
{"matrix": [7, 0], "x": 11.5, "y": 1.25},
|
||||
{"matrix": [7, 1], "x": 12.5, "y": 1.25},
|
||||
{"matrix": [7, 2], "x": 13.5, "y": 1.25},
|
||||
{"matrix": [7, 3], "x": 14.5, "y": 1.25},
|
||||
{"matrix": [7, 4], "x": 15.5, "y": 1.25},
|
||||
{"matrix": [7, 5], "x": 16.5, "y": 1.25},
|
||||
{"matrix": [7, 6], "w": 2, "x": 17.5, "y": 1.25},
|
||||
{"matrix": [7, 7], "x": 20, "y": 1.25},
|
||||
{"matrix": [7, 8], "x": 21, "y": 1.25},
|
||||
{"matrix": [7, 9], "x": 22, "y": 1.25},
|
||||
{"matrix": [7, 10], "x": 23, "y": 1.25},
|
||||
{"h": 2, "matrix": [2, 0], "x": 0, "y": 2.25},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2.25},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2.25},
|
||||
{"matrix": [2, 4], "w": 1.5, "x": 4.5, "y": 2.25},
|
||||
{"matrix": [2, 5], "x": 6, "y": 2.25},
|
||||
{"matrix": [2, 6], "x": 7, "y": 2.25},
|
||||
{"matrix": [2, 7], "x": 8, "y": 2.25},
|
||||
{"matrix": [2, 8], "x": 9, "y": 2.25},
|
||||
{"matrix": [2, 9], "x": 10, "y": 2.25},
|
||||
{"matrix": [2, 10], "x": 11, "y": 2.25},
|
||||
{"matrix": [8, 0], "x": 12, "y": 2.25},
|
||||
{"matrix": [8, 1], "x": 13, "y": 2.25},
|
||||
{"matrix": [8, 2], "x": 14, "y": 2.25},
|
||||
{"matrix": [8, 3], "x": 15, "y": 2.25},
|
||||
{"matrix": [8, 4], "x": 16, "y": 2.25},
|
||||
{"matrix": [8, 5], "x": 17, "y": 2.25},
|
||||
{"matrix": [8, 6], "w": 1.5, "x": 18, "y": 2.25},
|
||||
{"matrix": [8, 7], "x": 20, "y": 2.25},
|
||||
{"matrix": [8, 8], "x": 21, "y": 2.25},
|
||||
{"matrix": [8, 9], "x": 22, "y": 2.25},
|
||||
{"h": 2, "matrix": [8, 10], "x": 23, "y": 2.25},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3.25},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3.25},
|
||||
{"matrix": [3, 4], "w": 1.75, "x": 4.5, "y": 3.25},
|
||||
{"matrix": [3, 5], "x": 6.25, "y": 3.25},
|
||||
{"matrix": [3, 6], "x": 7.25, "y": 3.25},
|
||||
{"matrix": [3, 7], "x": 8.25, "y": 3.25},
|
||||
{"matrix": [3, 8], "x": 9.25, "y": 3.25},
|
||||
{"matrix": [3, 9], "x": 10.25, "y": 3.25},
|
||||
{"matrix": [3, 10], "x": 11.25, "y": 3.25},
|
||||
{"matrix": [9, 0], "x": 12.25, "y": 3.25},
|
||||
{"matrix": [9, 1], "x": 13.25, "y": 3.25},
|
||||
{"matrix": [9, 2], "x": 14.25, "y": 3.25},
|
||||
{"matrix": [9, 3], "x": 15.25, "y": 3.25},
|
||||
{"matrix": [9, 4], "x": 16.25, "y": 3.25},
|
||||
{"matrix": [9, 5], "w": 2.25, "x": 17.25, "y": 3.25},
|
||||
{"matrix": [9, 7], "x": 20, "y": 3.25},
|
||||
{"matrix": [9, 8], "x": 21, "y": 3.25},
|
||||
{"matrix": [9, 9], "x": 22, "y": 3.25},
|
||||
{"h": 2, "matrix": [4, 0], "x": 0, "y": 4.25},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4.25},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4.25},
|
||||
{"matrix": [4, 3], "x": 3, "y": 4.25},
|
||||
{"matrix": [4, 4], "w": 1.25, "x": 5.5, "y": 4.25},
|
||||
{"matrix": [4, 5], "x": 6.75, "y": 4.25},
|
||||
{"matrix": [4, 6], "x": 7.75, "y": 4.25},
|
||||
{"matrix": [4, 7], "x": 8.75, "y": 4.25},
|
||||
{"matrix": [4, 8], "x": 9.75, "y": 4.25},
|
||||
{"matrix": [4, 9], "x": 10.75, "y": 4.25},
|
||||
{"matrix": [4, 10], "x": 11.75, "y": 4.25},
|
||||
{"matrix": [10, 0], "x": 12.75, "y": 4.25},
|
||||
{"matrix": [10, 1], "x": 13.75, "y": 4.25},
|
||||
{"matrix": [10, 2], "x": 14.75, "y": 4.25},
|
||||
{"matrix": [10, 3], "x": 15.75, "y": 4.25},
|
||||
{"matrix": [10, 4], "w": 1.75, "x": 16.75, "y": 4.25},
|
||||
{"matrix": [10, 5], "x": 20, "y": 4.25},
|
||||
{"matrix": [9, 6], "x": 21, "y": 4.25},
|
||||
{"matrix": [10, 7], "x": 22, "y": 4.25},
|
||||
{"h": 2, "matrix": [10, 8], "x": 23, "y": 4.25},
|
||||
{"matrix": [10, 9], "x": 4.25, "y": 4.5},
|
||||
{"matrix": [10, 10], "x": 18.75, "y": 4.5},
|
||||
{"matrix": [5, 1], "x": 1, "y": 5.25},
|
||||
{"matrix": [5, 2], "x": 2, "y": 5.25},
|
||||
{"matrix": [5, 3], "x": 6.5, "y": 5.25},
|
||||
{"matrix": [5, 4], "x": 7.5, "y": 5.25},
|
||||
{"matrix": [5, 5], "x": 8.5, "y": 5.25},
|
||||
{"matrix": [5, 6], "w": 4, "x": 9.5, "y": 5.25},
|
||||
{"matrix": [5, 7], "x": 13.5, "y": 5.25},
|
||||
{"matrix": [5, 8], "x": 14.5, "y": 5.25},
|
||||
{"matrix": [11, 0], "x": 15.5, "y": 5.25},
|
||||
{"matrix": [11, 2], "x": 16.5, "y": 5.25},
|
||||
{"matrix": [11, 3], "x": 21, "y": 5.25},
|
||||
{"matrix": [11, 4], "x": 22, "y": 5.25},
|
||||
{"matrix": [11, 5], "x": 3.25, "y": 5.5},
|
||||
{"matrix": [10, 6], "x": 4.25, "y": 5.5},
|
||||
{"matrix": [11, 6], "x": 5.25, "y": 5.5},
|
||||
{"matrix": [11, 7], "x": 17.75, "y": 5.5},
|
||||
{"matrix": [11, 8], "x": 18.75, "y": 5.5},
|
||||
{"matrix": [11, 9], "x": 19.75, "y": 5.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_7u_space": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.75, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.25, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8.25, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9.25, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10.75, "y": 0},
|
||||
{"matrix": [6, 0], "x": 11.75, "y": 0},
|
||||
{"matrix": [6, 1], "x": 12.75, "y": 0},
|
||||
{"matrix": [6, 2], "x": 13.75, "y": 0},
|
||||
{"matrix": [6, 3], "x": 15.25, "y": 0},
|
||||
{"matrix": [6, 4], "x": 16.25, "y": 0},
|
||||
{"matrix": [6, 5], "x": 17.25, "y": 0},
|
||||
{"matrix": [6, 6], "x": 18.25, "y": 0},
|
||||
{"matrix": [6, 7], "x": 20, "y": 0},
|
||||
{"matrix": [6, 8], "x": 21, "y": 0},
|
||||
{"matrix": [6, 9], "x": 22, "y": 0},
|
||||
{"matrix": [6, 10], "x": 23, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1.25},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1.25},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1.25},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1.25},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1.25},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1.25},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1.25},
|
||||
{"matrix": [7, 0], "x": 11.5, "y": 1.25},
|
||||
{"matrix": [7, 1], "x": 12.5, "y": 1.25},
|
||||
{"matrix": [7, 2], "x": 13.5, "y": 1.25},
|
||||
{"matrix": [7, 3], "x": 14.5, "y": 1.25},
|
||||
{"matrix": [7, 4], "x": 15.5, "y": 1.25},
|
||||
{"matrix": [7, 5], "x": 16.5, "y": 1.25},
|
||||
{"matrix": [7, 6], "w": 2, "x": 17.5, "y": 1.25},
|
||||
{"matrix": [7, 7], "x": 20, "y": 1.25},
|
||||
{"matrix": [7, 8], "x": 21, "y": 1.25},
|
||||
{"matrix": [7, 9], "x": 22, "y": 1.25},
|
||||
{"matrix": [7, 10], "x": 23, "y": 1.25},
|
||||
{"h": 2, "matrix": [2, 0], "x": 0, "y": 2.25},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2.25},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2.25},
|
||||
{"matrix": [2, 4], "w": 1.5, "x": 4.5, "y": 2.25},
|
||||
{"matrix": [2, 5], "x": 6, "y": 2.25},
|
||||
{"matrix": [2, 6], "x": 7, "y": 2.25},
|
||||
{"matrix": [2, 7], "x": 8, "y": 2.25},
|
||||
{"matrix": [2, 8], "x": 9, "y": 2.25},
|
||||
{"matrix": [2, 9], "x": 10, "y": 2.25},
|
||||
{"matrix": [2, 10], "x": 11, "y": 2.25},
|
||||
{"matrix": [8, 0], "x": 12, "y": 2.25},
|
||||
{"matrix": [8, 1], "x": 13, "y": 2.25},
|
||||
{"matrix": [8, 2], "x": 14, "y": 2.25},
|
||||
{"matrix": [8, 3], "x": 15, "y": 2.25},
|
||||
{"matrix": [8, 4], "x": 16, "y": 2.25},
|
||||
{"matrix": [8, 5], "x": 17, "y": 2.25},
|
||||
{"matrix": [8, 6], "w": 1.5, "x": 18, "y": 2.25},
|
||||
{"matrix": [8, 7], "x": 20, "y": 2.25},
|
||||
{"matrix": [8, 8], "x": 21, "y": 2.25},
|
||||
{"matrix": [8, 9], "x": 22, "y": 2.25},
|
||||
{"h": 2, "matrix": [8, 10], "x": 23, "y": 2.25},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3.25},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3.25},
|
||||
{"matrix": [3, 4], "w": 1.75, "x": 4.5, "y": 3.25},
|
||||
{"matrix": [3, 5], "x": 6.25, "y": 3.25},
|
||||
{"matrix": [3, 6], "x": 7.25, "y": 3.25},
|
||||
{"matrix": [3, 7], "x": 8.25, "y": 3.25},
|
||||
{"matrix": [3, 8], "x": 9.25, "y": 3.25},
|
||||
{"matrix": [3, 9], "x": 10.25, "y": 3.25},
|
||||
{"matrix": [3, 10], "x": 11.25, "y": 3.25},
|
||||
{"matrix": [9, 0], "x": 12.25, "y": 3.25},
|
||||
{"matrix": [9, 1], "x": 13.25, "y": 3.25},
|
||||
{"matrix": [9, 2], "x": 14.25, "y": 3.25},
|
||||
{"matrix": [9, 3], "x": 15.25, "y": 3.25},
|
||||
{"matrix": [9, 4], "x": 16.25, "y": 3.25},
|
||||
{"matrix": [9, 5], "w": 2.25, "x": 17.25, "y": 3.25},
|
||||
{"matrix": [9, 7], "x": 20, "y": 3.25},
|
||||
{"matrix": [9, 8], "x": 21, "y": 3.25},
|
||||
{"matrix": [9, 9], "x": 22, "y": 3.25},
|
||||
{"h": 2, "matrix": [4, 0], "x": 0, "y": 4.25},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4.25},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4.25},
|
||||
{"matrix": [4, 3], "x": 3, "y": 4.25},
|
||||
{"matrix": [4, 4], "w": 1.25, "x": 5.5, "y": 4.25},
|
||||
{"matrix": [4, 5], "x": 6.75, "y": 4.25},
|
||||
{"matrix": [4, 6], "x": 7.75, "y": 4.25},
|
||||
{"matrix": [4, 7], "x": 8.75, "y": 4.25},
|
||||
{"matrix": [4, 8], "x": 9.75, "y": 4.25},
|
||||
{"matrix": [4, 9], "x": 10.75, "y": 4.25},
|
||||
{"matrix": [4, 10], "x": 11.75, "y": 4.25},
|
||||
{"matrix": [10, 0], "x": 12.75, "y": 4.25},
|
||||
{"matrix": [10, 1], "x": 13.75, "y": 4.25},
|
||||
{"matrix": [10, 2], "x": 14.75, "y": 4.25},
|
||||
{"matrix": [10, 3], "x": 15.75, "y": 4.25},
|
||||
{"matrix": [10, 4], "w": 1.75, "x": 16.75, "y": 4.25},
|
||||
{"matrix": [10, 5], "x": 20, "y": 4.25},
|
||||
{"matrix": [9, 6], "x": 21, "y": 4.25},
|
||||
{"matrix": [10, 7], "x": 22, "y": 4.25},
|
||||
{"h": 2, "matrix": [10, 8], "x": 23, "y": 4.25},
|
||||
{"matrix": [10, 9], "x": 4.25, "y": 4.5},
|
||||
{"matrix": [10, 10], "x": 18.75, "y": 4.5},
|
||||
{"matrix": [5, 1], "x": 1, "y": 5.25},
|
||||
{"matrix": [5, 2], "x": 2, "y": 5.25},
|
||||
{"matrix": [5, 3], "x": 6.5, "y": 5.25},
|
||||
{"matrix": [5, 4], "x": 7.5, "y": 5.25},
|
||||
{"matrix": [5, 5], "w": 7, "x": 8.5, "y": 5.25},
|
||||
{"matrix": [5, 6], "x": 15.5, "y": 5.25},
|
||||
{"matrix": [5, 7], "x": 16.5, "y": 5.25},
|
||||
{"matrix": [11, 0], "x": 21, "y": 5.25},
|
||||
{"matrix": [11, 4], "x": 22, "y": 5.25},
|
||||
{"matrix": [11, 5], "x": 3.25, "y": 5.5},
|
||||
{"matrix": [10, 6], "x": 4.25, "y": 5.5},
|
||||
{"matrix": [11, 6], "x": 5.25, "y": 5.5},
|
||||
{"matrix": [11, 7], "x": 17.75, "y": 5.5},
|
||||
{"matrix": [11, 8], "x": 18.75, "y": 5.5},
|
||||
{"matrix": [11, 9], "x": 19.75, "y": 5.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label": "Home", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "End", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "PgUp", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "PgDn", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "Esc", "matrix": [0, 4], "x": 4.75, "y": 0},
|
||||
{"label": "F1", "matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"label": "F2", "matrix": [0, 7], "x": 7.25, "y": 0},
|
||||
{"label": "F3", "matrix": [0, 8], "x": 8.25, "y": 0},
|
||||
{"label": "F4", "matrix": [0, 9], "x": 9.25, "y": 0},
|
||||
{"label": "F5", "matrix": [0, 10], "x": 10.75, "y": 0},
|
||||
{"label": "F6", "matrix": [6, 0], "x": 11.75, "y": 0},
|
||||
{"label": "F7", "matrix": [6, 1], "x": 12.75, "y": 0},
|
||||
{"label": "F8", "matrix": [6, 2], "x": 13.75, "y": 0},
|
||||
{"label": "F9", "matrix": [6, 3], "x": 15.25, "y": 0},
|
||||
{"label": "F10", "matrix": [6, 4], "x": 16.25, "y": 0},
|
||||
{"label": "F11", "matrix": [6, 5], "x": 17.25, "y": 0},
|
||||
{"label": "F12", "matrix": [6, 6], "x": 18.25, "y": 0},
|
||||
{"label": "PrtSc", "matrix": [6, 7], "x": 20, "y": 0},
|
||||
{"label": "Scroll Lock", "matrix": [6, 8], "x": 21, "y": 0},
|
||||
{"label": "Pause", "matrix": [6, 9], "x": 22, "y": 0},
|
||||
{"label": "Insert", "matrix": [6, 10], "x": 23, "y": 0},
|
||||
{"label": "-", "matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"label": "Num Lock", "matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"label": "/", "matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"label": "*", "matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"label": "~", "matrix": [1, 4], "x": 4.5, "y": 1.25},
|
||||
{"label": "!", "matrix": [1, 5], "x": 5.5, "y": 1.25},
|
||||
{"label": "@", "matrix": [1, 6], "x": 6.5, "y": 1.25},
|
||||
{"label": "#", "matrix": [1, 7], "x": 7.5, "y": 1.25},
|
||||
{"label": "$", "matrix": [1, 8], "x": 8.5, "y": 1.25},
|
||||
{"label": "%", "matrix": [1, 9], "x": 9.5, "y": 1.25},
|
||||
{"label": "^", "matrix": [1, 10], "x": 10.5, "y": 1.25},
|
||||
{"label": "&", "matrix": [7, 0], "x": 11.5, "y": 1.25},
|
||||
{"label": "*", "matrix": [7, 1], "x": 12.5, "y": 1.25},
|
||||
{"label": "(", "matrix": [7, 2], "x": 13.5, "y": 1.25},
|
||||
{"label": ")", "matrix": [7, 3], "x": 14.5, "y": 1.25},
|
||||
{"label": "_", "matrix": [7, 4], "x": 15.5, "y": 1.25},
|
||||
{"label": "+", "matrix": [7, 5], "x": 16.5, "y": 1.25},
|
||||
{"label": "Backspace", "matrix": [7, 6], "w": 2, "x": 17.5, "y": 1.25},
|
||||
{"label": "Num Lock", "matrix": [7, 7], "x": 20, "y": 1.25},
|
||||
{"label": "/", "matrix": [7, 8], "x": 21, "y": 1.25},
|
||||
{"label": "*", "matrix": [7, 9], "x": 22, "y": 1.25},
|
||||
{"label": "-", "matrix": [7, 10], "x": 23, "y": 1.25},
|
||||
{"h": 2, "label": "+", "matrix": [2, 0], "x": 0, "y": 2.25},
|
||||
{"label": "7", "matrix": [2, 1], "x": 1, "y": 2.25},
|
||||
{"label": "8", "matrix": [2, 2], "x": 2, "y": 2.25},
|
||||
{"label": "9", "matrix": [2, 3], "x": 3, "y": 2.25},
|
||||
{"label": "Tab", "matrix": [2, 4], "w": 1.5, "x": 4.5, "y": 2.25},
|
||||
{"label": "Q", "matrix": [2, 5], "x": 6, "y": 2.25},
|
||||
{"label": "W", "matrix": [2, 6], "x": 7, "y": 2.25},
|
||||
{"label": "E", "matrix": [2, 7], "x": 8, "y": 2.25},
|
||||
{"label": "R", "matrix": [2, 8], "x": 9, "y": 2.25},
|
||||
{"label": "T", "matrix": [2, 9], "x": 10, "y": 2.25},
|
||||
{"label": "Y", "matrix": [2, 10], "x": 11, "y": 2.25},
|
||||
{"label": "U", "matrix": [8, 0], "x": 12, "y": 2.25},
|
||||
{"label": "I", "matrix": [8, 1], "x": 13, "y": 2.25},
|
||||
{"label": "O", "matrix": [8, 2], "x": 14, "y": 2.25},
|
||||
{"label": "P", "matrix": [8, 3], "x": 15, "y": 2.25},
|
||||
{"label": "{", "matrix": [8, 4], "x": 16, "y": 2.25},
|
||||
{"label": "}", "matrix": [8, 5], "x": 17, "y": 2.25},
|
||||
{"label": "|", "matrix": [8, 6], "w": 1.5, "x": 18, "y": 2.25},
|
||||
{"label": "7", "matrix": [8, 7], "x": 20, "y": 2.25},
|
||||
{"label": "8", "matrix": [8, 8], "x": 21, "y": 2.25},
|
||||
{"label": "9", "matrix": [8, 9], "x": 22, "y": 2.25},
|
||||
{"h": 2, "label": "+", "matrix": [8, 10], "x": 23, "y": 2.25},
|
||||
{"label": "4", "matrix": [3, 1], "x": 1, "y": 3.25},
|
||||
{"label": "5", "matrix": [3, 2], "x": 2, "y": 3.25},
|
||||
{"label": "6", "matrix": [3, 3], "x": 3, "y": 3.25},
|
||||
{"label": "Caps Lock", "matrix": [3, 4], "w": 1.75, "x": 4.5, "y": 3.25},
|
||||
{"label": "A", "matrix": [3, 5], "x": 6.25, "y": 3.25},
|
||||
{"label": "S", "matrix": [3, 6], "x": 7.25, "y": 3.25},
|
||||
{"label": "D", "matrix": [3, 7], "x": 8.25, "y": 3.25},
|
||||
{"label": "F", "matrix": [3, 8], "x": 9.25, "y": 3.25},
|
||||
{"label": "G", "matrix": [3, 9], "x": 10.25, "y": 3.25},
|
||||
{"label": "H", "matrix": [3, 10], "x": 11.25, "y": 3.25},
|
||||
{"label": "J", "matrix": [9, 0], "x": 12.25, "y": 3.25},
|
||||
{"label": "K", "matrix": [9, 1], "x": 13.25, "y": 3.25},
|
||||
{"label": "L", "matrix": [9, 2], "x": 14.25, "y": 3.25},
|
||||
{"label": ":", "matrix": [9, 3], "x": 15.25, "y": 3.25},
|
||||
{"label": "\"", "matrix": [9, 4], "x": 16.25, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [9, 5], "w": 2.25, "x": 17.25, "y": 3.25},
|
||||
{"label": "4", "matrix": [9, 7], "x": 20, "y": 3.25},
|
||||
{"label": "5", "matrix": [9, 8], "x": 21, "y": 3.25},
|
||||
{"label": "6", "matrix": [9, 9], "x": 22, "y": 3.25},
|
||||
{"h": 2, "label": "Enter", "matrix": [4, 0], "x": 0, "y": 4.25},
|
||||
{"label": "1", "matrix": [4, 1], "x": 1, "y": 4.25},
|
||||
{"label": "2", "matrix": [4, 2], "x": 2, "y": 4.25},
|
||||
{"label": "3", "matrix": [4, 3], "x": 3, "y": 4.25},
|
||||
{"label": "\\u2191", "matrix": [4, 4], "x": 4.25, "y": 4.5},
|
||||
{"label": "Shift", "matrix": [4, 5], "w": 1.25, "x": 5.5, "y": 4.25},
|
||||
{"label": "Z", "matrix": [4, 6], "x": 6.75, "y": 4.25},
|
||||
{"label": "X", "matrix": [4, 7], "x": 7.75, "y": 4.25},
|
||||
{"label": "C", "matrix": [4, 8], "x": 8.75, "y": 4.25},
|
||||
{"label": "V", "matrix": [4, 9], "x": 9.75, "y": 4.25},
|
||||
{"label": "B", "matrix": [4, 10], "x": 10.75, "y": 4.25},
|
||||
{"label": "N", "matrix": [10, 0], "x": 11.75, "y": 4.25},
|
||||
{"label": "M", "matrix": [10, 1], "x": 12.75, "y": 4.25},
|
||||
{"label": "<", "matrix": [10, 2], "x": 13.75, "y": 4.25},
|
||||
{"label": ">", "matrix": [10, 3], "x": 14.75, "y": 4.25},
|
||||
{"label": "?", "matrix": [10, 4], "x": 15.75, "y": 4.25},
|
||||
{"label": "Shift", "matrix": [10, 5], "w": 1.75, "x": 16.75, "y": 4.25},
|
||||
{"label": "\\u2191", "matrix": [9, 6], "x": 18.75, "y": 4.5},
|
||||
{"label": "1", "matrix": [10, 7], "x": 20, "y": 4.25},
|
||||
{"label": "2", "matrix": [10, 8], "x": 21, "y": 4.25},
|
||||
{"label": "3", "matrix": [10, 9], "x": 22, "y": 4.25},
|
||||
{"h": 2, "label": "Enter", "matrix": [10, 10], "x": 23, "y": 4.25},
|
||||
{"label": "0", "matrix": [5, 1], "x": 1, "y": 5.25},
|
||||
{"label": ".", "matrix": [5, 2], "x": 2, "y": 5.25},
|
||||
{"label": "\\u2190", "matrix": [5, 3], "x": 3.25, "y": 5.5},
|
||||
{"label": "\\u2193", "matrix": [5, 4], "x": 4.25, "y": 5.5},
|
||||
{"label": "\\u2192", "matrix": [5, 5], "x": 5.25, "y": 5.5},
|
||||
{"label": "Ctrl", "matrix": [5, 6], "x": 6.5, "y": 5.25},
|
||||
{"label": "Win", "matrix": [5, 7], "x": 7.5, "y": 5.25},
|
||||
{"label": "Alt", "matrix": [5, 8], "x": 8.5, "y": 5.25},
|
||||
{"label": "1u", "matrix": [5, 9], "x": 9.5, "y": 5.25},
|
||||
{"label": "1u", "matrix": [5, 10], "x": 10.5, "y": 5.25},
|
||||
{"label": "1u", "matrix": [11, 0], "x": 11.5, "y": 5.25},
|
||||
{"label": "1u", "matrix": [11, 1], "x": 12.5, "y": 5.25},
|
||||
{"label": "Alt", "matrix": [11, 2], "x": 13.5, "y": 5.25},
|
||||
{"label": "Win", "matrix": [11, 3], "x": 14.5, "y": 5.25},
|
||||
{"label": "Menu", "matrix": [11, 4], "x": 15.5, "y": 5.25},
|
||||
{"label": "Ctrl", "matrix": [11, 5], "x": 16.5, "y": 5.25},
|
||||
{"label": "\\u2190", "matrix": [10, 6], "x": 17.75, "y": 5.5},
|
||||
{"label": "\\u2193", "matrix": [11, 6], "x": 18.75, "y": 5.5},
|
||||
{"label": "\\u2192", "matrix": [11, 7], "x": 19.75, "y": 5.5},
|
||||
{"label": "0", "matrix": [11, 8], "x": 21, "y": 5.25},
|
||||
{"label": ".", "matrix": [11, 9], "x": 22, "y": 5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"keyboard":"clueboard/2x1800/2018",
|
||||
"keymap":"default",
|
||||
"layout":"LAYOUT",
|
||||
"layers":[
|
||||
["KC_HOME","KC_END","KC_PGUP","KC_PGDN","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_SCRL","KC_PAUS","KC_INS","KC_PMNS","KC_NUM","KC_PSLS","KC_PAST","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_NUM","KC_PSLS","KC_PAST","KC_PMNS","KC_PPLS","KC_P7","KC_P8","KC_P9","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_P7","KC_P8","KC_P9","KC_PSLS","KC_P4","KC_P5","KC_P6","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_P4","KC_P5","KC_P6","KC_PENT","KC_P1","KC_P2","KC_P3","KC_UP","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_SLSH","KC_COMM","KC_DOT","KC_RSFT","KC_UP","KC_P1","KC_P2","KC_P3","KC_PENT","KC_P0","KC_PDOT","KC_LEFT","KC_DOWN","KC_RGHT","KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_SPC","KC_SPC","KC_SPC","KC_RALT","KC_RGUI","KC_APP","KC_RCTL","KC_LEFT","KC_DOWN","KC_RGHT","KC_P0","KC_PDOT"]
|
||||
],
|
||||
"author":"skullydazed",
|
||||
"notes":"",
|
||||
"version":1
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_4u_space(
|
||||
KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SCRL, KC_PAUS, KC_INS,
|
||||
|
||||
KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_P7, KC_P8, KC_P9, KC_PSLS,
|
||||
KC_P4, KC_P5, KC_P6, 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_P4, KC_P5, KC_P6,
|
||||
KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||
)
|
||||
};
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_7u_space(
|
||||
KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SCRL, KC_PAUS, KC_DEL,
|
||||
|
||||
KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_P7, KC_P8, KC_P9, KC_PSLS,
|
||||
KC_P4, KC_P5, KC_P6, 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_P4, KC_P5, KC_P6,
|
||||
KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||
)
|
||||
};
|
||||
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
float song_one_up[][2] = SONG(ONE_UP_SOUND);
|
||||
#endif
|
||||
|
||||
volatile uint8_t runonce = true;
|
||||
static uint16_t my_timer;
|
||||
|
||||
void matrix_init_user(void) {
|
||||
my_timer = timer_read();
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
if (runonce && timer_elapsed(my_timer) > 500) {
|
||||
runonce = false;
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(song_one_up);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
# Clueboard 2x1800
|
||||
|
||||
Clueboard Double 1800 All The Way
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard 2x1800 PCB
|
||||
* Hardware Availability: 2018 Apr 1 Group Buy
|
||||
|
||||
Make example for this keyboard:
|
||||
|
||||
make clueboard/2x1800/2018: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).
|
||||
|
|
@ -1,162 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
#include "2019.h"
|
||||
|
||||
void matrix_init_kb(void) {
|
||||
// Set our LED pins as output
|
||||
gpio_set_pin_output(D6);
|
||||
|
||||
// Set our Tilt Sensor pins as input
|
||||
gpio_set_pin_input_high(SHAKE_PIN_A);
|
||||
gpio_set_pin_input_high(SHAKE_PIN_B);
|
||||
|
||||
// Run the keymap level init
|
||||
matrix_init_user();
|
||||
}
|
||||
|
||||
#ifdef DRAWING_ENABLE
|
||||
bool drawing_mode = false;
|
||||
bool btn1_pressed = false;
|
||||
bool btn2_pressed = false;
|
||||
bool btn3_pressed = false;
|
||||
bool btn4_pressed = false;
|
||||
|
||||
void check_encoder_buttons(void) {
|
||||
if (btn1_pressed && btn2_pressed && btn3_pressed && btn4_pressed) {
|
||||
// All 4 buttons pressed, toggle drawing mode
|
||||
if (drawing_mode) {
|
||||
dprintf("Turning drawing mode off.\n");
|
||||
drawing_mode = false;
|
||||
gpio_write_pin_low(D6);
|
||||
unregister_code(KC_BTN1);
|
||||
} else {
|
||||
dprintf("Turning drawing mode on.\n");
|
||||
drawing_mode = true;
|
||||
gpio_write_pin_high(D6);
|
||||
register_code(KC_BTN1);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef SHAKE_ENABLE
|
||||
uint8_t tilt_state = 0x11;
|
||||
uint8_t detected_shakes = 0;
|
||||
static uint16_t shake_timer;
|
||||
#endif
|
||||
|
||||
void housekeeping_task_kb(void) {
|
||||
#ifdef SHAKE_ENABLE
|
||||
// Read the current state of the tilt sensor. It is physically
|
||||
// impossible for both pins to register a low state at the same time.
|
||||
uint8_t tilt_read = (gpio_read_pin(SHAKE_PIN_A) << 4) | gpio_read_pin(SHAKE_PIN_B);
|
||||
|
||||
// Check to see if the tilt sensor has changed state since our last read
|
||||
if (tilt_state != tilt_read) {
|
||||
shake_timer = timer_read();
|
||||
detected_shakes++;
|
||||
tilt_state = tilt_read;
|
||||
}
|
||||
|
||||
if ((detected_shakes > 0) && (timer_elapsed(shake_timer) > SHAKE_TIMEOUT)) {
|
||||
if (detected_shakes > SHAKE_COUNT) {
|
||||
dprintf("Shake triggered! We detected %d shakes.\n", detected_shakes);
|
||||
tap_code16(SHAKE_KEY);
|
||||
} else {
|
||||
dprintf("Shake not triggered! We detected %d shakes.\n", detected_shakes);
|
||||
}
|
||||
detected_shakes = 0;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
#ifdef DRAWING_ENABLE
|
||||
if (keycode == ENC_BTN1) {
|
||||
if (record->event.pressed) {
|
||||
btn1_pressed = true;
|
||||
register_code(KC_BTN1);
|
||||
} else {
|
||||
btn1_pressed = false;
|
||||
unregister_code(KC_BTN1);
|
||||
}
|
||||
}
|
||||
if (keycode == ENC_BTN2) {
|
||||
if (record->event.pressed) {
|
||||
btn2_pressed = true;
|
||||
register_code(KC_BTN2);
|
||||
} else {
|
||||
btn2_pressed = false;
|
||||
unregister_code(KC_BTN2);
|
||||
}
|
||||
}
|
||||
if (keycode == ENC_BTN3) {
|
||||
if (record->event.pressed) {
|
||||
btn3_pressed = true;
|
||||
register_code(KC_BTN3);
|
||||
} else {
|
||||
btn3_pressed = false;
|
||||
unregister_code(KC_BTN3);
|
||||
}
|
||||
}
|
||||
if (keycode == ENC_BTN4) {
|
||||
if (record->event.pressed) {
|
||||
btn4_pressed = true;
|
||||
register_code(KC_BTN4);
|
||||
} else {
|
||||
btn4_pressed = false;
|
||||
unregister_code(KC_BTN4);
|
||||
}
|
||||
}
|
||||
|
||||
check_encoder_buttons();
|
||||
#endif
|
||||
|
||||
return process_record_user(keycode, record);
|
||||
}
|
||||
|
||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||
if (encoder_update_user(index, clockwise)) {
|
||||
// Encoder 1, outside left
|
||||
if (index == 0 && clockwise) {
|
||||
tap_code(KC_MS_U); // turned right
|
||||
} else if (index == 0) {
|
||||
tap_code(KC_MS_D); // turned left
|
||||
}
|
||||
|
||||
// Encoder 2, inside left
|
||||
else if (index == 1 && clockwise) {
|
||||
tap_code(KC_WH_D); // turned right
|
||||
} else if (index == 1) {
|
||||
tap_code(KC_WH_U); // turned left
|
||||
}
|
||||
|
||||
// Encoder 3, inside right
|
||||
else if (index == 2 && clockwise) {
|
||||
tap_code(KC_VOLU); // turned right
|
||||
} else if (index == 2) {
|
||||
tap_code(KC_VOLD); // turned left
|
||||
}
|
||||
|
||||
// Encoder 4, outside right
|
||||
else if (index == 3 && clockwise) {
|
||||
tap_code(KC_MS_R); // turned right
|
||||
} else if (index == 3) {
|
||||
tap_code(KC_MS_L); // turned left
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
enum TWOx1800_keycodes {
|
||||
ENC_BTN1 = QK_KB_0,
|
||||
ENC_BTN2,
|
||||
ENC_BTN3,
|
||||
ENC_BTN4,
|
||||
};
|
||||
|
||||
// Encoder button combo check
|
||||
void check_encoder_buttons(void);
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
/*
|
||||
Copyright 2017 Zach White <skullydazed@clueboard.co>
|
||||
|
||||
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
|
||||
|
||||
/* audio support */
|
||||
#define AUDIO_PIN_ALT B7
|
||||
#define AUDIO_PIN C4
|
||||
#define AUDIO_CLICKY
|
||||
|
||||
/*
|
||||
* Drawing mode
|
||||
*/
|
||||
#define DRAWING_ENABLE
|
||||
//#define UNDO_KEY LGUI(KC_Z) // What key to send for undo
|
||||
//#define UNDO_KEY LCTL(KC_Z)
|
||||
#define UNDO_KEY LGUI(KC_SLSH)
|
||||
|
||||
/*
|
||||
* Shake to undo configuration
|
||||
*/
|
||||
#define SHAKE_ENABLE
|
||||
#define SHAKE_PIN_A E4
|
||||
#define SHAKE_PIN_B E5
|
||||
#define SHAKE_TIMEOUT 500 // How long after shaking stops before we register it
|
||||
#define SHAKE_COUNT 8 // How many shakes it takes to activate
|
||||
#define SHAKE_KEY UNDO_KEY // What key to send after a shake
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"keyboard":"clueboard/2x1800/2019",
|
||||
"keymap":"default",
|
||||
"layout":"LAYOUT_all",
|
||||
"layers":[
|
||||
["ENC_BTN1","ENC_BTN2","ENC_BTN3","ENC_BTN4","KC_HOME","KC_END","KC_PGUP","KC_PGDN","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_SCRL","KC_PAUS","KC_INS","KC_PMNS","KC_NUM","KC_PSLS","KC_PAST","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_NUM","KC_PSLS","KC_PAST","KC_PMNS","KC_PPLS","KC_P7","KC_P8","KC_P9","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_P7","KC_P8","KC_P9","KC_PSLS","KC_P4","KC_P5","KC_P6","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_NUHS","KC_ENT","KC_P4","KC_P5","KC_P6","KC_PENT","KC_P1","KC_P2","KC_P3","KC_UP","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_SLSH","KC_COMM","KC_DOT","KC_RSFT","KC_UP","KC_P1","KC_P2","KC_P3","KC_PENT","KC_P0","KC_PDOT","KC_LEFT","KC_DOWN","KC_RGHT","KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_SPC","KC_SPC","KC_SPC","KC_RALT","KC_RGUI","KC_APP","KC_RCTL","KC_LEFT","KC_DOWN","KC_RGHT","KC_P0","KC_PDOT"]
|
||||
],
|
||||
"author":"skullydazed",
|
||||
"notes":"",
|
||||
"version":1
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_1u_ansi(
|
||||
KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4,
|
||||
KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SCRL, KC_PAUS, KC_INS,
|
||||
KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_P7, KC_P8, KC_P9, KC_PSLS,
|
||||
KC_P4, KC_P5, KC_P6, 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_P4, KC_P5, KC_P6,
|
||||
KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||
)
|
||||
};
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_1u_iso(
|
||||
KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4,
|
||||
KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SCRL, KC_PAUS, KC_INS,
|
||||
KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_P7, KC_P8, KC_P9, KC_PSLS,
|
||||
KC_P4, KC_P5, KC_P6, 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
|
||||
KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||
)
|
||||
};
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_2u_ansi(
|
||||
KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4,
|
||||
KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SCRL, KC_PAUS, KC_INS,
|
||||
KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_P7, KC_P8, KC_P9, KC_PSLS,
|
||||
KC_P4, KC_P5, KC_P6, 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_P4, KC_P5, KC_P6,
|
||||
KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||
)
|
||||
};
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_2u_iso(
|
||||
KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4,
|
||||
KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SCRL, KC_PAUS, KC_INS,
|
||||
KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_P7, KC_P8, KC_P9, KC_PSLS,
|
||||
KC_P4, KC_P5, KC_P6, 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
|
||||
KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||
)
|
||||
};
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_4u_ansi(
|
||||
KC_1, KC_2, KC_3, KC_4,
|
||||
KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SCRL, KC_PAUS, KC_INS,
|
||||
KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_P7, KC_P8, KC_P9, KC_PSLS,
|
||||
KC_P4, KC_P5, KC_P6, 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_P4, KC_P5, KC_P6,
|
||||
KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||
)
|
||||
};
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_4u_iso(
|
||||
KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4,
|
||||
KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SCRL, KC_PAUS, KC_INS,
|
||||
KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_P7, KC_P8, KC_P9, KC_PSLS,
|
||||
KC_P4, KC_P5, KC_P6, 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
|
||||
KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||
)
|
||||
};
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_7u_ansi(
|
||||
KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4,
|
||||
KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SCRL, KC_PAUS, KC_DEL,
|
||||
KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_P7, KC_P8, KC_P9, KC_PSLS,
|
||||
KC_P4, KC_P5, KC_P6, 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_P4, KC_P5, KC_P6,
|
||||
KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||
)
|
||||
};
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_7u_iso(
|
||||
KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4,
|
||||
KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SCRL, KC_PAUS, KC_DEL,
|
||||
KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_P7, KC_P8, KC_P9, KC_PSLS,
|
||||
KC_P4, KC_P5, KC_P6, 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
|
||||
KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||
)
|
||||
};
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
# Clueboard 2x1800
|
||||
|
||||
Clueboard 2x1800 Mechanical Drawing Toy Edition
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard 2x1800 2019 PCB
|
||||
* Hardware Availability: 2019 Apr 1 Group Buy
|
||||
|
||||
Make example for this keyboard:
|
||||
|
||||
make clueboard/2x1800/2019: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).
|
||||
|
|
@ -1,151 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
|
||||
#include "quantum.h"
|
||||
#include "max7219.h"
|
||||
#include "font.h"
|
||||
|
||||
#ifndef DRAWING_TOY_MODE
|
||||
static uint16_t led_frame_timer = 0;
|
||||
|
||||
void housekeeping_task_kb(void) {
|
||||
if (timer_elapsed(led_frame_timer) > 100) {
|
||||
max7219_message_sign_task(true);
|
||||
led_frame_timer = timer_read();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void matrix_init_kb(void) {
|
||||
max7219_init();
|
||||
|
||||
#if defined(MAX7219_LED_TEST)
|
||||
while(1) {
|
||||
for (int i=0; i<MAX7219_CONTROLLERS; i++) {
|
||||
max7219_display_test(i, true);
|
||||
wait_ms(500);
|
||||
max7219_display_test(i, false);
|
||||
}
|
||||
}
|
||||
#elif defined(MAX7219_LED_ITERATE)
|
||||
while (1) {
|
||||
for (int row=0; row<8; row++) {
|
||||
for(int col=0;col<8*MAX7219_CONTROLLERS;col++) {
|
||||
max7219_set_led(row, col, true);
|
||||
wait_ms(500);
|
||||
max7219_set_led(row, col, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
#elif defined(MAX7219_LED_DANCE)
|
||||
while (1) {
|
||||
for (int col=0; col<8; col++) {
|
||||
for (int device_num=0; device_num<MAX7219_CONTROLLERS; device_num++) {
|
||||
if (col % 2 == 0) {
|
||||
max7219_led_a[col][device_num] = 0b01010101;
|
||||
} else {
|
||||
max7219_led_a[col][device_num] = 0b10101010;
|
||||
}
|
||||
}
|
||||
}
|
||||
max7219_write_frame();
|
||||
wait_ms(500);
|
||||
for (int col=0; col<8; col++) {
|
||||
for (int device_num=0; device_num<MAX7219_CONTROLLERS; device_num++) {
|
||||
if (col % 2 == 0) {
|
||||
max7219_led_a[col][device_num] = 0b10101010;
|
||||
} else {
|
||||
max7219_led_a[col][device_num] = 0b01010101;
|
||||
}
|
||||
}
|
||||
}
|
||||
max7219_write_frame();
|
||||
wait_ms(500);
|
||||
}
|
||||
#elif defined(MAX7219_LED_FONTTEST)
|
||||
uint8_t message[MSG_FONTTEST_LEN][6] = MSG_FONTTEST;
|
||||
max7219_message_sign(message, MSG_FONTTEST_LEN);
|
||||
#elif defined(MAX7219_LED_CLUEBOARD)
|
||||
uint8_t message[MSG_CLUEBOARD_LEN][6] = MSG_CLUEBOARD;
|
||||
max7219_message_sign(message, MSG_CLUEBOARD_LEN);
|
||||
#elif defined(MAX7219_LED_KONAMI)
|
||||
uint8_t message[MSG_KONAMI_LEN][6] = MSG_KONAMI;
|
||||
max7219_message_sign(message, MSG_KONAMI_LEN);
|
||||
#elif defined(MAX7219_LED_QMK_POWERED)
|
||||
uint8_t message[MSG_QMK_POWERED_LEN][6] = MSG_QMK_POWERED;
|
||||
max7219_message_sign(message, MSG_QMK_POWERED_LEN);
|
||||
#elif defined(DRAWING_TOY_MODE)
|
||||
max7219_set_led(0, 0, true);
|
||||
#endif
|
||||
|
||||
matrix_init_user();
|
||||
}
|
||||
|
||||
#define NUM_COLUMNS 8*MAX7219_CONTROLLERS
|
||||
uint8_t led_position[2] = {0,0}; // The location of the cursor in the matrix
|
||||
|
||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||
if (encoder_update_user(index, clockwise)) {
|
||||
#if defined(DRAWING_TOY_MODE)
|
||||
// Encoder 1, left
|
||||
if (index == 0 && clockwise) {
|
||||
if (led_position[0] < NUM_COLUMNS-1) { // turned right
|
||||
led_position[0]++;
|
||||
} else {
|
||||
led_position[0]=0;
|
||||
}
|
||||
} else if (index == 0) {
|
||||
if (led_position[0] > 0) { // turned left
|
||||
led_position[0]--;
|
||||
} else {
|
||||
led_position[0]=NUM_COLUMNS-1;
|
||||
}
|
||||
}
|
||||
|
||||
// Encoder 2, right
|
||||
else if (index == 1 && clockwise) {
|
||||
if (led_position[1] < 7) { // turned right
|
||||
led_position[1]++;
|
||||
} else {
|
||||
led_position[1]=0;
|
||||
}
|
||||
} else if (index == 1) {
|
||||
if (led_position[1] > 0) { // turned left
|
||||
led_position[1]--;
|
||||
} else {
|
||||
led_position[1]=7;
|
||||
}
|
||||
}
|
||||
|
||||
max7219_set_led(led_position[1], led_position[0], true);
|
||||
#else
|
||||
// Encoder 1, left
|
||||
if (index == 0 && clockwise) {
|
||||
tap_code(KC_MS_R); // turned right
|
||||
} else if (index == 0) {
|
||||
tap_code(KC_MS_L); // turned left
|
||||
}
|
||||
|
||||
// Encoder 2, right
|
||||
else if (index == 1 && clockwise) {
|
||||
tap_code(KC_MS_U); // turned right
|
||||
} else if (index == 1) {
|
||||
tap_code(KC_MS_D); // turned left
|
||||
}
|
||||
#endif
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
/*
|
||||
Copyright 2017 Zach White <skullydazed@clueboard.co>
|
||||
|
||||
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
|
||||
|
||||
|
||||
/* audio support */
|
||||
#define AUDIO_PIN_ALT B7
|
||||
#define AUDIO_PIN C4
|
||||
#define AUDIO_CLICKY
|
||||
|
||||
// Configure our MAX7219's
|
||||
//#define MAX7219_LOAD B0
|
||||
//#define MAX7219_CONTROLLERS 4
|
||||
//#define MAX7219_LED_INTENSITY 1 // Max: 15
|
||||
|
||||
// Define this to disable the startup test
|
||||
//#define MAX7219_NO_STARTUP_TEST
|
||||
|
||||
/* This controls the speed of the sign, lower is faster. This is the minimal
|
||||
* time between animation frames, in ms. Actual time between frames will
|
||||
* always be slightly longer due to other keyboard tasks.
|
||||
*/
|
||||
//#define MAX7219_SCROLL_TIME 100
|
||||
|
||||
/* This setting controls how big the scrollable area for your message sign
|
||||
* is. If you set it to 0 your display will not work. If you set it to 1
|
||||
* you will have no buffer area, and you will only be able to display a
|
||||
* total of 6 characters. Every number after that increases the buffer area
|
||||
* by 32 columns.
|
||||
*
|
||||
* You can calculate how big to make this for the number of characters you
|
||||
* want to display:
|
||||
*
|
||||
* <number of characters in message> * 6 / 32 + 1
|
||||
*
|
||||
* You do not need to tune this unless you are trying to save ram.
|
||||
*/
|
||||
//#define MAX7219_BUFFER_MULTIPLIER 24
|
||||
|
||||
// You can only define one of these at a time:
|
||||
|
||||
// Define this to test all LEDs. Keyboard functions will not work.
|
||||
//#define MAX7219_LED_TEST
|
||||
|
||||
// Define this to iterate through LEDs 1 by 1. Keyboard functions will not work.
|
||||
//#define MAX7219_LED_ITERATE
|
||||
|
||||
// Define this to show a simple animation. Keyboard functions will not work.
|
||||
//#define MAX7219_LED_DANCE
|
||||
|
||||
// Define this to show all the characters available
|
||||
//#define MAX7219_LED_FONTTEST
|
||||
|
||||
// Define this to show Clueboard on the sign
|
||||
//#define MAX7219_LED_CLUEBOARD
|
||||
|
||||
// Define this to show the Konami code on the sign
|
||||
//#define MAX7219_LED_KONAMI
|
||||
|
||||
// Define this to show QMK on the sign
|
||||
//#define MAX7219_LED_QMK_POWERED
|
||||
|
||||
// Define this to treat the message board like an etch-a-sketch
|
||||
//#define DRAWING_TOY_MODE
|
||||
|
||||
// Define this if you don't want any of the above
|
||||
//#define MAX7219_LED_CUSTOM
|
||||
|
|
@ -1,158 +0,0 @@
|
|||
/* 5x8 Font for Clueboard 2x1800.
|
||||
*
|
||||
* Copyright (c) 2021 Zach White <skullydazed@gmail.com>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* This permission notice shall be included in all copies or
|
||||
* substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// Top row of keyboard, when shift held
|
||||
#define CHR_TILDE {0b00110000, 0b01000000, 0b00110000, 0b00001000, 0b00110000, 0b00000000}
|
||||
#define CHR_BANG {0b00000000, 0b00000000, 0b11111010, 0b10000000, 0b00000000, 0b00000000}
|
||||
#define CHR_AT {0b01001100, 0b10010010, 0b10011110, 0b10000010, 0b01111100, 0b00000000}
|
||||
#define CHR_POUND {0b00101000, 0b11111110, 0b00101000, 0b11111110, 0b00101000, 0b00000000}
|
||||
#define CHR_DOLLAR {0b00100100, 0b01010100, 0b11111110, 0b10101010, 0b01001000, 0b00000000}
|
||||
#define CHR_PERCENT {0b11000010, 0b11000100, 0b00010000, 0b00100110, 0b01000110, 0b00000000}
|
||||
#define CHR_CARET {0b00100000, 0b01000000, 0b10000000, 0b01000000, 0b00100000, 0b00000000}
|
||||
#define CHR_AMPERSAND {0b01101100, 0b10010010, 0b10101010, 0b01000100, 0b00001010, 0b00000000}
|
||||
#define CHR_ASTERISK {0b00101000, 0b00010000, 0b01111100, 0b00010000, 0b00101000, 0b00000000}
|
||||
#define CHR_LPAREN {0b00000000, 0b00111000, 0b01000100, 0b10000010, 0b00000000, 0b00000000}
|
||||
#define CHR_RPAREN {0b00000000, 0b10000010, 0b01000100, 0b00111000, 0b00000000, 0b00000000}
|
||||
#define CHR_UNDERSCORE {0b00000010, 0b00000010, 0b00000010, 0b00000010, 0b00000010, 0b00000000}
|
||||
#define CHR_PLUS {0b00010000, 0b00010000, 0b01111100, 0b00010000, 0b00010000, 0b00000000}
|
||||
|
||||
// Top row of keyboard, without shift
|
||||
#define CHR_BACKTICK {0b00000000, 0b11000000, 0b01100000, 0b10000000, 0b00000000, 0b00000000}
|
||||
#define CHR_1 {0b00100000, 0b01000010, 0b11111110, 0b00000010, 0b00000010, 0b00000000}
|
||||
#define CHR_2 {0b01000010, 0b10000110, 0b10001010, 0b10010010, 0b01100010, 0b00000000}
|
||||
#define CHR_3 {0b10000100, 0b10000010, 0b10100010, 0b11010010, 0b10001100, 0b00000000}
|
||||
#define CHR_4 {0b00011000, 0b00101000, 0b01001000, 0b11111110, 0b00001000, 0b00000000}
|
||||
#define CHR_5 {0b11100100, 0b10100010, 0b10100010, 0b10100010, 0b10011100, 0b00000000}
|
||||
#define CHR_6 {0b00111100, 0b01010010, 0b10010010, 0b10010010, 0b00001100, 0b00000000}
|
||||
#define CHR_7 {0b11000000, 0b10001110, 0b10010000, 0b10100000, 0b11000000, 0b00000000}
|
||||
#define CHR_8 {0b01101100, 0b10010010, 0b10010010, 0b10010010, 0b01101100, 0b00000000}
|
||||
#define CHR_9 {0b01100000, 0b10010010, 0b10010010, 0b10010010, 0b01111000, 0b00000000}
|
||||
#define CHR_0 {0b01111100, 0b10001010, 0b10010010, 0b10100010, 0b01111100, 0b00000000}
|
||||
#define CHR_DASH {0b00000000, 0b00010000, 0b00010000, 0b00010000, 0b00000000, 0b00000000}
|
||||
#define CHR_EQUAL {0b00000000, 0b00101000, 0b00101000, 0b00101000, 0b00000000, 0b00000000}
|
||||
|
||||
// Letters
|
||||
#define CHR_A {0b01111110, 0b10001000, 0b10001000, 0b10001000, 0b01111110, 0b00000000}
|
||||
#define CHR_B {0b11111110, 0b10010010, 0b10010010, 0b10010010, 0b01101100, 0b00000000}
|
||||
#define CHR_C {0b01111100, 0b10000010, 0b10000010, 0b10000010, 0b01000100, 0b00000000}
|
||||
#define CHR_D {0b11111110, 0b10000010, 0b10000010, 0b10000010, 0b01111100, 0b00000000}
|
||||
#define CHR_E {0b11111110, 0b10010010, 0b10010010, 0b10010010, 0b10000010, 0b00000000}
|
||||
#define CHR_F {0b11111110, 0b10010000, 0b10010000, 0b10010000, 0b10000000, 0b00000000}
|
||||
#define CHR_G {0b01111100, 0b10000010, 0b10010010, 0b10010010, 0b01011100, 0b00000000}
|
||||
#define CHR_H {0b11111110, 0b00010000, 0b00010000, 0b00010000, 0b11111110, 0b00000000}
|
||||
#define CHR_I {0b00000000, 0b10000010, 0b11111110, 0b10000010, 0b00000000, 0b00000000}
|
||||
#define CHR_J {0b00000100, 0b00000010, 0b10000010, 0b11111100, 0b10000000, 0b00000000}
|
||||
#define CHR_K {0b11111110, 0b00010000, 0b00101000, 0b01000100, 0b10000010, 0b00000000}
|
||||
#define CHR_L {0b00000000, 0b11111110, 0b00000010, 0b00000010, 0b00000010, 0b00000000}
|
||||
#define CHR_M {0b11111110, 0b01000000, 0b00110000, 0b01000000, 0b11111110, 0b00000000}
|
||||
#define CHR_N {0b11111110, 0b01100000, 0b00010000, 0b00001100, 0b11111110, 0b00000000}
|
||||
#define CHR_O {0b01111100, 0b10000010, 0b10000010, 0b10000010, 0b01111100, 0b00000000}
|
||||
#define CHR_P {0b11111110, 0b10010000, 0b10010000, 0b10010000, 0b01100000, 0b00000000}
|
||||
#define CHR_Q {0b01111100, 0b10000010, 0b10001010, 0b10000100, 0b01111010, 0b00000000}
|
||||
#define CHR_R {0b11111110, 0b10010000, 0b10011000, 0b10010100, 0b01100010, 0b00000000}
|
||||
#define CHR_S {0b01100100, 0b10010010, 0b10010010, 0b10010010, 0b01001100, 0b00000000}
|
||||
#define CHR_T {0b10000000, 0b10000000, 0b11111110, 0b10000000, 0b10000000, 0b00000000}
|
||||
#define CHR_U {0b11111100, 0b00000010, 0b00000010, 0b00000010, 0b11111100, 0b00000000}
|
||||
#define CHR_V {0b11111000, 0b00000100, 0b00000010, 0b00000100, 0b11111000, 0b00000000}
|
||||
#define CHR_W {0b11111100, 0b00000010, 0b00011100, 0b00000010, 0b11111110, 0b00000000}
|
||||
#define CHR_X {0b11000110, 0b00101000, 0b00010000, 0b00101000, 0b11000110, 0b00000000}
|
||||
#define CHR_Y {0b11100000, 0b00010000, 0b00001110, 0b00010000, 0b11100000, 0b00000000}
|
||||
#define CHR_Z {0b10000110, 0b10001010, 0b10010010, 0b10100010, 0b11000010, 0b00000000}
|
||||
|
||||
#define CHR_a {0b00000100, 0b00101010, 0b00101010, 0b00101010, 0b00011110, 0b00000000}
|
||||
#define CHR_b {0b11111110, 0b00010010, 0b00100010, 0b00100010, 0b00011100, 0b00000000}
|
||||
#define CHR_c {0b00011100, 0b00100010, 0b00100010, 0b00100010, 0b00000100, 0b00000000}
|
||||
#define CHR_d {0b00011100, 0b00100010, 0b00100010, 0b00010010, 0b11111110, 0b00000000}
|
||||
#define CHR_e {0b00011100, 0b00101010, 0b00101010, 0b00101010, 0b00011000, 0b00000000}
|
||||
#define CHR_f {0b00000000, 0b00010000, 0b01111110, 0b10010000, 0b10000000, 0b01000000}
|
||||
#define CHR_g {0b00011000, 0b00100101, 0b00100101, 0b00100101, 0b00111110, 0b00000000}
|
||||
#define CHR_h {0b11111110, 0b00010000, 0b00100000, 0b00100000, 0b00011110, 0b00000000}
|
||||
#define CHR_i {0b00000000, 0b00010010, 0b10111110, 0b00000010, 0b00000000, 0b00000000}
|
||||
#define CHR_j {0b00000100, 0b00000010, 0b00100010, 0b10111100, 0b00000000, 0b00000000}
|
||||
#define CHR_k {0b11111110, 0b00001000, 0b00010100, 0b00100010, 0b00000000, 0b00000000}
|
||||
#define CHR_l {0b00000000, 0b10000010, 0b11111110, 0b00000010, 0b00000000, 0b00000000}
|
||||
#define CHR_m {0b00111110, 0b00100000, 0b00111110, 0b00100000, 0b00111110, 0b00000000}
|
||||
#define CHR_n {0b00111110, 0b00010000, 0b00100000, 0b00100000, 0b00011110, 0b00000000}
|
||||
#define CHR_o {0b00011100, 0b00100010, 0b00100010, 0b00100010, 0b00011100, 0b00000000}
|
||||
#define CHR_p {0b00111111, 0b00100100, 0b00100100, 0b00100100, 0b00011000, 0b00000000}
|
||||
#define CHR_q {0b00011000, 0b00100100, 0b00100100, 0b00011000, 0b00111111, 0b00000000}
|
||||
#define CHR_r {0b00111110, 0b00010000, 0b00100000, 0b00100000, 0b00010000, 0b00000000}
|
||||
#define CHR_s {0b00010010, 0b00101010, 0b00101010, 0b00101010, 0b00000100, 0b00000000}
|
||||
#define CHR_t {0b00100000, 0b11111100, 0b00100010, 0b00000010, 0b00000100, 0b00000000}
|
||||
#define CHR_u {0b00111100, 0b00000010, 0b00000010, 0b00000100, 0b00111110, 0b00000000}
|
||||
#define CHR_v {0b00111000, 0b00000100, 0b00000010, 0b00000100, 0b00111000, 0b00000000}
|
||||
#define CHR_w {0b00111100, 0b00000010, 0b00111100, 0b00000010, 0b00111100, 0b00000000}
|
||||
#define CHR_x {0b00100010, 0b00010100, 0b00001000, 0b00010100, 0b00100010, 0b00000000}
|
||||
#define CHR_y {0b00111000, 0b00000101, 0b00000101, 0b00000101, 0b00111110, 0b00000000}
|
||||
#define CHR_z {0b00100010, 0b00100110, 0b00101010, 0b00110010, 0b00100010, 0b00000000}
|
||||
|
||||
// Punctuation
|
||||
#define CHR_LCURLY {0b00000000, 0b00010000, 0b01101100, 0b10000010, 0b00000000, 0b00000000}
|
||||
#define CHR_RCURLY {0b00000000, 0b10000010, 0b01101100, 0b00010000, 0b00000000, 0b00000000}
|
||||
#define CHR_PIPE {0b00000000, 0b00000000, 0b11101110, 0b00000000, 0b00000000, 0b00000000}
|
||||
#define CHR_COLON {0b00000000, 0b00000000, 0b01101100, 0b01101100, 0b00000000, 0b00000000}
|
||||
#define CHR_QUOTE {0b00000000, 0b01110000, 0b00000000, 0b01110000, 0b00000000, 0b00000000}
|
||||
#define CHR_LESSTHAN {0b00010000, 0b00101000, 0b01000100, 0b10000010, 0b00000000, 0b00000000}
|
||||
#define CHR_GREATERTHAN {0b10000010, 0b01000100, 0b00101000, 0b00010000, 0b00000000, 0b00000000}
|
||||
#define CHR_QUESTIONMARK {0b01000000, 0b10000000, 0b10001010, 0b10010000, 0b01100000, 0b00000000}
|
||||
#define CHR_INTERROBANG {0b01100000, 0b10000000, 0b11101010, 0b10010000, 0b01100000, 0b00000000}
|
||||
#define CHR_LBRACKET {0b00000000, 0b11111110, 0b10000010, 0b10000010, 0b00000000, 0b00000000}
|
||||
#define CHR_RBRACKET {0b00000000, 0b10000010, 0b10000010, 0b11111110, 0b00000000, 0b00000000}
|
||||
#define CHR_BACKSLASH {0b01000000, 0b00100000, 0b00010000, 0b00001000, 0b00000100, 0b00000000}
|
||||
#define CHR_SEMICOLON {0b00000000, 0b00000000, 0b01101010, 0b01101100, 0b00000000, 0b00000000}
|
||||
#define CHR_APOSTROPHE {0b00000000, 0b00000000, 0b01110000, 0b00000000, 0b00000000, 0b00000000}
|
||||
#define CHR_COMMA {0b00000000, 0b00000000, 0b00001010, 0b00001100, 0b00000000, 0b00000000}
|
||||
#define CHR_PERIOD {0b00000000, 0b00000000, 0b00000110, 0b00000110, 0b00000000, 0b00000000}
|
||||
#define CHR_SLASH {0b00000100, 0b00001000, 0b00010000, 0b00100000, 0b01000000, 0b00000000}
|
||||
#define CHR_SPACE {0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000}
|
||||
#define CHR_DEGREES {0b11000000, 0b11000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000}
|
||||
|
||||
// Graphics
|
||||
#define CHR_CENT {0b00111000, 0b01000100, 0b11111110, 0b01000100, 0b00101000, 0b00000000}
|
||||
#define CHR_DEGREES_C {0b11000000, 0b11001100, 0b00010010, 0b00010010, 0b00000000, 0b00000000}
|
||||
#define CHR_DEGREES_F {0b11000000, 0b11011110, 0b00010100, 0b00010000, 0b00000000, 0b00000000}
|
||||
#define CHR_DIVISION {0b00010000, 0b00010000, 0b01010100, 0b00010000, 0b00010000, 0b00000000}
|
||||
#define CHR_LEFT_ARROW {0b00010000, 0b00111000, 0b01010100, 0b00010000, 0b00010000, 0b00000000}
|
||||
#define CHR_RIGHT_ARROW {0b00010000, 0b00010000, 0b01010100, 0b00111000, 0b00010000, 0b00000000}
|
||||
#define CHR_UP_ARROW {0b00010000, 0b00100000, 0b01111110, 0b00100000, 0b00010000, 0b00000000}
|
||||
#define CHR_DOWN_ARROW {0b00001000, 0b00000100, 0b01111110, 0b00000100, 0b00001000, 0b00000000}
|
||||
#define CHR_PI {0b00100010, 0b00111100, 0b00100000, 0b00111110, 0b00100010, 0b00000000}
|
||||
#define CHR_PSI {0b01111000, 0b00001000, 0b01111110, 0b00001000, 0b01111000, 0b00000000}
|
||||
|
||||
// Predefined messages
|
||||
#define MSG_FONTTEST {CHR_TILDE, CHR_BANG, CHR_AT, CHR_POUND, CHR_PERCENT, CHR_CARET, CHR_AMPERSAND, CHR_LPAREN, CHR_RPAREN, CHR_UNDERSCORE, CHR_PLUS, CHR_BACKTICK, CHR_1, CHR_2, CHR_3, CHR_4, CHR_5, CHR_6, CHR_7, CHR_8, CHR_9, CHR_0, CHR_DASH, CHR_EQUAL, CHR_A, CHR_B, CHR_C, CHR_D, CHR_E, CHR_F, CHR_G, CHR_H, CHR_I, CHR_J, CHR_K, CHR_L, CHR_M, CHR_N, CHR_O, CHR_P, CHR_Q, CHR_R, CHR_S, CHR_T, CHR_U, CHR_V, CHR_W, CHR_X, CHR_Y, CHR_Z, CHR_a, CHR_b, CHR_c, CHR_d, CHR_e, CHR_f, CHR_g, CHR_h, CHR_i, CHR_j, CHR_k, CHR_l, CHR_m, CHR_n, CHR_o, CHR_p, CHR_q, CHR_r, CHR_s, CHR_t, CHR_u, CHR_v, CHR_w, CHR_x, CHR_y, CHR_z, CHR_LCURLY, CHR_RCURLY, CHR_PIPE, CHR_COLON, CHR_QUOTE, CHR_LESSTHAN, CHR_GREATERTHAN, CHR_QUESTIONMARK, CHR_INTERROBANG, CHR_LBRACKET, CHR_RBRACKET, CHR_BACKSLASH, CHR_SEMICOLON, CHR_APOSTROPHE, CHR_COMMA, CHR_PERIOD, CHR_SLASH, CHR_CENT, CHR_DEGREES, CHR_DEGREES_C, CHR_DEGREES_F, CHR_DIVISION, CHR_LEFT_ARROW, CHR_RIGHT_ARROW, CHR_UP_ARROW, CHR_DOWN_ARROW, CHR_PI, CHR_PSI}
|
||||
#define MSG_FONTTEST_LEN 104
|
||||
|
||||
#define MSG_CLUEBOARD {CHR_INTERROBANG, CHR_C, CHR_l, CHR_u, CHR_e, CHR_b, CHR_o, CHR_a, CHR_r, CHR_d}
|
||||
#define MSG_CLUEBOARD_LEN 10
|
||||
|
||||
#define MSG_KONAMI {CHR_UP_ARROW, CHR_SPACE, CHR_UP_ARROW, CHR_SPACE, CHR_DOWN_ARROW, CHR_SPACE, CHR_DOWN_ARROW, CHR_SPACE, CHR_LEFT_ARROW, CHR_SPACE, CHR_RIGHT_ARROW, CHR_SPACE, CHR_LEFT_ARROW, CHR_SPACE, CHR_RIGHT_ARROW, CHR_SPACE, CHR_B, CHR_SPACE, CHR_A, CHR_SPACE, CHR_LESSTHAN, CHR_S, CHR_E, CHR_L, CHR_E, CHR_C, CHR_T, CHR_GREATERTHAN, CHR_SPACE, CHR_LESSTHAN, CHR_S, CHR_T, CHR_A, CHR_R, CHR_T, CHR_GREATERTHAN}
|
||||
#define MSG_KONAMI_LEN 36
|
||||
|
||||
#define MSG_QMK_POWERED {CHR_PSI, CHR_P, CHR_o, CHR_w, CHR_e, CHR_r, CHR_e, CHR_d, CHR_SPACE, CHR_b, CHR_y, CHR_SPACE, CHR_Q, CHR_M, CHR_K}
|
||||
#define MSG_QMK_POWERED_LEN 15
|
||||
|
|
@ -1,430 +0,0 @@
|
|||
{
|
||||
"manufacturer": "Clueboard",
|
||||
"keyboard_name": "Clueboard 2x1800 2021",
|
||||
"maintainer": "skullydazed",
|
||||
"bootloader": "halfkay",
|
||||
"diode_direction": "ROW2COL",
|
||||
"features": {
|
||||
"audio": true,
|
||||
"bootmagic": false,
|
||||
"console": true,
|
||||
"encoder": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"qmk": {
|
||||
"locking": {
|
||||
"enabled": true,
|
||||
"resync": true
|
||||
}
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "B5",
|
||||
"num_lock": "B4",
|
||||
"scroll_lock": "B6"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["D2", "D3", "D4", "D5", "D7", "E0", "E1", "F0", "E6", "A0", "E7"],
|
||||
"rows": ["C0", "C1", "C2", "C3", "C7", "F7", "F1", "F2", "F3", "F4", "F5", "F6"]
|
||||
},
|
||||
"processor": "at90usb1286",
|
||||
"usb": {
|
||||
"pid": "0x23A0"
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "D0", "pin_b": "D1"},
|
||||
{"pin_a": "C5", "pin_b": "C6"}
|
||||
]
|
||||
},
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_4u_space": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.75, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.25, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8.25, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9.25, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10.75, "y": 0},
|
||||
{"matrix": [6, 0], "x": 11.75, "y": 0},
|
||||
{"matrix": [6, 1], "x": 12.75, "y": 0},
|
||||
{"matrix": [6, 2], "x": 13.75, "y": 0},
|
||||
{"matrix": [6, 3], "x": 15.25, "y": 0},
|
||||
{"matrix": [6, 4], "x": 16.25, "y": 0},
|
||||
{"matrix": [6, 5], "x": 17.25, "y": 0},
|
||||
{"matrix": [6, 6], "x": 18.25, "y": 0},
|
||||
{"matrix": [6, 7], "x": 20, "y": 0},
|
||||
{"matrix": [6, 8], "x": 21, "y": 0},
|
||||
{"matrix": [6, 9], "x": 22, "y": 0},
|
||||
{"matrix": [6, 10], "x": 23, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1.25},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1.25},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1.25},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1.25},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1.25},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1.25},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1.25},
|
||||
{"matrix": [7, 0], "x": 11.5, "y": 1.25},
|
||||
{"matrix": [7, 1], "x": 12.5, "y": 1.25},
|
||||
{"matrix": [7, 2], "x": 13.5, "y": 1.25},
|
||||
{"matrix": [7, 3], "x": 14.5, "y": 1.25},
|
||||
{"matrix": [7, 4], "x": 15.5, "y": 1.25},
|
||||
{"matrix": [7, 5], "x": 16.5, "y": 1.25},
|
||||
{"matrix": [7, 6], "w": 2, "x": 17.5, "y": 1.25},
|
||||
{"matrix": [7, 7], "x": 20, "y": 1.25},
|
||||
{"matrix": [7, 8], "x": 21, "y": 1.25},
|
||||
{"matrix": [7, 9], "x": 22, "y": 1.25},
|
||||
{"matrix": [7, 10], "x": 23, "y": 1.25},
|
||||
{"h": 2, "matrix": [2, 0], "x": 0, "y": 2.25},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2.25},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2.25},
|
||||
{"matrix": [2, 4], "w": 1.5, "x": 4.5, "y": 2.25},
|
||||
{"matrix": [2, 5], "x": 6, "y": 2.25},
|
||||
{"matrix": [2, 6], "x": 7, "y": 2.25},
|
||||
{"matrix": [2, 7], "x": 8, "y": 2.25},
|
||||
{"matrix": [2, 8], "x": 9, "y": 2.25},
|
||||
{"matrix": [2, 9], "x": 10, "y": 2.25},
|
||||
{"matrix": [2, 10], "x": 11, "y": 2.25},
|
||||
{"matrix": [8, 0], "x": 12, "y": 2.25},
|
||||
{"matrix": [8, 1], "x": 13, "y": 2.25},
|
||||
{"matrix": [8, 2], "x": 14, "y": 2.25},
|
||||
{"matrix": [8, 3], "x": 15, "y": 2.25},
|
||||
{"matrix": [8, 4], "x": 16, "y": 2.25},
|
||||
{"matrix": [8, 5], "x": 17, "y": 2.25},
|
||||
{"matrix": [8, 6], "w": 1.5, "x": 18, "y": 2.25},
|
||||
{"matrix": [8, 7], "x": 20, "y": 2.25},
|
||||
{"matrix": [8, 8], "x": 21, "y": 2.25},
|
||||
{"matrix": [8, 9], "x": 22, "y": 2.25},
|
||||
{"h": 2, "matrix": [8, 10], "x": 23, "y": 2.25},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3.25},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3.25},
|
||||
{"matrix": [3, 4], "w": 1.75, "x": 4.5, "y": 3.25},
|
||||
{"matrix": [3, 5], "x": 6.25, "y": 3.25},
|
||||
{"matrix": [3, 6], "x": 7.25, "y": 3.25},
|
||||
{"matrix": [3, 7], "x": 8.25, "y": 3.25},
|
||||
{"matrix": [3, 8], "x": 9.25, "y": 3.25},
|
||||
{"matrix": [3, 9], "x": 10.25, "y": 3.25},
|
||||
{"matrix": [3, 10], "x": 11.25, "y": 3.25},
|
||||
{"matrix": [9, 0], "x": 12.25, "y": 3.25},
|
||||
{"matrix": [9, 1], "x": 13.25, "y": 3.25},
|
||||
{"matrix": [9, 2], "x": 14.25, "y": 3.25},
|
||||
{"matrix": [9, 3], "x": 15.25, "y": 3.25},
|
||||
{"matrix": [9, 4], "x": 16.25, "y": 3.25},
|
||||
{"matrix": [9, 5], "w": 2.25, "x": 17.25, "y": 3.25},
|
||||
{"matrix": [9, 7], "x": 20, "y": 3.25},
|
||||
{"matrix": [9, 8], "x": 21, "y": 3.25},
|
||||
{"matrix": [9, 9], "x": 22, "y": 3.25},
|
||||
{"h": 2, "matrix": [4, 0], "x": 0, "y": 4.25},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4.25},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4.25},
|
||||
{"matrix": [4, 3], "x": 3, "y": 4.25},
|
||||
{"matrix": [4, 4], "w": 1.25, "x": 5.5, "y": 4.25},
|
||||
{"matrix": [4, 5], "x": 6.75, "y": 4.25},
|
||||
{"matrix": [4, 6], "x": 7.75, "y": 4.25},
|
||||
{"matrix": [4, 7], "x": 8.75, "y": 4.25},
|
||||
{"matrix": [4, 8], "x": 9.75, "y": 4.25},
|
||||
{"matrix": [4, 9], "x": 10.75, "y": 4.25},
|
||||
{"matrix": [4, 10], "x": 11.75, "y": 4.25},
|
||||
{"matrix": [10, 0], "x": 12.75, "y": 4.25},
|
||||
{"matrix": [10, 1], "x": 13.75, "y": 4.25},
|
||||
{"matrix": [10, 2], "x": 14.75, "y": 4.25},
|
||||
{"matrix": [10, 3], "x": 15.75, "y": 4.25},
|
||||
{"matrix": [10, 4], "w": 1.75, "x": 16.75, "y": 4.25},
|
||||
{"matrix": [10, 5], "x": 20, "y": 4.25},
|
||||
{"matrix": [9, 6], "x": 21, "y": 4.25},
|
||||
{"matrix": [10, 7], "x": 22, "y": 4.25},
|
||||
{"h": 2, "matrix": [10, 8], "x": 23, "y": 4.25},
|
||||
{"matrix": [10, 9], "x": 4.25, "y": 4.5},
|
||||
{"matrix": [10, 10], "x": 18.75, "y": 4.5},
|
||||
{"matrix": [5, 1], "x": 1, "y": 5.25},
|
||||
{"matrix": [5, 2], "x": 2, "y": 5.25},
|
||||
{"matrix": [5, 3], "x": 6.5, "y": 5.25},
|
||||
{"matrix": [5, 4], "x": 7.5, "y": 5.25},
|
||||
{"matrix": [5, 5], "x": 8.5, "y": 5.25},
|
||||
{"matrix": [5, 6], "w": 4, "x": 9.5, "y": 5.25},
|
||||
{"matrix": [5, 7], "x": 13.5, "y": 5.25},
|
||||
{"matrix": [5, 8], "x": 14.5, "y": 5.25},
|
||||
{"matrix": [11, 0], "x": 15.5, "y": 5.25},
|
||||
{"matrix": [11, 2], "x": 16.5, "y": 5.25},
|
||||
{"matrix": [11, 3], "x": 21, "y": 5.25},
|
||||
{"matrix": [11, 4], "x": 22, "y": 5.25},
|
||||
{"matrix": [11, 5], "x": 3.25, "y": 5.5},
|
||||
{"matrix": [10, 6], "x": 4.25, "y": 5.5},
|
||||
{"matrix": [11, 6], "x": 5.25, "y": 5.5},
|
||||
{"matrix": [11, 7], "x": 17.75, "y": 5.5},
|
||||
{"matrix": [11, 8], "x": 18.75, "y": 5.5},
|
||||
{"matrix": [11, 9], "x": 19.75, "y": 5.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_7u_space": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.75, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.25, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8.25, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9.25, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10.75, "y": 0},
|
||||
{"matrix": [6, 0], "x": 11.75, "y": 0},
|
||||
{"matrix": [6, 1], "x": 12.75, "y": 0},
|
||||
{"matrix": [6, 2], "x": 13.75, "y": 0},
|
||||
{"matrix": [6, 3], "x": 15.25, "y": 0},
|
||||
{"matrix": [6, 4], "x": 16.25, "y": 0},
|
||||
{"matrix": [6, 5], "x": 17.25, "y": 0},
|
||||
{"matrix": [6, 6], "x": 18.25, "y": 0},
|
||||
{"matrix": [6, 7], "x": 20, "y": 0},
|
||||
{"matrix": [6, 8], "x": 21, "y": 0},
|
||||
{"matrix": [6, 9], "x": 22, "y": 0},
|
||||
{"matrix": [6, 10], "x": 23, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1.25},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1.25},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1.25},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1.25},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1.25},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1.25},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1.25},
|
||||
{"matrix": [7, 0], "x": 11.5, "y": 1.25},
|
||||
{"matrix": [7, 1], "x": 12.5, "y": 1.25},
|
||||
{"matrix": [7, 2], "x": 13.5, "y": 1.25},
|
||||
{"matrix": [7, 3], "x": 14.5, "y": 1.25},
|
||||
{"matrix": [7, 4], "x": 15.5, "y": 1.25},
|
||||
{"matrix": [7, 5], "x": 16.5, "y": 1.25},
|
||||
{"matrix": [7, 6], "w": 2, "x": 17.5, "y": 1.25},
|
||||
{"matrix": [7, 7], "x": 20, "y": 1.25},
|
||||
{"matrix": [7, 8], "x": 21, "y": 1.25},
|
||||
{"matrix": [7, 9], "x": 22, "y": 1.25},
|
||||
{"matrix": [7, 10], "x": 23, "y": 1.25},
|
||||
{"h": 2, "matrix": [2, 0], "x": 0, "y": 2.25},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2.25},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2.25},
|
||||
{"matrix": [2, 4], "w": 1.5, "x": 4.5, "y": 2.25},
|
||||
{"matrix": [2, 5], "x": 6, "y": 2.25},
|
||||
{"matrix": [2, 6], "x": 7, "y": 2.25},
|
||||
{"matrix": [2, 7], "x": 8, "y": 2.25},
|
||||
{"matrix": [2, 8], "x": 9, "y": 2.25},
|
||||
{"matrix": [2, 9], "x": 10, "y": 2.25},
|
||||
{"matrix": [2, 10], "x": 11, "y": 2.25},
|
||||
{"matrix": [8, 0], "x": 12, "y": 2.25},
|
||||
{"matrix": [8, 1], "x": 13, "y": 2.25},
|
||||
{"matrix": [8, 2], "x": 14, "y": 2.25},
|
||||
{"matrix": [8, 3], "x": 15, "y": 2.25},
|
||||
{"matrix": [8, 4], "x": 16, "y": 2.25},
|
||||
{"matrix": [8, 5], "x": 17, "y": 2.25},
|
||||
{"matrix": [8, 6], "w": 1.5, "x": 18, "y": 2.25},
|
||||
{"matrix": [8, 7], "x": 20, "y": 2.25},
|
||||
{"matrix": [8, 8], "x": 21, "y": 2.25},
|
||||
{"matrix": [8, 9], "x": 22, "y": 2.25},
|
||||
{"h": 2, "matrix": [8, 10], "x": 23, "y": 2.25},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3.25},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3.25},
|
||||
{"matrix": [3, 4], "w": 1.75, "x": 4.5, "y": 3.25},
|
||||
{"matrix": [3, 5], "x": 6.25, "y": 3.25},
|
||||
{"matrix": [3, 6], "x": 7.25, "y": 3.25},
|
||||
{"matrix": [3, 7], "x": 8.25, "y": 3.25},
|
||||
{"matrix": [3, 8], "x": 9.25, "y": 3.25},
|
||||
{"matrix": [3, 9], "x": 10.25, "y": 3.25},
|
||||
{"matrix": [3, 10], "x": 11.25, "y": 3.25},
|
||||
{"matrix": [9, 0], "x": 12.25, "y": 3.25},
|
||||
{"matrix": [9, 1], "x": 13.25, "y": 3.25},
|
||||
{"matrix": [9, 2], "x": 14.25, "y": 3.25},
|
||||
{"matrix": [9, 3], "x": 15.25, "y": 3.25},
|
||||
{"matrix": [9, 4], "x": 16.25, "y": 3.25},
|
||||
{"matrix": [9, 5], "w": 2.25, "x": 17.25, "y": 3.25},
|
||||
{"matrix": [9, 7], "x": 20, "y": 3.25},
|
||||
{"matrix": [9, 8], "x": 21, "y": 3.25},
|
||||
{"matrix": [9, 9], "x": 22, "y": 3.25},
|
||||
{"h": 2, "matrix": [4, 0], "x": 0, "y": 4.25},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4.25},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4.25},
|
||||
{"matrix": [4, 3], "x": 3, "y": 4.25},
|
||||
{"matrix": [4, 4], "w": 1.25, "x": 5.5, "y": 4.25},
|
||||
{"matrix": [4, 5], "x": 6.75, "y": 4.25},
|
||||
{"matrix": [4, 6], "x": 7.75, "y": 4.25},
|
||||
{"matrix": [4, 7], "x": 8.75, "y": 4.25},
|
||||
{"matrix": [4, 8], "x": 9.75, "y": 4.25},
|
||||
{"matrix": [4, 9], "x": 10.75, "y": 4.25},
|
||||
{"matrix": [4, 10], "x": 11.75, "y": 4.25},
|
||||
{"matrix": [10, 0], "x": 12.75, "y": 4.25},
|
||||
{"matrix": [10, 1], "x": 13.75, "y": 4.25},
|
||||
{"matrix": [10, 2], "x": 14.75, "y": 4.25},
|
||||
{"matrix": [10, 3], "x": 15.75, "y": 4.25},
|
||||
{"matrix": [10, 4], "w": 1.75, "x": 16.75, "y": 4.25},
|
||||
{"matrix": [10, 5], "x": 20, "y": 4.25},
|
||||
{"matrix": [9, 6], "x": 21, "y": 4.25},
|
||||
{"matrix": [10, 7], "x": 22, "y": 4.25},
|
||||
{"h": 2, "matrix": [10, 8], "x": 23, "y": 4.25},
|
||||
{"matrix": [10, 9], "x": 4.25, "y": 4.5},
|
||||
{"matrix": [10, 10], "x": 18.75, "y": 4.5},
|
||||
{"matrix": [5, 1], "x": 1, "y": 5.25},
|
||||
{"matrix": [5, 2], "x": 2, "y": 5.25},
|
||||
{"matrix": [5, 3], "x": 6.5, "y": 5.25},
|
||||
{"matrix": [5, 4], "x": 7.5, "y": 5.25},
|
||||
{"matrix": [5, 5], "w": 7, "x": 8.5, "y": 5.25},
|
||||
{"matrix": [5, 6], "x": 15.5, "y": 5.25},
|
||||
{"matrix": [5, 7], "x": 16.5, "y": 5.25},
|
||||
{"matrix": [11, 0], "x": 21, "y": 5.25},
|
||||
{"matrix": [11, 4], "x": 22, "y": 5.25},
|
||||
{"matrix": [11, 5], "x": 3.25, "y": 5.5},
|
||||
{"matrix": [10, 6], "x": 4.25, "y": 5.5},
|
||||
{"matrix": [11, 6], "x": 5.25, "y": 5.5},
|
||||
{"matrix": [11, 7], "x": 17.75, "y": 5.5},
|
||||
{"matrix": [11, 8], "x": 18.75, "y": 5.5},
|
||||
{"matrix": [11, 9], "x": 19.75, "y": 5.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label": "Home", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "End", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "PgUp", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "PgDn", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "Esc", "matrix": [0, 4], "x": 4.75, "y": 0},
|
||||
{"label": "F1", "matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"label": "F2", "matrix": [0, 7], "x": 7.25, "y": 0},
|
||||
{"label": "F3", "matrix": [0, 8], "x": 8.25, "y": 0},
|
||||
{"label": "F4", "matrix": [0, 9], "x": 9.25, "y": 0},
|
||||
{"label": "F5", "matrix": [0, 10], "x": 10.75, "y": 0},
|
||||
{"label": "F6", "matrix": [6, 0], "x": 11.75, "y": 0},
|
||||
{"label": "F7", "matrix": [6, 1], "x": 12.75, "y": 0},
|
||||
{"label": "F8", "matrix": [6, 2], "x": 13.75, "y": 0},
|
||||
{"label": "F9", "matrix": [6, 3], "x": 15.25, "y": 0},
|
||||
{"label": "F10", "matrix": [6, 4], "x": 16.25, "y": 0},
|
||||
{"label": "F11", "matrix": [6, 5], "x": 17.25, "y": 0},
|
||||
{"label": "F12", "matrix": [6, 6], "x": 18.25, "y": 0},
|
||||
{"label": "PrtSc", "matrix": [6, 7], "x": 20, "y": 0},
|
||||
{"label": "Scroll Lock", "matrix": [6, 8], "x": 21, "y": 0},
|
||||
{"label": "Pause", "matrix": [6, 9], "x": 22, "y": 0},
|
||||
{"label": "Insert", "matrix": [6, 10], "x": 23, "y": 0},
|
||||
{"label": "-", "matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"label": "Num Lock", "matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"label": "/", "matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"label": "*", "matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"label": "~", "matrix": [1, 4], "x": 4.5, "y": 1.25},
|
||||
{"label": "!", "matrix": [1, 5], "x": 5.5, "y": 1.25},
|
||||
{"label": "@", "matrix": [1, 6], "x": 6.5, "y": 1.25},
|
||||
{"label": "#", "matrix": [1, 7], "x": 7.5, "y": 1.25},
|
||||
{"label": "$", "matrix": [1, 8], "x": 8.5, "y": 1.25},
|
||||
{"label": "%", "matrix": [1, 9], "x": 9.5, "y": 1.25},
|
||||
{"label": "^", "matrix": [1, 10], "x": 10.5, "y": 1.25},
|
||||
{"label": "&", "matrix": [7, 0], "x": 11.5, "y": 1.25},
|
||||
{"label": "*", "matrix": [7, 1], "x": 12.5, "y": 1.25},
|
||||
{"label": "(", "matrix": [7, 2], "x": 13.5, "y": 1.25},
|
||||
{"label": ")", "matrix": [7, 3], "x": 14.5, "y": 1.25},
|
||||
{"label": "_", "matrix": [7, 4], "x": 15.5, "y": 1.25},
|
||||
{"label": "+", "matrix": [7, 5], "x": 16.5, "y": 1.25},
|
||||
{"label": "Backspace", "matrix": [7, 6], "w": 2, "x": 17.5, "y": 1.25},
|
||||
{"label": "Num Lock", "matrix": [7, 7], "x": 20, "y": 1.25},
|
||||
{"label": "/", "matrix": [7, 8], "x": 21, "y": 1.25},
|
||||
{"label": "*", "matrix": [7, 9], "x": 22, "y": 1.25},
|
||||
{"label": "-", "matrix": [7, 10], "x": 23, "y": 1.25},
|
||||
{"h": 2, "label": "+", "matrix": [2, 0], "x": 0, "y": 2.25},
|
||||
{"label": "7", "matrix": [2, 1], "x": 1, "y": 2.25},
|
||||
{"label": "8", "matrix": [2, 2], "x": 2, "y": 2.25},
|
||||
{"label": "9", "matrix": [2, 3], "x": 3, "y": 2.25},
|
||||
{"label": "Tab", "matrix": [2, 4], "w": 1.5, "x": 4.5, "y": 2.25},
|
||||
{"label": "Q", "matrix": [2, 5], "x": 6, "y": 2.25},
|
||||
{"label": "W", "matrix": [2, 6], "x": 7, "y": 2.25},
|
||||
{"label": "E", "matrix": [2, 7], "x": 8, "y": 2.25},
|
||||
{"label": "R", "matrix": [2, 8], "x": 9, "y": 2.25},
|
||||
{"label": "T", "matrix": [2, 9], "x": 10, "y": 2.25},
|
||||
{"label": "Y", "matrix": [2, 10], "x": 11, "y": 2.25},
|
||||
{"label": "U", "matrix": [8, 0], "x": 12, "y": 2.25},
|
||||
{"label": "I", "matrix": [8, 1], "x": 13, "y": 2.25},
|
||||
{"label": "O", "matrix": [8, 2], "x": 14, "y": 2.25},
|
||||
{"label": "P", "matrix": [8, 3], "x": 15, "y": 2.25},
|
||||
{"label": "{", "matrix": [8, 4], "x": 16, "y": 2.25},
|
||||
{"label": "}", "matrix": [8, 5], "x": 17, "y": 2.25},
|
||||
{"label": "|", "matrix": [8, 6], "w": 1.5, "x": 18, "y": 2.25},
|
||||
{"label": "7", "matrix": [8, 7], "x": 20, "y": 2.25},
|
||||
{"label": "8", "matrix": [8, 8], "x": 21, "y": 2.25},
|
||||
{"label": "9", "matrix": [8, 9], "x": 22, "y": 2.25},
|
||||
{"h": 2, "label": "+", "matrix": [8, 10], "x": 23, "y": 2.25},
|
||||
{"label": "4", "matrix": [3, 1], "x": 1, "y": 3.25},
|
||||
{"label": "5", "matrix": [3, 2], "x": 2, "y": 3.25},
|
||||
{"label": "6", "matrix": [3, 3], "x": 3, "y": 3.25},
|
||||
{"label": "Caps Lock", "matrix": [3, 4], "w": 1.75, "x": 4.5, "y": 3.25},
|
||||
{"label": "A", "matrix": [3, 5], "x": 6.25, "y": 3.25},
|
||||
{"label": "S", "matrix": [3, 6], "x": 7.25, "y": 3.25},
|
||||
{"label": "D", "matrix": [3, 7], "x": 8.25, "y": 3.25},
|
||||
{"label": "F", "matrix": [3, 8], "x": 9.25, "y": 3.25},
|
||||
{"label": "G", "matrix": [3, 9], "x": 10.25, "y": 3.25},
|
||||
{"label": "H", "matrix": [3, 10], "x": 11.25, "y": 3.25},
|
||||
{"label": "J", "matrix": [9, 0], "x": 12.25, "y": 3.25},
|
||||
{"label": "K", "matrix": [9, 1], "x": 13.25, "y": 3.25},
|
||||
{"label": "L", "matrix": [9, 2], "x": 14.25, "y": 3.25},
|
||||
{"label": ":", "matrix": [9, 3], "x": 15.25, "y": 3.25},
|
||||
{"label": "\"", "matrix": [9, 4], "x": 16.25, "y": 3.25},
|
||||
{"label": "Enter", "matrix": [9, 5], "w": 2.25, "x": 17.25, "y": 3.25},
|
||||
{"label": "4", "matrix": [9, 7], "x": 20, "y": 3.25},
|
||||
{"label": "5", "matrix": [9, 8], "x": 21, "y": 3.25},
|
||||
{"label": "6", "matrix": [9, 9], "x": 22, "y": 3.25},
|
||||
{"h": 2, "label": "Enter", "matrix": [4, 0], "x": 0, "y": 4.25},
|
||||
{"label": "1", "matrix": [4, 1], "x": 1, "y": 4.25},
|
||||
{"label": "2", "matrix": [4, 2], "x": 2, "y": 4.25},
|
||||
{"label": "3", "matrix": [4, 3], "x": 3, "y": 4.25},
|
||||
{"label": "\\u2191", "matrix": [4, 4], "x": 4.25, "y": 4.5},
|
||||
{"label": "Shift", "matrix": [4, 5], "w": 1.25, "x": 5.5, "y": 4.25},
|
||||
{"label": "Z", "matrix": [4, 6], "x": 6.75, "y": 4.25},
|
||||
{"label": "X", "matrix": [4, 7], "x": 7.75, "y": 4.25},
|
||||
{"label": "C", "matrix": [4, 8], "x": 8.75, "y": 4.25},
|
||||
{"label": "V", "matrix": [4, 9], "x": 9.75, "y": 4.25},
|
||||
{"label": "B", "matrix": [4, 10], "x": 10.75, "y": 4.25},
|
||||
{"label": "N", "matrix": [10, 0], "x": 11.75, "y": 4.25},
|
||||
{"label": "M", "matrix": [10, 1], "x": 12.75, "y": 4.25},
|
||||
{"label": "<", "matrix": [10, 2], "x": 13.75, "y": 4.25},
|
||||
{"label": ">", "matrix": [10, 3], "x": 14.75, "y": 4.25},
|
||||
{"label": "?", "matrix": [10, 4], "x": 15.75, "y": 4.25},
|
||||
{"label": "Shift", "matrix": [10, 5], "w": 1.75, "x": 16.75, "y": 4.25},
|
||||
{"label": "\\u2191", "matrix": [9, 6], "x": 18.75, "y": 4.5},
|
||||
{"label": "1", "matrix": [10, 7], "x": 20, "y": 4.25},
|
||||
{"label": "2", "matrix": [10, 8], "x": 21, "y": 4.25},
|
||||
{"label": "3", "matrix": [10, 9], "x": 22, "y": 4.25},
|
||||
{"h": 2, "label": "Enter", "matrix": [10, 10], "x": 23, "y": 4.25},
|
||||
{"label": "0", "matrix": [5, 1], "x": 1, "y": 5.25},
|
||||
{"label": ".", "matrix": [5, 2], "x": 2, "y": 5.25},
|
||||
{"label": "\\u2190", "matrix": [5, 3], "x": 3.25, "y": 5.5},
|
||||
{"label": "\\u2193", "matrix": [5, 4], "x": 4.25, "y": 5.5},
|
||||
{"label": "\\u2192", "matrix": [5, 5], "x": 5.25, "y": 5.5},
|
||||
{"label": "Ctrl", "matrix": [5, 6], "x": 6.5, "y": 5.25},
|
||||
{"label": "Win", "matrix": [5, 7], "x": 7.5, "y": 5.25},
|
||||
{"label": "Alt", "matrix": [5, 8], "x": 8.5, "y": 5.25},
|
||||
{"label": "1u", "matrix": [5, 9], "x": 9.5, "y": 5.25},
|
||||
{"label": "1u", "matrix": [5, 10], "x": 10.5, "y": 5.25},
|
||||
{"label": "1u", "matrix": [11, 0], "x": 11.5, "y": 5.25},
|
||||
{"label": "1u", "matrix": [11, 1], "x": 12.5, "y": 5.25},
|
||||
{"label": "Alt", "matrix": [11, 2], "x": 13.5, "y": 5.25},
|
||||
{"label": "Win", "matrix": [11, 3], "x": 14.5, "y": 5.25},
|
||||
{"label": "Menu", "matrix": [11, 4], "x": 15.5, "y": 5.25},
|
||||
{"label": "Ctrl", "matrix": [11, 5], "x": 16.5, "y": 5.25},
|
||||
{"label": "\\u2190", "matrix": [10, 6], "x": 17.75, "y": 5.5},
|
||||
{"label": "\\u2193", "matrix": [11, 6], "x": 18.75, "y": 5.5},
|
||||
{"label": "\\u2192", "matrix": [11, 7], "x": 19.75, "y": 5.5},
|
||||
{"label": "0", "matrix": [11, 8], "x": 21, "y": 5.25},
|
||||
{"label": ".", "matrix": [11, 9], "x": 22, "y": 5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"version": 1,
|
||||
"author": "skullydazed",
|
||||
"notes": "",
|
||||
"keyboard": "clueboard/2x1800/2021",
|
||||
"keymap": "default",
|
||||
"layout": "LAYOUT_all",
|
||||
"layers": [
|
||||
[
|
||||
"KC_HOME", "KC_END", "KC_PGUP", "KC_PGDN", "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_SCRL", "KC_PAUS", "KC_INS",
|
||||
"KC_PMNS", "KC_NUM", "KC_PSLS", "KC_PAST", "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_NUM", "KC_PSLS", "KC_PAST", "KC_PMNS",
|
||||
"KC_PPLS", "KC_P7", "KC_P8", "KC_P9", "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_P7", "KC_P8", "KC_P9", "KC_PPLS",
|
||||
"KC_P4", "KC_P5", "KC_P6", "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_P4", "KC_P5", "KC_P6",
|
||||
"KC_PENT", "KC_P1", "KC_P2", "KC_P3", "KC_UP", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_P1", "KC_P2", "KC_P3", "KC_PENT",
|
||||
"KC_P0", "KC_PDOT", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_SPC", "KC_SPC", "KC_SPC", "KC_RALT", "KC_RGUI", "KC_APP", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_P0", "KC_PDOT"
|
||||
]
|
||||
]
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_4u_space(
|
||||
KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SCRL, KC_PAUS, KC_INS,
|
||||
|
||||
KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
KC_P4, KC_P5, KC_P6, 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_P4, KC_P5, KC_P6,
|
||||
KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||
)
|
||||
};
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_7u_space(
|
||||
KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SCRL, KC_PAUS, KC_DEL,
|
||||
|
||||
KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, 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_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
KC_P4, KC_P5, KC_P6, 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_P4, KC_P5, KC_P6,
|
||||
KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||
)
|
||||
};
|
||||
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
float song_one_up[][2] = SONG(ONE_UP_SOUND);
|
||||
#endif
|
||||
|
||||
volatile uint8_t runonce = true;
|
||||
static uint16_t my_timer;
|
||||
|
||||
void matrix_init_user(void) {
|
||||
my_timer = timer_read();
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
if (runonce && timer_elapsed(my_timer) > 500) {
|
||||
runonce = false;
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(song_one_up);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
@ -1,322 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Zach White <skullydazed@gmail.com>
|
||||
* Copyright (c) 2007 Eberhard Fahle
|
||||
*
|
||||
* max7219.c - A library for controling Leds with a MAX7219/MAX7221
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* This permission notice shall be included in all copies or
|
||||
* substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This driver started as a port of Arduino's LedControl to QMK. The
|
||||
* original Arduino code can be found here:
|
||||
*
|
||||
* https://github.com/wayoda/LedControl
|
||||
*
|
||||
* Unlike LedControl we are using the native SPI support, you will need to
|
||||
* use the native SPI pins for your MCU. You can set the CS pin with
|
||||
* `#define MAX7219_LOAD <pin>`.
|
||||
*
|
||||
* This has only been tested on AVR, specifically a Teensy 2.0++.
|
||||
*/
|
||||
|
||||
#include "max7219.h"
|
||||
#include "spi_master.h"
|
||||
#include "debug.h"
|
||||
#include "gpio.h"
|
||||
#include "wait.h"
|
||||
#include "font.h"
|
||||
|
||||
// Datastructures
|
||||
bool max7219_led_scrolling = true;
|
||||
uint16_t max7219_buffer_end = 0;
|
||||
uint8_t max7219_spidata[MAX_BYTES];
|
||||
uint8_t max7219_led_a[8][MAX7219_BUFFER_SIZE];
|
||||
|
||||
/* Write max7219_spidata to all the max7219's
|
||||
*/
|
||||
void max7219_write_all(void) {
|
||||
dprintf("max7219_write_all()\n");
|
||||
if (spi_start(MAX7219_LOAD, false, 0, 8)) {
|
||||
for(int i = MAX_BYTES; i>0; i--) {
|
||||
dprintf("spi_write(%d)\n", max7219_spidata[i-1]);
|
||||
spi_write(max7219_spidata[i-1]);
|
||||
}
|
||||
spi_stop();
|
||||
} else {
|
||||
xprintf("Could not spi_start!\n");
|
||||
}
|
||||
}
|
||||
|
||||
/* Write the current frame in max7219_led_a to all the max7219's
|
||||
*/
|
||||
void max7219_write_frame(void) {
|
||||
dprintf("max7219_write_frame()\n");
|
||||
|
||||
// Set our opcode and data
|
||||
for (int col=0; col<8; col++) {
|
||||
for (int device_num=0; device_num<MAX7219_CONTROLLERS; device_num++) {
|
||||
int offset=device_num*2;
|
||||
max7219_spidata[offset] = max7219_led_a[col][device_num];
|
||||
max7219_spidata[offset+1] = col+1;
|
||||
}
|
||||
max7219_write_all();
|
||||
}
|
||||
}
|
||||
|
||||
/* Stores a message in the sign buffer.
|
||||
*
|
||||
* message should be a 2d array with the outer array having a length of your
|
||||
* message and the inner array having a length of 6. Use the CHR_<letter>
|
||||
* macros from font.h to populate your array.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* uint8_t message[10][6] = {CHR_INTERROBANG, CHR_C, CHR_l, CHR_u, CHR_e, CHR_b, CHR_o, CHR_a, CHR_r, CHR_d};
|
||||
* max7219_message(message, 10);
|
||||
*/
|
||||
void max7219_message_sign(uint8_t message[][6], size_t message_len) {
|
||||
uint8_t letter_num = 0;
|
||||
uint8_t letter_col = 0;
|
||||
max7219_buffer_end = message_len * 6 + 32;
|
||||
|
||||
for (int device_num=0; device_num<MAX7219_BUFFER_SIZE; device_num++) {
|
||||
for (int col=0; col<8; col++) {
|
||||
if (letter_num >= message_len) {
|
||||
max7219_led_a[col][device_num] = 0b00000000;
|
||||
} else {
|
||||
max7219_led_a[col][device_num] = message[letter_num][letter_col];
|
||||
if (letter_col == 5) {
|
||||
letter_num++;
|
||||
letter_col = 0;
|
||||
} else {
|
||||
letter_col++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
max7219_write_frame();
|
||||
}
|
||||
|
||||
/* Scroll the content on the sign left by 1 column.
|
||||
*
|
||||
* When loop_message is true columns that slide off the left will be added
|
||||
* to the right to be displayed again.
|
||||
*/
|
||||
void max7219_message_sign_task(bool loop_message) {
|
||||
uint8_t left_col = 0b00000000;
|
||||
|
||||
if (!max7219_led_scrolling) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (loop_message) {
|
||||
left_col = max7219_led_a[0][0];
|
||||
}
|
||||
|
||||
int i=0;
|
||||
|
||||
for (int device_num=0; device_num<MAX7219_BUFFER_SIZE; device_num++) {
|
||||
for (int col=0; col<8; col++) {
|
||||
i++;
|
||||
|
||||
if (i == max7219_buffer_end) {
|
||||
max7219_led_a[col][device_num] = left_col;
|
||||
device_num=MAX7219_BUFFER_SIZE;
|
||||
break;
|
||||
} else if (col < 7) {
|
||||
max7219_led_a[col][device_num] = max7219_led_a[col+1][device_num];
|
||||
} else if (device_num == MAX7219_BUFFER_SIZE-1) {
|
||||
max7219_led_a[col][device_num] = left_col;
|
||||
} else {
|
||||
max7219_led_a[col][device_num] = max7219_led_a[0][device_num+1];
|
||||
}
|
||||
}
|
||||
}
|
||||
max7219_write_frame();
|
||||
}
|
||||
|
||||
/* Write data to a single max7219
|
||||
*/
|
||||
void max7219_write(int device_num, volatile uint8_t opcode, volatile uint8_t data) {
|
||||
dprintf("max7219_write(%d, %d, %d)\n", device_num, opcode, data);
|
||||
|
||||
// Clear the data array
|
||||
for(int i = MAX_BYTES; i>0; i--) {
|
||||
max7219_spidata[i-1]=0;
|
||||
}
|
||||
|
||||
// Set our opcode and data
|
||||
uint8_t offset = device_num*2;
|
||||
max7219_spidata[offset] = data;
|
||||
max7219_spidata[offset+1] = opcode;
|
||||
|
||||
// Write the data
|
||||
max7219_write_all();
|
||||
}
|
||||
|
||||
/* Turn off all the LEDs
|
||||
*/
|
||||
void max7219_clear_display(void) {
|
||||
dprintf("max7219_clear_display();\n");
|
||||
|
||||
for (int col=0; col<8; col++) {
|
||||
for (int device_num=0; device_num<MAX7219_BUFFER_SIZE; device_num++) {
|
||||
max7219_led_a[col][device_num] = 0b00000000;
|
||||
}
|
||||
}
|
||||
max7219_write_frame();
|
||||
}
|
||||
|
||||
/* Enable the display test (IE turn on all 64 LEDs)
|
||||
*/
|
||||
void max7219_display_test(int device_num, bool enabled) {
|
||||
dprintf("max7219_display_test(%d, %d);\n", device_num, enabled);
|
||||
|
||||
if (device_num<0 || device_num >= MAX7219_CONTROLLERS) {
|
||||
return;
|
||||
}
|
||||
|
||||
max7219_write(device_num, OP_DISPLAYTEST, enabled);
|
||||
}
|
||||
|
||||
/* Initialize the max7219 system and set the controller(s) to a default state.
|
||||
*/
|
||||
void max7219_init(void) {
|
||||
wait_ms(1500);
|
||||
dprintf("max7219_init()\n");
|
||||
|
||||
gpio_set_pin_output(MAX7219_LOAD);
|
||||
gpio_write_pin_high(MAX7219_LOAD);
|
||||
spi_init();
|
||||
|
||||
for (int i=0; i<MAX7219_CONTROLLERS; i++) {
|
||||
max7219_shutdown(i, true);
|
||||
}
|
||||
|
||||
for (int i=0; i<MAX7219_CONTROLLERS; i++) {
|
||||
// Reset everything to defaults and enable the display
|
||||
max7219_display_test(i, false);
|
||||
max7219_set_scan_limit(i, 7);
|
||||
max7219_set_decode_mode(i, 0);
|
||||
max7219_set_intensity(i, MAX7219_LED_INTENSITY);
|
||||
}
|
||||
|
||||
max7219_clear_display();
|
||||
|
||||
#ifndef MAX7219_NO_STARTUP_TEST
|
||||
for (int i=0; i<MAX7219_CONTROLLERS; i++) {
|
||||
// Test this display
|
||||
max7219_display_test(i, true);
|
||||
wait_ms(75);
|
||||
max7219_display_test(i, false);
|
||||
}
|
||||
#endif
|
||||
|
||||
for (int i=0; i<MAX7219_CONTROLLERS; i++) {
|
||||
max7219_shutdown(i, false);
|
||||
}
|
||||
}
|
||||
|
||||
/* Set the decode mode of the controller. You probably don't want to change this.
|
||||
*/
|
||||
void max7219_set_decode_mode(int device_num, int mode) {
|
||||
dprintf("max7219_set_decode_mode(%d, %d);\n", device_num, mode);
|
||||
|
||||
if (device_num<0 || device_num >= MAX7219_CONTROLLERS) {
|
||||
return;
|
||||
}
|
||||
|
||||
max7219_write(device_num, OP_DECODEMODE, mode);
|
||||
}
|
||||
|
||||
/* Set the intensity (brightness) for the LEDs.
|
||||
*/
|
||||
void max7219_set_intensity(int device_num, int intensity) {
|
||||
dprintf("max7219_set_intensity(%d, %d);\n", device_num, intensity);
|
||||
|
||||
if (device_num<0 || device_num >= MAX7219_CONTROLLERS) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (intensity >= 0 && intensity<16) {
|
||||
max7219_write(device_num, OP_INTENSITY, intensity);
|
||||
}
|
||||
}
|
||||
|
||||
/* Control a single LED.
|
||||
*/
|
||||
void max7219_set_led(int row, int column, bool state) {
|
||||
dprintf("max7219_set_led(%d, %d, %d);\n", row, column, state);
|
||||
|
||||
if (column<0 || column>8*MAX7219_CONTROLLERS) {
|
||||
xprintf("max7219_set_led: column (%d) out of bounds\n", column);
|
||||
return;
|
||||
}
|
||||
|
||||
if (row<0 || row>7) {
|
||||
xprintf("max7219_set_led: row (%d) out of bounds\n", row);
|
||||
return;
|
||||
}
|
||||
|
||||
/* At this point we reverse the sense of row and column to match the
|
||||
* physical layout of my LEDs.
|
||||
*/
|
||||
uint8_t device_num = column / 8;
|
||||
uint8_t col = column % 8;
|
||||
uint8_t val = 0b10000000 >> row;
|
||||
|
||||
if (state) {
|
||||
max7219_led_a[col][device_num] = max7219_led_a[col][device_num]|val;
|
||||
} else {
|
||||
val = ~val;
|
||||
max7219_led_a[col][device_num] = max7219_led_a[col][device_num]&val;
|
||||
}
|
||||
max7219_write(device_num, col+1, max7219_led_a[col][device_num]);
|
||||
}
|
||||
|
||||
/* Set the number of digits (rows) to be scanned.
|
||||
*/
|
||||
void max7219_set_scan_limit(int device_num, int limit) {
|
||||
dprintf("max7219_set_scan_limit(%d, %d);\n", device_num, limit);
|
||||
|
||||
if (device_num<0 || device_num >= MAX7219_CONTROLLERS) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (limit >= 0 && limit < 8) {
|
||||
max7219_write(device_num, OP_SCANLIMIT, limit);
|
||||
}
|
||||
}
|
||||
|
||||
/* Enable (true) or disable (false) the controller.
|
||||
*/
|
||||
void max7219_shutdown(int device_num, bool shutdown) {
|
||||
dprintf("max7219_shutdown(%d, %d);\n", device_num, shutdown);
|
||||
|
||||
if (device_num<0 || device_num >= MAX7219_CONTROLLERS) {
|
||||
return;
|
||||
}
|
||||
|
||||
max7219_write(device_num, OP_SHUTDOWN, !shutdown);
|
||||
}
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Zach White <skullydazed@gmail.com>
|
||||
* Copyright (c) 2007 Eberhard Fahle
|
||||
*
|
||||
* max7219.h - A library for controling Leds with a MAX7219/MAX7221
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* This permission notice shall be included in all copies or
|
||||
* substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
// Set defaults if they're not set
|
||||
#ifndef MAX7219_LOAD
|
||||
# define MAX7219_LOAD B0
|
||||
#endif
|
||||
|
||||
#ifndef MAX7219_CONTROLLERS
|
||||
# define MAX7219_CONTROLLERS 4
|
||||
#endif
|
||||
|
||||
#ifndef MAX7219_LED_INTENSITY
|
||||
# define MAX7219_LED_INTENSITY 1
|
||||
#endif
|
||||
|
||||
#ifndef MAX7219_SCROLL_TIME
|
||||
# define MAX7219_SCROLL_TIME 100
|
||||
#endif
|
||||
|
||||
#ifndef MAX7219_BUFFER_MULTIPLIER
|
||||
# define MAX7219_BUFFER_MULTIPLIER 24
|
||||
#endif
|
||||
|
||||
#if !defined(MAX7219_LED_TEST) && !defined(MAX7219_LED_ITERATE) && !defined(MAX7219_LED_DANCE) && !defined(MAX7219_LED_FONTTEST) && !defined(MAX7219_LED_CLUEBOARD) && !defined(MAX7219_LED_KONAMI) && !defined(MAX7219_LED_QMK_POWERED) && !defined(MAX7219_DRAWING_TOY_MODE) && !defined(MAX7219_LED_CUSTOM)
|
||||
# define MAX7219_QMK_POWERED
|
||||
#endif
|
||||
|
||||
// Configure our MAX7219's
|
||||
#define MAX_BYTES MAX7219_CONTROLLERS * 2
|
||||
#define LED_COUNT MAX7219_CONTROLLERS * 64
|
||||
#define MAX7219_BUFFER_SIZE MAX7219_CONTROLLERS*MAX7219_BUFFER_MULTIPLIER
|
||||
|
||||
// Opcodes for the MAX7219
|
||||
#define OP_DECODEMODE 9
|
||||
#define OP_INTENSITY 10
|
||||
#define OP_SCANLIMIT 11
|
||||
#define OP_SHUTDOWN 12
|
||||
#define OP_DISPLAYTEST 15
|
||||
|
||||
// Datastructures
|
||||
extern uint8_t max7219_led_a[8][MAX7219_BUFFER_SIZE];
|
||||
extern bool max7219_led_scrolling;
|
||||
|
||||
// Functions
|
||||
void max7219_write(int device_num, volatile uint8_t opcode, volatile uint8_t data);
|
||||
void max7219_write_all(void);
|
||||
void max7219_write_frame(void);
|
||||
void max7219_clear_display(void);
|
||||
void max7219_display_test(int device_num, bool enabled);
|
||||
void max7219_init(void);
|
||||
void max7219_message_sign(uint8_t message[][6], size_t message_len);
|
||||
void max7219_message_sign_task(bool loop_message);
|
||||
void max7219_set_decode_mode(int device_num, int mode);
|
||||
void max7219_set_intensity(int device_num, int intensity);
|
||||
void max7219_set_led(int row, int column, bool state);
|
||||
void max7219_set_all_leds(uint8_t led_matrix[LED_COUNT]);
|
||||
void max7219_set_scan_limit(int device_num, int limit);
|
||||
void max7219_shutdown(int device_num, bool is_in_shutdown);
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
# Clueboard 2x1800
|
||||
|
||||
Clueboard 2x1800 LED Sign Edition
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard 2x1800 PCB
|
||||
* Hardware Availability: 2021 Apr 1 Group Buy
|
||||
|
||||
Make example for this keyboard:
|
||||
|
||||
make clueboard/2x1800/2021:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make clueboard/2x1800/2021:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
SPI_DRIVER_REQUIRED = yes
|
||||
QUANTUM_LIB_SRC += max7219.c
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"diode_direction": "ROW2COL"
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
# Clueboard 2x1800
|
||||
|
||||
Clueboard 2x1800
|
||||
|
||||
This is a keyboard that Clueboard releases for a 1-day group buy every Apr 1. Each year has a different theme.
|
||||
|
||||
* [2018:](2018/) Double 1800 All The Way
|
||||
* [2019:](2019/) Mechanical Drawing Toy Edition
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard 2x1800 PCB
|
||||
* Hardware Availability: 2018 Apr 1 Group Buy
|
||||
|
||||
Make example for this keyboard:
|
||||
|
||||
make 2x1800:default
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
/* Copyright 2020 QMK
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file was auto-generated by:
|
||||
* `qmk chibios-confmigrate -i keyboards/clueboard/60/halconf.h -r platforms/chibios/QMK_PROTON_C/configs/halconf.h`
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_I2C FALSE
|
||||
|
||||
#define HAL_USE_PWM FALSE
|
||||
|
||||
#define HAL_USE_SERIAL_USB FALSE
|
||||
|
||||
#define HAL_USE_SPI FALSE
|
||||
|
||||
#define PAL_USE_CALLBACKS FALSE
|
||||
|
||||
#define PAL_USE_WAIT FALSE
|
||||
|
||||
#include_next <halconf.h>
|
||||
|
||||
|
|
@ -1,371 +0,0 @@
|
|||
{
|
||||
"manufacturer": "Clueboard",
|
||||
"keyboard_name": "Clueboard 60%",
|
||||
"maintainer": "skullydazed",
|
||||
"debounce": 6,
|
||||
"processor": "STM32F303",
|
||||
"board": "QMK_PROTON_C",
|
||||
"bootloader": "stm32-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"audio": true,
|
||||
"bootmagic": false,
|
||||
"command": false,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "B7"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["A2", "A3", "A6", "B14", "B15", "A8", "A9", "A7", "B3", "B4", "C15", "C14", "C13", "B5", "B6"],
|
||||
"rows": ["B0", "B1", "B2", "A15", "A10"]
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x2350",
|
||||
"vid": "0xC1ED"
|
||||
},
|
||||
"backlight": {
|
||||
"levels": 1
|
||||
},
|
||||
"community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_iso"],
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_60_ansi": {
|
||||
"layout": [
|
||||
{"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"label": "|", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [2, 14], "w": 2.25, "x": 12.75, "y": 2},
|
||||
{"label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [3, 12], "w": 2.75, "x": 12.25, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k47", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4},
|
||||
{"label": "Menu", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4},
|
||||
{"label": "Ctrl", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"label": "k0d", "matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"label": "Back", "matrix": [0, 14], "x": 14, "y": 0},
|
||||
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"label": "|", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [2, 14], "w": 2.25, "x": 12.75, "y": 2},
|
||||
{"label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3},
|
||||
{"label": "k3e", "matrix": [3, 14], "x": 14, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k47", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4},
|
||||
{"label": "Menu", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4},
|
||||
{"label": "Ctrl", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso": {
|
||||
"layout": [
|
||||
{"label": "\\u00ac", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "\"", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "\\u00a3", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"h": 2, "label": "Enter", "matrix": [2, 0], "w": 1.25, "x": 13.75, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [2, 1], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [2, 11], "x": 10.75, "y": 2},
|
||||
{"label": "@", "matrix": [2, 12], "x": 11.75, "y": 2},
|
||||
{"label": "~", "matrix": [2, 14], "x": 12.75, "y": 2},
|
||||
{"label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3},
|
||||
{"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [3, 12], "w": 2.75, "x": 12.25, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k47", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4},
|
||||
{"label": "AltGr", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4},
|
||||
{"label": "Menu", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4},
|
||||
{"label": "Ctrl", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_aek": {
|
||||
"layout": [
|
||||
{"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"label": "|", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [2, 14], "w": 2.25, "x": 12.75, "y": 2},
|
||||
{"label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [3, 12], "w": 2.75, "x": 12.25, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.5, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.75, "y": 4},
|
||||
{"label": "k47", "matrix": [4, 7], "w": 6.5, "x": 4.25, "y": 4},
|
||||
{"label": "AltGr", "matrix": [4, 11], "w": 1.5, "x": 10.75, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 12], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "Ctrl", "matrix": [4, 14], "w": 1.5, "x": 13.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"label": "k0d", "matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"label": "Back", "matrix": [0, 14], "x": 14, "y": 0},
|
||||
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"label": "|", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"label": "k2c", "matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [2, 14], "w": 1.25, "x": 13.75, "y": 2},
|
||||
{"label": "k30", "matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"label": "Shift", "matrix": [3, 1], "w": 1.25, "x": 1, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3},
|
||||
{"label": "k3e", "matrix": [3, 14], "x": 14, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k47", "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4},
|
||||
{"label": "Menu", "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4},
|
||||
{"label": "Ctrl", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,125 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum keyboard_layers {
|
||||
_BL,
|
||||
_FL,
|
||||
_CL
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
S_BSKTC = SAFE_RANGE,
|
||||
S_ODEJY,
|
||||
S_RCKBY,
|
||||
S_DOEDR,
|
||||
S_SCALE,
|
||||
S_ONEUP,
|
||||
S_COIN,
|
||||
S_SONIC,
|
||||
S_ZELDA
|
||||
};
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
float song_basketcase[][2] = SONG(BASKET_CASE);
|
||||
float song_ode_to_joy[][2] = SONG(ODE_TO_JOY);
|
||||
float song_rock_a_bye_baby[][2] = SONG(ROCK_A_BYE_BABY);
|
||||
float song_doe_a_deer[][2] = SONG(DOE_A_DEER);
|
||||
float song_scale[][2] = SONG(MUSIC_SCALE_SOUND);
|
||||
float song_coin[][2] = SONG(COIN_SOUND);
|
||||
float song_one_up[][2] = SONG(ONE_UP_SOUND);
|
||||
float song_sonic_ring[][2] = SONG(SONIC_RING);
|
||||
float song_zelda_puzzle[][2] = SONG(ZELDA_PUZZLE);
|
||||
#endif
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Layer 0: Default Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| `|BSp|
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
|
||||
* |-----------------------------------------------------------|
|
||||
* |Contro| A| S| D| F| G| H| J| K| L| ;| '|Enter |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn0|
|
||||
* |-----------------------------------------------------------'
|
||||
* |Ctrl |Gui|Alt | Space |Alt |Gui|Fn |Ctrl |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT_all(
|
||||
QK_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_GRV, KC_BSPC,
|
||||
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_NUHS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_BSLS,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL),
|
||||
[_FL] = LAYOUT_all(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,_______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______, _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,
|
||||
_______,_______,_______, _______, _______, _______, MO(_FL), _______),
|
||||
[_CL] = LAYOUT_all(
|
||||
BL_STEP,S_BSKTC,S_ODEJY,S_RCKBY,S_DOEDR,S_SCALE,S_ONEUP,S_COIN, S_SONIC,S_ZELDA,_______,_______,_______,_______,_______,
|
||||
_______, _______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______, _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______, _______, _______, _______, _______, MO(_FL), _______)
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case S_BSKTC:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_basketcase);
|
||||
}
|
||||
return false;
|
||||
case S_ODEJY:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_ode_to_joy);
|
||||
}
|
||||
return false;
|
||||
case S_RCKBY:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_rock_a_bye_baby);
|
||||
}
|
||||
return false;
|
||||
case S_DOEDR:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_doe_a_deer);
|
||||
}
|
||||
return false;
|
||||
case S_SCALE:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_scale);
|
||||
}
|
||||
return false;
|
||||
case S_ONEUP:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_one_up);
|
||||
}
|
||||
return false;
|
||||
case S_COIN:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_coin);
|
||||
}
|
||||
return false;
|
||||
case S_SONIC:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_sonic_ring);
|
||||
}
|
||||
return false;
|
||||
case S_ZELDA:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_zelda_puzzle);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum keyboard_layers {
|
||||
_BL,
|
||||
_FL,
|
||||
_CL
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Layer 0: Default Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BkSp|
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
|
||||
* |-----------------------------------------------------------|
|
||||
* |Capslk| A| S| D| F| G| H| J| K| L| ;| '| Enter|
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift|
|
||||
* |-----------------------------------------------------------'
|
||||
* |Ctrl |Gui|Alt | Space |Alt|Fn |Ctrl |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT_aek(
|
||||
QK_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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RCTL),
|
||||
[_FL] = LAYOUT_aek(
|
||||
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, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______, _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______, _______, _______, _______, MO(_FL), _______),
|
||||
[_CL] = LAYOUT_aek(
|
||||
BL_STEP,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______, _______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______, _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______, _______, _______, _______, MO(_FL), _______)
|
||||
};
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
/*
|
||||
* Copyright 2017 skully <skullydazed@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/>.
|
||||
*/
|
||||
|
||||
#include <hal.h>
|
||||
#include "print.h"
|
||||
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
#include "backlight.h"
|
||||
|
||||
void backlight_init_ports(void) {
|
||||
printf("backlight_init_ports()\n");
|
||||
|
||||
palSetPadMode(GPIOB, 8, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPad(GPIOB, 8);
|
||||
}
|
||||
|
||||
void backlight_set(uint8_t level) {
|
||||
printf("backlight_set(%d)\n", level);
|
||||
if (level == 0) {
|
||||
// Turn backlight off
|
||||
palSetPad(GPIOB, 8);
|
||||
} else {
|
||||
// Turn backlight on
|
||||
palClearPad(GPIOB, 8);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
/* Copyright 2020 QMK
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file was auto-generated by:
|
||||
* `qmk chibios-confmigrate -i keyboards/clueboard/60/mcuconf.h -r platforms/chibios/QMK_PROTON_C/configs/mcuconf.h`
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef STM32_GPT_USE_TIM15
|
||||
#define STM32_GPT_USE_TIM15 FALSE
|
||||
|
||||
#undef STM32_I2C_USE_I2C1
|
||||
#define STM32_I2C_USE_I2C1 FALSE
|
||||
|
||||
#undef STM32_PWM_USE_TIM3
|
||||
#define STM32_PWM_USE_TIM3 FALSE
|
||||
|
||||
#undef STM32_PWM_USE_TIM4
|
||||
#define STM32_PWM_USE_TIM4 FALSE
|
||||
|
||||
#undef STM32_SERIAL_USE_USART2
|
||||
#define STM32_SERIAL_USE_USART2 FALSE
|
||||
|
||||
#undef STM32_SPI_USE_SPI2
|
||||
#define STM32_SPI_USE_SPI2 FALSE
|
||||
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
# Clueboard 60%
|
||||
|
||||
A fully customizable 60% keyboard.
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard 60% PCB
|
||||
* rev1 (1.0)
|
||||
* Hardware Availability: [clueboard.co](https://clueboard.co/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make clueboard/60:default
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
# project specific files
|
||||
SRC = led.c
|
||||
|
|
@ -1 +0,0 @@
|
|||
{}
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _CL 2
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: Base Layer (Default Layer)
|
||||
*/
|
||||
[_BL] = LAYOUT_66_ansi(
|
||||
QK_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_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_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,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
*/
|
||||
[_FL] = LAYOUT_66_ansi(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_VOLU,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP,
|
||||
_______,_______,_______, _______, _______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
||||
|
||||
/* Keymap _CL: Control layer
|
||||
*/
|
||||
[_CL] = LAYOUT_66_ansi(
|
||||
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, UG_TOGG, UG_VALU,
|
||||
_______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, UG_VALD,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, UG_SATU,
|
||||
_______,_______,_______, UG_NEXT, _______,MO(_FL),_______,UG_HUED,UG_SATD,UG_HUEU),
|
||||
};
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
# Basic Clueboard 66% Hotswap ANSI Layout
|
||||
|
||||
This is the default layout that comes flashed on every Clueboard. For the most
|
||||
part it's a straightforward and easy to follow layout. The only unusual key is
|
||||
the key in the upper left, which sends Escape normally, but Grave when any of
|
||||
the Ctrl, Alt, or GUI modifiers are held down.
|
||||
|
||||
This uses `LAYOUT_66_ansi`, which is compatable with the `66_ansi` community
|
||||
layout.
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _CL 2
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: Base Layer (Default Layer)
|
||||
*/
|
||||
[_BL] = LAYOUT_66_iso(
|
||||
QK_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_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_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_NUHS,KC_ENT,
|
||||
KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
*/
|
||||
[_FL] = LAYOUT_66_iso(
|
||||
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_VOLU,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______, KC_VOLD,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP,
|
||||
_______,_______,_______, _______, _______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
||||
|
||||
/* Keymap _CL: Control layer
|
||||
*/
|
||||
[_CL] = LAYOUT_66_iso(
|
||||
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, UG_TOGG, UG_VALU,
|
||||
_______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______, UG_VALD,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, UG_SATU,
|
||||
_______,_______,_______, UG_NEXT, _______,MO(_FL),_______,UG_HUED,UG_SATD,UG_HUEU),
|
||||
};
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# Default Clueboard 66% ISO Layout
|
||||
|
||||
This is the default layout that comes flashed on every Clueboard. For the most
|
||||
part it's a straightforward and easy to follow layout. The only unusual key is
|
||||
the key in the upper left, which sends Escape normally, but Grave when any of
|
||||
the Ctrl, Alt, or GUI modifiers are held down.
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _CL 2
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: Base Layer (Default Layer)
|
||||
*/
|
||||
[_BL] = LAYOUT(
|
||||
QK_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_GRV, KC_BSPC, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
||||
KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_NUHS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT,KC_INT5, KC_SPC,KC_SPC, KC_INT4, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
*/
|
||||
[_FL] = LAYOUT(
|
||||
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_CAPS, KC_VOLU,
|
||||
_______, _______, _______,_______,_______,_______,_______,KC_HOME,KC_PGDN,KC_PGUP, KC_END, _______, _______, _______, KC_VOLD,
|
||||
KC_DEL, _______, MO(_CL),_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, _______, _______, _______,
|
||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP,
|
||||
_______, _______, _______,_______, _______,_______, _______, _______, MO(_FL), _______, KC_HOME, KC_PGDN, KC_END),
|
||||
|
||||
/* Keymap _CL: Control layer
|
||||
*/
|
||||
[_CL] = LAYOUT(
|
||||
BL_STEP, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, UG_TOGG, UG_VALU,
|
||||
_______, _______, _______,_______,QK_BOOT,_______,_______,_______,_______,_______, _______, _______, _______, _______, UG_VALD,
|
||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, UG_SATU,
|
||||
_______, _______, _______,_______, UG_NEXT, UG_NEXT, _______, _______, _______, _______, UG_HUED, UG_SATD, UG_HUEU),
|
||||
};
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _CL 2
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: Base Layer (Default Layer)
|
||||
*/
|
||||
[_BL] = LAYOUT(
|
||||
QK_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_GRV, KC_BSPC, 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_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_NUHS,KC_ENT,
|
||||
KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_INT1,KC_RSFT, KC_UP,
|
||||
KC_LCTL,KC_LGUI,KC_LALT,KC_INT5, KC_SPC, KC_SPC, KC_INT4,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
*/
|
||||
[_FL] = LAYOUT(
|
||||
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_VOLU,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_PGUP,
|
||||
_______,_______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
||||
|
||||
/* Keymap _CL: Control layer
|
||||
*/
|
||||
[_CL] = LAYOUT(
|
||||
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,_______,UG_TOGG, UG_VALU,
|
||||
_______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, UG_VALD,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, UG_SATU,
|
||||
_______,_______,_______,_______, UG_NEXT, UG_NEXT, _______,_______,MO(_FL),_______,UG_HUED,UG_SATD,UG_HUEU),
|
||||
};
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# Default Clueboard 66% Universal Layout
|
||||
|
||||
This is the default layout that comes flashed on every Clueboard. For the most
|
||||
part it's a straightforward and easy to follow layout. The only unusual key is
|
||||
the key in the upper left, which sends Escape normally, but Grave when any of
|
||||
the Ctrl, Alt, or GUI modifiers are held down.
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
# Clueboard 66%
|
||||
|
||||

|
||||
|
||||
A fully customizable 66% keyboard.
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard 66% PCB
|
||||
* rev1 (PCB Version 1.0)
|
||||
* rev2 (PCB Versions 2.0, 2.0.1, 2.1, 2.5, 2.5.1, 2.6)
|
||||
* rev3 (PCB Versions 2.7, 2.8, 2.9)
|
||||
* Hardware Availability: [clueboard.co](https://clueboard.co/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make clueboard/66/rev3:default
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
||||
|
|
@ -1,273 +0,0 @@
|
|||
{
|
||||
"manufacturer": "Clueboard",
|
||||
"keyboard_name": "Clueboard 66%",
|
||||
"maintainer": "skullydazed",
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": false,
|
||||
"command": false,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "F0"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["B3", "F1", "F4", "F5", "F6", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "F7", "B0", "B1"],
|
||||
"rows": ["D1", "D0", "D2", "D5", "D3"]
|
||||
},
|
||||
"rgblight": {
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"rgb_test": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"brightness_steps": 17,
|
||||
"hue_steps": 10,
|
||||
"led_count": 14,
|
||||
"saturation_steps": 17
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "B2"
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x2301",
|
||||
"vid": "0xC1ED"
|
||||
},
|
||||
"community_layouts": ["66_ansi", "66_iso"],
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_66_ansi": {
|
||||
"layout": [
|
||||
{"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "k0F", "matrix": [0, 15], "x": 15.5, "y": 0},
|
||||
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "k1F", "matrix": [1, 15], "x": 15.5, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2},
|
||||
{"label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [3, 13], "w": 2.25, "x": 12.25, "y": 3},
|
||||
{"label": "k3E", "matrix": [3, 14], "x": 14.5, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k46", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 9.75, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 11], "w": 1.25, "x": 11, "y": 4},
|
||||
{"label": "Menu", "matrix": [4, 12], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "k4D", "matrix": [4, 13], "x": 13.5, "y": 4},
|
||||
{"label": "k4E", "matrix": [4, 14], "x": 14.5, "y": 4},
|
||||
{"label": "k4F", "matrix": [4, 15], "x": 15.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_66_iso": {
|
||||
"layout": [
|
||||
{"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "Insert", "matrix": [0, 15], "x": 15.5, "y": 0},
|
||||
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"label": "Delete", "matrix": [1, 15], "x": 15.5, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"label": "", "matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"h": 2, "label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1},
|
||||
{"label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3},
|
||||
{"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [3, 13], "w": 2.25, "x": 12.25, "y": 3},
|
||||
{"label": "\u2191", "matrix": [3, 14], "x": 14.5, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k46", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 9.75, "y": 4},
|
||||
{"label": "Ctrl", "matrix": [4, 11], "w": 1.25, "x": 11, "y": 4},
|
||||
{"label": "Menu", "matrix": [4, 12], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "\u2190", "matrix": [4, 13], "x": 13.5, "y": 4},
|
||||
{"label": "\u2193", "matrix": [4, 14], "x": 14.5, "y": 4},
|
||||
{"label": "\u2192", "matrix": [4, 15], "x": 15.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label": "GRAVE", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"label": "DASH", "matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"label": "EQUALSIGN", "matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"label": "YEN", "matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"label": "BACKSPACE", "matrix": [0, 14], "x": 14, "y": 0},
|
||||
{"label": "PAGEUP", "matrix": [0, 15], "x": 15.5, "y": 0},
|
||||
{"label": "TAB", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"label": "LBRACKET", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"label": "RBRACKET", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"label": "BACKSLASH", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "PAGEDOWN", "matrix": [1, 15], "x": 15.5, "y": 1},
|
||||
{"label": "CAPSLOCK", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"label": "SEMICOLON", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"label": "QUOTE", "matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"label": "ISOHASH", "matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"label": "ENTER", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2},
|
||||
{"label": "LSHIFT", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3},
|
||||
{"label": "ISOBACKSLASH", "matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"label": "COMMA", "matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"label": "PERIOD", "matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"label": "SLASH", "matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"label": "JPBACKSLASH", "matrix": [3, 12], "x": 12.25, "y": 3},
|
||||
{"label": "RSHIFT", "matrix": [3, 13], "w": 1.25, "x": 13.25, "y": 3},
|
||||
{"label": "UP", "matrix": [3, 14], "x": 14.5, "y": 3},
|
||||
{"label": "LCTRL", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "LALT", "matrix": [4, 1], "x": 1.25, "y": 4},
|
||||
{"label": "LCMD", "matrix": [4, 2], "w": 1.25, "x": 2.25, "y": 4},
|
||||
{"label": "MUHENKAN", "matrix": [4, 3], "w": 1.25, "x": 3.5, "y": 4},
|
||||
{"label": "SPACE1", "matrix": [4, 5], "w": 2, "x": 4.75, "y": 4},
|
||||
{"label": "SPACE2", "matrix": [4, 6], "w": 2, "x": 6.75, "y": 4},
|
||||
{"label": "HENKAN", "matrix": [4, 9], "w": 1.25, "x": 8.75, "y": 4},
|
||||
{"label": "RCMD", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4},
|
||||
{"label": "RCTRL", "matrix": [4, 11], "x": 11.25, "y": 4},
|
||||
{"label": "FN", "matrix": [4, 12], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "LEFT", "matrix": [4, 13], "x": 13.5, "y": 4},
|
||||
{"label": "DOWN", "matrix": [4, 14], "x": 14.5, "y": 4},
|
||||
{"label": "RIGHT", "matrix": [4, 15], "x": 15.5, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
# Clueboard 66%
|
||||
|
||||

|
||||
|
||||
A fully customizable 66% keyboard.
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard 66% PCB rev1 (atmega32u4)
|
||||
* Hardware Availability: [clueboard.co](https://clueboard.co/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make clueboard/66/rev1:default
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
/* Underlight configuration
|
||||
*/
|
||||
#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
|
||||
#define RGBLIGHT_EFFECT_BREATHE_MAX 200
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 666*2
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 // How many LEDs wide to light up
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 1 // The led to start at
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 5 // How many LEDs to travel
|
||||
#define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 // How many LEDs wide to light up
|
||||
|
|
@ -1,278 +0,0 @@
|
|||
{
|
||||
"manufacturer": "Clueboard",
|
||||
"keyboard_name": "Clueboard 66%",
|
||||
"maintainer": "skullydazed",
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": false,
|
||||
"command": false,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "B4"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F0", "F1", "F4", "F5", "F6", "F7", "E6", "B1"],
|
||||
"rows": ["B2", "C7", "C6", "B6", "B5", "B0", "B3", "D5", "D3", "D2"]
|
||||
},
|
||||
"rgblight": {
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"rgb_test": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"brightness_steps": 17,
|
||||
"hue_steps": 32,
|
||||
"led_count": 14,
|
||||
"saturation_steps": 17
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D7"
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x2320",
|
||||
"vid": "0xC1ED"
|
||||
},
|
||||
"backlight": {
|
||||
"driver": "custom",
|
||||
"levels": 1
|
||||
},
|
||||
"community_layouts": ["66_ansi", "66_iso"],
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_66_ansi": {
|
||||
"layout": [
|
||||
{"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [5, 4], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "k57", "matrix": [5, 7], "x": 15.5, "y": 0},
|
||||
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [6, 0], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [6, 1], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [6, 2], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [6, 3], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [6, 4], "x": 12.5, "y": 1},
|
||||
{"label": "|", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "k67", "matrix": [6, 7], "x": 15.5, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [7, 0], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [7, 1], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [7, 2], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [7, 3], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2},
|
||||
{"label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [8, 0], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [8, 1], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [8, 2], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [8, 3], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3},
|
||||
{"label": "k86", "matrix": [8, 6], "x": 14.5, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k46", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4},
|
||||
{"label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4},
|
||||
{"label": "Win", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4},
|
||||
{"label": "Menu", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "k95", "matrix": [9, 5], "x": 13.5, "y": 4},
|
||||
{"label": "k96", "matrix": [9, 6], "x": 14.5, "y": 4},
|
||||
{"label": "k97", "matrix": [9, 7], "x": 15.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_66_iso": {
|
||||
"layout": [
|
||||
{"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [5, 4], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "Insert", "matrix": [5, 7], "x": 15.5, "y": 0},
|
||||
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [6, 0], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [6, 1], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [6, 2], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [6, 3], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [6, 4], "x": 12.5, "y": 1},
|
||||
{"label": "Delete", "matrix": [6, 7], "x": 15.5, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [7, 0], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [7, 1], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [7, 2], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [7, 3], "x": 11.75, "y": 2},
|
||||
{"label": "", "matrix": [7, 4], "x": 12.75, "y": 2},
|
||||
{"h": 2, "label": "Enter", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 1},
|
||||
{"label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3},
|
||||
{"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [8, 0], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [8, 1], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [8, 2], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [8, 3], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3},
|
||||
{"label": "\u2191", "matrix": [8, 6], "x": 14.5, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k46", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4},
|
||||
{"label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4},
|
||||
{"label": "Ctrl", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4},
|
||||
{"label": "Menu", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "\u2190", "matrix": [9, 5], "x": 13.5, "y": 4},
|
||||
{"label": "\u2193", "matrix": [9, 6], "x": 14.5, "y": 4},
|
||||
{"label": "\u2192", "matrix": [9, 7], "x": 15.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label": "GRAVE", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "8", "matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"label": "9", "matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"label": "0", "matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"label": "DASH", "matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"label": "EQUALSIGN", "matrix": [5, 4], "x": 12, "y": 0},
|
||||
{"label": "YEN", "matrix": [5, 5], "x": 13, "y": 0},
|
||||
{"label": "BACKSPACE", "matrix": [5, 6], "x": 14, "y": 0},
|
||||
{"label": "PAGEUP", "matrix": [5, 7], "x": 15.5, "y": 0},
|
||||
{"label": "TAB", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [6, 0], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [6, 1], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [6, 2], "x": 10.5, "y": 1},
|
||||
{"label": "LBRACKET", "matrix": [6, 3], "x": 11.5, "y": 1},
|
||||
{"label": "RBRACKET", "matrix": [6, 4], "x": 12.5, "y": 1},
|
||||
{"label": "BACKSLASH", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "PAGEDOWN", "matrix": [6, 7], "x": 15.5, "y": 1},
|
||||
{"label": "CAPSLOCK", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [7, 0], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [7, 1], "x": 9.75, "y": 2},
|
||||
{"label": "SEMICOLON", "matrix": [7, 2], "x": 10.75, "y": 2},
|
||||
{"label": "QUOTE", "matrix": [7, 3], "x": 11.75, "y": 2},
|
||||
{"label": "ISOHASH", "matrix": [7, 4], "x": 12.75, "y": 2},
|
||||
{"label": "ENTER", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 2},
|
||||
{"label": "LSHIFT", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3},
|
||||
{"label": "ISOBACKSLASH", "matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [8, 0], "x": 8.25, "y": 3},
|
||||
{"label": "COMMA", "matrix": [8, 1], "x": 9.25, "y": 3},
|
||||
{"label": "PERIOD", "matrix": [8, 2], "x": 10.25, "y": 3},
|
||||
{"label": "SLASH", "matrix": [8, 3], "x": 11.25, "y": 3},
|
||||
{"label": "JPBACKSLASH", "matrix": [8, 4], "x": 12.25, "y": 3},
|
||||
{"label": "RSHIFT", "matrix": [8, 5], "w": 1.25, "x": 13.25, "y": 3},
|
||||
{"label": "UP", "matrix": [8, 6], "x": 14.5, "y": 3},
|
||||
{"label": "LCTRL", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "LALT", "matrix": [4, 1], "x": 1.25, "y": 4},
|
||||
{"label": "LCMD", "matrix": [4, 2], "w": 1.25, "x": 2.25, "y": 4},
|
||||
{"label": "MUHENKAN", "matrix": [4, 3], "w": 1.25, "x": 3.5, "y": 4},
|
||||
{"label": "SPACE1", "matrix": [4, 5], "w": 2, "x": 4.75, "y": 4},
|
||||
{"label": "SPACE2", "matrix": [4, 6], "w": 2, "x": 6.75, "y": 4},
|
||||
{"label": "HENKAN", "matrix": [9, 0], "w": 1.25, "x": 8.75, "y": 4},
|
||||
{"label": "RCMD", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4},
|
||||
{"label": "RCTRL", "matrix": [9, 3], "x": 11.25, "y": 4},
|
||||
{"label": "FN", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "LEFT", "matrix": [9, 5], "x": 13.5, "y": 4},
|
||||
{"label": "DOWN", "matrix": [9, 6], "x": 14.5, "y": 4},
|
||||
{"label": "RIGHT", "matrix": [9, 7], "x": 15.5, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
# Clueboard 66%
|
||||
|
||||

|
||||
|
||||
A fully customizable 66% keyboard.
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard 66% PCB rev2 (atmega32u4)
|
||||
* Hardware Availability: [clueboard.co](https://clueboard.co/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make clueboard/66/rev2:default
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#include "quantum.h"
|
||||
#include "print.h"
|
||||
|
||||
void backlight_init_ports(void) {
|
||||
print("init_backlight_pin()\n");
|
||||
// Set our LED pins as output
|
||||
gpio_set_pin_output(D6); // Esc
|
||||
gpio_set_pin_output(B7); // Page Up
|
||||
gpio_set_pin_output(D4); // Arrows
|
||||
|
||||
// Set our LED pins low
|
||||
gpio_write_pin_low(D6); // Esc
|
||||
gpio_write_pin_low(B7); // Page Up
|
||||
gpio_write_pin_low(D4); // Arrows
|
||||
}
|
||||
|
||||
void backlight_set(uint8_t level) {
|
||||
if ( level == 0 ) {
|
||||
// Turn off light
|
||||
gpio_write_pin_high(D6); // Esc
|
||||
gpio_write_pin_high(B7); // Page Up
|
||||
gpio_write_pin_high(D4); // Arrows
|
||||
} else {
|
||||
// Turn on light
|
||||
gpio_write_pin_low(D6); // Esc
|
||||
gpio_write_pin_low(B7); // Page Up
|
||||
gpio_write_pin_low(D4); // Arrows
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
|
||||
#define RGBLIGHT_EFFECT_BREATHE_MAX 200
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 666*2
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 // How many LEDs wide to light up
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 2 // The led to start at
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 5 // How many LEDs to travel
|
||||
#define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 // How many LEDs wide to light up
|
||||
|
|
@ -1,278 +0,0 @@
|
|||
{
|
||||
"manufacturer": "Clueboard",
|
||||
"keyboard_name": "Clueboard 66% rev3",
|
||||
"maintainer": "skullydazed",
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"backlight": true,
|
||||
"bootmagic": false,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "B4"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F0", "F1", "F4", "F5", "F6", "F7", "E6", "B1"],
|
||||
"rows": ["B2", "C7", "C6", "B6", "B5", "B0", "B3", "D5", "D3", "D2"]
|
||||
},
|
||||
"rgblight": {
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"brightness_steps": 17,
|
||||
"hue_steps": 32,
|
||||
"led_count": 18,
|
||||
"saturation_steps": 17
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D7"
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x2370",
|
||||
"vid": "0xC1ED"
|
||||
},
|
||||
"backlight": {
|
||||
"driver": "custom",
|
||||
"levels": 1
|
||||
},
|
||||
"community_layouts": ["66_ansi", "66_iso"],
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_66_ansi": {
|
||||
"layout": [
|
||||
{"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [5, 4], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "k57", "matrix": [5, 7], "x": 15.5, "y": 0},
|
||||
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [6, 0], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [6, 1], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [6, 2], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [6, 3], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [6, 4], "x": 12.5, "y": 1},
|
||||
{"label": "|", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "k67", "matrix": [6, 7], "x": 15.5, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [7, 0], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [7, 1], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [7, 2], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [7, 3], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2},
|
||||
{"label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [8, 0], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [8, 1], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [8, 2], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [8, 3], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3},
|
||||
{"label": "k86", "matrix": [8, 6], "x": 14.5, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k46", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4},
|
||||
{"label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4},
|
||||
{"label": "Win", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4},
|
||||
{"label": "Menu", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "k95", "matrix": [9, 5], "x": 13.5, "y": 4},
|
||||
{"label": "k96", "matrix": [9, 6], "x": 14.5, "y": 4},
|
||||
{"label": "k97", "matrix": [9, 7], "x": 15.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_66_iso": {
|
||||
"layout": [
|
||||
{"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [5, 4], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "Insert", "matrix": [5, 7], "x": 15.5, "y": 0},
|
||||
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [6, 0], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [6, 1], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [6, 2], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [6, 3], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [6, 4], "x": 12.5, "y": 1},
|
||||
{"label": "Delete", "matrix": [6, 7], "x": 15.5, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [7, 0], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [7, 1], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [7, 2], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [7, 3], "x": 11.75, "y": 2},
|
||||
{"label": "", "matrix": [7, 4], "x": 12.75, "y": 2},
|
||||
{"h": 2, "label": "Enter", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 1},
|
||||
{"label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3},
|
||||
{"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [8, 0], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [8, 1], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [8, 2], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [8, 3], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3},
|
||||
{"label": "\u2191", "matrix": [8, 6], "x": 14.5, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k46", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4},
|
||||
{"label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4},
|
||||
{"label": "Ctrl", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4},
|
||||
{"label": "Menu", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "\u2190", "matrix": [9, 5], "x": 13.5, "y": 4},
|
||||
{"label": "\u2193", "matrix": [9, 6], "x": 14.5, "y": 4},
|
||||
{"label": "\u2192", "matrix": [9, 7], "x": 15.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label": "GRAVE", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "8", "matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"label": "9", "matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"label": "0", "matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"label": "DASH", "matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"label": "EQUALSIGN", "matrix": [5, 4], "x": 12, "y": 0},
|
||||
{"label": "YEN", "matrix": [5, 5], "x": 13, "y": 0},
|
||||
{"label": "BACKSPACE", "matrix": [5, 6], "x": 14, "y": 0},
|
||||
{"label": "PAGEUP", "matrix": [5, 7], "x": 15.5, "y": 0},
|
||||
{"label": "TAB", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [6, 0], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [6, 1], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [6, 2], "x": 10.5, "y": 1},
|
||||
{"label": "LBRACKET", "matrix": [6, 3], "x": 11.5, "y": 1},
|
||||
{"label": "RBRACKET", "matrix": [6, 4], "x": 12.5, "y": 1},
|
||||
{"label": "BACKSLASH", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "PAGEDOWN", "matrix": [6, 7], "x": 15.5, "y": 1},
|
||||
{"label": "CAPSLOCK", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [7, 0], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [7, 1], "x": 9.75, "y": 2},
|
||||
{"label": "SEMICOLON", "matrix": [7, 2], "x": 10.75, "y": 2},
|
||||
{"label": "QUOTE", "matrix": [7, 3], "x": 11.75, "y": 2},
|
||||
{"label": "ISOHASH", "matrix": [7, 4], "x": 12.75, "y": 2},
|
||||
{"label": "ENTER", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 2},
|
||||
{"label": "LSHIFT", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3},
|
||||
{"label": "ISOBACKSLASH", "matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [8, 0], "x": 8.25, "y": 3},
|
||||
{"label": "COMMA", "matrix": [8, 1], "x": 9.25, "y": 3},
|
||||
{"label": "PERIOD", "matrix": [8, 2], "x": 10.25, "y": 3},
|
||||
{"label": "SLASH", "matrix": [8, 3], "x": 11.25, "y": 3},
|
||||
{"label": "JPBACKSLASH", "matrix": [8, 4], "x": 12.25, "y": 3},
|
||||
{"label": "RSHIFT", "matrix": [8, 5], "w": 1.25, "x": 13.25, "y": 3},
|
||||
{"label": "UP", "matrix": [8, 6], "x": 14.5, "y": 3},
|
||||
{"label": "LCTRL", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "LALT", "matrix": [4, 1], "x": 1.25, "y": 4},
|
||||
{"label": "LCMD", "matrix": [4, 2], "w": 1.25, "x": 2.25, "y": 4},
|
||||
{"label": "MUHENKAN", "matrix": [4, 3], "w": 1.25, "x": 3.5, "y": 4},
|
||||
{"label": "SPACE1", "matrix": [4, 5], "w": 2, "x": 4.75, "y": 4},
|
||||
{"label": "SPACE2", "matrix": [4, 6], "w": 2, "x": 6.75, "y": 4},
|
||||
{"label": "HENKAN", "matrix": [9, 0], "w": 1.25, "x": 8.75, "y": 4},
|
||||
{"label": "RCMD", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4},
|
||||
{"label": "RCTRL", "matrix": [9, 3], "x": 11.25, "y": 4},
|
||||
{"label": "FN", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "LEFT", "matrix": [9, 5], "x": 13.5, "y": 4},
|
||||
{"label": "DOWN", "matrix": [9, 6], "x": 14.5, "y": 4},
|
||||
{"label": "RIGHT", "matrix": [9, 7], "x": 15.5, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
# Clueboard 66%
|
||||
|
||||

|
||||
|
||||
A fully customizable 66% keyboard.
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard 66% PCB rev3 (atmega32u4)
|
||||
* Hardware Availability: [clueboard.co](https://clueboard.co/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make clueboard/66/rev3:default
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#include "quantum.h"
|
||||
#include "print.h"
|
||||
|
||||
void backlight_init_ports(void) {
|
||||
print("init_backlight_pin()\n");
|
||||
// Set our LED pins as output
|
||||
gpio_set_pin_output(D6); // Esc
|
||||
gpio_set_pin_output(B7); // Page Up
|
||||
gpio_set_pin_output(D4); // Arrows
|
||||
|
||||
// Set our LED pins low
|
||||
gpio_write_pin_low(D6); // Esc
|
||||
gpio_write_pin_low(B7); // Page Up
|
||||
gpio_write_pin_low(D4); // Arrows
|
||||
}
|
||||
|
||||
void backlight_set(uint8_t level) {
|
||||
if ( level == 0 ) {
|
||||
// Turn off light
|
||||
gpio_write_pin_high(D6); // Esc
|
||||
gpio_write_pin_high(B7); // Page Up
|
||||
gpio_write_pin_high(D4); // Arrows
|
||||
} else {
|
||||
// Turn on light
|
||||
gpio_write_pin_low(D6); // Esc
|
||||
gpio_write_pin_low(B7); // Page Up
|
||||
gpio_write_pin_low(D4); // Arrows
|
||||
}
|
||||
}
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
/* Underlight configuration
|
||||
*/
|
||||
#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
|
||||
#define RGBLIGHT_EFFECT_BREATHE_MAX 200
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 666*2
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 // How many LEDs wide to light up
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 2 // The led to start at
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 5 // How many LEDs to travel
|
||||
#define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 // How many LEDs wide to light up
|
||||
|
||||
#define AUDIO_PIN A5
|
||||
#define AUDIO_PIN_ALT A4
|
||||
#define AUDIO_PIN_ALT_AS_NEGATIVE
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
/* Copyright 2020 QMK
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file was auto-generated by:
|
||||
* `qmk chibios-confmigrate -i keyboards/clueboard/66/rev4/halconf.h -r platforms/chibios/QMK_PROTON_C/configs/halconf.h`
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_I2C FALSE
|
||||
|
||||
#define HAL_USE_PWM FALSE
|
||||
|
||||
#define HAL_USE_SERIAL_USB FALSE
|
||||
|
||||
#define HAL_USE_SPI FALSE
|
||||
|
||||
#define PAL_USE_CALLBACKS FALSE
|
||||
|
||||
#define PAL_USE_WAIT FALSE
|
||||
|
||||
#include_next <halconf.h>
|
||||
|
||||
|
|
@ -1,272 +0,0 @@
|
|||
{
|
||||
"manufacturer": "Clueboard",
|
||||
"keyboard_name": "Clueboard 66% rev4",
|
||||
"maintainer": "skullydazed",
|
||||
"processor": "STM32F303",
|
||||
"board": "QMK_PROTON_C",
|
||||
"bootloader": "stm32-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"audio": true,
|
||||
"bootmagic": false,
|
||||
"command": false,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["B10", "B2", "B1", "B0", "A7", "B4", "B3", "B5"],
|
||||
"rows": ["B11", "A6", "A3", "A2", "A1", "B7", "B6", "C15", "C14", "C13"]
|
||||
},
|
||||
"rgblight": {
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"rgb_test": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"brightness_steps": 17,
|
||||
"hue_steps": 32,
|
||||
"led_count": 18,
|
||||
"saturation_steps": 17
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D7"
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x2390",
|
||||
"vid": "0xC1ED"
|
||||
},
|
||||
"community_layouts": ["66_ansi", "66_iso"],
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_66_ansi": {
|
||||
"layout": [
|
||||
{"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [5, 4], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "Page Up", "matrix": [5, 7], "x": 15.5, "y": 0},
|
||||
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [6, 0], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [6, 1], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [6, 2], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [6, 3], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [6, 4], "x": 12.5, "y": 1},
|
||||
{"label": "|", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "Page Down", "matrix": [6, 7], "x": 15.5, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [7, 0], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [7, 1], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [7, 2], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [7, 3], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2},
|
||||
{"label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [8, 0], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [8, 1], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [8, 2], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [8, 3], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3},
|
||||
{"label": "Up", "matrix": [8, 6], "x": 14.5, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "Space", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4},
|
||||
{"label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4},
|
||||
{"label": "Win", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4},
|
||||
{"label": "Menu", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "Left", "matrix": [9, 5], "x": 13.5, "y": 4},
|
||||
{"label": "Down", "matrix": [9, 6], "x": 14.5, "y": 4},
|
||||
{"label": "Up", "matrix": [9, 7], "x": 15.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_66_iso": {
|
||||
"layout": [
|
||||
{"label": "~", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [5, 4], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "Insert", "matrix": [5, 7], "x": 15.5, "y": 0},
|
||||
{"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [6, 0], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [6, 1], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [6, 2], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [6, 3], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [6, 4], "x": 12.5, "y": 1},
|
||||
{"label": "Delete", "matrix": [6, 7], "x": 15.5, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [7, 0], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [7, 1], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [7, 2], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [7, 3], "x": 11.75, "y": 2},
|
||||
{"label": "", "matrix": [7, 4], "x": 12.75, "y": 2},
|
||||
{"h": 2, "label": "Enter", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 1},
|
||||
{"label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3},
|
||||
{"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [8, 0], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [8, 1], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [8, 2], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [8, 3], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3},
|
||||
{"label": "\u2191", "matrix": [8, 6], "x": 14.5, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "Space", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4},
|
||||
{"label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4},
|
||||
{"label": "Ctrl", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4},
|
||||
{"label": "Menu", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "\u2190", "matrix": [9, 5], "x": 13.5, "y": 4},
|
||||
{"label": "\u2193", "matrix": [9, 6], "x": 14.5, "y": 4},
|
||||
{"label": "\u2192", "matrix": [9, 7], "x": 15.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label": "GRAVE", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "8", "matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"label": "9", "matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"label": "0", "matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"label": "DASH", "matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"label": "EQUALSIGN", "matrix": [5, 4], "x": 12, "y": 0},
|
||||
{"label": "YEN", "matrix": [5, 5], "x": 13, "y": 0},
|
||||
{"label": "BACKSPACE", "matrix": [5, 6], "x": 14, "y": 0},
|
||||
{"label": "PAGEUP", "matrix": [5, 7], "x": 15.5, "y": 0},
|
||||
{"label": "TAB", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [6, 0], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [6, 1], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [6, 2], "x": 10.5, "y": 1},
|
||||
{"label": "LBRACKET", "matrix": [6, 3], "x": 11.5, "y": 1},
|
||||
{"label": "RBRACKET", "matrix": [6, 4], "x": 12.5, "y": 1},
|
||||
{"label": "BACKSLASH", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "PAGEDOWN", "matrix": [6, 7], "x": 15.5, "y": 1},
|
||||
{"label": "CAPSLOCK", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [7, 0], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [7, 1], "x": 9.75, "y": 2},
|
||||
{"label": "SEMICOLON", "matrix": [7, 2], "x": 10.75, "y": 2},
|
||||
{"label": "QUOTE", "matrix": [7, 3], "x": 11.75, "y": 2},
|
||||
{"label": "ISOHASH", "matrix": [7, 4], "x": 12.75, "y": 2},
|
||||
{"label": "ENTER", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 2},
|
||||
{"label": "LSHIFT", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3},
|
||||
{"label": "ISOBACKSLASH", "matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [8, 0], "x": 8.25, "y": 3},
|
||||
{"label": "COMMA", "matrix": [8, 1], "x": 9.25, "y": 3},
|
||||
{"label": "PERIOD", "matrix": [8, 2], "x": 10.25, "y": 3},
|
||||
{"label": "SLASH", "matrix": [8, 3], "x": 11.25, "y": 3},
|
||||
{"label": "JPBACKSLASH", "matrix": [8, 4], "x": 12.25, "y": 3},
|
||||
{"label": "RSHIFT", "matrix": [8, 5], "w": 1.25, "x": 13.25, "y": 3},
|
||||
{"label": "UP", "matrix": [8, 6], "x": 14.5, "y": 3},
|
||||
{"label": "LCTRL", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "LALT", "matrix": [4, 1], "x": 1.25, "y": 4},
|
||||
{"label": "LCMD", "matrix": [4, 2], "w": 1.25, "x": 2.25, "y": 4},
|
||||
{"label": "MUHENKAN", "matrix": [4, 3], "w": 1.25, "x": 3.5, "y": 4},
|
||||
{"label": "SPACE1", "matrix": [4, 5], "w": 2, "x": 4.75, "y": 4},
|
||||
{"label": "SPACE2", "matrix": [4, 6], "w": 2, "x": 6.75, "y": 4},
|
||||
{"label": "HENKAN", "matrix": [9, 0], "w": 1.25, "x": 8.75, "y": 4},
|
||||
{"label": "RCMD", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4},
|
||||
{"label": "RCTRL", "matrix": [9, 3], "x": 11.25, "y": 4},
|
||||
{"label": "FN", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "LEFT", "matrix": [9, 5], "x": 13.5, "y": 4},
|
||||
{"label": "DOWN", "matrix": [9, 6], "x": 14.5, "y": 4},
|
||||
{"label": "RIGHT", "matrix": [9, 7], "x": 15.5, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
/* Copyright 2020 QMK
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file was auto-generated by:
|
||||
* `qmk chibios-confmigrate -i keyboards/clueboard/66/rev4/mcuconf.h -r platforms/chibios/QMK_PROTON_C/configs/mcuconf.h`
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef STM32_GPT_USE_TIM15
|
||||
#define STM32_GPT_USE_TIM15 FALSE
|
||||
|
||||
#undef STM32_I2C_USE_I2C1
|
||||
#define STM32_I2C_USE_I2C1 FALSE
|
||||
|
||||
#undef STM32_PWM_USE_TIM3
|
||||
#define STM32_PWM_USE_TIM3 FALSE
|
||||
|
||||
#undef STM32_PWM_USE_TIM4
|
||||
#define STM32_PWM_USE_TIM4 FALSE
|
||||
|
||||
#undef STM32_SERIAL_USE_USART2
|
||||
#define STM32_SERIAL_USE_USART2 FALSE
|
||||
|
||||
#undef STM32_SPI_USE_SPI2
|
||||
#define STM32_SPI_USE_SPI2 FALSE
|
||||
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
# Clueboard 66%
|
||||
|
||||

|
||||
|
||||
A fully customizable 66% keyboard.
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard 66% PCB rev4 (stm32f303cc, PCB Version 3.0)
|
||||
* Hardware Availability: [clueboard.co](https://clueboard.co/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make clueboard/66/rev4:default
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
#include "quantum.h"
|
||||
|
||||
void led_init_ports(void) {
|
||||
// Set our LED pins as output
|
||||
gpio_set_pin_output(B13); // LED1
|
||||
gpio_write_pin_low(B13);
|
||||
gpio_set_pin_output(B14); // LED2
|
||||
gpio_write_pin_low(B14);
|
||||
gpio_set_pin_output(A8); // LED3
|
||||
gpio_write_pin_low(A8);
|
||||
gpio_set_pin_output(A0); // Capslock LED
|
||||
gpio_write_pin_low(A0);
|
||||
}
|
||||
|
||||
bool led_update_kb(led_t led_state) {
|
||||
bool res = led_update_user(led_state);
|
||||
if(res) {
|
||||
gpio_write_pin(B13, led_state.num_lock);
|
||||
gpio_write_pin(A0, led_state.caps_lock);
|
||||
gpio_write_pin(B14, led_state.caps_lock);
|
||||
gpio_write_pin(A8, led_state.scroll_lock);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
/*
|
||||
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
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
*/
|
||||
#define NO_ACTION_ONESHOT
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
/*
|
||||
* Copyright 2017 skully <skullydazed@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
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
|
||||
#define I2C1_SCL_PIN B8
|
||||
#define I2C1_SDA_PIN B9
|
||||
|
||||
#define AUDIO_PIN A5
|
||||
#define AUDIO_PIN_ALT A4
|
||||
#define AUDIO_PIN_ALT_AS_NEGATIVE
|
||||
|
|
@ -1,96 +0,0 @@
|
|||
/* Copyright 2017 Clueboard <info@clueboard.co>
|
||||
*
|
||||
* 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 "quantum.h"
|
||||
|
||||
#ifdef LED_MATRIX_ENABLE
|
||||
const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
|
||||
/* Refer to IS31 manual for these locations
|
||||
* driver
|
||||
* | LED address
|
||||
* | | */
|
||||
{ 0, C1_1 }, // k00 QK_GESC
|
||||
{ 0, C1_2 }, // k01 KC_1
|
||||
{ 0, C1_3 }, // k02 KC_2
|
||||
{ 0, C1_4 }, // k03 KC_3
|
||||
{ 0, C1_5 }, // k04 KC_4
|
||||
{ 0, C1_6 }, // k05 KC_5
|
||||
{ 0, C1_7 }, // k06 KC_6
|
||||
{ 0, C1_8 }, // k07 KC_7
|
||||
{ 0, C1_9 }, // k50 KC_8
|
||||
{ 0, C1_10 }, // k51 KC_9
|
||||
{ 0, C1_11 }, // k52 KC_0
|
||||
{ 0, C1_12 }, // k53 KC_MINS
|
||||
{ 0, C1_13 }, // k54 KC_EQL
|
||||
{ 0, C1_14 }, // k55 KC_BSPC
|
||||
{ 0, C1_15 }, // k57 KC_PGUP
|
||||
{ 0, C2_1 }, // k10 KC_TAB
|
||||
{ 0, C2_2 }, // k11 KC_Q
|
||||
{ 0, C2_3 }, // k12 KC_W
|
||||
{ 0, C2_4 }, // k13 KC_E
|
||||
{ 0, C2_5 }, // k14 KC_R
|
||||
{ 0, C2_6 }, // k15 KC_T
|
||||
{ 0, C2_7 }, // k16 KC_Y
|
||||
{ 0, C2_8 }, // k17 KC_U
|
||||
{ 0, C2_9 }, // k60 KC_I
|
||||
{ 0, C2_10 }, // k61 KC_O
|
||||
{ 0, C2_11 }, // k62 KC_P
|
||||
{ 0, C2_12 }, // k63 KC_LBRC
|
||||
{ 0, C2_13 }, // k64 KC_RBRC
|
||||
{ 0, C2_14 }, // k65 KC_BSLS
|
||||
{ 0, C2_15 }, // k67 KC_PGDN
|
||||
{ 0, C3_1 }, // k20 KC_CAPS
|
||||
{ 0, C3_2 }, // k21 KC_A
|
||||
{ 0, C3_3 }, // k22 KC_S
|
||||
{ 0, C3_4 }, // k23 KC_D
|
||||
{ 0, C3_5 }, // k24 KC_F
|
||||
{ 0, C3_6 }, // k25 KC_G
|
||||
{ 0, C3_7 }, // k26 KC_H
|
||||
{ 0, C3_8 }, // k27 KC_J
|
||||
{ 0, C3_9 }, // k70 KC_K
|
||||
{ 0, C3_10 }, // k71 KC_L
|
||||
{ 0, C3_11 }, // k72 KC_SCLN
|
||||
{ 0, C3_12 }, // k73 KC_QUOT
|
||||
{ 0, C3_14 }, // k75 KC_ENT
|
||||
{ 0, C4_1 }, // k30 KC_LSFT
|
||||
{ 0, C4_3 }, // k32 KC_Z
|
||||
{ 0, C4_4 }, // k33 KC_X
|
||||
{ 0, C4_5 }, // k34 KC_C
|
||||
{ 0, C4_6 }, // k35 KC_V
|
||||
{ 0, C4_7 }, // k36 KC_B
|
||||
{ 0, C4_8 }, // k37 KC_N
|
||||
{ 0, C4_9 }, // k80 KC_M
|
||||
{ 0, C4_10 }, // k81 KC_COMM
|
||||
{ 0, C4_11 }, // k82 KC_DOT
|
||||
{ 0, C4_12 }, // k83 KC_SLSH
|
||||
{ 0, C4_13 }, // k85 KC_RSFT
|
||||
{ 0, C4_14 }, // k86 KC_UP
|
||||
{ 0, C5_1 }, // k40 KC_LCTL
|
||||
{ 0, C5_2 }, // k41 KC_LGUI
|
||||
{ 0, C5_3 }, // k42 KC_LALT
|
||||
{ 0, C5_4 }, // Unassociated between LALT and SPACE_2.75
|
||||
{ 0, C5_5 }, // k45 KC_SPC SPACE_2.75
|
||||
{ 0, C5_6 }, // k45 KC_SPC SPACE_6.75
|
||||
{ 0, C5_7 }, // k46 KC_SPC SPACE_2.25
|
||||
{ 0, C5_8 }, // Unassociated between SPACE_2.25 and SPACE_1.25
|
||||
{ 0, C5_9 }, // k90 KC_RGUI
|
||||
{ 0, C5_10 }, // k92 KC_RALT
|
||||
{ 0, C5_11 }, // k93 MO(_FL)
|
||||
{ 0, C5_12 }, // k94 KC_RCTL
|
||||
{ 0, C5_13 }, // k95 KC_LEFT
|
||||
{ 0, C5_14 }, // k96 KC_DOWN
|
||||
{ 0, C5_15 } // k97 KC_RGHT
|
||||
};
|
||||
#endif
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
/* Copyright 2020 QMK
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file was auto-generated by:
|
||||
* `qmk chibios-confmigrate -i keyboards/clueboard/66_hotswap/gen1/halconf.h -r platforms/chibios/QMK_PROTON_C/configs/halconf.h`
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_PWM FALSE
|
||||
|
||||
#define HAL_USE_SERIAL_USB FALSE
|
||||
|
||||
#define HAL_USE_SPI FALSE
|
||||
|
||||
#define PAL_USE_CALLBACKS FALSE
|
||||
|
||||
#define PAL_USE_WAIT FALSE
|
||||
|
||||
#include_next <halconf.h>
|
||||
|
||||
|
|
@ -1,274 +0,0 @@
|
|||
{
|
||||
"manufacturer": "Clueboard",
|
||||
"keyboard_name": "Clueboard 66% HotSwap Gen1",
|
||||
"maintainer": "skullydazed",
|
||||
"processor": "STM32F303",
|
||||
"board": "QMK_PROTON_C",
|
||||
"bootloader": "stm32-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"audio": true,
|
||||
"bootmagic": true,
|
||||
"command": true,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"led_matrix": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"led_matrix": {
|
||||
"animations":{
|
||||
"alphas_mods": true,
|
||||
"breathing": true,
|
||||
"band": true,
|
||||
"band_pinwheel": true,
|
||||
"band_spiral": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"cycle_out_in": true,
|
||||
"dual_beacon": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive_wide": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_cross": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_nexus": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"splash": true,
|
||||
"multisplash": true,
|
||||
"wave_left_right": true,
|
||||
"wave_up_down": true
|
||||
},
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 1], "x": 15, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 2], "x": 29, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 3], "x": 43, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 4], "x": 58, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 5], "x": 72, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 6], "x": 87, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 7], "x": 101, "y": 0, "flags": 4},
|
||||
{"matrix": [5, 0], "x": 116, "y": 0, "flags": 4},
|
||||
{"matrix": [5, 1], "x": 130, "y": 0, "flags": 4},
|
||||
{"matrix": [5, 2], "x": 145, "y": 0, "flags": 4},
|
||||
{"matrix": [5, 3], "x": 159, "y": 0, "flags": 4},
|
||||
{"matrix": [5, 4], "x": 173, "y": 0, "flags": 4},
|
||||
{"matrix": [5, 5], "x": 195, "y": 0, "flags": 1},
|
||||
{"matrix": [5, 7], "x": 224, "y": 0, "flags": 1},
|
||||
{"matrix": [1, 0], "x": 4, "y": 16, "flags": 1},
|
||||
{"matrix": [1, 1], "x": 22, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 36, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 51, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 65, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 5], "x": 80, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 6], "x": 94, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 7], "x": 108, "y": 16, "flags": 4},
|
||||
{"matrix": [6, 0], "x": 123, "y": 16, "flags": 4},
|
||||
{"matrix": [6, 1], "x": 137, "y": 16, "flags": 4},
|
||||
{"matrix": [6, 2], "x": 152, "y": 16, "flags": 4},
|
||||
{"matrix": [6, 3], "x": 166, "y": 16, "flags": 4},
|
||||
{"matrix": [6, 4], "x": 181, "y": 16, "flags": 4},
|
||||
{"matrix": [6, 5], "x": 199, "y": 16, "flags": 1},
|
||||
{"matrix": [6, 7], "x": 224, "y": 16, "flags": 1},
|
||||
{"matrix": [2, 0], "x": 5, "y": 32, "flags": 1},
|
||||
{"matrix": [2, 1], "x": 25, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 40, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 54, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 69, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 5], "x": 83, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 6], "x": 98, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 7], "x": 112, "y": 32, "flags": 4},
|
||||
{"matrix": [7, 0], "x": 126, "y": 32, "flags": 4},
|
||||
{"matrix": [7, 1], "x": 141, "y": 32, "flags": 4},
|
||||
{"matrix": [7, 2], "x": 155, "y": 32, "flags": 4},
|
||||
{"matrix": [7, 3], "x": 170, "y": 32, "flags": 4},
|
||||
{"matrix": [7, 5], "x": 184, "y": 32, "flags": 1},
|
||||
{"matrix": [3, 0], "x": 16, "y": 48, "flags": 1},
|
||||
{"matrix": [3, 2], "x": 33, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 47, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 61, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 76, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 6], "x": 90, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 7], "x": 105, "y": 48, "flags": 4},
|
||||
{"matrix": [8, 0], "x": 119, "y": 48, "flags": 4},
|
||||
{"matrix": [8, 1], "x": 134, "y": 48, "flags": 4},
|
||||
{"matrix": [8, 2], "x": 148, "y": 48, "flags": 4},
|
||||
{"matrix": [8, 3], "x": 163, "y": 48, "flags": 4},
|
||||
{"matrix": [8, 5], "x": 188, "y": 48, "flags": 1},
|
||||
{"matrix": [8, 6], "x": 210, "y": 48, "flags": 1},
|
||||
{"matrix": [4, 0], "x": 9, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 1], "x": 27, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 2], "x": 45, "y": 64, "flags": 1},
|
||||
{"x": 60, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 5], "x": 74, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 6], "x": 88, "y": 64, "flags": 1},
|
||||
{"x": 103, "y": 64, "flags": 1},
|
||||
{"x": 117, "y": 64, "flags": 1},
|
||||
{"matrix": [9, 0], "x": 136, "y": 64, "flags": 1},
|
||||
{"matrix": [9, 2], "x": 154, "y": 64, "flags": 1},
|
||||
{"matrix": [9, 3], "x": 168, "y": 64, "flags": 1},
|
||||
{"matrix": [9, 4], "x": 186, "y": 64, "flags": 1},
|
||||
{"matrix": [9, 5], "x": 195, "y": 64, "flags": 1},
|
||||
{"matrix": [9, 6], "x": 210, "y": 64, "flags": 1},
|
||||
{"matrix": [9, 7], "x": 224, "y": 64, "flags": 1}
|
||||
],
|
||||
"driver": "is31fl3731"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["B10", "B2", "B1", "B0", "A7", "B4", "B3", "B7"],
|
||||
"rows": ["B11", "A6", "A3", "A2", "A1", "B5", "B6", "C15", "C14", "C13"]
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x2391",
|
||||
"vid": "0xC1ED"
|
||||
},
|
||||
"community_layouts": ["66_ansi"],
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_66_ansi": {
|
||||
"layout": [
|
||||
{"label": "k00", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "k01", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "k02", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "k03", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "k04", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "k05", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "k06", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "k07", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "k50", "matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"label": "k51", "matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"label": "k52", "matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"label": "k53", "matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"label": "k54", "matrix": [5, 4], "x": 12, "y": 0},
|
||||
{"label": "k55", "matrix": [5, 5], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "k57", "matrix": [5, 7], "x": 15.5, "y": 0},
|
||||
{"label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "k11", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "k12", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "k13", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "k14", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "k15", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "k16", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "k17", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "k60", "matrix": [6, 0], "x": 8.5, "y": 1},
|
||||
{"label": "k61", "matrix": [6, 1], "x": 9.5, "y": 1},
|
||||
{"label": "k62", "matrix": [6, 2], "x": 10.5, "y": 1},
|
||||
{"label": "k63", "matrix": [6, 3], "x": 11.5, "y": 1},
|
||||
{"label": "k64", "matrix": [6, 4], "x": 12.5, "y": 1},
|
||||
{"label": "k65", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "k67", "matrix": [6, 7], "x": 15.5, "y": 1},
|
||||
{"label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "k21", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "k22", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "k23", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "k24", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "k25", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "k26", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "k27", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "k70", "matrix": [7, 0], "x": 8.75, "y": 2},
|
||||
{"label": "k71", "matrix": [7, 1], "x": 9.75, "y": 2},
|
||||
{"label": "k72", "matrix": [7, 2], "x": 10.75, "y": 2},
|
||||
{"label": "k73", "matrix": [7, 3], "x": 11.75, "y": 2},
|
||||
{"label": "k75", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2},
|
||||
{"label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3},
|
||||
{"label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "k80", "matrix": [8, 0], "x": 8.25, "y": 3},
|
||||
{"label": "k81", "matrix": [8, 1], "x": 9.25, "y": 3},
|
||||
{"label": "k82", "matrix": [8, 2], "x": 10.25, "y": 3},
|
||||
{"label": "k83", "matrix": [8, 3], "x": 11.25, "y": 3},
|
||||
{"label": "k85", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3},
|
||||
{"label": "k86", "matrix": [8, 6], "x": 14.5, "y": 3},
|
||||
{"label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "k42", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4},
|
||||
{"label": "k92", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4},
|
||||
{"label": "k93", "matrix": [9, 3], "x": 11.25, "y": 4},
|
||||
{"label": "k94", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "k95", "matrix": [9, 5], "x": 13.5, "y": 4},
|
||||
{"label": "k96", "matrix": [9, 6], "x": 14.5, "y": 4},
|
||||
{"label": "k97", "matrix": [9, 7], "x": 15.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label": "k00", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "k01", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "k02", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "k03", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "k04", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "k05", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "k06", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "k07", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "k50", "matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"label": "k51", "matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"label": "k52", "matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"label": "k53", "matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"label": "k54", "matrix": [5, 4], "x": 12, "y": 0},
|
||||
{"label": "k55", "matrix": [5, 5], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "k57", "matrix": [5, 7], "x": 15.5, "y": 0},
|
||||
{"label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "k11", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "k12", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "k13", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "k14", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "k15", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "k16", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "k17", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "k60", "matrix": [6, 0], "x": 8.5, "y": 1},
|
||||
{"label": "k61", "matrix": [6, 1], "x": 9.5, "y": 1},
|
||||
{"label": "k62", "matrix": [6, 2], "x": 10.5, "y": 1},
|
||||
{"label": "k63", "matrix": [6, 3], "x": 11.5, "y": 1},
|
||||
{"label": "k64", "matrix": [6, 4], "x": 12.5, "y": 1},
|
||||
{"label": "k65", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "k67", "matrix": [6, 7], "x": 15.5, "y": 1},
|
||||
{"label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "k21", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "k22", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "k23", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "k24", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "k25", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "k26", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "k27", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "k70", "matrix": [7, 0], "x": 8.75, "y": 2},
|
||||
{"label": "k71", "matrix": [7, 1], "x": 9.75, "y": 2},
|
||||
{"label": "k72", "matrix": [7, 2], "x": 10.75, "y": 2},
|
||||
{"label": "k73", "matrix": [7, 3], "x": 11.75, "y": 2},
|
||||
{"label": "k75", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2},
|
||||
{"label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3},
|
||||
{"label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "k80", "matrix": [8, 0], "x": 8.25, "y": 3},
|
||||
{"label": "k81", "matrix": [8, 1], "x": 9.25, "y": 3},
|
||||
{"label": "k82", "matrix": [8, 2], "x": 10.25, "y": 3},
|
||||
{"label": "k83", "matrix": [8, 3], "x": 11.25, "y": 3},
|
||||
{"label": "k85", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3},
|
||||
{"label": "k86", "matrix": [8, 6], "x": 14.5, "y": 3},
|
||||
{"label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "k42", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k45", "matrix": [4, 5], "w": 2.75, "x": 3.75, "y": 4},
|
||||
{"label": "k46", "matrix": [4, 6], "w": 2.25, "x": 6.5, "y": 4},
|
||||
{"label": "k90", "matrix": [9, 0], "w": 1.25, "x": 8.75, "y": 4},
|
||||
{"label": "k92", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4},
|
||||
{"label": "k93", "matrix": [9, 3], "x": 11.25, "y": 4},
|
||||
{"label": "k94", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "k95", "matrix": [9, 5], "x": 13.5, "y": 4},
|
||||
{"label": "k96", "matrix": [9, 6], "x": 14.5, "y": 4},
|
||||
{"label": "k97", "matrix": [9, 7], "x": 15.5, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _CL 2
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: Base Layer (Default Layer)
|
||||
*/
|
||||
[_BL] = LAYOUT_66_ansi(
|
||||
QK_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_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_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,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
*/
|
||||
[_FL] = LAYOUT_66_ansi(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_VOLU,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP,
|
||||
_______,_______,_______, _______, _______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
||||
|
||||
/* Keymap _CL: Control layer
|
||||
*/
|
||||
[_CL] = LAYOUT_66_ansi(
|
||||
LM_NEXT,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, LM_TOGG, LM_BRIU,
|
||||
_______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, LM_BRID,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,
|
||||
_______,_______,_______, LM_NEXT, _______,MO(_FL),_______,_______,_______,_______),
|
||||
};
|
||||
|
|
@ -1,11 +0,0 @@
|
|||

|
||||
|
||||
# Basic Clueboard 66% Hotswap Layout
|
||||
|
||||
This is the default layout that comes flashed on every Clueboard. For the most
|
||||
part it's a straightforward and easy to follow layout. The only unusual key is
|
||||
the key in the upper left, which sends Escape normally, but Grave when any of
|
||||
the Ctrl, Alt, or GUI modifiers are held down.
|
||||
|
||||
This uses `LAYOUT_66_ansi`, which is compatable with the `66_ansi` community
|
||||
layout.
|
||||
|
|
@ -1,139 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _CL 2
|
||||
|
||||
enum custom_keycodes {
|
||||
S_BSKTC = SAFE_RANGE,
|
||||
S_ODEJY,
|
||||
S_RCKBY,
|
||||
S_DOEDR,
|
||||
S_SCALE,
|
||||
S_ONEUP,
|
||||
S_COIN,
|
||||
S_SONIC,
|
||||
S_ZELDA
|
||||
};
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
float song_basketcase[][2] = SONG(BASKET_CASE);
|
||||
float song_ode_to_joy[][2] = SONG(ODE_TO_JOY);
|
||||
float song_rock_a_bye_baby[][2] = SONG(ROCK_A_BYE_BABY);
|
||||
float song_doe_a_deer[][2] = SONG(DOE_A_DEER);
|
||||
float song_scale[][2] = SONG(MUSIC_SCALE_SOUND);
|
||||
float song_coin[][2] = SONG(COIN_SOUND);
|
||||
float song_one_up[][2] = SONG(ONE_UP_SOUND);
|
||||
float song_sonic_ring[][2] = SONG(SONIC_RING);
|
||||
float song_zelda_puzzle[][2] = SONG(ZELDA_PUZZLE);
|
||||
#endif
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: Base Layer (Default Layer)
|
||||
*/
|
||||
[_BL] = LAYOUT(
|
||||
QK_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_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_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_SPC, KC_RGUI,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
*/
|
||||
[_FL] = LAYOUT(
|
||||
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_VOLU,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP,
|
||||
_______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
||||
|
||||
/* Keymap _CL: Control layer
|
||||
*/
|
||||
[_CL] = LAYOUT(
|
||||
LM_NEXT,S_ONEUP,S_SCALE,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, LM_TOGG, LM_BRIU,
|
||||
_______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, LM_BRID,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,
|
||||
_______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,_______,_______,_______),
|
||||
};
|
||||
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
case S_BSKTC:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_basketcase);
|
||||
}
|
||||
return false;
|
||||
case S_ODEJY:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_ode_to_joy);
|
||||
}
|
||||
return false;
|
||||
case S_RCKBY:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_rock_a_bye_baby);
|
||||
}
|
||||
return false;
|
||||
case S_DOEDR:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_doe_a_deer);
|
||||
}
|
||||
return false;
|
||||
case S_SCALE:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_scale);
|
||||
}
|
||||
return false;
|
||||
case S_ONEUP:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_one_up);
|
||||
}
|
||||
return false;
|
||||
case S_COIN:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_coin);
|
||||
}
|
||||
return false;
|
||||
case S_SONIC:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_sonic_ring);
|
||||
}
|
||||
return false;
|
||||
case S_ZELDA:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_zelda_puzzle);
|
||||
}
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||

|
||||
|
||||
# Default Clueboard 66% Hotswap Layout
|
||||
|
||||
This is the default layout that comes flashed on every Clueboard. For the most
|
||||
part it's a straightforward and easy to follow layout. The only unusual key is
|
||||
the key in the upper left, which sends Escape normally, but Grave when any of
|
||||
the Ctrl, Alt, or GUI modifiers are held down.
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
/* Copyright 2020 QMK
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file was auto-generated by:
|
||||
* `qmk chibios-confmigrate -i keyboards/clueboard/66_hotswap/gen1/mcuconf.h -r platforms/chibios/QMK_PROTON_C/configs/mcuconf.h`
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef STM32_GPT_USE_TIM15
|
||||
#define STM32_GPT_USE_TIM15 FALSE
|
||||
|
||||
#undef STM32_PWM_USE_TIM3
|
||||
#define STM32_PWM_USE_TIM3 FALSE
|
||||
|
||||
#undef STM32_PWM_USE_TIM4
|
||||
#define STM32_PWM_USE_TIM4 FALSE
|
||||
|
||||
#undef STM32_SERIAL_USE_USART2
|
||||
#define STM32_SERIAL_USE_USART2 FALSE
|
||||
|
||||
#undef STM32_SPI_USE_SPI2
|
||||
#define STM32_SPI_USE_SPI2 FALSE
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
# Clueboard 66% HotSwap
|
||||
|
||||

|
||||
|
||||
A fully customizable 66% keyboard with Hot Swap sockets.
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard 66% HotSwap PCB
|
||||
* 2.9 (gen1)
|
||||
* Hardware Availability: [clueboard.co](https://clueboard.co/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make clueboard/66_hotswap/gen1: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).
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
/* Speaker configuration
|
||||
*/
|
||||
#define AUDIO_PIN B7
|
||||
#define NO_MUSIC_MODE
|
||||
#define AUDIO_CLICKY
|
||||
|
||||
/* Space savings
|
||||
*/
|
||||
#define NO_ACTION_TAPPING
|
||||
|
||||
/* Underlight configuration
|
||||
*/
|
||||
#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
|
||||
#define RGBLIGHT_EFFECT_BREATHE_MAX 200
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 666*2
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 4 // How many LEDs wide to light up
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 16 // The led to start at
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 8 // How many LEDs to travel
|
||||
#define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 // How many LEDs wide to light up
|
||||
|
|
@ -1,209 +0,0 @@
|
|||
{
|
||||
"manufacturer": "Clueboard",
|
||||
"keyboard_name": "Clueboard 66% HotSwap Prototype",
|
||||
"maintainer": "skullydazed",
|
||||
"diode_direction": "COL2ROW",
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"features": {
|
||||
"audio": true,
|
||||
"backlight": true,
|
||||
"bootmagic": false,
|
||||
"command": false,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"mousekey": false,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "B4"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F0", "F1", "F4", "F5", "F6", "F7", "E6", "B1"],
|
||||
"rows": ["B2", "C7", "C6", "B6", "B5", "B0", "B3", "D5", "D3", "D2"]
|
||||
},
|
||||
"rgblight": {
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"rgb_test": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"brightness_steps": 17,
|
||||
"hue_steps": 32,
|
||||
"led_count": 26,
|
||||
"saturation_steps": 17
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D7"
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x2390",
|
||||
"vid": "0xC1ED"
|
||||
},
|
||||
"backlight": {
|
||||
"driver": "custom",
|
||||
"levels": 1
|
||||
},
|
||||
"community_layouts": ["66_ansi"],
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_66_ansi": {
|
||||
"layout": [
|
||||
{"label": "k00", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "k01", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "k02", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "k03", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "k04", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "k05", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "k06", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "k07", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "k50", "matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"label": "k51", "matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"label": "k52", "matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"label": "k53", "matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"label": "k54", "matrix": [5, 4], "x": 12, "y": 0},
|
||||
{"label": "k56", "matrix": [5, 6], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "k57", "matrix": [5, 7], "x": 15.5, "y": 0},
|
||||
{"label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "k11", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "k12", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "k13", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "k14", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "k15", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "k16", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "k17", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "k60", "matrix": [6, 0], "x": 8.5, "y": 1},
|
||||
{"label": "k61", "matrix": [6, 1], "x": 9.5, "y": 1},
|
||||
{"label": "k62", "matrix": [6, 2], "x": 10.5, "y": 1},
|
||||
{"label": "k63", "matrix": [6, 3], "x": 11.5, "y": 1},
|
||||
{"label": "k64", "matrix": [6, 4], "x": 12.5, "y": 1},
|
||||
{"label": "k65", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "k67", "matrix": [6, 7], "x": 15.5, "y": 1},
|
||||
{"label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "k21", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "k22", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "k23", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "k24", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "k25", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "k26", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "k27", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "k70", "matrix": [7, 0], "x": 8.75, "y": 2},
|
||||
{"label": "k71", "matrix": [7, 1], "x": 9.75, "y": 2},
|
||||
{"label": "k72", "matrix": [7, 2], "x": 10.75, "y": 2},
|
||||
{"label": "k73", "matrix": [7, 3], "x": 11.75, "y": 2},
|
||||
{"label": "k75", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2},
|
||||
{"label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3},
|
||||
{"label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "k80", "matrix": [8, 0], "x": 8.25, "y": 3},
|
||||
{"label": "k81", "matrix": [8, 1], "x": 9.25, "y": 3},
|
||||
{"label": "k82", "matrix": [8, 2], "x": 10.25, "y": 3},
|
||||
{"label": "k83", "matrix": [8, 3], "x": 11.25, "y": 3},
|
||||
{"label": "k85", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3},
|
||||
{"label": "k86", "matrix": [8, 6], "x": 14.5, "y": 3},
|
||||
{"label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "k42", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4},
|
||||
{"label": "k92", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4},
|
||||
{"label": "k93", "matrix": [9, 3], "x": 11.25, "y": 4},
|
||||
{"label": "k94", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "k95", "matrix": [9, 5], "x": 13.5, "y": 4},
|
||||
{"label": "k96", "matrix": [9, 6], "x": 14.5, "y": 4},
|
||||
{"label": "k97", "matrix": [9, 7], "x": 15.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label": "k00", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "k01", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "k02", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "k03", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "k04", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "k05", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "k06", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "k07", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "k50", "matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"label": "k51", "matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"label": "k52", "matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"label": "k53", "matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"label": "k54", "matrix": [5, 4], "x": 12, "y": 0},
|
||||
{"label": "k56", "matrix": [5, 6], "w": 2, "x": 13, "y": 0},
|
||||
{"label": "k57", "matrix": [5, 7], "x": 15.5, "y": 0},
|
||||
{"label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1},
|
||||
{"label": "k11", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "k12", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "k13", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "k14", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "k15", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "k16", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "k17", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "k60", "matrix": [6, 0], "x": 8.5, "y": 1},
|
||||
{"label": "k61", "matrix": [6, 1], "x": 9.5, "y": 1},
|
||||
{"label": "k62", "matrix": [6, 2], "x": 10.5, "y": 1},
|
||||
{"label": "k63", "matrix": [6, 3], "x": 11.5, "y": 1},
|
||||
{"label": "k64", "matrix": [6, 4], "x": 12.5, "y": 1},
|
||||
{"label": "k65", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1},
|
||||
{"label": "k67", "matrix": [6, 7], "x": 15.5, "y": 1},
|
||||
{"label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2},
|
||||
{"label": "k21", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "k22", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "k23", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "k24", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "k25", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "k26", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "k27", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "k70", "matrix": [7, 0], "x": 8.75, "y": 2},
|
||||
{"label": "k71", "matrix": [7, 1], "x": 9.75, "y": 2},
|
||||
{"label": "k72", "matrix": [7, 2], "x": 10.75, "y": 2},
|
||||
{"label": "k73", "matrix": [7, 3], "x": 11.75, "y": 2},
|
||||
{"label": "k75", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2},
|
||||
{"label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3},
|
||||
{"label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "k80", "matrix": [8, 0], "x": 8.25, "y": 3},
|
||||
{"label": "k81", "matrix": [8, 1], "x": 9.25, "y": 3},
|
||||
{"label": "k82", "matrix": [8, 2], "x": 10.25, "y": 3},
|
||||
{"label": "k83", "matrix": [8, 3], "x": 11.25, "y": 3},
|
||||
{"label": "k84", "matrix": [8, 4], "x": 12.25, "y": 3},
|
||||
{"label": "k85", "matrix": [8, 5], "w": 1.25, "x": 13.25, "y": 3},
|
||||
{"label": "k86", "matrix": [8, 6], "x": 14.5, "y": 3},
|
||||
{"label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4},
|
||||
{"label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4},
|
||||
{"label": "k42", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4},
|
||||
{"label": "k45", "matrix": [4, 5], "w": 2.75, "x": 3.75, "y": 4},
|
||||
{"label": "k46", "matrix": [4, 6], "w": 2.25, "x": 6.5, "y": 4},
|
||||
{"label": "k90", "matrix": [9, 0], "w": 1.25, "x": 8.75, "y": 4},
|
||||
{"label": "k92", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4},
|
||||
{"label": "k93", "matrix": [9, 3], "x": 11.25, "y": 4},
|
||||
{"label": "k94", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4},
|
||||
{"label": "k95", "matrix": [9, 5], "x": 13.5, "y": 4},
|
||||
{"label": "k96", "matrix": [9, 6], "x": 14.5, "y": 4},
|
||||
{"label": "k97", "matrix": [9, 7], "x": 15.5, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _CL 2
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: Base Layer (Default Layer)
|
||||
*/
|
||||
[_BL] = LAYOUT_66_ansi(
|
||||
QK_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_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_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,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
*/
|
||||
[_FL] = LAYOUT_66_ansi(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_VOLU,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP,
|
||||
_______,_______,_______, _______, _______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
||||
|
||||
/* Keymap _CL: Control layer
|
||||
*/
|
||||
[_CL] = LAYOUT_66_ansi(
|
||||
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, UG_TOGG, UG_VALU,
|
||||
_______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, UG_VALD,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, UG_SATU,
|
||||
_______,_______,_______, UG_NEXT, _______,MO(_FL),_______,UG_HUED,UG_SATD,UG_HUEU),
|
||||
};
|
||||
|
|
@ -1,11 +0,0 @@
|
|||

|
||||
|
||||
# Basic Clueboard 66% Hotswap Layout
|
||||
|
||||
This is the default layout that comes flashed on every Clueboard. For the most
|
||||
part it's a straightforward and easy to follow layout. The only unusual key is
|
||||
the key in the upper left, which sends Escape normally, but Grave when any of
|
||||
the Ctrl, Alt, or GUI modifiers are held down.
|
||||
|
||||
This uses `LAYOUT_66_ansi`, which is compatable with the `66_ansi` community
|
||||
layout.
|
||||
|
|
@ -1,139 +0,0 @@
|
|||
/* Copyright 2017 Zach White <skullydazed@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/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _CL 2
|
||||
|
||||
enum custom_keycodes {
|
||||
S_BSKTC = SAFE_RANGE,
|
||||
S_ODEJY,
|
||||
S_RCKBY,
|
||||
S_DOEDR,
|
||||
S_SCALE,
|
||||
S_ONEUP,
|
||||
S_COIN,
|
||||
S_SONIC,
|
||||
S_ZELDA
|
||||
};
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
float song_basketcase[][2] = SONG(BASKET_CASE);
|
||||
float song_ode_to_joy[][2] = SONG(ODE_TO_JOY);
|
||||
float song_rock_a_bye_baby[][2] = SONG(ROCK_A_BYE_BABY);
|
||||
float song_doe_a_deer[][2] = SONG(DOE_A_DEER);
|
||||
float song_scale[][2] = SONG(MUSIC_SCALE_SOUND);
|
||||
float song_coin[][2] = SONG(COIN_SOUND);
|
||||
float song_one_up[][2] = SONG(ONE_UP_SOUND);
|
||||
float song_sonic_ring[][2] = SONG(SONIC_RING);
|
||||
float song_zelda_puzzle[][2] = SONG(ZELDA_PUZZLE);
|
||||
#endif
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: Base Layer (Default Layer)
|
||||
*/
|
||||
[_BL] = LAYOUT(
|
||||
QK_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_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_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_NUHS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_NUBS,KC_RSFT, KC_UP,
|
||||
KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_SPC, KC_RGUI,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
*/
|
||||
[_FL] = LAYOUT(
|
||||
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_VOLU,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______, KC_PGUP,
|
||||
_______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
||||
|
||||
/* Keymap _CL: Control layer
|
||||
*/
|
||||
[_CL] = LAYOUT(
|
||||
BL_STEP,S_ONEUP,S_SCALE,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, BL_TOGG, BL_UP,
|
||||
_______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DOWN,
|
||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, UG_SATU,
|
||||
_______,_______,_______, BL_BRTG,BL_BRTG, _______,_______,MO(_FL),_______,UG_HUED,UG_SATD,UG_HUEU),
|
||||
};
|
||||
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
case S_BSKTC:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_basketcase);
|
||||
}
|
||||
return false;
|
||||
case S_ODEJY:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_ode_to_joy);
|
||||
}
|
||||
return false;
|
||||
case S_RCKBY:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_rock_a_bye_baby);
|
||||
}
|
||||
return false;
|
||||
case S_DOEDR:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_doe_a_deer);
|
||||
}
|
||||
return false;
|
||||
case S_SCALE:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_scale);
|
||||
}
|
||||
return false;
|
||||
case S_ONEUP:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_one_up);
|
||||
}
|
||||
return false;
|
||||
case S_COIN:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_coin);
|
||||
}
|
||||
return false;
|
||||
case S_SONIC:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_sonic_ring);
|
||||
}
|
||||
return false;
|
||||
case S_ZELDA:
|
||||
if (record->event.pressed) {
|
||||
stop_all_notes();
|
||||
PLAY_SONG(song_zelda_puzzle);
|
||||
}
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||

|
||||
|
||||
# Default Clueboard 66% Hotswap Layout
|
||||
|
||||
This is the default layout that comes flashed on every Clueboard. For the most
|
||||
part it's a straightforward and easy to follow layout. The only unusual key is
|
||||
the key in the upper left, which sends Escape normally, but Grave when any of
|
||||
the Ctrl, Alt, or GUI modifiers are held down.
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#include "quantum.h"
|
||||
#include "print.h"
|
||||
|
||||
void backlight_init_ports(void) {
|
||||
print("init_backlight_pin()\n");
|
||||
// Set our LED pins as output
|
||||
gpio_set_pin_output(D0); // Esc
|
||||
gpio_set_pin_output(D4); // Page Up
|
||||
gpio_set_pin_output(D1); // Arrows
|
||||
|
||||
// Set our LED pins low
|
||||
gpio_write_pin_low(D0); // Esc
|
||||
gpio_write_pin_low(D4); // Page Up
|
||||
gpio_write_pin_low(D1); // Arrows
|
||||
}
|
||||
|
||||
void backlight_set(uint8_t level) {
|
||||
if ( level == 0 ) {
|
||||
// Turn off light
|
||||
gpio_write_pin_high(D0); // Esc
|
||||
gpio_write_pin_high(D4); // Page Up
|
||||
gpio_write_pin_high(D1); // Arrows
|
||||
} else {
|
||||
// Turn on light
|
||||
gpio_write_pin_low(D0); // Esc
|
||||
gpio_write_pin_low(D4); // Page Up
|
||||
gpio_write_pin_low(D1); // Arrows
|
||||
}
|
||||
}
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
# Clueboard 66% HotSwap
|
||||
|
||||

|
||||
|
||||
A fully customizable 66% keyboard with Hot Swap sockets.
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard 66% HotSwap Prototype PCB
|
||||
* 2.8 (prototype)
|
||||
* Hardware Availability: [clueboard.co](https://clueboard.co/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make clueboard/66_hotswap/prototype: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).
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
# Clueboard 66% HotSwap
|
||||
|
||||

|
||||
|
||||
A fully customizable 66% keyboard with Hot Swap sockets.
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard 66% HotSwap PCB
|
||||
* 2.9 (gen1)
|
||||
* Hardware Availability: [clueboard.co](https://clueboard.co/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make clueboard/66_hotswap/gen1: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).
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
|
||||
#define AUDIO_PIN A5
|
||||
#define AUDIO_PIN_ALT A4
|
||||
#define AUDIO_PIN_ALT_AS_NEGATIVE
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
{
|
||||
"keyboard_name": "Clueboard California",
|
||||
"url": "",
|
||||
"maintainer": "skullydazed",
|
||||
"processor": "STM32F303",
|
||||
"board": "QMK_PROTON_C",
|
||||
"bootloader": "stm32-dfu",
|
||||
"matrix_pins": {
|
||||
"direct": [
|
||||
["A10", "A9"],
|
||||
["A0", "B8"],
|
||||
[null, "B11"],
|
||||
["B9", "A8"],
|
||||
["A7", "B1"],
|
||||
[null, "B2"]
|
||||
]
|
||||
},
|
||||
"features": {
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"console": true,
|
||||
"command": true,
|
||||
"audio": true
|
||||
},
|
||||
"usb": {"pid": "0x23B0"},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0, "matrix": [0, 0]},
|
||||
{"x": 1, "y": 0, "matrix": [0, 1]},
|
||||
{"x": 0, "y": 1, "matrix": [1, 0]},
|
||||
{"x": 1, "y": 1, "matrix": [1, 1]},
|
||||
{"x": 1, "y": 2, "matrix": [2, 1]},
|
||||
{"x": 1.25, "y": 3, "matrix": [3, 0]},
|
||||
{"x": 2.25, "y": 3, "matrix": [3, 1]},
|
||||
{"x": 2, "y": 4, "matrix": [4, 0]},
|
||||
{"x": 3, "y": 4, "matrix": [4, 1]},
|
||||
{"x": 3.75, "y": 5, "matrix": [5, 1]}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"keyboard":"clueboard/california",
|
||||
"layout":"LAYOUT",
|
||||
"layers":[
|
||||
["KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","BL_STEP"]
|
||||
]
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
# Clueboard California
|
||||
|
||||
A macropad shaped like California
|
||||
|
||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||
* Hardware Supported: Clueboard California PCB
|
||||
* Hardware Availability: 2019 Northern California Meetup
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make clueboard/california: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).
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
#include "quantum.h"
|
||||
|
||||
#define BL_RED OCR1B
|
||||
#define BL_GREEN OCR1A
|
||||
#define BL_BLUE OCR1C
|
||||
|
||||
void backlight_init_ports(void)
|
||||
{
|
||||
// Set B5, B6, and B7 as output
|
||||
DDRB |= (1<<7)|(1<<6)|(1<<5);
|
||||
|
||||
// Setup PWM
|
||||
ICR1 = 0xFFFF;
|
||||
TCCR1A = 0b10101010;
|
||||
TCCR1B = 0b00011001;
|
||||
|
||||
BL_RED = 0xFFFF;
|
||||
BL_GREEN = 0xFFFF;
|
||||
BL_BLUE = 0xFFFF;
|
||||
}
|
||||
|
||||
void backlight_set(uint8_t level)
|
||||
{
|
||||
// Set the RGB color
|
||||
switch (level)
|
||||
{
|
||||
case 0:
|
||||
// Off
|
||||
BL_RED = 0xFFFF;
|
||||
BL_GREEN = 0xFFFF;
|
||||
BL_BLUE = 0xFFFF;
|
||||
break;
|
||||
case 1:
|
||||
// Red
|
||||
BL_RED = 0x0000;
|
||||
BL_GREEN = 0xFFFF;
|
||||
BL_BLUE = 0xFFFF;
|
||||
break;
|
||||
case 2:
|
||||
// Green
|
||||
BL_RED = 0xFFFF;
|
||||
BL_GREEN = 0x0000;
|
||||
BL_BLUE = 0xFFFF;
|
||||
break;
|
||||
case 3:
|
||||
// Blue
|
||||
BL_RED = 0xFFFF;
|
||||
BL_GREEN = 0xFFFF;
|
||||
BL_BLUE = 0x0000;
|
||||
break;
|
||||
case 4:
|
||||
// Magenta
|
||||
BL_RED = 0x4000;
|
||||
BL_GREEN = 0x4000;
|
||||
BL_BLUE = 0x4000;
|
||||
break;
|
||||
case 5:
|
||||
// Purple
|
||||
BL_RED = 0x0000;
|
||||
BL_GREEN = 0xFFFF;
|
||||
BL_BLUE = 0x0000;
|
||||
break;
|
||||
case 6:
|
||||
// Yellow
|
||||
BL_RED = 0x0000;
|
||||
BL_GREEN = 0x0000;
|
||||
BL_BLUE = 0xFFFF;
|
||||
break;
|
||||
default:
|
||||
xprintf("Unknown level: %d\n", level);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
/*
|
||||
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
|
||||
|
||||
// Enable audio
|
||||
#define AUDIO_PIN C6
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
{
|
||||
"manufacturer": "Clueboard",
|
||||
"keyboard_name": "Cluecard",
|
||||
"maintainer": "skullydazed",
|
||||
"debounce": 20,
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"diode_direction": "ROW2COL",
|
||||
"features": {
|
||||
"audio": true,
|
||||
"backlight": true,
|
||||
"bootmagic": false,
|
||||
"command": false,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"rgblight": true
|
||||
},
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F1", "F7", "F6"],
|
||||
"rows": ["F0", "F5", "F4", "B4"]
|
||||
},
|
||||
"rgblight": {
|
||||
"brightness_steps": 17,
|
||||
"hue_steps": 10,
|
||||
"led_count": 4,
|
||||
"saturation_steps": 17
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "E6"
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x2330",
|
||||
"vid": "0xC1ED"
|
||||
},
|
||||
"backlight": {
|
||||
"driver": "custom",
|
||||
"levels": 6
|
||||
},
|
||||
"layout_aliases": {
|
||||
"LAYOUT_all": "LAYOUT"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label": "ON/OFF", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "SAT+", "matrix": [0, 1], "x": 4, "y": 0},
|
||||
{"label": "BRIGHT+", "matrix": [0, 2], "x": 8, "y": 0},
|
||||
{"label": "HUE-", "matrix": [1, 0], "x": 2, "y": 1},
|
||||
{"label": "HUE+", "matrix": [1, 2], "x": 6, "y": 1},
|
||||
{"label": "MODE", "matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"label": "SAT-", "matrix": [2, 1], "x": 4, "y": 2},
|
||||
{"label": "BRIGHT-", "matrix": [2, 2], "x": 8, "y": 2},
|
||||
{"label": "LAYER", "matrix": [1, 1], "x": 2, "y": 4},
|
||||
{"h": 2, "label": "MX1", "matrix": [3, 0], "w": 2, "x": 4, "y": 6},
|
||||
{"h": 2, "label": "MX2", "matrix": [3, 1], "w": 2, "x": 6, "y": 6},
|
||||
{"h": 2, "label": "MX3", "matrix": [3, 2], "w": 2, "x": 8, "y": 6}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum custom_keycodes {
|
||||
SONG_SU = SAFE_RANGE,
|
||||
SONG_SC,
|
||||
SONG_GB
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
UG_TOGG, UG_SATU, UG_VALU,
|
||||
UG_HUED, UG_HUEU,
|
||||
UG_NEXT, UG_SATD, UG_VALD,
|
||||
BL_STEP,
|
||||
SONG_SU,SONG_SC,SONG_GB
|
||||
)
|
||||
};
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
|
||||
float tone_startup[][2] = SONG(STARTUP_SOUND);
|
||||
float tone_qwerty[][2] = SONG(QWERTY_SOUND);
|
||||
float tone_dvorak[][2] = SONG(DVORAK_SOUND);
|
||||
float tone_colemak[][2] = SONG(COLEMAK_SOUND);
|
||||
float tone_plover[][2] = SONG(PLOVER_SOUND);
|
||||
float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
|
||||
float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
|
||||
|
||||
float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
|
||||
#endif
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
case SONG_SU:
|
||||
if (record->event.pressed) {
|
||||
PLAY_SONG(tone_startup);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
case SONG_SC:
|
||||
if (record->event.pressed) {
|
||||
PLAY_SONG(music_scale);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
case SONG_GB:
|
||||
if (record->event.pressed) {
|
||||
PLAY_SONG(tone_goodbye);
|
||||
}
|
||||
|
||||
return false;
|
||||
#endif
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
# The default keymap for cluecard
|
||||
|
||||
Note that this keymap has audio enabled, so the RGB mode button does not go through the different effects. So the LEDs will still show a static light, that is configurable with the hue, staturation and brightness buttons. You can of course also turn them on and off with the on/off button.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
MOUSEKEY_ENABLE = no
|
||||
EXTRAKEY_ENABLE = no
|
||||
NKRO_ENABLE = yes
|
||||
AUDIO_ENABLE = no
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue