forked from mirror/qmk_firmware
Compare commits
54 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4ebb065f94 | ||
|
|
9d3c0018c1 | ||
|
|
133be8759a | ||
|
|
9b429bd12d | ||
|
|
ee4e22d5ea | ||
|
|
f8884640b0 | ||
|
|
26b2288bde | ||
|
|
c0d7a43637 | ||
|
|
bd2a33fe77 | ||
|
|
9a5b631ed6 | ||
|
|
7f2f15bc1a | ||
|
|
4590b808da | ||
|
|
ef214e6a3c | ||
|
|
73ffa4594d | ||
|
|
e001c3349b | ||
|
|
d49edbcf14 | ||
|
|
5cc5270aaf | ||
|
|
abd432fd7a | ||
|
|
a26e1c8b63 | ||
|
|
8c52bab930 | ||
|
|
dc2315ad85 | ||
|
|
363dee82d8 | ||
|
|
5858efd6c9 | ||
|
|
e91bf4583f | ||
|
|
f543a44836 | ||
|
|
4ec3e239ba | ||
|
|
e56ea60058 | ||
|
|
4520a584e4 | ||
|
|
b5b900200f | ||
|
|
3d1b9e98a4 | ||
|
|
e55220dbe0 | ||
|
|
9b69921491 | ||
|
|
1c62cb7b42 | ||
|
|
4629d6a671 | ||
|
|
6dc482b197 | ||
|
|
22c576b40b | ||
|
|
fffea62005 | ||
|
|
cdff9b8da7 | ||
|
|
16ad362e67 | ||
|
|
05dfe9f9c5 | ||
|
|
2742935c54 | ||
|
|
8c92c0a59d | ||
|
|
4ce3a1c1e9 | ||
|
|
56a87efbac | ||
|
|
ef31109ad2 | ||
|
|
16f2a3e2f8 | ||
|
|
48b4ce6ddb | ||
|
|
cd095c817e | ||
|
|
6ba53f661a | ||
|
|
25df4ba6bd | ||
|
|
b5181e3d06 | ||
|
|
6129f5f68b | ||
|
|
652c5a9410 | ||
|
|
9f9ad95fb4 |
@@ -29,6 +29,10 @@
|
||||
"minLength": 1,
|
||||
"maxLength": 250
|
||||
},
|
||||
"snake_case": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-z][a-z0-9_]*$"
|
||||
},
|
||||
"layout_macro": {
|
||||
"oneOf": [
|
||||
{
|
||||
|
||||
@@ -256,7 +256,11 @@
|
||||
"enabled": {"type": "boolean"}
|
||||
}
|
||||
},
|
||||
"features": {"$ref": "qmk.definitions.v1#/boolean_array"},
|
||||
"features": {
|
||||
"$ref": "qmk.definitions.v1#/boolean_array",
|
||||
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
|
||||
|
||||
},
|
||||
"indicators": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -370,6 +374,7 @@
|
||||
"properties": {
|
||||
"animations": {
|
||||
"type": "object",
|
||||
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
|
||||
"additionalProperties": {
|
||||
"type": "boolean"
|
||||
}
|
||||
@@ -419,6 +424,7 @@
|
||||
"properties": {
|
||||
"animations": {
|
||||
"type": "object",
|
||||
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
|
||||
"additionalProperties": {
|
||||
"type": "boolean"
|
||||
}
|
||||
@@ -471,6 +477,7 @@
|
||||
"properties": {
|
||||
"animations": {
|
||||
"type": "object",
|
||||
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
|
||||
"additionalProperties": {
|
||||
"type": "boolean"
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ Tested combinations:
|
||||
|SSD1306 |128x32 |AVR |Primary support |
|
||||
|SSD1306 |128x64 |AVR |Verified working |
|
||||
|SSD1306 |128x32 |Arm | |
|
||||
|SSD1306 |128x64 |Arm |Verified working |
|
||||
|SH1106 |128x64 |AVR |No scrolling |
|
||||
|SH1107 |64x128 |AVR |No scrolling |
|
||||
|SH1107 |64x128 |Arm |No scrolling |
|
||||
|
||||
@@ -80,6 +80,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
|
||||
- Encoder Configuration
|
||||
- Bootmagic Configuration
|
||||
- LED Indicator Configuration
|
||||
- Run `qmk format-json` on this file before submitting your PR. Be sure to append the `-i` flag to directly modify the file, or paste the outputted code into the file.
|
||||
- `readme.md`
|
||||
- must follow the [template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md)
|
||||
- flash command is present, and has `:flash` at end
|
||||
|
||||
@@ -19,6 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# include "spi_master.h"
|
||||
#elif defined(OLED_TRANSPORT_I2C)
|
||||
# include "i2c_master.h"
|
||||
# if defined(USE_I2C) && defined(SPLIT_KEYBOARD)
|
||||
# include "keyboard.h"
|
||||
# endif
|
||||
#endif
|
||||
#include "oled_driver.h"
|
||||
#include OLED_FONT_H
|
||||
|
||||
@@ -30,29 +30,62 @@
|
||||
"pid": "0x4F4E",
|
||||
"vid": "0x414B"
|
||||
},
|
||||
"community_layouts": [
|
||||
"numpad_5x4"
|
||||
],
|
||||
"community_layouts": [
|
||||
"ortho_5x4",
|
||||
"numpad_5x4"
|
||||
],
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_5x4": {
|
||||
"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": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"matrix": [4, 3], "x": 3, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_numpad_5x4": {
|
||||
"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": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"h": 2, "matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1, "h": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [4, 0], "w": 2, "x": 0, "y": 4},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 2},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"h": 2, "matrix": [3, 3], "x": 3, "y": 3}
|
||||
{"matrix": [3, 3], "x": 3, "y": 3, "h": 2}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │TG1│ / │ * │ - │
|
||||
* │NUM│ / │ * │ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 7 │ 8 │ 9 │ │
|
||||
* ├───┼───┼───┤ + │
|
||||
@@ -22,21 +22,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
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
|
||||
KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │TG1│ / │ * │ - │
|
||||
* ┌───┬───┬───┐───┤
|
||||
* │NUM│ / │ * │ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │Hom│ ↑ │PgU│ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ ← │ │ → │ │
|
||||
* ├───┼───┼───┤───┤
|
||||
* ├───┼───┼───┼───┤
|
||||
* │End│ ↓ │PgD│ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │Insert │Del│ │
|
||||
* └───────┴───┘───┘
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
[1] = LAYOUT_numpad_5x4(
|
||||
_______, _______, _______, _______,
|
||||
|
||||
@@ -22,21 +22,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
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
|
||||
KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │ │ / │ * │ - │
|
||||
* ┌───┬───┬───┐───┤
|
||||
* │NUM│ / │ * │ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │Hom│ ↑ │PgU│ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ ← │ │ → │ │
|
||||
* ├───┼───┼───┤───┤
|
||||
* ├───┼───┼───┼───┤
|
||||
* │End│ ↓ │PgD│ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │Insert │Del│ │
|
||||
* └───────┴───┘───┘
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
[1] = LAYOUT_numpad_5x4(
|
||||
_______, _______, _______, _______,
|
||||
|
||||
18
keyboards/akb/ogrn/matrix_diagram.md
Normal file
18
keyboards/akb/ogrn/matrix_diagram.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# Matrix Diagram for Alchemist Keyboards OGRN
|
||||
|
||||
```
|
||||
┌───┬───┬───┬───┐
|
||||
│00 │01 │02 │03 │
|
||||
┌───┐ ├───┼───┼───┼───┤ ┌───┐
|
||||
│ │ │10 │11 │12 │13 │ │ │
|
||||
│10 │ ├───┼───┼───┼───┤ │13 │ 2u Numpad Plus
|
||||
│ │ │20 │21 │22 │23 │ │ │
|
||||
├───┤ ├───┼───┼───┼───┤ ├───┤
|
||||
│ │ │30 │31 │32 │33 │ │ │
|
||||
│30 │ ├───┼───┼───┼───┤ │33 │ 2u Numpad Enter
|
||||
│ │ │40 │41 │42 │43 │ │ │
|
||||
└───┘ └───┴───┴───┴───┘ └───┘
|
||||
┌───────┬───────┐
|
||||
│41 │42 │
|
||||
└───────┴───────┘
|
||||
```
|
||||
@@ -3,6 +3,11 @@
|
||||
"cols": ["F7", "F6", "F5", "F4", "F1", "F0", "C7", "E6", "B0", "B3", "B6", "B5", "B4", "D7", "D4", "D6"],
|
||||
"rows": ["D2", "D1", "D0", "B2", "B1", "C6"]
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{ "pin_a": "D3", "pin_b": "D5", "resolution": 2 }
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_ansi_rwkl": {
|
||||
"layout": [
|
||||
|
||||
@@ -18,11 +18,6 @@
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"url": "",
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{ "pin_a": "D3", "pin_b": "D5", "resolution": 2 }
|
||||
]
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x3449",
|
||||
|
||||
@@ -3,6 +3,11 @@
|
||||
"cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "B0", "B1", "B3", "D0", "D1", "D2", "D3", "D7", "D5"],
|
||||
"rows": ["B2", "C7", "C6", "B6", "B5", "B4"]
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{ "pin_a": "D4", "pin_b": "D6", "resolution": 2 }
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_ansi_rwkl": {
|
||||
"layout": [
|
||||
|
||||
308
keyboards/bredworks/wyvern_hs/info.json
Normal file
308
keyboards/bredworks/wyvern_hs/info.json
Normal file
@@ -0,0 +1,308 @@
|
||||
{
|
||||
"manufacturer": "Bred Works",
|
||||
"keyboard_name": "Wyvern HS",
|
||||
"maintainer": "DeskDaily",
|
||||
"bootloader": "atmel-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["B3", "B2", "B1", "B0", "F7", "D5", "D3", "D2", "D1", "D0", "E6", "F0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
|
||||
"rows": ["B7", "F1", "F6", "F5", "F4"]
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"url": "https://bredworks.com/products/wyvern-hotswap-pcb",
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x0001",
|
||||
"vid": "0x0571"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"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.25, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.25, "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.25, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11.25, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12.25, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13.25, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 16], "x": 16.25, "y": 0},
|
||||
{"matrix": [0, 17], "x": 17.25, "y": 0},
|
||||
{"matrix": [0, 19], "x": 19.75, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.25, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 5], "x": 5.75, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.75, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.75, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.75, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.75, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.75, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.75, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.75, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.75, "y": 1},
|
||||
{"matrix": [1, 14], "x": 14.75, "y": 1},
|
||||
{"matrix": [1, 15], "x": 15.75, "y": 1},
|
||||
{"matrix": [1, 16], "x": 16.75, "y": 1},
|
||||
{"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 19], "x": 19.75, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.25, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 5], "x": 6, "y": 2},
|
||||
{"matrix": [2, 6], "x": 7, "y": 2},
|
||||
{"matrix": [2, 7], "x": 8, "y": 2},
|
||||
{"matrix": [2, 8], "x": 9, "y": 2},
|
||||
{"matrix": [2, 9], "x": 10, "y": 2},
|
||||
{"matrix": [2, 10], "x": 11, "y": 2},
|
||||
{"matrix": [2, 11], "x": 12, "y": 2},
|
||||
{"matrix": [2, 12], "x": 13, "y": 2},
|
||||
{"matrix": [2, 13], "x": 14, "y": 2},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
{"matrix": [2, 15], "x": 16, "y": 2},
|
||||
{"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 19], "x": 19.75, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "h": 2},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3, "h": 2},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 5], "x": 5.5, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.5, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.5, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.5, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.5, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.5, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.5, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.5, "y": 3},
|
||||
{"matrix": [3, 13], "x": 13.5, "y": 3},
|
||||
{"matrix": [3, 14], "x": 14.5, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15.5, "y": 3},
|
||||
{"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 19], "x": 19.75, "y": 3},
|
||||
{"matrix": [3, 17], "x": 18.5, "y": 3.25},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25},
|
||||
{"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75},
|
||||
{"matrix": [4, 13], "x": 14.25, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [4, 16], "x": 17.5, "y": 4.25},
|
||||
{"matrix": [4, 17], "x": 18.5, "y": 4.25},
|
||||
{"matrix": [4, 18], "x": 19.5, "y": 4.25},
|
||||
{"matrix": [0, 18], "x": 18.25, "y": 0}
|
||||
]
|
||||
},
|
||||
"LAYOUT_mirrored_numpad": {
|
||||
"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.25, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.25, "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.25, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11.25, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12.25, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13.25, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 16], "x": 16.25, "y": 0},
|
||||
{"matrix": [0, 17], "x": 17.25, "y": 0},
|
||||
{"matrix": [0, 19], "x": 19.75, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "h": 2},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.25, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 5], "x": 5.75, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.75, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.75, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.75, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.75, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.75, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.75, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.75, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.75, "y": 1},
|
||||
{"matrix": [1, 14], "x": 14.75, "y": 1},
|
||||
{"matrix": [1, 15], "x": 15.75, "y": 1},
|
||||
{"matrix": [1, 16], "x": 16.75, "y": 1},
|
||||
{"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 19], "x": 19.75, "y": 1},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.25, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 5], "x": 6, "y": 2},
|
||||
{"matrix": [2, 6], "x": 7, "y": 2},
|
||||
{"matrix": [2, 7], "x": 8, "y": 2},
|
||||
{"matrix": [2, 8], "x": 9, "y": 2},
|
||||
{"matrix": [2, 9], "x": 10, "y": 2},
|
||||
{"matrix": [2, 10], "x": 11, "y": 2},
|
||||
{"matrix": [2, 11], "x": 12, "y": 2},
|
||||
{"matrix": [2, 12], "x": 13, "y": 2},
|
||||
{"matrix": [2, 13], "x": 14, "y": 2},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
{"matrix": [2, 15], "x": 16, "y": 2},
|
||||
{"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 19], "x": 19.75, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "h": 2},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 5], "x": 5.5, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.5, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.5, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.5, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.5, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.5, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.5, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.5, "y": 3},
|
||||
{"matrix": [3, 13], "x": 13.5, "y": 3},
|
||||
{"matrix": [3, 14], "x": 14.5, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15.5, "y": 3},
|
||||
{"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 19], "x": 19.75, "y": 3},
|
||||
{"matrix": [3, 17], "x": 18.5, "y": 3.25},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4, "w": 2},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25},
|
||||
{"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75},
|
||||
{"matrix": [4, 13], "x": 14.25, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [4, 16], "x": 17.5, "y": 4.25},
|
||||
{"matrix": [4, 17], "x": 18.5, "y": 4.25},
|
||||
{"matrix": [4, 18], "x": 19.5, "y": 4.25},
|
||||
{"matrix": [0, 18], "x": 18.25, "y": 0}
|
||||
]
|
||||
},
|
||||
"LAYOUT_regular_numpad": {
|
||||
"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.25, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.25, "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.25, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11.25, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12.25, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13.25, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 16], "x": 16.25, "y": 0},
|
||||
{"matrix": [0, 17], "x": 17.25, "y": 0},
|
||||
{"matrix": [0, 19], "x": 19.75, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1, "h": 2},
|
||||
{"matrix": [1, 4], "x": 4.25, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 5], "x": 5.75, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.75, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.75, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.75, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.75, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.75, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.75, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.75, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.75, "y": 1},
|
||||
{"matrix": [1, 14], "x": 14.75, "y": 1},
|
||||
{"matrix": [1, 15], "x": 15.75, "y": 1},
|
||||
{"matrix": [1, 16], "x": 16.75, "y": 1},
|
||||
{"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 19], "x": 19.75, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.25, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 5], "x": 6, "y": 2},
|
||||
{"matrix": [2, 6], "x": 7, "y": 2},
|
||||
{"matrix": [2, 7], "x": 8, "y": 2},
|
||||
{"matrix": [2, 8], "x": 9, "y": 2},
|
||||
{"matrix": [2, 9], "x": 10, "y": 2},
|
||||
{"matrix": [2, 10], "x": 11, "y": 2},
|
||||
{"matrix": [2, 11], "x": 12, "y": 2},
|
||||
{"matrix": [2, 12], "x": 13, "y": 2},
|
||||
{"matrix": [2, 13], "x": 14, "y": 2},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
{"matrix": [2, 15], "x": 16, "y": 2},
|
||||
{"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 19], "x": 19.75, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3, "h": 2},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 5], "x": 5.5, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.5, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.5, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.5, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.5, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.5, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.5, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.5, "y": 3},
|
||||
{"matrix": [3, 13], "x": 13.5, "y": 3},
|
||||
{"matrix": [3, 14], "x": 14.5, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15.5, "y": 3},
|
||||
{"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 19], "x": 19.75, "y": 3},
|
||||
{"matrix": [3, 17], "x": 18.5, "y": 3.25},
|
||||
{"matrix": [4, 1], "x": 0, "y": 4, "w": 2},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25},
|
||||
{"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75},
|
||||
{"matrix": [4, 13], "x": 14.25, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [4, 16], "x": 17.5, "y": 4.25},
|
||||
{"matrix": [4, 17], "x": 18.5, "y": 4.25},
|
||||
{"matrix": [4, 18], "x": 19.5, "y": 4.25},
|
||||
{"matrix": [0, 18], "x": 18.25, "y": 0}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
33
keyboards/bredworks/wyvern_hs/keymaps/default/keymap.c
Normal file
33
keyboards/bredworks/wyvern_hs/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,33 @@
|
||||
/* Copyright 2023 DeskDaily
|
||||
*
|
||||
* 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_mirrored_numpad(
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
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_PGUP,
|
||||
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_PGDN,
|
||||
KC_ENT, KC_P1, KC_P2, KC_P3, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP,
|
||||
KC_DEL, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC
|
||||
),
|
||||
[1] = LAYOUT_mirrored_numpad(
|
||||
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
@@ -0,0 +1,33 @@
|
||||
/* Copyright 2023 DeskDaily
|
||||
*
|
||||
* 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_regular_numpad(
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||
KC_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_PGDN,
|
||||
KC_P1, KC_P2, KC_P3, KC_ENT, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP,
|
||||
KC_P0, KC_DEL, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC
|
||||
),
|
||||
[1] = LAYOUT_regular_numpad(
|
||||
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
33
keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c
Normal file
33
keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,33 @@
|
||||
/* Copyright 2023 DeskDaily
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
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_PGUP,
|
||||
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_PGDN,
|
||||
KC_ENT, KC_P1, KC_P2, KC_P3, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP,
|
||||
KC_DEL, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
2
keyboards/bredworks/wyvern_hs/keymaps/via/rules.mk
Normal file
2
keyboards/bredworks/wyvern_hs/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
23
keyboards/bredworks/wyvern_hs/readme.md
Normal file
23
keyboards/bredworks/wyvern_hs/readme.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Bredworks Wyvern HS
|
||||
|
||||
* Keyboard Maintainer: [DeskDaily](https://github.com/DeskDaily)
|
||||
* Hardware Supported: Atmega32u4
|
||||
* Hardware Availability: [BredWorks](https://bredworks.com/products/wyvern-hotswap-pcb)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make bredworks/wyvern_hs:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make bredworks/wyvern_hs:default:flash
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the upper left key/esc) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
|
||||
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
keyboards/bredworks/wyvern_hs/rules.mk
Normal file
1
keyboards/bredworks/wyvern_hs/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
||||
@@ -28,7 +28,7 @@
|
||||
"pid": "0x2391",
|
||||
"vid": "0xC1ED"
|
||||
},
|
||||
"community_layouts": [],
|
||||
"community_layouts": ["66_ansi"],
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all"
|
||||
},
|
||||
|
||||
@@ -23,32 +23,50 @@
|
||||
"processor": "RP2040",
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"solid_color": true,
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_sat": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"band_val": true,
|
||||
"breathing": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"cycle_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"gradient_up_down": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"raindrops": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"pixel_fractal": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_rain": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_splash": true,
|
||||
"solid_reactive": 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,
|
||||
"typing_heatmap": true
|
||||
"multisplash": true,
|
||||
"solid_splash": true,
|
||||
"solid_multisplash": true
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"layout": [
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
},
|
||||
"processor": "atmega32a",
|
||||
"bootloader": "bootloadhid",
|
||||
"community_layouts": ["96_ansi", "96_iso"],
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
@@ -156,6 +157,225 @@
|
||||
]
|
||||
},
|
||||
"LAYOUT_96_ansi": {
|
||||
"layout": [
|
||||
{"matrix": [5, 0], "x": 0, "y": 0},
|
||||
{"matrix": [5, 2], "x": 1, "y": 0},
|
||||
{"matrix": [5, 3], "x": 2, "y": 0},
|
||||
{"matrix": [5, 4], "x": 3, "y": 0},
|
||||
{"matrix": [5, 5], "x": 4, "y": 0},
|
||||
{"matrix": [6, 0], "x": 5, "y": 0},
|
||||
{"matrix": [6, 10], "x": 6, "y": 0},
|
||||
{"matrix": [7, 10], "x": 7, "y": 0},
|
||||
{"matrix": [7, 0], "x": 8, "y": 0},
|
||||
{"matrix": [5, 11], "x": 9, "y": 0},
|
||||
{"matrix": [5, 12], "x": 10, "y": 0},
|
||||
{"matrix": [5, 13], "x": 11, "y": 0},
|
||||
{"matrix": [5, 14], "x": 12, "y": 0},
|
||||
{"matrix": [1, 13], "x": 13, "y": 0},
|
||||
{"matrix": [2, 14], "x": 14, "y": 0},
|
||||
{"matrix": [0, 13], "x": 15, "y": 0},
|
||||
{"matrix": [7, 6], "x": 16, "y": 0},
|
||||
{"matrix": [7, 8], "x": 17, "y": 0},
|
||||
{"matrix": [7, 9], "x": 18, "y": 0},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 1},
|
||||
{"matrix": [4, 1], "x": 1, "y": 1},
|
||||
{"matrix": [4, 2], "x": 2, "y": 1},
|
||||
{"matrix": [4, 3], "x": 3, "y": 1},
|
||||
{"matrix": [4, 4], "x": 4, "y": 1},
|
||||
{"matrix": [4, 5], "x": 5, "y": 1},
|
||||
{"matrix": [6, 1], "x": 6, "y": 1},
|
||||
{"matrix": [6, 11], "x": 7, "y": 1},
|
||||
{"matrix": [7, 11], "x": 8, "y": 1},
|
||||
{"matrix": [7, 1], "x": 9, "y": 1},
|
||||
{"matrix": [4, 10], "x": 10, "y": 1},
|
||||
{"matrix": [4, 11], "x": 11, "y": 1},
|
||||
{"matrix": [4, 12], "x": 12, "y": 1},
|
||||
{"matrix": [4, 14], "x": 13, "y": 1, "w": 2},
|
||||
{"matrix": [4, 6], "x": 15, "y": 1},
|
||||
{"matrix": [4, 7], "x": 16, "y": 1},
|
||||
{"matrix": [4, 8], "x": 17, "y": 1},
|
||||
{"matrix": [4, 9], "x": 18, "y": 1},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5},
|
||||
{"matrix": [3, 1], "x": 1.5, "y": 2},
|
||||
{"matrix": [3, 2], "x": 2.5, "y": 2},
|
||||
{"matrix": [3, 3], "x": 3.5, "y": 2},
|
||||
{"matrix": [3, 4], "x": 4.5, "y": 2},
|
||||
{"matrix": [3, 5], "x": 5.5, "y": 2},
|
||||
{"matrix": [6, 2], "x": 6.5, "y": 2},
|
||||
{"matrix": [6, 12], "x": 7.5, "y": 2},
|
||||
{"matrix": [7, 12], "x": 8.5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 9.5, "y": 2},
|
||||
{"matrix": [3, 10], "x": 10.5, "y": 2},
|
||||
{"matrix": [3, 11], "x": 11.5, "y": 2},
|
||||
{"matrix": [3, 12], "x": 12.5, "y": 2},
|
||||
{"matrix": [3, 13], "x": 13.5, "y": 2, "w": 1.5},
|
||||
{"matrix": [3, 6], "x": 15, "y": 2},
|
||||
{"matrix": [3, 7], "x": 16, "y": 2},
|
||||
{"matrix": [3, 8], "x": 17, "y": 2},
|
||||
{"matrix": [3, 9], "x": 18, "y": 2, "h": 2},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 3},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 3},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 3},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 3},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.75, "y": 3},
|
||||
{"matrix": [6, 13], "x": 7.75, "y": 3},
|
||||
{"matrix": [7, 13], "x": 8.75, "y": 3},
|
||||
{"matrix": [7, 3], "x": 9.75, "y": 3},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 3},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 3},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 3, "w": 2.25},
|
||||
{"matrix": [2, 6], "x": 15, "y": 3},
|
||||
{"matrix": [2, 7], "x": 16, "y": 3},
|
||||
{"matrix": [2, 8], "x": 17, "y": 3},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25},
|
||||
{"matrix": [1, 1], "x": 2.25, "y": 4},
|
||||
{"matrix": [1, 2], "x": 3.25, "y": 4},
|
||||
{"matrix": [1, 3], "x": 4.25, "y": 4},
|
||||
{"matrix": [1, 4], "x": 5.25, "y": 4},
|
||||
{"matrix": [1, 5], "x": 6.25, "y": 4},
|
||||
{"matrix": [6, 4], "x": 7.25, "y": 4},
|
||||
{"matrix": [6, 14], "x": 8.25, "y": 4},
|
||||
{"matrix": [7, 14], "x": 9.25, "y": 4},
|
||||
{"matrix": [7, 4], "x": 10.25, "y": 4},
|
||||
{"matrix": [1, 10], "x": 11.25, "y": 4},
|
||||
{"matrix": [1, 11], "x": 12.25, "y": 4, "w": 1.75},
|
||||
{"matrix": [6, 8], "x": 14, "y": 4},
|
||||
{"matrix": [1, 6], "x": 15, "y": 4},
|
||||
{"matrix": [1, 7], "x": 16, "y": 4},
|
||||
{"matrix": [1, 8], "x": 17, "y": 4},
|
||||
{"matrix": [1, 9], "x": 18, "y": 4, "h": 2},
|
||||
|
||||
{"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25},
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25},
|
||||
{"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25},
|
||||
{"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25},
|
||||
{"matrix": [7, 5], "x": 10, "y": 5},
|
||||
{"matrix": [0, 10], "x": 11, "y": 5},
|
||||
{"matrix": [0, 11], "x": 12, "y": 5},
|
||||
{"matrix": [6, 6], "x": 13, "y": 5},
|
||||
{"matrix": [6, 7], "x": 14, "y": 5},
|
||||
{"matrix": [6, 9], "x": 15, "y": 5},
|
||||
{"matrix": [0, 6], "x": 16, "y": 5},
|
||||
{"matrix": [0, 8], "x": 17, "y": 5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_96_iso": {
|
||||
"layout": [
|
||||
{"matrix": [5, 0], "x": 0, "y": 0},
|
||||
{"matrix": [5, 2], "x": 1, "y": 0},
|
||||
{"matrix": [5, 3], "x": 2, "y": 0},
|
||||
{"matrix": [5, 4], "x": 3, "y": 0},
|
||||
{"matrix": [5, 5], "x": 4, "y": 0},
|
||||
{"matrix": [6, 0], "x": 5, "y": 0},
|
||||
{"matrix": [6, 10], "x": 6, "y": 0},
|
||||
{"matrix": [7, 10], "x": 7, "y": 0},
|
||||
{"matrix": [7, 0], "x": 8, "y": 0},
|
||||
{"matrix": [5, 11], "x": 9, "y": 0},
|
||||
{"matrix": [5, 12], "x": 10, "y": 0},
|
||||
{"matrix": [5, 13], "x": 11, "y": 0},
|
||||
{"matrix": [5, 14], "x": 12, "y": 0},
|
||||
{"matrix": [1, 13], "x": 13, "y": 0},
|
||||
{"matrix": [2, 14], "x": 14, "y": 0},
|
||||
{"matrix": [0, 13], "x": 15, "y": 0},
|
||||
{"matrix": [7, 6], "x": 16, "y": 0},
|
||||
{"matrix": [7, 8], "x": 17, "y": 0},
|
||||
{"matrix": [7, 9], "x": 18, "y": 0},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 1},
|
||||
{"matrix": [4, 1], "x": 1, "y": 1},
|
||||
{"matrix": [4, 2], "x": 2, "y": 1},
|
||||
{"matrix": [4, 3], "x": 3, "y": 1},
|
||||
{"matrix": [4, 4], "x": 4, "y": 1},
|
||||
{"matrix": [4, 5], "x": 5, "y": 1},
|
||||
{"matrix": [6, 1], "x": 6, "y": 1},
|
||||
{"matrix": [6, 11], "x": 7, "y": 1},
|
||||
{"matrix": [7, 11], "x": 8, "y": 1},
|
||||
{"matrix": [7, 1], "x": 9, "y": 1},
|
||||
{"matrix": [4, 10], "x": 10, "y": 1},
|
||||
{"matrix": [4, 11], "x": 11, "y": 1},
|
||||
{"matrix": [4, 12], "x": 12, "y": 1},
|
||||
{"matrix": [4, 14], "x": 13, "y": 1, "w": 2},
|
||||
{"matrix": [4, 6], "x": 15, "y": 1},
|
||||
{"matrix": [4, 7], "x": 16, "y": 1},
|
||||
{"matrix": [4, 8], "x": 17, "y": 1},
|
||||
{"matrix": [4, 9], "x": 18, "y": 1},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5},
|
||||
{"matrix": [3, 1], "x": 1.5, "y": 2},
|
||||
{"matrix": [3, 2], "x": 2.5, "y": 2},
|
||||
{"matrix": [3, 3], "x": 3.5, "y": 2},
|
||||
{"matrix": [3, 4], "x": 4.5, "y": 2},
|
||||
{"matrix": [3, 5], "x": 5.5, "y": 2},
|
||||
{"matrix": [6, 2], "x": 6.5, "y": 2},
|
||||
{"matrix": [6, 12], "x": 7.5, "y": 2},
|
||||
{"matrix": [7, 12], "x": 8.5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 9.5, "y": 2},
|
||||
{"matrix": [3, 10], "x": 10.5, "y": 2},
|
||||
{"matrix": [3, 11], "x": 11.5, "y": 2},
|
||||
{"matrix": [3, 12], "x": 12.5, "y": 2},
|
||||
{"matrix": [3, 6], "x": 15, "y": 2},
|
||||
{"matrix": [3, 7], "x": 16, "y": 2},
|
||||
{"matrix": [3, 8], "x": 17, "y": 2},
|
||||
{"matrix": [3, 9], "x": 18, "y": 2, "h": 2},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 3},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 3},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 3},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 3},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.75, "y": 3},
|
||||
{"matrix": [6, 13], "x": 7.75, "y": 3},
|
||||
{"matrix": [7, 13], "x": 8.75, "y": 3},
|
||||
{"matrix": [7, 3], "x": 9.75, "y": 3},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 3},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 3},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 3},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 6], "x": 15, "y": 3},
|
||||
{"matrix": [2, 7], "x": 16, "y": 3},
|
||||
{"matrix": [2, 8], "x": 17, "y": 3},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [0, 3], "x": 1.25, "y": 4},
|
||||
{"matrix": [1, 1], "x": 2.25, "y": 4},
|
||||
{"matrix": [1, 2], "x": 3.25, "y": 4},
|
||||
{"matrix": [1, 3], "x": 4.25, "y": 4},
|
||||
{"matrix": [1, 4], "x": 5.25, "y": 4},
|
||||
{"matrix": [1, 5], "x": 6.25, "y": 4},
|
||||
{"matrix": [6, 4], "x": 7.25, "y": 4},
|
||||
{"matrix": [6, 14], "x": 8.25, "y": 4},
|
||||
{"matrix": [7, 14], "x": 9.25, "y": 4},
|
||||
{"matrix": [7, 4], "x": 10.25, "y": 4},
|
||||
{"matrix": [1, 10], "x": 11.25, "y": 4},
|
||||
{"matrix": [1, 11], "x": 12.25, "y": 4, "w": 1.75},
|
||||
{"matrix": [6, 8], "x": 14, "y": 4},
|
||||
{"matrix": [1, 6], "x": 15, "y": 4},
|
||||
{"matrix": [1, 7], "x": 16, "y": 4},
|
||||
{"matrix": [1, 8], "x": 17, "y": 4},
|
||||
{"matrix": [1, 9], "x": 18, "y": 4, "h": 2},
|
||||
|
||||
{"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25},
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25},
|
||||
{"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25},
|
||||
{"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25},
|
||||
{"matrix": [7, 5], "x": 10, "y": 5},
|
||||
{"matrix": [0, 10], "x": 11, "y": 5},
|
||||
{"matrix": [0, 11], "x": 12, "y": 5},
|
||||
{"matrix": [6, 6], "x": 13, "y": 5},
|
||||
{"matrix": [6, 7], "x": 14, "y": 5},
|
||||
{"matrix": [6, 9], "x": 15, "y": 5},
|
||||
{"matrix": [0, 6], "x": 16, "y": 5},
|
||||
{"matrix": [0, 8], "x": 17, "y": 5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_96_ansi_2_right_mod": {
|
||||
"layout": [
|
||||
{"matrix": [5, 0], "x": 0, "y": 0},
|
||||
{"matrix": [5, 2], "x": 1, "y": 0},
|
||||
@@ -249,6 +469,7 @@
|
||||
{"matrix": [1, 6], "x": 15, "y": 4},
|
||||
{"matrix": [1, 7], "x": 16, "y": 4},
|
||||
{"matrix": [1, 8], "x": 17, "y": 4},
|
||||
{"matrix": [1, 9], "x": 18, "y": 4, "h": 2},
|
||||
|
||||
{"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25},
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25},
|
||||
@@ -260,8 +481,7 @@
|
||||
{"matrix": [6, 7], "x": 14, "y": 5},
|
||||
{"matrix": [6, 9], "x": 15, "y": 5},
|
||||
{"matrix": [0, 6], "x": 16, "y": 5},
|
||||
{"matrix": [0, 8], "x": 17, "y": 5},
|
||||
{"matrix": [0, 9], "x": 18, "y": 4, "h": 2}
|
||||
{"matrix": [0, 8], "x": 17, "y": 5}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_96_ansi(
|
||||
[0] = LAYOUT_96_ansi_2_right_mod(
|
||||
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_NUM, KC_INS, KC_HOME, KC_PGUP, KC_PSLS,
|
||||
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_END, KC_PGDN, KC_PSLS, KC_PAST,
|
||||
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_PMNS,
|
||||
@@ -24,21 +24,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT),
|
||||
|
||||
[1] = LAYOUT_96_ansi(
|
||||
QK_BOOT, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[2] = LAYOUT_96_ansi(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
[1] = LAYOUT_96_ansi_2_right_mod(
|
||||
QK_BOOT, EE_CLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ enum custom_keycodes {
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Base */
|
||||
[_BASE] = LAYOUT_96_ansi(
|
||||
[_BASE] = LAYOUT_96_ansi_2_right_mod(
|
||||
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_HOME, KC_INS, KC_END, KC_MPRV, KC_MPLY, KC_MNXT,
|
||||
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_DEL, KC_PSCR, KC_PSLS, KC_PAST,
|
||||
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_PMNS,
|
||||
@@ -54,29 +54,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_LCTL, MO(2), KC_RALT, KC_SPC, KC_CALC, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
|
||||
|
||||
/* (1) Bmode layer */
|
||||
[_B] = LAYOUT_96_ansi(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, B, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
[_B] = LAYOUT_96_ansi_2_right_mod(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
/* (2) Fn 1 */
|
||||
[_FN1] = LAYOUT_96_ansi(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, TG(1), KC_PGUP, KC_VOLD, KC_MUTE, KC_VOLU,
|
||||
ALT0, KC_TRNS, KC_TRNS, ALT1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ALT2, KC_TRNS, KC_TRNS, KC_NUM, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, CD, KC_TRNS, KC_TRNS, KC_TRNS, ALT3, KC_TRNS, KC_TRNS, KC_TRNS, ALT4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, AES, xkcd, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_CAPS, KC_TRNS, X, KC_TRNS, img, B, KC_TRNS, ALT7, ALT5, ALT6, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
[_FN1] = LAYOUT_96_ansi_2_right_mod(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, TG(1), KC_PGUP, KC_VOLD, KC_MUTE, KC_VOLU,
|
||||
ALT0, _______, _______, ALT1, _______, _______, _______, _______, _______, _______, _______, _______, ALT2, _______, _______, KC_NUM, _______, _______,
|
||||
_______, CD, _______, _______, _______, ALT3, _______, _______, _______, ALT4, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, AES, xkcd, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_CAPS, _______, X, _______, img, B, _______, ALT7, ALT5, ALT6, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
/* (3) Fn 2 */
|
||||
[_FN2] = LAYOUT_96_ansi(
|
||||
[_FN2] = LAYOUT_96_ansi_2_right_mod(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UC_WINC, EE_CLR, QK_BOOT,
|
||||
VK_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
_______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_96_ansi(
|
||||
[0] = LAYOUT_96_ansi_2_right_mod(
|
||||
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_NUM, KC_INS, KC_HOME, KC_PGUP, KC_PSLS,
|
||||
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_END, KC_PGDN, KC_PSLS, KC_PAST,
|
||||
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_PMNS,
|
||||
@@ -24,19 +24,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT),
|
||||
|
||||
[1] = LAYOUT_96_ansi(
|
||||
QK_BOOT, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[2] = LAYOUT_96_ansi(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
[1] = LAYOUT_96_ansi_2_right_mod(
|
||||
QK_BOOT, EE_CLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
||||
|
||||
23
keyboards/donutcables/budget96/matrix_diagram.md
Normal file
23
keyboards/donutcables/budget96/matrix_diagram.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Matrix Diagram for Donutcables Budget96
|
||||
|
||||
```
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
│50 │52 │53 │54 │55 │6A │7A │70 │5B │5C │5C │5D │5E │1D │2E │0D │76 │78 │79 │
|
||||
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐
|
||||
│40 │41 │42 │43 │44 │45 │61 │6B │7B │71 │4A │4B │4C │4D │4E │46 │47 │48 │49 │ │4D │ 2u Backpsace
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ └─┬─────┤ ┌───┐
|
||||
│30 │31 │32 │33 │34 │35 │62 │6C │7C │72 │3A │3B │3C │3D │36 │37 │38 │39 │ │ │ │ │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┼───┤ ┌──┴┐2D │ ISO Enter │39 │ Numpad "+" 2u
|
||||
│20 │21 │22 │23 │24 │25 │63 │6D │7D │73 │2A │2B │2C │26 │27 │28 │29 │ │2C │ │ │ │
|
||||
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ └───┴────┘ ├───┤
|
||||
│10 │03 │11 │12 │13 │14 │15 │64 │6E │7E │74 │1A │1B │68 │16 │17 │18 │19 │ │ │
|
||||
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┼───┼───┼───┤ ┌───────┐ │19 │ Numpad Enter 2U
|
||||
│00 │01 │02 │65 │75 │0A │0B │66 │67 │69 │06 │08 │09 │ Numpad 0 2u │06 │ │ │
|
||||
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ └───────┘ └───┘
|
||||
┌────────┐ ┌──────────┐
|
||||
│10 │ 2.25u LShift 2.75u RShift │1B │
|
||||
└────────┘ └──────────┘
|
||||
┌────┬────┬────┬────────────────────────┬─────┬─────┐
|
||||
│00 │01 │02 │65 │75 │0B │ 2x1.5u Right Mod
|
||||
└────┴────┴────┴────────────────────────┴─────┴─────┘
|
||||
```
|
||||
@@ -15,20 +15,75 @@
|
||||
*/
|
||||
#include "quantum.h"
|
||||
|
||||
bool oled_task_kb(void) {
|
||||
if (!oled_task_user()) {
|
||||
return false;
|
||||
}
|
||||
#define LOGO_TIMEOUT 3000
|
||||
|
||||
static uint32_t logo_timer = 0;
|
||||
static bool display_logo = true;
|
||||
|
||||
void dp3000_logo(void) {
|
||||
static const char PROGMEM dp3000_logo[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x60, 0x7c, 0x7c, 0x60, 0x60, 0x60, 0x60,
|
||||
0x7c, 0x7c, 0x60, 0x60, 0x60, 0x60, 0x7c, 0x7c, 0x60, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0xff, 0xff, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0xf0, 0xe0,
|
||||
0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0xf8, 0xf0, 0x00, 0x00, 0xff, 0xff, 0x86, 0x86, 0x86, 0x00,
|
||||
0x00, 0x00, 0x00, 0x18, 0x18, 0x98, 0x98, 0xf8, 0xf0, 0x00, 0xf0, 0xf8, 0x18, 0x18, 0xf8, 0xf0,
|
||||
0x00, 0xf0, 0xf8, 0x18, 0x18, 0xf8, 0xf0, 0x00, 0xf0, 0xf8, 0x18, 0x18, 0xf8, 0xf0, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x61, 0x61, 0x61, 0xff, 0xff, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x0f, 0x07,
|
||||
0x00, 0x00, 0x1f, 0x1f, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0xff, 0xff, 0x61, 0x61, 0x61, 0x00,
|
||||
0x00, 0x00, 0x00, 0x18, 0x18, 0x19, 0x19, 0x1f, 0x0f, 0x00, 0x0f, 0x1f, 0x18, 0x18, 0x1f, 0x0f,
|
||||
0x00, 0x0f, 0x1f, 0x18, 0x18, 0x1f, 0x0f, 0x00, 0x0f, 0x1f, 0x18, 0x18, 0x1f, 0x0f, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x3e, 0x3e, 0x06, 0x06, 0x06, 0x06,
|
||||
0x3e, 0x3e, 0x06, 0x06, 0x06, 0x06, 0x3e, 0x3e, 0x06, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
oled_write_raw_P(dp3000_logo, sizeof(dp3000_logo));
|
||||
}
|
||||
|
||||
void default_status(void) {
|
||||
oled_set_cursor(0, 0);
|
||||
oled_write_P(PSTR("LAYER: "), false);
|
||||
oled_write_char('0' + get_highest_layer(layer_state), false);
|
||||
|
||||
oled_advance_page(true);
|
||||
oled_write_P(PSTR("LOCK: "), false);
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
oled_set_cursor(0, 1);
|
||||
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
||||
oled_set_cursor(0, 2);
|
||||
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
||||
oled_set_cursor(0, 3);
|
||||
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
||||
}
|
||||
|
||||
bool oled_task_kb(void) {
|
||||
if (!oled_task_user()) {
|
||||
return false;
|
||||
}
|
||||
if (display_logo && timer_elapsed32(logo_timer) > LOGO_TIMEOUT) {
|
||||
display_logo = false;
|
||||
oled_clear();
|
||||
logo_timer = 0;
|
||||
}
|
||||
if (display_logo) {
|
||||
dp3000_logo();
|
||||
} else {
|
||||
default_status();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
22
keyboards/dp3000/post_config.h
Normal file
22
keyboards/dp3000/post_config.h
Normal file
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Copyright 2023 deddia permana (@depermana12)
|
||||
*
|
||||
* 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
|
||||
|
||||
#if !defined(OLED_TIMEOUT)
|
||||
# define OLED_TIMEOUT 30000
|
||||
#endif
|
||||
2441
keyboards/dztech/dz60v2/info.json
Normal file
2441
keyboards/dztech/dz60v2/info.json
Normal file
File diff suppressed because it is too large
Load Diff
34
keyboards/dztech/dz60v2/keymaps/default/keymap.c
Normal file
34
keyboards/dztech/dz60v2/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,34 @@
|
||||
/* Copyright 2023 dztech
|
||||
*
|
||||
* 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] = {
|
||||
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_BSPC, KC_DEL,
|
||||
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_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, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
LAYOUT_all(
|
||||
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, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
34
keyboards/dztech/dz60v2/keymaps/via/keymap.c
Normal file
34
keyboards/dztech/dz60v2/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,34 @@
|
||||
/* Copyright 2023 dztech
|
||||
*
|
||||
* 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] = {
|
||||
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_BSPC, KC_DEL,
|
||||
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_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, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
LAYOUT_all(
|
||||
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, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
2
keyboards/dztech/dz60v2/keymaps/via/rules.mk
Normal file
2
keyboards/dztech/dz60v2/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
LTO_ENABLE = yes
|
||||
VIA_ENABLE = yes
|
||||
26
keyboards/dztech/dz60v2/readme.md
Normal file
26
keyboards/dztech/dz60v2/readme.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# DZ60 60% Mechanical Keyboard PCB
|
||||
|
||||
## A Customizable 60% Mechanical Keyboard PCB
|
||||
|
||||
* Keyboard Maintainer: QMK Community
|
||||
* Hardware Supported: DZ60 60% Mechanical Keyboard PCB
|
||||
* Hardware Availability: [KBDfans](https://kbdfans.com/collections/60/products/dz60-60-pcb)
|
||||
|
||||
There are two versions of the DZ60 PCB. Please use the appropriate firmware for your board.
|
||||
|
||||
* V1: 1.6mm thickness PCB;
|
||||
* V2: 1.2mm thickness PCB
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make dztech/dz60v2: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
keyboards/dztech/dz60v2/rules.mk
Normal file
1
keyboards/dztech/dz60v2/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
||||
@@ -25,8 +25,13 @@
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layout_aliases": {
|
||||
"LAYOUT_default": "LAYOUT_96_ansi",
|
||||
"LAYOUT_iso": "LAYOUT_96_iso"
|
||||
},
|
||||
"community_layouts": ["96_ansi", "96_iso"],
|
||||
"layouts": {
|
||||
"LAYOUT_default": {
|
||||
"LAYOUT_96_ansi": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
@@ -357,7 +362,7 @@
|
||||
{"matrix": [5, 12], "x": 18, "y": 5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso": {
|
||||
"LAYOUT_96_iso": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
|
||||
23
keyboards/dztech/dz96/matrix_diagram.md
Normal file
23
keyboards/dztech/dz96/matrix_diagram.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Matrix Diagram for Dztech Dz96
|
||||
|
||||
```
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
│00 │01 │02 │03 │04 │60 │61 │62 │63 │05 │06 │07 │08 │72 │09 │0A │0B │0C │7C │
|
||||
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐
|
||||
│10 │11 │12 │13 │14 │64 │65 │66 │67 │15 │16 │17 │18 │70 │71 │19 │1A │1B │1C │ │71 │ 2u BackSpace
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ └─┬─────┤ ┌───┐
|
||||
│20 │21 │22 │23 │24 │68 │69 │6A │6B │25 │26 │27 │28 │73 │29 │2A │2B │2C │ │ │ │ │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┼───┤ ┌──┴┐38 │ ISO Enter │2C │ Numpad "+" 2u
|
||||
│30 │31 │32 │33 │34 │6C │75 │76 │77 │35 │36 │37 │38 │39 │3A │3B │3C │ │73 │ │ │ │
|
||||
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ └───┴────┘ ├───┤
|
||||
│40 │41 │42 │43 │44 │78 │79 │7A │7B │45 │46 │47 │48 │74 │49 │4A │4B │4C │ │ │
|
||||
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┼───┼───┼───┤ │4C │ Numpad Enter 2U
|
||||
│50 │51 │52 │59 │55 │56 │57 │58 │53 │54 │5A │5B │5C │ │ │
|
||||
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ └───┘
|
||||
┌────────┐
|
||||
│40 │ 2.25u LShift
|
||||
└────────┘
|
||||
┌─────┬─────┬───────────────────────────┬─────┬─────┐
|
||||
│50 │51 │59 │55 │57 │ 2 Mod
|
||||
└─────┴─────┴───────────────────────────┴─────┴─────┘
|
||||
```
|
||||
File diff suppressed because it is too large
Load Diff
@@ -18,10 +18,10 @@
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
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_DEL, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NUHS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
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_DEL, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NUHS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
)
|
||||
};
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
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_DEL, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NUHS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
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_DEL, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NUHS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
)
|
||||
};
|
||||
|
||||
24
keyboards/dztech/pluto/matrix_diagram.md
Normal file
24
keyboards/dztech/pluto/matrix_diagram.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Matrix Diagram for DZTECH PLUTO
|
||||
|
||||
```
|
||||
┌───────┐
|
||||
2u Backspace │0D │
|
||||
└───────┘
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐
|
||||
│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E ││0F │2C │2D │
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ ┌─────┐
|
||||
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1F │2E │2F │ │ │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴┐1E │ ISO Enter
|
||||
│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1E │ │1D │ │
|
||||
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘
|
||||
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3E │
|
||||
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐
|
||||
│40 │41 │42 │47 │4A │4B │4C │4D ││3F │4E │4F │
|
||||
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
|
||||
┌────────┐ ┌──────────┐
|
||||
│30 │ 2.25u LShift 2.75u RShift │3C │
|
||||
└────────┘ └──────────┘
|
||||
┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
|
||||
│40 │41 │42 │47 │4B │4C │4D │ Tsangan/WKL
|
||||
└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
|
||||
```
|
||||
29
keyboards/era/klein/config.h
Normal file
29
keyboards/era/klein/config.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/* Copyright 2023 eerraa
|
||||
*
|
||||
* 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
|
||||
|
||||
/* BACKLIGHT PWM */
|
||||
#define BACKLIGHT_PWM_DRIVER PWMD7
|
||||
#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B
|
||||
|
||||
/* RGB Matrix */
|
||||
#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral
|
||||
#define RGB_MATRIX_DEFAULT_VAL 60
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
21
keyboards/era/klein/halconf.h
Normal file
21
keyboards/era/klein/halconf.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/* Copyright 2023 eerraa
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_PWM TRUE
|
||||
|
||||
#include_next <halconf.h>
|
||||
590
keyboards/era/klein/info.json
Normal file
590
keyboards/era/klein/info.json
Normal file
@@ -0,0 +1,590 @@
|
||||
{
|
||||
"manufacturer": "SIRIND",
|
||||
"keyboard_name": "Klein",
|
||||
"maintainer": "eerraa",
|
||||
"backlight": {
|
||||
"levels": 5,
|
||||
"pin": "GP15"
|
||||
},
|
||||
"bootloader": "rp2040",
|
||||
"build": {
|
||||
"debounce_type": "sym_defer_pk"
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"backlight": true,
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "GP16",
|
||||
"on_state": 0,
|
||||
"scroll_lock": "GP17"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP22", "GP23", "GP24", "GP25", "GP26", "GP27", "GP28", "GP29", "GP11", "GP10", "GP8", "GP7", "GP1", "GP2", "GP3", "GP4"],
|
||||
"rows": ["GP18", "GP19", "GP20", "GP21", "GP14", "GP5", "GP6", "GP9", "GP13", "GP12"]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"pixel_rain": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_fractal": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": 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,
|
||||
"solid_splash": true,
|
||||
"solid_multisplash": true
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"layout": [
|
||||
{"matrix": [0, 7], "x": 4, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 6], "x": 20, "y": 2, "flags": 4},
|
||||
{"matrix": [0, 5], "x": 32, "y": 2, "flags": 4},
|
||||
{"matrix": [0, 4], "x": 45, "y": 1, "flags": 4},
|
||||
{"matrix": [0, 3], "x": 58, "y": 3, "flags": 4},
|
||||
{"matrix": [0, 2], "x": 71, "y": 5, "flags": 4},
|
||||
{"matrix": [0, 1], "x": 83, "y": 8, "flags": 4},
|
||||
{"matrix": [0, 0], "x": 96, "y": 10, "flags": 4},
|
||||
{"matrix": [1, 0], "x": 129, "y": 9, "flags": 4},
|
||||
{"matrix": [1, 1], "x": 141, "y": 7, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 154, "y": 4, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 166, "y": 2, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 179, "y": 1, "flags": 4},
|
||||
{"matrix": [1, 5], "x": 192, "y": 2, "flags": 4},
|
||||
{"matrix": [1, 6], "x": 211, "y": 2, "flags": 1},
|
||||
{"matrix": [1, 7], "x": 1, "y": 13, "flags": 1},
|
||||
{"matrix": [2, 6], "x": 21, "y": 15, "flags": 1},
|
||||
{"matrix": [2, 5], "x": 36, "y": 15, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 50, "y": 15, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 62, "y": 17, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 75, "y": 20, "flags": 4},
|
||||
{"matrix": [2, 1], "x": 87, "y": 22, "flags": 4},
|
||||
{"matrix": [2, 0], "x": 100, "y": 24, "flags": 4},
|
||||
{"matrix": [3, 1], "x": 125, "y": 23, "flags": 4},
|
||||
{"matrix": [3, 2], "x": 137, "y": 21, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 150, "y": 18, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 162, "y": 16, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 175, "y": 15, "flags": 4},
|
||||
{"matrix": [3, 6], "x": 188, "y": 15, "flags": 4},
|
||||
{"matrix": [4, 6], "x": 201, "y": 15, "flags": 4},
|
||||
{"matrix": [4, 5], "x": 217, "y": 15, "flags": 4},
|
||||
{"matrix": [4, 3], "x": 0, "y": 27, "flags": 1},
|
||||
{"matrix": [4, 1], "x": 18, "y": 29, "flags": 1},
|
||||
{"matrix": [0, 8], "x": 38, "y": 29, "flags": 4},
|
||||
{"matrix": [0, 9], "x": 51, "y": 29, "flags": 4},
|
||||
{"matrix": [0, 10], "x": 64, "y": 31, "flags": 4},
|
||||
{"matrix": [0, 11], "x": 76, "y": 33, "flags": 4},
|
||||
{"matrix": [0, 12], "x": 89, "y": 36, "flags": 4},
|
||||
{"matrix": [0, 13], "x": 129, "y": 36, "flags": 4},
|
||||
{"matrix": [0, 15], "x": 142, "y": 33, "flags": 4},
|
||||
{"matrix": [1, 15], "x": 154, "y": 31, "flags": 4},
|
||||
{"matrix": [1, 14], "x": 167, "y": 29, "flags": 4},
|
||||
{"matrix": [1, 13], "x": 180, "y": 29, "flags": 4},
|
||||
{"matrix": [1, 12], "x": 193, "y": 29, "flags": 4},
|
||||
{"matrix": [1, 11], "x": 213, "y": 29, "flags": 1},
|
||||
{"matrix": [1, 10], "x": 21, "y": 42, "flags": 1},
|
||||
{"matrix": [1, 9], "x": 42, "y": 42, "flags": 4},
|
||||
{"matrix": [1, 8], "x": 60, "y": 57, "flags": 4},
|
||||
{"matrix": [2, 8], "x": 67, "y": 45, "flags": 4},
|
||||
{"matrix": [2, 9], "x": 80, "y": 47, "flags": 4},
|
||||
{"matrix": [2, 10], "x": 92, "y": 50, "flags": 4},
|
||||
{"matrix": [2, 11], "x": 126, "y": 50, "flags": 4},
|
||||
{"matrix": [2, 12], "x": 138, "y": 48, "flags": 4},
|
||||
{"matrix": [2, 13], "x": 151, "y": 45, "flags": 4},
|
||||
{"matrix": [2, 15], "x": 163, "y": 43, "flags": 4},
|
||||
{"matrix": [3, 14], "x": 177, "y": 42, "flags": 4},
|
||||
{"matrix": [3, 13], "x": 189, "y": 42, "flags": 4},
|
||||
{"matrix": [3, 12], "x": 213, "y": 42, "flags": 1},
|
||||
{"matrix": [3, 11], "x": 16, "y": 55, "flags": 1},
|
||||
{"matrix": [3, 10], "x": 55, "y": 43, "flags": 1},
|
||||
{"matrix": [3, 9], "x": 76, "y": 60, "flags": 4},
|
||||
{"matrix": [3, 8], "x": 96, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 9], "x": 139, "y": 61, "flags": 4},
|
||||
{"matrix": [4, 11], "x": 166, "y": 57, "flags": 1},
|
||||
{"matrix": [4, 13], "x": 189, "y": 55, "flags": 1},
|
||||
{"matrix": [4, 14], "x": 202, "y": 55, "flags": 1},
|
||||
{"matrix": [4, 15], "x": 221, "y": 55, "flags": 1}
|
||||
],
|
||||
"led_count": 67
|
||||
},
|
||||
"url": "",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0003",
|
||||
"vid": "0x4552"
|
||||
},
|
||||
"ws2812": {
|
||||
"driver": "vendor",
|
||||
"pin": "GP0"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.5, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.5, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.5, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.5, "y": 0},
|
||||
{"matrix": [5, 0], "x": 10.75, "y": 0},
|
||||
{"matrix": [5, 1], "x": 11.75, "y": 0},
|
||||
{"matrix": [5, 2], "x": 12.75, "y": 0},
|
||||
{"matrix": [5, 3], "x": 13.75, "y": 0},
|
||||
{"matrix": [5, 4], "x": 14.75, "y": 0},
|
||||
{"matrix": [5, 5], "x": 15.75, "y": 0},
|
||||
{"matrix": [5, 6], "x": 16.75, "y": 0},
|
||||
{"matrix": [5, 7], "x": 17.75, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 2], "x": 3, "y": 1},
|
||||
{"matrix": [1, 3], "x": 4, "y": 1},
|
||||
{"matrix": [1, 4], "x": 5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 6, "y": 1},
|
||||
{"matrix": [1, 6], "x": 7, "y": 1},
|
||||
{"matrix": [1, 7], "x": 8, "y": 1},
|
||||
{"matrix": [6, 0], "x": 10.25, "y": 1},
|
||||
{"matrix": [6, 1], "x": 11.25, "y": 1},
|
||||
{"matrix": [6, 2], "x": 12.25, "y": 1},
|
||||
{"matrix": [6, 3], "x": 13.25, "y": 1},
|
||||
{"matrix": [6, 4], "x": 14.25, "y": 1},
|
||||
{"matrix": [6, 5], "x": 15.25, "y": 1},
|
||||
{"matrix": [6, 6], "x": 16.25, "y": 1},
|
||||
{"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 2], "x": 3.25, "y": 2},
|
||||
{"matrix": [2, 3], "x": 4.25, "y": 2},
|
||||
{"matrix": [2, 4], "x": 5.25, "y": 2},
|
||||
{"matrix": [2, 5], "x": 6.25, "y": 2},
|
||||
{"matrix": [2, 6], "x": 7.25, "y": 2},
|
||||
{"matrix": [7, 0], "x": 10.5, "y": 2},
|
||||
{"matrix": [7, 1], "x": 11.5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 12.5, "y": 2},
|
||||
{"matrix": [7, 3], "x": 13.5, "y": 2},
|
||||
{"matrix": [7, 4], "x": 14.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 3.75, "y": 3},
|
||||
{"matrix": [3, 3], "x": 4.75, "y": 3},
|
||||
{"matrix": [3, 4], "x": 5.75, "y": 3},
|
||||
{"matrix": [3, 5], "x": 6.75, "y": 3},
|
||||
{"matrix": [3, 6], "x": 7.75, "y": 3},
|
||||
{"matrix": [8, 0], "x": 10, "y": 3},
|
||||
{"matrix": [8, 1], "x": 11, "y": 3},
|
||||
{"matrix": [8, 2], "x": 12, "y": 3},
|
||||
{"matrix": [8, 3], "x": 13, "y": 3},
|
||||
{"matrix": [8, 4], "x": 14, "y": 3},
|
||||
{"matrix": [8, 5], "x": 15, "y": 3},
|
||||
{"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75},
|
||||
{"matrix": [8, 7], "x": 17.75, "y": 3},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
|
||||
{"matrix": [4, 5], "x": 8.25, "y": 4},
|
||||
{"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
|
||||
{"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 5], "x": 15, "y": 4},
|
||||
{"matrix": [9, 6], "x": 16, "y": 4},
|
||||
{"matrix": [9, 7], "x": 17, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ansi": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.5, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.5, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.5, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.5, "y": 0},
|
||||
{"matrix": [5, 0], "x": 10.75, "y": 0},
|
||||
{"matrix": [5, 1], "x": 11.75, "y": 0},
|
||||
{"matrix": [5, 2], "x": 12.75, "y": 0},
|
||||
{"matrix": [5, 3], "x": 13.75, "y": 0},
|
||||
{"matrix": [5, 4], "x": 14.75, "y": 0},
|
||||
{"matrix": [5, 5], "x": 15.75, "y": 0},
|
||||
{"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 2], "x": 3, "y": 1},
|
||||
{"matrix": [1, 3], "x": 4, "y": 1},
|
||||
{"matrix": [1, 4], "x": 5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 6, "y": 1},
|
||||
{"matrix": [1, 6], "x": 7, "y": 1},
|
||||
{"matrix": [1, 7], "x": 8, "y": 1},
|
||||
{"matrix": [6, 0], "x": 10.25, "y": 1},
|
||||
{"matrix": [6, 1], "x": 11.25, "y": 1},
|
||||
{"matrix": [6, 2], "x": 12.25, "y": 1},
|
||||
{"matrix": [6, 3], "x": 13.25, "y": 1},
|
||||
{"matrix": [6, 4], "x": 14.25, "y": 1},
|
||||
{"matrix": [6, 5], "x": 15.25, "y": 1},
|
||||
{"matrix": [6, 6], "x": 16.25, "y": 1},
|
||||
{"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 2], "x": 3.25, "y": 2},
|
||||
{"matrix": [2, 3], "x": 4.25, "y": 2},
|
||||
{"matrix": [2, 4], "x": 5.25, "y": 2},
|
||||
{"matrix": [2, 5], "x": 6.25, "y": 2},
|
||||
{"matrix": [2, 6], "x": 7.25, "y": 2},
|
||||
{"matrix": [7, 0], "x": 10.5, "y": 2},
|
||||
{"matrix": [7, 1], "x": 11.5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 12.5, "y": 2},
|
||||
{"matrix": [7, 3], "x": 13.5, "y": 2},
|
||||
{"matrix": [7, 4], "x": 14.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 3.75, "y": 3},
|
||||
{"matrix": [3, 3], "x": 4.75, "y": 3},
|
||||
{"matrix": [3, 4], "x": 5.75, "y": 3},
|
||||
{"matrix": [3, 5], "x": 6.75, "y": 3},
|
||||
{"matrix": [3, 6], "x": 7.75, "y": 3},
|
||||
{"matrix": [8, 0], "x": 10, "y": 3},
|
||||
{"matrix": [8, 1], "x": 11, "y": 3},
|
||||
{"matrix": [8, 2], "x": 12, "y": 3},
|
||||
{"matrix": [8, 3], "x": 13, "y": 3},
|
||||
{"matrix": [8, 4], "x": 14, "y": 3},
|
||||
{"matrix": [8, 5], "x": 15, "y": 3},
|
||||
{"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
|
||||
{"matrix": [4, 5], "x": 8.25, "y": 4},
|
||||
{"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
|
||||
{"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ansi_arrow": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.5, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.5, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.5, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.5, "y": 0},
|
||||
{"matrix": [5, 0], "x": 10.75, "y": 0},
|
||||
{"matrix": [5, 1], "x": 11.75, "y": 0},
|
||||
{"matrix": [5, 2], "x": 12.75, "y": 0},
|
||||
{"matrix": [5, 3], "x": 13.75, "y": 0},
|
||||
{"matrix": [5, 4], "x": 14.75, "y": 0},
|
||||
{"matrix": [5, 5], "x": 15.75, "y": 0},
|
||||
{"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 2], "x": 3, "y": 1},
|
||||
{"matrix": [1, 3], "x": 4, "y": 1},
|
||||
{"matrix": [1, 4], "x": 5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 6, "y": 1},
|
||||
{"matrix": [1, 6], "x": 7, "y": 1},
|
||||
{"matrix": [1, 7], "x": 8, "y": 1},
|
||||
{"matrix": [6, 0], "x": 10.25, "y": 1},
|
||||
{"matrix": [6, 1], "x": 11.25, "y": 1},
|
||||
{"matrix": [6, 2], "x": 12.25, "y": 1},
|
||||
{"matrix": [6, 3], "x": 13.25, "y": 1},
|
||||
{"matrix": [6, 4], "x": 14.25, "y": 1},
|
||||
{"matrix": [6, 5], "x": 15.25, "y": 1},
|
||||
{"matrix": [6, 6], "x": 16.25, "y": 1},
|
||||
{"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 2], "x": 3.25, "y": 2},
|
||||
{"matrix": [2, 3], "x": 4.25, "y": 2},
|
||||
{"matrix": [2, 4], "x": 5.25, "y": 2},
|
||||
{"matrix": [2, 5], "x": 6.25, "y": 2},
|
||||
{"matrix": [2, 6], "x": 7.25, "y": 2},
|
||||
{"matrix": [7, 0], "x": 10.5, "y": 2},
|
||||
{"matrix": [7, 1], "x": 11.5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 12.5, "y": 2},
|
||||
{"matrix": [7, 3], "x": 13.5, "y": 2},
|
||||
{"matrix": [7, 4], "x": 14.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 3.75, "y": 3},
|
||||
{"matrix": [3, 3], "x": 4.75, "y": 3},
|
||||
{"matrix": [3, 4], "x": 5.75, "y": 3},
|
||||
{"matrix": [3, 5], "x": 6.75, "y": 3},
|
||||
{"matrix": [3, 6], "x": 7.75, "y": 3},
|
||||
{"matrix": [8, 0], "x": 10, "y": 3},
|
||||
{"matrix": [8, 1], "x": 11, "y": 3},
|
||||
{"matrix": [8, 2], "x": 12, "y": 3},
|
||||
{"matrix": [8, 3], "x": 13, "y": 3},
|
||||
{"matrix": [8, 4], "x": 14, "y": 3},
|
||||
{"matrix": [8, 5], "x": 15, "y": 3},
|
||||
{"matrix": [8, 6], "x": 16, "y": 3},
|
||||
{"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
|
||||
{"matrix": [4, 5], "x": 8.25, "y": 4},
|
||||
{"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
|
||||
{"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 5], "x": 15, "y": 4},
|
||||
{"matrix": [9, 6], "x": 16, "y": 4},
|
||||
{"matrix": [9, 7], "x": 17, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ansi_split_bs": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.5, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.5, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.5, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.5, "y": 0},
|
||||
{"matrix": [5, 0], "x": 10.75, "y": 0},
|
||||
{"matrix": [5, 1], "x": 11.75, "y": 0},
|
||||
{"matrix": [5, 2], "x": 12.75, "y": 0},
|
||||
{"matrix": [5, 3], "x": 13.75, "y": 0},
|
||||
{"matrix": [5, 4], "x": 14.75, "y": 0},
|
||||
{"matrix": [5, 5], "x": 15.75, "y": 0},
|
||||
{"matrix": [5, 6], "x": 16.75, "y": 0},
|
||||
{"matrix": [5, 7], "x": 17.75, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 2], "x": 3, "y": 1},
|
||||
{"matrix": [1, 3], "x": 4, "y": 1},
|
||||
{"matrix": [1, 4], "x": 5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 6, "y": 1},
|
||||
{"matrix": [1, 6], "x": 7, "y": 1},
|
||||
{"matrix": [1, 7], "x": 8, "y": 1},
|
||||
{"matrix": [6, 0], "x": 10.25, "y": 1},
|
||||
{"matrix": [6, 1], "x": 11.25, "y": 1},
|
||||
{"matrix": [6, 2], "x": 12.25, "y": 1},
|
||||
{"matrix": [6, 3], "x": 13.25, "y": 1},
|
||||
{"matrix": [6, 4], "x": 14.25, "y": 1},
|
||||
{"matrix": [6, 5], "x": 15.25, "y": 1},
|
||||
{"matrix": [6, 6], "x": 16.25, "y": 1},
|
||||
{"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 2], "x": 3.25, "y": 2},
|
||||
{"matrix": [2, 3], "x": 4.25, "y": 2},
|
||||
{"matrix": [2, 4], "x": 5.25, "y": 2},
|
||||
{"matrix": [2, 5], "x": 6.25, "y": 2},
|
||||
{"matrix": [2, 6], "x": 7.25, "y": 2},
|
||||
{"matrix": [7, 0], "x": 10.5, "y": 2},
|
||||
{"matrix": [7, 1], "x": 11.5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 12.5, "y": 2},
|
||||
{"matrix": [7, 3], "x": 13.5, "y": 2},
|
||||
{"matrix": [7, 4], "x": 14.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 3.75, "y": 3},
|
||||
{"matrix": [3, 3], "x": 4.75, "y": 3},
|
||||
{"matrix": [3, 4], "x": 5.75, "y": 3},
|
||||
{"matrix": [3, 5], "x": 6.75, "y": 3},
|
||||
{"matrix": [3, 6], "x": 7.75, "y": 3},
|
||||
{"matrix": [8, 0], "x": 10, "y": 3},
|
||||
{"matrix": [8, 1], "x": 11, "y": 3},
|
||||
{"matrix": [8, 2], "x": 12, "y": 3},
|
||||
{"matrix": [8, 3], "x": 13, "y": 3},
|
||||
{"matrix": [8, 4], "x": 14, "y": 3},
|
||||
{"matrix": [8, 5], "x": 15, "y": 3},
|
||||
{"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
|
||||
{"matrix": [4, 5], "x": 8.25, "y": 4},
|
||||
{"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
|
||||
{"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ansi_split_bs_rsft": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.5, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.5, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.5, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.5, "y": 0},
|
||||
{"matrix": [5, 0], "x": 10.75, "y": 0},
|
||||
{"matrix": [5, 1], "x": 11.75, "y": 0},
|
||||
{"matrix": [5, 2], "x": 12.75, "y": 0},
|
||||
{"matrix": [5, 3], "x": 13.75, "y": 0},
|
||||
{"matrix": [5, 4], "x": 14.75, "y": 0},
|
||||
{"matrix": [5, 5], "x": 15.75, "y": 0},
|
||||
{"matrix": [5, 6], "x": 16.75, "y": 0},
|
||||
{"matrix": [5, 7], "x": 17.75, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 2], "x": 3, "y": 1},
|
||||
{"matrix": [1, 3], "x": 4, "y": 1},
|
||||
{"matrix": [1, 4], "x": 5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 6, "y": 1},
|
||||
{"matrix": [1, 6], "x": 7, "y": 1},
|
||||
{"matrix": [1, 7], "x": 8, "y": 1},
|
||||
{"matrix": [6, 0], "x": 10.25, "y": 1},
|
||||
{"matrix": [6, 1], "x": 11.25, "y": 1},
|
||||
{"matrix": [6, 2], "x": 12.25, "y": 1},
|
||||
{"matrix": [6, 3], "x": 13.25, "y": 1},
|
||||
{"matrix": [6, 4], "x": 14.25, "y": 1},
|
||||
{"matrix": [6, 5], "x": 15.25, "y": 1},
|
||||
{"matrix": [6, 6], "x": 16.25, "y": 1},
|
||||
{"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 2], "x": 3.25, "y": 2},
|
||||
{"matrix": [2, 3], "x": 4.25, "y": 2},
|
||||
{"matrix": [2, 4], "x": 5.25, "y": 2},
|
||||
{"matrix": [2, 5], "x": 6.25, "y": 2},
|
||||
{"matrix": [2, 6], "x": 7.25, "y": 2},
|
||||
{"matrix": [7, 0], "x": 10.5, "y": 2},
|
||||
{"matrix": [7, 1], "x": 11.5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 12.5, "y": 2},
|
||||
{"matrix": [7, 3], "x": 13.5, "y": 2},
|
||||
{"matrix": [7, 4], "x": 14.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 3.75, "y": 3},
|
||||
{"matrix": [3, 3], "x": 4.75, "y": 3},
|
||||
{"matrix": [3, 4], "x": 5.75, "y": 3},
|
||||
{"matrix": [3, 5], "x": 6.75, "y": 3},
|
||||
{"matrix": [3, 6], "x": 7.75, "y": 3},
|
||||
{"matrix": [8, 0], "x": 10, "y": 3},
|
||||
{"matrix": [8, 1], "x": 11, "y": 3},
|
||||
{"matrix": [8, 2], "x": 12, "y": 3},
|
||||
{"matrix": [8, 3], "x": 13, "y": 3},
|
||||
{"matrix": [8, 4], "x": 14, "y": 3},
|
||||
{"matrix": [8, 5], "x": 15, "y": 3},
|
||||
{"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75},
|
||||
{"matrix": [8, 7], "x": 17.75, "y": 3},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
|
||||
{"matrix": [4, 5], "x": 8.25, "y": 4},
|
||||
{"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
|
||||
{"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_arrow_split_bs": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.5, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.5, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.5, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.5, "y": 0},
|
||||
{"matrix": [5, 0], "x": 10.75, "y": 0},
|
||||
{"matrix": [5, 1], "x": 11.75, "y": 0},
|
||||
{"matrix": [5, 2], "x": 12.75, "y": 0},
|
||||
{"matrix": [5, 3], "x": 13.75, "y": 0},
|
||||
{"matrix": [5, 4], "x": 14.75, "y": 0},
|
||||
{"matrix": [5, 5], "x": 15.75, "y": 0},
|
||||
{"matrix": [5, 6], "x": 16.75, "y": 0},
|
||||
{"matrix": [5, 7], "x": 17.75, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 2], "x": 3, "y": 1},
|
||||
{"matrix": [1, 3], "x": 4, "y": 1},
|
||||
{"matrix": [1, 4], "x": 5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 6, "y": 1},
|
||||
{"matrix": [1, 6], "x": 7, "y": 1},
|
||||
{"matrix": [1, 7], "x": 8, "y": 1},
|
||||
{"matrix": [6, 0], "x": 10.25, "y": 1},
|
||||
{"matrix": [6, 1], "x": 11.25, "y": 1},
|
||||
{"matrix": [6, 2], "x": 12.25, "y": 1},
|
||||
{"matrix": [6, 3], "x": 13.25, "y": 1},
|
||||
{"matrix": [6, 4], "x": 14.25, "y": 1},
|
||||
{"matrix": [6, 5], "x": 15.25, "y": 1},
|
||||
{"matrix": [6, 6], "x": 16.25, "y": 1},
|
||||
{"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 2], "x": 3.25, "y": 2},
|
||||
{"matrix": [2, 3], "x": 4.25, "y": 2},
|
||||
{"matrix": [2, 4], "x": 5.25, "y": 2},
|
||||
{"matrix": [2, 5], "x": 6.25, "y": 2},
|
||||
{"matrix": [2, 6], "x": 7.25, "y": 2},
|
||||
{"matrix": [7, 0], "x": 10.5, "y": 2},
|
||||
{"matrix": [7, 1], "x": 11.5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 12.5, "y": 2},
|
||||
{"matrix": [7, 3], "x": 13.5, "y": 2},
|
||||
{"matrix": [7, 4], "x": 14.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 3.75, "y": 3},
|
||||
{"matrix": [3, 3], "x": 4.75, "y": 3},
|
||||
{"matrix": [3, 4], "x": 5.75, "y": 3},
|
||||
{"matrix": [3, 5], "x": 6.75, "y": 3},
|
||||
{"matrix": [3, 6], "x": 7.75, "y": 3},
|
||||
{"matrix": [8, 0], "x": 10, "y": 3},
|
||||
{"matrix": [8, 1], "x": 11, "y": 3},
|
||||
{"matrix": [8, 2], "x": 12, "y": 3},
|
||||
{"matrix": [8, 3], "x": 13, "y": 3},
|
||||
{"matrix": [8, 4], "x": 14, "y": 3},
|
||||
{"matrix": [8, 5], "x": 15, "y": 3},
|
||||
{"matrix": [8, 6], "x": 16, "y": 3},
|
||||
{"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
|
||||
{"matrix": [4, 5], "x": 8.25, "y": 4},
|
||||
{"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
|
||||
{"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 5], "x": 15, "y": 4},
|
||||
{"matrix": [9, 6], "x": 16, "y": 4},
|
||||
{"matrix": [9, 7], "x": 17, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
23
keyboards/era/klein/keymaps/default/keymap.c
Normal file
23
keyboards/era/klein/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,23 @@
|
||||
// Copyright 2018-2022 QMK (@qmk)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, 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_BSPC,
|
||||
KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, 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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||
KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
23
keyboards/era/klein/keymaps/via/keymap.c
Normal file
23
keyboards/era/klein/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,23 @@
|
||||
// Copyright 2018-2022 QMK (@qmk)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, 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_BSPC,
|
||||
KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, 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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||
KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
1
keyboards/era/klein/keymaps/via/rules.mk
Normal file
1
keyboards/era/klein/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
22
keyboards/era/klein/mcuconf.h
Normal file
22
keyboards/era/klein/mcuconf.h
Normal file
@@ -0,0 +1,22 @@
|
||||
/* Copyright 2023 eerraa
|
||||
*
|
||||
* 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_next <mcuconf.h>
|
||||
|
||||
#undef RP_PWM_USE_PWM7
|
||||
#define RP_PWM_USE_PWM7 TRUE
|
||||
23
keyboards/era/klein/readme.md
Normal file
23
keyboards/era/klein/readme.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# MontK Cervin Klein
|
||||
|
||||
* Keyboard Maintainer: [ERA](https://github.com/eerraa)
|
||||
* Hardware supported: SIRIND Klein
|
||||
* Hardware availability: [Syryan](https://srind.mysoho.com/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make era/klein:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make era/klein: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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at ESC(0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly short the `RESET` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
0
keyboards/era/klein/rules.mk
Normal file
0
keyboards/era/klein/rules.mk
Normal file
@@ -4,7 +4,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
|
||||
switch (layer) {
|
||||
case DVORAK:
|
||||
rgblight_sethsv_noeeprom(GREEN);
|
||||
rgblight_sethsv_noeeprom(HSV_GREEN);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
|
||||
if (PLOVER_MODE) {
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
"diode_direction": "COL2ROW",
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"community_layouts": ["68_ansi", "68_iso"],
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
@@ -261,6 +262,88 @@
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_68_ansi_split_bs_rshift": {
|
||||
"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, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [2, 14], "x": 13, "y": 0},
|
||||
{"matrix": [0, 13], "x": 14, "y": 0},
|
||||
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
{"matrix": [1, 15], "x": 16.25, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
|
||||
{"matrix": [3, 14], "x": 15.25, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||
|
||||
{"matrix": [4, 13], "x": 14.25, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_68_ansi_split_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
@@ -342,6 +425,89 @@
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_68_iso_split_bs_rshift": {
|
||||
"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, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [2, 14], "x": 13, "y": 0},
|
||||
{"matrix": [0, 13], "x": 14, "y": 0},
|
||||
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
{"matrix": [1, 15], "x": 16.25, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
|
||||
{"matrix": [3, 14], "x": 15.25, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||
|
||||
{"matrix": [4, 13], "x": 14.25, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_68_iso_split_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
|
||||
18
keyboards/evyd13/solheim68/matrix_diagram.md
Normal file
18
keyboards/evyd13/solheim68/matrix_diagram.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# Matrix diagram for Evyd13 solheim68
|
||||
|
||||
```
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┐ ┌───────┐
|
||||
│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │2E │0D ││0E │0F │ │0D │ 2u Backspace
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┤ └─┬─────┤
|
||||
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1E │1F │ │ │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┘ ┌──┴┐2D │ ISO Enter
|
||||
│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │
|
||||
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤┌───┐ └───┴────┘
|
||||
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D ││3E │
|
||||
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴┬──┴┼───┼───┐
|
||||
│40 │41 │42 │46 │4A │4B │4C │ │4D │4E │4F │
|
||||
└────┴────┴────┴────────────────────────┴────┴────┴────┘ └───┴───┴───┘
|
||||
┌────────┐ ┌──────────┐
|
||||
│30 │ 2.25u LShift 2.75u RShift │3C │
|
||||
└────────┘ └──────────┘
|
||||
```
|
||||
@@ -19,3 +19,6 @@
|
||||
IO expander setup would allow up to 1x16 + 1 from the MCU */
|
||||
#define MATRIX_ROWS 1
|
||||
#define MATRIX_COLS 17
|
||||
|
||||
/* Fix for Apple Silicon Macs struggling to detect board after suspend/sleep */
|
||||
#define USB_SUSPEND_WAKEUP_DELAY 200
|
||||
@@ -15,7 +15,7 @@
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": false,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"encoder": true
|
||||
},
|
||||
|
||||
@@ -43,104 +43,104 @@
|
||||
|
||||
{"matrix": [13, 0], "x": 14, "y": 0},
|
||||
|
||||
{"matrix": [0, 6], "x": 15.5, "y": 0},
|
||||
{"matrix": [1, 6], "x": 16.5, "y": 0},
|
||||
{"matrix": [2, 6], "x": 17.5, "y": 0},
|
||||
{"matrix": [3, 6], "x": 18.5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 15.25, "y": 0},
|
||||
{"matrix": [1, 6], "x": 16.25, "y": 0},
|
||||
{"matrix": [2, 6], "x": 17.25, "y": 0},
|
||||
{"matrix": [3, 6], "x": 18.25, "y": 0},
|
||||
|
||||
{"matrix": [0, 1], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3, "y": 1},
|
||||
{"matrix": [4, 1], "x": 4, "y": 1},
|
||||
{"matrix": [5, 1], "x": 5, "y": 1},
|
||||
{"matrix": [6, 1], "x": 6, "y": 1},
|
||||
{"matrix": [7, 1], "x": 7, "y": 1},
|
||||
{"matrix": [8, 1], "x": 8, "y": 1},
|
||||
{"matrix": [9, 1], "x": 9, "y": 1},
|
||||
{"matrix": [10, 1], "x": 10, "y": 1},
|
||||
{"matrix": [11, 1], "x": 11, "y": 1},
|
||||
{"matrix": [12, 1], "x": 12, "y": 1},
|
||||
{"matrix": [13, 1], "x": 13, "y": 1, "w": 2},
|
||||
{"matrix": [0, 1], "x": 0, "y": 1.125},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.125},
|
||||
{"matrix": [2, 1], "x": 2, "y": 1.125},
|
||||
{"matrix": [3, 1], "x": 3, "y": 1.125},
|
||||
{"matrix": [4, 1], "x": 4, "y": 1.125},
|
||||
{"matrix": [5, 1], "x": 5, "y": 1.125},
|
||||
{"matrix": [6, 1], "x": 6, "y": 1.125},
|
||||
{"matrix": [7, 1], "x": 7, "y": 1.125},
|
||||
{"matrix": [8, 1], "x": 8, "y": 1.125},
|
||||
{"matrix": [9, 1], "x": 9, "y": 1.125},
|
||||
{"matrix": [10, 1], "x": 10, "y": 1.125},
|
||||
{"matrix": [11, 1], "x": 11, "y": 1.125},
|
||||
{"matrix": [12, 1], "x": 12, "y": 1.125},
|
||||
{"matrix": [13, 1], "x": 13, "y": 1.125, "w": 2},
|
||||
|
||||
{"matrix": [4, 6], "x": 15.5, "y": 1},
|
||||
{"matrix": [5, 6], "x": 16.5, "y": 1},
|
||||
{"matrix": [6, 6], "x": 17.5, "y": 1},
|
||||
{"matrix": [7, 6], "x": 18.5, "y": 1},
|
||||
{"matrix": [4, 6], "x": 15.25, "y": 1.125},
|
||||
{"matrix": [5, 6], "x": 16.25, "y": 1.125},
|
||||
{"matrix": [6, 6], "x": 17.25, "y": 1.125},
|
||||
{"matrix": [7, 6], "x": 18.25, "y": 1.125},
|
||||
|
||||
{"matrix": [0, 2], "x": 0, "y": 2, "w": 1.5},
|
||||
{"matrix": [1, 2], "x": 1.5, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 2},
|
||||
{"matrix": [3, 2], "x": 3.5, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.5, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.5, "y": 2},
|
||||
{"matrix": [6, 2], "x": 6.5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 7.5, "y": 2},
|
||||
{"matrix": [8, 2], "x": 8.5, "y": 2},
|
||||
{"matrix": [9, 2], "x": 9.5, "y": 2},
|
||||
{"matrix": [10, 2], "x": 10.5, "y": 2},
|
||||
{"matrix": [11, 2], "x": 11.5, "y": 2},
|
||||
{"matrix": [12, 2], "x": 12.5, "y": 2},
|
||||
{"matrix": [13, 3], "x": 13.5, "y": 2, "w": 1.25, "h": 2},
|
||||
{"matrix": [0, 2], "x": 0, "y": 2.125, "w": 1.5},
|
||||
{"matrix": [1, 2], "x": 1.5, "y": 2.125},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 2.125},
|
||||
{"matrix": [3, 2], "x": 3.5, "y": 2.125},
|
||||
{"matrix": [4, 2], "x": 4.5, "y": 2.125},
|
||||
{"matrix": [5, 2], "x": 5.5, "y": 2.125},
|
||||
{"matrix": [6, 2], "x": 6.5, "y": 2.125},
|
||||
{"matrix": [7, 2], "x": 7.5, "y": 2.125},
|
||||
{"matrix": [8, 2], "x": 8.5, "y": 2.125},
|
||||
{"matrix": [9, 2], "x": 9.5, "y": 2.125},
|
||||
{"matrix": [10, 2], "x": 10.5, "y": 2.125},
|
||||
{"matrix": [11, 2], "x": 11.5, "y": 2.125},
|
||||
{"matrix": [12, 2], "x": 12.5, "y": 2.125},
|
||||
{"matrix": [13, 3], "x": 13.75, "y": 2.125, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [8, 6], "x": 15.5, "y": 2},
|
||||
{"matrix": [9, 6], "x": 16.5, "y": 2},
|
||||
{"matrix": [10, 6], "x": 17.5, "y": 2, "w": 1.5},
|
||||
{"matrix": [11, 6], "x": 18.5, "y": 2, "h": 2},
|
||||
{"matrix": [8, 6], "x": 15.25, "y": 2.125},
|
||||
{"matrix": [9, 6], "x": 16.25, "y": 2.125},
|
||||
{"matrix": [10, 6], "x": 17.25, "y": 2.125},
|
||||
{"matrix": [11, 6], "x": 18.25, "y": 2.125, "h": 2},
|
||||
|
||||
{"matrix": [0, 3], "x": 0, "y": 3, "w": 1.75},
|
||||
{"matrix": [1, 3], "x": 1.75, "y": 3},
|
||||
{"matrix": [2, 3], "x": 2.75, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 3},
|
||||
{"matrix": [4, 3], "x": 4.75, "y": 3},
|
||||
{"matrix": [5, 3], "x": 5.75, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.75, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.75, "y": 3},
|
||||
{"matrix": [8, 3], "x": 8.75, "y": 3},
|
||||
{"matrix": [9, 3], "x": 9.75, "y": 3},
|
||||
{"matrix": [10, 3], "x": 10.75, "y": 3},
|
||||
{"matrix": [11, 3], "x": 11.75, "y": 3},
|
||||
{"matrix": [12, 3], "x": 12.75, "y": 3},
|
||||
{"matrix": [0, 3], "x": 0, "y": 3.125, "w": 1.75},
|
||||
{"matrix": [1, 3], "x": 1.75, "y": 3.125},
|
||||
{"matrix": [2, 3], "x": 2.75, "y": 3.125},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 3.125},
|
||||
{"matrix": [4, 3], "x": 4.75, "y": 3.125},
|
||||
{"matrix": [5, 3], "x": 5.75, "y": 3.125},
|
||||
{"matrix": [6, 3], "x": 6.75, "y": 3.125},
|
||||
{"matrix": [7, 3], "x": 7.75, "y": 3.125},
|
||||
{"matrix": [8, 3], "x": 8.75, "y": 3.125},
|
||||
{"matrix": [9, 3], "x": 9.75, "y": 3.125},
|
||||
{"matrix": [10, 3], "x": 10.75, "y": 3.125},
|
||||
{"matrix": [11, 3], "x": 11.75, "y": 3.125},
|
||||
{"matrix": [12, 3], "x": 12.75, "y": 3.125},
|
||||
|
||||
{"matrix": [10, 7], "x": 15.5, "y": 3},
|
||||
{"matrix": [11, 7], "x": 16.5, "y": 3},
|
||||
{"matrix": [12, 7], "x": 17.5, "y": 3},
|
||||
{"matrix": [10, 7], "x": 15.25, "y": 3.125},
|
||||
{"matrix": [11, 7], "x": 16.25, "y": 3.125},
|
||||
{"matrix": [12, 7], "x": 17.25, "y": 3.125},
|
||||
|
||||
{"matrix": [0, 4], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [1, 4], "x": 1.25, "y": 4},
|
||||
{"matrix": [2, 4], "x": 2.25, "y": 4},
|
||||
{"matrix": [3, 4], "x": 3.25, "y": 4},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4},
|
||||
{"matrix": [5, 4], "x": 5.25, "y": 4},
|
||||
{"matrix": [6, 4], "x": 6.25, "y": 4},
|
||||
{"matrix": [7, 4], "x": 7.25, "y": 4},
|
||||
{"matrix": [8, 4], "x": 8.25, "y": 4},
|
||||
{"matrix": [9, 4], "x": 9.25, "y": 4},
|
||||
{"matrix": [10, 4], "x": 10.25, "y": 4},
|
||||
{"matrix": [11, 4], "x": 11.25, "y": 4},
|
||||
{"matrix": [13, 4], "x": 12.25, "y": 4, "w": 1.75},
|
||||
{"matrix": [0, 4], "x": 0, "y": 4.125, "w": 1.25},
|
||||
{"matrix": [1, 4], "x": 1.25, "y": 4.125},
|
||||
{"matrix": [2, 4], "x": 2.25, "y": 4.125},
|
||||
{"matrix": [3, 4], "x": 3.25, "y": 4.125},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4.125},
|
||||
{"matrix": [5, 4], "x": 5.25, "y": 4.125},
|
||||
{"matrix": [6, 4], "x": 6.25, "y": 4.125},
|
||||
{"matrix": [7, 4], "x": 7.25, "y": 4.125},
|
||||
{"matrix": [8, 4], "x": 8.25, "y": 4.125},
|
||||
{"matrix": [9, 4], "x": 9.25, "y": 4.125},
|
||||
{"matrix": [10, 4], "x": 10.25, "y": 4.125},
|
||||
{"matrix": [11, 4], "x": 11.25, "y": 4.125},
|
||||
{"matrix": [13, 4], "x": 12.25, "y": 4.125, "w": 1.75},
|
||||
|
||||
{"matrix": [1, 7], "x": 14.25, "y": 4},
|
||||
{"matrix": [1, 7], "x": 14.125, "y": 4.25},
|
||||
|
||||
{"matrix": [6, 7], "x": 15.5, "y": 4},
|
||||
{"matrix": [7, 7], "x": 16.5, "y": 4},
|
||||
{"matrix": [8, 7], "x": 17.5, "y": 4},
|
||||
{"matrix": [9, 7], "x": 18.5, "y": 4, "h": 2},
|
||||
{"matrix": [6, 7], "x": 15.25, "y": 4.125},
|
||||
{"matrix": [7, 7], "x": 16.25, "y": 4.125},
|
||||
{"matrix": [8, 7], "x": 17.25, "y": 4.125},
|
||||
{"matrix": [9, 7], "x": 18.25, "y": 4.125, "h": 2},
|
||||
|
||||
{"matrix": [0, 5], "x": 0, "y": 5, "w": 1.25},
|
||||
{"matrix": [1, 5], "x": 1.25, "y": 5, "w": 1.25},
|
||||
{"matrix": [2, 5], "x": 2.5, "y": 5, "w": 1.25},
|
||||
{"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25},
|
||||
{"matrix": [9, 5], "x": 10, "y": 5},
|
||||
{"matrix": [10, 5], "x": 11, "y": 5},
|
||||
{"matrix": [12, 5], "x": 12, "y": 5},
|
||||
{"matrix": [0, 5], "x": 0, "y": 5.125, "w": 1.25},
|
||||
{"matrix": [1, 5], "x": 1.25, "y": 5.125, "w": 1.25},
|
||||
{"matrix": [2, 5], "x": 2.5, "y": 5.125, "w": 1.25},
|
||||
{"matrix": [6, 5], "x": 3.75, "y": 5.125, "w": 6.25},
|
||||
{"matrix": [9, 5], "x": 10, "y": 5.125},
|
||||
{"matrix": [10, 5], "x": 11, "y": 5.125},
|
||||
{"matrix": [12, 5], "x": 12, "y": 5.125},
|
||||
|
||||
{"matrix": [0, 7], "x": 13.25, "y": 5},
|
||||
{"matrix": [2, 7], "x": 14.25, "y": 5},
|
||||
{"matrix": [3, 7], "x": 15.25, "y": 5},
|
||||
{"matrix": [0, 7], "x": 13.125, "y": 5.25},
|
||||
{"matrix": [2, 7], "x": 14.125, "y": 5.25},
|
||||
{"matrix": [3, 7], "x": 15.125, "y": 5.25},
|
||||
|
||||
{"matrix": [4, 7], "x": 16.5, "y": 5},
|
||||
{"matrix": [5, 7], "x": 17.5, "y": 5}
|
||||
{"matrix": [4, 7], "x": 16.25, "y": 5.125},
|
||||
{"matrix": [5, 7], "x": 17.25, "y": 5.125}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"diode_direction": "COL2ROW",
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "halfkay",
|
||||
"community_layouts": ["66_ansi"],
|
||||
"layouts": {
|
||||
"LAYOUT_66_ansi": {
|
||||
"layout": [
|
||||
|
||||
92
keyboards/handwired/dactyl_tracer/info.json
Normal file
92
keyboards/handwired/dactyl_tracer/info.json
Normal file
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"keyboard_name": "Dactyl Tracer",
|
||||
"manufacturer": "mjohns",
|
||||
"url": "https://github.com/mjohns/tracer",
|
||||
"maintainer": "mjohns",
|
||||
"usb": {
|
||||
"vid": "0x444E",
|
||||
"pid": "0x1307",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["C6", "D7", "E6", "B4", "B5"],
|
||||
"rows": ["F7", "B1", "B3", "B2", "B6"]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"development_board": "promicro",
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"soft_serial_pin": "D0"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT" : {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0.25},
|
||||
{"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, "y": 0},
|
||||
|
||||
{"matrix": [5, 0], "x": 9, "y": 0},
|
||||
{"matrix": [5, 1], "x": 10, "y": 0},
|
||||
{"matrix": [5, 2], "x": 11, "y": 0},
|
||||
{"matrix": [5, 3], "x": 12, "y": 0},
|
||||
{"matrix": [5, 4], "x": 13, "y": 0.25},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.5},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||
|
||||
{"matrix": [6, 0], "x": 9, "y": 1},
|
||||
{"matrix": [6, 1], "x": 10, "y": 1},
|
||||
{"matrix": [6, 2], "x": 11, "y": 1},
|
||||
{"matrix": [6, 3], "x": 12, "y": 1},
|
||||
{"matrix": [6, 4], "x": 13, "y": 1.5},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.5},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4, "y": 2},
|
||||
|
||||
{"matrix": [7, 0], "x": 9, "y": 2},
|
||||
{"matrix": [7, 1], "x": 10, "y": 2},
|
||||
{"matrix": [7, 2], "x": 11, "y": 2},
|
||||
{"matrix": [7, 3], "x": 12, "y": 2},
|
||||
{"matrix": [7, 4], "x": 13, "y": 2.5},
|
||||
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
|
||||
{"matrix": [3, 4], "x": 5, "y": 3.25},
|
||||
|
||||
{"matrix": [8, 0], "x": 8, "y": 3.25},
|
||||
|
||||
{"matrix": [8, 2], "x": 11, "y": 3},
|
||||
{"matrix": [8, 3], "x": 12, "y": 3},
|
||||
|
||||
{"matrix": [4, 2], "x": 3, "y": 4 },
|
||||
{"matrix": [3, 3], "x": 4, "y": 4 },
|
||||
{"matrix": [4, 4], "x": 5, "y": 4.25},
|
||||
|
||||
{"matrix": [9, 0], "x": 8, "y": 4.25},
|
||||
{"matrix": [8, 1], "x": 9, "y": 4},
|
||||
{"matrix": [9, 2], "x": 10, "y": 4},
|
||||
|
||||
{"matrix": [4, 3], "x": 4.5, "y": 5.25},
|
||||
|
||||
{"matrix": [9, 1], "x": 8.5, "y": 5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
23
keyboards/handwired/dactyl_tracer/keymaps/default/config.h
Normal file
23
keyboards/handwired/dactyl_tracer/keymaps/default/config.h
Normal file
@@ -0,0 +1,23 @@
|
||||
// Copyright 2022 mjohns
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/* Enables This makes it easier for fast typists to use dual-function keys */
|
||||
#define PERMISSIVE_HOLD
|
||||
|
||||
/* mouse config */
|
||||
#define MOUSEKEY_INTERVAL 20
|
||||
#define MOUSEKEY_DELAY 0
|
||||
#define MOUSEKEY_TIME_TO_MAX 60
|
||||
#define MOUSEKEY_MAX_SPEED 7
|
||||
#define MOUSEKEY_WHEEL_DELAY 0
|
||||
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
#define MASTER_RIGHT
|
||||
60
keyboards/handwired/dactyl_tracer/keymaps/default/keymap.c
Normal file
60
keyboards/handwired/dactyl_tracer/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,60 @@
|
||||
// Copyright 2022 mjohns
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum custom_layers {
|
||||
_BASE,
|
||||
_RAISE,
|
||||
_LOWER,
|
||||
_SYS,
|
||||
};
|
||||
|
||||
#define MG_A LGUI_T(KC_A)
|
||||
#define MA_S LALT_T(KC_S)
|
||||
#define MC_D LCTL_T(KC_D)
|
||||
#define MS_F LSFT_T(KC_F)
|
||||
#define MS_J RSFT_T(KC_J)
|
||||
#define MC_K RCTL_T(KC_K)
|
||||
#define MA_L LALT_T(KC_L)
|
||||
#define MG_SCLN RGUI_T(KC_SCLN)
|
||||
#define APP_N A(KC_TAB)
|
||||
#define APP_P LSA(KC_TAB)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
MG_A, MA_S, MC_D, MS_F, KC_G, KC_H, MS_J, MC_K, MA_L, MG_SCLN,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT,
|
||||
KC_LEFT, KC_RGHT, KC_HOME, KC_END, KC_UP, KC_DOWN,
|
||||
KC_TAB, KC_SPC, KC_DEL, KC_BSPC, KC_ENT, KC_ESC,
|
||||
MO(1), MO(2)
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT(
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR,
|
||||
KC_PIPE, KC_GRV, KC_BSLS, KC_LPRN, KC_LCBR, KC_RCBR, KC_RPRN, KC_SLSH, KC_QUES, KC_TILD,
|
||||
KC_MINS, KC_PLUS, KC_NO, KC_LALT, KC_EQL, KC_UNDS,
|
||||
KC_NO, KC_NO, KC_NO, KC_RCTL, KC_RSFT, KC_RGUI,
|
||||
_______, MO(3)
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT(
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
||||
KC_F11, KC_INS, KC_PAUS, KC_PGUP, KC_PSCR, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_F12,
|
||||
KC_SCRL, KC_NO, KC_NO, KC_PGDN, KC_NO, KC_NO, KC_VOLD, KC_MPLY, KC_MSTP, KC_NO,
|
||||
KC_BRID, KC_BRIU, KC_LALT, KC_NO, APP_N, APP_P,
|
||||
KC_LGUI, KC_LSFT, KC_LCTL, KC_NO, KC_NO, KC_NO,
|
||||
MO(3), _______
|
||||
),
|
||||
|
||||
[_SYS] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
_______, _______
|
||||
),
|
||||
};
|
||||
15
keyboards/handwired/dactyl_tracer/keymaps/via/config.h
Normal file
15
keyboards/handwired/dactyl_tracer/keymaps/via/config.h
Normal file
@@ -0,0 +1,15 @@
|
||||
// Copyright 2022 mjohns
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
/* mouse config */
|
||||
#define MOUSEKEY_INTERVAL 20
|
||||
#define MOUSEKEY_DELAY 0
|
||||
#define MOUSEKEY_TIME_TO_MAX 60
|
||||
#define MOUSEKEY_MAX_SPEED 7
|
||||
#define MOUSEKEY_WHEEL_DELAY 0
|
||||
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
#define MASTER_RIGHT
|
||||
60
keyboards/handwired/dactyl_tracer/keymaps/via/keymap.c
Normal file
60
keyboards/handwired/dactyl_tracer/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,60 @@
|
||||
// Copyright 2022 mjohns
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum custom_layers {
|
||||
_BASE,
|
||||
_RAISE,
|
||||
_LOWER,
|
||||
_SYS,
|
||||
};
|
||||
|
||||
#define MG_A LGUI_T(KC_A)
|
||||
#define MA_S LALT_T(KC_S)
|
||||
#define MC_D LCTL_T(KC_D)
|
||||
#define MS_F LSFT_T(KC_F)
|
||||
#define MS_J RSFT_T(KC_J)
|
||||
#define MC_K RCTL_T(KC_K)
|
||||
#define MA_L LALT_T(KC_L)
|
||||
#define MG_SCLN RGUI_T(KC_SCLN)
|
||||
#define APP_N A(KC_TAB)
|
||||
#define APP_P LSA(KC_TAB)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
MG_A, MA_S, MC_D, MS_F, KC_G, KC_H, MS_J, MC_K, MA_L, MG_SCLN,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT,
|
||||
KC_LEFT, KC_RGHT, KC_HOME, KC_END, KC_UP, KC_DOWN,
|
||||
KC_TAB, KC_SPC, KC_DEL, KC_BSPC, KC_ENT, KC_ESC,
|
||||
MO(1), MO(2)
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT(
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR,
|
||||
KC_PIPE, KC_GRV, KC_BSLS, KC_LPRN, KC_LCBR, KC_RCBR, KC_RPRN, KC_SLSH, KC_QUES, KC_TILD,
|
||||
KC_MINS, KC_PLUS, KC_NO, KC_LALT, KC_EQL, KC_UNDS,
|
||||
KC_NO, KC_NO, KC_NO, KC_RCTL, KC_RSFT, KC_RGUI,
|
||||
_______, MO(3)
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT(
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
||||
KC_F11, KC_INS, KC_PAUS, KC_PGUP, KC_PSCR, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_F12,
|
||||
KC_SCRL, KC_NO, KC_NO, KC_PGDN, KC_NO, KC_NO, KC_VOLD, KC_MPLY, KC_MSTP, KC_NO,
|
||||
KC_BRID, KC_BRIU, KC_LALT, KC_NO, APP_N, APP_P,
|
||||
KC_LGUI, KC_LSFT, KC_LCTL, KC_NO, KC_NO, KC_NO,
|
||||
MO(3), _______
|
||||
),
|
||||
|
||||
[_SYS] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
_______, _______
|
||||
),
|
||||
};
|
||||
2
keyboards/handwired/dactyl_tracer/keymaps/via/rules.mk
Normal file
2
keyboards/handwired/dactyl_tracer/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
27
keyboards/handwired/dactyl_tracer/readme.md
Normal file
27
keyboards/handwired/dactyl_tracer/readme.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Dactyl Tracer
|
||||
|
||||

|
||||
|
||||
The Dactyl Tracer is a handwired, split bodied, concave key-well, columnar keyboard. Case design is similar to the [Dactyl CC](/keyboards/handwired/dactyl_cc) though overall design is closer to the [Dactyl ManuForm](/keyboards/handwired/dactyl_manuform/). The `Q` and `P` keys are vertically offset, from `A` and `;` keys respectively, to allow for easier actuation by third/ring finger.
|
||||
|
||||
* Keyboard Maintainer: [Michael Johns](https://github.com/mjohns)
|
||||
* Hardware Supported: Pro Micro controller, or clone of
|
||||
* Hardware Availability: [Case Files](https://github.com/mjohns/tracer)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/dactyl_tracer:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/dactyl_tracer: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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
1
keyboards/handwired/dactyl_tracer/rules.mk
Normal file
1
keyboards/handwired/dactyl_tracer/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
# File intentionally blank
|
||||
5
keyboards/handwired/jankrp2040dactyl/config.h
Normal file
5
keyboards/handwired/jankrp2040dactyl/config.h
Normal file
@@ -0,0 +1,5 @@
|
||||
// Copyright 2023 Ethan Perry (@wheres-perry)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
#define GRAVE_ESC_SHIFT_OVERRIDE
|
||||
103
keyboards/handwired/jankrp2040dactyl/info.json
Normal file
103
keyboards/handwired/jankrp2040dactyl/info.json
Normal file
@@ -0,0 +1,103 @@
|
||||
{
|
||||
"manufacturer": "Ethan Perry",
|
||||
"keyboard_name": "rp2040dactyl",
|
||||
"maintainer": "wheres-perry",
|
||||
"bootloader": "rp2040",
|
||||
"diode_direction": "COL2ROW",
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"soft_serial_pin": "GP0"
|
||||
},
|
||||
|
||||
"features": {
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"bootmagic": true
|
||||
},
|
||||
|
||||
"matrix_pins": {
|
||||
"cols": ["GP14", "GP15", "GP16", "GP17", "GP21", "GP22"],
|
||||
"rows": ["GP8", "GP9", "GP10", "GP11", "GP12"]
|
||||
},
|
||||
|
||||
"processor": "RP2040",
|
||||
"url": "",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0000",
|
||||
"vid": "0xFEED"
|
||||
},
|
||||
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout":
|
||||
[{"matrix": [0, 0],"label":"Esc", "x":0, "y":0},
|
||||
{"matrix": [0, 1], "label":"1!", "x":1, "y":0},
|
||||
{"matrix": [0, 2], "label":"2@", "x":2, "y":0},
|
||||
{"matrix": [0, 3], "label":"3#", "x":3, "y":0},
|
||||
{"matrix": [0, 4], "label":"4$", "x":4, "y":0},
|
||||
{"matrix": [0, 5], "label":"5%", "x":5, "y":0},
|
||||
{"matrix": [5, 0], "label":"6^", "x":7, "y":0},
|
||||
{"matrix": [5, 1], "label":"7&", "x":8, "y":0},
|
||||
{"matrix": [5, 2], "label":"8*", "x":9, "y":0},
|
||||
{"matrix": [5, 3], "label":"9(", "x":10, "y":0},
|
||||
{"matrix": [5, 4], "label":"0)", "x":11, "y":0},
|
||||
{"matrix": [5, 5], "label":"+", "x":12, "y":0},
|
||||
|
||||
{"matrix": [1, 0], "label":"|", "x":0, "y":1},
|
||||
{"matrix": [1, 1], "label":"B", "x":1, "y":1},
|
||||
{"matrix": [1, 2], "label":"Y", "x":2, "y":1},
|
||||
{"matrix": [1, 3], "label":"O", "x":3, "y":1},
|
||||
{"matrix": [1, 4], "label":"U", "x":4, "y":1},
|
||||
{"matrix": [1, 5], "label":"\"", "x":5, "y":1},
|
||||
{"matrix": [6, 0], "label":":", "x":7, "y":1},
|
||||
{"matrix": [6, 1], "label":"L", "x":8, "y":1},
|
||||
{"matrix": [6, 2], "label":"D", "x":9, "y":1},
|
||||
{"matrix": [6, 3], "label":"W", "x":10, "y":1},
|
||||
{"matrix": [6, 4], "label":"V", "x":11, "y":1},
|
||||
{"matrix": [6, 5], "label":"Z", "x":12, "y":1},
|
||||
|
||||
{"matrix": [2, 0], "label":"Arrows", "x":0, "y":2},
|
||||
{"matrix": [2, 1], "label":"C", "x":1, "y":2},
|
||||
{"matrix": [2, 2], "label":"I", "x":2, "y":2},
|
||||
{"matrix": [2, 3], "label":"E", "x":3, "y":2},
|
||||
{"matrix": [2, 4], "label":"A", "x":4, "y":2},
|
||||
{"matrix": [2, 5], "label":"<", "x":5, "y":2},
|
||||
{"matrix": [7, 0], "label":">", "x":7, "y":2},
|
||||
{"matrix": [7, 1], "label":"H", "x":8, "y":2},
|
||||
{"matrix": [7, 2], "label":"T", "x":9, "y":2},
|
||||
{"matrix": [7, 3], "label":"S", "x":10, "y":2},
|
||||
{"matrix": [7, 4], "label":"N", "x":11, "y":2},
|
||||
{"matrix": [7, 5], "label":"Q", "x":12, "y":2},
|
||||
|
||||
{"matrix": [3, 0], "label":"Shift", "x":0, "y":3},
|
||||
{"matrix": [3, 1], "label":"G", "x":1, "y":3},
|
||||
{"matrix": [3, 2], "label":"X", "x":2, "y":3},
|
||||
{"matrix": [3, 3], "label":"J", "x":3, "y":3},
|
||||
{"matrix": [3, 4], "label":"K", "x":4, "y":3},
|
||||
{"matrix": [3, 5], "label":"_", "x":5, "y":3},
|
||||
{"matrix": [8, 0], "label":"?", "x":7, "y":3},
|
||||
{"matrix": [8, 1], "label":"R", "x":8, "y":3},
|
||||
{"matrix": [8, 2], "label":"M", "x":9, "y":3},
|
||||
{"matrix": [8, 3], "label":"F", "x":10, "y":3},
|
||||
{"matrix": [8, 4], "label":"P", "x":11, "y":3},
|
||||
{"matrix": [8, 5], "label":"FN", "x":12, "y":3},
|
||||
|
||||
{"matrix": [4, 3], "label":"Del", "x":3, "y":5},
|
||||
{"matrix": [4, 4], "label":"Space", "x":4, "y":5},
|
||||
{"matrix": [4, 5], "label":"Backspace", "x":5, "y":5},
|
||||
|
||||
{"matrix": [9, 0], "label":"Enter", "x":7, "y":5},
|
||||
{"matrix": [9, 3], "label":"Symbol", "x":8, "y":5},
|
||||
{"matrix": [9, 2], "label":"Tab", "x":9, "y":5},
|
||||
|
||||
{"matrix": [4, 1], "label":"Windows", "x":4, "y":6},
|
||||
{"matrix": [4, 2], "label":"Alt", "x":5, "y":6},
|
||||
|
||||
{"matrix": [9, 1], "label":"Ctrl", "x":7, "y":6},
|
||||
{"matrix": [9, 4], "label":"Blank", "x":8, "y":6}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
/* Copyright 2023 Ethan Perry (@wheres-perry)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
_BASELAYER,
|
||||
_FUNCTIONLAYER,
|
||||
_ARROWLAYER,
|
||||
_SYMBOLLAYER
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASELAYER] = LAYOUT(
|
||||
QK_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQUAL,
|
||||
KC_BSLS,KC_B, KC_Y, KC_O, KC_U, KC_QUOT, KC_SCLN,KC_L, KC_D, KC_W, KC_V, KC_Z,
|
||||
MO(_FUNCTIONLAYER), KC_C, KC_I, KC_E, KC_A, KC_COMM, KC_DOT, KC_H, KC_T, KC_S, KC_N, KC_Q,
|
||||
KC_LSFT,KC_G, KC_X, KC_J, KC_K, KC_MINS, KC_SLSH,KC_R, KC_M, KC_F, KC_P, MO(_ARROWLAYER),
|
||||
|
||||
KC_DEL, KC_SPC,KC_BSPC, KC_ENT, MO(_SYMBOLLAYER), KC_TAB,
|
||||
KC_LGUI,KC_LALT, KC_RCTL,KC_NO
|
||||
|
||||
|
||||
),
|
||||
[_ARROWLAYER] = LAYOUT(
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_UP, KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
MO(_FUNCTIONLAYER), KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_DEL, KC_SPC,KC_BSPC, KC_ENT, MO(_SYMBOLLAYER), KC_TAB,
|
||||
KC_LGUI,KC_LALT, KC_RCTL,KC_NO
|
||||
|
||||
|
||||
),
|
||||
[_FUNCTIONLAYER] = LAYOUT(
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
|
||||
KC_DEL, KC_SPC,KC_BSPC, KC_ENT, MO(_SYMBOLLAYER), KC_TAB,
|
||||
KC_LGUI,KC_LALT, KC_RCTL, KC_NO
|
||||
|
||||
|
||||
),
|
||||
[_SYMBOLLAYER] = LAYOUT(
|
||||
KC_TILD,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
|
||||
KC_NO, KC_PIPE,KC_BSLS,KC_EQL, KC_LT, KC_GT, KC_LCBR,KC_RCBR,KC_UNDS,KC_ASTR,KC_PLUS, KC_NO,
|
||||
KC_TRNS, KC_QUES,KC_QUOT,KC_DQUO,KC_COLN,KC_SCLN, KC_LPRN,KC_RPRN,KC_COMM,KC_DOT, KC_MINS,KC_NO,
|
||||
KC_LSFT,KC_CIRC,KC_PERC,KC_AMPR,KC_HASH,KC_SLSH, KC_LBRC,KC_RBRC,KC_DLR, KC_AT, KC_EXLM,KC_TRNS,
|
||||
KC_DEL, KC_SPC,KC_BSPC, KC_ENT, KC_TRNS, KC_TAB,
|
||||
KC_LGUI,KC_LALT, KC_RCTL,KC_NO
|
||||
|
||||
|
||||
)
|
||||
};
|
||||
26
keyboards/handwired/jankrp2040dactyl/readme.md
Normal file
26
keyboards/handwired/jankrp2040dactyl/readme.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# handwired/jankrp2040dactyl
|
||||
|
||||
|
||||
A budget Dactyl-Manuform build using Raspberry Pi Pico.
|
||||
|
||||
* Keyboard Maintainer: [Ethan Perry](https://github.com/wheres-perry)
|
||||
* Hardware Supported: RP2040 Community Edition
|
||||
* Hardware Availability: https://www.digikey.com/en/product-highlight/r/raspberry-pi/raspberry-pi-picoboard
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/jankrp2040dactyl:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/jankrp2040dactyl: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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
1
keyboards/handwired/jankrp2040dactyl/rules.mk
Normal file
1
keyboards/handwired/jankrp2040dactyl/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
SERIAL_DRIVER = vendor
|
||||
78
keyboards/handwired/scottokeebs/scottofly/info.json
Normal file
78
keyboards/handwired/scottokeebs/scottofly/info.json
Normal file
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"manufacturer": "ScottoKeebs",
|
||||
"keyboard_name": "ScottoFly",
|
||||
"maintainer": "joe-scotto",
|
||||
"development_board": "promicro",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
// 3, 4, 5, 6, 7, 8, 9, A3, A2, A1
|
||||
"cols": ["D0", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5", "F6"],
|
||||
|
||||
// 15, 14, 16, 10
|
||||
"rows": ["B1", "B3", "B2", "B6"]
|
||||
},
|
||||
"url": "https://scottokeebs.com",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0009",
|
||||
"vid": "0xFEED"
|
||||
},
|
||||
"community_layouts": ["split_3x5_3"],
|
||||
"layouts": {
|
||||
"LAYOUT_split_3x5_3": {
|
||||
"layout": [
|
||||
// Row 1
|
||||
{ "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, "y": 0 },
|
||||
{ "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
|
||||
// Row 2
|
||||
{ "matrix": [1, 0], "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 1, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 2, "y": 1 },
|
||||
{ "matrix": [1, 3], "x": 3, "y": 1 },
|
||||
{ "matrix": [1, 4], "x": 4, "y": 1 },
|
||||
{ "matrix": [1, 5], "x": 5, "y": 1 },
|
||||
{ "matrix": [1, 6], "x": 6, "y": 1 },
|
||||
{ "matrix": [1, 7], "x": 7, "y": 1 },
|
||||
{ "matrix": [1, 8], "x": 8, "y": 1 },
|
||||
{ "matrix": [1, 9], "x": 9, "y": 1 },
|
||||
|
||||
// Row 3
|
||||
{ "matrix": [2, 0], "x": 0, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 1, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 2, "y": 2 },
|
||||
{ "matrix": [2, 3], "x": 3, "y": 2 },
|
||||
{ "matrix": [2, 4], "x": 4, "y": 2 },
|
||||
{ "matrix": [2, 5], "x": 5, "y": 2 },
|
||||
{ "matrix": [2, 6], "x": 6, "y": 2 },
|
||||
{ "matrix": [2, 7], "x": 7, "y": 2 },
|
||||
{ "matrix": [2, 8], "x": 8, "y": 2 },
|
||||
{ "matrix": [2, 9], "x": 9, "y": 2 },
|
||||
|
||||
// Row 4
|
||||
{ "matrix": [3, 2], "x": 2, "y": 3 },
|
||||
{ "matrix": [3, 3], "x": 3, "y": 3 },
|
||||
{ "matrix": [3, 4], "x": 4, "y": 3 },
|
||||
{ "matrix": [3, 5], "x": 5, "y": 3 },
|
||||
{ "matrix": [3, 6], "x": 6, "y": 3 },
|
||||
{ "matrix": [3, 7], "x": 7, "y": 3 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
Copyright 2022 Joe Scotto
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// Define options
|
||||
#define TAPPING_TERM 135
|
||||
#define PERMISSIVE_HOLD
|
||||
#define TAPPING_TERM_PER_KEY
|
||||
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
Copyright 2022 Joe Scotto
|
||||
|
||||
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_split_3x5_3(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC,
|
||||
LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH),
|
||||
KC_LGUI, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_ESC
|
||||
),
|
||||
[1] = LAYOUT_split_3x5_3(
|
||||
KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL,
|
||||
KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,
|
||||
LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[2] = LAYOUT_split_3x5_3(
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC,
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||
KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[3] = LAYOUT_split_3x5_3(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
||||
KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
27
keyboards/handwired/scottokeebs/scottofly/readme.md
Normal file
27
keyboards/handwired/scottokeebs/scottofly/readme.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# ScottoFly
|
||||
|
||||

|
||||
|
||||
A 36-key split monoblock ergonomic column-staggered ortholinear keyboard with 20° of angle on each half. Case files available [here](https://github.com/joe-scotto/scottokeebs).
|
||||
|
||||
* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto)
|
||||
* Hardware Supported: ATmega32U4
|
||||
* Hardware Availability: [Amazon](https://amazon.com)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/scottokeebs/scottofly:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/scottokeebs/scottofly: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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
1
keyboards/handwired/scottokeebs/scottofly/rules.mk
Normal file
1
keyboards/handwired/scottokeebs/scottofly/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
||||
72
keyboards/handwired/scottokeebs/scottolong/info.json
Normal file
72
keyboards/handwired/scottokeebs/scottolong/info.json
Normal file
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"manufacturer": "ScottoKeebs",
|
||||
"keyboard_name": "ScottoLong",
|
||||
"maintainer": "joe-scotto",
|
||||
"bootloader": "rp2040",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15"],
|
||||
"rows": ["GP2", "GP3", "GP4", "GP5"]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"url": "https://scottokeebs.com",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0011",
|
||||
"vid": "0xFEED"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_3x10_3": {
|
||||
"layout": [
|
||||
// Row 1
|
||||
{ "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, "y": 0 },
|
||||
{ "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
|
||||
// Row 2
|
||||
{ "matrix": [1, 0], "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 1, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 2, "y": 1 },
|
||||
{ "matrix": [1, 3], "x": 3, "y": 1 },
|
||||
{ "matrix": [1, 4], "x": 4, "y": 1 },
|
||||
{ "matrix": [1, 5], "x": 5, "y": 1 },
|
||||
{ "matrix": [1, 6], "x": 6, "y": 1 },
|
||||
{ "matrix": [1, 7], "x": 7, "y": 1 },
|
||||
{ "matrix": [1, 8], "x": 8, "y": 1 },
|
||||
{ "matrix": [1, 9], "x": 9, "y": 1 },
|
||||
|
||||
// Row 3
|
||||
{ "matrix": [2, 0], "x": 0, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 1, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 2, "y": 2 },
|
||||
{ "matrix": [2, 3], "x": 3, "y": 2 },
|
||||
{ "matrix": [2, 4], "x": 4, "y": 2 },
|
||||
{ "matrix": [2, 5], "x": 5, "y": 2 },
|
||||
{ "matrix": [2, 6], "x": 6, "y": 2 },
|
||||
{ "matrix": [2, 7], "x": 7, "y": 2 },
|
||||
{ "matrix": [2, 8], "x": 8, "y": 2 },
|
||||
{ "matrix": [2, 9], "x": 9, "y": 2 },
|
||||
|
||||
// Row 4
|
||||
{ "matrix": [3, 0], "x": 0, "y": 3 },
|
||||
{ "matrix": [3, 4], "x": 4, "y": 3 },
|
||||
{ "matrix": [3, 9], "x": 9, "y": 3 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
Copyright 2022 Joe Scotto
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// Define options
|
||||
#define TAPPING_TERM 135
|
||||
#define PERMISSIVE_HOLD
|
||||
#define TAPPING_TERM_PER_KEY
|
||||
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
Copyright 2022 Joe Scotto
|
||||
|
||||
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_ortho_3x10_3(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC,
|
||||
LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH),
|
||||
KC_LGUI, LT(1, KC_SPC), LT(2, KC_TAB)
|
||||
),
|
||||
[1] = LAYOUT_ortho_3x10_3(
|
||||
KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL,
|
||||
KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,
|
||||
LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[2] = LAYOUT_ortho_3x10_3(
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC,
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||
KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[3] = LAYOUT_ortho_3x10_3(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
||||
KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
27
keyboards/handwired/scottokeebs/scottolong/readme.md
Normal file
27
keyboards/handwired/scottokeebs/scottolong/readme.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# ScottoLong
|
||||
|
||||

|
||||
|
||||
A 33-key ortholinear keyboard with a 7u spacebar and two 1.5u function keys. Case files available [here](https://github.com/joe-scotto/scottokeebs).
|
||||
|
||||
* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto)
|
||||
* Hardware Supported: RP2040
|
||||
* Hardware Availability: [Amazon](https://amazon.com)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/scottokeebs/scottolong:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/scottokeebs/scottolong: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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
1
keyboards/handwired/scottokeebs/scottolong/rules.mk
Normal file
1
keyboards/handwired/scottokeebs/scottolong/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
||||
52
keyboards/handwired/scottokeebs/scottomacrodeck/info.json
Normal file
52
keyboards/handwired/scottokeebs/scottomacrodeck/info.json
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"manufacturer": "ScottoKeebs",
|
||||
"keyboard_name": "ScottoMacrodeck",
|
||||
"maintainer": "joe-scotto",
|
||||
"development_board": "promicro",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"build" : {
|
||||
"lto": true,
|
||||
},
|
||||
"matrix_pins": {
|
||||
"direct": [
|
||||
["D3", "D2", "D1", null],
|
||||
["D0", "D4", "C6", "D7"],
|
||||
["E6", "B4", "B5", "F4"]
|
||||
]
|
||||
},
|
||||
"url": "https://scottokeebs.com",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0015",
|
||||
"vid": "0xFEED"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
// Row 1
|
||||
{ "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
|
||||
// Row 2
|
||||
{ "matrix": [1, 0], "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 1, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 2, "y": 1 },
|
||||
{ "matrix": [1, 3], "x": 3, "y": 1 },
|
||||
|
||||
// Row 3
|
||||
{ "matrix": [2, 0], "x": 0, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 1, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 2, "y": 2 },
|
||||
{ "matrix": [2, 3], "x": 3, "y": 2 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
Copyright 2023 Joe Scotto
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_1, KC_2, KC_3,
|
||||
KC_Q, KC_W, KC_E, KC_R,
|
||||
KC_A, KC_S, KC_D, KC_F
|
||||
)
|
||||
};
|
||||
29
keyboards/handwired/scottokeebs/scottomacrodeck/readme.md
Normal file
29
keyboards/handwired/scottokeebs/scottomacrodeck/readme.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# ScottoMacrodeck
|
||||
|
||||

|
||||
|
||||
An 11-key macropad designed specifically for someone who games with a single thumb, however, it can be used as a traditional macropad. Case files available [here](https://github.com/joe-scotto/scottokeebs).
|
||||
|
||||
* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto)
|
||||
* Hardware Supported: ATmega32U4
|
||||
* Hardware Availability: [Amazon](https://amazon.com)
|
||||
|
||||
# Compiling
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/scottokeebs/scottomacrodeck:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/scottokeebs/scottomacrodeck: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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
39
keyboards/handwired/scottokeebs/scottomouse/info.json
Normal file
39
keyboards/handwired/scottokeebs/scottomouse/info.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"manufacturer": "ScottoKeebs",
|
||||
"keyboard_name": "ScottoMouse",
|
||||
"maintainer": "joe-scotto",
|
||||
"bootloader": "rp2040",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"direct": [
|
||||
["GP0", "GP1", "GP2", "GP3", "GP4", "GP5"]
|
||||
]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"url": "https://scottokeebs.com",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0018",
|
||||
"vid": "0xFEED"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"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, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
Copyright 2023 Joe Scotto
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_MS_BTN1, KC_MS_BTN2, KC_MS_LEFT, KC_MS_UP, KC_MS_DOWN, KC_MS_RIGHT
|
||||
)
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
Copyright 2023 Joe Scotto
|
||||
|
||||
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
|
||||
|
||||
// Mouse key speed and acceleration.
|
||||
#define MOUSEKEY_DELAY 0
|
||||
#define MOUSEKEY_INTERVAL 16
|
||||
#define MOUSEKEY_WHEEL_DELAY 0
|
||||
#define MOUSEKEY_MAX_SPEED 6
|
||||
#define MOUSEKEY_TIME_TO_MAX 64
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
Copyright 2023 Joe Scotto
|
||||
|
||||
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 scroll_down[] = {KC_MS_BTN1, KC_MS_BTN2, KC_MS_DOWN, COMBO_END};
|
||||
const uint16_t PROGMEM scroll_up[] = {KC_MS_BTN1, KC_MS_BTN2, KC_MS_UP, COMBO_END};
|
||||
const uint16_t PROGMEM middle_click[] = {KC_MS_BTN1, KC_MS_BTN2, COMBO_END};
|
||||
combo_t key_combos[] = {
|
||||
COMBO(scroll_down, KC_MS_WH_DOWN),
|
||||
COMBO(scroll_up, KC_MS_WH_UP),
|
||||
COMBO(middle_click, KC_MS_BTN3)
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_MS_BTN1, KC_MS_BTN2, KC_MS_LEFT, KC_MS_UP, KC_MS_DOWN, KC_MS_RIGHT
|
||||
)
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
COMBO_ENABLE = yes
|
||||
29
keyboards/handwired/scottokeebs/scottomouse/readme.md
Normal file
29
keyboards/handwired/scottokeebs/scottomouse/readme.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# ScottoMouse
|
||||
|
||||

|
||||
|
||||
A 6-key macropad that utilizes [QMK mouse keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) to emulate a mouse, case files available [here](https://github.com/joe-scotto/scottokeebs.git).
|
||||
|
||||
* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto)
|
||||
* Hardware Supported: Raspberry Pi Pico
|
||||
* Hardware Availability: [ScottoKeebs](https://scottokeebs.com), [Amazon](https://amazon.com), [Ali](https://amazon.com)
|
||||
|
||||
# Compiling
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/scottokeebs/scottomouse:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/scottokeebs/scottomouse: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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
1
keyboards/handwired/scottokeebs/scottomouse/rules.mk
Normal file
1
keyboards/handwired/scottokeebs/scottomouse/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
||||
75
keyboards/handwired/scottokeebs/scottoslant/info.json
Normal file
75
keyboards/handwired/scottokeebs/scottoslant/info.json
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"manufacturer": "ScottoKeebs",
|
||||
"keyboard_name": "ScottoSlant",
|
||||
"maintainer": "joe-scotto",
|
||||
"development_board": "promicro",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5"],
|
||||
"rows": ["B1", "B3", "B2", "B6"]
|
||||
},
|
||||
"url": "https://scottokeebs.com",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0004",
|
||||
"vid": "0x534B"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
// Row 1
|
||||
{ "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, "y": 0 },
|
||||
{ "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
|
||||
// Row 2
|
||||
{ "matrix": [1, 0], "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 1, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 2, "y": 1 },
|
||||
{ "matrix": [1, 3], "x": 3, "y": 1 },
|
||||
{ "matrix": [1, 4], "x": 4, "y": 1 },
|
||||
{ "matrix": [1, 5], "x": 5, "y": 1 },
|
||||
{ "matrix": [1, 6], "x": 6, "y": 1 },
|
||||
{ "matrix": [1, 7], "x": 7, "y": 1 },
|
||||
{ "matrix": [1, 8], "x": 8, "y": 1 },
|
||||
{ "matrix": [1, 9], "x": 9, "y": 1 },
|
||||
|
||||
// Row 3
|
||||
{ "matrix": [2, 0], "x": 0, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 1, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 2, "y": 2 },
|
||||
{ "matrix": [2, 3], "x": 3, "y": 2 },
|
||||
{ "matrix": [2, 4], "x": 4, "y": 2 },
|
||||
{ "matrix": [2, 5], "x": 5, "y": 2 },
|
||||
{ "matrix": [2, 6], "x": 6, "y": 2 },
|
||||
{ "matrix": [2, 7], "x": 7, "y": 2 },
|
||||
{ "matrix": [2, 8], "x": 8, "y": 2 },
|
||||
{ "matrix": [2, 9], "x": 9, "y": 2 },
|
||||
|
||||
// Row 4
|
||||
{ "matrix": [3, 1], "x": 1, "y": 3 },
|
||||
{ "matrix": [3, 2], "x": 2, "y": 3 },
|
||||
{ "matrix": [3, 3], "x": 3, "y": 3 },
|
||||
{ "matrix": [3, 4], "x": 4, "y": 3 },
|
||||
{ "matrix": [3, 6], "x": 6, "y": 3 },
|
||||
{ "matrix": [3, 7], "x": 7, "y": 3 },
|
||||
{ "matrix": [3, 8], "x": 8, "y": 3 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
Copyright 2022 Joe Scotto
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// Define options
|
||||
#define TAPPING_TERM 135
|
||||
#define PERMISSIVE_HOLD
|
||||
#define TAPPING_TERM_PER_KEY
|
||||
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
Copyright 2022 Joe Scotto
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC,
|
||||
LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH),
|
||||
KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_ESC
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL,
|
||||
KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,
|
||||
LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[2] = LAYOUT(
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC,
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||
KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[3] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
||||
KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
Copyright 2022 Joe Scotto
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// Define options
|
||||
#define TAPPING_TERM 135
|
||||
#define PERMISSIVE_HOLD
|
||||
#define TAPPING_TERM_PER_KEY
|
||||
@@ -0,0 +1,69 @@
|
||||
/*
|
||||
Copyright 2022 Joe Scotto
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC,
|
||||
KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,
|
||||
LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH),
|
||||
KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_ESC
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL,
|
||||
KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,
|
||||
LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS),
|
||||
KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, KC_ESC
|
||||
),
|
||||
[2] = LAYOUT(
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC,
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||
KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
|
||||
KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, KC_ESC
|
||||
),
|
||||
[3] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(4),
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
||||
KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12,
|
||||
KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, KC_ESC
|
||||
),
|
||||
[4] = LAYOUT(
|
||||
KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC,
|
||||
KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,
|
||||
LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH),
|
||||
KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), KC_ESC
|
||||
),
|
||||
[5] = LAYOUT(
|
||||
KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL,
|
||||
KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,
|
||||
LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS),
|
||||
KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), KC_ESC
|
||||
),
|
||||
[6] = LAYOUT(
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC,
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||
KC_LSFT, KC_NO, KC_NO, KC_NO, MO(7), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
|
||||
KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), KC_ESC
|
||||
),
|
||||
[7] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(0),
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
||||
KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12,
|
||||
KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), KC_ESC
|
||||
)
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
TAP_DANCE_ENABLE = yes
|
||||
28
keyboards/handwired/scottokeebs/scottoslant/readme.md
Normal file
28
keyboards/handwired/scottokeebs/scottoslant/readme.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# ScottoSlant
|
||||
|
||||

|
||||
|
||||
A 37-key handwired 0.25u row-staggered keyboard with a 2u spacebar. Case files available [here](https://github.com/joe-scotto/scottokeebs).
|
||||
|
||||
* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto)
|
||||
* Hardware Supported: ATmega32U4
|
||||
* Hardware Availability: [Amazon](https://amazon.com)
|
||||
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/scottokeebs/scottoslant:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/scottokeebs/scottoslant: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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
1
keyboards/handwired/scottokeebs/scottoslant/rules.mk
Normal file
1
keyboards/handwired/scottokeebs/scottoslant/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
LTO_ENABLE = yes
|
||||
@@ -36,6 +36,7 @@
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"community_layouts": ["66_ansi", "66_iso"],
|
||||
"layouts": {
|
||||
"LAYOUT_66_ansi": {
|
||||
"layout": [
|
||||
|
||||
@@ -48,8 +48,12 @@
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all"
|
||||
},
|
||||
"community_layouts": ["96_ansi"],
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"matrix": [5, 0], "x": 0, "y": 0},
|
||||
{"matrix": [5, 1], "x": 1, "y": 0},
|
||||
@@ -161,6 +165,115 @@
|
||||
{"matrix": [6, 1], "x": 17, "y": 5},
|
||||
{"matrix": [6, 0], "x": 18, "y": 5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_96_ansi": {
|
||||
"layout": [
|
||||
{"matrix": [5, 0], "x": 0, "y": 0},
|
||||
{"matrix": [5, 1], "x": 1, "y": 0},
|
||||
{"matrix": [5, 2], "x": 2, "y": 0},
|
||||
{"matrix": [5, 3], "x": 3, "y": 0},
|
||||
{"matrix": [5, 4], "x": 4, "y": 0},
|
||||
{"matrix": [5, 5], "x": 5, "y": 0},
|
||||
{"matrix": [5, 6], "x": 6, "y": 0},
|
||||
{"matrix": [5, 7], "x": 7, "y": 0},
|
||||
{"matrix": [5, 8], "x": 8, "y": 0},
|
||||
{"matrix": [11, 8], "x": 9, "y": 0},
|
||||
{"matrix": [11, 7], "x": 10, "y": 0},
|
||||
{"matrix": [11, 5], "x": 11, "y": 0},
|
||||
{"matrix": [11, 4], "x": 12, "y": 0},
|
||||
{"matrix": [11, 3], "x": 13, "y": 0},
|
||||
{"matrix": [11, 6], "x": 14, "y": 0},
|
||||
{"matrix": [11, 2], "x": 15, "y": 0},
|
||||
{"matrix": [11, 1], "x": 16, "y": 0},
|
||||
{"matrix": [11, 0], "x": 17, "y": 0},
|
||||
{"matrix": [6, 3], "x": 18, "y": 0},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 1},
|
||||
{"matrix": [4, 1], "x": 1, "y": 1},
|
||||
{"matrix": [4, 2], "x": 2, "y": 1},
|
||||
{"matrix": [4, 3], "x": 3, "y": 1},
|
||||
{"matrix": [4, 4], "x": 4, "y": 1},
|
||||
{"matrix": [4, 5], "x": 5, "y": 1},
|
||||
{"matrix": [4, 6], "x": 6, "y": 1},
|
||||
{"matrix": [4, 7], "x": 7, "y": 1},
|
||||
{"matrix": [4, 8], "x": 8, "y": 1},
|
||||
{"matrix": [10, 8], "x": 9, "y": 1},
|
||||
{"matrix": [10, 7], "x": 10, "y": 1},
|
||||
{"matrix": [10, 5], "x": 11, "y": 1},
|
||||
{"matrix": [10, 4], "x": 12, "y": 1},
|
||||
{"matrix": [10, 6], "x": 13, "y": 1, "w": 2},
|
||||
{"matrix": [10, 2], "x": 15, "y": 1},
|
||||
{"matrix": [10, 1], "x": 16, "y": 1},
|
||||
{"matrix": [10, 0], "x": 17, "y": 1},
|
||||
{"matrix": [6, 4], "x": 18, "y": 1},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5},
|
||||
{"matrix": [3, 1], "x": 1.5, "y": 2},
|
||||
{"matrix": [3, 2], "x": 2.5, "y": 2},
|
||||
{"matrix": [3, 3], "x": 3.5, "y": 2},
|
||||
{"matrix": [3, 4], "x": 4.5, "y": 2},
|
||||
{"matrix": [3, 5], "x": 5.5, "y": 2},
|
||||
{"matrix": [3, 6], "x": 6.5, "y": 2},
|
||||
{"matrix": [3, 7], "x": 7.5, "y": 2},
|
||||
{"matrix": [3, 8], "x": 8.5, "y": 2},
|
||||
{"matrix": [9, 8], "x": 9.5, "y": 2},
|
||||
{"matrix": [9, 7], "x": 10.5, "y": 2},
|
||||
{"matrix": [9, 5], "x": 11.5, "y": 2},
|
||||
{"matrix": [9, 4], "x": 12.5, "y": 2},
|
||||
{"matrix": [8, 4], "x": 13.5, "y": 2, "w": 1.5},
|
||||
{"matrix": [9, 6], "x": 15, "y": 2},
|
||||
{"matrix": [9, 2], "x": 16, "y": 2},
|
||||
{"matrix": [9, 1], "x": 17, "y": 2},
|
||||
{"matrix": [9, 0], "x": 18, "y": 2, "h": 2},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 3},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 3},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 3},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 3},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 3},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 3},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 3},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 3},
|
||||
{"matrix": [8, 8], "x": 9.75, "y": 3},
|
||||
{"matrix": [8, 7], "x": 10.75, "y": 3},
|
||||
{"matrix": [8, 5], "x": 11.75, "y": 3},
|
||||
{"matrix": [9, 3], "x": 12.75, "y": 3, "w": 2.25},
|
||||
{"matrix": [8, 6], "x": 15, "y": 3},
|
||||
{"matrix": [8, 2], "x": 16, "y": 3},
|
||||
{"matrix": [8, 1], "x": 17, "y": 3},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25},
|
||||
{"matrix": [1, 2], "x": 2.25, "y": 4},
|
||||
{"matrix": [1, 3], "x": 3.25, "y": 4},
|
||||
{"matrix": [1, 4], "x": 4.25, "y": 4},
|
||||
{"matrix": [1, 5], "x": 5.25, "y": 4},
|
||||
{"matrix": [1, 6], "x": 6.25, "y": 4},
|
||||
{"matrix": [1, 7], "x": 7.25, "y": 4},
|
||||
{"matrix": [1, 8], "x": 8.25, "y": 4},
|
||||
{"matrix": [7, 8], "x": 9.25, "y": 4},
|
||||
{"matrix": [7, 7], "x": 10.25, "y": 4},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 4},
|
||||
{"matrix": [7, 4], "x": 12.25, "y": 4, "w": 1.75},
|
||||
{"matrix": [7, 3], "x": 14, "y": 4},
|
||||
{"matrix": [7, 6], "x": 15, "y": 4},
|
||||
{"matrix": [7, 2], "x": 16, "y": 4},
|
||||
{"matrix": [7, 1], "x": 17, "y": 4},
|
||||
{"matrix": [7, 0], "x": 18, "y": 4, "h": 2},
|
||||
|
||||
{"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25},
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25},
|
||||
{"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25},
|
||||
{"matrix": [0, 6], "x": 3.75, "y": 5, "w": 6.25},
|
||||
{"matrix": [0, 8], "x": 10, "y": 5},
|
||||
{"matrix": [0, 7], "x": 11, "y": 5},
|
||||
{"matrix": [0, 5], "x": 12, "y": 5},
|
||||
{"matrix": [0, 4], "x": 13, "y": 5},
|
||||
{"matrix": [0, 3], "x": 14, "y": 5},
|
||||
{"matrix": [6, 6], "x": 15, "y": 5},
|
||||
{"matrix": [6, 2], "x": 16, "y": 5},
|
||||
{"matrix": [6, 1], "x": 17, "y": 5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user