summaryrefslogtreecommitdiff
path: root/keyboards/function96
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/function96')
-rw-r--r--keyboards/function96/v1/keyboard.json137
-rw-r--r--keyboards/function96/v1/keymaps/default/keymap.c44
-rw-r--r--keyboards/function96/v1/mcuconf.h27
-rw-r--r--keyboards/function96/v1/readme.md13
-rw-r--r--keyboards/function96/v2/keyboard.json594
-rw-r--r--keyboards/function96/v2/keymaps/ansi_splitspace/keymap.c44
-rw-r--r--keyboards/function96/v2/keymaps/default/keymap.c36
-rw-r--r--keyboards/function96/v2/keymaps/iso/keymap.c36
-rw-r--r--keyboards/function96/v2/keymaps/iso_splitspace/keymap.c44
-rw-r--r--keyboards/function96/v2/mcuconf.h27
-rw-r--r--keyboards/function96/v2/readme.md13
11 files changed, 1015 insertions, 0 deletions
diff --git a/keyboards/function96/v1/keyboard.json b/keyboards/function96/v1/keyboard.json
new file mode 100644
index 0000000000..7a1367a30c
--- /dev/null
+++ b/keyboards/function96/v1/keyboard.json
@@ -0,0 +1,137 @@
1{
2 "keyboard_name": "function96v1",
3 "manufacturer": "JTM",
4 "url": "jtmkeebdesign@gmail.com",
5 "maintainer": "qmk",
6 "usb": {
7 "vid": "0xFEED",
8 "pid": "0x672A",
9 "device_version": "0.0.1"
10 },
11 "features": {
12 "bootmagic": true,
13 "extrakey": true,
14 "mousekey": false,
15 "nkro": true
16 },
17 "matrix_pins": {
18 "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B12", "A13", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8"],
19 "rows": ["F1", "F0", "C15", "C14", "C13", "B9"]
20 },
21 "diode_direction": "COL2ROW",
22 "processor": "STM32F072",
23 "bootloader": "stm32-dfu",
24 "layouts": {
25 "LAYOUT": {
26 "layout": [
27 {"matrix": [0, 0], "x": 0, "y": 0},
28 {"matrix": [0, 1], "x": 1, "y": 0},
29 {"matrix": [0, 2], "x": 2, "y": 0},
30 {"matrix": [0, 3], "x": 3, "y": 0},
31 {"matrix": [0, 4], "x": 4, "y": 0},
32 {"matrix": [0, 5], "x": 5, "y": 0},
33 {"matrix": [0, 6], "x": 6, "y": 0},
34 {"matrix": [0, 7], "x": 7, "y": 0},
35 {"matrix": [0, 8], "x": 8, "y": 0},
36 {"matrix": [0, 9], "x": 9, "y": 0},
37 {"matrix": [0, 10], "x": 10, "y": 0},
38 {"matrix": [0, 11], "x": 11, "y": 0},
39 {"matrix": [0, 12], "x": 12, "y": 0},
40 {"matrix": [0, 13], "x": 13, "y": 0},
41 {"matrix": [0, 14], "x": 14, "y": 0},
42 {"matrix": [0, 15], "x": 15, "y": 0},
43 {"matrix": [0, 16], "x": 16, "y": 0},
44 {"matrix": [0, 17], "x": 17, "y": 0},
45 {"matrix": [0, 18], "x": 18, "y": 0},
46
47 {"matrix": [1, 0], "x": 0, "y": 1},
48 {"matrix": [1, 1], "x": 1, "y": 1},
49 {"matrix": [1, 2], "x": 2, "y": 1},
50 {"matrix": [1, 3], "x": 3, "y": 1},
51 {"matrix": [1, 4], "x": 4, "y": 1},
52 {"matrix": [1, 5], "x": 5, "y": 1},
53 {"matrix": [1, 6], "x": 6, "y": 1},
54 {"matrix": [1, 7], "x": 7, "y": 1},
55 {"matrix": [1, 8], "x": 8, "y": 1},
56 {"matrix": [1, 9], "x": 9, "y": 1},
57 {"matrix": [1, 10], "x": 10, "y": 1},
58 {"matrix": [1, 11], "x": 11, "y": 1},
59 {"matrix": [1, 12], "x": 12, "y": 1},
60 {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
61 {"matrix": [1, 15], "x": 15, "y": 1},
62 {"matrix": [1, 16], "x": 16, "y": 1},
63 {"matrix": [1, 17], "x": 17, "y": 1},
64 {"matrix": [1, 18], "x": 18, "y": 1},
65
66 {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
67 {"matrix": [2, 1], "x": 1.5, "y": 2},
68 {"matrix": [2, 2], "x": 2.5, "y": 2},
69 {"matrix": [2, 3], "x": 3.5, "y": 2},
70 {"matrix": [2, 4], "x": 4.5, "y": 2},
71 {"matrix": [2, 5], "x": 5.5, "y": 2},
72 {"matrix": [2, 6], "x": 6.5, "y": 2},
73 {"matrix": [2, 7], "x": 7.5, "y": 2},
74 {"matrix": [2, 8], "x": 8.5, "y": 2},
75 {"matrix": [2, 9], "x": 9.5, "y": 2},
76 {"matrix": [2, 10], "x": 10.5, "y": 2},
77 {"matrix": [2, 11], "x": 11.5, "y": 2},
78 {"matrix": [2, 12], "x": 12.5, "y": 2},
79 {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5},
80 {"matrix": [2, 15], "x": 15, "y": 2},
81 {"matrix": [2, 16], "x": 16, "y": 2},
82 {"matrix": [2, 17], "x": 17, "y": 2},
83 {"matrix": [2, 18], "x": 18, "y": 2, "h": 2},
84
85 {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
86 {"matrix": [3, 1], "x": 1.75, "y": 3},
87 {"matrix": [3, 2], "x": 2.75, "y": 3},
88 {"matrix": [3, 3], "x": 3.75, "y": 3},
89 {"matrix": [3, 4], "x": 4.75, "y": 3},
90 {"matrix": [3, 5], "x": 5.75, "y": 3},
91 {"matrix": [3, 6], "x": 6.75, "y": 3},
92 {"matrix": [3, 7], "x": 7.75, "y": 3},
93 {"matrix": [3, 8], "x": 8.75, "y": 3},
94 {"matrix": [3, 9], "x": 9.75, "y": 3},
95 {"matrix": [3, 10], "x": 10.75, "y": 3},
96 {"matrix": [3, 11], "x": 11.75, "y": 3},
97 {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
98 {"matrix": [3, 15], "x": 15, "y": 3},
99 {"matrix": [3, 16], "x": 16, "y": 3},
100 {"matrix": [3, 17], "x": 17, "y": 3},
101
102 {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
103 {"matrix": [4, 1], "x": 2.25, "y": 4},
104 {"matrix": [4, 2], "x": 3.25, "y": 4},
105 {"matrix": [4, 3], "x": 4.25, "y": 4},
106 {"matrix": [4, 4], "x": 5.25, "y": 4},
107 {"matrix": [4, 5], "x": 6.25, "y": 4},
108 {"matrix": [4, 6], "x": 7.25, "y": 4},
109 {"matrix": [4, 7], "x": 8.25, "y": 4},
110 {"matrix": [4, 8], "x": 9.25, "y": 4},
111 {"matrix": [4, 9], "x": 10.25, "y": 4},
112 {"matrix": [4, 10], "x": 11.25, "y": 4},
113 {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
114 {"matrix": [4, 14], "x": 14, "y": 4},
115 {"matrix": [4, 15], "x": 15, "y": 4},
116 {"matrix": [4, 16], "x": 16, "y": 4},
117 {"matrix": [4, 17], "x": 17, "y": 4},
118 {"matrix": [4, 18], "x": 18, "y": 4, "h": 2},
119
120 {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
121 {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
122 {"matrix": [5, 3], "x": 2.5, "y": 5, "w": 1.25},
123 {"matrix": [5, 4], "x": 3.75, "y": 5, "w": 2.25},
124 {"matrix": [5, 6], "x": 6, "y": 5, "w": 1.25},
125 {"matrix": [5, 8], "x": 7.25, "y": 5, "w": 2.75},
126 {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.25},
127 {"matrix": [5, 11], "x": 11.25, "y": 5, "w": 1.25},
128
129 {"matrix": [5, 13], "x": 13, "y": 5},
130 {"matrix": [5, 14], "x": 14, "y": 5},
131 {"matrix": [5, 15], "x": 15, "y": 5},
132 {"matrix": [5, 16], "x": 16, "y": 5},
133 {"matrix": [5, 17], "x": 17, "y": 5}
134 ]
135 }
136 }
137}
diff --git a/keyboards/function96/v1/keymaps/default/keymap.c b/keyboards/function96/v1/keymaps/default/keymap.c
new file mode 100644
index 0000000000..fd7990c37e
--- /dev/null
+++ b/keyboards/function96/v1/keymaps/default/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2020 Matt3o
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT(
20 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_DEL, KC_MPRV, KC_MNXT, KC_VOLU, KC_VOLD,
21 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_MPLY, KC_PSLS, KC_PAST, KC_PMNS,
22 KC_TAB , KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
24 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
25 KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, MO(2), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
26 ),
27
28 [1] = LAYOUT(
29 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
30 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
31 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
32 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
33 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
34 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
35 ),
36 [2] = LAYOUT(
37 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
38 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
39 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
40 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
41 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
42 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
43 )
44};
diff --git a/keyboards/function96/v1/mcuconf.h b/keyboards/function96/v1/mcuconf.h
new file mode 100644
index 0000000000..a25879aeff
--- /dev/null
+++ b/keyboards/function96/v1/mcuconf.h
@@ -0,0 +1,27 @@
1/* Copyright 2020 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/function96/v2/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
20 */
21
22#pragma once
23
24#include_next <mcuconf.h>
25
26#undef STM32_PWM_USE_TIM3
27#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/function96/v1/readme.md b/keyboards/function96/v1/readme.md
new file mode 100644
index 0000000000..89a17458e0
--- /dev/null
+++ b/keyboards/function96/v1/readme.md
@@ -0,0 +1,13 @@
1# Function96
2
3This Function96 is a passion project of JTM. It's meant to give the user the maximum usability of the space allocated by the keyboard while also giving the option of using the numpad.
4
5* Keyboard Maintainer: The QMK Community
6* Hardware Supported: Function96v1
7* Hardware Availability: Limited Groupbuy that ended on 8/14/2020, https://www.reddit.com/r/mechmarket/comments/i7wwh4/gb_function96_prototype/
8
9Make example for this keyboard (after setting up your build environment):
10
11 make function96/v1:default
12
13See 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).
diff --git a/keyboards/function96/v2/keyboard.json b/keyboards/function96/v2/keyboard.json
new file mode 100644
index 0000000000..bbb508ec91
--- /dev/null
+++ b/keyboards/function96/v2/keyboard.json
@@ -0,0 +1,594 @@
1{
2 "keyboard_name": "function96v2",
3 "manufacturer": "JTMDesign",
4 "url": "jtmkeebdesign@gmail.com",
5 "maintainer": "qmk",
6 "usb": {
7 "vid": "0x2A34",
8 "pid": "0x672B",
9 "device_version": "0.0.2"
10 },
11 "features": {
12 "bootmagic": true,
13 "extrakey": true,
14 "mousekey": false,
15 "nkro": true
16 },
17 "matrix_pins": {
18 "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B11", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9"],
19 "rows": ["A9", "A8", "B15", "B14", "B13", "B12"]
20 },
21 "diode_direction": "COL2ROW",
22 "processor": "STM32F072",
23 "bootloader": "stm32-dfu",
24 "layouts": {
25 "LAYOUT_all": {
26 "layout": [
27 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
28
29 {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
30 {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
31 {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
32 {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
33
34 {"label": "F5", "matrix": [0, 6], "x": 5.5, "y": 0},
35 {"label": "F6", "matrix": [0, 7], "x": 6.5, "y": 0},
36 {"label": "F7", "matrix": [0, 8], "x": 7.5, "y": 0},
37 {"label": "F8", "matrix": [0, 9], "x": 8.5, "y": 0},
38
39 {"label": "F9", "matrix": [0, 10], "x": 9.75, "y": 0},
40 {"label": "F10", "matrix": [0, 11], "x": 10.75, "y": 0},
41 {"label": "F11", "matrix": [0, 12], "x": 11.75, "y": 0},
42 {"label": "F12", "matrix": [0, 13], "x": 12.75, "y": 0},
43
44 {"label": "Del", "matrix": [0, 14], "x": 14, "y": 0},
45 {"label": "Prev", "matrix": [0, 15], "x": 15, "y": 0},
46 {"label": "Next", "matrix": [0, 16], "x": 16, "y": 0},
47 {"label": "Vol -", "matrix": [0, 17], "x": 17, "y": 0},
48 {"label": "Vol +", "matrix": [0, 18], "x": 18, "y": 0},
49
50 {"label": "\u00ac", "matrix": [1, 0], "x": 0, "y": 1},
51 {"label": "!", "matrix": [1, 1], "x": 1, "y": 1},
52 {"label": "\"", "matrix": [1, 2], "x": 2, "y": 1},
53 {"label": "\u00a3", "matrix": [1, 3], "x": 3, "y": 1},
54 {"label": "$", "matrix": [1, 4], "x": 4, "y": 1},
55 {"label": "%", "matrix": [1, 5], "x": 5, "y": 1},
56 {"label": "^", "matrix": [1, 6], "x": 6, "y": 1},
57 {"label": "&", "matrix": [1, 7], "x": 7, "y": 1},
58 {"label": "*", "matrix": [1, 8], "x": 8, "y": 1},
59 {"label": "(", "matrix": [1, 9], "x": 9, "y": 1},
60 {"label": ")", "matrix": [1, 10], "x": 10, "y": 1},
61 {"label": "_", "matrix": [1, 11], "x": 11, "y": 1},
62 {"label": "+", "matrix": [1, 12], "x": 12, "y": 1},
63 {"label": "Backspace", "matrix": [1, 14], "x": 13, "y": 1, "w": 2},
64 {"label": "Play", "matrix": [1, 15], "x": 15, "y": 1},
65 {"label": "/", "matrix": [1, 16], "x": 16, "y": 1},
66 {"label": "*", "matrix": [1, 17], "x": 17, "y": 1},
67 {"label": "-", "matrix": [1, 18], "x": 18, "y": 1},
68
69 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
70 {"label": "Q", "matrix": [2, 2], "x": 1.5, "y": 2},
71 {"label": "W", "matrix": [2, 3], "x": 2.5, "y": 2},
72 {"label": "E", "matrix": [2, 4], "x": 3.5, "y": 2},
73 {"label": "R", "matrix": [2, 5], "x": 4.5, "y": 2},
74 {"label": "T", "matrix": [2, 6], "x": 5.5, "y": 2},
75 {"label": "Y", "matrix": [2, 7], "x": 6.5, "y": 2},
76 {"label": "U", "matrix": [2, 8], "x": 7.5, "y": 2},
77 {"label": "I", "matrix": [2, 9], "x": 8.5, "y": 2},
78 {"label": "O", "matrix": [2, 10], "x": 9.5, "y": 2},
79 {"label": "P", "matrix": [2, 11], "x": 10.5, "y": 2},
80 {"label": "{", "matrix": [2, 12], "x": 11.5, "y": 2},
81 {"label": "}", "matrix": [2, 13], "x": 12.5, "y": 2},
82 {"label": "|", "matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5},
83 {"label": "7", "matrix": [2, 15], "x": 15, "y": 2},
84 {"label": "8", "matrix": [2, 16], "x": 16, "y": 2},
85 {"label": "9", "matrix": [2, 17], "x": 17, "y": 2},
86
87 {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
88 {"label": "A", "matrix": [3, 2], "x": 1.75, "y": 3},
89 {"label": "S", "matrix": [3, 3], "x": 2.75, "y": 3},
90 {"label": "D", "matrix": [3, 4], "x": 3.75, "y": 3},
91 {"label": "F", "matrix": [3, 5], "x": 4.75, "y": 3},
92 {"label": "G", "matrix": [3, 6], "x": 5.75, "y": 3},
93 {"label": "H", "matrix": [3, 7], "x": 6.75, "y": 3},
94 {"label": "J", "matrix": [3, 8], "x": 7.75, "y": 3},
95 {"label": "K", "matrix": [3, 9], "x": 8.75, "y": 3},
96 {"label": "L", "matrix": [3, 10], "x": 9.75, "y": 3},
97 {"label": ":", "matrix": [3, 11], "x": 10.75, "y": 3},
98 {"label": "@", "matrix": [3, 12], "x": 11.75, "y": 3},
99 {"label": "~", "matrix": [3, 13], "x": 12.75, "y": 3},
100 {"label": "Enter", "matrix": [3, 14], "x": 13.75, "y": 3, "w": 1.25},
101 {"label": "4", "matrix": [3, 15], "x": 15, "y": 3},
102 {"label": "5", "matrix": [3, 16], "x": 16, "y": 3},
103 {"label": "6", "matrix": [3, 17], "x": 17, "y": 3},
104 {"label": "+", "matrix": [3, 18], "x": 18, "y": 2, "h": 2},
105
106 {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
107 {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4},
108 {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4},
109 {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4},
110 {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4},
111 {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4},
112 {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4},
113 {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4},
114 {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4},
115 {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4},
116 {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4},
117 {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4},
118 {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
119 {"label": "\u2191", "matrix": [4, 14], "x": 14, "y": 4},
120 {"label": "1", "matrix": [4, 15], "x": 15, "y": 4},
121 {"label": "2", "matrix": [4, 16], "x": 16, "y": 4},
122 {"label": "3", "matrix": [4, 17], "x": 17, "y": 4},
123
124 {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
125 {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
126 {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
127 {"label": "Space", "matrix": [5, 4], "x": 3.75, "y": 5, "w": 2.25},
128 {"label": "Layer", "matrix": [5, 6], "x": 6, "y": 5, "w": 1.25},
129 {"label": "Space", "matrix": [5, 8], "x": 7.25, "y": 5, "w": 2.75},
130 {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 5, "w": 1.25},
131 {"label": "Win", "matrix": [5, 11], "x": 11.25, "y": 5, "w": 1.25},
132
133 {"label": "\u2190", "matrix": [5, 12], "x": 13, "y": 5},
134 {"label": "\u2193", "matrix": [5, 14], "x": 14, "y": 5},
135 {"label": "\u2192", "matrix": [5, 15], "x": 15, "y": 5},
136 {"label": "0", "matrix": [5, 16], "x": 16, "y": 5},
137 {"label": ".", "matrix": [5, 17], "x": 17, "y": 5},
138 {"label": "Enter", "matrix": [5, 18], "x": 18, "y": 4, "h": 2}
139 ]
140 },
141 "LAYOUT_default": {
142 "layout": [
143 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
144
145 {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
146 {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
147 {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
148 {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
149
150 {"label": "F5", "matrix": [0, 6], "x": 5.5, "y": 0},
151 {"label": "F6", "matrix": [0, 7], "x": 6.5, "y": 0},
152 {"label": "F7", "matrix": [0, 8], "x": 7.5, "y": 0},
153 {"label": "F8", "matrix": [0, 9], "x": 8.5, "y": 0},
154
155 {"label": "F9", "matrix": [0, 10], "x": 9.75, "y": 0},
156 {"label": "F10", "matrix": [0, 11], "x": 10.75, "y": 0},
157 {"label": "F11", "matrix": [0, 12], "x": 11.75, "y": 0},
158 {"label": "F12", "matrix": [0, 13], "x": 12.75, "y": 0},
159
160 {"label": "Del", "matrix": [0, 14], "x": 14, "y": 0},
161 {"label": "Prev", "matrix": [0, 15], "x": 15, "y": 0},
162 {"label": "Next", "matrix": [0, 16], "x": 16, "y": 0},
163 {"label": "Vol -", "matrix": [0, 17], "x": 17, "y": 0},
164 {"label": "Vol +", "matrix": [0, 18], "x": 18, "y": 0},
165
166 {"label": "\u00ac", "matrix": [1, 0], "x": 0, "y": 1},
167 {"label": "!", "matrix": [1, 1], "x": 1, "y": 1},
168 {"label": "\"", "matrix": [1, 2], "x": 2, "y": 1},
169 {"label": "\u00a3", "matrix": [1, 3], "x": 3, "y": 1},
170 {"label": "$", "matrix": [1, 4], "x": 4, "y": 1},
171 {"label": "%", "matrix": [1, 5], "x": 5, "y": 1},
172 {"label": "^", "matrix": [1, 6], "x": 6, "y": 1},
173 {"label": "&", "matrix": [1, 7], "x": 7, "y": 1},
174 {"label": "*", "matrix": [1, 8], "x": 8, "y": 1},
175 {"label": "(", "matrix": [1, 9], "x": 9, "y": 1},
176 {"label": ")", "matrix": [1, 10], "x": 10, "y": 1},
177 {"label": "_", "matrix": [1, 11], "x": 11, "y": 1},
178 {"label": "+", "matrix": [1, 12], "x": 12, "y": 1},
179 {"label": "Backspace", "matrix": [1, 14], "x": 13, "y": 1, "w": 2},
180 {"label": "Play", "matrix": [1, 15], "x": 15, "y": 1},
181 {"label": "/", "matrix": [1, 16], "x": 16, "y": 1},
182 {"label": "*", "matrix": [1, 17], "x": 17, "y": 1},
183 {"label": "-", "matrix": [1, 18], "x": 18, "y": 1},
184
185 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
186 {"label": "Q", "matrix": [2, 2], "x": 1.5, "y": 2},
187 {"label": "W", "matrix": [2, 3], "x": 2.5, "y": 2},
188 {"label": "E", "matrix": [2, 4], "x": 3.5, "y": 2},
189 {"label": "R", "matrix": [2, 5], "x": 4.5, "y": 2},
190 {"label": "T", "matrix": [2, 6], "x": 5.5, "y": 2},
191 {"label": "Y", "matrix": [2, 7], "x": 6.5, "y": 2},
192 {"label": "U", "matrix": [2, 8], "x": 7.5, "y": 2},
193 {"label": "I", "matrix": [2, 9], "x": 8.5, "y": 2},
194 {"label": "O", "matrix": [2, 10], "x": 9.5, "y": 2},
195 {"label": "P", "matrix": [2, 11], "x": 10.5, "y": 2},
196 {"label": "{", "matrix": [2, 12], "x": 11.5, "y": 2},
197 {"label": "}", "matrix": [2, 13], "x": 12.5, "y": 2},
198 {"label": "|", "matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5},
199 {"label": "7", "matrix": [2, 15], "x": 15, "y": 2},
200 {"label": "8", "matrix": [2, 16], "x": 16, "y": 2},
201 {"label": "9", "matrix": [2, 17], "x": 17, "y": 2},
202 {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
203 {"label": "A", "matrix": [3, 2], "x": 1.75, "y": 3},
204 {"label": "S", "matrix": [3, 3], "x": 2.75, "y": 3},
205 {"label": "D", "matrix": [3, 4], "x": 3.75, "y": 3},
206 {"label": "F", "matrix": [3, 5], "x": 4.75, "y": 3},
207 {"label": "G", "matrix": [3, 6], "x": 5.75, "y": 3},
208 {"label": "H", "matrix": [3, 7], "x": 6.75, "y": 3},
209 {"label": "J", "matrix": [3, 8], "x": 7.75, "y": 3},
210 {"label": "K", "matrix": [3, 9], "x": 8.75, "y": 3},
211 {"label": "L", "matrix": [3, 10], "x": 9.75, "y": 3},
212 {"label": ":", "matrix": [3, 11], "x": 10.75, "y": 3},
213 {"label": "@", "matrix": [3, 12], "x": 11.75, "y": 3},
214 {"label": "Enter", "matrix": [3, 14], "x": 12.75, "y": 3, "w": 2.25},
215 {"label": "4", "matrix": [3, 15], "x": 15, "y": 3},
216 {"label": "5", "matrix": [3, 16], "x": 16, "y": 3},
217 {"label": "6", "matrix": [3, 17], "x": 17, "y": 3},
218 {"label": "+", "matrix": [3, 18], "x": 18, "y": 2, "h": 2},
219
220 {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
221 {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4},
222 {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4},
223 {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4},
224 {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4},
225 {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4},
226 {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4},
227 {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4},
228 {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4},
229 {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4},
230 {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4},
231 {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
232 {"label": "\u2191", "matrix": [4, 14], "x": 14, "y": 4},
233 {"label": "1", "matrix": [4, 15], "x": 15, "y": 4},
234 {"label": "2", "matrix": [4, 16], "x": 16, "y": 4},
235 {"label": "3", "matrix": [4, 17], "x": 17, "y": 4},
236
237 {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
238 {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
239 {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
240 {"label": "6.25Space", "matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25},
241 {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 5, "w": 1.25},
242 {"label": "Win", "matrix": [5, 11], "x": 11.25, "y": 5, "w": 1.25},
243
244 {"label": "\u2190", "matrix": [5, 12], "x": 13, "y": 5},
245 {"label": "\u2193", "matrix": [5, 14], "x": 14, "y": 5},
246 {"label": "\u2192", "matrix": [5, 15], "x": 15, "y": 5},
247 {"label": "0", "matrix": [5, 16], "x": 16, "y": 5},
248 {"label": ".", "matrix": [5, 17], "x": 17, "y": 5},
249 {"label": "Enter", "matrix": [5, 18], "x": 18, "y": 4, "h": 2}
250 ]
251 },
252 "LAYOUT_ansi_splitspace": {
253 "layout": [
254 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
255
256 {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
257 {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
258 {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
259 {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
260
261 {"label": "F5", "matrix": [0, 6], "x": 5.5, "y": 0},
262 {"label": "F6", "matrix": [0, 7], "x": 6.5, "y": 0},
263 {"label": "F7", "matrix": [0, 8], "x": 7.5, "y": 0},
264 {"label": "F8", "matrix": [0, 9], "x": 8.5, "y": 0},
265
266 {"label": "F9", "matrix": [0, 10], "x": 9.75, "y": 0},
267 {"label": "F10", "matrix": [0, 11], "x": 10.75, "y": 0},
268 {"label": "F11", "matrix": [0, 12], "x": 11.75, "y": 0},
269 {"label": "F12", "matrix": [0, 13], "x": 12.75, "y": 0},
270
271 {"label": "Del", "matrix": [0, 14], "x": 14, "y": 0},
272 {"label": "Prev", "matrix": [0, 15], "x": 15, "y": 0},
273 {"label": "Next", "matrix": [0, 16], "x": 16, "y": 0},
274 {"label": "Vol -", "matrix": [0, 17], "x": 17, "y": 0},
275 {"label": "Vol +", "matrix": [0, 18], "x": 18, "y": 0},
276
277 {"label": "\u00ac", "matrix": [1, 0], "x": 0, "y": 1},
278 {"label": "!", "matrix": [1, 1], "x": 1, "y": 1},
279 {"label": "\"", "matrix": [1, 2], "x": 2, "y": 1},
280 {"label": "\u00a3", "matrix": [1, 3], "x": 3, "y": 1},
281 {"label": "$", "matrix": [1, 4], "x": 4, "y": 1},
282 {"label": "%", "matrix": [1, 5], "x": 5, "y": 1},
283 {"label": "^", "matrix": [1, 6], "x": 6, "y": 1},
284 {"label": "&", "matrix": [1, 7], "x": 7, "y": 1},
285 {"label": "*", "matrix": [1, 8], "x": 8, "y": 1},
286 {"label": "(", "matrix": [1, 9], "x": 9, "y": 1},
287 {"label": ")", "matrix": [1, 10], "x": 10, "y": 1},
288 {"label": "_", "matrix": [1, 11], "x": 11, "y": 1},
289 {"label": "+", "matrix": [1, 12], "x": 12, "y": 1},
290 {"label": "Backspace", "matrix": [1, 14], "x": 13, "y": 1, "w": 2},
291 {"label": "Play", "matrix": [1, 15], "x": 15, "y": 1},
292 {"label": "/", "matrix": [1, 16], "x": 16, "y": 1},
293 {"label": "*", "matrix": [1, 17], "x": 17, "y": 1},
294 {"label": "-", "matrix": [1, 18], "x": 18, "y": 1},
295
296 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
297 {"label": "Q", "matrix": [2, 2], "x": 1.5, "y": 2},
298 {"label": "W", "matrix": [2, 3], "x": 2.5, "y": 2},
299 {"label": "E", "matrix": [2, 4], "x": 3.5, "y": 2},
300 {"label": "R", "matrix": [2, 5], "x": 4.5, "y": 2},
301 {"label": "T", "matrix": [2, 6], "x": 5.5, "y": 2},
302 {"label": "Y", "matrix": [2, 7], "x": 6.5, "y": 2},
303 {"label": "U", "matrix": [2, 8], "x": 7.5, "y": 2},
304 {"label": "I", "matrix": [2, 9], "x": 8.5, "y": 2},
305 {"label": "O", "matrix": [2, 10], "x": 9.5, "y": 2},
306 {"label": "P", "matrix": [2, 11], "x": 10.5, "y": 2},
307 {"label": "{", "matrix": [2, 12], "x": 11.5, "y": 2},
308 {"label": "}", "matrix": [2, 13], "x": 12.5, "y": 2},
309 {"label": "|", "matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5},
310 {"label": "7", "matrix": [2, 15], "x": 15, "y": 2},
311 {"label": "8", "matrix": [2, 16], "x": 16, "y": 2},
312 {"label": "9", "matrix": [2, 17], "x": 17, "y": 2},
313
314 {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
315 {"label": "A", "matrix": [3, 2], "x": 1.75, "y": 3},
316 {"label": "S", "matrix": [3, 3], "x": 2.75, "y": 3},
317 {"label": "D", "matrix": [3, 4], "x": 3.75, "y": 3},
318 {"label": "F", "matrix": [3, 5], "x": 4.75, "y": 3},
319 {"label": "G", "matrix": [3, 6], "x": 5.75, "y": 3},
320 {"label": "H", "matrix": [3, 7], "x": 6.75, "y": 3},
321 {"label": "J", "matrix": [3, 8], "x": 7.75, "y": 3},
322 {"label": "K", "matrix": [3, 9], "x": 8.75, "y": 3},
323 {"label": "L", "matrix": [3, 10], "x": 9.75, "y": 3},
324 {"label": ":", "matrix": [3, 11], "x": 10.75, "y": 3},
325 {"label": "@", "matrix": [3, 12], "x": 11.75, "y": 3},
326 {"label": "Enter", "matrix": [3, 14], "x": 12.75, "y": 3, "w": 2.25},
327 {"label": "4", "matrix": [3, 15], "x": 15, "y": 3},
328 {"label": "5", "matrix": [3, 16], "x": 16, "y": 3},
329 {"label": "6", "matrix": [3, 17], "x": 17, "y": 3},
330 {"label": "+", "matrix": [3, 18], "x": 18, "y": 2, "h": 2},
331
332 {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
333 {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4},
334 {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4},
335 {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4},
336 {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4},
337 {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4},
338 {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4},
339 {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4},
340 {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4},
341 {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4},
342 {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4},
343 {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
344 {"label": "\u2191", "matrix": [4, 14], "x": 14, "y": 4},
345 {"label": "1", "matrix": [4, 15], "x": 15, "y": 4},
346 {"label": "2", "matrix": [4, 16], "x": 16, "y": 4},
347 {"label": "3", "matrix": [4, 17], "x": 17, "y": 4},
348
349 {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
350 {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
351 {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
352 {"label": "Space", "matrix": [5, 4], "x": 3.75, "y": 5, "w": 2.25},
353 {"label": "Layer", "matrix": [5, 6], "x": 6, "y": 5, "w": 1.25},
354 {"label": "Space", "matrix": [5, 8], "x": 7.25, "y": 5, "w": 2.75},
355 {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 5, "w": 1.25},
356 {"label": "Win", "matrix": [5, 11], "x": 11.25, "y": 5, "w": 1.25},
357
358 {"label": "\u2190", "matrix": [5, 12], "x": 13, "y": 5},
359 {"label": "\u2193", "matrix": [5, 14], "x": 14, "y": 5},
360 {"label": "\u2192", "matrix": [5, 15], "x": 15, "y": 5},
361 {"label": "0", "matrix": [5, 16], "x": 16, "y": 5},
362 {"label": ".", "matrix": [5, 17], "x": 17, "y": 5},
363 {"label": "Enter", "matrix": [5, 18], "x": 18, "y": 4, "h": 2}
364 ]
365 },
366 "LAYOUT_iso": {
367 "layout": [
368 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
369
370 {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
371 {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
372 {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
373 {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
374
375 {"label": "F5", "matrix": [0, 6], "x": 5.5, "y": 0},
376 {"label": "F6", "matrix": [0, 7], "x": 6.5, "y": 0},
377 {"label": "F7", "matrix": [0, 8], "x": 7.5, "y": 0},
378 {"label": "F8", "matrix": [0, 9], "x": 8.5, "y": 0},
379
380 {"label": "F9", "matrix": [0, 10], "x": 9.75, "y": 0},
381 {"label": "F10", "matrix": [0, 11], "x": 10.75, "y": 0},
382 {"label": "F11", "matrix": [0, 12], "x": 11.75, "y": 0},
383 {"label": "F12", "matrix": [0, 13], "x": 12.75, "y": 0},
384
385 {"label": "Del", "matrix": [0, 14], "x": 14, "y": 0},
386 {"label": "Prev", "matrix": [0, 15], "x": 15, "y": 0},
387 {"label": "Next", "matrix": [0, 16], "x": 16, "y": 0},
388 {"label": "Vol -", "matrix": [0, 17], "x": 17, "y": 0},
389 {"label": "Vol +", "matrix": [0, 18], "x": 18, "y": 0},
390
391 {"label": "\u00ac", "matrix": [1, 0], "x": 0, "y": 1},
392 {"label": "!", "matrix": [1, 1], "x": 1, "y": 1},
393 {"label": "\"", "matrix": [1, 2], "x": 2, "y": 1},
394 {"label": "\u00a3", "matrix": [1, 3], "x": 3, "y": 1},
395 {"label": "$", "matrix": [1, 4], "x": 4, "y": 1},
396 {"label": "%", "matrix": [1, 5], "x": 5, "y": 1},
397 {"label": "^", "matrix": [1, 6], "x": 6, "y": 1},
398 {"label": "&", "matrix": [1, 7], "x": 7, "y": 1},
399 {"label": "*", "matrix": [1, 8], "x": 8, "y": 1},
400 {"label": "(", "matrix": [1, 9], "x": 9, "y": 1},
401 {"label": ")", "matrix": [1, 10], "x": 10, "y": 1},
402 {"label": "_", "matrix": [1, 11], "x": 11, "y": 1},
403 {"label": "+", "matrix": [1, 12], "x": 12, "y": 1},
404 {"label": "Backspace", "matrix": [1, 14], "x": 13, "y": 1, "w": 2},
405 {"label": "Play", "matrix": [1, 15], "x": 15, "y": 1},
406 {"label": "/", "matrix": [1, 16], "x": 16, "y": 1},
407 {"label": "*", "matrix": [1, 17], "x": 17, "y": 1},
408 {"label": "-", "matrix": [1, 18], "x": 18, "y": 1},
409
410 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
411 {"label": "Q", "matrix": [2, 2], "x": 1.5, "y": 2},
412 {"label": "W", "matrix": [2, 3], "x": 2.5, "y": 2},
413 {"label": "E", "matrix": [2, 4], "x": 3.5, "y": 2},
414 {"label": "R", "matrix": [2, 5], "x": 4.5, "y": 2},
415 {"label": "T", "matrix": [2, 6], "x": 5.5, "y": 2},
416 {"label": "Y", "matrix": [2, 7], "x": 6.5, "y": 2},
417 {"label": "U", "matrix": [2, 8], "x": 7.5, "y": 2},
418 {"label": "I", "matrix": [2, 9], "x": 8.5, "y": 2},
419 {"label": "O", "matrix": [2, 10], "x": 9.5, "y": 2},
420 {"label": "P", "matrix": [2, 11], "x": 10.5, "y": 2},
421 {"label": "{", "matrix": [2, 12], "x": 11.5, "y": 2},
422 {"label": "}", "matrix": [2, 13], "x": 12.5, "y": 2},
423 {"label": "7", "matrix": [2, 15], "x": 15, "y": 2},
424 {"label": "8", "matrix": [2, 16], "x": 16, "y": 2},
425 {"label": "9", "matrix": [2, 17], "x": 17, "y": 2},
426
427 {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
428 {"label": "A", "matrix": [3, 2], "x": 1.75, "y": 3},
429 {"label": "S", "matrix": [3, 3], "x": 2.75, "y": 3},
430 {"label": "D", "matrix": [3, 4], "x": 3.75, "y": 3},
431 {"label": "F", "matrix": [3, 5], "x": 4.75, "y": 3},
432 {"label": "G", "matrix": [3, 6], "x": 5.75, "y": 3},
433 {"label": "H", "matrix": [3, 7], "x": 6.75, "y": 3},
434 {"label": "J", "matrix": [3, 8], "x": 7.75, "y": 3},
435 {"label": "K", "matrix": [3, 9], "x": 8.75, "y": 3},
436 {"label": "L", "matrix": [3, 10], "x": 9.75, "y": 3},
437 {"label": ":", "matrix": [3, 11], "x": 10.75, "y": 3},
438 {"label": "@", "matrix": [3, 12], "x": 11.75, "y": 3},
439 {"label": "~", "matrix": [3, 13], "x": 12.75, "y": 3},
440 {"label": "Enter", "matrix": [3, 14], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
441 {"label": "4", "matrix": [3, 15], "x": 15, "y": 3},
442 {"label": "5", "matrix": [3, 16], "x": 16, "y": 3},
443 {"label": "6", "matrix": [3, 17], "x": 17, "y": 3},
444 {"label": "+", "matrix": [3, 18], "x": 18, "y": 2, "h": 2},
445
446 {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
447 {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4},
448 {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4},
449 {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4},
450 {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4},
451 {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4},
452 {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4},
453 {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4},
454 {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4},
455 {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4},
456 {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4},
457 {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4},
458 {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
459 {"label": "\u2191", "matrix": [4, 14], "x": 14, "y": 4},
460 {"label": "1", "matrix": [4, 15], "x": 15, "y": 4},
461 {"label": "2", "matrix": [4, 16], "x": 16, "y": 4},
462 {"label": "3", "matrix": [4, 17], "x": 17, "y": 4},
463 {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
464 {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
465 {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
466 {"label": "6.25Space", "matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25},
467 {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 5, "w": 1.25},
468 {"label": "Win", "matrix": [5, 11], "x": 11.25, "y": 5, "w": 1.25},
469
470 {"label": "\u2190", "matrix": [5, 12], "x": 13, "y": 5},
471 {"label": "\u2193", "matrix": [5, 14], "x": 14, "y": 5},
472 {"label": "\u2192", "matrix": [5, 15], "x": 15, "y": 5},
473 {"label": "0", "matrix": [5, 16], "x": 16, "y": 5},
474 {"label": ".", "matrix": [5, 17], "x": 17, "y": 5},
475 {"label": "Enter", "matrix": [5, 18], "x": 18, "y": 4, "h": 2}
476 ]
477 },
478 "LAYOUT_iso_splitspace": {
479 "layout": [
480 {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
481
482 {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
483 {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
484 {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
485 {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
486
487 {"label": "F5", "matrix": [0, 6], "x": 5.5, "y": 0},
488 {"label": "F6", "matrix": [0, 7], "x": 6.5, "y": 0},
489 {"label": "F7", "matrix": [0, 8], "x": 7.5, "y": 0},
490 {"label": "F8", "matrix": [0, 9], "x": 8.5, "y": 0},
491
492 {"label": "F9", "matrix": [0, 10], "x": 9.75, "y": 0},
493 {"label": "F10", "matrix": [0, 11], "x": 10.75, "y": 0},
494 {"label": "F11", "matrix": [0, 12], "x": 11.75, "y": 0},
495 {"label": "F12", "matrix": [0, 13], "x": 12.75, "y": 0},
496
497 {"label": "Del", "matrix": [0, 14], "x": 14, "y": 0},
498 {"label": "Prev", "matrix": [0, 15], "x": 15, "y": 0},
499 {"label": "Next", "matrix": [0, 16], "x": 16, "y": 0},
500 {"label": "Vol -", "matrix": [0, 17], "x": 17, "y": 0},
501 {"label": "Vol +", "matrix": [0, 18], "x": 18, "y": 0},
502
503 {"label": "\u00ac", "matrix": [1, 0], "x": 0, "y": 1},
504 {"label": "!", "matrix": [1, 1], "x": 1, "y": 1},
505 {"label": "\"", "matrix": [1, 2], "x": 2, "y": 1},
506 {"label": "\u00a3", "matrix": [1, 3], "x": 3, "y": 1},
507 {"label": "$", "matrix": [1, 4], "x": 4, "y": 1},
508 {"label": "%", "matrix": [1, 5], "x": 5, "y": 1},
509 {"label": "^", "matrix": [1, 6], "x": 6, "y": 1},
510 {"label": "&", "matrix": [1, 7], "x": 7, "y": 1},
511 {"label": "*", "matrix": [1, 8], "x": 8, "y": 1},
512 {"label": "(", "matrix": [1, 9], "x": 9, "y": 1},
513 {"label": ")", "matrix": [1, 10], "x": 10, "y": 1},
514 {"label": "_", "matrix": [1, 11], "x": 11, "y": 1},
515 {"label": "+", "matrix": [1, 12], "x": 12, "y": 1},
516 {"label": "Backspace", "matrix": [1, 14], "x": 13, "y": 1, "w": 2},
517 {"label": "Play", "matrix": [1, 15], "x": 15, "y": 1},
518 {"label": "/", "matrix": [1, 16], "x": 16, "y": 1},
519 {"label": "*", "matrix": [1, 17], "x": 17, "y": 1},
520 {"label": "-", "matrix": [1, 18], "x": 18, "y": 1},
521
522 {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
523 {"label": "Q", "matrix": [2, 2], "x": 1.5, "y": 2},
524 {"label": "W", "matrix": [2, 3], "x": 2.5, "y": 2},
525 {"label": "E", "matrix": [2, 4], "x": 3.5, "y": 2},
526 {"label": "R", "matrix": [2, 5], "x": 4.5, "y": 2},
527 {"label": "T", "matrix": [2, 6], "x": 5.5, "y": 2},
528 {"label": "Y", "matrix": [2, 7], "x": 6.5, "y": 2},
529 {"label": "U", "matrix": [2, 8], "x": 7.5, "y": 2},
530 {"label": "I", "matrix": [2, 9], "x": 8.5, "y": 2},
531 {"label": "O", "matrix": [2, 10], "x": 9.5, "y": 2},
532 {"label": "P", "matrix": [2, 11], "x": 10.5, "y": 2},
533 {"label": "{", "matrix": [2, 12], "x": 11.5, "y": 2},
534 {"label": "}", "matrix": [2, 13], "x": 12.5, "y": 2},
535 {"label": "7", "matrix": [2, 15], "x": 15, "y": 2},
536 {"label": "8", "matrix": [2, 16], "x": 16, "y": 2},
537 {"label": "9", "matrix": [2, 17], "x": 17, "y": 2},
538
539 {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
540 {"label": "A", "matrix": [3, 2], "x": 1.75, "y": 3},
541 {"label": "S", "matrix": [3, 3], "x": 2.75, "y": 3},
542 {"label": "D", "matrix": [3, 4], "x": 3.75, "y": 3},
543 {"label": "F", "matrix": [3, 5], "x": 4.75, "y": 3},
544 {"label": "G", "matrix": [3, 6], "x": 5.75, "y": 3},
545 {"label": "H", "matrix": [3, 7], "x": 6.75, "y": 3},
546 {"label": "J", "matrix": [3, 8], "x": 7.75, "y": 3},
547 {"label": "K", "matrix": [3, 9], "x": 8.75, "y": 3},
548 {"label": "L", "matrix": [3, 10], "x": 9.75, "y": 3},
549 {"label": ":", "matrix": [3, 11], "x": 10.75, "y": 3},
550 {"label": "@", "matrix": [3, 12], "x": 11.75, "y": 3},
551 {"label": "~", "matrix": [3, 13], "x": 12.75, "y": 3},
552 {"label": "Enter", "matrix": [3, 14], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
553 {"label": "4", "matrix": [3, 15], "x": 15, "y": 3},
554 {"label": "5", "matrix": [3, 16], "x": 16, "y": 3},
555 {"label": "6", "matrix": [3, 17], "x": 17, "y": 3},
556 {"label": "+", "matrix": [3, 18], "x": 18, "y": 2, "h": 2},
557
558 {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
559 {"label": "|", "matrix": [4, 1], "x": 1.25, "y": 4},
560 {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4},
561 {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4},
562 {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4},
563 {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4},
564 {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4},
565 {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4},
566 {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4},
567 {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4},
568 {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4},
569 {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4},
570 {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
571 {"label": "\u2191", "matrix": [4, 14], "x": 14, "y": 4},
572 {"label": "1", "matrix": [4, 15], "x": 15, "y": 4},
573 {"label": "2", "matrix": [4, 16], "x": 16, "y": 4},
574 {"label": "3", "matrix": [4, 17], "x": 17, "y": 4},
575
576 {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
577 {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
578 {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
579 {"label": "Space", "matrix": [5, 4], "x": 3.75, "y": 5, "w": 2.25},
580 {"label": "Layer", "matrix": [5, 6], "x": 6, "y": 5, "w": 1.25},
581 {"label": "Space", "matrix": [5, 8], "x": 7.25, "y": 5, "w": 2.75},
582 {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 5, "w": 1.25},
583 {"label": "Win", "matrix": [5, 11], "x": 11.25, "y": 5, "w": 1.25},
584
585 {"label": "\u2190", "matrix": [5, 12], "x": 13, "y": 5},
586 {"label": "\u2193", "matrix": [5, 14], "x": 14, "y": 5},
587 {"label": "\u2192", "matrix": [5, 15], "x": 15, "y": 5},
588 {"label": "0", "matrix": [5, 16], "x": 16, "y": 5},
589 {"label": ".", "matrix": [5, 17], "x": 17, "y": 5},
590 {"label": "Enter", "matrix": [5, 18], "x": 18, "y": 4, "h": 2}
591 ]
592 }
593 }
594}
diff --git a/keyboards/function96/v2/keymaps/ansi_splitspace/keymap.c b/keyboards/function96/v2/keymaps/ansi_splitspace/keymap.c
new file mode 100644
index 0000000000..25429ed4ad
--- /dev/null
+++ b/keyboards/function96/v2/keymaps/ansi_splitspace/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2020 Matt3o
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_ansi_splitspace(
20 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_PSCR, KC_DEL, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU,
21 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_MPLY, KC_PSLS, KC_PAST, KC_PMNS,
22 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,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
24 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,
25 KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, MO(2), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
26 ),
27
28 [1] = LAYOUT_ansi_splitspace(
29 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
30 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
31 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
32 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
33 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
34 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
35 ),
36 [2] = LAYOUT_ansi_splitspace(
37 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
38 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
39 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
40 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
41 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
42 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
43 )
44};
diff --git a/keyboards/function96/v2/keymaps/default/keymap.c b/keyboards/function96/v2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..6e20c9f439
--- /dev/null
+++ b/keyboards/function96/v2/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
1/* Copyright 2020 Matt3o
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_default(
20 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_MPRV, KC_MNXT, KC_VOLD, KC_VOLU,
21 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_MPLY, KC_PSLS, KC_PAST, KC_PMNS,
22 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,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
24 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,
25 KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
26 ),
27
28 [1] = LAYOUT_default(
29 _______, _______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,
32 _______, _______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,
33 _______, _______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______,
34 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
35 ),
36};
diff --git a/keyboards/function96/v2/keymaps/iso/keymap.c b/keyboards/function96/v2/keymaps/iso/keymap.c
new file mode 100644
index 0000000000..67d76a30f0
--- /dev/null
+++ b/keyboards/function96/v2/keymaps/iso/keymap.c
@@ -0,0 +1,36 @@
1/* Copyright 2020 Matt3o
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_iso(
20 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_MPRV, KC_MNXT, KC_VOLD, KC_VOLU,
21 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_MPLY, KC_PSLS, KC_PAST, KC_PMNS,
22 KC_TAB , KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
24 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_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
25 KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
26 ),
27
28 [1] = LAYOUT_iso(
29 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
30 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
31 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
32 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
33 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
34 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
35 ),
36};
diff --git a/keyboards/function96/v2/keymaps/iso_splitspace/keymap.c b/keyboards/function96/v2/keymaps/iso_splitspace/keymap.c
new file mode 100644
index 0000000000..c3fc6dc75f
--- /dev/null
+++ b/keyboards/function96/v2/keymaps/iso_splitspace/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2020 Matt3o
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_iso_splitspace(
20 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_MPRV, KC_MNXT, KC_VOLD, KC_VOLU,
21 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_MPLY, KC_PSLS, KC_PAST, KC_PMNS,
22 KC_TAB , KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
24 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_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
25 KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(1),KC_SPC, KC_RALT, MO(2), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
26 ),
27
28 [1] = LAYOUT_iso_splitspace(
29 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
30 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
31 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
32 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
33 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
34 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
35 ),
36 [2] = LAYOUT_iso_splitspace(
37 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
38 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
39 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
40 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
41 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
42 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
43 ),
44};
diff --git a/keyboards/function96/v2/mcuconf.h b/keyboards/function96/v2/mcuconf.h
new file mode 100644
index 0000000000..a25879aeff
--- /dev/null
+++ b/keyboards/function96/v2/mcuconf.h
@@ -0,0 +1,27 @@
1/* Copyright 2020 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/function96/v2/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
20 */
21
22#pragma once
23
24#include_next <mcuconf.h>
25
26#undef STM32_PWM_USE_TIM3
27#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/function96/v2/readme.md b/keyboards/function96/v2/readme.md
new file mode 100644
index 0000000000..bf7f2966a4
--- /dev/null
+++ b/keyboards/function96/v2/readme.md
@@ -0,0 +1,13 @@
1# Function96v2
2
3This Function96v2 is a passion project of JTM. It's meant to give the user the maximum usability of the space allocated by the keyboard while also giving the option of using the numpad.
4
5* Keyboard Maintainer: The QMK Community
6* Hardware Supported: Function96v2
7* Hardware Availability: Limited Groupbuy that ended on 11/29/2020, https://www.reddit.com/r/mechmarket/comments/jxvokl/gb_function96v2_a_premium_96_layout_nov_20th_nov/
8
9Make example for this keyboard (after setting up your build environment):
10
11 make function96/v2:default
12
13See 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).