d589dbb05b31a318086cbf01588230831140d95f
- Author
- Guido Bartolucci <guido@bartolucci.org>
- Committer
- GitHub <noreply@github.com>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/keyboards/vt40/keyboard.json b/keyboards/vt40/keyboard.json
2new file mode 100644
3index 0000000000000000000000000000000000000000..4a8178b8d594934c49abfb1ca9ff945c15b23151
4--- /dev/null
5+++ b/keyboards/vt40/keyboard.json
6@@ -0,0 +1,91 @@
7+{
8+ "manufacturer": "vladantrhlik",
9+ "keyboard_name": "vt40",
10+ "maintainer": "vladantrhlik",
11+ "bootloader": "rp2040",
12+ "diode_direction": "COL2ROW",
13+ "features": {
14+ "bootmagic": true,
15+ "command": false,
16+ "console": false,
17+ "encoder": true,
18+ "extrakey": true,
19+ "mousekey": true,
20+ "nkro": true
21+ },
22+ "matrix_pins": {
23+ "cols": ["GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP21", "GP20", "GP19", "GP18", "GP22"],
24+ "rows": ["GP2", "GP3", "GP4", "GP5"]
25+ },
26+ "encoder": {
27+ "rotary": [
28+ {"pin_a": "GP26", "pin_b": "GP16"},
29+ {"pin_a": "GP27", "pin_b": "GP17"},
30+ ]
31+ },
32+ "processor": "RP2040",
33+ "url": "https://github.com/vladantrhlik/VT-40",
34+ "usb": {
35+ "device_version": "1.0.0",
36+ "pid": "0x0000",
37+ "vid": "0xFEED"
38+ },
39+ "community_layouts": ["ortho_4x12"],
40+ "layouts": {
41+ "LAYOUT_ortho_4x12": {
42+ "layout": [
43+ {"label": "Tab", "matrix": [0, 0], "x": 0, "y": 0},
44+ {"label": "Q", "matrix": [0, 1], "x": 1, "y": 0},
45+ {"label": "W", "matrix": [0, 2], "x": 2, "y": 0},
46+ {"label": "E", "matrix": [0, 3], "x": 3, "y": 0},
47+ {"label": "R", "matrix": [0, 4], "x": 4, "y": 0},
48+ {"label": "T", "matrix": [0, 5], "x": 5, "y": 0},
49+ {"label": "Y", "matrix": [0, 6], "x": 6, "y": 0},
50+ {"label": "U", "matrix": [0, 7], "x": 7, "y": 0},
51+ {"label": "I", "matrix": [0, 8], "x": 8, "y": 0},
52+ {"label": "O", "matrix": [0, 9], "x": 9, "y": 0},
53+ {"label": "P", "matrix": [0, 10], "x": 10, "y": 0},
54+ {"label": "BackSpace", "matrix": [0, 11], "x": 11, "y": 0},
55+
56+ {"label": "Esc", "matrix": [1, 0], "x": 0, "y": 1},
57+ {"label": "A", "matrix": [1, 1], "x": 1, "y": 1},
58+ {"label": "S", "matrix": [1, 2], "x": 2, "y": 1},
59+ {"label": "D", "matrix": [1, 3], "x": 3, "y": 1},
60+ {"label": "F", "matrix": [1, 4], "x": 4, "y": 1},
61+ {"label": "G", "matrix": [1, 5], "x": 5, "y": 1},
62+ {"label": "H", "matrix": [1, 6], "x": 6, "y": 1},
63+ {"label": "J", "matrix": [1, 7], "x": 7, "y": 1},
64+ {"label": "K", "matrix": [1, 8], "x": 8, "y": 1},
65+ {"label": "L", "matrix": [1, 9], "x": 9, "y": 1},
66+ {"label": ";", "matrix": [1, 10], "x": 10, "y": 1},
67+ {"label": "'", "matrix": [1, 11], "x": 11, "y": 1},
68+
69+ {"label": "Shift", "matrix": [2, 0], "x": 0, "y": 2},
70+ {"label": "Z", "matrix": [2, 1], "x": 1, "y": 2},
71+ {"label": "X", "matrix": [2, 2], "x": 2, "y": 2},
72+ {"label": "C", "matrix": [2, 3], "x": 3, "y": 2},
73+ {"label": "V", "matrix": [2, 4], "x": 4, "y": 2},
74+ {"label": "B", "matrix": [2, 5], "x": 5, "y": 2},
75+ {"label": "N", "matrix": [2, 6], "x": 6, "y": 2},
76+ {"label": "M", "matrix": [2, 7], "x": 7, "y": 2},
77+ {"label": ",", "matrix": [2, 8], "x": 8, "y": 2},
78+ {"label": ".", "matrix": [2, 9], "x": 9, "y": 2},
79+ {"label": "/", "matrix": [2, 10], "x": 10, "y": 2},
80+ {"label": "Return", "matrix": [2, 11], "x": 11, "y": 2},
81+
82+ {"matrix": [3, 0], "x": 0, "y": 3},
83+ {"label": "Ctrl", "matrix": [3, 1], "x": 1, "y": 3},
84+ {"label": "Alt", "matrix": [3, 2], "x": 2, "y": 3},
85+ {"label": "Super", "matrix": [3, 3], "x": 3, "y": 3},
86+ {"label": "⇓", "matrix": [3, 4], "x": 4, "y": 3},
87+ {"matrix": [3, 5], "x": 5, "y": 3},
88+ {"matrix": [3, 6], "x": 6, "y": 3},
89+ {"label": "⇑", "matrix": [3, 7], "x": 7, "y": 3},
90+ {"label": "←", "matrix": [3, 8], "x": 8, "y": 3},
91+ {"label": "↓", "matrix": [3, 9], "x": 9, "y": 3},
92+ {"label": "↑", "matrix": [3, 10], "x": 10, "y": 3},
93+ {"label": "→", "matrix": [3, 11], "x": 11, "y": 3}
94+ ]
95+ }
96+ }
97+}
98diff --git a/keyboards/vt40/keymaps/default/keymap.c b/keyboards/vt40/keymaps/default/keymap.c
99new file mode 100644
100index 0000000000000000000000000000000000000000..95bd31083fd8efa618f50c2bb86d9d75464f3c21
101--- /dev/null
102+++ b/keyboards/vt40/keymaps/default/keymap.c
103@@ -0,0 +1,144 @@
104+// Copyright 2023 QMK
105+// SPDX-License-Identifier: GPL-2.0-or-later
106+
107+#include QMK_KEYBOARD_H
108+
109+
110+enum layers {
111+ _QWERTY,
112+ _COLEMAK,
113+ _DVORAK,
114+ _LOWER,
115+ _RAISE,
116+ _ADJUST
117+};
118+
119+#define LOWER MO(_LOWER)
120+#define RAISE MO(_RAISE)
121+#define ADJUST MO(_ADJUST)
122+#define QWERTY PDF(_QWERTY)
123+#define COLEMAK PDF(_COLEMAK)
124+#define DVORAK PDF(_DVORAK)
125+
126+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
127+
128+ /* Qwerty
129+ * ,-----------------------------------------------------------------------------------.
130+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
131+ * |------+------+------+------+------+-------------+------+------+------+------+------|
132+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
133+ * |------+------+------+------+------+------|------+------+------+------+------+------|
134+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
135+ * |------+------+------+------+------+------+------+------+------+------+------+------|
136+ * | Caps | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
137+ * `-----------------------------------------------------------------------------------'
138+ */
139+ [_QWERTY] = LAYOUT_ortho_4x12(
140+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
141+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
142+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
143+ KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
144+ ),
145+
146+ /* Colemak
147+ * ,-----------------------------------------------------------------------------------.
148+ * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
149+ * |------+------+------+------+------+-------------+------+------+------+------+------|
150+ * | Esc | A | R | S | T | D | H | N | E | I | O | " |
151+ * |------+------+------+------+------+------|------+------+------+------+------+------|
152+ * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
153+ * |------+------+------+------+------+------+------+------+------+------+------+------|
154+ * | Caps | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
155+ * `-----------------------------------------------------------------------------------'
156+ */
157+ [_COLEMAK] = LAYOUT_ortho_4x12(
158+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
159+ KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
160+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
161+ KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
162+ ),
163+
164+ /* Dvorak
165+ * ,-----------------------------------------------------------------------------------.
166+ * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
167+ * |------+------+------+------+------+-------------+------+------+------+------+------|
168+ * | Esc | A | O | E | U | I | D | H | T | N | S | / |
169+ * |------+------+------+------+------+------|------+------+------+------+------+------|
170+ * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
171+ * |------+------+------+------+------+------+------+------+------+------+------+------|
172+ * | Caps | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
173+ * `-----------------------------------------------------------------------------------'
174+ */
175+ [_DVORAK] = LAYOUT_ortho_4x12(
176+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
177+ KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
178+ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
179+ KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
180+ ),
181+
182+ /* Lower
183+ * ,-----------------------------------------------------------------------------------.
184+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
185+ * |------+------+------+------+------+-------------+------+------+------+------+------|
186+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
187+ * |------+------+------+------+------+------|------+------+------+------+------+------|
188+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
189+ * |------+------+------+------+------+------+------+------+------+------+------+------|
190+ * | | | | | | | | | Next | Vol- | Vol+ | Play |
191+ * `-----------------------------------------------------------------------------------'
192+ */
193+ [_LOWER] = LAYOUT_ortho_4x12(
194+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
195+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
196+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
197+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
198+ ),
199+
200+ /* Raise
201+ * ,-----------------------------------------------------------------------------------.
202+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
203diff --git a/keyboards/vt40/keymaps/default/rules.mk b/keyboards/vt40/keymaps/default/rules.mk
204new file mode 100644
205index 0000000000000000000000000000000000000000..ee325681483fbd804de1e14be33c47719c65bc71
206--- /dev/null
207+++ b/keyboards/vt40/keymaps/default/rules.mk
208@@ -0,0 +1 @@
209+ENCODER_MAP_ENABLE = yes
210diff --git a/keyboards/vt40/readme.md b/keyboards/vt40/readme.md
211new file mode 100644
212index 0000000000000000000000000000000000000000..0d87b011345a3dfa80d4726a0f16ef6fcb3f460f
213--- /dev/null
214+++ b/keyboards/vt40/readme.md
215@@ -0,0 +1,24 @@
216+# VT-40
217+
218+* Keyboard Maintainer: [Guido Bartolucci](https://github.com/guidoism)
219+* Hardware Supported: Raspberry Pi Pico (RP2040)
220+* Hardware Availability: https://github.com/vladantrhlik/VT-40
221+
222+Make example for this keyboard (after setting up your build environment):
223+
224+ make vt40:default
225+
226+Flashing example for this keyboard:
227+
228+ make vt40:default:flash
229+