lotus: Split layouts into separate keyboards
VIA needs separate PIDs for the layouts. Signed-off-by: Daniel Schaefer <dhs@frame.work>
This commit is contained in:
17
.github/workflows/lotus.yml
vendored
17
.github/workflows/lotus.yml
vendored
@@ -22,22 +22,27 @@ jobs:
|
|||||||
run: pip3 install -r requirements-dev.txt
|
run: pip3 install -r requirements-dev.txt
|
||||||
|
|
||||||
- name: Lint lotus
|
- name: Lint lotus
|
||||||
run: qmk lint -kb lotus -km 78_ansi -km 79_iso -km 83_jis
|
run: |
|
||||||
|
qmk lint -kb lotus/ansi -km default
|
||||||
|
qmk lint -kb lotus/iso -km default
|
||||||
|
qmk lint -kb lotus/jis -km default
|
||||||
|
qmk lint -kb lotus/numpad -km default
|
||||||
|
qmk lint -kb lotus/gridpad -km default
|
||||||
|
|
||||||
- name: Build Lotus ANSI variant
|
- name: Build Lotus ANSI variant
|
||||||
run: qmk compile -kb lotus -km 78_ansi
|
run: qmk compile -kb lotus/ansi -km default
|
||||||
|
|
||||||
- name: Build Lotus ISO variant
|
- name: Build Lotus ISO variant
|
||||||
run: qmk compile -kb lotus -km 79_iso
|
run: qmk compile -kb lotus/iso -km default
|
||||||
|
|
||||||
- name: Build Lotus JIS variant
|
- name: Build Lotus JIS variant
|
||||||
run: qmk compile -kb lotus -km 83_jis
|
run: qmk compile -kb lotus/jis -km default
|
||||||
|
|
||||||
- name: Build Lotus Numpad
|
- name: Build Lotus Numpad
|
||||||
run: qmk compile -kb lotus -km numpad
|
run: qmk compile -kb lotus/numpad -km default
|
||||||
|
|
||||||
- name: Build Lotus Gridpad
|
- name: Build Lotus Gridpad
|
||||||
run: qmk compile -kb lotus -km gridpad
|
run: qmk compile -kb lotus/gridpad -km default
|
||||||
|
|
||||||
# tests:
|
# tests:
|
||||||
# runs-on: ubuntu-latest
|
# runs-on: ubuntu-latest
|
||||||
|
|||||||
@@ -3,64 +3,6 @@
|
|||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
/*
|
|
||||||
* ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────┐
|
|
||||||
* 14 keys │Esc │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Del│
|
|
||||||
* ├───┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
|
|
||||||
* 14 keys │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backsp│
|
|
||||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
|
|
||||||
* 14 keys │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
|
|
||||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴────┤
|
|
||||||
* 13 keys │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
|
|
||||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───────┤
|
|
||||||
* 12 keys │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │
|
|
||||||
* ├────┬───┼───┼───┼───┴───┴───┴───┴───┼───┼───┼───┴┬───┬────┤
|
|
||||||
* │ │ │ │ │ │ │ │ │↑ │ │
|
|
||||||
* 11 keys │Ctrl│FN │GUI│Alt│ │Alt│Ctl│ ← ├───┤ → │
|
|
||||||
* │ │ │ │ │ │ │ │ │ ↓│ │
|
|
||||||
* └────┴───┴───┴───┴───────────────────┴───┴───┴────┴───┴────┘
|
|
||||||
* 78 total
|
|
||||||
*/
|
|
||||||
[0] = LAYOUT_78_ansi(
|
|
||||||
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_DEL,
|
|
||||||
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
|
||||||
KC_LCTL, MO(1), KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT
|
|
||||||
),
|
|
||||||
/*
|
|
||||||
* Function layer
|
|
||||||
* ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────┐
|
|
||||||
* 14 keys │FN lk│Mut│vDn│vUp│Prv│Ply│Nxt│bDn│bUp│Scn│Air│Prt│App│Ins │
|
|
||||||
* ├───┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
|
|
||||||
* 14 keys │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
|
||||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
|
|
||||||
* 14 keys │ │ │ │ │ │ │ │ │ │ │Pau│ │ │ │
|
|
||||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴────┤
|
|
||||||
* 13 keys │ │ │SRq│ │ │ │ │ │ScL│ │ │ │ │
|
|
||||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───────┤
|
|
||||||
* 12 keys │ │ │ │ │ │Brk│ │ │ │ │ │ │
|
|
||||||
* ├────┬───┼───┼───┼───┴───┴───┴───┴───┼───┼───┼───┴┬───┬────┤
|
|
||||||
* │ │ │ │ │ │ │ │ │PgU│ │
|
|
||||||
* 11 keys │ │ │ │ │ Toggle Backlight │ │ │Home├───┤End │
|
|
||||||
* │ │ │ │ │ │ │ │ │PgD│ │
|
|
||||||
* └────┴───┴───┴───┴───────────────────┴───┴───┴────┴───┴────┘
|
|
||||||
* 78 total
|
|
||||||
*/
|
|
||||||
// TODO: Screen toggle, airplane mode
|
|
||||||
// TODO: Other unlabeled keys
|
|
||||||
[1] = LAYOUT_78_ansi(
|
|
||||||
TG(1), KC_KB_MUTE, KC_KB_VOLUME_DOWN, KC_KB_VOLUME_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_BRID, KC_BRIU, KC_SCRN, KC_TRNS, KC_PSCR, KC_MSEL, KC_INS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_SYRQ, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCRL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BRK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_PGDN, KC_END
|
|
||||||
)
|
|
||||||
};
|
|
||||||
|
|
||||||
#define CS19_SW12 0x00
|
#define CS19_SW12 0x00
|
||||||
#define CS20_SW12 0x01
|
#define CS20_SW12 0x01
|
||||||
#define CS21_SW12 0x02
|
#define CS21_SW12 0x02
|
||||||
22
keyboards/lotus/ansi/ansi.h
Normal file
22
keyboards/lotus/ansi/ansi.h
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
// Copyright 2022 Framework Computer
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
// The layouts are all mostly the same, except for the extra keys that the different layouts have
|
||||||
|
#define LAYOUT( \
|
||||||
|
K110, K112, K113, K114, K115, K116, K117, K118, K119, K120, K121, K122, K126, K76, \
|
||||||
|
K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K15, \
|
||||||
|
K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K43, \
|
||||||
|
K44, K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K57, \
|
||||||
|
K58, K59, K127, K60, K61, K62, K64, K79, K83, K84, K89 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ K48, K76, K17, K62, KC_NO, K47, K49, K52, K54, K57, K53, KC_NO, K64, K55, K41, KC_NO }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, K60, K61, K46, K50, K51, K84, K44, KC_NO, KC_NO, K58, K83, K43, K119 }, \
|
||||||
|
{ KC_NO, KC_NO, K59, KC_NO, K19, K113, K35, K36, K29, KC_NO, K118, KC_NO, KC_NO, K12, KC_NO, K89 }, \
|
||||||
|
{ KC_NO, K127, K16, KC_NO, K115, K112, K21, K22, K25, KC_NO, K117, K120, KC_NO, KC_NO, KC_NO, K126 }, \
|
||||||
|
{ KC_NO, KC_NO, K1, KC_NO, K30, K32, K6, K7, K121, KC_NO, K116, KC_NO, KC_NO, K11, K13, KC_NO }, \
|
||||||
|
{ KC_NO, KC_NO, K2, KC_NO, K4, K3, K5, K8, K10, KC_NO, K9, KC_NO, KC_NO, K26, K15, KC_NO }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, KC_NO, K114, K18, K20, K23, K122, KC_NO, K24, K79, KC_NO, K27, K28, KC_NO }, \
|
||||||
|
{ KC_NO, KC_NO, K31, KC_NO, KC_NO, K110, K34, K37, K39, KC_NO, K38, KC_NO, KC_NO, K40, K33, KC_NO } \
|
||||||
|
}
|
||||||
@@ -1,3 +1,9 @@
|
|||||||
|
// Copyright 2022 Framework Computer
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#define MATRIX_COLS 16
|
||||||
|
#define MATRIX_ROWS 8
|
||||||
|
|
||||||
#define DRIVER_COUNT 2
|
#define DRIVER_COUNT 2
|
||||||
#define DRIVER_ADDR_1 0b0100000
|
#define DRIVER_ADDR_1 0b0100000
|
||||||
#define DRIVER_ADDR_2 0b0100011
|
#define DRIVER_ADDR_2 0b0100011
|
||||||
113
keyboards/lotus/ansi/info.json
Normal file
113
keyboards/lotus/ansi/info.json
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Lotus Keyboard",
|
||||||
|
"manufacturer": "Framework Computer Inc",
|
||||||
|
"maintainer": "JohnAZoidberg",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": false,
|
||||||
|
"mousekey": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"console": true,
|
||||||
|
"command": false,
|
||||||
|
"nkro": true,
|
||||||
|
"audio": false
|
||||||
|
},
|
||||||
|
"debounce": 5,
|
||||||
|
"processor": "RP2040",
|
||||||
|
"url": "https://frame.work",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.1.0",
|
||||||
|
"pid": "0x0013",
|
||||||
|
"vid": "0x32AC"
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
"pin": "GP25"
|
||||||
|
},
|
||||||
|
"layout_aliases": {
|
||||||
|
"LAYOUT_default": "LAYOUT"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{ "label": "Esc", "x": 0, "y": 0, "w": 1.25, "h": 0.5 },
|
||||||
|
{ "label": "F1", "x": 1.5, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F2", "x": 2.75, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F3", "x": 4, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F4", "x": 5.25, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F5", "x": 6.5, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F6", "x": 7.75, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F7", "x": 9, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F8", "x": 10.25, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F9", "x": 11.5, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F10", "x": 12.75, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F11", "x": 14, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F12", "x": 15.25, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "Delete", "x": 16.5, "y": 0, "w": 1.75, "h": 0.5 },
|
||||||
|
{ "label": "~", "x": 0, "y": 0.75 },
|
||||||
|
{ "label": "!", "x": 1.25, "y": 0.75 },
|
||||||
|
{ "label": "@", "x": 2.5, "y": 0.75 },
|
||||||
|
{ "label": "#", "x": 3.75, "y": 0.75 },
|
||||||
|
{ "label": "$", "x": 5, "y": 0.75 },
|
||||||
|
{ "label": "%", "x": 6.25, "y": 0.75 },
|
||||||
|
{ "label": "^", "x": 7.5, "y": 0.75 },
|
||||||
|
{ "label": "&", "x": 8.75, "y": 0.75 },
|
||||||
|
{ "label": "*", "x": 10, "y": 0.75 },
|
||||||
|
{ "label": "(", "x": 11.25, "y": 0.75 },
|
||||||
|
{ "label": ")", "x": 12.5, "y": 0.75 },
|
||||||
|
{ "label": "_", "x": 13.75, "y": 0.75 },
|
||||||
|
{ "label": "+", "x": 15, "y": 0.75 },
|
||||||
|
{ "label": "Backspace", "x": 16.25, "y": 0.75, "w": 2 },
|
||||||
|
{ "label": "Tab", "x": 0, "y": 2, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "W", "x": 3, "y": 2 },
|
||||||
|
{ "label": "E", "x": 4.25, "y": 2 },
|
||||||
|
{ "label": "R", "x": 5.5, "y": 2 },
|
||||||
|
{ "label": "T", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "Y", "x": 8, "y": 2 },
|
||||||
|
{ "label": "U", "x": 9.25, "y": 2 },
|
||||||
|
{ "label": "I", "x": 10.5, "y": 2 },
|
||||||
|
{ "label": "O", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "P", "x": 13, "y": 2 },
|
||||||
|
{ "label": "{", "x": 14.25, "y": 2 },
|
||||||
|
{ "label": "}", "x": 15.5, "y": 2 },
|
||||||
|
{ "label": "|", "x": 16.75, "y": 2, "w": 1.5 },
|
||||||
|
{ "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 2, "y": 3.25 },
|
||||||
|
{ "label": "S", "x": 3.25, "y": 3.25 },
|
||||||
|
{ "label": "D", "x": 4.5, "y": 3.25 },
|
||||||
|
{ "label": "F", "x": 5.75, "y": 3.25 },
|
||||||
|
{ "label": "G", "x": 7, "y": 3.25 },
|
||||||
|
{ "label": "H", "x": 8.25, "y": 3.25 },
|
||||||
|
{ "label": "J", "x": 9.5, "y": 3.25 },
|
||||||
|
{ "label": "K", "x": 10.75, "y": 3.25 },
|
||||||
|
{ "label": "L", "x": 12, "y": 3.25 },
|
||||||
|
{ "label": ":", "x": 13.25, "y": 3.25 },
|
||||||
|
{ "label": "\"", "x": 14.5, "y": 3.25 },
|
||||||
|
{ "label": "Enter", "x": 15.75, "y": 3.25, "w": 2.5 },
|
||||||
|
{ "label": "Shift", "x": 0, "y": 4.5, "w": 2.5 },
|
||||||
|
{ "label": "Z", "x": 2.75, "y": 4.5 },
|
||||||
|
{ "label": "X", "x": 4, "y": 4.5 },
|
||||||
|
{ "label": "C", "x": 5.25, "y": 4.5 },
|
||||||
|
{ "label": "V", "x": 6.5, "y": 4.5 },
|
||||||
|
{ "label": "B", "x": 7.75, "y": 4.5 },
|
||||||
|
{ "label": "N", "x": 9, "y": 4.5 },
|
||||||
|
{ "label": "M", "x": 10.25, "y": 4.5 },
|
||||||
|
{ "label": "<", "x": 11.5, "y": 4.5 },
|
||||||
|
{ "label": ">", "x": 12.75, "y": 4.5 },
|
||||||
|
{ "label": "?", "x": 14, "y": 4.5 },
|
||||||
|
{ "label": "Shift", "x": 15.25, "y": 4.5, "w": 3 },
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 5.75, "w": 1.25 },
|
||||||
|
{ "label": "Fn", "x": 1.5, "y": 5.75 },
|
||||||
|
{ "label": "Win", "x": 2.75, "y": 5.75 },
|
||||||
|
{ "label": "Alt", "x": 4, "y": 5.75 },
|
||||||
|
{ "x": 5.25, "y": 5.75, "w": 6 },
|
||||||
|
{ "label": "Alt", "x": 11.5, "y": 5.75 },
|
||||||
|
{ "label": "Ctrl", "x": 12.75, "y": 5.75 },
|
||||||
|
{ "label": "←", "x": 14, "y": 5.75, "w": 1.25 },
|
||||||
|
{ "label": "↑", "x": 15.5, "y": 5.75, "w": 1.25, "h": 0.5 },
|
||||||
|
{ "label": "→", "x": 17, "y": 5.75, "w": 1.25 },
|
||||||
|
{ "label": "↓", "x": 15.5, "y": 6.25, "w": 1.25, "h": 0.5 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
62
keyboards/lotus/ansi/keymaps/default/keymap.c
Normal file
62
keyboards/lotus/ansi/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
// Copyright 2022 Framework Computer
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "lotus.h"
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/*
|
||||||
|
* ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────┐
|
||||||
|
* 14 keys │Esc │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Del│
|
||||||
|
* ├───┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
|
||||||
|
* 14 keys │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backsp│
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
|
||||||
|
* 14 keys │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴────┤
|
||||||
|
* 13 keys │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
|
||||||
|
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───────┤
|
||||||
|
* 12 keys │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │
|
||||||
|
* ├────┬───┼───┼───┼───┴───┴───┴───┴───┼───┼───┼───┴┬───┬────┤
|
||||||
|
* │ │ │ │ │ │ │ │ │↑ │ │
|
||||||
|
* 11 keys │Ctrl│FN │GUI│Alt│ │Alt│Ctl│ ← ├───┤ → │
|
||||||
|
* │ │ │ │ │ │ │ │ │ ↓│ │
|
||||||
|
* └────┴───┴───┴───┴───────────────────┴───┴───┴────┴───┴────┘
|
||||||
|
* 78 total
|
||||||
|
*/
|
||||||
|
[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_DEL,
|
||||||
|
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
|
KC_LCTL, MO(1), KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
/*
|
||||||
|
* Function layer
|
||||||
|
* ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────┐
|
||||||
|
* 14 keys │FN lk│Mut│vDn│vUp│Prv│Ply│Nxt│bDn│bUp│Scn│Air│Prt│App│Ins │
|
||||||
|
* ├───┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
|
||||||
|
* 14 keys │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
|
||||||
|
* 14 keys │ │ │ │ │ │ │ │ │ │ │Pau│ │ │ │
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴────┤
|
||||||
|
* 13 keys │ │ │SRq│ │ │ │ │ │ScL│ │ │ │ │
|
||||||
|
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───────┤
|
||||||
|
* 12 keys │ │ │ │ │ │Brk│ │ │ │ │ │ │
|
||||||
|
* ├────┬───┼───┼───┼───┴───┴───┴───┴───┼───┼───┼───┴┬───┬────┤
|
||||||
|
* │ │ │ │ │ │ │ │ │PgU│ │
|
||||||
|
* 11 keys │ │ │ │ │ Toggle Backlight │ │ │Home├───┤End │
|
||||||
|
* │ │ │ │ │ │ │ │ │PgD│ │
|
||||||
|
* └────┴───┴───┴───┴───────────────────┴───┴───┴────┴───┴────┘
|
||||||
|
* 78 total
|
||||||
|
*/
|
||||||
|
// TODO: Airplane mode
|
||||||
|
[1] = LAYOUT(
|
||||||
|
TG(1), KC_KB_MUTE, KC_KB_VOLUME_DOWN, KC_KB_VOLUME_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_BRID, KC_BRIU, KC_SCRN, KC_TRNS, KC_PSCR, KC_MSEL, KC_INS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_SYRQ, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCRL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BRK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_PGDN, KC_END
|
||||||
|
)
|
||||||
|
};
|
||||||
4
keyboards/lotus/ansi/rules.mk
Normal file
4
keyboards/lotus/ansi/rules.mk
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Debugging (enabled in info.json)
|
||||||
|
#CONSOLE_ENABLE = yes
|
||||||
|
RGB_MATRIX_ENABLE = yes
|
||||||
|
RGB_MATRIX_DRIVER = IS31FL3743A
|
||||||
6
keyboards/lotus/build_all.sh
Normal file
6
keyboards/lotus/build_all.sh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
set -e
|
||||||
|
qmk compile -kb lotus/ansi -km default
|
||||||
|
qmk compile -kb lotus/iso -km default
|
||||||
|
qmk compile -kb lotus/jis -km default
|
||||||
|
qmk compile -kb lotus/numpad -km default
|
||||||
|
qmk compile -kb lotus/gridpad -km default
|
||||||
@@ -5,9 +5,6 @@
|
|||||||
|
|
||||||
#include <config_common.h>
|
#include <config_common.h>
|
||||||
|
|
||||||
#define MATRIX_COLS 16
|
|
||||||
#define MATRIX_ROWS 8
|
|
||||||
|
|
||||||
#define SERIAL_USART_FULL_DUPLEX
|
#define SERIAL_USART_FULL_DUPLEX
|
||||||
#define SERIAL_USART_TX_PIN GP0
|
#define SERIAL_USART_TX_PIN GP0
|
||||||
#define SERIAL_USART_RX_PIN GP1
|
#define SERIAL_USART_RX_PIN GP1
|
||||||
|
|||||||
9
keyboards/lotus/gridpad/config.h
Normal file
9
keyboards/lotus/gridpad/config.h
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
// Copyright 2022 Framework Computer
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#define MATRIX_COLS 8
|
||||||
|
#define MATRIX_ROWS 4
|
||||||
|
|
||||||
|
#define DRIVER_COUNT 1
|
||||||
|
#define DRIVER_ADDR_1 0b0100000
|
||||||
|
#define RGB_MATRIX_LED_COUNT 24
|
||||||
17
keyboards/lotus/gridpad/gridpad.h
Normal file
17
keyboards/lotus/gridpad/gridpad.h
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
// Copyright 2022 Framework Computer
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#define LAYOUT( \
|
||||||
|
H1, H2, H3, H4, \
|
||||||
|
K90, K95, K100, K105, \
|
||||||
|
K91, K96, K101, K107, \
|
||||||
|
K92, K97, K102, K106, \
|
||||||
|
K93, K98, K103, K109, \
|
||||||
|
K99, K110, K104, K108 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ K90, K91, K92, K93, K95, K96, K97, K98 }, \
|
||||||
|
{ K99, K100, K101, K102, K103, K104, K105, K106 }, \
|
||||||
|
{ K108, H1, H2, KC_NO, H4, K107, K109, K110 }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, KC_NO, H3, KC_NO, KC_NO, KC_NO }, \
|
||||||
|
}
|
||||||
61
keyboards/lotus/gridpad/info.json
Normal file
61
keyboards/lotus/gridpad/info.json
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Lotus Gridpad",
|
||||||
|
"manufacturer": "Framework Computer Inc",
|
||||||
|
"maintainer": "JohnAZoidberg",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": false,
|
||||||
|
"mousekey": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"console": true,
|
||||||
|
"command": false,
|
||||||
|
"nkro": true,
|
||||||
|
"audio": false
|
||||||
|
},
|
||||||
|
"debounce": 5,
|
||||||
|
"processor": "RP2040",
|
||||||
|
"url": "https://frame.work",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.1.0",
|
||||||
|
"pid": "0x0013",
|
||||||
|
"vid": "0x32AC"
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
"pin": "GP25"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{ "x": 0, "y": 0, "h": 0.75 },
|
||||||
|
{ "x": 1.25, "y": 0, "h": 0.75 },
|
||||||
|
{ "x": 2.5, "y": 0, "h": 0.75 },
|
||||||
|
{ "x": 3.75, "y": 0, "h": 0.75 },
|
||||||
|
|
||||||
|
{ "x": 0, "y": 1, "h": 1.25 },
|
||||||
|
{ "x": 1.25, "y": 1, "h": 1.25 },
|
||||||
|
{ "x": 2.5, "y": 1, "h": 1.25 },
|
||||||
|
{ "x": 3.75, "y": 1, "h": 1.25 },
|
||||||
|
|
||||||
|
{ "x": 0, "y": 2.5, "h": 1.25 },
|
||||||
|
{ "x": 1.25, "y": 2.5, "h": 1.25 },
|
||||||
|
{ "x": 2.5, "y": 2.5, "h": 1.25 },
|
||||||
|
{ "x": 3.75, "y": 2.5, "h": 1.25 },
|
||||||
|
|
||||||
|
{ "x": 0, "y": 4, "h": 1.25 },
|
||||||
|
{ "x": 1.25, "y": 4, "h": 1.25 },
|
||||||
|
{ "x": 2.5, "y": 4, "h": 1.25 },
|
||||||
|
{ "x": 3.75, "y": 4, "h": 1.25 },
|
||||||
|
|
||||||
|
{ "x": 0, "y": 5.5, "h": 1.25 },
|
||||||
|
{ "x": 1.25, "y": 5.5, "h": 1.25 },
|
||||||
|
{ "x": 2.5, "y": 5.5, "h": 1.25 },
|
||||||
|
{ "x": 3.75, "y": 5.5, "h": 1.25 },
|
||||||
|
|
||||||
|
{ "x": 0, "y": 7, "w": 2.25, "h": 1.25 },
|
||||||
|
{ "x": 1.25, "y": 7, "h": 1.25 },
|
||||||
|
{ "x": 2.5, "y": 7, "h": 1.25 },
|
||||||
|
{ "x": 3.75, "y": 7, "h": 1.25 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -82,9 +82,7 @@ led_config_t g_led_config = { {
|
|||||||
4, 4, 4, 4, 4, 4, 4, 4
|
4, 4, 4, 4, 4, 4, 4, 4
|
||||||
} };
|
} };
|
||||||
|
|
||||||
#define NUMPAD_ROWS 4
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
#define NUMPAD_COLS 8
|
|
||||||
const uint16_t PROGMEM keymaps[][NUMPAD_ROWS][NUMPAD_COLS] = {
|
|
||||||
/*
|
/*
|
||||||
* ┌────┬────┬────┬────┐
|
* ┌────┬────┬────┬────┐
|
||||||
* 4 keys │ │ │ │ │
|
* 4 keys │ │ │ │ │
|
||||||
@@ -104,7 +102,7 @@ const uint16_t PROGMEM keymaps[][NUMPAD_ROWS][NUMPAD_COLS] = {
|
|||||||
* Default mapping to F keys, because there happen to be just enough to fit.
|
* Default mapping to F keys, because there happen to be just enough to fit.
|
||||||
* The user is expected to remap them by recompiling or with VIA.
|
* The user is expected to remap them by recompiling or with VIA.
|
||||||
*/
|
*/
|
||||||
[0] = LAYOUT_gridpad(
|
[0] = LAYOUT(
|
||||||
KC_F1, KC_F2, KC_F3, KC_F4,
|
KC_F1, KC_F2, KC_F3, KC_F4,
|
||||||
KC_F5, KC_F6, KC_F7, KC_F8,
|
KC_F5, KC_F6, KC_F7, KC_F8,
|
||||||
KC_F9, KC_F10, KC_F11, KC_F12,
|
KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
@@ -1,338 +0,0 @@
|
|||||||
{
|
|
||||||
"keyboard_name": "Lotus",
|
|
||||||
"manufacturer": "Framework Computer Inc",
|
|
||||||
"maintainer": "JohnAZoidberg",
|
|
||||||
"bootloader": "rp2040",
|
|
||||||
"features": {
|
|
||||||
"bootmagic": false,
|
|
||||||
"mousekey": true,
|
|
||||||
"extrakey": true,
|
|
||||||
"console": true,
|
|
||||||
"command": false,
|
|
||||||
"nkro": true,
|
|
||||||
"audio": false
|
|
||||||
},
|
|
||||||
"debounce": 5,
|
|
||||||
"processor": "RP2040",
|
|
||||||
"url": "https://frame.work",
|
|
||||||
"usb": {
|
|
||||||
"device_version": "0.1.0",
|
|
||||||
"pid": "0x0013",
|
|
||||||
"vid": "0x32AC"
|
|
||||||
},
|
|
||||||
"backlight": {
|
|
||||||
"pin": "GP25"
|
|
||||||
},
|
|
||||||
"layouts": {
|
|
||||||
"LAYOUT_78_ansi": {
|
|
||||||
"layout": [
|
|
||||||
{ "label": "Esc", "x": 0, "y": 0, "w": 1.25, "h": 0.5 },
|
|
||||||
{ "label": "F1", "x": 1.5, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F2", "x": 2.75, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F3", "x": 4, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F4", "x": 5.25, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F5", "x": 6.5, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F6", "x": 7.75, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F7", "x": 9, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F8", "x": 10.25, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F9", "x": 11.5, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F10", "x": 12.75, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F11", "x": 14, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F12", "x": 15.25, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "Delete", "x": 16.5, "y": 0, "w": 1.75, "h": 0.5 },
|
|
||||||
{ "label": "~", "x": 0, "y": 0.75 },
|
|
||||||
{ "label": "!", "x": 1.25, "y": 0.75 },
|
|
||||||
{ "label": "@", "x": 2.5, "y": 0.75 },
|
|
||||||
{ "label": "#", "x": 3.75, "y": 0.75 },
|
|
||||||
{ "label": "$", "x": 5, "y": 0.75 },
|
|
||||||
{ "label": "%", "x": 6.25, "y": 0.75 },
|
|
||||||
{ "label": "^", "x": 7.5, "y": 0.75 },
|
|
||||||
{ "label": "&", "x": 8.75, "y": 0.75 },
|
|
||||||
{ "label": "*", "x": 10, "y": 0.75 },
|
|
||||||
{ "label": "(", "x": 11.25, "y": 0.75 },
|
|
||||||
{ "label": ")", "x": 12.5, "y": 0.75 },
|
|
||||||
{ "label": "_", "x": 13.75, "y": 0.75 },
|
|
||||||
{ "label": "+", "x": 15, "y": 0.75 },
|
|
||||||
{ "label": "Backspace", "x": 16.25, "y": 0.75, "w": 2 },
|
|
||||||
{ "label": "Tab", "x": 0, "y": 2, "w": 1.5 },
|
|
||||||
{ "label": "Q", "x": 1.75, "y": 2 },
|
|
||||||
{ "label": "W", "x": 3, "y": 2 },
|
|
||||||
{ "label": "E", "x": 4.25, "y": 2 },
|
|
||||||
{ "label": "R", "x": 5.5, "y": 2 },
|
|
||||||
{ "label": "T", "x": 6.75, "y": 2 },
|
|
||||||
{ "label": "Y", "x": 8, "y": 2 },
|
|
||||||
{ "label": "U", "x": 9.25, "y": 2 },
|
|
||||||
{ "label": "I", "x": 10.5, "y": 2 },
|
|
||||||
{ "label": "O", "x": 11.75, "y": 2 },
|
|
||||||
{ "label": "P", "x": 13, "y": 2 },
|
|
||||||
{ "label": "{", "x": 14.25, "y": 2 },
|
|
||||||
{ "label": "}", "x": 15.5, "y": 2 },
|
|
||||||
{ "label": "|", "x": 16.75, "y": 2, "w": 1.5 },
|
|
||||||
{ "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
|
|
||||||
{ "label": "A", "x": 2, "y": 3.25 },
|
|
||||||
{ "label": "S", "x": 3.25, "y": 3.25 },
|
|
||||||
{ "label": "D", "x": 4.5, "y": 3.25 },
|
|
||||||
{ "label": "F", "x": 5.75, "y": 3.25 },
|
|
||||||
{ "label": "G", "x": 7, "y": 3.25 },
|
|
||||||
{ "label": "H", "x": 8.25, "y": 3.25 },
|
|
||||||
{ "label": "J", "x": 9.5, "y": 3.25 },
|
|
||||||
{ "label": "K", "x": 10.75, "y": 3.25 },
|
|
||||||
{ "label": "L", "x": 12, "y": 3.25 },
|
|
||||||
{ "label": ":", "x": 13.25, "y": 3.25 },
|
|
||||||
{ "label": "\"", "x": 14.5, "y": 3.25 },
|
|
||||||
{ "label": "Enter", "x": 15.75, "y": 3.25, "w": 2.5 },
|
|
||||||
{ "label": "Shift", "x": 0, "y": 4.5, "w": 2.5 },
|
|
||||||
{ "label": "Z", "x": 2.75, "y": 4.5 },
|
|
||||||
{ "label": "X", "x": 4, "y": 4.5 },
|
|
||||||
{ "label": "C", "x": 5.25, "y": 4.5 },
|
|
||||||
{ "label": "V", "x": 6.5, "y": 4.5 },
|
|
||||||
{ "label": "B", "x": 7.75, "y": 4.5 },
|
|
||||||
{ "label": "N", "x": 9, "y": 4.5 },
|
|
||||||
{ "label": "M", "x": 10.25, "y": 4.5 },
|
|
||||||
{ "label": "<", "x": 11.5, "y": 4.5 },
|
|
||||||
{ "label": ">", "x": 12.75, "y": 4.5 },
|
|
||||||
{ "label": "?", "x": 14, "y": 4.5 },
|
|
||||||
{ "label": "Shift", "x": 15.25, "y": 4.5, "w": 3 },
|
|
||||||
{ "label": "Ctrl", "x": 0, "y": 5.75, "w": 1.25 },
|
|
||||||
{ "label": "Fn", "x": 1.5, "y": 5.75 },
|
|
||||||
{ "label": "Win", "x": 2.75, "y": 5.75 },
|
|
||||||
{ "label": "Alt", "x": 4, "y": 5.75 },
|
|
||||||
{ "x": 5.25, "y": 5.75, "w": 6 },
|
|
||||||
{ "label": "Alt", "x": 11.5, "y": 5.75 },
|
|
||||||
{ "label": "Ctrl", "x": 12.75, "y": 5.75 },
|
|
||||||
{ "label": "←", "x": 14, "y": 5.75, "w": 1.25 },
|
|
||||||
{ "label": "↑", "x": 15.5, "y": 5.75, "w": 1.25, "h": 0.5 },
|
|
||||||
{ "label": "→", "x": 17, "y": 5.75, "w": 1.25 },
|
|
||||||
{ "label": "↓", "x": 15.5, "y": 6.25, "w": 1.25, "h": 0.5 }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"LAYOUT_79_iso": {
|
|
||||||
"layout": [
|
|
||||||
{ "label": "Esc", "x": 0, "y": 0, "w": 1.25, "h": 0.5 },
|
|
||||||
{ "label": "F1", "x": 1.5, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F2", "x": 2.75, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F3", "x": 4, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F4", "x": 5.25, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F5", "x": 6.5, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F6", "x": 7.75, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F7", "x": 9, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F8", "x": 10.25, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F9", "x": 11.5, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F10", "x": 12.75, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F11", "x": 14, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F12", "x": 15.25, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "Delete", "x": 16.5, "y": 0, "w": 1.75, "h": 0.5 },
|
|
||||||
{ "label": "~", "x": 0, "y": 0.75 },
|
|
||||||
{ "label": "!", "x": 1.25, "y": 0.75 },
|
|
||||||
{ "label": "\"", "x": 2.5, "y": 0.75 },
|
|
||||||
{ "label": "", "x": 3.75, "y": 0.75 },
|
|
||||||
{ "label": "$", "x": 5, "y": 0.75 },
|
|
||||||
{ "label": "%", "x": 6.25, "y": 0.75 },
|
|
||||||
{ "label": "^", "x": 7.5, "y": 0.75 },
|
|
||||||
{ "label": "&", "x": 8.75, "y": 0.75 },
|
|
||||||
{ "label": "*", "x": 10, "y": 0.75 },
|
|
||||||
{ "label": "(", "x": 11.25, "y": 0.75 },
|
|
||||||
{ "label": ")", "x": 12.5, "y": 0.75 },
|
|
||||||
{ "label": "_", "x": 13.75, "y": 0.75 },
|
|
||||||
{ "label": "+", "x": 15, "y": 0.75 },
|
|
||||||
{ "label": "Backspace", "x": 16.25, "y": 0.75, "w": 2 },
|
|
||||||
{ "label": "Tab", "x": 0, "y": 2, "w": 1.5 },
|
|
||||||
{ "label": "Q", "x": 1.75, "y": 2 },
|
|
||||||
{ "label": "W", "x": 3, "y": 2 },
|
|
||||||
{ "label": "E", "x": 4.25, "y": 2 },
|
|
||||||
{ "label": "R", "x": 5.5, "y": 2 },
|
|
||||||
{ "label": "T", "x": 6.75, "y": 2 },
|
|
||||||
{ "label": "Y", "x": 8, "y": 2 },
|
|
||||||
{ "label": "U", "x": 9.25, "y": 2 },
|
|
||||||
{ "label": "I", "x": 10.5, "y": 2 },
|
|
||||||
{ "label": "O", "x": 11.75, "y": 2 },
|
|
||||||
{ "label": "P", "x": 13, "y": 2 },
|
|
||||||
{ "label": "{", "x": 14.25, "y": 2 },
|
|
||||||
{ "label": "}", "x": 15.5, "y": 2 },
|
|
||||||
{ "label": "Enter", "x": 17, "y": 2, "w": 1.25, "h": 2.25 },
|
|
||||||
{ "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
|
|
||||||
{ "label": "A", "x": 2, "y": 3.25 },
|
|
||||||
{ "label": "S", "x": 3.25, "y": 3.25 },
|
|
||||||
{ "label": "D", "x": 4.5, "y": 3.25 },
|
|
||||||
{ "label": "F", "x": 5.75, "y": 3.25 },
|
|
||||||
{ "label": "G", "x": 7, "y": 3.25 },
|
|
||||||
{ "label": "H", "x": 8.25, "y": 3.25 },
|
|
||||||
{ "label": "J", "x": 9.5, "y": 3.25 },
|
|
||||||
{ "label": "K", "x": 10.75, "y": 3.25 },
|
|
||||||
{ "label": "L", "x": 12, "y": 3.25 },
|
|
||||||
{ "label": ":", "x": 13.25, "y": 3.25 },
|
|
||||||
{ "label": "@", "x": 14.5, "y": 3.25 },
|
|
||||||
{ "label": "~", "x": 15.75, "y": 3.25 },
|
|
||||||
{ "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 },
|
|
||||||
{ "label": "|", "x": 1.5, "y": 4.5 },
|
|
||||||
{ "label": "Z", "x": 2.75, "y": 4.5 },
|
|
||||||
{ "label": "X", "x": 4, "y": 4.5 },
|
|
||||||
{ "label": "C", "x": 5.25, "y": 4.5 },
|
|
||||||
{ "label": "V", "x": 6.5, "y": 4.5 },
|
|
||||||
{ "label": "B", "x": 7.75, "y": 4.5 },
|
|
||||||
{ "label": "N", "x": 9, "y": 4.5 },
|
|
||||||
{ "label": "M", "x": 10.25, "y": 4.5 },
|
|
||||||
{ "label": "<", "x": 11.5, "y": 4.5 },
|
|
||||||
{ "label": ">", "x": 12.75, "y": 4.5 },
|
|
||||||
{ "label": "?", "x": 14, "y": 4.5 },
|
|
||||||
{ "label": "Shift", "x": 15.25, "y": 4.5, "w": 3 },
|
|
||||||
{ "label": "Ctrl", "x": 0, "y": 5.75, "w": 1.25 },
|
|
||||||
{ "label": "Fn", "x": 1.5, "y": 5.75 },
|
|
||||||
{ "label": "Win", "x": 2.75, "y": 5.75 },
|
|
||||||
{ "label": "Alt", "x": 4, "y": 5.75 },
|
|
||||||
{ "x": 5.25, "y": 5.75, "w": 6 },
|
|
||||||
{ "label": "Alt", "x": 11.5, "y": 5.75 },
|
|
||||||
{ "label": "Ctrl", "x": 12.75, "y": 5.75 },
|
|
||||||
{ "label": "←", "x": 14, "y": 5.75, "w": 1.25 },
|
|
||||||
{ "label": "↑", "x": 15.5, "y": 5.75, "w": 1.25, "h": 0.5 },
|
|
||||||
{ "label": "→", "x": 17, "y": 5.75, "w": 1.25 },
|
|
||||||
{ "label": "↓", "x": 15.5, "y": 6.25, "w": 1.25, "h": 0.5 }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"LAYOUT_83_jis": {
|
|
||||||
"layout": [
|
|
||||||
{ "label": "Esc", "x": 0, "y": 0, "w": 1.25, "h": 0.5 },
|
|
||||||
{ "label": "F1", "x": 1.5, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F2", "x": 2.75, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F3", "x": 4, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F4", "x": 5.25, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F5", "x": 6.5, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F6", "x": 7.75, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F7", "x": 9, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F8", "x": 10.25, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F9", "x": 11.5, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F10", "x": 12.75, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F11", "x": 14, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "F12", "x": 15.25, "y": 0, "h": 0.5 },
|
|
||||||
{ "label": "Delete", "x": 16.5, "y": 0, "w": 1.75, "h": 0.5 },
|
|
||||||
{ "label": "~", "x": 0, "y": 0.75 },
|
|
||||||
{ "label": "!", "x": 1.25, "y": 0.75 },
|
|
||||||
{ "label": "\"", "x": 2.5, "y": 0.75 },
|
|
||||||
{ "label": "", "x": 3.75, "y": 0.75 },
|
|
||||||
{ "label": "$", "x": 5, "y": 0.75 },
|
|
||||||
{ "label": "%", "x": 6.25, "y": 0.75 },
|
|
||||||
{ "label": "^", "x": 7.5, "y": 0.75 },
|
|
||||||
{ "label": "&", "x": 8.75, "y": 0.75 },
|
|
||||||
{ "label": "*", "x": 10, "y": 0.75 },
|
|
||||||
{ "label": "(", "x": 11.25, "y": 0.75 },
|
|
||||||
{ "label": ")", "x": 12.5, "y": 0.75 },
|
|
||||||
{ "label": "_", "x": 13.75, "y": 0.75 },
|
|
||||||
{ "label": "+", "x": 15, "y": 0.75 },
|
|
||||||
{ "x": 16.25, "y": 0.75, "w": 0.5 },
|
|
||||||
{ "label": "Backsp", "x": 17, "y": 0.75, "w": 1.25 },
|
|
||||||
{ "label": "Tab", "x": 0, "y": 2, "w": 1.5 },
|
|
||||||
{ "label": "Q", "x": 1.75, "y": 2 },
|
|
||||||
{ "label": "W", "x": 3, "y": 2 },
|
|
||||||
{ "label": "E", "x": 4.25, "y": 2 },
|
|
||||||
{ "label": "R", "x": 5.5, "y": 2 },
|
|
||||||
{ "label": "T", "x": 6.75, "y": 2 },
|
|
||||||
{ "label": "Y", "x": 8, "y": 2 },
|
|
||||||
{ "label": "U", "x": 9.25, "y": 2 },
|
|
||||||
{ "label": "I", "x": 10.5, "y": 2 },
|
|
||||||
{ "label": "O", "x": 11.75, "y": 2 },
|
|
||||||
{ "label": "P", "x": 13, "y": 2 },
|
|
||||||
{ "label": "{", "x": 14.25, "y": 2 },
|
|
||||||
{ "label": "}", "x": 15.5, "y": 2 },
|
|
||||||
{ "label": "Enter", "x": 17, "y": 2, "w": 1.25, "h": 2.25 },
|
|
||||||
{ "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
|
|
||||||
{ "label": "A", "x": 2, "y": 3.25 },
|
|
||||||
{ "label": "S", "x": 3.25, "y": 3.25 },
|
|
||||||
{ "label": "D", "x": 4.5, "y": 3.25 },
|
|
||||||
{ "label": "F", "x": 5.75, "y": 3.25 },
|
|
||||||
{ "label": "G", "x": 7, "y": 3.25 },
|
|
||||||
{ "label": "H", "x": 8.25, "y": 3.25 },
|
|
||||||
{ "label": "J", "x": 9.5, "y": 3.25 },
|
|
||||||
{ "label": "K", "x": 10.75, "y": 3.25 },
|
|
||||||
{ "label": "L", "x": 12, "y": 3.25 },
|
|
||||||
{ "label": ":", "x": 13.25, "y": 3.25 },
|
|
||||||
{ "label": "@", "x": 14.5, "y": 3.25 },
|
|
||||||
{ "label": "~", "x": 15.75, "y": 3.25 },
|
|
||||||
{ "label": "Shift", "x": 0, "y": 4.5, "w": 2.5 },
|
|
||||||
{ "label": "Z", "x": 2.75, "y": 4.5 },
|
|
||||||
{ "label": "X", "x": 4, "y": 4.5 },
|
|
||||||
{ "label": "C", "x": 5.25, "y": 4.5 },
|
|
||||||
{ "label": "V", "x": 6.5, "y": 4.5 },
|
|
||||||
{ "label": "B", "x": 7.75, "y": 4.5 },
|
|
||||||
{ "label": "N", "x": 9, "y": 4.5 },
|
|
||||||
{ "label": "M", "x": 10.25, "y": 4.5 },
|
|
||||||
{ "label": "<", "x": 11.5, "y": 4.5 },
|
|
||||||
{ "label": ">", "x": 12.75, "y": 4.5 },
|
|
||||||
{ "label": "?", "x": 14, "y": 4.5 },
|
|
||||||
{ "x": 15.25, "y": 4.5 },
|
|
||||||
{ "label": "Shift", "x": 16.5, "y": 4.5, "w": 1.75 },
|
|
||||||
{ "label": "Ctrl", "x": 0, "y": 5.75, "w": 1.25 },
|
|
||||||
{ "label": "Fn", "x": 1.5, "y": 5.75 },
|
|
||||||
{ "label": "Win", "x": 2.75, "y": 5.75 },
|
|
||||||
{ "label": "Alt", "x": 4, "y": 5.75 },
|
|
||||||
{ "x": 5.25, "y": 5.75, "w": 0.5 },
|
|
||||||
{ "x": 6, "y": 5.75, "w": 3.75 },
|
|
||||||
{ "x": 10, "y": 5.75, "w": 0.5 },
|
|
||||||
{ "x": 10.75, "y": 5.75, "w": 0.5 },
|
|
||||||
{ "label": "Alt", "x": 11.5, "y": 5.75 },
|
|
||||||
{ "label": "Ctrl", "x": 12.75, "y": 5.75 },
|
|
||||||
{ "label": "←", "x": 14, "y": 5.75, "w": 1.25 },
|
|
||||||
{ "label": "↑", "x": 15.5, "y": 5.75, "w": 1.25, "h": 0.5 },
|
|
||||||
{ "label": "→", "x": 17, "y": 5.75, "w": 1.25 },
|
|
||||||
{ "label": "↓", "x": 15.5, "y": 6.25, "w": 1.25, "h": 0.5 }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"LAYOUT_numpad": {
|
|
||||||
"layout": [
|
|
||||||
{ "label": "ESC", "x": 0, "y": 0, "h": 0.75 },
|
|
||||||
{ "label": "+ -", "x": 1.25, "y": 0, "h": 0.75 },
|
|
||||||
{ "label": "=", "x": 2.5, "y": 0, "h": 0.75 },
|
|
||||||
{ "label": "<--", "x": 3.75, "y": 0, "h": 0.75 },
|
|
||||||
{ "label": "Num Lock", "x": 0, "y": 1, "h": 1.25 },
|
|
||||||
{ "label": "-", "x": 1.25, "y": 1, "h": 1.25 },
|
|
||||||
{ "label": "*", "x": 2.5, "y": 1, "h": 1.25 },
|
|
||||||
{ "label": "-", "x": 3.75, "y": 1, "h": 1.25 },
|
|
||||||
{ "label": "7", "x": 0, "y": 2.5, "h": 1.25 },
|
|
||||||
{ "label": "8", "x": 1.25, "y": 2.5, "h": 1.25 },
|
|
||||||
{ "label": "9", "x": 2.5, "y": 2.5, "h": 1.25 },
|
|
||||||
{ "label": "+", "x": 3.75, "y": 2.5, "h": 2.75 },
|
|
||||||
{ "label": "4", "x": 0, "y": 4, "h": 1.25 },
|
|
||||||
{ "label": "5", "x": 1.25, "y": 4, "h": 1.25 },
|
|
||||||
{ "label": "6", "x": 2.5, "y": 4, "h": 1.25 },
|
|
||||||
{ "label": "1", "x": 0, "y": 5.5, "h": 1.25 },
|
|
||||||
{ "label": "2", "x": 1.25, "y": 5.5, "h": 1.25 },
|
|
||||||
{ "label": "3", "x": 2.5, "y": 5.5, "h": 1.25 },
|
|
||||||
{ "label": "Enter", "x": 3.75, "y": 5.5, "h": 2.75 },
|
|
||||||
{ "label": "0", "x": 0, "y": 7, "w": 2.25, "h": 1.25 },
|
|
||||||
{ "label": ".", "x": 2.5, "y": 7, "h": 1.25 }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"LAYOUT_gridpad": {
|
|
||||||
"layout": [
|
|
||||||
{ "x": 0, "y": 0, "h": 0.75 },
|
|
||||||
{ "x": 1.25, "y": 0, "h": 0.75 },
|
|
||||||
{ "x": 2.5, "y": 0, "h": 0.75 },
|
|
||||||
{ "x": 3.75, "y": 0, "h": 0.75 },
|
|
||||||
|
|
||||||
{ "x": 0, "y": 1, "h": 1.25 },
|
|
||||||
{ "x": 1.25, "y": 1, "h": 1.25 },
|
|
||||||
{ "x": 2.5, "y": 1, "h": 1.25 },
|
|
||||||
{ "x": 3.75, "y": 1, "h": 1.25 },
|
|
||||||
|
|
||||||
{ "x": 0, "y": 2.5, "h": 1.25 },
|
|
||||||
{ "x": 1.25, "y": 2.5, "h": 1.25 },
|
|
||||||
{ "x": 2.5, "y": 2.5, "h": 1.25 },
|
|
||||||
{ "x": 3.75, "y": 2.5, "h": 1.25 },
|
|
||||||
|
|
||||||
{ "x": 0, "y": 4, "h": 1.25 },
|
|
||||||
{ "x": 1.25, "y": 4, "h": 1.25 },
|
|
||||||
{ "x": 2.5, "y": 4, "h": 1.25 },
|
|
||||||
{ "x": 3.75, "y": 4, "h": 1.25 },
|
|
||||||
|
|
||||||
{ "x": 0, "y": 5.5, "h": 1.25 },
|
|
||||||
{ "x": 1.25, "y": 5.5, "h": 1.25 },
|
|
||||||
{ "x": 2.5, "y": 5.5, "h": 1.25 },
|
|
||||||
{ "x": 3.75, "y": 5.5, "h": 1.25 },
|
|
||||||
|
|
||||||
{ "x": 0, "y": 7, "w": 2.25, "h": 1.25 },
|
|
||||||
{ "x": 1.25, "y": 7, "h": 1.25 },
|
|
||||||
{ "x": 2.5, "y": 7, "h": 1.25 },
|
|
||||||
{ "x": 3.75, "y": 7, "h": 1.25 }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
5
keyboards/lotus/iso/config.h
Normal file
5
keyboards/lotus/iso/config.h
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
// Copyright 2022 Framework Computer
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#define MATRIX_COLS 16
|
||||||
|
#define MATRIX_ROWS 8
|
||||||
111
keyboards/lotus/iso/info.json
Normal file
111
keyboards/lotus/iso/info.json
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Lotus",
|
||||||
|
"manufacturer": "Framework Computer Inc",
|
||||||
|
"maintainer": "JohnAZoidberg",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": false,
|
||||||
|
"mousekey": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"console": true,
|
||||||
|
"command": false,
|
||||||
|
"nkro": true,
|
||||||
|
"audio": false
|
||||||
|
},
|
||||||
|
"debounce": 5,
|
||||||
|
"processor": "RP2040",
|
||||||
|
"url": "https://frame.work",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.1.0",
|
||||||
|
"pid": "0x0013",
|
||||||
|
"vid": "0x32AC"
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
"pin": "GP25"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{ "label": "Esc", "x": 0, "y": 0, "w": 1.25, "h": 0.5 },
|
||||||
|
{ "label": "F1", "x": 1.5, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F2", "x": 2.75, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F3", "x": 4, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F4", "x": 5.25, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F5", "x": 6.5, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F6", "x": 7.75, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F7", "x": 9, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F8", "x": 10.25, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F9", "x": 11.5, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F10", "x": 12.75, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F11", "x": 14, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F12", "x": 15.25, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "Delete", "x": 16.5, "y": 0, "w": 1.75, "h": 0.5 },
|
||||||
|
{ "label": "~", "x": 0, "y": 0.75 },
|
||||||
|
{ "label": "!", "x": 1.25, "y": 0.75 },
|
||||||
|
{ "label": "\"", "x": 2.5, "y": 0.75 },
|
||||||
|
{ "label": "", "x": 3.75, "y": 0.75 },
|
||||||
|
{ "label": "$", "x": 5, "y": 0.75 },
|
||||||
|
{ "label": "%", "x": 6.25, "y": 0.75 },
|
||||||
|
{ "label": "^", "x": 7.5, "y": 0.75 },
|
||||||
|
{ "label": "&", "x": 8.75, "y": 0.75 },
|
||||||
|
{ "label": "*", "x": 10, "y": 0.75 },
|
||||||
|
{ "label": "(", "x": 11.25, "y": 0.75 },
|
||||||
|
{ "label": ")", "x": 12.5, "y": 0.75 },
|
||||||
|
{ "label": "_", "x": 13.75, "y": 0.75 },
|
||||||
|
{ "label": "+", "x": 15, "y": 0.75 },
|
||||||
|
{ "label": "Backspace", "x": 16.25, "y": 0.75, "w": 2 },
|
||||||
|
{ "label": "Tab", "x": 0, "y": 2, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "W", "x": 3, "y": 2 },
|
||||||
|
{ "label": "E", "x": 4.25, "y": 2 },
|
||||||
|
{ "label": "R", "x": 5.5, "y": 2 },
|
||||||
|
{ "label": "T", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "Y", "x": 8, "y": 2 },
|
||||||
|
{ "label": "U", "x": 9.25, "y": 2 },
|
||||||
|
{ "label": "I", "x": 10.5, "y": 2 },
|
||||||
|
{ "label": "O", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "P", "x": 13, "y": 2 },
|
||||||
|
{ "label": "{", "x": 14.25, "y": 2 },
|
||||||
|
{ "label": "}", "x": 15.5, "y": 2 },
|
||||||
|
{ "label": "Enter", "x": 17, "y": 2, "w": 1.25, "h": 2.25 },
|
||||||
|
{ "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 2, "y": 3.25 },
|
||||||
|
{ "label": "S", "x": 3.25, "y": 3.25 },
|
||||||
|
{ "label": "D", "x": 4.5, "y": 3.25 },
|
||||||
|
{ "label": "F", "x": 5.75, "y": 3.25 },
|
||||||
|
{ "label": "G", "x": 7, "y": 3.25 },
|
||||||
|
{ "label": "H", "x": 8.25, "y": 3.25 },
|
||||||
|
{ "label": "J", "x": 9.5, "y": 3.25 },
|
||||||
|
{ "label": "K", "x": 10.75, "y": 3.25 },
|
||||||
|
{ "label": "L", "x": 12, "y": 3.25 },
|
||||||
|
{ "label": ":", "x": 13.25, "y": 3.25 },
|
||||||
|
{ "label": "@", "x": 14.5, "y": 3.25 },
|
||||||
|
{ "label": "~", "x": 15.75, "y": 3.25 },
|
||||||
|
{ "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 },
|
||||||
|
{ "label": "|", "x": 1.5, "y": 4.5 },
|
||||||
|
{ "label": "Z", "x": 2.75, "y": 4.5 },
|
||||||
|
{ "label": "X", "x": 4, "y": 4.5 },
|
||||||
|
{ "label": "C", "x": 5.25, "y": 4.5 },
|
||||||
|
{ "label": "V", "x": 6.5, "y": 4.5 },
|
||||||
|
{ "label": "B", "x": 7.75, "y": 4.5 },
|
||||||
|
{ "label": "N", "x": 9, "y": 4.5 },
|
||||||
|
{ "label": "M", "x": 10.25, "y": 4.5 },
|
||||||
|
{ "label": "<", "x": 11.5, "y": 4.5 },
|
||||||
|
{ "label": ">", "x": 12.75, "y": 4.5 },
|
||||||
|
{ "label": "?", "x": 14, "y": 4.5 },
|
||||||
|
{ "label": "Shift", "x": 15.25, "y": 4.5, "w": 3 },
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 5.75, "w": 1.25 },
|
||||||
|
{ "label": "Fn", "x": 1.5, "y": 5.75 },
|
||||||
|
{ "label": "Win", "x": 2.75, "y": 5.75 },
|
||||||
|
{ "label": "Alt", "x": 4, "y": 5.75 },
|
||||||
|
{ "x": 5.25, "y": 5.75, "w": 6 },
|
||||||
|
{ "label": "Alt", "x": 11.5, "y": 5.75 },
|
||||||
|
{ "label": "Ctrl", "x": 12.75, "y": 5.75 },
|
||||||
|
{ "label": "←", "x": 14, "y": 5.75, "w": 1.25 },
|
||||||
|
{ "label": "↑", "x": 15.5, "y": 5.75, "w": 1.25, "h": 0.5 },
|
||||||
|
{ "label": "→", "x": 17, "y": 5.75, "w": 1.25 },
|
||||||
|
{ "label": "↓", "x": 15.5, "y": 6.25, "w": 1.25, "h": 0.5 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
22
keyboards/lotus/iso/iso.h
Normal file
22
keyboards/lotus/iso/iso.h
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
// Copyright 2022 Framework Computer
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
// K29/K42 swapped in ANSI/ISO
|
||||||
|
#define LAYOUT( \
|
||||||
|
K110, K112, K113, K114, K115, K116, K117, K118, K119, K120, K121, K122, K126, K76, \
|
||||||
|
K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K15, \
|
||||||
|
K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, K43, \
|
||||||
|
K44, K45, K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K57, \
|
||||||
|
K58, K59, K127, K60, K61, K62, K64, K79, K83, K84, K89 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ K48, K76, K17, K62, KC_NO, K47, K49, K52, K54, K57, K53, KC_NO, K64, K55, K41, KC_NO }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, K60, K61, K46, K50, K51, K84, K44, KC_NO, KC_NO, K58, K83, K43, K119 }, \
|
||||||
|
{ KC_NO, KC_NO, K59, KC_NO, K19, K113, K35, K36, K42, KC_NO, K118, KC_NO, KC_NO, K12, KC_NO, K89 }, \
|
||||||
|
{ KC_NO, K127, K16, KC_NO, K115, K112, K21, K22, K25, KC_NO, K117, K120, KC_NO, KC_NO, KC_NO, K126 }, \
|
||||||
|
{ KC_NO, KC_NO, K1, KC_NO, K30, K32, K6, K7, K121, KC_NO, K116, KC_NO, K11, K13, KC_NO }, \
|
||||||
|
{ KC_NO, KC_NO, K2, KC_NO, K4, K3, K5, K8, K10, KC_NO, K9, K45, KC_NO, K26, K15, KC_NO }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, KC_NO, K114, K18, K20, K23, K122, KC_NO, K24, K79, KC_NO, K27, K28, KC_NO }, \
|
||||||
|
{ KC_NO, KC_NO, K31, KC_NO, KC_NO, K110, K34, K37, K39, KC_NO, K38, KC_NO, KC_NO, K40, K33, KC_NO }, \
|
||||||
|
}
|
||||||
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* └────┴───┴───┴───┴───────────────────┴───┴───┴────┴───┴────┘
|
* └────┴───┴───┴───┴───────────────────┴───┴───┴────┴───┴────┘
|
||||||
* 79 total
|
* 79 total
|
||||||
*/
|
*/
|
||||||
[0] = LAYOUT_79_iso(
|
[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_DEL,
|
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_DEL,
|
||||||
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_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_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_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,
|
||||||
@@ -49,9 +49,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* └────┴───┴───┴───┴───────────────────┴───┴───┴────┴───┴────┘
|
* └────┴───┴───┴───┴───────────────────┴───┴───┴────┴───┴────┘
|
||||||
* 78 total
|
* 78 total
|
||||||
*/
|
*/
|
||||||
// TODO: Screen toggle, airplane mode
|
// TODO: Airplane mode
|
||||||
// TODO: Other unlabeled keys
|
[1] = LAYOUT(
|
||||||
[1] = LAYOUT_79_iso(
|
|
||||||
TG(1), KC_KB_MUTE, KC_KB_VOLUME_DOWN, KC_KB_VOLUME_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_BRID, KC_BRIU, KC_SCRN, KC_TRNS, KC_PSCR, KC_MSEL, KC_INS,
|
TG(1), KC_KB_MUTE, KC_KB_VOLUME_DOWN, KC_KB_VOLUME_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_BRID, KC_BRIU, KC_SCRN, KC_TRNS, KC_PSCR, KC_MSEL, KC_INS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS,
|
||||||
5
keyboards/lotus/jis/config.h
Normal file
5
keyboards/lotus/jis/config.h
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
// Copyright 2022 Framework Computer
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#define MATRIX_COLS 16
|
||||||
|
#define MATRIX_ROWS 8
|
||||||
115
keyboards/lotus/jis/info.json
Normal file
115
keyboards/lotus/jis/info.json
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Lotus Keyboard",
|
||||||
|
"manufacturer": "Framework Computer Inc",
|
||||||
|
"maintainer": "JohnAZoidberg",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": false,
|
||||||
|
"mousekey": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"console": true,
|
||||||
|
"command": false,
|
||||||
|
"nkro": true,
|
||||||
|
"audio": false
|
||||||
|
},
|
||||||
|
"debounce": 5,
|
||||||
|
"processor": "RP2040",
|
||||||
|
"url": "https://frame.work",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.1.0",
|
||||||
|
"pid": "0x0013",
|
||||||
|
"vid": "0x32AC"
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
"pin": "GP25"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{ "label": "Esc", "x": 0, "y": 0, "w": 1.25, "h": 0.5 },
|
||||||
|
{ "label": "F1", "x": 1.5, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F2", "x": 2.75, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F3", "x": 4, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F4", "x": 5.25, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F5", "x": 6.5, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F6", "x": 7.75, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F7", "x": 9, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F8", "x": 10.25, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F9", "x": 11.5, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F10", "x": 12.75, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F11", "x": 14, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "F12", "x": 15.25, "y": 0, "h": 0.5 },
|
||||||
|
{ "label": "Delete", "x": 16.5, "y": 0, "w": 1.75, "h": 0.5 },
|
||||||
|
{ "label": "~", "x": 0, "y": 0.75 },
|
||||||
|
{ "label": "!", "x": 1.25, "y": 0.75 },
|
||||||
|
{ "label": "\"", "x": 2.5, "y": 0.75 },
|
||||||
|
{ "label": "", "x": 3.75, "y": 0.75 },
|
||||||
|
{ "label": "$", "x": 5, "y": 0.75 },
|
||||||
|
{ "label": "%", "x": 6.25, "y": 0.75 },
|
||||||
|
{ "label": "^", "x": 7.5, "y": 0.75 },
|
||||||
|
{ "label": "&", "x": 8.75, "y": 0.75 },
|
||||||
|
{ "label": "*", "x": 10, "y": 0.75 },
|
||||||
|
{ "label": "(", "x": 11.25, "y": 0.75 },
|
||||||
|
{ "label": ")", "x": 12.5, "y": 0.75 },
|
||||||
|
{ "label": "_", "x": 13.75, "y": 0.75 },
|
||||||
|
{ "label": "+", "x": 15, "y": 0.75 },
|
||||||
|
{ "x": 16.25, "y": 0.75, "w": 0.5 },
|
||||||
|
{ "label": "Backsp", "x": 17, "y": 0.75, "w": 1.25 },
|
||||||
|
{ "label": "Tab", "x": 0, "y": 2, "w": 1.5 },
|
||||||
|
{ "label": "Q", "x": 1.75, "y": 2 },
|
||||||
|
{ "label": "W", "x": 3, "y": 2 },
|
||||||
|
{ "label": "E", "x": 4.25, "y": 2 },
|
||||||
|
{ "label": "R", "x": 5.5, "y": 2 },
|
||||||
|
{ "label": "T", "x": 6.75, "y": 2 },
|
||||||
|
{ "label": "Y", "x": 8, "y": 2 },
|
||||||
|
{ "label": "U", "x": 9.25, "y": 2 },
|
||||||
|
{ "label": "I", "x": 10.5, "y": 2 },
|
||||||
|
{ "label": "O", "x": 11.75, "y": 2 },
|
||||||
|
{ "label": "P", "x": 13, "y": 2 },
|
||||||
|
{ "label": "{", "x": 14.25, "y": 2 },
|
||||||
|
{ "label": "}", "x": 15.5, "y": 2 },
|
||||||
|
{ "label": "Enter", "x": 17, "y": 2, "w": 1.25, "h": 2.25 },
|
||||||
|
{ "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75 },
|
||||||
|
{ "label": "A", "x": 2, "y": 3.25 },
|
||||||
|
{ "label": "S", "x": 3.25, "y": 3.25 },
|
||||||
|
{ "label": "D", "x": 4.5, "y": 3.25 },
|
||||||
|
{ "label": "F", "x": 5.75, "y": 3.25 },
|
||||||
|
{ "label": "G", "x": 7, "y": 3.25 },
|
||||||
|
{ "label": "H", "x": 8.25, "y": 3.25 },
|
||||||
|
{ "label": "J", "x": 9.5, "y": 3.25 },
|
||||||
|
{ "label": "K", "x": 10.75, "y": 3.25 },
|
||||||
|
{ "label": "L", "x": 12, "y": 3.25 },
|
||||||
|
{ "label": ":", "x": 13.25, "y": 3.25 },
|
||||||
|
{ "label": "@", "x": 14.5, "y": 3.25 },
|
||||||
|
{ "label": "~", "x": 15.75, "y": 3.25 },
|
||||||
|
{ "label": "Shift", "x": 0, "y": 4.5, "w": 2.5 },
|
||||||
|
{ "label": "Z", "x": 2.75, "y": 4.5 },
|
||||||
|
{ "label": "X", "x": 4, "y": 4.5 },
|
||||||
|
{ "label": "C", "x": 5.25, "y": 4.5 },
|
||||||
|
{ "label": "V", "x": 6.5, "y": 4.5 },
|
||||||
|
{ "label": "B", "x": 7.75, "y": 4.5 },
|
||||||
|
{ "label": "N", "x": 9, "y": 4.5 },
|
||||||
|
{ "label": "M", "x": 10.25, "y": 4.5 },
|
||||||
|
{ "label": "<", "x": 11.5, "y": 4.5 },
|
||||||
|
{ "label": ">", "x": 12.75, "y": 4.5 },
|
||||||
|
{ "label": "?", "x": 14, "y": 4.5 },
|
||||||
|
{ "x": 15.25, "y": 4.5 },
|
||||||
|
{ "label": "Shift", "x": 16.5, "y": 4.5, "w": 1.75 },
|
||||||
|
{ "label": "Ctrl", "x": 0, "y": 5.75, "w": 1.25 },
|
||||||
|
{ "label": "Fn", "x": 1.5, "y": 5.75 },
|
||||||
|
{ "label": "Win", "x": 2.75, "y": 5.75 },
|
||||||
|
{ "label": "Alt", "x": 4, "y": 5.75 },
|
||||||
|
{ "x": 5.25, "y": 5.75, "w": 0.5 },
|
||||||
|
{ "x": 6, "y": 5.75, "w": 3.75 },
|
||||||
|
{ "x": 10, "y": 5.75, "w": 0.5 },
|
||||||
|
{ "x": 10.75, "y": 5.75, "w": 0.5 },
|
||||||
|
{ "label": "Alt", "x": 11.5, "y": 5.75 },
|
||||||
|
{ "label": "Ctrl", "x": 12.75, "y": 5.75 },
|
||||||
|
{ "label": "←", "x": 14, "y": 5.75, "w": 1.25 },
|
||||||
|
{ "label": "↑", "x": 15.5, "y": 5.75, "w": 1.25, "h": 0.5 },
|
||||||
|
{ "label": "→", "x": 17, "y": 5.75, "w": 1.25 },
|
||||||
|
{ "label": "↓", "x": 15.5, "y": 6.25, "w": 1.25, "h": 0.5 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
22
keyboards/lotus/jis/jis.h
Normal file
22
keyboards/lotus/jis/jis.h
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
// Copyright 2022 Framework Computer
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
// JIS is based off ANSI with a few extra keys
|
||||||
|
#define LAYOUT( \
|
||||||
|
K110, K112, K113, K114, K115, K116, K117, K118, K119, K120, K121, K122, K126, K76, \
|
||||||
|
K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15,\
|
||||||
|
K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, K43, \
|
||||||
|
K44, K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, \
|
||||||
|
K58, K59, K127, K60, K131, K61, K132, K133, K62, K64, K79, K83, K84, K89 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ K48, K76, K17, K62, KC_NO, K47, K49, K52, K54, K57, K53, K133, K64, K55, K41, K14 }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, K60, K61, K46, K50, K51, K84, K44, KC_NO, K132, K58, K83, K43, K119 }, \
|
||||||
|
{ KC_NO, KC_NO, K59, KC_NO, K19, K113, K35, K36, K42, KC_NO, K118, KC_NO, KC_NO, K12, KC_NO, K89 }, \
|
||||||
|
{ KC_NO, K127, K16, KC_NO, K115, K112, K21, K22, K25, KC_NO, K117, K120, KC_NO, KC_NO, KC_NO, K126 }, \
|
||||||
|
{ KC_NO, KC_NO, K1, KC_NO, K30, K32, K6, K7, K121, KC_NO, K116, K56, KC_NO, K11, K13, KC_NO,}, \
|
||||||
|
{ KC_NO, KC_NO, K2, KC_NO, K4, K3, K5, K8, K10, KC_NO, K9, KC_NO, KC_NO, K26, K15, KC_NO,}, \
|
||||||
|
{ KC_NO, KC_NO, K131, KC_NO, K114, K18, K20, K23, K122, KC_NO, K24, K79, KC_NO, K27, K28, KC_NO,}, \
|
||||||
|
{ KC_NO, KC_NO, K31, KC_NO, KC_NO, K110, K34, K37, K39, KC_NO, K38, KC_NO, KC_NO, K40, K33, KC_NO,} \
|
||||||
|
}
|
||||||
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* └────┴───┴───┴───┴──┴──────────┴──┴──┴───┴───┴────┴───┴────┘
|
* └────┴───┴───┴───┴──┴──────────┴──┴──┴───┴───┴────┴───┴────┘
|
||||||
* 83 total
|
* 83 total
|
||||||
*/
|
*/
|
||||||
[0] = LAYOUT_83_jis(
|
[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_DEL,
|
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_DEL,
|
||||||
JP_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, JP_CIRC, JP_YEN, KC_BSPC,
|
JP_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, JP_CIRC, JP_YEN, KC_BSPC,
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_LBRC,
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_LBRC,
|
||||||
@@ -50,9 +50,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* └────┴───┴───┴───┴──┴──────────┴──┴──┴───┴───┴────┴───┴────┘
|
* └────┴───┴───┴───┴──┴──────────┴──┴──┴───┴───┴────┴───┴────┘
|
||||||
* 83 total
|
* 83 total
|
||||||
*/
|
*/
|
||||||
// TODO: Screen toggle, airplane mode
|
// TODO: Airplane mode
|
||||||
// TODO: Other unlabeled keys
|
[1] = LAYOUT(
|
||||||
[1] = LAYOUT_83_jis(
|
|
||||||
TG(1), KC_KB_MUTE, KC_KB_VOLUME_DOWN, KC_KB_VOLUME_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_BRID, KC_BRIU, KC_SCRN, KC_TRNS, KC_PSCR, KC_MSEL, KC_INS,
|
TG(1), KC_KB_MUTE, KC_KB_VOLUME_DOWN, KC_KB_VOLUME_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_BRID, KC_BRIU, KC_SCRN, KC_TRNS, KC_PSCR, KC_MSEL, KC_INS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS,
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#define DRIVER_COUNT 1
|
|
||||||
#define DRIVER_ADDR_1 0b0100000
|
|
||||||
#define RGB_MATRIX_LED_COUNT 24
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
RGB_MATRIX_ENABLE = yes
|
|
||||||
RGB_MATRIX_DRIVER = IS31FL3743A
|
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
"vendorId": "0x32AC",
|
"vendorId": "0x32AC",
|
||||||
"productId": "0x0012",
|
"productId": "0x0012",
|
||||||
"matrix": {"rows": 8, "cols": 16},
|
"matrix": {"rows": 8, "cols": 16},
|
||||||
"menus": ["qmk_rbg_matrix"],
|
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"keymap": [
|
"keymap": [
|
||||||
[
|
[
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
// Copyright 2022 Framework Computer
|
// Copyright 2022 Framework Computer
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
#include "lotus.h"
|
#include "lotus.h"
|
||||||
#include "raw_hid.h"
|
#include "raw_hid.h"
|
||||||
|
|
||||||
|
|||||||
@@ -5,98 +5,19 @@
|
|||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#ifdef KEYBOARD_lotus_ansi
|
||||||
|
#include "ansi.h"
|
||||||
|
#elif KEYBOARD_lotus_iso
|
||||||
|
#include "iso.h"
|
||||||
|
#elif KEYBOARD_lotus_jis
|
||||||
|
#include "jis.h"
|
||||||
|
#elif KEYBOARD_lotus_numpad
|
||||||
|
#include "numpad.h"
|
||||||
|
#elif KEYBOARD_lotus_gridpad
|
||||||
|
#include "gridpad.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
enum lotus_keycodes {
|
enum lotus_keycodes {
|
||||||
// Custom keycode to change screen modes (e.g. enable external screen)
|
// Custom keycode to change screen modes (e.g. enable external screen)
|
||||||
KC_SCRN = SAFE_RANGE,
|
KC_SCRN = SAFE_RANGE,
|
||||||
};
|
};
|
||||||
|
|
||||||
// The layouts are all mostly the same, except for the extra keys that the different layouts have
|
|
||||||
#define LAYOUT_78_ansi( \
|
|
||||||
K110, K112, K113, K114, K115, K116, K117, K118, K119, K120, K121, K122, K126, K76, \
|
|
||||||
K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K15, \
|
|
||||||
K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
|
|
||||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K43, \
|
|
||||||
K44, K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K57, \
|
|
||||||
K58, K59, K127, K60, K61, K62, K64, K79, K83, K84, K89 \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{ K48, K76, K17, K62, KC_NO, K47, K49, K52, K54, K57, K53, KC_NO, K64, K55, K41, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, KC_NO, K60, K61, K46, K50, K51, K84, K44, KC_NO, KC_NO, K58, K83, K43, K119 }, \
|
|
||||||
{ KC_NO, KC_NO, K59, KC_NO, K19, K113, K35, K36, K29, KC_NO, K118, KC_NO, KC_NO, K12, KC_NO, K89 }, \
|
|
||||||
{ KC_NO, K127, K16, KC_NO, K115, K112, K21, K22, K25, KC_NO, K117, K120, KC_NO, KC_NO, KC_NO, K126 }, \
|
|
||||||
{ KC_NO, KC_NO, K1, KC_NO, K30, K32, K6, K7, K121, KC_NO, K116, KC_NO, KC_NO, K11, K13, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, K2, KC_NO, K4, K3, K5, K8, K10, KC_NO, K9, KC_NO, KC_NO, K26, K15, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, KC_NO, KC_NO, K114, K18, K20, K23, K122, KC_NO, K24, K79, KC_NO, K27, K28, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, K31, KC_NO, KC_NO, K110, K34, K37, K39, KC_NO, K38, KC_NO, KC_NO, K40, K33, KC_NO } \
|
|
||||||
}
|
|
||||||
|
|
||||||
// K29/K42 swapped in ANSI/ISO
|
|
||||||
#define LAYOUT_79_iso( \
|
|
||||||
K110, K112, K113, K114, K115, K116, K117, K118, K119, K120, K121, K122, K126, K76, \
|
|
||||||
K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K15, \
|
|
||||||
K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, \
|
|
||||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, K43, \
|
|
||||||
K44, K45, K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K57, \
|
|
||||||
K58, K59, K127, K60, K61, K62, K64, K79, K83, K84, K89 \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{ K48, K76, K17, K62, KC_NO, K47, K49, K52, K54, K57, K53, KC_NO, K64, K55, K41, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, KC_NO, K60, K61, K46, K50, K51, K84, K44, KC_NO, KC_NO, K58, K83, K43, K119 }, \
|
|
||||||
{ KC_NO, KC_NO, K59, KC_NO, K19, K113, K35, K36, K42, KC_NO, K118, KC_NO, KC_NO, K12, KC_NO, K89 }, \
|
|
||||||
{ KC_NO, K127, K16, KC_NO, K115, K112, K21, K22, K25, KC_NO, K117, K120, KC_NO, KC_NO, KC_NO, K126 }, \
|
|
||||||
{ KC_NO, KC_NO, K1, KC_NO, K30, K32, K6, K7, K121, KC_NO, K116, KC_NO, K11, K13, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, K2, KC_NO, K4, K3, K5, K8, K10, KC_NO, K9, K45, KC_NO, K26, K15, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, KC_NO, KC_NO, K114, K18, K20, K23, K122, KC_NO, K24, K79, KC_NO, K27, K28, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, K31, KC_NO, KC_NO, K110, K34, K37, K39, KC_NO, K38, KC_NO, KC_NO, K40, K33, KC_NO }, \
|
|
||||||
}
|
|
||||||
|
|
||||||
// JIS is based off ANSI with a few extra keys
|
|
||||||
#define LAYOUT_83_jis( \
|
|
||||||
K110, K112, K113, K114, K115, K116, K117, K118, K119, K120, K121, K122, K126, K76, \
|
|
||||||
K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15,\
|
|
||||||
K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, \
|
|
||||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, K43, \
|
|
||||||
K44, K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, \
|
|
||||||
K58, K59, K127, K60, K131, K61, K132, K133, K62, K64, K79, K83, K84, K89 \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{ K48, K76, K17, K62, KC_NO, K47, K49, K52, K54, K57, K53, K133, K64, K55, K41, K14 }, \
|
|
||||||
{ KC_NO, KC_NO, KC_NO, K60, K61, K46, K50, K51, K84, K44, KC_NO, K132, K58, K83, K43, K119 }, \
|
|
||||||
{ KC_NO, KC_NO, K59, KC_NO, K19, K113, K35, K36, K42, KC_NO, K118, KC_NO, KC_NO, K12, KC_NO, K89 }, \
|
|
||||||
{ KC_NO, K127, K16, KC_NO, K115, K112, K21, K22, K25, KC_NO, K117, K120, KC_NO, KC_NO, KC_NO, K126 }, \
|
|
||||||
{ KC_NO, KC_NO, K1, KC_NO, K30, K32, K6, K7, K121, KC_NO, K116, K56, KC_NO, K11, K13, KC_NO,}, \
|
|
||||||
{ KC_NO, KC_NO, K2, KC_NO, K4, K3, K5, K8, K10, KC_NO, K9, KC_NO, KC_NO, K26, K15, KC_NO,}, \
|
|
||||||
{ KC_NO, KC_NO, K131, KC_NO, K114, K18, K20, K23, K122, KC_NO, K24, K79, KC_NO, K27, K28, KC_NO,}, \
|
|
||||||
{ KC_NO, KC_NO, K31, KC_NO, KC_NO, K110, K34, K37, K39, KC_NO, K38, KC_NO, KC_NO, K40, K33, KC_NO,} \
|
|
||||||
}
|
|
||||||
|
|
||||||
// Same as gridpad with a few keys removed
|
|
||||||
#define LAYOUT_numpad( \
|
|
||||||
H1, H2, H3, H4, \
|
|
||||||
K90, K95, K100, K105, \
|
|
||||||
K91, K96, K101, \
|
|
||||||
K92, K97, K102, K106, \
|
|
||||||
K93, K98, K103, \
|
|
||||||
K99, K104, K108 \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{ K90, K91, K92, K93, K95, K96, K97, K98 }, \
|
|
||||||
{ K99, K100, K101, K102, K103, K104, K105, K106 }, \
|
|
||||||
{ K108, H1, H2, KC_NO, H4, KC_NO, KC_NO, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, KC_NO, KC_NO, H3, KC_NO, KC_NO, KC_NO }, \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define LAYOUT_gridpad( \
|
|
||||||
H1, H2, H3, H4, \
|
|
||||||
K90, K95, K100, K105, \
|
|
||||||
K91, K96, K101, K107, \
|
|
||||||
K92, K97, K102, K106, \
|
|
||||||
K93, K98, K103, K109, \
|
|
||||||
K99, K110, K104, K108 \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{ K90, K91, K92, K93, K95, K96, K97, K98 }, \
|
|
||||||
{ K99, K100, K101, K102, K103, K104, K105, K106 }, \
|
|
||||||
{ K108, H1, H2, KC_NO, H4, K107, K109, K110 }, \
|
|
||||||
{ KC_NO, KC_NO, KC_NO, KC_NO, H3, KC_NO, KC_NO, KC_NO }, \
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -201,11 +201,11 @@ static void adc_mux_init(void) {
|
|||||||
* Overriding behavior of matrix_init from quantum/matrix.c
|
* Overriding behavior of matrix_init from quantum/matrix.c
|
||||||
*/
|
*/
|
||||||
void matrix_init_custom(void) {
|
void matrix_init_custom(void) {
|
||||||
printf("Initializing Lotus\n");
|
print("Initializing Lotus\n");
|
||||||
adc_mux_init();
|
adc_mux_init();
|
||||||
|
|
||||||
// Make sure GPIO is high-impedance, no pullups etc
|
// Make sure GPIO is high-impedance, no pullups etc
|
||||||
adc_gpio_init(26);
|
adc_gpio_init(26);
|
||||||
// Select ADC input 0 (GPIO26)
|
// Select ADC input 0 (GPIO26)
|
||||||
adc_select_input(0);
|
adc_select_input(0);
|
||||||
}
|
}
|
||||||
|
|||||||
5
keyboards/lotus/numpad/config.h
Normal file
5
keyboards/lotus/numpad/config.h
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
// Copyright 2022 Framework Computer
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#define MATRIX_COLS 8
|
||||||
|
#define MATRIX_ROWS 4
|
||||||
53
keyboards/lotus/numpad/info.json
Normal file
53
keyboards/lotus/numpad/info.json
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Lotus Numpad",
|
||||||
|
"manufacturer": "Framework Computer Inc",
|
||||||
|
"maintainer": "JohnAZoidberg",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": false,
|
||||||
|
"mousekey": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"console": true,
|
||||||
|
"command": false,
|
||||||
|
"nkro": true,
|
||||||
|
"audio": false
|
||||||
|
},
|
||||||
|
"debounce": 5,
|
||||||
|
"processor": "RP2040",
|
||||||
|
"url": "https://frame.work",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.1.0",
|
||||||
|
"pid": "0x0013",
|
||||||
|
"vid": "0x32AC"
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
"pin": "GP25"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{ "label": "ESC", "x": 0, "y": 0, "h": 0.75 },
|
||||||
|
{ "label": "+ -", "x": 1.25, "y": 0, "h": 0.75 },
|
||||||
|
{ "label": "=", "x": 2.5, "y": 0, "h": 0.75 },
|
||||||
|
{ "label": "<--", "x": 3.75, "y": 0, "h": 0.75 },
|
||||||
|
{ "label": "Num Lock", "x": 0, "y": 1, "h": 1.25 },
|
||||||
|
{ "label": "-", "x": 1.25, "y": 1, "h": 1.25 },
|
||||||
|
{ "label": "*", "x": 2.5, "y": 1, "h": 1.25 },
|
||||||
|
{ "label": "-", "x": 3.75, "y": 1, "h": 1.25 },
|
||||||
|
{ "label": "7", "x": 0, "y": 2.5, "h": 1.25 },
|
||||||
|
{ "label": "8", "x": 1.25, "y": 2.5, "h": 1.25 },
|
||||||
|
{ "label": "9", "x": 2.5, "y": 2.5, "h": 1.25 },
|
||||||
|
{ "label": "+", "x": 3.75, "y": 2.5, "h": 2.75 },
|
||||||
|
{ "label": "4", "x": 0, "y": 4, "h": 1.25 },
|
||||||
|
{ "label": "5", "x": 1.25, "y": 4, "h": 1.25 },
|
||||||
|
{ "label": "6", "x": 2.5, "y": 4, "h": 1.25 },
|
||||||
|
{ "label": "1", "x": 0, "y": 5.5, "h": 1.25 },
|
||||||
|
{ "label": "2", "x": 1.25, "y": 5.5, "h": 1.25 },
|
||||||
|
{ "label": "3", "x": 2.5, "y": 5.5, "h": 1.25 },
|
||||||
|
{ "label": "Enter", "x": 3.75, "y": 5.5, "h": 2.75 },
|
||||||
|
{ "label": "0", "x": 0, "y": 7, "w": 2.25, "h": 1.25 },
|
||||||
|
{ "label": ".", "x": 2.5, "y": 7, "h": 1.25 }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,9 +3,7 @@
|
|||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
#define NUMPAD_ROWS 4
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
#define NUMPAD_COLS 8
|
|
||||||
const uint16_t PROGMEM keymaps[][NUMPAD_ROWS][NUMPAD_COLS] = {
|
|
||||||
/*
|
/*
|
||||||
* ┌────┬────┬────┬────┐
|
* ┌────┬────┬────┬────┐
|
||||||
* 4 keys │Esc │Calc│ = │ <- │
|
* 4 keys │Esc │Calc│ = │ <- │
|
||||||
@@ -22,7 +20,7 @@ const uint16_t PROGMEM keymaps[][NUMPAD_ROWS][NUMPAD_COLS] = {
|
|||||||
* └─────────┴────┴────┴
|
* └─────────┴────┴────┴
|
||||||
* 21 total
|
* 21 total
|
||||||
*/
|
*/
|
||||||
[0] = LAYOUT_numpad(
|
[0] = LAYOUT(
|
||||||
KC_ESC, KC_CALC, KC_PEQL, KC_DEL,
|
KC_ESC, KC_CALC, KC_PEQL, KC_DEL,
|
||||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
KC_P7, KC_P8, KC_P9,
|
KC_P7, KC_P8, KC_P9,
|
||||||
18
keyboards/lotus/numpad/numpad.h
Normal file
18
keyboards/lotus/numpad/numpad.h
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
// Copyright 2022 Framework Computer
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
// Same as gridpad with a few keys removed
|
||||||
|
#define LAYOUT( \
|
||||||
|
H1, H2, H3, H4, \
|
||||||
|
K90, K95, K100, K105, \
|
||||||
|
K91, K96, K101, \
|
||||||
|
K92, K97, K102, K106, \
|
||||||
|
K93, K98, K103, \
|
||||||
|
K99, K104, K108 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ K90, K91, K92, K93, K95, K96, K97, K98 }, \
|
||||||
|
{ K99, K100, K101, K102, K103, K104, K105, K106 }, \
|
||||||
|
{ K108, H1, H2, KC_NO, H4, KC_NO, KC_NO, KC_NO }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, KC_NO, H3, KC_NO, KC_NO, KC_NO }, \
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
|
RAW_ENABLE = no
|
||||||
|
|
||||||
# Enabled in info.json
|
# Enabled in info.json
|
||||||
# EXTRAKEY_ENABLE = yes # Audio control and System control
|
# EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
@@ -13,5 +14,4 @@ BACKLIGHT_DRIVER = pwm
|
|||||||
CUSTOM_MATRIX = lite
|
CUSTOM_MATRIX = lite
|
||||||
SRC += matrix.c
|
SRC += matrix.c
|
||||||
|
|
||||||
# Debugging (enabled in info.json)
|
DEFAULT_FOLDER = lotus/ansi
|
||||||
#CONSOLE_ENABLE = yes
|
|
||||||
|
|||||||
Reference in New Issue
Block a user