Merge remote-tracking branch 'upstream/master' into develop
commit
bd4899f0ca
|
@ -172,6 +172,8 @@ For example, to build a firmware for a Clueboard 66% you would use:
|
|||
|
||||
qmk compile -kb clueboard/66/rev3 -km default
|
||||
|
||||
?> The keyboard option is the path relative to the keyboard directory, the above example would be found in `qmk_firmware/keyboards/clueboard/66/rev3`. If you're unsure you can view a full list of supported keyboards with `qmk list-keyboards`.
|
||||
|
||||
When it is done you should have a lot of output that ends similar to this:
|
||||
|
||||
```
|
||||
|
|
|
@ -53,6 +53,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
|
|||
|
||||
- keyboard moves within the repository *must* go through the `develop` branch instead of `master`, so as to ensure compatibility for users
|
||||
- `data/mappings/keyboard_aliases.hjson` must be updated to reflect the move, so users with pre-created configurator keymap.json files continue to detect the correct keyboard
|
||||
- keyboard updates and refactors (eg. to data driven) *must* go through `develop` to reduce `master` -> `develop` merge conflicts
|
||||
- PR submissions from a `kbfirmware` export (or equivalent) will not be accepted unless converted to new QMK standards -- try `qmk import-kbfirmware` first
|
||||
- `info.json`
|
||||
- With the move to [data driven](https://docs.qmk.fm/#/data_driven_config) keyboard configuration, we encourage contributors to utilise as many features as possible of the info.json [schema](https://github.com/qmk/qmk_firmware/blob/master/data/schemas/keyboard.jsonschema).
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// main layer
|
||||
[0] = LAYOUT_all(
|
||||
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_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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
MO(1), KC_LALT, KC_LGUI, KC_GRV, KC_SPC, KC_BSLS, KC_LEFT, KC_RIGHT,KC_DOWN, KC_UP),
|
||||
// basic function layer
|
||||
[1] = LAYOUT_all(
|
||||
QK_BOOT, 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_UP, 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_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||
};
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// main layer
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐
|
||||
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Delete│
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
|
||||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴ │
|
||||
* │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───────┤
|
||||
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │
|
||||
* ├────┬───│───┴┬──┴┬──┴───┴───┴───┴─┬─┴─┬─┴──┬┴───┴┬────┬───┤
|
||||
* │Caps│Alt│Gui │ ` │ Space │ \ │Left│Right│Down│ Up│
|
||||
* └────┴───┴────┴───┴────────────────┴───┴────┴─────┴────┴───┘
|
||||
*/
|
||||
[0] = LAYOUT_m0116(
|
||||
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_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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_CAPS, KC_LALT, KC_LGUI, KC_GRV, KC_SPC, KC_BSLS, KC_LEFT, KC_RIGHT,KC_DOWN, KC_UP)
|
||||
};
|
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐
|
||||
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backsp│
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
|
||||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐Ent│
|
||||
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───│───┤
|
||||
* │Shft│ ` │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift│ Up│
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴┬──┴─┬─┴──┬┴────┬────┤
|
||||
* │Ctrl│Alt │GUI │ Space │GUI │Left│Right│Down│
|
||||
* └────┴────┴────┴──────────────────────┴────┴────┴─────┴────┘
|
||||
*/
|
||||
[0] = LAYOUT_m0118(
|
||||
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_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_ENT,
|
||||
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_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_LEFT, KC_RIGHT,KC_DOWN)
|
||||
};
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// main layer
|
||||
[0] = LAYOUT_all(
|
||||
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_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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
MO(1), KC_LALT, KC_LGUI, KC_GRV, KC_SPC, KC_BSLS, KC_LEFT, KC_RIGHT,KC_DOWN, KC_UP),
|
||||
// basic function layer
|
||||
[1] = LAYOUT_all(
|
||||
QK_BOOT, 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_UP, 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_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
// extra layer for VIA
|
||||
[2] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
// extra layer for VIA
|
||||
[3] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||
};
|
|
@ -0,0 +1,23 @@
|
|||
# Unextended Standard PCB
|
||||
|
||||
PCB for the Unextended Standard Project. The PCB enables use of M0116, M0118, IIc and NeXT keycaps and is designed to fit in the open sourced Unextended case.
|
||||
|
||||
* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
|
||||
* Hardware Supported: [Unextended Standard PCB](https://github.com/4pplet/Unextended-Standard-PCB)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 4pplet/unextended_std/rev_a:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make 4pplet/unextended_std/rev_a: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 Escape-key and plug in the keyboard
|
||||
* **Physical reset header**: Briefly short the header labled "BL/reset" on the PCB
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <mail@4pplet.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define WS2812_EXTERNAL_PULLUP
|
|
@ -0,0 +1,262 @@
|
|||
{
|
||||
"keyboard_name": "Unextended Standard Rev A",
|
||||
"manufacturer": "4pplet",
|
||||
"url": "https://github.com/4pplet/Unextended",
|
||||
"maintainer": "4pplet",
|
||||
"usb": {
|
||||
"vid": "0x4444",
|
||||
"pid": "0x0012",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"processor": "STM32F072",
|
||||
"bootloader": "stm32-dfu",
|
||||
|
||||
"matrix_pins": {
|
||||
"rows":
|
||||
["B14","B15","B6","B5","B4"],
|
||||
"cols":
|
||||
["B2","A4","A1","A2","F1","F0","C15","C14","C13","B9","B8","B7","B12","B3"]
|
||||
},
|
||||
|
||||
"diode_direction": "COL2ROW",
|
||||
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"console": false,
|
||||
"command": false,
|
||||
"nkro": true,
|
||||
"backlight": false,
|
||||
"rgblight": true,
|
||||
"audio": false
|
||||
},
|
||||
|
||||
"rgblight": {
|
||||
"pin": "A8",
|
||||
"led_count": 16,
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"rgb_test": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
}
|
||||
},
|
||||
|
||||
"indicators": {
|
||||
"caps_lock": "A10",
|
||||
"on_state": 0
|
||||
},
|
||||
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label":"Esc", "matrix": [0, 0], "x":0, "y":0},
|
||||
{"label":"!", "matrix": [0, 1], "x":1, "y":0},
|
||||
{"label":"@", "matrix": [0, 2], "x":2, "y":0},
|
||||
{"label":"#", "matrix": [0, 3], "x":3, "y":0},
|
||||
{"label":"$", "matrix": [0, 4], "x":4, "y":0},
|
||||
{"label":"%", "matrix": [0, 5], "x":5, "y":0},
|
||||
{"label":"^", "matrix": [0, 6], "x":6, "y":0},
|
||||
{"label":"&", "matrix": [0, 7], "x":7, "y":0},
|
||||
{"label":"*", "matrix": [0, 8], "x":8, "y":0},
|
||||
{"label":"(", "matrix": [0, 9], "x":9, "y":0},
|
||||
{"label":")", "matrix": [0, 10], "x":10, "y":0},
|
||||
{"label":"_", "matrix": [0, 11], "x":11, "y":0},
|
||||
{"label":"+", "matrix": [0, 12], "x":12, "y":0},
|
||||
{"label":"Backsp", "matrix": [0, 13], "x":13, "y":0, "w":1.5},
|
||||
{"label":"Tab", "matrix": [1, 0], "x":0, "y":1, "w":1.5},
|
||||
{"label":"Q", "matrix": [1, 1], "x":1.5, "y":1},
|
||||
{"label":"W", "matrix": [1, 2], "x":2.5, "y":1},
|
||||
{"label":"E", "matrix": [1, 3], "x":3.5, "y":1},
|
||||
{"label":"R", "matrix": [1, 4], "x":4.5, "y":1},
|
||||
{"label":"T", "matrix": [1, 5], "x":5.5, "y":1},
|
||||
{"label":"Y", "matrix": [1, 6], "x":6.5, "y":1},
|
||||
{"label":"U", "matrix": [1, 7], "x":7.5, "y":1},
|
||||
{"label":"I", "matrix": [1, 8], "x":8.5, "y":1},
|
||||
{"label":"O", "matrix": [1, 9], "x":9.5, "y":1},
|
||||
{"label":"P", "matrix": [1, 10], "x":10.5, "y":1},
|
||||
{"label":"{", "matrix": [1, 11], "x":11.5, "y":1},
|
||||
{"label":"}", "matrix": [1, 12], "x":12.5, "y":1},
|
||||
{"label":"|", "matrix": [1, 13], "x":13.5, "y":1},
|
||||
{"label":"Caps Lock", "matrix": [2, 0], "x":0, "y":2, "w":1.75},
|
||||
{"label":"A", "matrix": [2, 1], "x":1.75, "y":2},
|
||||
{"label":"S", "matrix": [2, 2], "x":2.75, "y":2},
|
||||
{"label":"D", "matrix": [2, 3], "x":3.75, "y":2},
|
||||
{"label":"F", "matrix": [2, 4], "x":4.75, "y":2},
|
||||
{"label":"G", "matrix": [2, 5], "x":5.75, "y":2},
|
||||
{"label":"H", "matrix": [2, 6], "x":6.75, "y":2},
|
||||
{"label":"J", "matrix": [2, 7], "x":7.75, "y":2},
|
||||
{"label":"K", "matrix": [2, 8], "x":8.75, "y":2},
|
||||
{"label":"L", "matrix": [2, 9], "x":9.75, "y":2},
|
||||
{"label":":", "matrix": [2, 10], "x":10.75, "y":2},
|
||||
{"label":"\"", "matrix": [2, 11], "x":11.75, "y":2},
|
||||
{"label":"nubs", "matrix": [3, 13], "x":12.75, "y":2},
|
||||
{"label":"Enter", "matrix": [2, 13], "x":13.75, "y":2, "w":0.75},
|
||||
{"label":"Shift", "matrix": [3, 0], "x":0, "y":3, "w":1.25},
|
||||
{"label":"nubs", "matrix": [3, 1], "x":1.25, "y":3},
|
||||
{"label":"Z", "matrix": [3, 2], "x":2.25, "y":3},
|
||||
{"label":"X", "matrix": [3, 3], "x":3.25, "y":3},
|
||||
{"label":"C", "matrix": [3, 4], "x":4.25, "y":3},
|
||||
{"label":"V", "matrix": [3, 5], "x":5.25, "y":3},
|
||||
{"label":"B", "matrix": [3, 6], "x":6.25, "y":3},
|
||||
{"label":"N", "matrix": [3, 7], "x":7.25, "y":3},
|
||||
{"label":"M", "matrix": [3, 8], "x":8.25, "y":3},
|
||||
{"label":"<", "matrix": [3, 9], "x":9.25, "y":3},
|
||||
{"label":">", "matrix": [3, 10], "x":10.25, "y":3},
|
||||
{"label":"?", "matrix": [3, 11], "x":11.25, "y":3},
|
||||
{"label":"Shift", "matrix": [3, 12], "x":12.25, "y":3, "w":1.25},
|
||||
{"label":"\u2191", "matrix": [4, 13], "x":13.5, "y":3},
|
||||
{"label":"Caps", "matrix": [4, 0], "x":0, "y":4},
|
||||
{"label":"opt", "matrix": [4, 1], "x":1, "y":4},
|
||||
{"label":"Cmd", "matrix": [4, 2], "x":2, "y":4, "w":1.75},
|
||||
{"label":"`", "matrix": [4, 3], "x":3.75, "y":4},
|
||||
{"label":"Space", "matrix": [4, 6], "x":4.75, "y":4, "w":4.75},
|
||||
{"label":"\\", "matrix": [4, 8], "x":9.5, "y":4},
|
||||
{"label":"\u2190", "matrix": [4, 9], "x":10.5, "y":4},
|
||||
{"label":"\u2192", "matrix": [4, 10], "x":11.5, "y":4},
|
||||
{"label":"\u2193", "matrix": [4, 11], "x":12.5, "y":4},
|
||||
{"label":"\u2191", "matrix": [4, 12], "x":13.5, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_m0116": {
|
||||
"layout": [
|
||||
{"label":"Esc", "matrix": [0, 0], "x":0, "y":0},
|
||||
{"label":"!", "matrix": [0, 1], "x":1, "y":0},
|
||||
{"label":"@", "matrix": [0, 2], "x":2, "y":0},
|
||||
{"label":"#", "matrix": [0, 3], "x":3, "y":0},
|
||||
{"label":"$", "matrix": [0, 4], "x":4, "y":0},
|
||||
{"label":"%", "matrix": [0, 5], "x":5, "y":0},
|
||||
{"label":"^", "matrix": [0, 6], "x":6, "y":0},
|
||||
{"label":"&", "matrix": [0, 7], "x":7, "y":0},
|
||||
{"label":"*", "matrix": [0, 8], "x":8, "y":0},
|
||||
{"label":"(", "matrix": [0, 9], "x":9, "y":0},
|
||||
{"label":")", "matrix": [0, 10], "x":10, "y":0},
|
||||
{"label":"_", "matrix": [0, 11], "x":11, "y":0},
|
||||
{"label":"+", "matrix": [0, 12], "x":12, "y":0},
|
||||
{"label":"Backsp", "matrix": [0, 13], "x":13, "y":0, "w":1.5},
|
||||
{"label":"Tab", "matrix": [1, 0], "x":0, "y":1, "w":1.5},
|
||||
{"label":"Q", "matrix": [1, 1], "x":1.5, "y":1},
|
||||
{"label":"W", "matrix": [1, 2], "x":2.5, "y":1},
|
||||
{"label":"E", "matrix": [1, 3], "x":3.5, "y":1},
|
||||
{"label":"R", "matrix": [1, 4], "x":4.5, "y":1},
|
||||
{"label":"T", "matrix": [1, 5], "x":5.5, "y":1},
|
||||
{"label":"Y", "matrix": [1, 6], "x":6.5, "y":1},
|
||||
{"label":"U", "matrix": [1, 7], "x":7.5, "y":1},
|
||||
{"label":"I", "matrix": [1, 8], "x":8.5, "y":1},
|
||||
{"label":"O", "matrix": [1, 9], "x":9.5, "y":1},
|
||||
{"label":"P", "matrix": [1, 10], "x":10.5, "y":1},
|
||||
{"label":"{", "matrix": [1, 11], "x":11.5, "y":1},
|
||||
{"label":"}", "matrix": [1, 12], "x":12.5, "y":1},
|
||||
{"label":"Enter", "matrix": [2, 13], "x":13.5, "y":1, "h":2},
|
||||
{"label":"Control", "matrix": [2, 0], "x":0, "y":2, "w":1.75},
|
||||
{"label":"A", "matrix": [2, 1], "x":1.75, "y":2},
|
||||
{"label":"S", "matrix": [2, 2], "x":2.75, "y":2},
|
||||
{"label":"D", "matrix": [2, 3], "x":3.75, "y":2},
|
||||
{"label":"F", "matrix": [2, 4], "x":4.75, "y":2},
|
||||
{"label":"G", "matrix": [2, 5], "x":5.75, "y":2},
|
||||
{"label":"H", "matrix": [2, 6], "x":6.75, "y":2},
|
||||
{"label":"J", "matrix": [2, 7], "x":7.75, "y":2},
|
||||
{"label":"K", "matrix": [2, 8], "x":8.75, "y":2},
|
||||
{"label":"L", "matrix": [2, 9], "x":9.75, "y":2},
|
||||
{"label":":", "matrix": [2, 10], "x":10.75, "y":2},
|
||||
{"label":"\"", "matrix": [2, 11], "x":11.75, "y":2},
|
||||
{"label":"Shift", "matrix": [3, 0], "x":0, "y":3, "w":2.25},
|
||||
{"label":"Z", "matrix": [3, 2], "x":2.25, "y":3},
|
||||
{"label":"X", "matrix": [3, 3], "x":3.25, "y":3},
|
||||
{"label":"C", "matrix": [3, 4], "x":4.25, "y":3},
|
||||
{"label":"V", "matrix": [3, 5], "x":5.25, "y":3},
|
||||
{"label":"B", "matrix": [3, 6], "x":6.25, "y":3},
|
||||
{"label":"N", "matrix": [3, 7], "x":7.25, "y":3},
|
||||
{"label":"M", "matrix": [3, 8], "x":8.25, "y":3},
|
||||
{"label":"<", "matrix": [3, 9], "x":9.25, "y":3},
|
||||
{"label":">", "matrix": [3, 10], "x":10.25, "y":3},
|
||||
{"label":"?", "matrix": [3, 11], "x":11.25, "y":3},
|
||||
{"label":"Shift", "matrix": [3, 12], "x":12.25, "y":3, "w":2.25},
|
||||
{"label":"Caps", "matrix": [4, 0], "x":0, "y":4},
|
||||
{"label":"opt", "matrix": [4, 1], "x":1, "y":4},
|
||||
{"label":"Cmd", "matrix": [4, 2], "x":2, "y":4, "w":1.75},
|
||||
{"label":"`", "matrix": [4, 3], "x":3.75, "y":4},
|
||||
{"label":"Space", "matrix": [4, 6],"x":4.75, "y":4, "w":4.75},
|
||||
{"label":"\\", "matrix": [4, 8], "x":9.5, "y":4},
|
||||
{"label":"\u2190", "matrix": [4, 9], "x":10.5, "y":4},
|
||||
{"label":"\u2192", "matrix": [4, 10], "x":11.5, "y":4},
|
||||
{"label":"\u2193", "matrix": [4, 11], "x":12.5, "y":4},
|
||||
{"label":"\u2191", "matrix": [4, 12], "x":13.5, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_m0118": {
|
||||
"layout": [
|
||||
{"label":"Esc", "matrix": [0, 0], "x":0, "y":0},
|
||||
{"label":"!", "matrix": [0, 1], "x":1, "y":0},
|
||||
{"label":"@", "matrix": [0, 2], "x":2, "y":0},
|
||||
{"label":"#", "matrix": [0, 3], "x":3, "y":0},
|
||||
{"label":"$", "matrix": [0, 4], "x":4, "y":0},
|
||||
{"label":"%", "matrix": [0, 5], "x":5, "y":0},
|
||||
{"label":"^", "matrix": [0, 6], "x":6, "y":0},
|
||||
{"label":"&", "matrix": [0, 7], "x":7, "y":0},
|
||||
{"label":"*", "matrix": [0, 8], "x":8, "y":0},
|
||||
{"label":"(", "matrix": [0, 9], "x":9, "y":0},
|
||||
{"label":")", "matrix": [0, 10], "x":10, "y":0},
|
||||
{"label":"_", "matrix": [0, 11], "x":11, "y":0},
|
||||
{"label":"+", "matrix": [0, 12], "x":12, "y":0},
|
||||
{"label":"Backsp", "matrix": [0, 13], "x":13, "y":0, "w":1.5},
|
||||
{"label":"Tab", "matrix": [1, 0], "x":0, "y":1, "w":1.5},
|
||||
{"label":"Q", "matrix": [1, 1], "x":1.5, "y":1},
|
||||
{"label":"W", "matrix": [1, 2], "x":2.5, "y":1},
|
||||
{"label":"E", "matrix": [1, 3], "x":3.5, "y":1},
|
||||
{"label":"R", "matrix": [1, 4], "x":4.5, "y":1},
|
||||
{"label":"T", "matrix": [1, 5], "x":5.5, "y":1},
|
||||
{"label":"Y", "matrix": [1, 6], "x":6.5, "y":1},
|
||||
{"label":"U", "matrix": [1, 7], "x":7.5, "y":1},
|
||||
{"label":"I", "matrix": [1, 8], "x":8.5, "y":1},
|
||||
{"label":"O", "matrix": [1, 9], "x":9.5, "y":1},
|
||||
{"label":"P", "matrix": [1, 10], "x":10.5, "y":1},
|
||||
{"label":"{", "matrix": [1, 11], "x":11.5, "y":1},
|
||||
{"label":"}", "matrix": [1, 12], "x":12.5, "y":1},
|
||||
{"label":"Enter", "matrix": [2, 13], "x":13.75, "y":1, "w":0.75, "h":2},
|
||||
{"label":"Caps Lock", "matrix": [2, 0], "x":0, "y":2, "w":1.75},
|
||||
{"label":"A", "matrix": [2, 1], "x":1.75, "y":2},
|
||||
{"label":"S", "matrix": [2, 2], "x":2.75, "y":2},
|
||||
{"label":"D", "matrix": [2, 3], "x":3.75, "y":2},
|
||||
{"label":"F", "matrix": [2, 4], "x":4.75, "y":2},
|
||||
{"label":"G", "matrix": [2, 5], "x":5.75, "y":2},
|
||||
{"label":"H", "matrix": [2, 6], "x":6.75, "y":2},
|
||||
{"label":"J", "matrix": [2, 7], "x":7.75, "y":2},
|
||||
{"label":"K", "matrix": [2, 8], "x":8.75, "y":2},
|
||||
{"label":"L", "matrix": [2, 9], "x":9.75, "y":2},
|
||||
{"label":":", "matrix": [2, 10], "x":10.75, "y":2},
|
||||
{"label":"\"", "matrix": [2, 11], "x":11.75, "y":2},
|
||||
{"label":"nuhs", "matrix": [3, 13], "x":12.75, "y":2},
|
||||
{"label":"Shift", "matrix": [3, 0], "x":0, "y":3, "w":1.25},
|
||||
{"label":"nubs", "matrix": [3, 1], "x":1.25, "y":3},
|
||||
{"label":"Z", "matrix": [3, 2], "x":2.25, "y":3},
|
||||
{"label":"X", "matrix": [3, 3], "x":3.25, "y":3},
|
||||
{"label":"C", "matrix": [3, 4], "x":4.25, "y":3},
|
||||
{"label":"V", "matrix": [3, 5], "x":5.25, "y":3},
|
||||
{"label":"B", "matrix": [3, 6], "x":6.25, "y":3},
|
||||
{"label":"N", "matrix": [3, 7], "x":7.25, "y":3},
|
||||
{"label":"M", "matrix": [3, 8], "x":8.25, "y":3},
|
||||
{"label":"<", "matrix": [3, 9], "x":9.25, "y":3},
|
||||
{"label":">", "matrix": [3, 10], "x":10.25, "y":3},
|
||||
{"label":"?", "matrix": [3, 11], "x":11.25, "y":3},
|
||||
{"label":"Shift", "matrix": [3, 12], "x":12.25, "y":3, "w":1.25},
|
||||
{"label":"\u2191", "matrix": [4, 13], "x":13.5, "y":3},
|
||||
{"label":"Ctrl", "matrix": [4, 0], "x":0, "y":4, "w":1.25},
|
||||
{"label":"Opt", "matrix": [4, 2], "x":1.25, "y":4, "w":1.5},
|
||||
{"label":"Cmd", "matrix": [4, 3], "x":2.75, "y":4, "w":1.75},
|
||||
{"label":"Space", "matrix": [4, 6], "x":4.5, "y":4, "w":5.25},
|
||||
{"label":"Cmd", "matrix": [4, 9], "x":9.75, "y":4, "w":1.75},
|
||||
{"label":"\u2190", "matrix": [4, 10], "x":11.5, "y":4},
|
||||
{"label":"\u2192", "matrix": [4, 11], "x":12.5, "y":4},
|
||||
{"label":"\u2193", "matrix": [4, 12], "x":13.5, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
KEY_LOCK_ENABLE = yes
|
||||
|
||||
# Wildcard to allow APM32 MCU
|
||||
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright 2020 3araht
|
||||
Copyright 2023 3araht
|
||||
|
||||
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
|
||||
|
|
|
@ -13,10 +13,22 @@
|
|||
"rows": ["B5", "B4", "E6", "D7", "C6", "D4"]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"midi": true,
|
||||
"extrakey": true,
|
||||
"encoder": true,
|
||||
"bootmagic": false,
|
||||
"console": false,
|
||||
"mousekey": false,
|
||||
"nkro": false,
|
||||
"rgblight": false,
|
||||
"audio": false
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": []
|
||||
},
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"soft_serial_pin": "D2",
|
||||
"encoder": {
|
||||
"right": {
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
Copyright 2023 3araht
|
||||
|
||||
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 USE_MATRIX_I2C
|
||||
|
|
|
@ -61,6 +61,7 @@ enum layer_names {
|
|||
_C_SYSTEM_BASE, // MIDI C-system
|
||||
_FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system.
|
||||
_C_SYSTEM_BASS2ROW, // counter bass system
|
||||
_FAKE_B_SYSTEM_BASS2ROW, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system. Counter bass version.
|
||||
_C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
|
||||
_C_SYSTEM_FREEBASS, // C-system Free Bass
|
||||
_CHROMATONE,
|
||||
|
@ -181,6 +182,7 @@ enum custom_keycodes {
|
|||
CSYSTEM, // C-SYSTEM layout
|
||||
BSYSTEM, // B-SYSTEM layout
|
||||
CNTBASC, // CouNTer BASs C-system layout
|
||||
CNTBASB, // CouNTer BASs B-system layout
|
||||
CSYSALL, // C-SYStem ALL layout
|
||||
CSYSFBS, // C-SYStem Free BaSs
|
||||
CHRTONE, // CHRomaTONE layout
|
||||
|
@ -240,6 +242,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
|
||||
),
|
||||
|
||||
/* fake B-system */
|
||||
[_FAKE_B_SYSTEM_BASS2ROW] = LAYOUT(
|
||||
MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr,
|
||||
MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
|
||||
MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
|
||||
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
|
||||
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
|
||||
|
||||
MI_Ab2,
|
||||
MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
|
||||
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
|
||||
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
|
||||
),
|
||||
|
||||
/* C-system entirely */
|
||||
[_C_SYSTEM_ENTIRELY] = LAYOUT(
|
||||
MI_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
|
||||
|
@ -340,7 +356,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
/* Fn */
|
||||
[_FN] = LAYOUT(
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG,
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG,
|
||||
DF_QWER, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLMICH,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
@ -348,7 +364,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
XXXXXXX,
|
||||
MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG,
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG,
|
||||
XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
|
||||
)
|
||||
};
|
||||
|
@ -358,6 +374,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
|||
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_FAKE_B_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_FREEBASS] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
|
||||
|
@ -383,7 +400,7 @@ const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS({1,
|
|||
|
||||
// Light up fn layer keys
|
||||
const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( // left keyboard
|
||||
{0, 7, HSV_ORANGE}, // MIDI layouts
|
||||
{0, 8, HSV_ORANGE}, // MIDI layouts
|
||||
{11, 1, HSV_RED}, // RGB_TOG
|
||||
{12, 1, HSV_WHITE}, // DF_QWER
|
||||
{13, 1, HSV_CORAL}, // TGLBASS
|
||||
|
@ -410,15 +427,16 @@ const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS(
|
|||
{53, 1, HSV_PINK},
|
||||
#endif
|
||||
// right keyboard
|
||||
{60, 7, HSV_ORANGE}, // MIDI layouts
|
||||
{60, 8, HSV_ORANGE}, // MIDI layouts
|
||||
{74, 1, HSV_CORAL}, // TGLBASS
|
||||
{85, 1, HSV_BLUE}, // MIDI Oct
|
||||
{86, 1, HSV_CYAN}, // MIDI Oct
|
||||
{87, 1, HSV_SPRINGGREEN}, // MIDI Oct
|
||||
{88, 1, HSV_GREEN}, // MIDI Oct
|
||||
{89, 1, HSV_CHARTREUSE}, // MIDI Oct
|
||||
{95, 1, HSV_GOLD}, // VERSION
|
||||
{96, 1, HSV_PINK}, // EE_CLR
|
||||
{98, 7, HSV_ORANGE}, // MIDI layouts
|
||||
{98, 8, HSV_ORANGE}, // MIDI layouts
|
||||
{107, 1, HSV_YELLOW}, // MI_VELD
|
||||
{108, 1, HSV_GREEN}, // MI_VELU
|
||||
{110, 1, HSV_RED}, // RGB_TOG
|
||||
|
@ -530,6 +548,7 @@ void switch_keylight_color4bass(keyrecord_t *record, uint8_t keylocation){
|
|||
keylight_manager(record, HSV_ORANGE, keylocation);
|
||||
break;
|
||||
case _C_SYSTEM_BASS2ROW:
|
||||
case _FAKE_B_SYSTEM_BASS2ROW:
|
||||
keylight_manager(record, HSV_YELLOW, keylocation);
|
||||
break;
|
||||
case _CFLIP_BASS2ROW:
|
||||
|
@ -546,6 +565,7 @@ void switch_keylight_color4chords(keyrecord_t *record, uint8_t keylocation){
|
|||
keylight_manager(record, HSV_YELLOW, keylocation);
|
||||
break;
|
||||
case _C_SYSTEM_BASS2ROW:
|
||||
case _FAKE_B_SYSTEM_BASS2ROW:
|
||||
keylight_manager(record, HSV_GOLDENROD, keylocation);
|
||||
break;
|
||||
case _CFLIP_BASS2ROW:
|
||||
|
@ -596,6 +616,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
}
|
||||
break;
|
||||
|
||||
case CNTBASB:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_FAKE_B_SYSTEM_BASS2ROW);
|
||||
}
|
||||
break;
|
||||
|
||||
case CSYSALL:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_C_SYSTEM_ENTIRELY);
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
Copyright 2023 3araht
|
||||
|
||||
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 GIABARINAIX2
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
Copyright 2023 3araht
|
||||
|
||||
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 GIABARINAIX2
|
||||
|
|
|
@ -61,6 +61,7 @@ enum layer_names {
|
|||
_C_SYSTEM_BASE, // MIDI C-system
|
||||
_FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system.
|
||||
_C_SYSTEM_BASS2ROW, // counter bass system
|
||||
_FAKE_B_SYSTEM_BASS2ROW, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system. Counter bass version.
|
||||
_C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
|
||||
_C_SYSTEM_FREEBASS, // C-system Free Bass
|
||||
_CHROMATONE,
|
||||
|
@ -181,6 +182,7 @@ enum custom_keycodes {
|
|||
CSYSTEM, // C-SYSTEM layout
|
||||
BSYSTEM, // B-SYSTEM layout
|
||||
CNTBASC, // CouNTer BASs C-system layout
|
||||
CNTBASB, // CouNTer BASs B-system layout
|
||||
CSYSALL, // C-SYStem ALL layout
|
||||
CSYSFBS, // C-SYStem Free BaSs
|
||||
CHRTONE, // CHRomaTONE layout
|
||||
|
@ -240,6 +242,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
|
||||
),
|
||||
|
||||
/* fake B-system */
|
||||
[_FAKE_B_SYSTEM_BASS2ROW] = LAYOUT(
|
||||
MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr,
|
||||
MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
|
||||
MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
|
||||
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
|
||||
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
|
||||
|
||||
MI_Ab2,
|
||||
MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
|
||||
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
|
||||
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
|
||||
),
|
||||
|
||||
/* C-system entirely */
|
||||
[_C_SYSTEM_ENTIRELY] = LAYOUT(
|
||||
MI_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
|
||||
|
@ -340,7 +356,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
/* Fn */
|
||||
[_FN] = LAYOUT(
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_TOG,
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, XXXXXXX, RGB_MOD, RGB_TOG,
|
||||
DF_QWER, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLMICH,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
@ -348,7 +364,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
XXXXXXX,
|
||||
MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, RGB_MOD, RGB_TOG,
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, MI_VELD, MI_VELU, RGB_MOD, RGB_TOG,
|
||||
XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
|
||||
)
|
||||
};
|
||||
|
@ -358,6 +374,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
|||
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_FAKE_B_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_FREEBASS] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
|
||||
|
@ -383,7 +400,7 @@ const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS({1,
|
|||
|
||||
// Light up fn layer keys
|
||||
const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( // left keyboard
|
||||
{0, 7, HSV_ORANGE}, // MIDI layouts
|
||||
{0, 8, HSV_ORANGE}, // MIDI layouts
|
||||
{11, 1, HSV_RED}, // RGB_TOG
|
||||
{12, 1, HSV_WHITE}, // DF_QWER
|
||||
{13, 1, HSV_CORAL}, // TGLBASS
|
||||
|
@ -410,15 +427,16 @@ const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS(
|
|||
{53, 1, HSV_PINK},
|
||||
#endif
|
||||
// right keyboard
|
||||
{60, 7, HSV_ORANGE}, // MIDI layouts
|
||||
{60, 8, HSV_ORANGE}, // MIDI layouts
|
||||
{74, 1, HSV_CORAL}, // TGLBASS
|
||||
{85, 1, HSV_BLUE}, // MIDI Oct
|
||||
{86, 1, HSV_CYAN}, // MIDI Oct
|
||||
{87, 1, HSV_SPRINGGREEN}, // MIDI Oct
|
||||
{88, 1, HSV_GREEN}, // MIDI Oct
|
||||
{89, 1, HSV_CHARTREUSE}, // MIDI Oct
|
||||
{95, 1, HSV_GOLD}, // VERSION
|
||||
{96, 1, HSV_PINK}, // EE_CLR
|
||||
{98, 7, HSV_ORANGE}, // MIDI layouts
|
||||
{98, 8, HSV_ORANGE}, // MIDI layouts
|
||||
{107, 1, HSV_YELLOW}, // MI_VELD
|
||||
{108, 1, HSV_GREEN}, // MI_VELU
|
||||
{110, 1, HSV_RED}, // RGB_TOG
|
||||
|
@ -490,7 +508,7 @@ bool rgb_matrix_indicators_user(void) {
|
|||
// rgb_matrix_set_color(72, RGB_DARKORANGE);
|
||||
break;
|
||||
case _FN:
|
||||
for (i = 0;i < 7;i++) {
|
||||
for (i = 0;i < 8;i++) {
|
||||
rgb_matrix_set_color(74 - i, RGB_DARKORANGE); // MIDI layouts
|
||||
// right keyboard
|
||||
rgb_matrix_set_color(i, RGB_DARKORANGE); // MIDI layouts
|
||||
|
@ -512,6 +530,7 @@ bool rgb_matrix_indicators_user(void) {
|
|||
rgb_matrix_set_color(28, RGB_DARKSPRINGGREEN); // MIDI Oct
|
||||
rgb_matrix_set_color(29, RGB_DARKGREEN); // MIDI Oct
|
||||
rgb_matrix_set_color(30, RGB_DARKCHARTREUSE); // MIDI Oct
|
||||
rgb_matrix_set_color(36, RGB_DARKGOLD); // VERSION
|
||||
rgb_matrix_set_color(37, RGB_DARKPINK); // EE_CLR
|
||||
rgb_matrix_set_color(41, RGB_DARKYELLOW); // MI_VELD
|
||||
rgb_matrix_set_color(40, RGB_DARKGREEN); // MI_VELU
|
||||
|
@ -645,6 +664,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
}
|
||||
break;
|
||||
|
||||
case CNTBASB:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_FAKE_B_SYSTEM_BASS2ROW);
|
||||
}
|
||||
break;
|
||||
|
||||
case CSYSALL:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_C_SYSTEM_ENTIRELY);
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
Copyright 2023 3araht
|
||||
|
||||
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 DYNAMIC_KEYMAP_LAYER_COUNT 3
|
||||
|
|
|
@ -1,18 +1,8 @@
|
|||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
MIDI_ENABLE = yes # MIDI support
|
||||
ENCODER_ENABLE = yes # encoder on mute button
|
||||
SPLIT_KEYBOARD = yes # Enables split keyboard support
|
||||
# RGB_MATRIX_ENABLE is not suitable for giabalanai keyboard on the right side (there are dulpicate keys).
|
||||
RGB_MATRIX_ENABLE = no # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
|
||||
RGB_MATRIX_DRIVER = WS2812 # 2021/01/23 added.
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -15,17 +15,17 @@
|
|||
*/
|
||||
#pragma once
|
||||
|
||||
#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
|
||||
|
||||
#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
#define MATRIX_HAS_GHOST
|
||||
#ifndef SERIAL_NUMBER
|
||||
#define SERIAL_NUMBER DEF_SERIAL_NUMBER
|
||||
#endif
|
||||
|
||||
#define STM32_HSECLK 16000000
|
||||
|
||||
#define SOLENOID_PIN B5
|
||||
#define HAPTIC_ENABLE_PIN C13
|
||||
#define SOLENOID_DEFAULT_DWELL 4
|
||||
#define SOLENOID_DEFAULT_DWELL 20
|
||||
#define SOLENOID_MIN_DWELL 4
|
||||
#define HAPTIC_OFF_IN_LOW_POWER 1
|
||||
#define NO_HAPTIC_MOD
|
||||
|
|
|
@ -20,15 +20,12 @@
|
|||
},
|
||||
"processor": "STM32F446", // RET6
|
||||
"bootloader": "stm32-dfu",
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5}, {"x":14, "y":1.5}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":13.75, "y":3.5, "w":1.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5}, {"x":13.25, "y":4.5, "w":1.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5}, {"x":5, "y":5.5, "w":6}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"x":20.5, "y":5.5}, {"x":21.5, "y":5.5}]
|
||||
},
|
||||
"LAYOUT_ansi": {
|
||||
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
|
||||
},
|
||||
"LAYOUT_iso": {
|
||||
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":18.5, "y":1.5}, {"x":19.5, "y":1.5}, {"x":20.5, "y":1.5}, {"x":21.5, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.75, "y":2.5, "w":1.25, "h":2}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":18.5, "y":2.5}, {"x":19.5, "y":2.5}, {"x":20.5, "y":2.5}, {"x":21.5, "y":2.5, "h":2}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5}, {"x":18.5, "y":3.5}, {"x":19.5, "y":3.5}, {"x":20.5, "y":3.5}, {"x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":18.5, "y":4.5}, {"x":19.5, "y":4.5}, {"x":20.5, "y":4.5}, {"x":21.5, "y":4.5, "h":2}, {"x":0, "y":5.5, "w":1.5}, {"x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"x":11, "y":5.5, "w":1.5}, {"x":13.5, "y":5.5, "w":1.5}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}, {"x":18.5, "y":5.5, "w":2}, {"x":20.5, "y":5.5}]
|
||||
}
|
||||
"diode_direction": "ROW2COL",
|
||||
"matrix_pins": {
|
||||
// All pins in order from left-to-right, as seen on the keyboard:
|
||||
// C3, C2, C1, C0, A3, A4, A5, A6, A7, C4, C5, B0, B1, B10, B12, B13, B14, B15, C6, C7, C8, C9, A8, A9, A10,
|
||||
// On this keyboard columns and rows are staggered:
|
||||
"cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "C4", "B0", "B10", "B13", "C6", "C7", "C8", "C9"],
|
||||
"rows": ["A7", "C5", "B1", "B12", "B14", "B15", "A8", "A9"]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,91 +0,0 @@
|
|||
/* Copyright 2020 Purdea Andrei
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* This is a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
|
||||
|
||||
#define LAYOUT_all( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
|
||||
k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lalt, k_code, k_space, k_ralt, k_rctrl, k_left, k_down, k_right, kp_0_hidden, kp_0, kp_dot, kp_enter_hidden \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_g, k_h, k_f6, KC_NO, k_singlequote, k_f5, KC_NO, kp_0_hidden, kp_0, kp_dot, k_up, k_lalt, KC_NO, k_f4, k_nubs }, \
|
||||
/* 1 */ { k_tab, k_t, k_y, k_squarebrcl, k_f7, k_squarebrop, k_backspace, k_lshift, kp_4, kp_5, kp_6, kp_plus_hidden, KC_NO, KC_NO, k_f3, k_caps }, \
|
||||
/* 2 */ { k_tild, k_5, k_6, k_equals, k_f8, k_minus, k_f9, KC_NO, k_del, k_ins, k_pgup, k_home, KC_NO, k_lctrl, k_f2, k_f1 }, \
|
||||
/* 3 */ { k_1, k_4, k_7, k_8, k_9, k_0, k_f10, KC_NO, k_f11, k_f12, k_pgdn, k_end, k_prscr, KC_NO, k_3, k_2 }, \
|
||||
/* 4 */ { k_q, k_r, k_u, k_i, k_o, k_p, k_bsp_hidden, KC_NO, kp_7, kp_8, kp_9, kp_plus, k_scrl, KC_NO, k_e, k_w }, \
|
||||
/* 5 */ { k_a, k_f, k_j, k_k, k_l, k_semicolon, k_backsl, KC_NO, kp_1, kp_2, kp_3, kp_enter, kp_enter_hidden, KC_NO, k_d, k_s }, \
|
||||
/* 6 */ { k_z, k_v, k_m, k_cm, k_period, k_nuhs, k_return, k_rshift, kp_nl, kp_div, kp_mult, k_pause, KC_NO, k_rctrl, k_c, k_x }, \
|
||||
/* 7 */ { KC_NO, k_b, k_n, k_rshift_hidden, KC_NO, k_fwslash, k_space, KC_NO, k_down, k_right, kp_minus, k_left, k_ralt, KC_NO, KC_NO, k_code } \
|
||||
}
|
||||
|
||||
// the following three key mappings are informed guesses, based on similarity of the gen4 membrane to previous-gen membranes: kp_plus, k_ins, kp_0_hidden
|
||||
|
||||
#define LAYOUT_ansi( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, kp_4, kp_5, kp_6, \
|
||||
k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lalt, k_space, k_ralt, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_g, k_h, k_f6, KC_NO, k_singlequote, k_f5, KC_NO, KC_NO, kp_0, kp_dot, k_up, k_lalt, KC_NO, k_f4, KC_NO }, \
|
||||
/* 1 */ { k_tab, k_t, k_y, k_squarebrcl, k_f7, k_squarebrop, k_backspace, k_lshift, kp_4, kp_5, kp_6, KC_NO, KC_NO, KC_NO, k_f3, k_caps }, \
|
||||
/* 2 */ { k_tild, k_5, k_6, k_equals, k_f8, k_minus, k_f9, KC_NO, k_del, k_ins, k_pgup, k_home, KC_NO, k_lctrl, k_f2, k_f1 }, \
|
||||
/* 3 */ { k_1, k_4, k_7, k_8, k_9, k_0, k_f10, KC_NO, k_f11, k_f12, k_pgdn, k_end, k_prscr, KC_NO, k_3, k_2 }, \
|
||||
/* 4 */ { k_q, k_r, k_u, k_i, k_o, k_p, KC_NO, KC_NO, kp_7, kp_8, kp_9, kp_plus, k_scrl, KC_NO, k_e, k_w }, \
|
||||
/* 5 */ { k_a, k_f, k_j, k_k, k_l, k_semicolon, k_backsl, KC_NO, kp_1, kp_2, kp_3, kp_enter, KC_NO, KC_NO, k_d, k_s }, \
|
||||
/* 6 */ { k_z, k_v, k_m, k_cm, k_period, KC_NO, k_return, k_rshift, kp_nl, kp_div, kp_mult, k_pause, KC_NO, k_rctrl, k_c, k_x }, \
|
||||
/* 7 */ { KC_NO, k_b, k_n, KC_NO, KC_NO, k_fwslash, k_space, KC_NO, k_down, k_right, kp_minus, k_left, k_ralt, KC_NO, KC_NO, KC_NO } \
|
||||
}
|
||||
|
||||
#define LAYOUT_iso( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs, kp_4, kp_5, kp_6, \
|
||||
k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lalt, k_space, k_ralt, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_g, k_h, k_f6, KC_NO, k_singlequote, k_f5, KC_NO, KC_NO, kp_0, kp_dot, k_up, k_lalt, KC_NO, k_f4, k_nubs }, \
|
||||
/* 1 */ { k_tab, k_t, k_y, k_squarebrcl, k_f7, k_squarebrop, k_backspace, k_lshift, kp_4, kp_5, kp_6, KC_NO, KC_NO, KC_NO, k_f3, k_caps }, \
|
||||
/* 2 */ { k_tild, k_5, k_6, k_equals, k_f8, k_minus, k_f9, KC_NO, k_del, k_ins, k_pgup, k_home, KC_NO, k_lctrl, k_f2, k_f1 }, \
|
||||
/* 3 */ { k_1, k_4, k_7, k_8, k_9, k_0, k_f10, KC_NO, k_f11, k_f12, k_pgdn, k_end, k_prscr, KC_NO, k_3, k_2 }, \
|
||||
/* 4 */ { k_q, k_r, k_u, k_i, k_o, k_p, KC_NO, KC_NO, kp_7, kp_8, kp_9, kp_plus, k_scrl, KC_NO, k_e, k_w }, \
|
||||
/* 5 */ { k_a, k_f, k_j, k_k, k_l, k_semicolon, KC_NO, KC_NO, kp_1, kp_2, kp_3, kp_enter, KC_NO, KC_NO, k_d, k_s }, \
|
||||
/* 6 */ { k_z, k_v, k_m, k_cm, k_period, k_nuhs, k_return, k_rshift, kp_nl, kp_div, kp_mult, k_pause, KC_NO, k_rctrl, k_c, k_x }, \
|
||||
/* 7 */ { KC_NO, k_b, k_n, KC_NO, KC_NO, k_fwslash, k_space, KC_NO, k_down, k_right, kp_minus, k_left, k_ralt, KC_NO, KC_NO, KC_NO } \
|
||||
}
|
|
@ -38,6 +38,24 @@
|
|||
{R30, R31, R32, R33, R34, R35, R36, R37} \
|
||||
}
|
||||
|
||||
#define LAYOUT_thumb_row( \
|
||||
L07, L06, L05, L04, L03, L02, R05, R04, R03, R02, R01, R00, \
|
||||
L17, L16, L15, L14, L13, L12, L01, R06, R15, R14, R13, R12, R11, R10, \
|
||||
L27, L26, L25, L24, L23, L22, L11, R16, R25, R24, R23, R22, R21, R20, \
|
||||
L37, L36, L35, L34, L33, L32, L21, R26, R35, R34, R33, R32, R31, R30, \
|
||||
L00, L10, L20, L30, R37, R27, R17, R07, \
|
||||
L31, R36 \
|
||||
) { \
|
||||
{L00, L01, L02, L03, L04, L05, L06, L07}, \
|
||||
{L10, L11, L12, L13, L14, L15, L16, L17}, \
|
||||
{L20, L21, L22, L23, L24, L25, L26, L27}, \
|
||||
{L30, L31, L32, L33, L34, L35, L36, L37}, \
|
||||
{R00, R01, R02, R03, R04, R05, R06, R07}, \
|
||||
{R10, R11, R12, R13, R14, R15, R16, R17}, \
|
||||
{R20, R21, R22, R23, R24, R25, R26, R27}, \
|
||||
{R30, R31, R32, R33, R34, R35, R36, R37} \
|
||||
}
|
||||
|
||||
#include "wire-protocol-constants.h"
|
||||
#define I2C_ADDR_LEFT (0x58 << 1)
|
||||
#define I2C_ADDR_RIGHT (I2C_ADDR_LEFT + 6)
|
||||
|
|
|
@ -1,41 +1,8 @@
|
|||
/*
|
||||
Copyright 2021 Studio Kestra
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
// Copyright 2023 studiokestra (@studiokestra)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#if defined(KEYBOARD_studiokestra_galatea_rev2)
|
||||
#define RGB_DI_PIN D4
|
||||
#define RGBLED_NUM 24
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#endif
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
/* Copyright 2021 Studio Kestra
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_BASE] = LAYOUT_all(
|
||||
KC_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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_LSFT, 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_RIGHT ),
|
||||
|
||||
[_FN] = LAYOUT_all(
|
||||
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 +0,0 @@
|
|||
# The default keymap for Galatea
|
|
@ -1,51 +0,0 @@
|
|||
/* Copyright 2021 Studio Kestra
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN1,
|
||||
_FN2
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_BASE] = LAYOUT_all(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_LSFT, 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_RIGHT ),
|
||||
|
||||
[_FN1] = LAYOUT_all(
|
||||
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
|
||||
|
||||
[_FN2] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 +0,0 @@
|
|||
# Studio Kestra's Galatea keymap for VIA
|
|
@ -1,27 +1,29 @@
|
|||
# Galatea
|
||||
# studiokestra/galatea
|
||||
|
||||
![studiokestra/galatea](https://i.imgur.com/juPhV1xh.png)
|
||||
|
||||
TKL H87/88c compatible PCB with support for the most common layouts.
|
||||
|
||||
* Keyboard Maintainer: [Studio Kestra](https://github.com/studiokestra/)
|
||||
* Hardware Supported: [studiokestra.ca/galatea](https://studiokestra.ca/galatea/)
|
||||
* Hardware Availability: In-Stock Sale (Dec 2021)
|
||||
* Hardware Supported: Most H87C compatible keyboards
|
||||
* Hardware Availability: https://RNDKBD.com; https://geon.works/
|
||||
* Rev1 firmware is used for Galatea PCBs with no RGB underglow.
|
||||
* Rev2 firmware is used for Galatea PCBs with RGB underglow.
|
||||
|
||||
## Bootload Sequence
|
||||
|
||||
There are 3 ways to put the board in bootloader mode:
|
||||
|
||||
- Hold the top-left key (typically `Esc`) while plugging in the USB cable, OR
|
||||
- While the PCB is plugged into the PC, press the physical `RESET` button on the back of the board, OR
|
||||
- With the default layout, toggle Layer 1 and press the `R` key.
|
||||
|
||||
## Compiling Firmware
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make studiokestra/galatea/rev1:default
|
||||
|
||||
If no revision is specified, it will build rev1 firmware by default.
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make studiokestra/galatea/rev1: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,12 +1,27 @@
|
|||
{
|
||||
"keyboard_name": "Galatea",
|
||||
"manufacturer": "Studio Kestra",
|
||||
"url": "https://studiokestra.ca/galatea",
|
||||
"keyboard_name": "Galatea",
|
||||
"maintainer": "studiokestra",
|
||||
"bootloader": "atmel-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "B2", "D5"],
|
||||
"rows": ["D1", "D0", "B0", "B7", "E6", "B3", "B6", "C6", "D6", "D7", "B4", "D3"]
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"url": "",
|
||||
"usb": {
|
||||
"vid": "0x7C10",
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x8801",
|
||||
"device_version": "0.0.1"
|
||||
"vid": "0x7C10"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "B2", "D5"],
|
||||
|
@ -18,308 +33,101 @@
|
|||
"scroll_lock": "D2",
|
||||
"on_state": 0
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
|
||||
{"x": 1.25, "y": 0},
|
||||
{"x": 2.25, "y": 0},
|
||||
{"x": 3.25, "y": 0},
|
||||
{"x": 4.25, "y": 0},
|
||||
{"x": 5.5, "y": 0},
|
||||
{"x": 6.5, "y": 0},
|
||||
{"x": 7.5, "y": 0},
|
||||
{"x": 8.5, "y": 0},
|
||||
{"x": 9.75, "y": 0},
|
||||
{"x": 10.75, "y": 0},
|
||||
{"x": 11.75, "y": 0},
|
||||
{"x": 12.75, "y": 0},
|
||||
{"x": 14, "y": 0},
|
||||
|
||||
{"x": 15.25, "y": 0},
|
||||
{"x": 16.25, "y": 0},
|
||||
{"x": 17.25, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1.25},
|
||||
{"x": 1, "y": 1.25},
|
||||
{"x": 2, "y": 1.25},
|
||||
{"x": 3, "y": 1.25},
|
||||
{"x": 4, "y": 1.25},
|
||||
{"x": 5, "y": 1.25},
|
||||
{"x": 6, "y": 1.25},
|
||||
{"x": 7, "y": 1.25},
|
||||
{"x": 8, "y": 1.25},
|
||||
{"x": 9, "y": 1.25},
|
||||
{"x": 10, "y": 1.25},
|
||||
{"x": 11, "y": 1.25},
|
||||
{"x": 12, "y": 1.25},
|
||||
{"x": 13, "y": 1.25},
|
||||
{"x": 14, "y": 1.25},
|
||||
|
||||
{"x": 15.25, "y": 1.25},
|
||||
{"x": 16.25, "y": 1.25},
|
||||
{"x": 17.25, "y": 1.25},
|
||||
|
||||
{"x": 0, "y": 2.25, "w": 1.5},
|
||||
{"x": 1.5, "y": 2.25},
|
||||
{"x": 2.5, "y": 2.25},
|
||||
{"x": 3.5, "y": 2.25},
|
||||
{"x": 4.5, "y": 2.25},
|
||||
{"x": 5.5, "y": 2.25},
|
||||
{"x": 6.5, "y": 2.25},
|
||||
{"x": 7.5, "y": 2.25},
|
||||
{"x": 8.5, "y": 2.25},
|
||||
{"x": 9.5, "y": 2.25},
|
||||
{"x": 10.5, "y": 2.25},
|
||||
{"x": 11.5, "y": 2.25},
|
||||
{"x": 12.5, "y": 2.25},
|
||||
{"x": 13.5, "y": 2.25, "w": 1.5},
|
||||
|
||||
{"x": 15.25, "y": 2.25},
|
||||
{"x": 16.25, "y": 2.25},
|
||||
{"x": 17.25, "y": 2.25},
|
||||
|
||||
{"x": 0, "y": 3.25, "w": 1.75},
|
||||
{"x": 1.75, "y": 3.25},
|
||||
{"x": 2.75, "y": 3.25},
|
||||
{"x": 3.75, "y": 3.25},
|
||||
{"x": 4.75, "y": 3.25},
|
||||
{"x": 5.75, "y": 3.25},
|
||||
{"x": 6.75, "y": 3.25},
|
||||
{"x": 7.75, "y": 3.25},
|
||||
{"x": 8.75, "y": 3.25},
|
||||
{"x": 9.75, "y": 3.25},
|
||||
{"x": 10.75, "y": 3.25},
|
||||
{"x": 11.75, "y": 3.25},
|
||||
{"x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"x": 0, "y": 4.25, "w": 1.25},
|
||||
{"x": 1.25, "y": 4.25},
|
||||
{"x": 2.25, "y": 4.25},
|
||||
{"x": 3.25, "y": 4.25},
|
||||
{"x": 4.25, "y": 4.25},
|
||||
{"x": 5.25, "y": 4.25},
|
||||
{"x": 6.25, "y": 4.25},
|
||||
{"x": 7.25, "y": 4.25},
|
||||
{"x": 8.25, "y": 4.25},
|
||||
{"x": 9.25, "y": 4.25},
|
||||
{"x": 10.25, "y": 4.25},
|
||||
{"x": 11.25, "y": 4.25},
|
||||
{"x": 12.25, "y": 4.25, "w": 1.75},
|
||||
{"x": 14, "y": 4.25},
|
||||
|
||||
{"x": 16.25, "y": 4.25},
|
||||
|
||||
{"x": 0, "y": 5.25, "w": 1.25},
|
||||
{"x": 1.25, "y": 5.25, "w": 1.25},
|
||||
{"x": 2.5, "y": 5.25, "w": 1.25},
|
||||
{"x": 3.75, "y": 5.25, "w": 6.25},
|
||||
{"x": 10, "y": 5.25, "w": 1.25},
|
||||
{"x": 11.25, "y": 5.25, "w": 1.25},
|
||||
{"x": 12.5, "y": 5.25, "w": 1.25},
|
||||
{"x": 13.75, "y": 5.25, "w": 1.25},
|
||||
|
||||
{"x": 15.25, "y": 5.25},
|
||||
{"x": 16.25, "y": 5.25},
|
||||
{"x": 17.25, "y": 5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_f13_ansi": {
|
||||
"layout": [
|
||||
{"label":"Esc", "x":0, "y":0},
|
||||
{"label":"F1", "x":1.25, "y":0},
|
||||
{"label":"F2", "x":2.25, "y":0},
|
||||
{"label":"F3", "x":3.25, "y":0},
|
||||
{"label":"F4", "x":4.25, "y":0},
|
||||
{"label":"F5", "x":5.5, "y":0},
|
||||
{"label":"F6", "x":6.5, "y":0},
|
||||
{"label":"F7", "x":7.5, "y":0},
|
||||
{"label":"F8", "x":8.5, "y":0},
|
||||
{"label":"F9", "x":9.75, "y":0},
|
||||
{"label":"F10", "x":10.75, "y":0},
|
||||
{"label":"F11", "x":11.75, "y":0},
|
||||
{"label":"F12", "x":12.75, "y":0},
|
||||
{"label":"F13", "x":14, "y":0},
|
||||
{"label":"Print Screen", "x":15.25, "y":0},
|
||||
{"label":"Scroll Lock", "x":16.25, "y":0},
|
||||
{"label":"Pause", "x":17.25, "y":0},
|
||||
|
||||
{"label":"`~", "x":0, "y":1.25},
|
||||
{"label":"1!", "x":1, "y":1.25},
|
||||
{"label":"2@", "x":2, "y":1.25},
|
||||
{"label":"3#", "x":3, "y":1.25},
|
||||
{"label":"4$", "x":4, "y":1.25},
|
||||
{"label":"5%", "x":5, "y":1.25},
|
||||
{"label":"6^", "x":6, "y":1.25},
|
||||
{"label":"7&", "x":7, "y":1.25},
|
||||
{"label":"8*", "x":8, "y":1.25},
|
||||
{"label":"9(", "x":9, "y":1.25},
|
||||
{"label":"0)", "x":10, "y":1.25},
|
||||
{"label":"-_", "x":11, "y":1.25},
|
||||
{"label":"=+", "x":12, "y":1.25},
|
||||
{"label":"Backspace", "x":13, "y":1.25, "w":2},
|
||||
{"label":"Insert", "x":15.25, "y":1.25},
|
||||
{"label":"Home", "x":16.25, "y":1.25},
|
||||
{"label":"Page Up", "x":17.25, "y":1.25},
|
||||
|
||||
{"label":"Tab", "x":0, "y":2.25, "w":1.5},
|
||||
{"label":"Q", "x":1.5, "y":2.25},
|
||||
{"label":"W", "x":2.5, "y":2.25},
|
||||
{"label":"E", "x":3.5, "y":2.25},
|
||||
{"label":"R", "x":4.5, "y":2.25},
|
||||
{"label":"T", "x":5.5, "y":2.25},
|
||||
{"label":"Y", "x":6.5, "y":2.25},
|
||||
{"label":"U", "x":7.5, "y":2.25},
|
||||
{"label":"I", "x":8.5, "y":2.25},
|
||||
{"label":"O", "x":9.5, "y":2.25},
|
||||
{"label":"P", "x":10.5, "y":2.25},
|
||||
{"label":"[{", "x":11.5, "y":2.25},
|
||||
{"label":"]}", "x":12.5, "y":2.25},
|
||||
{"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
|
||||
{"label":"Delete", "x":15.25, "y":2.25},
|
||||
{"label":"End", "x":16.25, "y":2.25},
|
||||
{"label":"Page Down", "x":17.25, "y":2.25},
|
||||
|
||||
{"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
||||
{"label":"A", "x":1.75, "y":3.25},
|
||||
{"label":"S", "x":2.75, "y":3.25},
|
||||
{"label":"D", "x":3.75, "y":3.25},
|
||||
{"label":"F", "x":4.75, "y":3.25},
|
||||
{"label":"G", "x":5.75, "y":3.25},
|
||||
{"label":"H", "x":6.75, "y":3.25},
|
||||
{"label":"J", "x":7.75, "y":3.25},
|
||||
{"label":"K", "x":8.75, "y":3.25},
|
||||
{"label":"L", "x":9.75, "y":3.25},
|
||||
{"label":";:", "x":10.75, "y":3.25},
|
||||
{"label":"'\"", "x":11.75, "y":3.25},
|
||||
{"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
|
||||
|
||||
{"label":"Shift", "x":0, "y":4.25, "w":2.25},
|
||||
{"label":"Z", "x":2.25, "y":4.25},
|
||||
{"label":"X", "x":3.25, "y":4.25},
|
||||
{"label":"C", "x":4.25, "y":4.25},
|
||||
{"label":"V", "x":5.25, "y":4.25},
|
||||
{"label":"B", "x":6.25, "y":4.25},
|
||||
{"label":"N", "x":7.25, "y":4.25},
|
||||
{"label":"M", "x":8.25, "y":4.25},
|
||||
{"label":",<", "x":9.25, "y":4.25},
|
||||
{"label":".>", "x":10.25, "y":4.25},
|
||||
{"label":"/?", "x":11.25, "y":4.25},
|
||||
{"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
|
||||
{"label":"\u2191", "x":16.25, "y":4.25},
|
||||
|
||||
{"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
||||
{"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
|
||||
{"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
||||
{"label":"Space", "x":3.75, "y":5.25, "w":6.25},
|
||||
{"label":"Alt", "x":10, "y":5.25, "w":1.25},
|
||||
{"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
|
||||
{"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
||||
{"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
||||
{"label":"\u2190", "x":15.25, "y":5.25},
|
||||
{"label":"\u2193", "x":16.25, "y":5.25},
|
||||
{"label":"\u2192", "x":17.25, "y":5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_f13_iso": {
|
||||
"layout": [
|
||||
{"label":"Esc", "x":0, "y":0},
|
||||
{"label":"F1", "x":1.25, "y":0},
|
||||
{"label":"F2", "x":2.25, "y":0},
|
||||
{"label":"F3", "x":3.25, "y":0},
|
||||
{"label":"F4", "x":4.25, "y":0},
|
||||
{"label":"F5", "x":5.5, "y":0},
|
||||
{"label":"F6", "x":6.5, "y":0},
|
||||
{"label":"F7", "x":7.5, "y":0},
|
||||
{"label":"F8", "x":8.5, "y":0},
|
||||
{"label":"F9", "x":9.75, "y":0},
|
||||
{"label":"F10", "x":10.75, "y":0},
|
||||
{"label":"F11", "x":11.75, "y":0},
|
||||
{"label":"F12", "x":12.75, "y":0},
|
||||
{"label":"F13", "x":14, "y":0},
|
||||
{"label":"Print Screen", "x":15.25, "y":0},
|
||||
{"label":"Scroll Lock", "x":16.25, "y":0},
|
||||
{"label":"Pause", "x":17.25, "y":0},
|
||||
|
||||
{"label":"`~", "x":0, "y":1.25},
|
||||
{"label":"1!", "x":1, "y":1.25},
|
||||
{"label":"2\"", "x":2, "y":1.25},
|
||||
{"label":"3\u00a3", "x":3, "y":1.25},
|
||||
{"label":"4$", "x":4, "y":1.25},
|
||||
{"label":"5%", "x":5, "y":1.25},
|
||||
{"label":"6^", "x":6, "y":1.25},
|
||||
{"label":"7&", "x":7, "y":1.25},
|
||||
{"label":"8*", "x":8, "y":1.25},
|
||||
{"label":"9(", "x":9, "y":1.25},
|
||||
{"label":"0)", "x":10, "y":1.25},
|
||||
{"label":"-_", "x":11, "y":1.25},
|
||||
{"label":"=+", "x":12, "y":1.25},
|
||||
{"label":"Backspace", "x":13, "y":1.25, "w":2},
|
||||
{"label":"Insert", "x":15.25, "y":1.25},
|
||||
{"label":"Home", "x":16.25, "y":1.25},
|
||||
{"label":"Page Up", "x":17.25, "y":1.25},
|
||||
|
||||
{"label":"Tab", "x":0, "y":2.25, "w":1.5},
|
||||
{"label":"Q", "x":1.5, "y":2.25},
|
||||
{"label":"W", "x":2.5, "y":2.25},
|
||||
{"label":"E", "x":3.5, "y":2.25},
|
||||
{"label":"R", "x":4.5, "y":2.25},
|
||||
{"label":"T", "x":5.5, "y":2.25},
|
||||
{"label":"Y", "x":6.5, "y":2.25},
|
||||
{"label":"U", "x":7.5, "y":2.25},
|
||||
{"label":"I", "x":8.5, "y":2.25},
|
||||
{"label":"O", "x":9.5, "y":2.25},
|
||||
{"label":"P", "x":10.5, "y":2.25},
|
||||
{"label":"[{", "x":11.5, "y":2.25},
|
||||
{"label":"]}", "x":12.5, "y":2.25},
|
||||
{"label":"Delete", "x":15.25, "y":2.25},
|
||||
{"label":"End", "x":16.25, "y":2.25},
|
||||
{"label":"Page Down", "x":17.25, "y":2.25},
|
||||
|
||||
{"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
||||
{"label":"A", "x":1.75, "y":3.25},
|
||||
{"label":"S", "x":2.75, "y":3.25},
|
||||
{"label":"D", "x":3.75, "y":3.25},
|
||||
{"label":"F", "x":4.75, "y":3.25},
|
||||
{"label":"G", "x":5.75, "y":3.25},
|
||||
{"label":"H", "x":6.75, "y":3.25},
|
||||
{"label":"J", "x":7.75, "y":3.25},
|
||||
{"label":"K", "x":8.75, "y":3.25},
|
||||
{"label":"L", "x":9.75, "y":3.25},
|
||||
{"label":";:", "x":10.75, "y":3.25},
|
||||
{"label":"'@", "x":11.75, "y":3.25},
|
||||
{"label":"#~", "x":12.75, "y":3.25},
|
||||
{"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
|
||||
|
||||
{"label":"Shift", "x":0, "y":4.25, "w":1.25},
|
||||
{"label":"\\|", "x":1.25, "y":4.25},
|
||||
{"label":"Z", "x":2.25, "y":4.25},
|
||||
{"label":"X", "x":3.25, "y":4.25},
|
||||
{"label":"C", "x":4.25, "y":4.25},
|
||||
{"label":"V", "x":5.25, "y":4.25},
|
||||
{"label":"B", "x":6.25, "y":4.25},
|
||||
{"label":"N", "x":7.25, "y":4.25},
|
||||
{"label":"M", "x":8.25, "y":4.25},
|
||||
{"label":",<", "x":9.25, "y":4.25},
|
||||
{"label":".>", "x":10.25, "y":4.25},
|
||||
{"label":"/?", "x":11.25, "y":4.25},
|
||||
{"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
|
||||
{"label":"\u2191", "x":16.25, "y":4.25},
|
||||
|
||||
{"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
||||
{"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
|
||||
{"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
||||
{"label":"Space", "x":3.75, "y":5.25, "w":6.25},
|
||||
{"label":"Alt", "x":10, "y":5.25, "w":1.25},
|
||||
{"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
|
||||
{"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
||||
{"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
||||
{"label":"\u2190", "x":15.25, "y":5.25},
|
||||
{"label":"\u2193", "x":16.25, "y":5.25},
|
||||
{"label":"\u2192", "x":17.25, "y":5.25}
|
||||
{ "matrix": [0,0], "x":0, "y":0},
|
||||
{ "matrix": [1,0], "x":1.25, "y":0},
|
||||
{ "matrix": [0,1], "x":2.25, "y":0},
|
||||
{ "matrix": [0,2], "x":3.25, "y":0},
|
||||
{ "matrix": [1,2], "x":4.25, "y":0},
|
||||
{ "matrix": [0,3], "x":5.5, "y":0},
|
||||
{ "matrix": [1,3], "x":6.5, "y":0},
|
||||
{ "matrix": [0,4], "x":7.5, "y":0},
|
||||
{ "matrix": [1,4], "x":8.5, "y":0},
|
||||
{ "matrix": [0,5], "x":9.75, "y":0},
|
||||
{ "matrix": [1,5], "x":10.75, "y":0},
|
||||
{ "matrix": [0,6], "x":11.75, "y":0},
|
||||
{ "matrix": [1,6], "x":12.75, "y":0},
|
||||
{ "matrix": [0,7], "x":14, "y":0},
|
||||
{ "matrix": [1,7], "x":15.25, "y":0},
|
||||
{ "matrix": [0,8], "x":16.25, "y":0},
|
||||
{ "matrix": [1,8], "x":17.25, "y":0},
|
||||
{ "matrix": [2,0], "x":0, "y":1.25},
|
||||
{ "matrix": [3,0], "x":1, "y":1.25},
|
||||
{ "matrix": [2,1], "x":2, "y":1.25},
|
||||
{ "matrix": [3,1], "x":3, "y":1.25},
|
||||
{ "matrix": [2,2], "x":4, "y":1.25},
|
||||
{ "matrix": [3,2], "x":5, "y":1.25},
|
||||
{ "matrix": [2,3], "x":6, "y":1.25},
|
||||
{ "matrix": [3,3], "x":7, "y":1.25},
|
||||
{ "matrix": [2,4], "x":8, "y":1.25},
|
||||
{ "matrix": [3,4], "x":9, "y":1.25},
|
||||
{ "matrix": [2,5], "x":10, "y":1.25},
|
||||
{ "matrix": [3,5], "x":11, "y":1.25},
|
||||
{ "matrix": [2,6], "x":12, "y":1.25},
|
||||
{ "matrix": [3,6], "x":13, "y":1.25},
|
||||
{ "matrix": [2,7], "x":14, "y":1.25},
|
||||
{ "matrix": [3,7], "x":15.25, "y":1.25},
|
||||
{ "matrix": [2,8], "x":16.25, "y":1.25},
|
||||
{ "matrix": [3,8], "x":17.25, "y":1.25},
|
||||
{ "matrix": [4,0], "x":0, "y":2.25, "w":1.5},
|
||||
{ "matrix": [5,0], "x":1.5, "y":2.25},
|
||||
{ "matrix": [4,1], "x":2.5, "y":2.25},
|
||||
{ "matrix": [5,1], "x":3.5, "y":2.25},
|
||||
{ "matrix": [4,2], "x":4.5, "y":2.25},
|
||||
{ "matrix": [5,2], "x":5.5, "y":2.25},
|
||||
{ "matrix": [4,3], "x":6.5, "y":2.25},
|
||||
{ "matrix": [5,3], "x":7.5, "y":2.25},
|
||||
{ "matrix": [4,4], "x":8.5, "y":2.25},
|
||||
{ "matrix": [5,4], "x":9.5, "y":2.25},
|
||||
{ "matrix": [4,5], "x":10.5, "y":2.25},
|
||||
{ "matrix": [5,5], "x":11.5, "y":2.25},
|
||||
{ "matrix": [4,6], "x":12.5, "y":2.25},
|
||||
{ "matrix": [4,7], "x":13.5, "y":2.25, "w":1.5},
|
||||
{ "matrix": [5,7], "x":15.25, "y":2.25},
|
||||
{ "matrix": [4,8], "x":16.25, "y":2.25},
|
||||
{ "matrix": [5,8], "x":17.25, "y":2.25},
|
||||
{ "matrix": [6,0], "x":0, "y":3.25, "w":1.75},
|
||||
{ "matrix": [7,0], "x":1.75, "y":3.25},
|
||||
{ "matrix": [6,1], "x":2.75, "y":3.25},
|
||||
{ "matrix": [7,1], "x":3.75, "y":3.25},
|
||||
{ "matrix": [6,2], "x":4.75, "y":3.25},
|
||||
{ "matrix": [7,2], "x":5.75, "y":3.25},
|
||||
{ "matrix": [6,3], "x":6.75, "y":3.25},
|
||||
{ "matrix": [7,3], "x":7.75, "y":3.25},
|
||||
{ "matrix": [6,4], "x":8.75, "y":3.25},
|
||||
{ "matrix": [7,4], "x":9.75, "y":3.25},
|
||||
{ "matrix": [6,5], "x":10.75, "y":3.25},
|
||||
{ "matrix": [7,5], "x":11.75, "y":3.25},
|
||||
{ "matrix": [6,6], "x":12.75, "y":3.25, "w":2.25},
|
||||
{ "matrix": [8,0], "x":0, "y":4.25, "w":1.25},
|
||||
{ "matrix": [9,0], "x":1.25, "y":4.25},
|
||||
{ "matrix": [8,1], "x":2.25, "y":4.25},
|
||||
{ "matrix": [9,1], "x":3.25, "y":4.25},
|
||||
{ "matrix": [8,2], "x":4.25, "y":4.25},
|
||||
{ "matrix": [9,2], "x":5.25, "y":4.25},
|
||||
{ "matrix": [8,3], "x":6.25, "y":4.25},
|
||||
{ "matrix": [9,3], "x":7.25, "y":4.25},
|
||||
{ "matrix": [8,4], "x":8.25, "y":4.25},
|
||||
{ "matrix": [9,4], "x":9.25, "y":4.25},
|
||||
{ "matrix": [8,5], "x":10.25, "y":4.25},
|
||||
{ "matrix": [9,5], "x":11.25, "y":4.25},
|
||||
{ "matrix": [8,6], "x":12.25, "y":4.25, "w":1.75},
|
||||
{ "matrix": [8,7], "x":14, "y":4.25},
|
||||
{ "matrix": [8,8], "x":16.25, "y":4.25},
|
||||
{ "matrix": [10,0], "x":0, "y":5.25, "w":1.25},
|
||||
{ "matrix": [11,0], "x":1.25, "y":5.25, "w":1.25},
|
||||
{ "matrix": [10,1], "x":2.5, "y":5.25, "w":1.25},
|
||||
{ "matrix": [10,3], "x":3.75, "y":5.25, "w":6.25},
|
||||
{ "matrix": [10,5], "x":10, "y":5.25, "w":1.25},
|
||||
{ "matrix": [11,5], "x":11.25, "y":5.25, "w":1.25},
|
||||
{ "matrix": [10,6], "x":12.5, "y":5.25, "w":1.25},
|
||||
{ "matrix": [10,7], "x":13.75, "y":5.25, "w":1.25},
|
||||
{ "matrix": [11,7], "x":15.25, "y":5.25},
|
||||
{ "matrix": [10,8], "x":16.25, "y":5.25},
|
||||
{ "matrix": [11,8], "x":17.25, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
// Copyright 2023 studiokestra (@studiokestra)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
|
||||
* │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13│ │PSc│Scr│Pse│
|
||||
* └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐
|
||||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │LBk│RBk│ │Ins│Hom│PgU│
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤
|
||||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
|
||||
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐
|
||||
* │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Mo1│ │ ↑ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐
|
||||
* │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
|
||||
*/
|
||||
[0] = LAYOUT(
|
||||
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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_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_RIGHT ),
|
||||
|
||||
[1] = LAYOUT(
|
||||
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
|
||||
};
|
|
@ -0,0 +1,40 @@
|
|||
// Copyright 2023 studiokestra (@studiokestra)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/*
|
||||
* ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
|
||||
* │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13│ │PSc│Scr│Pse│
|
||||
* └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐
|
||||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │LBk│RBk│ │Ins│Hom│PgU│
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤
|
||||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
|
||||
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐
|
||||
* │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Mo1│ │ ↑ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐
|
||||
* │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
|
||||
*/
|
||||
|
||||
[0] = LAYOUT(
|
||||
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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_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_RIGHT ),
|
||||
|
||||
[1] = LAYOUT(
|
||||
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
|
||||
};
|
|
@ -0,0 +1 @@
|
|||
VIA_ENABLE = yes
|
|
@ -1,116 +0,0 @@
|
|||
/* Copyright 2021 Studio Kestra
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define ___ KC_NO
|
||||
|
||||
/*
|
||||
* ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
|
||||
* │00 │ │01 │02 │12 │03 │ │13 │04 │14 │05 │ │15 │06 │16 │07 │ │17 │08 │18 │ Standard
|
||||
* └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
|
||||
* ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
|
||||
* │00 ││10 │01 │02 │12 ││03 │13 │04 │14 ││05 │15 │06 │16 ││07 │ │17 │08 │18 │ F13
|
||||
* └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───────┐
|
||||
* │20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │27 │ │37 │28 │38 │ │36 │ 2u Backspace
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ └─┬─────┤
|
||||
* │40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │46 │47 │ │57 │48 │58 │ │ │
|
||||
* 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ┌──┴┐47 │ ISO Enter
|
||||
* LShift │60 │70 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │ │66 │ │
|
||||
* ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ ┌─┴───┴────┤
|
||||
* │80 │ │80 │90 │81 │91 │82 │92 │83 │93 │84 │94 │85 │95 │86 │87 │ │88 │ │86 │ 2.75u RShift
|
||||
* └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐ └──────────┘
|
||||
* │A0 │B0 │A1 │A3 │A5 │B5 │A6 │A7 │ │B7 │A8 │B8 │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
|
||||
* ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
|
||||
* │A0 │B0 │A1 │A3 │B5 │A6 │A7 │ Tsangan/WKL
|
||||
* └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
|
||||
* ┌────┬────┬───────────────────────────────────────┬────┬────┐
|
||||
* │A0 │B0 │A3 │A6 │A7 │ WK 10u Space
|
||||
* └────┴────┴───────────────────────────────────────┴────┴────┘
|
||||
* ┌─────┐ ┌───────────────────────────────────────┐ ┌─────┐
|
||||
* │A0 │ │A3 │ │A7 │ WKL 10u Space
|
||||
* └─────┘ └───────────────────────────────────────┘ └─────┘
|
||||
*/
|
||||
|
||||
#define LAYOUT_all(\
|
||||
k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, \
|
||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, k28, k38, \
|
||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, k48, k58, \
|
||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, \
|
||||
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k88, \
|
||||
kA0, kB0, kA1, kA3, kA5, kB5, kA6, kA7, kB7, kA8, kB8 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
|
||||
{ k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
|
||||
{ k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
|
||||
{ k80, k81, k82, k83, k84, k85, k86, k87, k88 }, \
|
||||
{ k90, k91, k92, k93, k94, k95, ___, ___, ___ }, \
|
||||
{ kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_tkl_f13_ansi(\
|
||||
k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, \
|
||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, k28, k38, \
|
||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, k48, k58, \
|
||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, \
|
||||
k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k88, \
|
||||
kA0, kB0, kA1, kA3, kA5, kB5, kA6, kA7, kB7, kA8, kB8 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
|
||||
{ k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, ___, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
|
||||
{ k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
|
||||
{ k80, k81, k82, k83, k84, k85, k86, ___, k88 }, \
|
||||
{ ___, k91, k92, k93, k94, k95, ___, ___, ___ }, \
|
||||
{ kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_tkl_f13_iso(\
|
||||
k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, \
|
||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, k28, k38, \
|
||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k57, k48, k58, \
|
||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k47, \
|
||||
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k88, \
|
||||
kA0, kB0, kA1, kA3, kA5, kB5, kA6, kA7, kB7, kA8, kB8 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
|
||||
{ k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, ___, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
|
||||
{ k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
|
||||
{ k80, k81, k82, k83, k84, k85, k86, ___, k88 }, \
|
||||
{ k90, k91, k92, k93, k94, k95, ___, ___, ___ }, \
|
||||
{ kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 } \
|
||||
}
|
|
@ -1,12 +1 @@
|
|||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
# This file intentionally left blank
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright 2023 studiokestra (@studiokestra)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGB_DI_PIN D4
|
||||
#define RGBLED_NUM 24
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_LIMIT_VAL 200 /* The maximum brightness level */
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_MODE_TWINKLE
|
|
@ -1,12 +1,28 @@
|
|||
{
|
||||
"keyboard_name": "Galatea",
|
||||
"manufacturer": "Studio Kestra",
|
||||
"url": "https://studiokestra.ca/galatea",
|
||||
"keyboard_name": "Galatea",
|
||||
"maintainer": "studiokestra",
|
||||
"bootloader": "atmel-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "B2", "D5"],
|
||||
"rows": ["D1", "D0", "B0", "B7", "E6", "B3", "B6", "C6", "D6", "D7", "B4", "D3"]
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"url": "",
|
||||
"usb": {
|
||||
"vid": "0x7C10",
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x8802",
|
||||
"device_version": "0.0.2"
|
||||
"vid": "0x7C10"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "B2", "D5"],
|
||||
|
@ -18,308 +34,101 @@
|
|||
"scroll_lock": "D2",
|
||||
"on_state": 0
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
|
||||
{"x": 1.25, "y": 0},
|
||||
{"x": 2.25, "y": 0},
|
||||
{"x": 3.25, "y": 0},
|
||||
{"x": 4.25, "y": 0},
|
||||
{"x": 5.5, "y": 0},
|
||||
{"x": 6.5, "y": 0},
|
||||
{"x": 7.5, "y": 0},
|
||||
{"x": 8.5, "y": 0},
|
||||
{"x": 9.75, "y": 0},
|
||||
{"x": 10.75, "y": 0},
|
||||
{"x": 11.75, "y": 0},
|
||||
{"x": 12.75, "y": 0},
|
||||
{"x": 14, "y": 0},
|
||||
|
||||
{"x": 15.25, "y": 0},
|
||||
{"x": 16.25, "y": 0},
|
||||
{"x": 17.25, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1.25},
|
||||
{"x": 1, "y": 1.25},
|
||||
{"x": 2, "y": 1.25},
|
||||
{"x": 3, "y": 1.25},
|
||||
{"x": 4, "y": 1.25},
|
||||
{"x": 5, "y": 1.25},
|
||||
{"x": 6, "y": 1.25},
|
||||
{"x": 7, "y": 1.25},
|
||||
{"x": 8, "y": 1.25},
|
||||
{"x": 9, "y": 1.25},
|
||||
{"x": 10, "y": 1.25},
|
||||
{"x": 11, "y": 1.25},
|
||||
{"x": 12, "y": 1.25},
|
||||
{"x": 13, "y": 1.25},
|
||||
{"x": 14, "y": 1.25},
|
||||
|
||||
{"x": 15.25, "y": 1.25},
|
||||
{"x": 16.25, "y": 1.25},
|
||||
{"x": 17.25, "y": 1.25},
|
||||
|
||||
{"x": 0, "y": 2.25, "w": 1.5},
|
||||
{"x": 1.5, "y": 2.25},
|
||||
{"x": 2.5, "y": 2.25},
|
||||
{"x": 3.5, "y": 2.25},
|
||||
{"x": 4.5, "y": 2.25},
|
||||
{"x": 5.5, "y": 2.25},
|
||||
{"x": 6.5, "y": 2.25},
|
||||
{"x": 7.5, "y": 2.25},
|
||||
{"x": 8.5, "y": 2.25},
|
||||
{"x": 9.5, "y": 2.25},
|
||||
{"x": 10.5, "y": 2.25},
|
||||
{"x": 11.5, "y": 2.25},
|
||||
{"x": 12.5, "y": 2.25},
|
||||
{"x": 13.5, "y": 2.25, "w": 1.5},
|
||||
|
||||
{"x": 15.25, "y": 2.25},
|
||||
{"x": 16.25, "y": 2.25},
|
||||
{"x": 17.25, "y": 2.25},
|
||||
|
||||
{"x": 0, "y": 3.25, "w": 1.75},
|
||||
{"x": 1.75, "y": 3.25},
|
||||
{"x": 2.75, "y": 3.25},
|
||||
{"x": 3.75, "y": 3.25},
|
||||
{"x": 4.75, "y": 3.25},
|
||||
{"x": 5.75, "y": 3.25},
|
||||
{"x": 6.75, "y": 3.25},
|
||||
{"x": 7.75, "y": 3.25},
|
||||
{"x": 8.75, "y": 3.25},
|
||||
{"x": 9.75, "y": 3.25},
|
||||
{"x": 10.75, "y": 3.25},
|
||||
{"x": 11.75, "y": 3.25},
|
||||
{"x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"x": 0, "y": 4.25, "w": 1.25},
|
||||
{"x": 1.25, "y": 4.25},
|
||||
{"x": 2.25, "y": 4.25},
|
||||
{"x": 3.25, "y": 4.25},
|
||||
{"x": 4.25, "y": 4.25},
|
||||
{"x": 5.25, "y": 4.25},
|
||||
{"x": 6.25, "y": 4.25},
|
||||
{"x": 7.25, "y": 4.25},
|
||||
{"x": 8.25, "y": 4.25},
|
||||
{"x": 9.25, "y": 4.25},
|
||||
{"x": 10.25, "y": 4.25},
|
||||
{"x": 11.25, "y": 4.25},
|
||||
{"x": 12.25, "y": 4.25, "w": 1.75},
|
||||
{"x": 14, "y": 4.25},
|
||||
|
||||
{"x": 16.25, "y": 4.25},
|
||||
|
||||
{"x": 0, "y": 5.25, "w": 1.25},
|
||||
{"x": 1.25, "y": 5.25, "w": 1.25},
|
||||
{"x": 2.5, "y": 5.25, "w": 1.25},
|
||||
{"x": 3.75, "y": 5.25, "w": 6.25},
|
||||
{"x": 10, "y": 5.25, "w": 1.25},
|
||||
{"x": 11.25, "y": 5.25, "w": 1.25},
|
||||
{"x": 12.5, "y": 5.25, "w": 1.25},
|
||||
{"x": 13.75, "y": 5.25, "w": 1.25},
|
||||
|
||||
{"x": 15.25, "y": 5.25},
|
||||
{"x": 16.25, "y": 5.25},
|
||||
{"x": 17.25, "y": 5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_f13_ansi": {
|
||||
"layout": [
|
||||
{"label":"Esc", "x":0, "y":0},
|
||||
{"label":"F1", "x":1.25, "y":0},
|
||||
{"label":"F2", "x":2.25, "y":0},
|
||||
{"label":"F3", "x":3.25, "y":0},
|
||||
{"label":"F4", "x":4.25, "y":0},
|
||||
{"label":"F5", "x":5.5, "y":0},
|
||||
{"label":"F6", "x":6.5, "y":0},
|
||||
{"label":"F7", "x":7.5, "y":0},
|
||||
{"label":"F8", "x":8.5, "y":0},
|
||||
{"label":"F9", "x":9.75, "y":0},
|
||||
{"label":"F10", "x":10.75, "y":0},
|
||||
{"label":"F11", "x":11.75, "y":0},
|
||||
{"label":"F12", "x":12.75, "y":0},
|
||||
{"label":"F13", "x":14, "y":0},
|
||||
{"label":"Print Screen", "x":15.25, "y":0},
|
||||
{"label":"Scroll Lock", "x":16.25, "y":0},
|
||||
{"label":"Pause", "x":17.25, "y":0},
|
||||
|
||||
{"label":"`~", "x":0, "y":1.25},
|
||||
{"label":"1!", "x":1, "y":1.25},
|
||||
{"label":"2@", "x":2, "y":1.25},
|
||||
{"label":"3#", "x":3, "y":1.25},
|
||||
{"label":"4$", "x":4, "y":1.25},
|
||||
{"label":"5%", "x":5, "y":1.25},
|
||||
{"label":"6^", "x":6, "y":1.25},
|
||||
{"label":"7&", "x":7, "y":1.25},
|
||||
{"label":"8*", "x":8, "y":1.25},
|
||||
{"label":"9(", "x":9, "y":1.25},
|
||||
{"label":"0)", "x":10, "y":1.25},
|
||||
{"label":"-_", "x":11, "y":1.25},
|
||||
{"label":"=+", "x":12, "y":1.25},
|
||||
{"label":"Backspace", "x":13, "y":1.25, "w":2},
|
||||
{"label":"Insert", "x":15.25, "y":1.25},
|
||||
{"label":"Home", "x":16.25, "y":1.25},
|
||||
{"label":"Page Up", "x":17.25, "y":1.25},
|
||||
|
||||
{"label":"Tab", "x":0, "y":2.25, "w":1.5},
|
||||
{"label":"Q", "x":1.5, "y":2.25},
|
||||
{"label":"W", "x":2.5, "y":2.25},
|
||||
{"label":"E", "x":3.5, "y":2.25},
|
||||
{"label":"R", "x":4.5, "y":2.25},
|
||||
{"label":"T", "x":5.5, "y":2.25},
|
||||
{"label":"Y", "x":6.5, "y":2.25},
|
||||
{"label":"U", "x":7.5, "y":2.25},
|
||||
{"label":"I", "x":8.5, "y":2.25},
|
||||
{"label":"O", "x":9.5, "y":2.25},
|
||||
{"label":"P", "x":10.5, "y":2.25},
|
||||
{"label":"[{", "x":11.5, "y":2.25},
|
||||
{"label":"]}", "x":12.5, "y":2.25},
|
||||
{"label":"\\|", "x":13.5, "y":2.25, "w":1.5},
|
||||
{"label":"Delete", "x":15.25, "y":2.25},
|
||||
{"label":"End", "x":16.25, "y":2.25},
|
||||
{"label":"Page Down", "x":17.25, "y":2.25},
|
||||
|
||||
{"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
||||
{"label":"A", "x":1.75, "y":3.25},
|
||||
{"label":"S", "x":2.75, "y":3.25},
|
||||
{"label":"D", "x":3.75, "y":3.25},
|
||||
{"label":"F", "x":4.75, "y":3.25},
|
||||
{"label":"G", "x":5.75, "y":3.25},
|
||||
{"label":"H", "x":6.75, "y":3.25},
|
||||
{"label":"J", "x":7.75, "y":3.25},
|
||||
{"label":"K", "x":8.75, "y":3.25},
|
||||
{"label":"L", "x":9.75, "y":3.25},
|
||||
{"label":";:", "x":10.75, "y":3.25},
|
||||
{"label":"'\"", "x":11.75, "y":3.25},
|
||||
{"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
|
||||
|
||||
{"label":"Shift", "x":0, "y":4.25, "w":2.25},
|
||||
{"label":"Z", "x":2.25, "y":4.25},
|
||||
{"label":"X", "x":3.25, "y":4.25},
|
||||
{"label":"C", "x":4.25, "y":4.25},
|
||||
{"label":"V", "x":5.25, "y":4.25},
|
||||
{"label":"B", "x":6.25, "y":4.25},
|
||||
{"label":"N", "x":7.25, "y":4.25},
|
||||
{"label":"M", "x":8.25, "y":4.25},
|
||||
{"label":",<", "x":9.25, "y":4.25},
|
||||
{"label":".>", "x":10.25, "y":4.25},
|
||||
{"label":"/?", "x":11.25, "y":4.25},
|
||||
{"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
|
||||
{"label":"\u2191", "x":16.25, "y":4.25},
|
||||
|
||||
{"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
||||
{"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
|
||||
{"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
||||
{"label":"Space", "x":3.75, "y":5.25, "w":6.25},
|
||||
{"label":"Alt", "x":10, "y":5.25, "w":1.25},
|
||||
{"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
|
||||
{"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
||||
{"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
||||
{"label":"\u2190", "x":15.25, "y":5.25},
|
||||
{"label":"\u2193", "x":16.25, "y":5.25},
|
||||
{"label":"\u2192", "x":17.25, "y":5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_f13_iso": {
|
||||
"layout": [
|
||||
{"label":"Esc", "x":0, "y":0},
|
||||
{"label":"F1", "x":1.25, "y":0},
|
||||
{"label":"F2", "x":2.25, "y":0},
|
||||
{"label":"F3", "x":3.25, "y":0},
|
||||
{"label":"F4", "x":4.25, "y":0},
|
||||
{"label":"F5", "x":5.5, "y":0},
|
||||
{"label":"F6", "x":6.5, "y":0},
|
||||
{"label":"F7", "x":7.5, "y":0},
|
||||
{"label":"F8", "x":8.5, "y":0},
|
||||
{"label":"F9", "x":9.75, "y":0},
|
||||
{"label":"F10", "x":10.75, "y":0},
|
||||
{"label":"F11", "x":11.75, "y":0},
|
||||
{"label":"F12", "x":12.75, "y":0},
|
||||
{"label":"F13", "x":14, "y":0},
|
||||
{"label":"Print Screen", "x":15.25, "y":0},
|
||||
{"label":"Scroll Lock", "x":16.25, "y":0},
|
||||
{"label":"Pause", "x":17.25, "y":0},
|
||||
|
||||
{"label":"`~", "x":0, "y":1.25},
|
||||
{"label":"1!", "x":1, "y":1.25},
|
||||
{"label":"2\"", "x":2, "y":1.25},
|
||||
{"label":"3\u00a3", "x":3, "y":1.25},
|
||||
{"label":"4$", "x":4, "y":1.25},
|
||||
{"label":"5%", "x":5, "y":1.25},
|
||||
{"label":"6^", "x":6, "y":1.25},
|
||||
{"label":"7&", "x":7, "y":1.25},
|
||||
{"label":"8*", "x":8, "y":1.25},
|
||||
{"label":"9(", "x":9, "y":1.25},
|
||||
{"label":"0)", "x":10, "y":1.25},
|
||||
{"label":"-_", "x":11, "y":1.25},
|
||||
{"label":"=+", "x":12, "y":1.25},
|
||||
{"label":"Backspace", "x":13, "y":1.25, "w":2},
|
||||
{"label":"Insert", "x":15.25, "y":1.25},
|
||||
{"label":"Home", "x":16.25, "y":1.25},
|
||||
{"label":"Page Up", "x":17.25, "y":1.25},
|
||||
|
||||
{"label":"Tab", "x":0, "y":2.25, "w":1.5},
|
||||
{"label":"Q", "x":1.5, "y":2.25},
|
||||
{"label":"W", "x":2.5, "y":2.25},
|
||||
{"label":"E", "x":3.5, "y":2.25},
|
||||
{"label":"R", "x":4.5, "y":2.25},
|
||||
{"label":"T", "x":5.5, "y":2.25},
|
||||
{"label":"Y", "x":6.5, "y":2.25},
|
||||
{"label":"U", "x":7.5, "y":2.25},
|
||||
{"label":"I", "x":8.5, "y":2.25},
|
||||
{"label":"O", "x":9.5, "y":2.25},
|
||||
{"label":"P", "x":10.5, "y":2.25},
|
||||
{"label":"[{", "x":11.5, "y":2.25},
|
||||
{"label":"]}", "x":12.5, "y":2.25},
|
||||
{"label":"Delete", "x":15.25, "y":2.25},
|
||||
{"label":"End", "x":16.25, "y":2.25},
|
||||
{"label":"Page Down", "x":17.25, "y":2.25},
|
||||
|
||||
{"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
||||
{"label":"A", "x":1.75, "y":3.25},
|
||||
{"label":"S", "x":2.75, "y":3.25},
|
||||
{"label":"D", "x":3.75, "y":3.25},
|
||||
{"label":"F", "x":4.75, "y":3.25},
|
||||
{"label":"G", "x":5.75, "y":3.25},
|
||||
{"label":"H", "x":6.75, "y":3.25},
|
||||
{"label":"J", "x":7.75, "y":3.25},
|
||||
{"label":"K", "x":8.75, "y":3.25},
|
||||
{"label":"L", "x":9.75, "y":3.25},
|
||||
{"label":";:", "x":10.75, "y":3.25},
|
||||
{"label":"'@", "x":11.75, "y":3.25},
|
||||
{"label":"#~", "x":12.75, "y":3.25},
|
||||
{"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
|
||||
|
||||
{"label":"Shift", "x":0, "y":4.25, "w":1.25},
|
||||
{"label":"\\|", "x":1.25, "y":4.25},
|
||||
{"label":"Z", "x":2.25, "y":4.25},
|
||||
{"label":"X", "x":3.25, "y":4.25},
|
||||
{"label":"C", "x":4.25, "y":4.25},
|
||||
{"label":"V", "x":5.25, "y":4.25},
|
||||
{"label":"B", "x":6.25, "y":4.25},
|
||||
{"label":"N", "x":7.25, "y":4.25},
|
||||
{"label":"M", "x":8.25, "y":4.25},
|
||||
{"label":",<", "x":9.25, "y":4.25},
|
||||
{"label":".>", "x":10.25, "y":4.25},
|
||||
{"label":"/?", "x":11.25, "y":4.25},
|
||||
{"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
|
||||
{"label":"\u2191", "x":16.25, "y":4.25},
|
||||
|
||||
{"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
||||
{"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
|
||||
{"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
||||
{"label":"Space", "x":3.75, "y":5.25, "w":6.25},
|
||||
{"label":"Alt", "x":10, "y":5.25, "w":1.25},
|
||||
{"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
|
||||
{"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
||||
{"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
||||
{"label":"\u2190", "x":15.25, "y":5.25},
|
||||
{"label":"\u2193", "x":16.25, "y":5.25},
|
||||
{"label":"\u2192", "x":17.25, "y":5.25}
|
||||
{ "matrix": [0,0], "x":0, "y":0},
|
||||
{ "matrix": [1,0], "x":1.25, "y":0},
|
||||
{ "matrix": [0,1], "x":2.25, "y":0},
|
||||
{ "matrix": [0,2], "x":3.25, "y":0},
|
||||
{ "matrix": [1,2], "x":4.25, "y":0},
|
||||
{ "matrix": [0,3], "x":5.5, "y":0},
|
||||
{ "matrix": [1,3], "x":6.5, "y":0},
|
||||
{ "matrix": [0,4], "x":7.5, "y":0},
|
||||
{ "matrix": [1,4], "x":8.5, "y":0},
|
||||
{ "matrix": [0,5], "x":9.75, "y":0},
|
||||
{ "matrix": [1,5], "x":10.75, "y":0},
|
||||
{ "matrix": [0,6], "x":11.75, "y":0},
|
||||
{ "matrix": [1,6], "x":12.75, "y":0},
|
||||
{ "matrix": [0,7], "x":14, "y":0},
|
||||
{ "matrix": [1,7], "x":15.25, "y":0},
|
||||
{ "matrix": [0,8], "x":16.25, "y":0},
|
||||
{ "matrix": [1,8], "x":17.25, "y":0},
|
||||
{ "matrix": [2,0], "x":0, "y":1.25},
|
||||
{ "matrix": [3,0], "x":1, "y":1.25},
|
||||
{ "matrix": [2,1], "x":2, "y":1.25},
|
||||
{ "matrix": [3,1], "x":3, "y":1.25},
|
||||
{ "matrix": [2,2], "x":4, "y":1.25},
|
||||
{ "matrix": [3,2], "x":5, "y":1.25},
|
||||
{ "matrix": [2,3], "x":6, "y":1.25},
|
||||
{ "matrix": [3,3], "x":7, "y":1.25},
|
||||
{ "matrix": [2,4], "x":8, "y":1.25},
|
||||
{ "matrix": [3,4], "x":9, "y":1.25},
|
||||
{ "matrix": [2,5], "x":10, "y":1.25},
|
||||
{ "matrix": [3,5], "x":11, "y":1.25},
|
||||
{ "matrix": [2,6], "x":12, "y":1.25},
|
||||
{ "matrix": [3,6], "x":13, "y":1.25},
|
||||
{ "matrix": [2,7], "x":14, "y":1.25},
|
||||
{ "matrix": [3,7], "x":15.25, "y":1.25},
|
||||
{ "matrix": [2,8], "x":16.25, "y":1.25},
|
||||
{ "matrix": [3,8], "x":17.25, "y":1.25},
|
||||
{ "matrix": [4,0], "x":0, "y":2.25, "w":1.5},
|
||||
{ "matrix": [5,0], "x":1.5, "y":2.25},
|
||||
{ "matrix": [4,1], "x":2.5, "y":2.25},
|
||||
{ "matrix": [5,1], "x":3.5, "y":2.25},
|
||||
{ "matrix": [4,2], "x":4.5, "y":2.25},
|
||||
{ "matrix": [5,2], "x":5.5, "y":2.25},
|
||||
{ "matrix": [4,3], "x":6.5, "y":2.25},
|
||||
{ "matrix": [5,3], "x":7.5, "y":2.25},
|
||||
{ "matrix": [4,4], "x":8.5, "y":2.25},
|
||||
{ "matrix": [5,4], "x":9.5, "y":2.25},
|
||||
{ "matrix": [4,5], "x":10.5, "y":2.25},
|
||||
{ "matrix": [5,5], "x":11.5, "y":2.25},
|
||||
{ "matrix": [4,6], "x":12.5, "y":2.25},
|
||||
{ "matrix": [4,7], "x":13.5, "y":2.25, "w":1.5},
|
||||
{ "matrix": [5,7], "x":15.25, "y":2.25},
|
||||
{ "matrix": [4,8], "x":16.25, "y":2.25},
|
||||
{ "matrix": [5,8], "x":17.25, "y":2.25},
|
||||
{ "matrix": [6,0], "x":0, "y":3.25, "w":1.75},
|
||||
{ "matrix": [7,0], "x":1.75, "y":3.25},
|
||||
{ "matrix": [6,1], "x":2.75, "y":3.25},
|
||||
{ "matrix": [7,1], "x":3.75, "y":3.25},
|
||||
{ "matrix": [6,2], "x":4.75, "y":3.25},
|
||||
{ "matrix": [7,2], "x":5.75, "y":3.25},
|
||||
{ "matrix": [6,3], "x":6.75, "y":3.25},
|
||||
{ "matrix": [7,3], "x":7.75, "y":3.25},
|
||||
{ "matrix": [6,4], "x":8.75, "y":3.25},
|
||||
{ "matrix": [7,4], "x":9.75, "y":3.25},
|
||||
{ "matrix": [6,5], "x":10.75, "y":3.25},
|
||||
{ "matrix": [7,5], "x":11.75, "y":3.25},
|
||||
{ "matrix": [6,6], "x":12.75, "y":3.25, "w":2.25},
|
||||
{ "matrix": [8,0], "x":0, "y":4.25, "w":1.25},
|
||||
{ "matrix": [9,0], "x":1.25, "y":4.25},
|
||||
{ "matrix": [8,1], "x":2.25, "y":4.25},
|
||||
{ "matrix": [9,1], "x":3.25, "y":4.25},
|
||||
{ "matrix": [8,2], "x":4.25, "y":4.25},
|
||||
{ "matrix": [9,2], "x":5.25, "y":4.25},
|
||||
{ "matrix": [8,3], "x":6.25, "y":4.25},
|
||||
{ "matrix": [9,3], "x":7.25, "y":4.25},
|
||||
{ "matrix": [8,4], "x":8.25, "y":4.25},
|
||||
{ "matrix": [9,4], "x":9.25, "y":4.25},
|
||||
{ "matrix": [8,5], "x":10.25, "y":4.25},
|
||||
{ "matrix": [9,5], "x":11.25, "y":4.25},
|
||||
{ "matrix": [8,6], "x":12.25, "y":4.25, "w":1.75},
|
||||
{ "matrix": [8,7], "x":14, "y":4.25},
|
||||
{ "matrix": [8,8], "x":16.25, "y":4.25},
|
||||
{ "matrix": [10,0], "x":0, "y":5.25, "w":1.25},
|
||||
{ "matrix": [11,0], "x":1.25, "y":5.25, "w":1.25},
|
||||
{ "matrix": [10,1], "x":2.5, "y":5.25, "w":1.25},
|
||||
{ "matrix": [10,3], "x":3.75, "y":5.25, "w":6.25},
|
||||
{ "matrix": [10,5], "x":10, "y":5.25, "w":1.25},
|
||||
{ "matrix": [11,5], "x":11.25, "y":5.25, "w":1.25},
|
||||
{ "matrix": [10,6], "x":12.5, "y":5.25, "w":1.25},
|
||||
{ "matrix": [10,7], "x":13.75, "y":5.25, "w":1.25},
|
||||
{ "matrix": [11,7], "x":15.25, "y":5.25},
|
||||
{ "matrix": [10,8], "x":16.25, "y":5.25},
|
||||
{ "matrix": [11,8], "x":17.25, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
// Copyright 2023 studiokestra (@studiokestra)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
|
||||
* │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13│ │PSc│Scr│Pse│
|
||||
* └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐
|
||||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │LBk│RBk│ │Ins│Hom│PgU│
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤
|
||||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
|
||||
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐
|
||||
* │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Mo1│ │ ↑ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐
|
||||
* │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
|
||||
*/
|
||||
[0] = LAYOUT(
|
||||
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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_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_RIGHT ),
|
||||
|
||||
[1] = LAYOUT(
|
||||
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
|
||||
};
|
|
@ -0,0 +1,40 @@
|
|||
// Copyright 2023 studiokestra (@studiokestra)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/*
|
||||
* ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
|
||||
* │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13│ │PSc│Scr│Pse│
|
||||
* └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐
|
||||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │LBk│RBk│ │Ins│Hom│PgU│
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤
|
||||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
|
||||
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐
|
||||
* │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Mo1│ │ ↑ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐
|
||||
* │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
|
||||
*/
|
||||
|
||||
[0] = LAYOUT(
|
||||
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_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_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_RIGHT ),
|
||||
|
||||
[1] = LAYOUT(
|
||||
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
|
||||
};
|
|
@ -0,0 +1 @@
|
|||
VIA_ENABLE = yes
|
|
@ -1,116 +0,0 @@
|
|||
/* Copyright 2021 Studio Kestra
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define ___ KC_NO
|
||||
|
||||
/*
|
||||
* ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
|
||||
* │00 │ │01 │02 │12 │03 │ │13 │04 │14 │05 │ │15 │06 │16 │07 │ │17 │08 │18 │ Standard
|
||||
* └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
|
||||
* ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
|
||||
* │00 ││10 │01 │02 │12 ││03 │13 │04 │14 ││05 │15 │06 │16 ││07 │ │17 │08 │18 │ F13
|
||||
* └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───────┐
|
||||
* │20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │27 │ │37 │28 │38 │ │36 │ 2u Backspace
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ └─┬─────┤
|
||||
* │40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │46 │47 │ │57 │48 │58 │ │ │
|
||||
* 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ┌──┴┐47 │ ISO Enter
|
||||
* LShift │60 │70 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │ │66 │ │
|
||||
* ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ ┌─┴───┴────┤
|
||||
* │80 │ │80 │90 │81 │91 │82 │92 │83 │93 │84 │94 │85 │95 │86 │87 │ │88 │ │86 │ 2.75u RShift
|
||||
* └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐ └──────────┘
|
||||
* │A0 │B0 │A1 │A3 │A5 │B5 │A6 │A7 │ │B7 │A8 │B8 │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
|
||||
* ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
|
||||
* │A0 │B0 │A1 │A3 │B5 │A6 │A7 │ Tsangan/WKL
|
||||
* └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
|
||||
* ┌────┬────┬───────────────────────────────────────┬────┬────┐
|
||||
* │A0 │B0 │A3 │A6 │A7 │ WK 10u Space
|
||||
* └────┴────┴───────────────────────────────────────┴────┴────┘
|
||||
* ┌─────┐ ┌───────────────────────────────────────┐ ┌─────┐
|
||||
* │A0 │ │A3 │ │A7 │ WKL 10u Space
|
||||
* └─────┘ └───────────────────────────────────────┘ └─────┘
|
||||
*/
|
||||
|
||||
#define LAYOUT_all(\
|
||||
k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, \
|
||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, k28, k38, \
|
||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, k48, k58, \
|
||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, \
|
||||
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k88, \
|
||||
kA0, kB0, kA1, kA3, kA5, kB5, kA6, kA7, kB7, kA8, kB8 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
|
||||
{ k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
|
||||
{ k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
|
||||
{ k80, k81, k82, k83, k84, k85, k86, k87, k88 }, \
|
||||
{ k90, k91, k92, k93, k94, k95, ___, ___, ___ }, \
|
||||
{ kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_tkl_f13_ansi(\
|
||||
k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, \
|
||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, k28, k38, \
|
||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, k48, k58, \
|
||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, \
|
||||
k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k88, \
|
||||
kA0, kB0, kA1, kA3, kA5, kB5, kA6, kA7, kB7, kA8, kB8 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
|
||||
{ k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, ___, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
|
||||
{ k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
|
||||
{ k80, k81, k82, k83, k84, k85, k86, ___, k88 }, \
|
||||
{ ___, k91, k92, k93, k94, k95, ___, ___, ___ }, \
|
||||
{ kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_tkl_f13_iso(\
|
||||
k00, k10, k01, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, \
|
||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, k28, k38, \
|
||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k57, k48, k58, \
|
||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k47, \
|
||||
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k88, \
|
||||
kA0, kB0, kA1, kA3, kA5, kB5, kA6, kA7, kB7, kA8, kB8 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
|
||||
{ k10, ___, k12, k13, k14, k15, k16, k17, k18 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, ___, k28 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, k55, ___, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, k65, k66, ___, ___ }, \
|
||||
{ k70, k71, k72, k73, k74, k75, ___, ___, ___ }, \
|
||||
{ k80, k81, k82, k83, k84, k85, k86, ___, k88 }, \
|
||||
{ k90, k91, k92, k93, k94, k95, ___, ___, ___ }, \
|
||||
{ kA0, kA1, ___, kA3, ___, kA5, kA6, kA7, kA8 }, \
|
||||
{ kB0, ___, ___, ___, ___, kB5, ___, kB7, kB8 } \
|
||||
}
|
|
@ -1,12 +1 @@
|
|||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
# This file intentionally left blank
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -15,17 +15,17 @@
|
|||
*/
|
||||
#pragma once
|
||||
|
||||
#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
|
||||
|
||||
#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
#define MATRIX_HAS_GHOST
|
||||
#ifndef SERIAL_NUMBER
|
||||
#define SERIAL_NUMBER DEF_SERIAL_NUMBER
|
||||
#endif
|
||||
|
||||
#define STM32_HSECLK 16000000
|
||||
|
||||
#define SOLENOID_PIN B5
|
||||
#define HAPTIC_ENABLE_PIN C13
|
||||
#define SOLENOID_DEFAULT_DWELL 4
|
||||
#define SOLENOID_DEFAULT_DWELL 20
|
||||
#define SOLENOID_MIN_DWELL 4
|
||||
#define HAPTIC_OFF_IN_LOW_POWER 1
|
||||
#define NO_HAPTIC_MOD
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"keyboard_name": "Unicomp Classic / Ultra Classic / New M (post-2013)",
|
||||
"manufacturer": "Unicomp/Purdea Andrei",
|
||||
"maintainer": "purdeaandrei",
|
||||
"url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
|
||||
"indicators": {
|
||||
"caps_lock": "C11",
|
||||
"num_lock": "C12",
|
||||
"scroll_lock": "C10"
|
||||
},
|
||||
"processor": "STM32F446",
|
||||
"bootloader": "stm32-dfu",
|
||||
"diode_direction": "ROW2COL",
|
||||
"matrix_pins": {
|
||||
// The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
|
||||
// the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
|
||||
"cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
|
||||
"rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
|
||||
}
|
||||
}
|
|
@ -1,88 +0,0 @@
|
|||
/* Copyright 2020 Purdea Andrei
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* This is a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
|
||||
#define LAYOUT_all( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
|
||||
k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lwin, k_lalt, k_code, k_space, k_1_d, k_6_4, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0_hidden, kp_0, kp_dot, kp_enter_hidden \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
|
||||
/* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
|
||||
/* 2 */ { k_1, k_bsp_hidden, kp_nl, k_pgup, k_code, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
|
||||
/* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
|
||||
/* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, k_rshift_hidden, kp_plus_hidden, KC_NO }, \
|
||||
/* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, kp_0_hidden, k_rctrl }, \
|
||||
/* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, kp_enter_hidden, KC_NO }, \
|
||||
/* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
|
||||
}
|
||||
|
||||
#define LAYOUT_ansi( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, kp_4, kp_5, kp_6, \
|
||||
k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lwin, k_lalt, k_space, k_1_d, k_6_4, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
|
||||
/* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
|
||||
/* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
|
||||
/* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
|
||||
/* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, KC_NO, KC_NO }, \
|
||||
/* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
|
||||
/* 6 */ { KC_NO, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, KC_NO, KC_NO, KC_NO }, \
|
||||
/* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
|
||||
}
|
||||
|
||||
#define LAYOUT_iso( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs, kp_4, kp_5, kp_6, \
|
||||
k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lwin, k_lalt, k_space, k_1_d, k_6_4, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
|
||||
/* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
|
||||
/* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
|
||||
/* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
|
||||
/* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, KC_NO, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, KC_NO, KC_NO }, \
|
||||
/* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
|
||||
/* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, KC_NO, KC_NO }, \
|
||||
/* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
![unicomp/classic_ultracl_post_2013/overnumpad_1xb](https://www.pckeyboard.com/mm5/graphics/00000001/UB4ZPHA_800x343.jpg)
|
||||
|
||||
Will support the following Unicomp Classic and Ultra Classic keyboards:
|
||||
Will support the following Unicomp Classic, Ultra Classic, and New Model M keyboards:
|
||||
* 104-key ANSI and 105-key ISO keyboards with post-2013 bottom row are supported.
|
||||
* It will likely also support 103-key ANSI or 104-key ISO keyboard variants (not tested) (these are the keyboards with no menu key)
|
||||
* At this point in time it's unclear if it supports 101-key keyboard variants built after 2013.
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -15,17 +15,17 @@
|
|||
*/
|
||||
#pragma once
|
||||
|
||||
#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
|
||||
|
||||
#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
#define MATRIX_HAS_GHOST
|
||||
#ifndef SERIAL_NUMBER
|
||||
#define SERIAL_NUMBER DEF_SERIAL_NUMBER
|
||||
#endif
|
||||
|
||||
#define STM32_HSECLK 16000000
|
||||
|
||||
#define SOLENOID_PIN B5
|
||||
#define HAPTIC_ENABLE_PIN C13
|
||||
#define SOLENOID_DEFAULT_DWELL 4
|
||||
#define SOLENOID_DEFAULT_DWELL 20
|
||||
#define SOLENOID_MIN_DWELL 4
|
||||
#define HAPTIC_OFF_IN_LOW_POWER 1
|
||||
#define NO_HAPTIC_MOD
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"keyboard_name": "Unicomp Classic / Ultra Classic (pre-2013)",
|
||||
"manufacturer": "Unicomp/Purdea Andrei",
|
||||
"url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
|
||||
"maintainer": "purdeaandrei",
|
||||
"indicators": {
|
||||
"caps_lock": "C11",
|
||||
"num_lock": "C12",
|
||||
"scroll_lock": "C10"
|
||||
},
|
||||
"processor": "STM32F446", // RET6
|
||||
"bootloader": "stm32-dfu",
|
||||
"diode_direction": "ROW2COL",
|
||||
"matrix_pins": {
|
||||
// The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
|
||||
// the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
|
||||
"cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
|
||||
"rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
|
||||
}
|
||||
}
|
|
@ -1,88 +0,0 @@
|
|||
/* Copyright 2020 Purdea Andrei
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* This is a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
|
||||
#define LAYOUT_all( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
|
||||
k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lwin, k_lalt, k_code, k_space, k_6_4, k_1_d, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0_hidden, kp_0, kp_dot, kp_enter_hidden \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
|
||||
/* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
|
||||
/* 2 */ { k_1, k_bsp_hidden, kp_nl, k_pgup, k_code, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
|
||||
/* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
|
||||
/* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, k_rshift_hidden, kp_plus_hidden, KC_NO }, \
|
||||
/* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, kp_0_hidden, k_rctrl }, \
|
||||
/* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, kp_enter_hidden, KC_NO }, \
|
||||
/* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
|
||||
}
|
||||
|
||||
#define LAYOUT_fullsize_ansi( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, kp_4, kp_5, kp_6, \
|
||||
k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lwin, k_lalt, k_space, k_6_4, k_1_d, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
|
||||
/* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
|
||||
/* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
|
||||
/* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
|
||||
/* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, KC_NO, KC_NO }, \
|
||||
/* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
|
||||
/* 6 */ { KC_NO, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, KC_NO, KC_NO, KC_NO }, \
|
||||
/* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
|
||||
}
|
||||
|
||||
#define LAYOUT_fullsize_iso( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, kp_4, kp_5, kp_6, \
|
||||
k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lwin, k_lalt, k_space, k_6_4, k_1_d, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
|
||||
/* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
|
||||
/* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
|
||||
/* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
|
||||
/* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, KC_NO, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, KC_NO, KC_NO }, \
|
||||
/* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
|
||||
/* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, KC_NO, KC_NO }, \
|
||||
/* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
![unicomp/classic_ultracl_pre_2013/overnumpad_1xb](https://www.pckeyboard.com/mm5/graphics/00000001/UB4ZPHA_800x343.jpg)
|
||||
|
||||
Will support the following Unicomp Classic and Ultra Classic keyboards:
|
||||
* 104-key ANSI and 105-key ISO keyboards with post-2013 bottom row are supported.
|
||||
* 104-key ANSI and 105-key ISO keyboards with pre-2013 bottom row are supported.
|
||||
|
||||
* Keyboard Maintainer: [Purdea Andrei](https://github.com/purdeaandrei)
|
||||
* Hardware Supported: OverNumpad controller v1.Xb
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -15,17 +15,17 @@
|
|||
*/
|
||||
#pragma once
|
||||
|
||||
#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
|
||||
|
||||
#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
#define MATRIX_HAS_GHOST
|
||||
#ifndef SERIAL_NUMBER
|
||||
#define SERIAL_NUMBER DEF_SERIAL_NUMBER
|
||||
#endif
|
||||
|
||||
#define STM32_HSECLK 16000000
|
||||
|
||||
#define SOLENOID_PIN B5
|
||||
#define HAPTIC_ENABLE_PIN C13
|
||||
#define SOLENOID_DEFAULT_DWELL 4
|
||||
#define SOLENOID_DEFAULT_DWELL 20
|
||||
#define SOLENOID_MIN_DWELL 4
|
||||
#define HAPTIC_OFF_IN_LOW_POWER 1
|
||||
#define NO_HAPTIC_MOD
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"keyboard_name": "Unicomp PC122",
|
||||
"manufacturer": "Unicomp/Purdea Andrei",
|
||||
"url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
|
||||
"maintainer": "purdeaandrei",
|
||||
"indicators": {
|
||||
"caps_lock": "C11",
|
||||
"num_lock": "C12",
|
||||
"scroll_lock": "C10"
|
||||
},
|
||||
"processor": "STM32F446", // RET6
|
||||
"bootloader": "stm32-dfu",
|
||||
"diode_direction": "ROW2COL",
|
||||
"matrix_pins": {
|
||||
// The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
|
||||
// the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
|
||||
"cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
|
||||
"rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
|
||||
}
|
||||
}
|
|
@ -1,49 +0,0 @@
|
|||
/* Copyright 2020 Purdea Andrei
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* This is a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
|
||||
#define LAYOUT_all( \
|
||||
k_f13, k_f14, k_f15, k_f16, k_f17, k_f18, k_f19, k_f20, k_f21, k_f22, k_f23, k_f24, \
|
||||
k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, \
|
||||
k_lb1, k_lb2, k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_lb3, k_lb4, k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_lb5, k_lb6, k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, k_up, kp_4, kp_5, kp_6, kp_plus_hidden, \
|
||||
k_lb7, k_lb8, k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_left, k_navmid, k_right, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lb9, k_lb10, k_lctrl, k_lalt, k_space, k_ralt, k_rctrl, k_down, kp_0, kp_dot \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_lb1, k_lb4, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_lb3, k_right, k_lb2, k_lb6 }, \
|
||||
/* 1 */ { k_tab, k_f21, k_del, k_pgdn, k_f22, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_f23, k_f14, k_caps }, \
|
||||
/* 2 */ { k_1, k_f19, kp_nl, k_pgup, k_f17, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lb9, k_f16 }, \
|
||||
/* 3 */ { k_q, k_rshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, k_f24, k_f13, k_lctrl }, \
|
||||
/* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, k_f20, k_f15, k_lb10 }, \
|
||||
/* 5 */ { k_z, k_lshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, k_navmid, kp_plus_hidden, k_rctrl }, \
|
||||
/* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_ralt, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, k_lb7, KC_NO }, \
|
||||
/* 7 */ { k_tild, k_f18, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_lb8, k_space, kp_enter, k_lb5 } \
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -15,17 +15,17 @@
|
|||
*/
|
||||
#pragma once
|
||||
|
||||
#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
|
||||
|
||||
#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
#define MATRIX_HAS_GHOST
|
||||
#ifndef SERIAL_NUMBER
|
||||
#define SERIAL_NUMBER DEF_SERIAL_NUMBER
|
||||
#endif
|
||||
|
||||
#define STM32_HSECLK 16000000
|
||||
|
||||
#define SOLENOID_PIN B5
|
||||
#define HAPTIC_ENABLE_PIN C13
|
||||
#define SOLENOID_DEFAULT_DWELL 4
|
||||
#define SOLENOID_DEFAULT_DWELL 20
|
||||
#define SOLENOID_MIN_DWELL 4
|
||||
#define HAPTIC_OFF_IN_LOW_POWER 1
|
||||
#define NO_HAPTIC_MOD
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"keyboard_name": "Unicomp Spacesaver M (post-2013)",
|
||||
"manufacturer": "Unicomp/Purdea Andrei",
|
||||
"url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
|
||||
"maintainer": "purdeaandrei",
|
||||
"indicators": {
|
||||
"caps_lock": "C12"
|
||||
},
|
||||
"processor": "STM32F446", // RET6
|
||||
"bootloader": "stm32-dfu",
|
||||
"diode_direction": "ROW2COL",
|
||||
"matrix_pins": {
|
||||
// The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
|
||||
// the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
|
||||
"cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
|
||||
"rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
|
||||
}
|
||||
}
|
|
@ -14,18 +14,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "overnumpad_1xb.h"
|
||||
#include "quantum.h"
|
||||
|
||||
void keyboard_post_init_kb(void)
|
||||
{
|
||||
// Led pins:
|
||||
// C12 is the left-most led, normally Num Lock, but on Spacesaver M it's Caps Lock. Configured in config.h
|
||||
// C12 is the left-most led, normally Num Lock, but on Spacesaver M it's Caps Lock. Configured in info.json
|
||||
setPinOutput(C11); // middle led, always off on Spacesaver M
|
||||
writePin(C11, 0);
|
||||
setPinOutput(C10); // right-most led, normally Scroll Lock, but on Spacesaver M indicates function layer
|
||||
|
||||
//debug_enable=true;
|
||||
//debug_matrix=true;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,88 +0,0 @@
|
|||
/* Copyright 2020 Purdea Andrei
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* This is a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
|
||||
#define LAYOUT_all( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
|
||||
k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lwin, k_lalt, k_code, k_space, k_1_d, k_6_4, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0_hidden, kp_0, kp_dot, kp_enter_hidden \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
|
||||
/* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
|
||||
/* 2 */ { k_1, k_bsp_hidden, kp_nl, k_pgup, k_code, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
|
||||
/* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
|
||||
/* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, k_rshift_hidden, kp_plus_hidden, KC_NO }, \
|
||||
/* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, kp_0_hidden, k_rctrl }, \
|
||||
/* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, kp_enter_hidden, KC_NO }, \
|
||||
/* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
|
||||
}
|
||||
|
||||
#define LAYOUT_ansi( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
|
||||
k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lwin, k_lalt, k_space, k_1_d, k_6_4, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
|
||||
/* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
|
||||
/* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
|
||||
/* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
|
||||
/* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, kp_plus_hidden, KC_NO }, \
|
||||
/* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
|
||||
/* 6 */ { KC_NO, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, KC_NO, KC_NO, KC_NO }, \
|
||||
/* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
|
||||
}
|
||||
|
||||
#define LAYOUT_iso( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs, kp_4, kp_5, kp_6, kp_plus_hidden, \
|
||||
k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lwin, k_lalt, k_space, k_1_d, k_6_4, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
|
||||
/* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
|
||||
/* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
|
||||
/* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
|
||||
/* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, KC_NO, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, kp_plus_hidden, KC_NO }, \
|
||||
/* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
|
||||
/* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, KC_NO, KC_NO }, \
|
||||
/* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -15,17 +15,17 @@
|
|||
*/
|
||||
#pragma once
|
||||
|
||||
#define DEF_SERIAL_NUMBER "purdea.ro:overnumpad_controller"
|
||||
|
||||
#define SERIAL_NUMBER "purdea.ro:overnumpad_controller"
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
#define MATRIX_HAS_GHOST
|
||||
#ifndef SERIAL_NUMBER
|
||||
#define SERIAL_NUMBER DEF_SERIAL_NUMBER
|
||||
#endif
|
||||
|
||||
#define STM32_HSECLK 16000000
|
||||
|
||||
#define SOLENOID_PIN B5
|
||||
#define HAPTIC_ENABLE_PIN C13
|
||||
#define SOLENOID_DEFAULT_DWELL 4
|
||||
#define SOLENOID_DEFAULT_DWELL 20
|
||||
#define SOLENOID_MIN_DWELL 4
|
||||
#define HAPTIC_OFF_IN_LOW_POWER 1
|
||||
#define NO_HAPTIC_MOD
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"keyboard_name": "Unicomp Spacesaver M (pre-2013)",
|
||||
"manufacturer": "Unicomp/Purdea Andrei",
|
||||
"url": "https://github.com/purdeaandrei/overnumpad_controller_1xb",
|
||||
"maintainer": "purdeaandrei",
|
||||
"indicators": {
|
||||
"caps_lock": "C12"
|
||||
},
|
||||
"processor": "STM32F446", // RET6
|
||||
"bootloader": "stm32-dfu",
|
||||
"diode_direction": "ROW2COL",
|
||||
"matrix_pins": {
|
||||
// The controller to membrane interface has pads left-to-right, as seen on the keyboard, matching
|
||||
// the order listed below: all columns followed by all rows, (also followed by unused gpio "A10"):
|
||||
"cols": ["C3", "C2", "C1", "C0", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B10", "B12", "B13"],
|
||||
"rows": ["B14", "B15", "C6", "C7", "C8", "C9", "A8", "A9"]
|
||||
}
|
||||
}
|
|
@ -14,18 +14,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "overnumpad_1xb.h"
|
||||
#include "quantum.h"
|
||||
|
||||
void keyboard_post_init_kb(void)
|
||||
{
|
||||
// Led pins:
|
||||
// C12 is the left-most led, normally Num Lock, but on Spacesaver M it's Caps Lock. Configured in config.h
|
||||
// C12 is the left-most led, normally Num Lock, but on Spacesaver M it's Caps Lock. Configured in info.json
|
||||
setPinOutput(C11); // middle led, always off on Spacesaver M
|
||||
writePin(C11, 0);
|
||||
setPinOutput(C10); // right-most led, normally Scroll Lock, but on Spacesaver M indicates function layer
|
||||
|
||||
//debug_enable=true;
|
||||
//debug_matrix=true;
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_kb(layer_state_t state) {
|
||||
|
|
|
@ -1,88 +0,0 @@
|
|||
/* Copyright 2020 Purdea Andrei
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* This is a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
|
||||
#define LAYOUT_all( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_bsp_hidden, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs,k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
|
||||
k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift_hidden, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lwin, k_lalt, k_code, k_space, k_6_4, k_1_d, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0_hidden, kp_0, kp_dot, kp_enter_hidden \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
|
||||
/* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
|
||||
/* 2 */ { k_1, k_bsp_hidden, kp_nl, k_pgup, k_code, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
|
||||
/* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
|
||||
/* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, k_rshift_hidden, kp_plus_hidden, KC_NO }, \
|
||||
/* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, kp_0_hidden, k_rctrl }, \
|
||||
/* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, kp_enter_hidden, KC_NO }, \
|
||||
/* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
|
||||
}
|
||||
|
||||
#define LAYOUT_ansi( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_backsl, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, kp_4, kp_5, kp_6, kp_plus_hidden, \
|
||||
k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lwin, k_lalt, k_space, k_6_4, k_1_d, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
|
||||
/* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
|
||||
/* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
|
||||
/* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
|
||||
/* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, k_backsl, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, kp_plus_hidden, KC_NO }, \
|
||||
/* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
|
||||
/* 6 */ { KC_NO, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, KC_NO, KC_NO, KC_NO }, \
|
||||
/* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
|
||||
}
|
||||
|
||||
#define LAYOUT_iso( \
|
||||
k_esc, k_f1, k_f2, k_f3, k_f4, k_f5, k_f6, k_f7, k_f8, k_f9, k_f10, k_f11, k_f12, k_prscr, k_scrl, k_pause, \
|
||||
k_tild, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_ins, k_home, k_pgup, kp_nl, kp_div, kp_mult, kp_minus, \
|
||||
k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_del, k_end, k_pgdn, kp_7, kp_8, kp_9, kp_plus, \
|
||||
k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_nuhs, kp_4, kp_5, kp_6, kp_plus_hidden, \
|
||||
k_lshift,k_nubs,k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_fwslash, k_rshift, k_up, kp_1, kp_2, kp_3, kp_enter, \
|
||||
k_lctrl, k_lwin, k_lalt, k_space, k_6_4, k_1_d, k_rmenu, k_rctrl, k_left, k_down, k_right, kp_0, kp_dot \
|
||||
) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ \
|
||||
/* 0 */ { k_esc, k_pause, k_f3, k_f1, k_ins, k_3, k_4, k_6, k_f5, k_f7, k_f9, k_f11, k_prscr, k_right, k_scrl, KC_NO }, \
|
||||
/* 1 */ { k_tab, KC_NO, k_del, k_pgdn, KC_NO, k_e, k_t, k_u, k_backspace, k_minus, k_down, k_end, k_home, k_1_d, KC_NO, k_caps }, \
|
||||
/* 2 */ { k_1, KC_NO, kp_nl, k_pgup, KC_NO, k_i, k_r, k_y, k_equals, k_9, k_0, kp_mult, kp_div, k_up, k_lwin, KC_NO }, \
|
||||
/* 3 */ { k_q, k_lshift, kp_9, k_2, KC_NO, k_k, k_f, k_h, k_squarebrcl, k_o, k_semicolon, kp_8, kp_7, KC_NO, KC_NO, k_lctrl }, \
|
||||
/* 4 */ { k_a, KC_NO, kp_6, k_w, k_lalt, k_d, k_g, k_j, KC_NO, k_squarebrop, k_singlequote, kp_5, kp_4, KC_NO, kp_plus_hidden, KC_NO }, \
|
||||
/* 5 */ { k_z, k_rshift, kp_dot, k_x, KC_NO, k_cm, k_b, k_m, k_return, k_period, k_p, kp_0, kp_1, KC_NO, KC_NO, k_rctrl }, \
|
||||
/* 6 */ { k_nubs, KC_NO, kp_3, k_s, k_6_4, k_c, k_v, k_n, k_left, k_l, k_fwslash, kp_2, kp_plus, k_nuhs, KC_NO, KC_NO }, \
|
||||
/* 7 */ { k_tild, KC_NO, kp_minus, k_f2, k_f4, k_8, k_5, k_7, k_f6, k_f8, k_f10, k_f12, k_rmenu, k_space, kp_enter, KC_NO } \
|
||||
}
|
Loading…
Reference in New Issue