Merge branch 'vial-kb:vial' into HLB_PoorKoi
This commit is contained in:
commit
cf23e957b7
158 changed files with 9347 additions and 137 deletions
10
keyboards/bachoo/x88/config.h
Normal file
10
keyboards/bachoo/x88/config.h
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
// Copyright 2024 Bachoo (@cBachoo)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define WS2812_SPI_DRIVER SPID2
|
||||
#define WS2812_SPI_MOSI_PAL_MODE 0
|
||||
#define WS2812_SPI_SCK_PIN B13
|
||||
#define WS2812_SPI_SCK_PAL_MODE 0
|
||||
#define WS2812_EXTERNAL_PULLUP
|
||||
8
keyboards/bachoo/x88/halconf.h
Normal file
8
keyboards/bachoo/x88/halconf.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
// Copyright 2024 Bachoo (@cBachoo)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_SPI TRUE
|
||||
|
||||
#include_next <halconf.h>
|
||||
279
keyboards/bachoo/x88/keyboard.json
Normal file
279
keyboards/bachoo/x88/keyboard.json
Normal file
|
|
@ -0,0 +1,279 @@
|
|||
{
|
||||
"manufacturer": "concreteflowers",
|
||||
"keyboard_name": "X88",
|
||||
"maintainer": "Bachoo",
|
||||
"bootloader": "stm32-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["A9", "A8", "B12", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "B9", "B6"],
|
||||
"rows": ["A15", "B3", "B4", "A10", "B8", "B7"]
|
||||
},
|
||||
"processor": "STM32F072",
|
||||
"url": "",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x1001",
|
||||
"vid": "0xC04C"
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "B15",
|
||||
"driver": "spi"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"pixel_rain": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_fractal": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_wide": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_cross": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_nexus": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"splash": true,
|
||||
"multisplash": true,
|
||||
"solid_splash": true,
|
||||
"solid_multisplash": true
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"layout": [
|
||||
{"flags": 8, "matrix": [0,15], "x":208, "y":0},
|
||||
{"flags": 8, "matrix": [3, 0], "x":5, "y":40},
|
||||
|
||||
{"flags": 2, "matrix": [0, 0], "x":0, "y": 0},
|
||||
{"flags": 2, "matrix": [0, 2], "x":26, "y": 0},
|
||||
{"flags": 2, "matrix": [0, 3], "x":38, "y": 0},
|
||||
{"flags": 2, "matrix": [0, 4], "x":51, "y": 0},
|
||||
{"flags": 2, "matrix": [0, 5], "x":64, "y": 0},
|
||||
{"flags": 2, "matrix": [0, 6], "x":83, "y": 0},
|
||||
{"flags": 2, "matrix": [0, 7], "x":96, "y": 0},
|
||||
{"flags": 2, "matrix": [0, 8], "x":109, "y": 0},
|
||||
{"flags": 2, "matrix": [0, 9], "x":122, "y": 0},
|
||||
{"flags": 2, "matrix": [0,10], "x":141, "y": 0},
|
||||
{"flags": 2, "matrix": [0,11], "x":154, "y": 0},
|
||||
{"flags": 2, "matrix": [0,12], "x":166, "y": 0},
|
||||
{"flags": 2, "matrix": [0,13], "x":179, "y": 0},
|
||||
{"flags": 2, "matrix": [0,14], "x":195, "y": 0},
|
||||
{"flags": 2, "matrix": [0,16], "x":221, "y": 0},
|
||||
|
||||
{"flags": 2, "matrix": [1, 0], "x":0, "y": 15},
|
||||
{"flags": 2, "matrix": [1, 1], "x":13, "y": 15},
|
||||
{"flags": 2, "matrix": [1, 2], "x":26, "y": 15},
|
||||
{"flags": 2, "matrix": [1, 3], "x":38, "y": 15},
|
||||
{"flags": 2, "matrix": [1, 4], "x":51, "y": 15},
|
||||
{"flags": 2, "matrix": [1, 5], "x":64, "y": 15},
|
||||
{"flags": 2, "matrix": [1, 6], "x":77, "y": 15},
|
||||
{"flags": 2, "matrix": [1, 7], "x":90, "y": 15},
|
||||
{"flags": 2, "matrix": [1, 8], "x":102, "y": 15},
|
||||
{"flags": 2, "matrix": [1, 9], "x":115, "y": 15},
|
||||
{"flags": 2, "matrix": [1,10], "x":128, "y": 15},
|
||||
{"flags": 2, "matrix": [1,11], "x":141, "y": 15},
|
||||
{"flags": 2, "matrix": [1,12], "x":154, "y": 15},
|
||||
{"flags": 2, "matrix": [1,13], "x":166, "y": 15},
|
||||
{"flags": 2, "matrix": [3,13], "x":179, "y": 15},
|
||||
{"flags": 2, "matrix": [1,14], "x":195, "y": 15},
|
||||
{"flags": 2, "matrix": [1,15], "x":208, "y": 15},
|
||||
{"flags": 2, "matrix": [1,16], "x":221, "y": 15},
|
||||
|
||||
{"flags": 2, "matrix": [2, 0], "x":3, "y": 27},
|
||||
{"flags": 2, "matrix": [2, 1], "x":19, "y": 27},
|
||||
{"flags": 2, "matrix": [2, 2], "x":32, "y": 27},
|
||||
{"flags": 2, "matrix": [2, 3], "x":45, "y": 27},
|
||||
{"flags": 2, "matrix": [2, 4], "x":58, "y": 27},
|
||||
{"flags": 2, "matrix": [2, 5], "x":70, "y": 27},
|
||||
{"flags": 2, "matrix": [2, 6], "x":83, "y": 27},
|
||||
{"flags": 2, "matrix": [2, 7], "x":96, "y": 27},
|
||||
{"flags": 2, "matrix": [2, 8], "x":109, "y": 27},
|
||||
{"flags": 2, "matrix": [2, 9], "x":122, "y": 27},
|
||||
{"flags": 2, "matrix": [2,10], "x":134, "y": 27},
|
||||
{"flags": 2, "matrix": [2,11], "x":147, "y": 27},
|
||||
{"flags": 2, "matrix": [2,12], "x":160, "y": 27},
|
||||
{"flags": 2, "matrix": [2,13], "x":176, "y": 27},
|
||||
{"flags": 2, "matrix": [2,14], "x":195, "y": 27},
|
||||
{"flags": 2, "matrix": [2,15], "x":208, "y": 27},
|
||||
{"flags": 2, "matrix": [2,16], "x":221, "y": 27},
|
||||
|
||||
{"flags": 2, "matrix": [3, 1], "x":23, "y": 40},
|
||||
{"flags": 2, "matrix": [3, 2], "x":36, "y": 40},
|
||||
{"flags": 2, "matrix": [3, 3], "x":49, "y": 40},
|
||||
{"flags": 2, "matrix": [3, 4], "x":62, "y": 40},
|
||||
{"flags": 2, "matrix": [3, 5], "x":75, "y": 40},
|
||||
{"flags": 2, "matrix": [3, 6], "x":88, "y": 40},
|
||||
{"flags": 2, "matrix": [3, 7], "x":101, "y": 40},
|
||||
{"flags": 2, "matrix": [3, 8], "x":114, "y": 40},
|
||||
{"flags": 2, "matrix": [3, 9], "x":127, "y": 40},
|
||||
{"flags": 2, "matrix": [3,10], "x":140, "y": 40},
|
||||
{"flags": 2, "matrix": [3,11], "x":153, "y": 40},
|
||||
{"flags": 2, "matrix": [3,12], "x":166, "y": 40},
|
||||
|
||||
{"flags": 2, "matrix": [4, 0], "x":2, "y": 52},
|
||||
{"flags": 2, "matrix": [4, 1], "x":16, "y": 52},
|
||||
{"flags": 2, "matrix": [4, 2], "x":29, "y": 52},
|
||||
{"flags": 2, "matrix": [4, 3], "x":42, "y": 52},
|
||||
{"flags": 2, "matrix": [4, 4], "x":54, "y": 52},
|
||||
{"flags": 2, "matrix": [4, 5], "x":67, "y": 52},
|
||||
{"flags": 2, "matrix": [4, 6], "x":80, "y": 52},
|
||||
{"flags": 2, "matrix": [4, 7], "x":93, "y": 52},
|
||||
{"flags": 2, "matrix": [4, 8], "x":106, "y": 52},
|
||||
{"flags": 2, "matrix": [4, 9], "x":118, "y": 52},
|
||||
{"flags": 2, "matrix": [4,10], "x":131, "y": 52},
|
||||
{"flags": 2, "matrix": [4,11], "x":144, "y": 52},
|
||||
{"flags": 2, "matrix": [4,12], "x":162, "y": 52},
|
||||
{"flags": 2, "matrix": [4,13], "x":179, "y": 52},
|
||||
{"flags": 2, "matrix": [4,15], "x":208, "y": 52},
|
||||
|
||||
{"flags": 2, "matrix": [5, 0], "x":2, "y": 64},
|
||||
{"flags": 2, "matrix": [5, 1], "x":18, "y": 64},
|
||||
{"flags": 2, "matrix": [5, 2], "x":34, "y": 64},
|
||||
{"flags": 2, "matrix": [5, 6], "x":82, "y": 64},
|
||||
{"flags": 2, "matrix": [5,10], "x":130, "y": 64},
|
||||
{"flags": 2, "matrix": [5,11], "x":146, "y": 64},
|
||||
{"flags": 2, "matrix": [5,12], "x":162, "y": 64},
|
||||
{"flags": 2, "matrix": [5,13], "x":178, "y": 64},
|
||||
{"flags": 2, "matrix": [5,14], "x":195, "y": 64},
|
||||
{"flags": 2, "matrix": [5,15], "x":208, "y": 64},
|
||||
{"flags": 2, "matrix": [5,16], "x":221, "y": 64}
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.5, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.5, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8.5, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9.75, "y": 0},
|
||||
{"matrix": [0,10], "x": 10.75, "y": 0},
|
||||
{"matrix": [0,11], "x": 11.75, "y": 0},
|
||||
{"matrix": [0,12], "x": 12.75, "y": 0},
|
||||
{"matrix": [0,13], "x": 14, "y": 0},
|
||||
{"matrix": [0,14], "x": 15.25, "y": 0},
|
||||
{"matrix": [0,15], "x": 16.25, "y": 0},
|
||||
{"matrix": [0,16], "x": 17.25, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1.25},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
{"matrix": [1, 6], "x": 6, "y": 1.25},
|
||||
{"matrix": [1, 7], "x": 7, "y": 1.25},
|
||||
{"matrix": [1, 8], "x": 8, "y": 1.25},
|
||||
{"matrix": [1, 9], "x": 9, "y": 1.25},
|
||||
{"matrix": [1,10], "x": 10, "y": 1.25},
|
||||
{"matrix": [1,11], "x": 11, "y": 1.25},
|
||||
{"matrix": [1,12], "x": 12, "y": 1.25},
|
||||
{"matrix": [1,13], "x": 13, "y": 1.25},
|
||||
{"matrix": [3,13], "x": 14, "y": 1.25},
|
||||
{"matrix": [1,14], "x": 15.25, "y": 1.25},
|
||||
{"matrix": [1,15], "x": 16.25, "y": 1.25},
|
||||
{"matrix": [1,16], "x": 17.25, "y": 1.25},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 2.25},
|
||||
{"matrix": [2, 4], "x": 4.5, "y": 2.25},
|
||||
{"matrix": [2, 5], "x": 5.5, "y": 2.25},
|
||||
{"matrix": [2, 6], "x": 6.5, "y": 2.25},
|
||||
{"matrix": [2, 7], "x": 7.5, "y": 2.25},
|
||||
{"matrix": [2, 8], "x": 8.5, "y": 2.25},
|
||||
{"matrix": [2, 9], "x": 9.5, "y": 2.25},
|
||||
{"matrix": [2,10], "x": 10.5, "y": 2.25},
|
||||
{"matrix": [2,11], "x": 11.5, "y": 2.25},
|
||||
{"matrix": [2,12], "x": 12.5, "y": 2.25},
|
||||
{"matrix": [2,13], "x": 13.5, "y": 2.25, "w": 1.5},
|
||||
{"matrix": [2,14], "x": 15.25, "y": 2.25},
|
||||
{"matrix": [2,15], "x": 16.25, "y": 2.25},
|
||||
{"matrix": [2,16], "x": 17.25, "y": 2.25},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 3.25},
|
||||
{"matrix": [3, 4], "x": 4.75, "y": 3.25},
|
||||
{"matrix": [3, 5], "x": 5.75, "y": 3.25},
|
||||
{"matrix": [3, 6], "x": 6.75, "y": 3.25},
|
||||
{"matrix": [3, 7], "x": 7.75, "y": 3.25},
|
||||
{"matrix": [3, 8], "x": 8.75, "y": 3.25},
|
||||
{"matrix": [3, 9], "x": 9.75, "y": 3.25},
|
||||
{"matrix": [3,10], "x": 10.75, "y": 3.25},
|
||||
{"matrix": [3,11], "x": 11.75, "y": 3.25},
|
||||
{"matrix": [3,12], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4.25},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
|
||||
{"matrix": [4, 5], "x": 5.25, "y": 4.25},
|
||||
{"matrix": [4, 6], "x": 6.25, "y": 4.25},
|
||||
{"matrix": [4, 7], "x": 7.25, "y": 4.25},
|
||||
{"matrix": [4, 8], "x": 8.25, "y": 4.25},
|
||||
{"matrix": [4, 9], "x": 9.25, "y": 4.25},
|
||||
{"matrix": [4,10], "x": 10.25, "y": 4.25},
|
||||
{"matrix": [4,11], "x": 11.25, "y": 4.25},
|
||||
{"matrix": [4,12], "x": 12.25, "y": 4.25, "w": 1.75},
|
||||
{"matrix": [4,13], "x": 14, "y": 4.25},
|
||||
{"matrix": [4,15], "x": 16.25, "y": 4.25},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
|
||||
{"matrix": [5,10], "x": 10, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5,11], "x": 11.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5,12], "x": 12.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5,13], "x": 13.75, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5,14], "x": 15.25, "y": 5.25},
|
||||
{"matrix": [5,15], "x": 16.25, "y": 5.25},
|
||||
{"matrix": [5,16], "x": 17.25, "y": 5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
30
keyboards/bachoo/x88/keymaps/default/keymap.c
Normal file
30
keyboards/bachoo/x88/keymaps/default/keymap.c
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_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_RGHT
|
||||
)
|
||||
};
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
if (!led_state.scroll_lock) {
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
if (!led_state.caps_lock) {
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(1, 0, 0, 0);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
9
keyboards/bachoo/x88/keymaps/vial/config.h
Normal file
9
keyboards/bachoo/x88/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x66, 0xF7, 0x19, 0x9C, 0xDC, 0x61, 0xEF, 0x69}
|
||||
|
||||
// Unlock combo is Esc + Enter
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 12 }
|
||||
30
keyboards/bachoo/x88/keymaps/vial/keymap.c
Normal file
30
keyboards/bachoo/x88/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_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_RGHT
|
||||
)
|
||||
};
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
if (!led_state.scroll_lock) {
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
if (!led_state.caps_lock) {
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(1, 0, 0, 0);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
4
keyboards/bachoo/x88/keymaps/vial/rules.mk
Normal file
4
keyboards/bachoo/x88/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
|
||||
VIALRGB_ENABLE = yes
|
||||
33
keyboards/bachoo/x88/keymaps/vial/vial.json
Normal file
33
keyboards/bachoo/x88/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"name": "X88",
|
||||
"vendorId": "0xC04C",
|
||||
"productId": "0x1001",
|
||||
"menus": ["qmk_rgb_matrix"],
|
||||
"lighting": "vialrgb",
|
||||
"matrix": {"rows": 6, "cols": 17},
|
||||
"layouts": {
|
||||
"labels": [
|
||||
["F-row", "F12", "F13"],
|
||||
["Backspace", "Full", "Split"],
|
||||
["Enter", "ANSI", "ISO"],
|
||||
["Left Shift", "Full", "Split"],
|
||||
["Right Shift", "Full", "Split"],
|
||||
["Bottom Row", "6.25u", "7u", "7u WKL"]
|
||||
],
|
||||
"keymap": [
|
||||
[{"c":"#777777"},"0,0\n\n\n0,0",{"x":1,"c":"#aaaaaa"},"0,2\n\n\n0,0","0,3\n\n\n0,0","0,4\n\n\n0,0","0,5\n\n\n0,0",{"x":0.5},"0,6\n\n\n0,0","0,7\n\n\n0,0","0,8\n\n\n0,0","0,9\n\n\n0,0",{"x":0.5},"0,10\n\n\n0,0","0,11\n\n\n0,0","0,12\n\n\n0,0","0,13\n\n\n0,0",{"x":0.25},"0,14","0,15","0,16"],
|
||||
[{"y":0.25,"c":"#cccccc"},"1,0","1,1","1,2","1,3","1,4","1,5","1,6","1,7","1,8","1,9","1,10","1,11","1,12",{"c":"#aaaaaa","w":2},"1,13\n\n\n1,0",{"x":0.25},"1,14","1,15","1,16"],
|
||||
[{"w":1.5},"2,0",{"c":"#cccccc"},"2,1","2,2","2,3","2,4","2,5","2,6","2,7","2,8","2,9","2,10","2,11","2,12",{"w":1.5},"2,13\n\n\n2,0",{"x":0.25,"c":"#aaaaaa"},"2,14","2,15","2,16"],
|
||||
[{"w":1.75},"3,0",{"c":"#cccccc"},"3,1","3,2","3,3","3,4","3,5","3,6","3,7","3,8","3,9","3,10","3,11",{"c":"#777777","w":2.25},"3,12\n\n\n2,0"],
|
||||
[{"c":"#aaaaaa","w":2.25},"4,0\n\n\n3,0",{"c":"#cccccc"},"4,2","4,3","4,4","4,5","4,6","4,7","4,8","4,9","4,10","4,11",{"c":"#aaaaaa","w":2.75},"4,12\n\n\n4,0",{"x":1.25,"c":"#777777"},"4,15"],
|
||||
[{"c":"#aaaaaa","w":1.25},"5,0\n\n\n5,0",{"w":1.25},"5,1\n\n\n5,0",{"w":1.25},"5,2\n\n\n5,0",{"c":"#cccccc","w":6.25},"5,6\n\n\n5,0",{"c":"#aaaaaa","w":1.25},"5,10\n\n\n5,0",{"w":1.25},"5,11\n\n\n5,0",{"w":1.25},"5,12\n\n\n5,0",{"w":1.25},"5,13\n\n\n5,0",{"x":0.25,"c":"#777777"},"5,14","5,15","5,16"],
|
||||
[{"y":0.25},"0,0\n\n\n0,1",{"x":0.25,"c":"#aaaaaa"},"0,1\n\n\n0,1","0,2\n\n\n0,1","0,3\n\n\n0,1","0,4\n\n\n0,1",{"x":0.25},"0,5\n\n\n0,1","0,6\n\n\n0,1","0,7\n\n\n0,1","0,8\n\n\n0,1",{"x":0.25},"0,9\n\n\n0,1","0,10\n\n\n0,1","0,11\n\n\n0,1","0,12\n\n\n0,1",{"x":0.25},"0,13\n\n\n0,1"],
|
||||
[{"w":1.25},"4,0\n\n\n3,1",{"c":"#cccccc"},"4,1\n\n\n3,1",{"x":10.75,"c":"#aaaaaa"},"1,13\n\n\n1,1","3,13\n\n\n1,1"],
|
||||
[{"x":13.75,"c":"#777777","w":1.25,"h":2,"w2":1.5,"h2":1,"x2":-0.25},"2,13\n\n\n2,1"],
|
||||
[{"x":12.75,"c":"#cccccc"},"3,12\n\n\n2,1"],
|
||||
[{"x":12.25,"c":"#aaaaaa","w":1.75},"4,12\n\n\n4,1","4,13\n\n\n4,1"],
|
||||
[{"w":1.5},"5,0\n\n\n5,1","5,1\n\n\n5,1",{"w":1.5},"5,2\n\n\n5,1",{"c":"#cccccc","w":7},"5,6\n\n\n5,1",{"c":"#aaaaaa","w":1.5},"5,11\n\n\n5,1","5,12\n\n\n5,1",{"w":1.5},"5,13\n\n\n5,1"],
|
||||
[{"w":1.5},"5,0\n\n\n5,2",{"d":true},"5,1\n\n\n5,2",{"w":1.5},"5,2\n\n\n5,2",{"c":"#cccccc","w":7},"5,6\n\n\n5,2",{"c":"#aaaaaa","w":1.5},"5,11\n\n\n5,2",{"d":true},"5,12\n\n\n5,2",{"w":1.5},"5,13\n\n\n5,2"]
|
||||
]
|
||||
}
|
||||
}
|
||||
9
keyboards/bachoo/x88/mcuconf.h
Normal file
9
keyboards/bachoo/x88/mcuconf.h
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
// Copyright 2024 Bachoo (@cBachoo)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef STM32_SPI_USE_SPI2
|
||||
#define STM32_SPI_USE_SPI2 TRUE
|
||||
27
keyboards/bachoo/x88/readme.md
Normal file
27
keyboards/bachoo/x88/readme.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# x88
|
||||
|
||||

|
||||
|
||||
*A short description of the keyboard/project*
|
||||
|
||||
* Keyboard Maintainer: [Bachoo](https://github.com/cBachoo)
|
||||
* Hardware Supported: *The PCBs, controllers supported*
|
||||
* Hardware Availability: *Links to where you can find this hardware*
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make x88:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make x88: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
|
||||
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 6
|
||||
#define VIAL_TAP_DANCE_ENTRIES 10
|
||||
#define VIAL_KEYBOARD_UID {0x47, 0x97, 0x7E, 0x32, 0xC9, 0xAC, 0x13, 0xF3}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 2, 3, 0, 0, 0 }
|
||||
|
|
|
|||
|
|
@ -40,4 +40,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[4] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[5] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, 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,9 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x17, 0x64, 0x41, 0xC1, 0x5F, 0xCA, 0x48, 0xDD}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||
*
|
||||
* 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
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN,
|
||||
};
|
||||
|
||||
// enum layer_keycodes { };
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/*
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
│Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ` │Bks│Del│
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
|
||||
│ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │PgU│
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
|
||||
│ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │PgD│
|
||||
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
|
||||
│LSft│LSt│ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ ↑ │Fn │
|
||||
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
|
||||
│LCrl│GUI │LAlt│ Space │RAt│Fn │RCl│ ← │ ↓ │ → │
|
||||
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
│ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ ~ │ │ │
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
|
||||
│ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
|
||||
│ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ │
|
||||
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
|
||||
│LSft│LSt│ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │
|
||||
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
|
||||
│ │ │ │ │ │ │ │ │ │ │
|
||||
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
|
||||
*/
|
||||
/* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
|
||||
[_BASE] = 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_GRV, KC_BSPC, KC_DEL,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
||||
KC_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, KC_UP, MO(_FN),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/*
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
│Rst│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │ │PSc│
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
|
||||
│RTog │Mod│Hui│Hud│Sai│Sad│Vai│Vad│ │ │ │ │ │ │Hom│
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
|
||||
│BTog │BTg│Dec│Inc│Ste│ │ │ │ │ │ │ │ │End│
|
||||
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
|
||||
│ │ │ │ │ │ │ │ │ │ │
|
||||
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
|
||||
*/
|
||||
/* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
|
||||
[_FN] = 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_PSCR,
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, KC_HOME,
|
||||
BL_TOGG, BL_TOGG, BL_DOWN, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
|
||||
LTO_ENABLE = yes
|
||||
QMK_SETTINGS = yes
|
||||
COMBO_ENABLE = yes
|
||||
TAP_DANCE_ENABLE = no
|
||||
COMBO_ENABLE = no
|
||||
KEY_OVERRIDE_ENABLE = no
|
||||
KEY_OVERRIDE_ENABLE = no
|
||||
|
|
@ -0,0 +1,306 @@
|
|||
{
|
||||
"name": "E6.5 Black PCB",
|
||||
"vendorId": "0x4558",
|
||||
"productId": "0xE605B",
|
||||
"lighting": "none",
|
||||
"matrix": {
|
||||
"rows": 5,
|
||||
"cols": 15
|
||||
},
|
||||
"keycodes": [
|
||||
"qmk_lighting"
|
||||
],
|
||||
"menus": [
|
||||
"qmk_blacklight_rgblight"
|
||||
],
|
||||
"layouts": {
|
||||
"labels":[
|
||||
"Split Backspace",
|
||||
"ISO Enter",
|
||||
[
|
||||
"Bottom Row",
|
||||
"No Blockers, 6.25U",
|
||||
"No Blockers, 7U",
|
||||
"Right Blocker, 6.25U",
|
||||
"Right Blocker, 7U",
|
||||
"WKL, 7U",
|
||||
"HHKB"
|
||||
]
|
||||
],
|
||||
"keymap": [
|
||||
[
|
||||
"0,0",
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
"0,5",
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
"0,9",
|
||||
"0,10",
|
||||
"0,11",
|
||||
"0,12",
|
||||
{
|
||||
"w": 2
|
||||
},
|
||||
"0,14\n\n\n0,0",
|
||||
"4,14",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"0,13\n\n\n0,1",
|
||||
"0,14\n\n\n0,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"1,0",
|
||||
"1,1",
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
"1,8",
|
||||
"1,9",
|
||||
"1,10",
|
||||
"1,11",
|
||||
"1,12",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"2,12\n\n\n1,0",
|
||||
"1,14",
|
||||
{
|
||||
"x": 1.75,
|
||||
"w": 1.25,
|
||||
"h": 2,
|
||||
"w2": 1.5,
|
||||
"h2": 1,
|
||||
"x2": -0.25
|
||||
},
|
||||
"1,13\n\n\n1,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.75
|
||||
},
|
||||
"2,0",
|
||||
"2,1",
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
"2,8",
|
||||
"2,9",
|
||||
"2,10",
|
||||
"2,11",
|
||||
{
|
||||
"w": 2.25
|
||||
},
|
||||
"1,13\n\n\n1,0",
|
||||
"2,14",
|
||||
{
|
||||
"x": 0.75
|
||||
},
|
||||
"2,12\n\n\n1,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 2.25
|
||||
},
|
||||
"3,0",
|
||||
"3,2",
|
||||
"3,3",
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
"3,7",
|
||||
"3,8",
|
||||
"3,9",
|
||||
"3,10",
|
||||
"3,11",
|
||||
{
|
||||
"w": 1.75
|
||||
},
|
||||
"3,12",
|
||||
"3,13",
|
||||
"3,14"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,0\n\n\n2,0",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,1\n\n\n2,0",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,2\n\n\n2,0",
|
||||
{
|
||||
"w": 6.25
|
||||
},
|
||||
"4,6\n\n\n2,0",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,8\n\n\n2,0",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,10\n\n\n2,0",
|
||||
"4,11\n\n\n2,0",
|
||||
"4,12\n\n\n2,0",
|
||||
"4,13\n\n\n2,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.25,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,0\n\n\n2,1",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,1\n\n\n2,1",
|
||||
{
|
||||
"w": 7
|
||||
},
|
||||
"4,6\n\n\n2,1",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,8\n\n\n2,1",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,10\n\n\n2,1",
|
||||
"4,11\n\n\n2,1",
|
||||
"4,12\n\n\n2,1",
|
||||
"4,13\n\n\n2,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,0\n\n\n2,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,1\n\n\n2,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,2\n\n\n2,2",
|
||||
{
|
||||
"w": 6.25
|
||||
},
|
||||
"4,6\n\n\n2,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,8\n\n\n2,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,9\n\n\n2,2",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"4,11\n\n\n2,2",
|
||||
"4,12\n\n\n2,2",
|
||||
"4,13\n\n\n2,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,0\n\n\n2,3",
|
||||
"4,1\n\n\n2,3",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,2\n\n\n2,3",
|
||||
{
|
||||
"w": 7
|
||||
},
|
||||
"4,6\n\n\n2,3",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,9\n\n\n2,3",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"4,11\n\n\n2,3",
|
||||
"4,12\n\n\n2,3",
|
||||
"4,13\n\n\n2,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,0\n\n\n2,4",
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"4,1\n\n\n2,4",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,2\n\n\n2,4",
|
||||
{
|
||||
"w": 7
|
||||
},
|
||||
"4,6\n\n\n2,4",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,9\n\n\n2,4",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"4,11\n\n\n2,4",
|
||||
"4,12\n\n\n2,4",
|
||||
"4,13\n\n\n2,4"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 0.5,
|
||||
"d": true
|
||||
},
|
||||
"4\n\n\n2,5",
|
||||
"4,0\n\n\n2,5",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,1\n\n\n2,5",
|
||||
{
|
||||
"w": 7
|
||||
},
|
||||
"4,6\n\n\n2,5",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,8\n\n\n2,5",
|
||||
"4,9\n\n\n2,5",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"4,11\n\n\n2,5",
|
||||
"4,12\n\n\n2,5",
|
||||
"4,13\n\n\n2,5"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
16
keyboards/keebio/chiri_ce/keymaps/vial/config.h
Normal file
16
keyboards/keebio/chiri_ce/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x38, 0x44, 0x95, 0x0E, 0x18, 0xF1, 0x64, 0x24}
|
||||
#define VIAL_UNLOCK_COMBO_ROWS {0,7}
|
||||
#define VIAL_UNLOCK_COMBO_COLS {1,5}
|
||||
|
||||
// Since the outer columns can be broken off, redefine the bootmagic keys as second column from outside
|
||||
#define BOOTMAGIC_ROW 0
|
||||
#define BOOTMAGIC_COLUMN 1
|
||||
|
||||
#undef BOOTMAGIC_COLUMN_RIGHT
|
||||
#undef BOOTMAGIC_ROW_RIGHT
|
||||
#define BOOTMAGIC_ROW_RIGHT 4
|
||||
#define BOOTMAGIC_COLUMN_RIGHT 1
|
||||
32
keyboards/keebio/chiri_ce/keymaps/vial/keymap.json
Normal file
32
keyboards/keebio/chiri_ce/keymaps/vial/keymap.json
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"config": { "features": {"tri_layer": true} },
|
||||
"keyboard": "keebio/chiri_ce/rev1",
|
||||
"keymap": "default",
|
||||
"layout": "LAYOUT",
|
||||
"layers": [
|
||||
[
|
||||
"KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T" , "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_DEL" ,
|
||||
"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_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "QK_GESC", "KC_BSPC", "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH", "KC_RSFT",
|
||||
"KC_LGUI", "TL_LOWR", "KC_ENT" , "KC_SPC" , "TL_UPPR", "KC_RALT"
|
||||
],
|
||||
[
|
||||
"KC_GRV" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5" , "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_BSPC",
|
||||
"KC_ESC" , "KC_LEFT", "KC_DOWN", "KC_UP" , "KC_RGHT", "KC_LBRC", "KC_RBRC", "KC_P4" , "KC_P5" , "KC_P6" , "KC_PLUS", "KC_PIPE",
|
||||
"RGB_MOD", "_______", "_______", "_______", "_______", "KC_LCBR", "KC_LPRN", "KC_RPRN", "KC_RCBR", "KC_P1" , "KC_P2" , "KC_P3" , "KC_MINS", "_______",
|
||||
"_______", "_______", "KC_DEL" , "KC_DEL" , "_______", "KC_P0"
|
||||
],
|
||||
[
|
||||
"RGB_TOG", "KC_EXLM", "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "QK_BOOT",
|
||||
"RGB_MOD", "KC_MPRV", "KC_MNXT", "KC_VOLU", "KC_PGUP", "KC_UNDS", "KC_EQL" , "KC_HOME", "RGB_HUI", "RGB_SAI", "RGB_VAI", "KC_BSLS",
|
||||
"KC_MUTE", "KC_MSTP", "KC_MPLY", "KC_VOLD", "KC_PGDN", "KC_MINS", "KC_LPRN", "_______", "KC_PLUS", "KC_END" , "RGB_HUD", "RGB_SAD", "RGB_VAD", "_______",
|
||||
"_______", "_______", "_______", "_______", "_______", "_______"
|
||||
],
|
||||
[
|
||||
"KC_F12" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11" ,
|
||||
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||
"_______", "EE_CLR" , "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "QK_BOOT", "EE_CLR" , "_______",
|
||||
"_______", "_______", "_______", "_______", "_______", "_______"
|
||||
]
|
||||
]
|
||||
}
|
||||
3
keyboards/keebio/chiri_ce/keymaps/vial/rules.mk
Normal file
3
keyboards/keebio/chiri_ce/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
VIALRGB_ENABLE = yes
|
||||
20
keyboards/keebio/chiri_ce/keymaps/vial/vial.json
Normal file
20
keyboards/keebio/chiri_ce/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"lighting": "vialrgb",
|
||||
"matrix": {
|
||||
"rows": 8,
|
||||
"cols": 6
|
||||
},
|
||||
"layouts": {
|
||||
"labels":[
|
||||
["Size", "3x6", "3x5"]
|
||||
],
|
||||
"keymap": [
|
||||
[{"y":0.375},"0,0\n\n\n0,0",{"x":-1,"d":true},"0,0\n\n\n0,1","0,1",{"y":-0.25},"0,2",{"y":-0.125},"0,3",{"y":0.125},"0,4",{"y":0.125},"0,5",{"x":4},"4,5",{"y":-0.125},"4,4",{"y":-0.125},"4,3",{"y":0.125},"4,2",{"y":0.25},"4,1","4,0\n\n\n0,0",{"x":-1,"d":true},"4,0\n\n\n0,1"],
|
||||
["1,0\n\n\n0,0",{"x":-1,"d":true},"1,0\n\n\n0,1","1,1",{"y":-0.25},"1,2",{"y":-0.125},"1,3",{"y":0.125},"1,4",{"y":0.125},"1,5",{"x":4},"5,5",{"y":-0.125},"5,4",{"y":-0.125},"5,3",{"y":0.125},"5,2",{"y":0.25},"5,1","5,0\n\n\n0,0",{"x":-1,"d":true},"5,0\n\n\n0,1"],
|
||||
["2,0\n\n\n0,0",{"x":-1,"d":true},"2,0\n\n\n0,1","2,1",{"y":-0.25},"2,2",{"y":-0.125},"2,3",{"y":0.125},"2,4",{"y":0.125},"2,5",{"x":4},"6,5",{"y":-0.125},"6,4",{"y":-0.125},"6,3",{"y":0.125},"6,2",{"y":0.25},"6,1","6,0\n\n\n0,0",{"x":-1,"d":true},"6,0\n\n\n0,1"],
|
||||
[{"x":3.5},"3,2",{"y":0.125},"3,3",{"x":5},"7,3",{"y":-0.125},"7,2"],
|
||||
[{"r":30,"rx":5.1,"ry":4.925,"y":-1.5,"x":0.25},"3,4",{"y":-1,"x":-1},"3,5"],
|
||||
[{"r":330,"rx":9.0,"ry":4.925,"y":-1.5,"x":0.4},"7,5",{"y":1,"x":-1},"7,4"]
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -4,21 +4,68 @@
|
|||
"productId": "0x01E0",
|
||||
"lighting": "vialrgb",
|
||||
"customKeycodes": [
|
||||
{"name": "Mission Control", "title": "Mission Control in macOS", "shortName": "MCtrl"},
|
||||
{"name": "Launch Pad", "title": "Launch Pad in macOS", "shortName": "LPad"},
|
||||
{"name": "Left Option", "title": "Left Option in macOS", "shortName": "LOpt"},
|
||||
{"name": "Right Option", "title": "Right Option in macOS", "shortName": "ROpt"},
|
||||
{"name": "Left Cmd", "title": "Left Command in macOS", "shortName": "LCmd"},
|
||||
{"name": "Right Cmd", "title": "Right Command in macOS", "shortName": "RCmd"},
|
||||
{"name": "Siri", "title": "Siri in macOS", "shortName": "Siri"},
|
||||
{"name": "Task View", "title": "Task View in windows", "shortName": "Task"},
|
||||
{"name": "File Explorer", "title": "File Explorer in windows", "shortName": "File"},
|
||||
{"name": "Screen Shot", "title": "Screenshot in macOS", "shortName": "SShot"},
|
||||
{"name": "Cortana", "title": "Cortana in windows", "shortName": "Cortana"}
|
||||
{
|
||||
"name": "Mission Control",
|
||||
"title": "Mission Control in macOS",
|
||||
"shortName": "MCtrl"
|
||||
},
|
||||
{
|
||||
"name": "Launch Pad",
|
||||
"title": "Launch Pad in macOS",
|
||||
"shortName": "LPad"
|
||||
},
|
||||
{
|
||||
"name": "Left Option",
|
||||
"title": "Left Option in macOS",
|
||||
"shortName": "LOpt"
|
||||
},
|
||||
{
|
||||
"name": "Right Option",
|
||||
"title": "Right Option in macOS",
|
||||
"shortName": "ROpt"
|
||||
},
|
||||
{
|
||||
"name": "Left Cmd",
|
||||
"title": "Left Command in macOS",
|
||||
"shortName": "LCmd"
|
||||
},
|
||||
{
|
||||
"name": "Right Cmd",
|
||||
"title": "Right Command in macOS",
|
||||
"shortName": "RCmd"
|
||||
},
|
||||
{
|
||||
"name": "Siri",
|
||||
"title": "Siri in macOS",
|
||||
"shortName": "Siri"
|
||||
},
|
||||
{
|
||||
"name": "Task View",
|
||||
"title": "Task View in windows",
|
||||
"shortName": "Task"
|
||||
},
|
||||
{
|
||||
"name": "File Explorer",
|
||||
"title": "File Explorer in windows",
|
||||
"shortName": "File"
|
||||
},
|
||||
{
|
||||
"name": "Screen Shot",
|
||||
"title": "Screenshot in macOS",
|
||||
"shortName": "SShot"
|
||||
},
|
||||
{
|
||||
"name": "Cortana",
|
||||
"title": "Cortana in windows",
|
||||
"shortName": "Cortana"
|
||||
}
|
||||
],
|
||||
"matrix": {"rows": 12, "cols": 9},
|
||||
"matrix": {
|
||||
"rows": 12,
|
||||
"cols": 9
|
||||
},
|
||||
"layouts": {
|
||||
"keymap": [
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"x": 0.25
|
||||
|
|
@ -26,7 +73,7 @@
|
|||
"0,0\n\n\n\n\n\n\n\n\ne",
|
||||
"0,1\n\n\n\n\n\n\n\n\ne",
|
||||
{
|
||||
"x": 14.5
|
||||
"x": 15
|
||||
},
|
||||
"1,0\n\n\n\n\n\n\n\n\ne",
|
||||
"1,1\n\n\n\n\n\n\n\n\ne"
|
||||
|
|
@ -53,6 +100,9 @@
|
|||
},
|
||||
"0,6",
|
||||
"0,7",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"6,0",
|
||||
"6,1",
|
||||
{
|
||||
|
|
@ -89,6 +139,9 @@
|
|||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"7,0",
|
||||
"7,1",
|
||||
"7,2",
|
||||
|
|
@ -125,6 +178,9 @@
|
|||
"2,4",
|
||||
"2,6",
|
||||
"2,7",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"8,0",
|
||||
"8,1",
|
||||
"8,2",
|
||||
|
|
@ -162,6 +218,9 @@
|
|||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"9,0",
|
||||
"9,1",
|
||||
"9,2",
|
||||
|
|
@ -199,6 +258,9 @@
|
|||
"4,5",
|
||||
"4,6",
|
||||
"4,7",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"10,0",
|
||||
"10,1",
|
||||
"10,2",
|
||||
|
|
@ -245,6 +307,7 @@
|
|||
},
|
||||
"5,6",
|
||||
{
|
||||
"x": 0.5,
|
||||
"w": 2.75
|
||||
},
|
||||
"11,1",
|
||||
|
|
@ -264,5 +327,4 @@
|
|||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -2,93 +2,8 @@
|
|||
"manufacturer": "keyten",
|
||||
"keyboard_name": "imi60",
|
||||
"maintainer": "key10iq",
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"usb": {
|
||||
"vid": "0xEB69",
|
||||
"pid": "0x6002",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"rows": ["D1", "D0", "D3", "D2", "D5"],
|
||||
"cols": ["B7", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "matrix": [2, 13], "x": 14, "y": 0 },
|
||||
{ "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2 },
|
||||
{ "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
|
||||
{ "matrix": [3, 1], "x": 1.25, "y": 3 },
|
||||
{ "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 },
|
||||
{ "matrix": [3, 13], "x": 14, "y": 3 },
|
||||
{ "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
|
||||
{ "matrix": [4, 1], "x": 1.5, "y": 4 },
|
||||
{ "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 },
|
||||
{ "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
|
||||
{ "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 },
|
||||
{ "matrix": [4, 12], "x": 12.5, "y": 4 },
|
||||
{ "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 }
|
||||
]
|
||||
}
|
||||
"pid": "0x6005"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,22 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
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_TRNS, 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_CAPS, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_INS, KC_DEL,
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_HOME, KC_LEFT, KC_RGHT, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_END, KC_DOWN, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
89
keyboards/keyten/imi60/rev1/keyboard.json
Normal file
89
keyboards/keyten/imi60/rev1/keyboard.json
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
{
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"usb": {
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"rows": ["D1", "D0", "D3", "D2", "D5"],
|
||||
"cols": ["B7", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "matrix": [2, 13], "x": 14, "y": 0 },
|
||||
{ "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2 },
|
||||
{ "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
|
||||
{ "matrix": [3, 1], "x": 1.25, "y": 3 },
|
||||
{ "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 },
|
||||
{ "matrix": [3, 13], "x": 14, "y": 3 },
|
||||
{ "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
|
||||
{ "matrix": [4, 1], "x": 1.5, "y": 4 },
|
||||
{ "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 },
|
||||
{ "matrix": [4, 7], "w": 7, "x": 4, "y": 4 },
|
||||
{ "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 },
|
||||
{ "matrix": [4, 12], "x": 12.5, "y": 4 },
|
||||
{ "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
22
keyboards/keyten/imi60/rev1/keymaps/default/keymap.c
Normal file
22
keyboards/keyten/imi60/rev1/keymaps/default/keymap.c
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
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_TRNS, 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_CAPS, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_INS, KC_DEL,
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_HOME, KC_LEFT, KC_RGHT, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_END, KC_DOWN, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
|
|
@ -3,5 +3,6 @@
|
|||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x49, 0x3C, 0xCA, 0xFB, 0xB6, 0xD2, 0xF6, 0xD8}
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 4 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS {0, 4}
|
||||
#define VIAL_UNLOCK_COMBO_COLS {0, 13}
|
||||
22
keyboards/keyten/imi60/rev1/keymaps/vial/keymap.c
Normal file
22
keyboards/keyten/imi60/rev1/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
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_TRNS, 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_CAPS, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_INS, KC_DEL,
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_HOME, KC_LEFT, KC_RGHT, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_END, KC_DOWN, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
3
keyboards/keyten/imi60/rev1/keymaps/vial/rules.mk
Normal file
3
keyboards/keyten/imi60/rev1/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "imi60",
|
||||
"vendorId": "0xEB69",
|
||||
"productId": "0x6002",
|
||||
"productId": "0x6005",
|
||||
"lighting": "none",
|
||||
"matrix": {
|
||||
"rows": 5,
|
||||
|
|
@ -1,7 +1,4 @@
|
|||
{
|
||||
"manufacturer": "keyten",
|
||||
"keyboard_name": "imi60",
|
||||
"maintainer": "key10iq",
|
||||
"bootloader": "stm32-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
|
|
@ -16,9 +13,7 @@
|
|||
},
|
||||
"processor": "STM32F072",
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x6005",
|
||||
"vid": "0xEB69"
|
||||
"device_version": "0.0.2"
|
||||
},
|
||||
"community_layouts": ["60_tsangan_hhkb"],
|
||||
"layouts": {
|
||||
8
keyboards/keyten/imi60/rev2/keymaps/vial/config.h
Normal file
8
keyboards/keyten/imi60/rev2/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x7D, 0x66, 0xE6, 0x10, 0xEA, 0x57, 0x97, 0xB3}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS {0, 4}
|
||||
#define VIAL_UNLOCK_COMBO_COLS {0, 13}
|
||||
22
keyboards/keyten/imi60/rev2/keymaps/vial/keymap.c
Normal file
22
keyboards/keyten/imi60/rev2/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_60_tsangan_hhkb(
|
||||
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_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
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, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
|
||||
),
|
||||
|
||||
[1] = LAYOUT_60_tsangan_hhkb(
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
|
||||
KC_TRNS, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
3
keyboards/keyten/imi60/rev2/keymaps/vial/rules.mk
Normal file
3
keyboards/keyten/imi60/rev2/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
235
keyboards/keyten/imi60/rev2/keymaps/vial/vial.json
Normal file
235
keyboards/keyten/imi60/rev2/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,235 @@
|
|||
{
|
||||
"name": "imi60",
|
||||
"vendorId": "0xEB69",
|
||||
"productId": "0x6005",
|
||||
"lighting": "none",
|
||||
"matrix": {
|
||||
"rows": 5,
|
||||
"cols": 14
|
||||
},
|
||||
"layouts": {
|
||||
"labels": [
|
||||
"Split Backspace",
|
||||
"Split Right Shift",
|
||||
[
|
||||
"Bottom Row",
|
||||
"Tsangan",
|
||||
"WKL",
|
||||
"HHKB"
|
||||
]
|
||||
],
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"c": "#777777"
|
||||
},
|
||||
"0,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
"0,5",
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
"0,9",
|
||||
"0,10",
|
||||
"0,11",
|
||||
"0,12",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2
|
||||
},
|
||||
"2,13\n\n\n0,0",
|
||||
{
|
||||
"x": 1,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,13\n\n\n0,1",
|
||||
"2,13\n\n\n0,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"1,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,1",
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
"1,8",
|
||||
"1,9",
|
||||
"1,10",
|
||||
"1,11",
|
||||
"1,12",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"1,13"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"2,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,1",
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
"2,8",
|
||||
"2,9",
|
||||
"2,10",
|
||||
"2,11",
|
||||
{
|
||||
"c": "#777777",
|
||||
"w": 2.25
|
||||
},
|
||||
"2,12"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2.25
|
||||
},
|
||||
"3,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,1",
|
||||
"3,2",
|
||||
"3,3",
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
"3,7",
|
||||
"3,8",
|
||||
"3,9",
|
||||
"3,10",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2.75
|
||||
},
|
||||
"4,12\n\n\n1,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"w": 1.75
|
||||
},
|
||||
"4,12\n\n\n1,1",
|
||||
"3,13\n\n\n1,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,0\n\n\n2,0",
|
||||
"4,1\n\n\n2,0",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,2\n\n\n2,0",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 7
|
||||
},
|
||||
"4,6\n\n\n2,0",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"4,10\n\n\n2,0",
|
||||
"4,11\n\n\n2,0",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,13\n\n\n2,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.25,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,0\n\n\n2,1",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"d": true
|
||||
},
|
||||
"4,1\n\n\n2,1",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"4,2\n\n\n2,1",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 7
|
||||
},
|
||||
"4,6\n\n\n2,1",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"4,10\n\n\n2,1",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"d": true
|
||||
},
|
||||
"4,11\n\n\n2,1",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"4,13\n\n\n2,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 1.5,
|
||||
"d": true
|
||||
},
|
||||
"4,0\n\n\n2,2",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"4,1\n\n\n2,2",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,2\n\n\n2,2",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 7
|
||||
},
|
||||
"4,6\n\n\n2,2",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"4,10\n\n\n2,2",
|
||||
"4,11\n\n\n2,2",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 1.5,
|
||||
"d": true
|
||||
},
|
||||
"4,13\n\n\n2,2"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
# This file intentionally left blank
|
||||
29
keyboards/nachie/evelyn/config.h
Executable file
29
keyboards/nachie/evelyn/config.h
Executable file
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
Copyright 2024 nachie
|
||||
|
||||
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 "config_common.h"
|
||||
#define RP2040_FLASH_GENERIC_03H
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 7
|
||||
#define MATRIX_COLS 6
|
||||
|
||||
#define DEBUG_MATRIX_SCAN_RATE
|
||||
#define DEBUG_ACTION
|
||||
|
||||
#define VIA_CUSTOM_LIGHTING_ENABLE
|
||||
87
keyboards/nachie/evelyn/info.json
Normal file
87
keyboards/nachie/evelyn/info.json
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
{
|
||||
"manufacturer": "nachie",
|
||||
"keyboard_name": "Syndrome",
|
||||
"maintainer": "nachie",
|
||||
"board": "GENERIC_RP_RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"processor": "RP2040",
|
||||
"url": "https://littlecraftery.com/products/evelyn",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"rgb_matrix": false,
|
||||
"rgblight": false,
|
||||
"encoder": true
|
||||
},
|
||||
"dynamic_keymap": {
|
||||
"layer_count": 4
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x4B43",
|
||||
"vid": "0x6F75"
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["GP19", "GP18", "GP16", "GP7", "GP22", "GP2"],
|
||||
"rows": ["GP24", "GP23", "GP25", "GP26", "GP20", "GP21", "GP17"]
|
||||
},
|
||||
"encoder": {
|
||||
"enabled": true,
|
||||
"rotary": [
|
||||
{ "pin_a": "GP12", "pin_b": "GP13", "resolution": 2 },
|
||||
{ "pin_a": "GP0", "pin_b": "GP1", "resolution": 2 },
|
||||
{ "pin_a": "GP27", "pin_b": "GP28", "resolution": 2 }
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"y": 0.0, "x": 0.29, "matrix": [0, 0], "label": "0,0"},
|
||||
{"y": 0.0, "x": 10.190000000000001, "matrix": [1, 4], "label": "1,4"},
|
||||
{"y": 0.0, "x": 11.190000000000001, "matrix": [0, 5], "label": "0,5"},
|
||||
{"y": 0.99, "x": 0.15, "matrix": [2, 0], "w": 1.25, "label": "2,0"},
|
||||
{"y": 0.99, "x": 10.58, "matrix": [2, 5], "w": 1.75, "label": "2,5"},
|
||||
{"y": 1.99, "x": 0.0, "matrix": [4, 0], "w": 1.75, "label": "4,0"},
|
||||
{"y": 2.99, "x": 0.09000000000000001, "matrix": [6, 0], "w": 1.25, "label": "6,0"},
|
||||
{"y": 6.23, "x": 3.97, "matrix": [5, 4], "w": 1.25, "label": "5,4"},
|
||||
{"y": 6.23, "x": 5.220000000000001, "matrix": [4, 5], "label": "4,5"},
|
||||
{"y": 7.23, "x": 4.87, "matrix": [6, 5], "w": 1.25, "label": "6,5"},
|
||||
{"y": 8.23, "x": 1.43, "matrix": [1, 0], "label": "1,0"},
|
||||
{"y": 8.23, "x": 2.43, "matrix": [0, 1], "label": "0,1"},
|
||||
{"y": 8.23, "x": 3.43, "matrix": [1, 1], "label": "1,1"},
|
||||
{"y": 8.23, "x": 4.430000000000001, "matrix": [0, 2], "label": "0,2"},
|
||||
{"y": 9.23, "x": 1.68, "matrix": [3, 0], "label": "3,0"},
|
||||
{"y": 9.23, "x": 2.68, "matrix": [2, 1], "label": "2,1"},
|
||||
{"y": 9.23, "x": 3.68, "matrix": [3, 1], "label": "3,1"},
|
||||
{"y": 9.23, "x": 4.680000000000001, "matrix": [2, 2], "label": "2,2"},
|
||||
{"y": 10.23, "x": 2.18, "matrix": [5, 0], "label": "5,0"},
|
||||
{"y": 10.23, "x": 3.18, "matrix": [4, 1], "label": "4,1"},
|
||||
{"y": 10.23, "x": 4.180000000000001, "matrix": [5, 1], "label": "5,1"},
|
||||
{"y": 10.23, "x": 5.180000000000001, "matrix": [4, 2], "label": "4,2"},
|
||||
{"y": 11.23, "x": 2.93, "matrix": [6, 1], "label": "6,1"},
|
||||
{"y": 11.23, "x": 3.93, "matrix": [6, 2], "w": 2.25, "label": "6,2"},
|
||||
{"y": 9.89, "x": 5.930000000000001, "matrix": [1, 2], "label": "1,2"},
|
||||
{"y": 9.89, "x": 6.930000000000001, "matrix": [0, 3], "label": "0,3"},
|
||||
{"y": 9.89, "x": 7.930000000000001, "matrix": [1, 3], "label": "1,3"},
|
||||
{"y": 9.89, "x": 8.93, "matrix": [0, 4], "label": "0,4"},
|
||||
{"y": 10.89, "x": 6.180000000000001, "matrix": [3, 2], "label": "3,2"},
|
||||
{"y": 10.89, "x": 7.180000000000001, "matrix": [2, 3], "label": "2,3"},
|
||||
{"y": 10.89, "x": 8.18, "matrix": [3, 3], "label": "3,3"},
|
||||
{"y": 10.89, "x": 9.18, "matrix": [2, 4], "label": "2,4"},
|
||||
{"y": 11.89, "x": 5.680000000000001, "matrix": [5, 2], "label": "5,2"},
|
||||
{"y": 11.89, "x": 6.680000000000001, "matrix": [4, 3], "label": "4,3"},
|
||||
{"y": 11.89, "x": 7.680000000000001, "matrix": [5, 3], "label": "5,3"},
|
||||
{"y": 11.89, "x": 8.68, "matrix": [4, 4], "label": "4,4"},
|
||||
{"y": 12.89, "x": 5.680000000000001, "matrix": [6, 3], "w": 2, "label": "6,3"},
|
||||
{"y": 12.89, "x": 7.680000000000001, "matrix": [6, 4], "label": "6,4"}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
87
keyboards/nachie/evelyn/keyboard.json
Normal file
87
keyboards/nachie/evelyn/keyboard.json
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
{
|
||||
"manufacturer": "nachie",
|
||||
"keyboard_name": "Syndrome",
|
||||
"maintainer": "nachie",
|
||||
"board": "GENERIC_RP_RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"processor": "RP2040",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"rgb_matrix": false
|
||||
},
|
||||
"dynamic_keymap": {
|
||||
"layer_count": 4
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x4B43",
|
||||
"vid": "0x6F75"
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["GP19", "GP18", "GP16", "GP7", "GP22", "GP2"],
|
||||
"rows": ["GP24", "GP23", "GP25", "GP26", "GP20", "GP21", "GP17"]
|
||||
},
|
||||
"encoder": {
|
||||
"enabled": true,
|
||||
"rotary": [
|
||||
{ "pin_a": "GP12", "pin_b": "GP13", "resolution": 2 },
|
||||
{ "pin_a": "GP0", "pin_b": "GP1", "resolution": 2 },
|
||||
{ "pin_a": "GP27", "pin_b": "GP28", "resolution": 2 }
|
||||
]
|
||||
},
|
||||
"qmk": {
|
||||
"locking": {
|
||||
"enabled": true,
|
||||
"resync": true
|
||||
}
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"y": 0.0, "x": 0.29, "matrix": [0, 0], "label": "0,0"},
|
||||
{"y": 0.0, "x": 10.190000000000001, "matrix": [1, 4], "label": "1,4"},
|
||||
{"y": 0.0, "x": 11.190000000000001, "matrix": [0, 5], "label": "0,5"},
|
||||
{"y": 0.99, "x": 0.15, "matrix": [2, 0], "w": 1.25, "label": "2,0"},
|
||||
{"y": 0.99, "x": 10.58, "matrix": [2, 5], "w": 1.75, "label": "2,5"},
|
||||
{"y": 1.99, "x": 0.0, "matrix": [4, 0], "w": 1.75, "label": "4,0"},
|
||||
{"y": 2.99, "x": 0.09000000000000001, "matrix": [6, 0], "w": 1.25, "label": "6,0"},
|
||||
{"y": 6.23, "x": 3.97, "matrix": [5, 4], "w": 1.25, "label": "5,4"},
|
||||
{"y": 6.23, "x": 5.220000000000001, "matrix": [4, 5], "label": "4,5"},
|
||||
{"y": 7.23, "x": 4.87, "matrix": [6, 5], "w": 1.25, "label": "6,5"},
|
||||
{"y": 8.23, "x": 1.43, "matrix": [1, 0], "label": "1,0"},
|
||||
{"y": 8.23, "x": 2.43, "matrix": [0, 1], "label": "0,1"},
|
||||
{"y": 8.23, "x": 3.43, "matrix": [1, 1], "label": "1,1"},
|
||||
{"y": 8.23, "x": 4.430000000000001, "matrix": [0, 2], "label": "0,2"},
|
||||
{"y": 9.23, "x": 1.68, "matrix": [3, 0], "label": "3,0"},
|
||||
{"y": 9.23, "x": 2.68, "matrix": [2, 1], "label": "2,1"},
|
||||
{"y": 9.23, "x": 3.68, "matrix": [3, 1], "label": "3,1"},
|
||||
{"y": 9.23, "x": 4.680000000000001, "matrix": [2, 2], "label": "2,2"},
|
||||
{"y": 10.23, "x": 2.18, "matrix": [5, 0], "label": "5,0"},
|
||||
{"y": 10.23, "x": 3.18, "matrix": [4, 1], "label": "4,1"},
|
||||
{"y": 10.23, "x": 4.180000000000001, "matrix": [5, 1], "label": "5,1"},
|
||||
{"y": 10.23, "x": 5.180000000000001, "matrix": [4, 2], "label": "4,2"},
|
||||
{"y": 11.23, "x": 2.93, "matrix": [6, 1], "label": "6,1"},
|
||||
{"y": 11.23, "x": 3.93, "matrix": [6, 2], "w": 2.25, "label": "6,2"},
|
||||
{"y": 9.89, "x": 5.930000000000001, "matrix": [1, 2], "label": "1,2"},
|
||||
{"y": 9.89, "x": 6.930000000000001, "matrix": [0, 3], "label": "0,3"},
|
||||
{"y": 9.89, "x": 7.930000000000001, "matrix": [1, 3], "label": "1,3"},
|
||||
{"y": 9.89, "x": 8.93, "matrix": [0, 4], "label": "0,4"},
|
||||
{"y": 10.89, "x": 6.180000000000001, "matrix": [3, 2], "label": "3,2"},
|
||||
{"y": 10.89, "x": 7.180000000000001, "matrix": [2, 3], "label": "2,3"},
|
||||
{"y": 10.89, "x": 8.18, "matrix": [3, 3], "label": "3,3"},
|
||||
{"y": 10.89, "x": 9.18, "matrix": [2, 4], "label": "2,4"},
|
||||
{"y": 11.89, "x": 5.680000000000001, "matrix": [5, 2], "label": "5,2"},
|
||||
{"y": 11.89, "x": 6.680000000000001, "matrix": [4, 3], "label": "4,3"},
|
||||
{"y": 11.89, "x": 7.680000000000001, "matrix": [5, 3], "label": "5,3"},
|
||||
{"y": 11.89, "x": 8.68, "matrix": [4, 4], "label": "4,4"},
|
||||
{"y": 12.89, "x": 5.680000000000001, "matrix": [6, 3], "w": 2, "label": "6,3"},
|
||||
{"y": 12.89, "x": 7.680000000000001, "matrix": [6, 4], "label": "6,4"}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
27
keyboards/nachie/evelyn/keymaps/default/keymap.c
Executable file
27
keyboards/nachie/evelyn/keymaps/default/keymap.c
Executable file
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
Copyright 2024 nachie
|
||||
|
||||
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] = {
|
||||
|
||||
/* QWERTY */
|
||||
LAYOUT(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_DOT, KC_LSFT, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, MO(1))
|
||||
};
|
||||
1
keyboards/nachie/evelyn/keymaps/default/readme.md
Normal file
1
keyboards/nachie/evelyn/keymaps/default/readme.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
The default keymap for the Evelyn.
|
||||
11
keyboards/nachie/evelyn/keymaps/vial/config.h
Normal file
11
keyboards/nachie/evelyn/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x53, 0x01, 0x24, 0xD6, 0x96, 0x84, 0xF2, 0x0F}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 5 }
|
||||
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
65
keyboards/nachie/evelyn/keymaps/vial/keymap.c
Executable file
65
keyboards/nachie/evelyn/keymaps/vial/keymap.c
Executable file
|
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
Copyright 2024 nachie
|
||||
|
||||
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
|
||||
|
||||
#include <stdio.h>
|
||||
char wpm_str[10];
|
||||
|
||||
enum layer_names {
|
||||
_BASE, // Default Layer
|
||||
_FN, // Fn Layer 1
|
||||
_FN2, // Fn Layer 2
|
||||
_FN3 // Fn Layer 3
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* QWERTY */
|
||||
[_BASE] = LAYOUT(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_DOT, KC_LSFT, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, MO(1)),
|
||||
|
||||
/* FUNCTION */
|
||||
[_FN] = LAYOUT(
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_DOT, KC_LSFT, MO(1),
|
||||
KC_LGUI, KC_LGUI, KC_LALT, KC_BSPC, KC_RGUI, MO(1)),
|
||||
|
||||
[_FN2] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______),
|
||||
|
||||
[_FN3] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
[_FN2] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
[_FN3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
};
|
||||
#endif
|
||||
1
keyboards/nachie/evelyn/keymaps/vial/readme.md
Normal file
1
keyboards/nachie/evelyn/keymaps/vial/readme.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
The vial keymap for the Evelyn PCB.
|
||||
6
keyboards/nachie/evelyn/keymaps/vial/rules.mk
Normal file
6
keyboards/nachie/evelyn/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
|
||||
#VIALRGB_ENABLE = yes
|
||||
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
213
keyboards/nachie/evelyn/keymaps/vial/vial.json
Normal file
213
keyboards/nachie/evelyn/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,213 @@
|
|||
{
|
||||
"name": "Syndrome",
|
||||
"vendorId": "0x4B43",
|
||||
"productId": "0x6F75",
|
||||
"matrix": { "rows": 7, "cols": 6 },
|
||||
"layouts": {
|
||||
"labels":[
|
||||
[
|
||||
"Right Shift",
|
||||
"Split Shift",
|
||||
"Full Shift"
|
||||
],
|
||||
"1.75 Left Space",
|
||||
"1.75 Right Space"
|
||||
],
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"y": 0.16,
|
||||
"x": 12.25
|
||||
},
|
||||
"1,0\n\n\n\n\n\n\n\n\ne",
|
||||
"1,1\n\n\n\n\n\n\n\n\ne"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.9199999999999999,
|
||||
"x": 0.3,
|
||||
"c": "#ffffff",
|
||||
"t": "#2e2525"
|
||||
},
|
||||
"0,0",
|
||||
{
|
||||
"x": 8.9
|
||||
},
|
||||
"1,4",
|
||||
"0,5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.010000000000000009,
|
||||
"x": 0.16,
|
||||
"w": 1.25
|
||||
},
|
||||
"2,0",
|
||||
{
|
||||
"x": 9.18,
|
||||
"w": 1.75
|
||||
},
|
||||
"2,5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 0.01,
|
||||
"w": 1.75
|
||||
},
|
||||
"4,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.9899999999999998,
|
||||
"x": 12.73,
|
||||
"w": 2.25
|
||||
},
|
||||
"5,4\n\n\n0,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.010000000000000231,
|
||||
"x": 0.1,
|
||||
"w": 1.25
|
||||
},
|
||||
"6,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.6799999999999997,
|
||||
"x": 3.5,
|
||||
"c": "#cccccc",
|
||||
"t": "#000000"
|
||||
},
|
||||
"2,0\n\n\n\n\n\n\n\n\ne",
|
||||
"2,1\n\n\n\n\n\n\n\n\ne",
|
||||
{
|
||||
"x": 0.75
|
||||
},
|
||||
"3,0\n\n\n\n\n\n\n\n\ne",
|
||||
"3,1\n\n\n\n\n\n\n\n\ne"
|
||||
],
|
||||
[
|
||||
{
|
||||
"rx": 6.25,
|
||||
"y": 2.24,
|
||||
"x": 3.9800000000000004,
|
||||
"c": "#ffffff",
|
||||
"t": "#2e2525",
|
||||
"w": 1.25
|
||||
},
|
||||
"5,4\n\n\n0,0",
|
||||
"4,5\n\n\n0,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 4.879999999999999,
|
||||
"w": 1.25
|
||||
},
|
||||
"6,5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": 8,
|
||||
"rx": 0,
|
||||
"x": 1.44
|
||||
},
|
||||
"1,0",
|
||||
"0,1",
|
||||
"1,1",
|
||||
"0,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 1.69
|
||||
},
|
||||
"3,0",
|
||||
"2,1",
|
||||
"3,1",
|
||||
"2,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.19
|
||||
},
|
||||
"5,0",
|
||||
"4,1",
|
||||
"5,1",
|
||||
"4,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.94
|
||||
},
|
||||
"6,1\n\n\n1,0",
|
||||
{
|
||||
"w": 2.25
|
||||
},
|
||||
"6,2\n\n\n1,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.94,
|
||||
"t": "#000000",
|
||||
"w": 1.5
|
||||
},
|
||||
"6,1\n\n\n1,1",
|
||||
{
|
||||
"x": 8.881784197001252e-16,
|
||||
"w": 1.75
|
||||
},
|
||||
"6,2\n\n\n1,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": -8,
|
||||
"y": -3.34,
|
||||
"x": 5.9399999999999995,
|
||||
"t": "#2e2525"
|
||||
},
|
||||
"1,2",
|
||||
"0,3",
|
||||
"1,3",
|
||||
"0,4"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 6.19
|
||||
},
|
||||
"3,2",
|
||||
"2,3",
|
||||
"3,3",
|
||||
"2,4"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 5.69
|
||||
},
|
||||
"5,2",
|
||||
"4,3",
|
||||
"5,3",
|
||||
"4,4"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 5.69,
|
||||
"w": 2
|
||||
},
|
||||
"6,3\n\n\n2,0",
|
||||
"6,4\n\n\n2,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 5.69,
|
||||
"t": "#000000",
|
||||
"w": 1.75
|
||||
},
|
||||
"6,3\n\n\n2,1",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"6,4\n\n\n2,1"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
23
keyboards/nachie/evelyn/readme.md
Normal file
23
keyboards/nachie/evelyn/readme.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# Båge
|
||||
|
||||
Firmware for the Båge
|
||||
|
||||
* Keyboard Maintainer: [nachie](https://github.com/nachie)
|
||||
* Hardware Supported: Båge
|
||||
* Hardware Availability: [nachie](https://littlecraftery.com/products/Båge)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make nachie/syndrome:default
|
||||
|
||||
Or to make and flash:
|
||||
|
||||
make nachie/syndrome: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
|
||||
|
||||
* **Bootmagic reset**: Hold down ESC key (top left) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button labeled "SW_RST1" on the back of the PCB
|
||||
1
keyboards/nachie/evelyn/rules.mk
Executable file
1
keyboards/nachie/evelyn/rules.mk
Executable file
|
|
@ -0,0 +1 @@
|
|||
# This file intentionally left blank
|
||||
25
keyboards/nachie/littlewritter/config.h
Executable file
25
keyboards/nachie/littlewritter/config.h
Executable file
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
Copyright 2024 Nachie
|
||||
|
||||
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 RP2040_FLASH_GENERIC_03H
|
||||
|
||||
#ifdef HAPTIC_ENABLE
|
||||
#define SOLENOID_PIN GP15
|
||||
#endif
|
||||
|
||||
#define VIA_CUSTOM_LIGHTING_ENABLE
|
||||
3
keyboards/nachie/littlewritter/halconf.h
Normal file
3
keyboards/nachie/littlewritter/halconf.h
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
#pragma once
|
||||
|
||||
#include_next <halconf.h>
|
||||
148
keyboards/nachie/littlewritter/info.json
Normal file
148
keyboards/nachie/littlewritter/info.json
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
{
|
||||
"keyboard_name": "LittleWritter",
|
||||
"manufacturer": "Nachie",
|
||||
"usb": {
|
||||
"vid": "0x4B43",
|
||||
"pid": "0x5358",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"board": "GENERIC_RP_RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"processor": "RP2040",
|
||||
"url": "https://littlecraftery.com/products/little-writter",
|
||||
"maintainer": "nachie",
|
||||
"ws2812": {
|
||||
"pin": "GP29",
|
||||
"driver": "vendor"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ws2812",
|
||||
"led_count": 16,
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"rainbow_moving_chevron":true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_wide": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_cross": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_nexus": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"splash": true,
|
||||
"solid_splash": true,
|
||||
"solid_multisplash": true,
|
||||
"pixel_rain": true,
|
||||
"pixel_fractal": true
|
||||
}
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"y": 0, "x": 11.5, "matrix": [10, 5], "label": "10,5"},
|
||||
{"y": 1, "x": 10.5, "matrix": [10, 6], "label": "10,6"},
|
||||
{"y": 1, "x": 12.5, "matrix": [10, 7], "label": "10,7"},
|
||||
{"y": 1.75, "x": 0, "matrix": [8, 5], "label": "8,5"},
|
||||
{"y": 1.75, "x": 1, "matrix": [9, 5], "label": "9,5"},
|
||||
{"y": 1.75, "x": 3.25, "matrix": [8, 6], "label": "8,6"},
|
||||
{"y": 1.75, "x": 4.25, "matrix": [9, 6], "label": "9,6"},
|
||||
{"y": 1.75, "x": 5.25, "matrix": [8, 7], "label": "8,7"},
|
||||
{"y": 1.75, "x": 7.25, "matrix": [9, 7], "label": "9,7"},
|
||||
{"y": 1.75, "x": 8.25, "matrix": [8, 8], "label": "8,8"},
|
||||
{"y": 2, "x": 11.5, "matrix": [10, 8], "label": "10,8"},
|
||||
{"y": 3.5, "x": 0, "matrix": [0, 0], "label": "0,0"},
|
||||
{"y": 3.5, "x": 1, "matrix": [1, 0], "label": "1,0"},
|
||||
{"y": 3.5, "x": 2, "matrix": [0, 1], "label": "0,1"},
|
||||
{"y": 3.5, "x": 3, "matrix": [1, 1], "label": "1,1"},
|
||||
{"y": 3.5, "x": 4, "matrix": [0, 2], "label": "0,2"},
|
||||
{"y": 3.5, "x": 5, "matrix": [1, 2], "label": "1,2"},
|
||||
{"y": 3.5, "x": 6, "matrix": [0, 3], "label": "0,3"},
|
||||
{"y": 3.5, "x": 7, "matrix": [1, 3], "label": "1,3"},
|
||||
{"y": 3.5, "x": 8, "matrix": [0, 4], "label": "0,4"},
|
||||
{"y": 3.5, "x": 9, "matrix": [1, 4], "label": "1,4"},
|
||||
{"y": 3.5, "x": 10, "matrix": [7, 4], "label": "7,4"},
|
||||
{"y": 3.5, "x": 12.5, "matrix": [9, 8], "label": "9,8"},
|
||||
{"y": 4.5, "x": 0, "matrix": [2, 0], "w": 1.25, "label": "2,0"},
|
||||
{"y": 4.5, "x": 1.25, "matrix": [3, 0], "label": "3,0"},
|
||||
{"y": 4.5, "x": 2.25, "matrix": [2, 1], "label": "2,1"},
|
||||
{"y": 4.5, "x": 3.25, "matrix": [3, 1], "label": "3,1"},
|
||||
{"y": 4.5, "x": 4.25, "matrix": [2, 2], "label": "2,2"},
|
||||
{"y": 4.5, "x": 5.25, "matrix": [3, 2], "label": "3,2"},
|
||||
{"y": 4.5, "x": 6.25, "matrix": [2, 3], "label": "2,3"},
|
||||
{"y": 4.5, "x": 7.25, "matrix": [3, 3], "label": "3,3"},
|
||||
{"y": 4.5, "x": 8.25, "matrix": [2, 4], "label": "2,4"},
|
||||
{"y": 4.5, "x": 9.25, "matrix": [3, 4], "w": 1.75, "label": "3,4"},
|
||||
{"y": 4.5, "x": 12.5, "matrix": [8, 9], "label": "8,9"},
|
||||
{"y": 5.5, "x": 0, "matrix": [4, 0], "w": 1.75, "label": "4,0"},
|
||||
{"y": 5.5, "x": 1.75, "matrix": [5, 0], "label": "5,0"},
|
||||
{"y": 5.5, "x": 2.75, "matrix": [4, 1], "label": "4,1"},
|
||||
{"y": 5.5, "x": 3.75, "matrix": [5, 1], "label": "5,1"},
|
||||
{"y": 5.5, "x": 4.75, "matrix": [4, 2], "label": "4,2"},
|
||||
{"y": 5.5, "x": 5.75, "matrix": [5, 2], "label": "5,2"},
|
||||
{"y": 5.5, "x": 6.75, "matrix": [4, 3], "label": "4,3"},
|
||||
{"y": 5.5, "x": 7.75, "matrix": [5, 3], "label": "5,3"},
|
||||
{"y": 5.5, "x": 8.75, "matrix": [4, 4], "w": 1.25, "label": "4,4"},
|
||||
{"y": 5.5, "x": 10, "matrix": [5, 4], "label": "5,4"},
|
||||
{"y": 5.5, "x": 12.5, "matrix": [9, 9], "label": "9,9"},
|
||||
{"y": 6.5, "x": 0, "matrix": [6, 0], "w": 1.5, "label": "6,0"},
|
||||
{"y": 6.5, "x": 1.5, "matrix": [7, 0], "label": "7,0"},
|
||||
{"y": 6.5, "x": 2.5, "matrix": [6, 1], "w": 1.25, "label": "6,1"},
|
||||
{"y": 6.5, "x": 3.75, "matrix": [7, 1], "w": 1.75, "label": "7,1"},
|
||||
{"y": 6.5, "x": 5.5, "matrix": [7, 2], "w": 1.75, "label": "7,2"},
|
||||
{"y": 6.5, "x": 7.25, "matrix": [6, 3], "w": 1.25, "label": "6,3"},
|
||||
{"y": 6.5, "x": 8.5, "matrix": [7, 3], "label": "7,3"},
|
||||
{"y": 6.5, "x": 9.5, "matrix": [6, 4], "w": 1.5, "label": "6,4"}
|
||||
]
|
||||
}
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"rgblight": false,
|
||||
"encoder": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"encoder": {
|
||||
"enabled": true,
|
||||
"rotary": [
|
||||
{ "pin_a": "GP22", "pin_b": "GP23", "resolution": 2 },
|
||||
{ "pin_a": "GP26", "pin_b": "GP27", "resolution": 2 },
|
||||
{ "pin_a": "GP0", "pin_b": "GP1", "resolution": 2 }
|
||||
]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["GP28", "GP21", "GP20", "GP3", "GP2", "GP12", "GP13", "GP14", "GP10", "GP11"],
|
||||
"rows": ["GP25", "GP24", "GP16", "GP7", "GP17", "GP18", "GP19", "GP4", "GP8", "GP9", "GP15"]
|
||||
}
|
||||
}
|
||||
148
keyboards/nachie/littlewritter/keyboard.json
Normal file
148
keyboards/nachie/littlewritter/keyboard.json
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
{
|
||||
"keyboard_name": "LittleWritter",
|
||||
"manufacturer": "Nachie",
|
||||
"usb": {
|
||||
"vid": "0x4B43",
|
||||
"pid": "0x5358",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"board": "GENERIC_RP_RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"processor": "RP2040",
|
||||
"url": "https://littlecraftery.com/products/little-writter",
|
||||
"maintainer": "nachie",
|
||||
"ws2812": {
|
||||
"pin": "GP29",
|
||||
"driver": "vendor"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ws2812",
|
||||
"led_count": 16,
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"rainbow_moving_chevron":true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_wide": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_cross": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_nexus": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"splash": true,
|
||||
"solid_splash": true,
|
||||
"solid_multisplash": true,
|
||||
"pixel_rain": true,
|
||||
"pixel_fractal": true
|
||||
}
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"y": 0, "x": 11.5, "matrix": [10, 5], "label": "10,5"},
|
||||
{"y": 1, "x": 10.5, "matrix": [10, 6], "label": "10,6"},
|
||||
{"y": 1, "x": 12.5, "matrix": [10, 7], "label": "10,7"},
|
||||
{"y": 1.75, "x": 0, "matrix": [8, 5], "label": "8,5"},
|
||||
{"y": 1.75, "x": 1, "matrix": [9, 5], "label": "9,5"},
|
||||
{"y": 1.75, "x": 3.25, "matrix": [8, 6], "label": "8,6"},
|
||||
{"y": 1.75, "x": 4.25, "matrix": [9, 6], "label": "9,6"},
|
||||
{"y": 1.75, "x": 5.25, "matrix": [8, 7], "label": "8,7"},
|
||||
{"y": 1.75, "x": 7.25, "matrix": [9, 7], "label": "9,7"},
|
||||
{"y": 1.75, "x": 8.25, "matrix": [8, 8], "label": "8,8"},
|
||||
{"y": 2, "x": 11.5, "matrix": [10, 8], "label": "10,8"},
|
||||
{"y": 3.5, "x": 0, "matrix": [0, 0], "label": "0,0"},
|
||||
{"y": 3.5, "x": 1, "matrix": [1, 0], "label": "1,0"},
|
||||
{"y": 3.5, "x": 2, "matrix": [0, 1], "label": "0,1"},
|
||||
{"y": 3.5, "x": 3, "matrix": [1, 1], "label": "1,1"},
|
||||
{"y": 3.5, "x": 4, "matrix": [0, 2], "label": "0,2"},
|
||||
{"y": 3.5, "x": 5, "matrix": [1, 2], "label": "1,2"},
|
||||
{"y": 3.5, "x": 6, "matrix": [0, 3], "label": "0,3"},
|
||||
{"y": 3.5, "x": 7, "matrix": [1, 3], "label": "1,3"},
|
||||
{"y": 3.5, "x": 8, "matrix": [0, 4], "label": "0,4"},
|
||||
{"y": 3.5, "x": 9, "matrix": [1, 4], "label": "1,4"},
|
||||
{"y": 3.5, "x": 10, "matrix": [7, 4], "label": "7,4"},
|
||||
{"y": 3.5, "x": 12.5, "matrix": [9, 8], "label": "9,8"},
|
||||
{"y": 4.5, "x": 0, "matrix": [2, 0], "w": 1.25, "label": "2,0"},
|
||||
{"y": 4.5, "x": 1.25, "matrix": [3, 0], "label": "3,0"},
|
||||
{"y": 4.5, "x": 2.25, "matrix": [2, 1], "label": "2,1"},
|
||||
{"y": 4.5, "x": 3.25, "matrix": [3, 1], "label": "3,1"},
|
||||
{"y": 4.5, "x": 4.25, "matrix": [2, 2], "label": "2,2"},
|
||||
{"y": 4.5, "x": 5.25, "matrix": [3, 2], "label": "3,2"},
|
||||
{"y": 4.5, "x": 6.25, "matrix": [2, 3], "label": "2,3"},
|
||||
{"y": 4.5, "x": 7.25, "matrix": [3, 3], "label": "3,3"},
|
||||
{"y": 4.5, "x": 8.25, "matrix": [2, 4], "label": "2,4"},
|
||||
{"y": 4.5, "x": 9.25, "matrix": [3, 4], "w": 1.75, "label": "3,4"},
|
||||
{"y": 4.5, "x": 12.5, "matrix": [8, 9], "label": "8,9"},
|
||||
{"y": 5.5, "x": 0, "matrix": [4, 0], "w": 1.75, "label": "4,0"},
|
||||
{"y": 5.5, "x": 1.75, "matrix": [5, 0], "label": "5,0"},
|
||||
{"y": 5.5, "x": 2.75, "matrix": [4, 1], "label": "4,1"},
|
||||
{"y": 5.5, "x": 3.75, "matrix": [5, 1], "label": "5,1"},
|
||||
{"y": 5.5, "x": 4.75, "matrix": [4, 2], "label": "4,2"},
|
||||
{"y": 5.5, "x": 5.75, "matrix": [5, 2], "label": "5,2"},
|
||||
{"y": 5.5, "x": 6.75, "matrix": [4, 3], "label": "4,3"},
|
||||
{"y": 5.5, "x": 7.75, "matrix": [5, 3], "label": "5,3"},
|
||||
{"y": 5.5, "x": 8.75, "matrix": [4, 4], "w": 1.25, "label": "4,4"},
|
||||
{"y": 5.5, "x": 10, "matrix": [5, 4], "label": "5,4"},
|
||||
{"y": 5.5, "x": 12.5, "matrix": [9, 9], "label": "9,9"},
|
||||
{"y": 6.5, "x": 0, "matrix": [6, 0], "w": 1.5, "label": "6,0"},
|
||||
{"y": 6.5, "x": 1.5, "matrix": [7, 0], "label": "7,0"},
|
||||
{"y": 6.5, "x": 2.5, "matrix": [6, 1], "w": 1.25, "label": "6,1"},
|
||||
{"y": 6.5, "x": 3.75, "matrix": [7, 1], "w": 1.75, "label": "7,1"},
|
||||
{"y": 6.5, "x": 5.5, "matrix": [7, 2], "w": 1.75, "label": "7,2"},
|
||||
{"y": 6.5, "x": 7.25, "matrix": [6, 3], "w": 1.25, "label": "6,3"},
|
||||
{"y": 6.5, "x": 8.5, "matrix": [7, 3], "label": "7,3"},
|
||||
{"y": 6.5, "x": 9.5, "matrix": [6, 4], "w": 1.5, "label": "6,4"}
|
||||
]
|
||||
}
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"rgblight": false,
|
||||
"encoder": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"encoder": {
|
||||
"enabled": true,
|
||||
"rotary": [
|
||||
{ "pin_a": "GP22", "pin_b": "GP23", "resolution": 2 },
|
||||
{ "pin_a": "GP26", "pin_b": "GP27", "resolution": 2 },
|
||||
{ "pin_a": "GP0", "pin_b": "GP1", "resolution": 2 }
|
||||
]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["GP28", "GP21", "GP20", "GP3", "GP2", "GP12", "GP13", "GP14", "GP10", "GP11"],
|
||||
"rows": ["GP25", "GP24", "GP16", "GP7", "GP17", "GP18", "GP19", "GP4", "GP8", "GP9", "GP15"]
|
||||
}
|
||||
}
|
||||
28
keyboards/nachie/littlewritter/keymaps/default/keymap.c
Executable file
28
keyboards/nachie/littlewritter/keymaps/default/keymap.c
Executable file
|
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
Copyright 2024 Nachie
|
||||
|
||||
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] = {
|
||||
|
||||
/* QWERTY */
|
||||
LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_W,
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_Q,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, KC_A,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_LSFT, MO(1), KC_Z,
|
||||
KC_LGUI, KC_LGUI, KC_LALT, KC_SPC, KC_BSPC, KC_RGUI, KC_RALT, MO(1))
|
||||
};
|
||||
1
keyboards/nachie/littlewritter/keymaps/default/readme.md
Normal file
1
keyboards/nachie/littlewritter/keymaps/default/readme.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
The default keymap for the Little Writter.
|
||||
11
keyboards/nachie/littlewritter/keymaps/vial/config.h
Normal file
11
keyboards/nachie/littlewritter/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x81, 0x8E, 0x3C, 0xC9, 0xA3, 0x67, 0xDE, 0xA5}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 3 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 4 }
|
||||
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
486
keyboards/nachie/littlewritter/keymaps/vial/keymap.c
Executable file
486
keyboards/nachie/littlewritter/keymaps/vial/keymap.c
Executable file
|
|
@ -0,0 +1,486 @@
|
|||
/*
|
||||
Copyright 2024 Nachie
|
||||
|
||||
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
|
||||
|
||||
#include <stdio.h>
|
||||
#include "os_detection.h"
|
||||
|
||||
os_variant_t current_platform;
|
||||
bool is_alt_tab_active = false;
|
||||
uint16_t alt_tab_timer = 0;
|
||||
|
||||
enum layer_names {
|
||||
_BASE, // Default Layer
|
||||
_FN, // Fn Layer 1
|
||||
_FN2, // Fn Layer 2
|
||||
_FN3 // Fn Layer 3
|
||||
};
|
||||
|
||||
enum custom_keycode {
|
||||
JWRDL = QK_KB_0,
|
||||
JWRDR,
|
||||
SWRDL,
|
||||
SWRDR,
|
||||
TABL,
|
||||
TABR,
|
||||
DSKTPL,
|
||||
DSKTPR,
|
||||
PRVAPP,
|
||||
NXTAPP
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case KC_HOME:
|
||||
if (record->event.pressed && current_platform == OS_MACOS) {
|
||||
register_mods(MOD_LGUI);
|
||||
tap_code(KC_LEFT);
|
||||
unregister_mods(MOD_LGUI);
|
||||
} else {
|
||||
tap_code(KC_HOME);
|
||||
}
|
||||
break;
|
||||
case KC_END:
|
||||
if (record->event.pressed && current_platform == OS_MACOS) {
|
||||
register_mods(MOD_LGUI);
|
||||
tap_code(KC_RIGHT);
|
||||
unregister_mods(MOD_LGUI);
|
||||
} else {
|
||||
tap_code(KC_END);
|
||||
}
|
||||
break;
|
||||
case KC_PGUP:
|
||||
if (record->event.pressed && current_platform == OS_MACOS) {
|
||||
register_mods(MOD_LGUI);
|
||||
tap_code(KC_UP);
|
||||
unregister_mods(MOD_LGUI);
|
||||
} else {
|
||||
tap_code(KC_PGUP);
|
||||
}
|
||||
break;
|
||||
case KC_PGDN:
|
||||
if (record->event.pressed && current_platform == OS_MACOS) {
|
||||
register_mods(MOD_LGUI);
|
||||
tap_code(KC_DOWN);
|
||||
unregister_mods(MOD_LGUI);
|
||||
} else {
|
||||
tap_code(KC_PGDN);
|
||||
}
|
||||
break;
|
||||
case KC_NUM_LOCK:
|
||||
if (record->event.pressed && current_platform == OS_MACOS) {
|
||||
register_mods(MOD_LSFT);
|
||||
tap_code(KC_CLEAR);
|
||||
unregister_mods(MOD_LSFT);
|
||||
} else {
|
||||
tap_code(KC_NUM_LOCK);
|
||||
}
|
||||
break;
|
||||
case KC_SCROLL_LOCK:
|
||||
if (record->event.pressed && current_platform == OS_MACOS) {
|
||||
register_mods(MOD_LCTL);
|
||||
tap_code(KC_F14);
|
||||
unregister_mods(MOD_LCTL);
|
||||
} else {
|
||||
tap_code(KC_SCROLL_LOCK);
|
||||
}
|
||||
break;
|
||||
case KC_PRINT_SCREEN:
|
||||
if (record->event.pressed && current_platform == OS_MACOS) {
|
||||
register_mods(MOD_LSFT);
|
||||
register_mods(MOD_LGUI);
|
||||
tap_code(KC_5);
|
||||
unregister_mods(MOD_LGUI);
|
||||
unregister_mods(MOD_LSFT);
|
||||
} else {
|
||||
tap_code(KC_PRINT_SCREEN);
|
||||
}
|
||||
break;
|
||||
case JWRDL:
|
||||
if (record->event.pressed) {
|
||||
(current_platform == OS_MACOS) ? register_mods(MOD_LALT) : register_mods(MOD_LCTL);
|
||||
tap_code(KC_LEFT);
|
||||
(current_platform == OS_MACOS) ? unregister_mods(MOD_LALT) : unregister_mods(MOD_LCTL);
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
case JWRDR:
|
||||
if (record->event.pressed) {
|
||||
(current_platform == OS_MACOS) ? register_mods(MOD_LALT) : register_mods(MOD_LCTL);
|
||||
tap_code(KC_RIGHT);
|
||||
(current_platform == OS_MACOS) ? unregister_mods(MOD_LALT) : unregister_mods(MOD_LCTL);
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
case SWRDL:
|
||||
if (record->event.pressed) {
|
||||
register_mods(MOD_LSFT);
|
||||
(current_platform == OS_MACOS) ? register_mods(MOD_LALT) : register_mods(MOD_LCTL);
|
||||
tap_code(KC_LEFT);
|
||||
(current_platform == OS_MACOS) ? unregister_mods(MOD_LALT) : unregister_mods(MOD_LCTL);
|
||||
unregister_mods(MOD_LSFT);
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
case SWRDR:
|
||||
if (record->event.pressed) {
|
||||
register_mods(MOD_LSFT);
|
||||
(current_platform == OS_MACOS) ? register_mods(MOD_LALT) : register_mods(MOD_LCTL);
|
||||
tap_code(KC_RIGHT);
|
||||
(current_platform == OS_MACOS) ? unregister_mods(MOD_LALT) : unregister_mods(MOD_LCTL);
|
||||
unregister_mods(MOD_LSFT);
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
case TABL:
|
||||
if (record->event.pressed) {
|
||||
register_mods(MOD_LCTL);
|
||||
register_mods(MOD_LSFT);
|
||||
tap_code(KC_TAB);
|
||||
unregister_mods(MOD_LSFT);
|
||||
unregister_mods(MOD_LCTL);
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
case TABR:
|
||||
if (record->event.pressed) {
|
||||
register_mods(MOD_LCTL);
|
||||
tap_code(KC_TAB);
|
||||
unregister_mods(MOD_LCTL);
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
case DSKTPL:
|
||||
if (record->event.pressed) {
|
||||
register_mods(MOD_LCTL);
|
||||
register_mods(MOD_LGUI);
|
||||
(current_platform == OS_LINUX) ? tap_code(KC_UP) : tap_code(KC_LEFT);
|
||||
unregister_mods(MOD_LGUI);
|
||||
unregister_mods(MOD_LCTL);
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
case DSKTPR:
|
||||
if (record->event.pressed) {
|
||||
register_mods(MOD_LCTL);
|
||||
register_mods(MOD_LGUI);
|
||||
(current_platform == OS_LINUX) ? tap_code(KC_DOWN) : tap_code(KC_RGHT);
|
||||
unregister_mods(MOD_LGUI);
|
||||
unregister_mods(MOD_LCTL);
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
case PRVAPP:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_LSFT);
|
||||
if (!is_alt_tab_active) {
|
||||
is_alt_tab_active = true;
|
||||
(current_platform == OS_MACOS) ? register_code(KC_LGUI) : register_code(KC_LALT);
|
||||
}
|
||||
alt_tab_timer = timer_read();
|
||||
register_code(KC_TAB);
|
||||
} else {
|
||||
unregister_code(KC_TAB);
|
||||
unregister_code(KC_LSFT);
|
||||
}
|
||||
break;
|
||||
case NXTAPP:
|
||||
if (record->event.pressed) {
|
||||
if (!is_alt_tab_active) {
|
||||
is_alt_tab_active = true;
|
||||
(current_platform == OS_MACOS) ? register_code(KC_LGUI) : register_code(KC_LALT);
|
||||
}
|
||||
alt_tab_timer = timer_read();
|
||||
register_code(KC_TAB);
|
||||
} else {
|
||||
unregister_code(KC_TAB);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
#ifndef HAPTIC_ENABLE
|
||||
#define HF_TOGG _______
|
||||
#endif
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* QWERTY */
|
||||
[_BASE] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_W,
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_Q,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, KC_A,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_LSFT, MO(1), KC_Z,
|
||||
KC_LGUI, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_BSPC, KC_RGUI, MO(2)),
|
||||
|
||||
/* FUNCTION */
|
||||
[_FN] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_W,
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, _______,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, _______,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_LSFT, MO(1), _______,
|
||||
KC_LGUI, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_BSPC, KC_RGUI, MO(1)),
|
||||
|
||||
[_FN2] = LAYOUT(
|
||||
KC_ESC, QK_BOOTLOADER, QK_REBOOT, QK_DEBUG_TOGGLE, QK_CLEAR_EEPROM, _______, _______, _______, _______, _______, _______,
|
||||
HF_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
[_FN3] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______)
|
||||
};
|
||||
|
||||
void matrix_scan_user(void) { // The very important timer.
|
||||
if (is_alt_tab_active) {
|
||||
if (timer_elapsed(alt_tab_timer) > 1000) {
|
||||
(current_platform == OS_MACOS) ? unregister_code(KC_LGUI) : unregister_code(KC_LALT);
|
||||
is_alt_tab_active = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
[_FN2] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
[_FN3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
#ifdef DYNAMIC_MACRO_ENABLE
|
||||
bool macro1;
|
||||
bool macro1rec;
|
||||
bool macro2;
|
||||
bool macro2rec;
|
||||
bool prevEnabled;
|
||||
uint8_t prevRGBmode;
|
||||
|
||||
void render_dynamic_macro_status(int col, int line){
|
||||
oled_set_cursor(col,line);
|
||||
macro1rec ? oled_write(PSTR("DM1"), macro1) : oled_write(PSTR(" "),false);
|
||||
oled_set_cursor(col,line+1);
|
||||
macro2rec ? oled_write(PSTR("DM2"), macro2) : oled_write(PSTR(" "),false);
|
||||
}
|
||||
|
||||
//direction indicates which macro it is, with 1 being Macro 1, -1 being Macro 2, and 0 being no macro.
|
||||
void dynamic_macro_record_start_user(int8_t direction){
|
||||
prevEnabled = rgb_matrix_is_enabled();
|
||||
if (!prevEnabled) { rgb_matrix_enable(); }
|
||||
prevRGBmode = rgb_matrix_get_mode();
|
||||
rgb_matrix_mode(RGB_MATRIX_BREATHING);
|
||||
switch(direction){
|
||||
case 1:
|
||||
macro1 = false;
|
||||
macro1rec = true;
|
||||
break;
|
||||
case -1:
|
||||
macro2 = false;
|
||||
macro2rec = true;
|
||||
break;
|
||||
default:
|
||||
macro1 = false;
|
||||
macro2 = false;
|
||||
macro1rec = false;
|
||||
macro2rec = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void dynamic_macro_record_end_user(int8_t direction){
|
||||
prevEnabled ? rgb_matrix_mode(prevRGBmode) : rgb_matrix_disable();
|
||||
switch(direction){
|
||||
case 1:
|
||||
macro1 = true;
|
||||
break;
|
||||
case -1:
|
||||
macro2 = true;
|
||||
break;
|
||||
default:
|
||||
macro1 = false;
|
||||
macro2 = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
bool clear_screen = false;
|
||||
bool rerender_platform = false;
|
||||
|
||||
static void render_logo(void) {
|
||||
static const char PROGMEM logo[] = {
|
||||
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
|
||||
0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
|
||||
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
|
||||
};
|
||||
|
||||
oled_write(logo, false);
|
||||
}
|
||||
|
||||
void render_keylock_status(led_t led_state) {
|
||||
bool caps_state = (led_state.caps_lock || is_caps_word_on());
|
||||
oled_write(PSTR("CAPS"), caps_state);
|
||||
oled_write(PSTR(" "), false);
|
||||
oled_write(PSTR("NUM"), led_state.num_lock);
|
||||
oled_write(PSTR(" "), false);
|
||||
oled_write(PSTR("SCRL"), led_state.scroll_lock);
|
||||
//oled_write_ln_P(PSTR(" "), false);
|
||||
}
|
||||
|
||||
void render_mod_status(uint8_t modifiers) {
|
||||
oled_write(PSTR("SH"), (modifiers & MOD_MASK_SHIFT));
|
||||
oled_write(PSTR(" "), false);
|
||||
(current_platform == OS_MACOS || current_platform == OS_IOS) ? oled_write(PSTR("CMD"), (modifiers & MOD_MASK_GUI)) : oled_write(PSTR("CT"), (modifiers & MOD_MASK_CTRL));
|
||||
oled_write(PSTR(" "), false);
|
||||
(current_platform == OS_MACOS || current_platform == OS_IOS) ? oled_write(PSTR("OPT"), (modifiers & MOD_MASK_ALT)) : oled_write(PSTR("ALT"), (modifiers & MOD_MASK_ALT));
|
||||
oled_write(PSTR(" "), false);
|
||||
(current_platform == OS_MACOS || current_platform == OS_IOS) ? oled_write(PSTR("CT"), (modifiers & MOD_MASK_CTRL)) : oled_write(PSTR("GUI"), (modifiers & MOD_MASK_GUI));
|
||||
}
|
||||
|
||||
void render_key_status_or_logo(){
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
uint8_t mod_state = (get_mods()|get_oneshot_mods());
|
||||
if ( !led_state.num_lock && !led_state.caps_lock && !led_state.scroll_lock
|
||||
&& !(mod_state & MOD_MASK_SHIFT) && !(mod_state & MOD_MASK_ALT) && !(mod_state & MOD_MASK_CTRL) && !(mod_state & MOD_MASK_GUI)) {
|
||||
if(!clear_screen) {
|
||||
render_logo();
|
||||
rerender_platform = true;
|
||||
}
|
||||
clear_screen = true;
|
||||
} else {
|
||||
if (clear_screen == true) {
|
||||
oled_clear();
|
||||
oled_render();
|
||||
clear_screen = false;
|
||||
}
|
||||
oled_set_cursor(8,0);
|
||||
render_keylock_status(led_state);
|
||||
oled_set_cursor(8,1);
|
||||
render_mod_status(mod_state);
|
||||
rerender_platform = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void render_current_layer(){
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case 0:
|
||||
oled_write(PSTR("Layer 0"), false);
|
||||
break;
|
||||
case 1:
|
||||
oled_write(PSTR("Layer 1"), false);
|
||||
break;
|
||||
case 2:
|
||||
oled_write(PSTR("Layer 2"), false);
|
||||
break;
|
||||
case 3:
|
||||
oled_write(PSTR("Layer 3"), false);
|
||||
break;
|
||||
default:
|
||||
oled_write(PSTR("Layer ?"), false); // Should never display, here as a catchall
|
||||
}
|
||||
}
|
||||
|
||||
void render_current_wpm(){
|
||||
oled_write_P(PSTR("WPM: "), false);
|
||||
oled_write(get_u8_str(get_current_wpm(), '0'), false);
|
||||
}
|
||||
|
||||
void render_platform_status(int col, int line) {
|
||||
/* Show Ctrl-Gui Swap options */
|
||||
static const char PROGMEM logo[][5][3] = {
|
||||
{{0x9B, 0x9C, 0}, {0xbb, 0xbc, 0}}, //Android
|
||||
{{0x99, 0x9A, 0}, {0xb9, 0xba, 0}}, //Linux
|
||||
{{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, //Windows
|
||||
{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, //Mac/iOS
|
||||
{{0x9D, 0x9E, 0}, {0xbd, 0xbe, 0}}, //Empty Placeholder
|
||||
};
|
||||
current_platform = detected_host_os();
|
||||
switch (current_platform) {
|
||||
/*case OS_ANDROID: //Android
|
||||
oled_set_cursor(col,line);
|
||||
oled_write(logo[0][0], false);
|
||||
oled_set_cursor(col,line+1);
|
||||
oled_write(logo[0][1], false);
|
||||
break;*/
|
||||
case OS_LINUX: //Linux
|
||||
oled_set_cursor(col,line);
|
||||
oled_write(logo[1][0], false);
|
||||
oled_set_cursor(col,line+1);
|
||||
oled_write(logo[1][1], false);
|
||||
keymap_config.swap_lctl_lgui = false;
|
||||
keymap_config.swap_rctl_rgui = false;
|
||||
break;
|
||||
case OS_WINDOWS: //Windows
|
||||
oled_set_cursor(col,line);
|
||||
oled_write(logo[2][0], false);
|
||||
oled_set_cursor(col,line+1);
|
||||
oled_write(logo[2][1], false);
|
||||
keymap_config.swap_lctl_lgui = false;
|
||||
keymap_config.swap_rctl_rgui = false;
|
||||
break;
|
||||
case OS_MACOS: //Mac
|
||||
oled_set_cursor(col,line);
|
||||
oled_write(logo[3][0], false);
|
||||
oled_set_cursor(col,line+1);
|
||||
oled_write(logo[3][1], false);
|
||||
keymap_config.swap_lctl_lgui = true;
|
||||
keymap_config.swap_rctl_rgui = true;
|
||||
break;
|
||||
case OS_IOS: //iOS
|
||||
oled_set_cursor(col,line);
|
||||
oled_write(logo[3][0], false);
|
||||
oled_set_cursor(col,line+1);
|
||||
oled_write(logo[3][1], false);
|
||||
keymap_config.swap_lctl_lgui = true;
|
||||
keymap_config.swap_rctl_rgui = true;
|
||||
break;
|
||||
default: //OS_UNSURE or not configured
|
||||
oled_set_cursor(col,line);
|
||||
oled_write(logo[4][0], false);
|
||||
oled_set_cursor(col,line+1);
|
||||
oled_write(logo[4][1], false);
|
||||
break;
|
||||
}
|
||||
rerender_platform = false;
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
render_key_status_or_logo();
|
||||
oled_set_cursor(8,2);
|
||||
render_current_layer();
|
||||
#ifdef DYNAMIC_MACRO_ENABLE
|
||||
render_dynamic_macro_status(18,2);
|
||||
#endif
|
||||
oled_set_cursor(8,3);
|
||||
render_current_wpm();
|
||||
#ifdef OS_DETECTION_ENABLE
|
||||
if(current_platform != detected_host_os() || rerender_platform) { render_platform_status(3,0); }
|
||||
#endif
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
||||
1
keyboards/nachie/littlewritter/keymaps/vial/readme.md
Normal file
1
keyboards/nachie/littlewritter/keymaps/vial/readme.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
The vial keymap for the Little Writter PCB.
|
||||
10
keyboards/nachie/littlewritter/keymaps/vial/rules.mk
Normal file
10
keyboards/nachie/littlewritter/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
|
||||
VIALRGB_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
BOOTMAGIC_ENABLE = yes
|
||||
MAGIC_ENABLE = yes
|
||||
OS_DETECTION_ENABLE = yes
|
||||
DYNAMIC_MACRO_ENABLE = yes
|
||||
CAPS_WORD_ENABLE = yes
|
||||
433
keyboards/nachie/littlewritter/keymaps/vial/vial.json
Normal file
433
keyboards/nachie/littlewritter/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,433 @@
|
|||
{
|
||||
"name": "LittleWritter",
|
||||
"vendorId": "0x4B43",
|
||||
"productId": "0x5358",
|
||||
"customKeycodes": [
|
||||
{
|
||||
"name": "JmpWordL",
|
||||
"title": "Jump Word Left",
|
||||
"shortName": "JWRDL"
|
||||
},
|
||||
{
|
||||
"name": "JmpWordR",
|
||||
"title": "Jump Word Right",
|
||||
"shortName": "JWRDR"
|
||||
},
|
||||
{
|
||||
"name": "SlcWordL",
|
||||
"title": "Select Word Left",
|
||||
"shortName": "SWRDL"
|
||||
},
|
||||
{
|
||||
"name": "SlcWordR",
|
||||
"title": "Select Word Right",
|
||||
"shortName": "SWRDR"
|
||||
},
|
||||
{
|
||||
"name": "TabLft",
|
||||
"title": "Tab Left",
|
||||
"shortName": "TABL"
|
||||
},
|
||||
{
|
||||
"name": "TabRght",
|
||||
"title": "Tab Right",
|
||||
"shortName": "TABR"
|
||||
},
|
||||
{
|
||||
"name": "DsktpLft",
|
||||
"title": "Desktop Left",
|
||||
"shortName": "DSKTPL"
|
||||
},
|
||||
{
|
||||
"name": "DsktpRght",
|
||||
"title": "Desktop Right",
|
||||
"shortName": "DSKTPR"
|
||||
},
|
||||
{
|
||||
"name": "PrevApp",
|
||||
"title": "Previous App",
|
||||
"shortName": "PRVAPP"
|
||||
},
|
||||
{
|
||||
"name": "NextApp",
|
||||
"title": "Next App",
|
||||
"shortName": "NXTAPP"
|
||||
}
|
||||
],
|
||||
"matrix": { "rows": 11, "cols": 10 },
|
||||
"lighting": "vialrgb",
|
||||
"layouts": {
|
||||
"labels":[
|
||||
[
|
||||
"Right Shift",
|
||||
"Split Shift Fn",
|
||||
"Split Fn Shift",
|
||||
"No Split"
|
||||
],
|
||||
[
|
||||
"Bottom Row",
|
||||
"3U Centered",
|
||||
"6U Big Bar",
|
||||
"3U/3U",
|
||||
"2U/2U",
|
||||
"1.75U/1.75U",
|
||||
"7U Big Bar",
|
||||
"3U/1U/3U",
|
||||
"2.75U ALPS",
|
||||
"3U/ENC/3U"
|
||||
],
|
||||
"Macro Row"
|
||||
],
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"y": 2.5,
|
||||
"x": 13.5
|
||||
},
|
||||
"10,5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 12.5
|
||||
},
|
||||
"10,6",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"10,7\nBreak"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.25,
|
||||
"x": 2
|
||||
},
|
||||
"8,5",
|
||||
"9,5",
|
||||
{
|
||||
"x": 1.25
|
||||
},
|
||||
"8,6",
|
||||
"9,6",
|
||||
"8,7",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"9,7",
|
||||
"8,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 13.5
|
||||
},
|
||||
"10,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"0,0\n\n\n\n\n\n\n\n\ne",
|
||||
{
|
||||
"x": 11
|
||||
},
|
||||
"1,0\n\n\n\n\n\n\n\n\ne"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.5,
|
||||
"x": 2
|
||||
},
|
||||
"0,0",
|
||||
"1,0",
|
||||
"0,1",
|
||||
"1,1",
|
||||
"0,2",
|
||||
"1,2",
|
||||
"0,3",
|
||||
"1,3",
|
||||
"0,4",
|
||||
"1,4",
|
||||
"7,4",
|
||||
{
|
||||
"x": 1.5
|
||||
},
|
||||
"9,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.5,
|
||||
"x": 1
|
||||
},
|
||||
"0,1\n\n\n\n\n\n\n\n\ne",
|
||||
{
|
||||
"x": 11
|
||||
},
|
||||
"1,1\n\n\n\n\n\n\n\n\ne"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.5,
|
||||
"x": 2,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"2,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,0",
|
||||
"2,1",
|
||||
"3,1",
|
||||
"2,2",
|
||||
"3,2",
|
||||
"2,3",
|
||||
"3,3",
|
||||
"2,4",
|
||||
{
|
||||
"c": "#777777",
|
||||
"w": 1.75
|
||||
},
|
||||
"3,4",
|
||||
{
|
||||
"x": 1.5,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"8,9"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"4,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"5,0",
|
||||
"4,1",
|
||||
"5,1",
|
||||
"4,2",
|
||||
"5,2",
|
||||
"4,3",
|
||||
"5,3",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"4,4\n\n\n0,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"5,4\n\n\n0,0",
|
||||
{
|
||||
"x": 1.5
|
||||
},
|
||||
"9,9"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"6,0\n\n\n1,0",
|
||||
"7,0\n\n\n1,0",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"6,1\n\n\n1,0",
|
||||
{
|
||||
"w": 3
|
||||
},
|
||||
"7,2\n\n\n1,0",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"6,3\n\n\n1,0",
|
||||
"7,3\n\n\n1,0",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"6,4\n\n\n1,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 6.5,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,0\n\n\n\n\n\n\n\n\ne",
|
||||
"2,1\n\n\n\n\n\n\n\n\ne",
|
||||
{
|
||||
"x": 2.25
|
||||
},
|
||||
"4,4\n\n\n0,1",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"5,4\n\n\n0,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 10.75,
|
||||
"w": 2.25
|
||||
},
|
||||
"4,4\n\n\n0,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.25,
|
||||
"x": 2,
|
||||
"w": 1.5
|
||||
},
|
||||
"6,0\n\n\n1,1",
|
||||
"7,0\n\n\n1,1",
|
||||
{
|
||||
"w": 6
|
||||
},
|
||||
"7,2\n\n\n1,1",
|
||||
"7,3\n\n\n1,1",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"6,4\n\n\n1,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2,
|
||||
"w": 1.5
|
||||
},
|
||||
"6,0\n\n\n1,2",
|
||||
"7,0\n\n\n1,2",
|
||||
{
|
||||
"w": 3
|
||||
},
|
||||
"7,1\n\n\n1,2",
|
||||
{
|
||||
"w": 3
|
||||
},
|
||||
"7,2\n\n\n1,2",
|
||||
"7,3\n\n\n1,2",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"6,4\n\n\n1,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2,
|
||||
"w": 1.5
|
||||
},
|
||||
"6,0\n\n\n1,3",
|
||||
"7,0\n\n\n1,3",
|
||||
"6,1\n\n\n1,3",
|
||||
{
|
||||
"w": 2
|
||||
},
|
||||
"7,1\n\n\n1,3",
|
||||
{
|
||||
"w": 2
|
||||
},
|
||||
"7,2\n\n\n1,3",
|
||||
"6,3\n\n\n1,3",
|
||||
"7,3\n\n\n1,3",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"6,4\n\n\n1,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2,
|
||||
"w": 1.5
|
||||
},
|
||||
"6,0\n\n\n1,4",
|
||||
"7,0\n\n\n1,4",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"6,1\n\n\n1,4",
|
||||
{
|
||||
"w": 1.75
|
||||
},
|
||||
"7,1\n\n\n1,4",
|
||||
{
|
||||
"w": 1.75
|
||||
},
|
||||
"7,2\n\n\n1,4",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"6,3\n\n\n1,4",
|
||||
"7,3\n\n\n1,4",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"6,4\n\n\n1,4"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2
|
||||
},
|
||||
"6,0\n\n\n1,5",
|
||||
"7,0\n\n\n1,5",
|
||||
{
|
||||
"w": 7
|
||||
},
|
||||
"7,2\n\n\n1,5",
|
||||
"7,3\n\n\n1,5",
|
||||
"6,4\n\n\n1,5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2
|
||||
},
|
||||
"6,0\n\n\n1,6",
|
||||
"7,0\n\n\n1,6",
|
||||
{
|
||||
"w": 3
|
||||
},
|
||||
"6,1\n\n\n1,6",
|
||||
"7,2\n\n\n1,6",
|
||||
{
|
||||
"w": 3
|
||||
},
|
||||
"6,3\n\n\n1,6",
|
||||
"7,3\n\n\n1,6",
|
||||
"6,4\n\n\n1,6"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2,
|
||||
"w": 1.25
|
||||
},
|
||||
"6,0\n\n\n1,7",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"7,0\n\n\n1,7",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"6,1\n\n\n1,7",
|
||||
{
|
||||
"w": 2.75
|
||||
},
|
||||
"7,2\n\n\n1,7",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"6,3\n\n\n1,7",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"7,3\n\n\n1,7",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"6,4\n\n\n1,7"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
89
keyboards/nachie/littlewritter/littlewritter.c
Executable file
89
keyboards/nachie/littlewritter/littlewritter.c
Executable file
|
|
@ -0,0 +1,89 @@
|
|||
/*
|
||||
Copyright 2024 Nachie
|
||||
|
||||
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 "quantum.h"
|
||||
|
||||
|
||||
led_config_t g_led_config = { {
|
||||
{ NO_LED, 6, 5, 4, NO_LED, 3, 2, 1, 0, NO_LED },
|
||||
{ NO_LED, 6, 5, 4, NO_LED, 3, 2, 1, 0, NO_LED },
|
||||
{ 7, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 15 },
|
||||
{ 8, 9, 10, 11, 12, NO_LED, 13, 14, NO_LED, NO_LED},
|
||||
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }
|
||||
}, {
|
||||
{ 183,0 }, { 162,0 }, { 142,0 }, { 122,0 }, { 81,0 }, { 61,0 }, { 40,0 },
|
||||
{ 20,16 }, { 40,48 },
|
||||
{ 61,48 }, { 81,48 }, { 101,48 }, { 122,48 }, { 162,48 }, { 203,48 }, { 244,16 }
|
||||
}, {
|
||||
1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1
|
||||
} };
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
static void render_logo(void) {
|
||||
static const char PROGMEM my_logo[] = {
|
||||
// 'Screenshot 2023-07-21 at 1', 128x32px
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xfe, 0x00, 0x03, 0xc0, 0x00, 0xc0, 0x00, 0x3c, 0x00, 0x0f, 0x1f, 0xf8, 0xe0, 0x00, 0x1f, 0xff,
|
||||
0xff, 0x80, 0x01, 0xc0, 0x00, 0x40, 0x00, 0x38, 0x00, 0x07, 0x1f, 0xf8, 0xe0, 0x00, 0x1f, 0xff,
|
||||
0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x0f, 0xff,
|
||||
0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x8f, 0xff,
|
||||
0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x0f, 0xff,
|
||||
0xfe, 0x1f, 0xf1, 0xc0, 0x03, 0xff, 0x8f, 0xf8, 0xff, 0xc7, 0x1f, 0xf8, 0xe1, 0xc0, 0x1f, 0xff,
|
||||
0xfe, 0x1f, 0xf1, 0xc0, 0x03, 0xff, 0x8f, 0xf8, 0xff, 0xc7, 0x1f, 0xf8, 0xe1, 0xe0, 0x3f, 0xff,
|
||||
0xfe, 0x1f, 0xf1, 0xc3, 0xff, 0xff, 0x8f, 0xf8, 0xff, 0xc7, 0x1f, 0xf8, 0xe1, 0xf0, 0xff, 0xff,
|
||||
0xfe, 0x1f, 0xf1, 0xc3, 0xff, 0xff, 0x8f, 0xf8, 0xff, 0xc7, 0x1f, 0xf8, 0xe1, 0xf8, 0x7f, 0xff,
|
||||
0xfe, 0x1f, 0xf1, 0xc3, 0xff, 0xff, 0x8f, 0xf8, 0xff, 0xc7, 0x1f, 0xf8, 0xe1, 0xf8, 0x7f, 0xff,
|
||||
0xfe, 0x00, 0x01, 0xc0, 0x00, 0x7f, 0x8f, 0xf8, 0x00, 0x07, 0x00, 0x00, 0xe1, 0xfc, 0x3f, 0xff,
|
||||
0xfe, 0x00, 0x03, 0xc0, 0x00, 0xff, 0x8f, 0xfc, 0x00, 0x0f, 0x80, 0x01, 0xe1, 0xfe, 0x1f, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
||||
};
|
||||
oled_write_raw_P(my_logo, sizeof(my_logo));
|
||||
}
|
||||
|
||||
bool oled_task_kb(void) {
|
||||
// Defer to the keymap if they want to override
|
||||
|
||||
if(!oled_task_user()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// default keyboard drawing code
|
||||
render_logo();
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
||||
3
keyboards/nachie/littlewritter/mcuconf.h
Normal file
3
keyboards/nachie/littlewritter/mcuconf.h
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
23
keyboards/nachie/littlewritter/readme.md
Normal file
23
keyboards/nachie/littlewritter/readme.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# LittleWritter
|
||||
|
||||
Firmware for the LittleWritter
|
||||
|
||||
* Keyboard Maintainer: [Nachie](https://github.com/nachie)
|
||||
* Hardware Supported: LittleWritter
|
||||
* Hardware Availability: [Little Craftery](https://littlecraftery.com/products/littlewritter)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make nachie/littlewritter:default
|
||||
|
||||
Or to make and flash:
|
||||
|
||||
make nachie/littlewritter: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
|
||||
|
||||
* **Bootmagic reset**: Hold down ESC key (top left) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button labeled "SW_RST1" on the back of the PCB
|
||||
1
keyboards/nachie/littlewritter/rules.mk
Executable file
1
keyboards/nachie/littlewritter/rules.mk
Executable file
|
|
@ -0,0 +1 @@
|
|||
# This file is intentionally left blank
|
||||
29
keyboards/nachie/rnd60/config.h
Normal file
29
keyboards/nachie/rnd60/config.h
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
Copyright 2024 nachie
|
||||
|
||||
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
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* number of backlight levels */
|
||||
|
||||
#define VIA_CUSTOM_LIGHTING_ENABLE
|
||||
|
||||
#define LED_CAPS_LOCK_PIN GP17
|
||||
#define LED_KANA_PIN GP26
|
||||
#define LED_PIN_ON_STATE 1
|
||||
155
keyboards/nachie/rnd60/info.json
Normal file
155
keyboards/nachie/rnd60/info.json
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
{
|
||||
"keyboard_name": "RND60",
|
||||
"manufacturer": "Nachie",
|
||||
"board": "GENERIC_RP_RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"processor": "RP2040",
|
||||
"usb": {
|
||||
"vid": "0x4B43",
|
||||
"pid": "0x5336",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"url": "https://rndkbd.com",
|
||||
"maintainer": "nachie",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"rgblight": false,
|
||||
"encoder": false,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["GP21", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0", "GP15", "GP14", "GP13", "GP12", "GP11", "GP10", "GP8", "GP9"],
|
||||
"rows": ["GP28", "GP27", "GP20", "GP6", "GP7"]
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "GP29",
|
||||
"driver": "vendor"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ws2812",
|
||||
"led_count": 16,
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"rainbow_moving_chevron":true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_wide": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_cross": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_nexus": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"splash": true,
|
||||
"solid_splash": true,
|
||||
"solid_multisplash": true,
|
||||
"pixel_rain": true,
|
||||
"pixel_fractal": true
|
||||
}
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"y": 0, "x": 0, "matrix": [0, 0], "label": "0,0"},
|
||||
{"y": 0, "x": 1, "matrix": [0, 1], "label": "0,1"},
|
||||
{"y": 0, "x": 2, "matrix": [0, 2], "label": "0,2"},
|
||||
{"y": 0, "x": 3, "matrix": [0, 3], "label": "0,3"},
|
||||
{"y": 0, "x": 4, "matrix": [0, 4], "label": "0,4"},
|
||||
{"y": 0, "x": 5, "matrix": [0, 5], "label": "0,5"},
|
||||
{"y": 0, "x": 6, "matrix": [0, 6], "label": "0,6"},
|
||||
{"y": 0, "x": 7, "matrix": [0, 7], "label": "0,7"},
|
||||
{"y": 0, "x": 8, "matrix": [0, 8], "label": "0,8"},
|
||||
{"y": 0, "x": 9, "matrix": [0, 9], "label": "0,9"},
|
||||
{"y": 0, "x": 10, "matrix": [0, 10], "label": "0,10"},
|
||||
{"y": 0, "x": 11, "matrix": [0, 11], "label": "0,11"},
|
||||
{"y": 0, "x": 12, "matrix": [0, 12], "label": "0,12"},
|
||||
{"y": 0, "x": 13, "matrix": [0, 13], "label": "0,13"},
|
||||
{"y": 0, "x": 14, "matrix": [0, 14], "label": "0,14"},
|
||||
{"y": 1, "x": 0, "matrix": [1, 0], "w": 1.5, "label": "1,0"},
|
||||
{"y": 1, "x": 1.5, "matrix": [1, 1], "label": "1,1"},
|
||||
{"y": 1, "x": 2.5, "matrix": [1, 2], "label": "1,2"},
|
||||
{"y": 1, "x": 3.5, "matrix": [1, 3], "label": "1,3"},
|
||||
{"y": 1, "x": 4.5, "matrix": [1, 4], "label": "1,4"},
|
||||
{"y": 1, "x": 5.5, "matrix": [1, 5], "label": "1,5"},
|
||||
{"y": 1, "x": 6.5, "matrix": [1, 6], "label": "1,6"},
|
||||
{"y": 1, "x": 7.5, "matrix": [1, 7], "label": "1,7"},
|
||||
{"y": 1, "x": 8.5, "matrix": [1, 8], "label": "1,8"},
|
||||
{"y": 1, "x": 9.5, "matrix": [1, 9], "label": "1,9"},
|
||||
{"y": 1, "x": 10.5, "matrix": [1, 10], "label": "1,10"},
|
||||
{"y": 1, "x": 11.5, "matrix": [1, 11], "label": "1,11"},
|
||||
{"y": 1, "x": 12.5, "matrix": [1, 12], "label": "1,12"},
|
||||
{"y": 1, "x": 13.5, "matrix": [1, 14], "w": 1.5, "label": "1,14"},
|
||||
{"y": 2, "x": 0, "matrix": [2, 0], "w": 1.75, "label": "2,0"},
|
||||
{"y": 2, "x": 1.75, "matrix": [2, 1], "label": "2,1"},
|
||||
{"y": 2, "x": 2.75, "matrix": [2, 2], "label": "2,2"},
|
||||
{"y": 2, "x": 3.75, "matrix": [2, 3], "label": "2,3"},
|
||||
{"y": 2, "x": 4.75, "matrix": [2, 4], "label": "2,4"},
|
||||
{"y": 2, "x": 5.75, "matrix": [2, 5], "label": "2,5"},
|
||||
{"y": 2, "x": 6.75, "matrix": [2, 6], "label": "2,6"},
|
||||
{"y": 2, "x": 7.75, "matrix": [2, 7], "label": "2,7"},
|
||||
{"y": 2, "x": 8.75, "matrix": [2, 8], "label": "2,8"},
|
||||
{"y": 2, "x": 9.75, "matrix": [2, 9], "label": "2,9"},
|
||||
{"y": 2, "x": 10.75, "matrix": [2, 10], "label": "2,10"},
|
||||
{"y": 2, "x": 11.75, "matrix": [2, 11], "label": "2,11"},
|
||||
{"y": 2, "x": 12.75, "matrix": [2, 12], "label": "2,12"},
|
||||
{"y": 2, "x": 12.75, "matrix": [2, 13], "w": 2.25, "label": "2,13"},
|
||||
{"y": 3, "x": 0, "matrix": [3, 0], "w": 1.25, "label": "3,0"},
|
||||
{"y": 3, "x": 1.25, "matrix": [3, 1], "label": "3,1"},
|
||||
{"y": 3, "x": 2.25, "matrix": [3, 2], "label": "3,2"},
|
||||
{"y": 3, "x": 3.25, "matrix": [3, 3], "label": "3,3"},
|
||||
{"y": 3, "x": 4.25, "matrix": [3, 4], "label": "3,4"},
|
||||
{"y": 3, "x": 5.25, "matrix": [3, 5], "label": "3,5"},
|
||||
{"y": 3, "x": 6.25, "matrix": [3, 6], "label": "3,6"},
|
||||
{"y": 3, "x": 7.25, "matrix": [3, 7], "label": "3,7"},
|
||||
{"y": 3, "x": 8.25, "matrix": [3, 8], "label": "3,8"},
|
||||
{"y": 3, "x": 9.25, "matrix": [3, 9], "label": "3,9"},
|
||||
{"y": 3, "x": 10.25, "matrix": [3, 10], "label": "3,10"},
|
||||
{"y": 3, "x": 11.25, "matrix": [3, 11], "label": "3,11"},
|
||||
{"y": 3, "x": 12.25, "matrix": [3, 12], "w": 1.75, "label": "3,12"},
|
||||
{"y": 3, "x": 14, "matrix": [3, 14], "label": "3,14"},
|
||||
{"y": 4, "x": 0, "matrix": [4, 0], "w": 1.25, "label": "4,0"},
|
||||
{"y": 4, "x": 1.25, "matrix": [4, 1], "w": 1.25, "label": "4,1"},
|
||||
{"y": 4, "x": 2.5, "matrix": [4, 2], "w": 1.25, "label": "4,2"},
|
||||
{"y": 4, "x": 4, "matrix": [4, 4], "label": "4,4"},
|
||||
{"y": 4, "x": 5, "matrix": [4, 5], "w": 2.25, "label": "4,5"},
|
||||
{"y": 4, "x": 7, "matrix": [4, 7], "label": "4,7"},
|
||||
{"y": 4, "x": 8, "matrix": [4, 9], "w": 3, "label": "4,9"},
|
||||
{"y": 4, "x": 10, "matrix": [4, 10], "w": 1.25, "label": "4,10"},
|
||||
{"y": 4, "x": 11.25, "matrix": [4, 11], "w": 1.25, "label": "4,11"},
|
||||
{"y": 4, "x": 12.5, "matrix": [4, 12], "w": 1.25, "label": "4,12"},
|
||||
{"y": 4, "x": 13.75, "matrix": [4, 14], "w": 1.25, "label": "4,14"}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
155
keyboards/nachie/rnd60/keyboard.json
Normal file
155
keyboards/nachie/rnd60/keyboard.json
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
{
|
||||
"keyboard_name": "RND60",
|
||||
"manufacturer": "Nachie",
|
||||
"board": "GENERIC_RP_RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"processor": "RP2040",
|
||||
"usb": {
|
||||
"vid": "0x4B43",
|
||||
"pid": "0x5336",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"url": "https://rndkbd.com",
|
||||
"maintainer": "nachie",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"rgblight": false,
|
||||
"encoder": false,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["GP21", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0", "GP15", "GP14", "GP13", "GP12", "GP11", "GP10", "GP8", "GP9"],
|
||||
"rows": ["GP28", "GP27", "GP20", "GP6", "GP7"]
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "GP29",
|
||||
"driver": "vendor"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ws2812",
|
||||
"led_count": 16,
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"rainbow_moving_chevron":true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_wide": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_cross": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_nexus": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"splash": true,
|
||||
"solid_splash": true,
|
||||
"solid_multisplash": true,
|
||||
"pixel_rain": true,
|
||||
"pixel_fractal": true
|
||||
}
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"y": 0, "x": 0, "matrix": [0, 0], "label": "0,0"},
|
||||
{"y": 0, "x": 1, "matrix": [0, 1], "label": "0,1"},
|
||||
{"y": 0, "x": 2, "matrix": [0, 2], "label": "0,2"},
|
||||
{"y": 0, "x": 3, "matrix": [0, 3], "label": "0,3"},
|
||||
{"y": 0, "x": 4, "matrix": [0, 4], "label": "0,4"},
|
||||
{"y": 0, "x": 5, "matrix": [0, 5], "label": "0,5"},
|
||||
{"y": 0, "x": 6, "matrix": [0, 6], "label": "0,6"},
|
||||
{"y": 0, "x": 7, "matrix": [0, 7], "label": "0,7"},
|
||||
{"y": 0, "x": 8, "matrix": [0, 8], "label": "0,8"},
|
||||
{"y": 0, "x": 9, "matrix": [0, 9], "label": "0,9"},
|
||||
{"y": 0, "x": 10, "matrix": [0, 10], "label": "0,10"},
|
||||
{"y": 0, "x": 11, "matrix": [0, 11], "label": "0,11"},
|
||||
{"y": 0, "x": 12, "matrix": [0, 12], "label": "0,12"},
|
||||
{"y": 0, "x": 13, "matrix": [0, 13], "label": "0,13"},
|
||||
{"y": 0, "x": 14, "matrix": [0, 14], "label": "0,14"},
|
||||
{"y": 1, "x": 0, "matrix": [1, 0], "w": 1.5, "label": "1,0"},
|
||||
{"y": 1, "x": 1.5, "matrix": [1, 1], "label": "1,1"},
|
||||
{"y": 1, "x": 2.5, "matrix": [1, 2], "label": "1,2"},
|
||||
{"y": 1, "x": 3.5, "matrix": [1, 3], "label": "1,3"},
|
||||
{"y": 1, "x": 4.5, "matrix": [1, 4], "label": "1,4"},
|
||||
{"y": 1, "x": 5.5, "matrix": [1, 5], "label": "1,5"},
|
||||
{"y": 1, "x": 6.5, "matrix": [1, 6], "label": "1,6"},
|
||||
{"y": 1, "x": 7.5, "matrix": [1, 7], "label": "1,7"},
|
||||
{"y": 1, "x": 8.5, "matrix": [1, 8], "label": "1,8"},
|
||||
{"y": 1, "x": 9.5, "matrix": [1, 9], "label": "1,9"},
|
||||
{"y": 1, "x": 10.5, "matrix": [1, 10], "label": "1,10"},
|
||||
{"y": 1, "x": 11.5, "matrix": [1, 11], "label": "1,11"},
|
||||
{"y": 1, "x": 12.5, "matrix": [1, 12], "label": "1,12"},
|
||||
{"y": 1, "x": 13.5, "matrix": [1, 14], "w": 1.5, "label": "1,14"},
|
||||
{"y": 2, "x": 0, "matrix": [2, 0], "w": 1.75, "label": "2,0"},
|
||||
{"y": 2, "x": 1.75, "matrix": [2, 1], "label": "2,1"},
|
||||
{"y": 2, "x": 2.75, "matrix": [2, 2], "label": "2,2"},
|
||||
{"y": 2, "x": 3.75, "matrix": [2, 3], "label": "2,3"},
|
||||
{"y": 2, "x": 4.75, "matrix": [2, 4], "label": "2,4"},
|
||||
{"y": 2, "x": 5.75, "matrix": [2, 5], "label": "2,5"},
|
||||
{"y": 2, "x": 6.75, "matrix": [2, 6], "label": "2,6"},
|
||||
{"y": 2, "x": 7.75, "matrix": [2, 7], "label": "2,7"},
|
||||
{"y": 2, "x": 8.75, "matrix": [2, 8], "label": "2,8"},
|
||||
{"y": 2, "x": 9.75, "matrix": [2, 9], "label": "2,9"},
|
||||
{"y": 2, "x": 10.75, "matrix": [2, 10], "label": "2,10"},
|
||||
{"y": 2, "x": 11.75, "matrix": [2, 11], "label": "2,11"},
|
||||
{"y": 2, "x": 12.75, "matrix": [2, 12], "label": "2,12"},
|
||||
{"y": 2, "x": 12.75, "matrix": [2, 13], "w": 2.25, "label": "2,13"},
|
||||
{"y": 3, "x": 0, "matrix": [3, 0], "w": 1.25, "label": "3,0"},
|
||||
{"y": 3, "x": 1.25, "matrix": [3, 1], "label": "3,1"},
|
||||
{"y": 3, "x": 2.25, "matrix": [3, 2], "label": "3,2"},
|
||||
{"y": 3, "x": 3.25, "matrix": [3, 3], "label": "3,3"},
|
||||
{"y": 3, "x": 4.25, "matrix": [3, 4], "label": "3,4"},
|
||||
{"y": 3, "x": 5.25, "matrix": [3, 5], "label": "3,5"},
|
||||
{"y": 3, "x": 6.25, "matrix": [3, 6], "label": "3,6"},
|
||||
{"y": 3, "x": 7.25, "matrix": [3, 7], "label": "3,7"},
|
||||
{"y": 3, "x": 8.25, "matrix": [3, 8], "label": "3,8"},
|
||||
{"y": 3, "x": 9.25, "matrix": [3, 9], "label": "3,9"},
|
||||
{"y": 3, "x": 10.25, "matrix": [3, 10], "label": "3,10"},
|
||||
{"y": 3, "x": 11.25, "matrix": [3, 11], "label": "3,11"},
|
||||
{"y": 3, "x": 12.25, "matrix": [3, 12], "w": 1.75, "label": "3,12"},
|
||||
{"y": 3, "x": 14, "matrix": [3, 14], "label": "3,14"},
|
||||
{"y": 4, "x": 0, "matrix": [4, 0], "w": 1.25, "label": "4,0"},
|
||||
{"y": 4, "x": 1.25, "matrix": [4, 1], "w": 1.25, "label": "4,1"},
|
||||
{"y": 4, "x": 2.5, "matrix": [4, 2], "w": 1.25, "label": "4,2"},
|
||||
{"y": 4, "x": 4, "matrix": [4, 4], "label": "4,4"},
|
||||
{"y": 4, "x": 5, "matrix": [4, 5], "w": 2.25, "label": "4,5"},
|
||||
{"y": 4, "x": 7, "matrix": [4, 7], "label": "4,7"},
|
||||
{"y": 4, "x": 8, "matrix": [4, 9], "w": 3, "label": "4,9"},
|
||||
{"y": 4, "x": 10, "matrix": [4, 10], "w": 1.25, "label": "4,10"},
|
||||
{"y": 4, "x": 11.25, "matrix": [4, 11], "w": 1.25, "label": "4,11"},
|
||||
{"y": 4, "x": 12.5, "matrix": [4, 12], "w": 1.25, "label": "4,12"},
|
||||
{"y": 4, "x": 13.75, "matrix": [4, 14], "w": 1.25, "label": "4,14"}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
54
keyboards/nachie/rnd60/keymaps/default/keymap.c
Normal file
54
keyboards/nachie/rnd60/keymaps/default/keymap.c
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
Copyright 2024 nachie
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT(
|
||||
KC_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_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_NUBS, KC_ENT,
|
||||
KC_LSFT, KC_NUHS, 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_LCTL, KC_LGUI, KC_LALT, KC_VOLD, KC_SPC, KC_MPLY, KC_SPC, KC_VOLU, KC_RALT, KC_LGUI, KC_LCTL
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[2] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[3] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
|
||||
};
|
||||
9
keyboards/nachie/rnd60/keymaps/vial/config.h
Normal file
9
keyboards/nachie/rnd60/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0xEB, 0x02, 0x48, 0xB5, 0x37, 0x0B, 0x55, 0x7B}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
|
||||
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
54
keyboards/nachie/rnd60/keymaps/vial/keymap.c
Normal file
54
keyboards/nachie/rnd60/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
Copyright 2024 nachie
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT(
|
||||
KC_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_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_NUBS, KC_ENT,
|
||||
KC_LSFT, KC_NUHS, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LGUI, KC_APP, KC_LCTL
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[2] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[3] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
|
||||
};
|
||||
3
keyboards/nachie/rnd60/keymaps/vial/rules.mk
Normal file
3
keyboards/nachie/rnd60/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
VIALRGB_ENABLE = yes
|
||||
346
keyboards/nachie/rnd60/keymaps/vial/vial.json
Normal file
346
keyboards/nachie/rnd60/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,346 @@
|
|||
{
|
||||
"name": "RND60",
|
||||
"vendorId": "0x4B43",
|
||||
"productId": "0x5345",
|
||||
"lighting": "vialrgb",
|
||||
"matrix": {
|
||||
"rows": 5,
|
||||
"cols": 15
|
||||
},
|
||||
"layouts": {
|
||||
"labels": [
|
||||
"Split Backspace",
|
||||
["Enter", "ANSI", "ISO"],
|
||||
"Split Left Shift",
|
||||
"Split Right Shift",
|
||||
["Space", "6.25u", "3-1-3 Split", "Small Split", "10u", "7u"]
|
||||
],
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"x": 2.5,
|
||||
"c": "#777777"
|
||||
},
|
||||
"0,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
"0,5",
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
"0,9",
|
||||
"0,10",
|
||||
"0,11",
|
||||
"0,12",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2
|
||||
},
|
||||
"0,14\n\n\n0,0",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"0,13\n\n\n0,1",
|
||||
"0,14\n\n\n0,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"1,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,1",
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
"1,8",
|
||||
"1,9",
|
||||
"1,10",
|
||||
"1,11",
|
||||
"1,12",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"1,14\n\n\n1,0",
|
||||
{
|
||||
"x": 1.75,
|
||||
"c": "#777777",
|
||||
"w": 1.25,
|
||||
"h": 2,
|
||||
"w2": 1.5,
|
||||
"h2": 1,
|
||||
"x2": -0.25
|
||||
},
|
||||
"2,13\n\n\n1,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.5,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"2,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,1",
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
"2,8",
|
||||
"2,9",
|
||||
"2,10",
|
||||
"2,11",
|
||||
{
|
||||
"c": "#777777",
|
||||
"w": 2.25
|
||||
},
|
||||
"2,13\n\n\n1,0",
|
||||
{
|
||||
"x": 0.75,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,12\n\n\n1,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"3,0\n\n\n2,1",
|
||||
"3,1\n\n\n2,1",
|
||||
{
|
||||
"x": 0.25,
|
||||
"w": 2.25
|
||||
},
|
||||
"3,0\n\n\n2,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,2",
|
||||
"3,3",
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
"3,7",
|
||||
"3,8",
|
||||
"3,9",
|
||||
"3,10",
|
||||
"3,11",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2.75
|
||||
},
|
||||
"3,12\n\n\n3,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"w": 1.75
|
||||
},
|
||||
"3,12\n\n\n3,1",
|
||||
"3,14\n\n\n3,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.5,
|
||||
"w": 1.25
|
||||
},
|
||||
"4,0\n\n\n4,0",
|
||||
{
|
||||
"x": -1.25,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,0\n\n\n4,4",
|
||||
{
|
||||
"x": -1.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,0\n\n\n4,1",
|
||||
{
|
||||
"x": -1.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,0\n\n\n4,2",
|
||||
{
|
||||
"x": -1.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,0\n\n\n4,3",
|
||||
{
|
||||
"x": -0.25,
|
||||
"w": 1.25
|
||||
},
|
||||
"4,1\n\n\n4,0",
|
||||
{
|
||||
"x": -1
|
||||
},
|
||||
"4,1\n\n\n4,4",
|
||||
{
|
||||
"x": -1
|
||||
},
|
||||
"4,1\n\n\n4,1",
|
||||
{
|
||||
"x": -1
|
||||
},
|
||||
"4,1\n\n\n4,2",
|
||||
{
|
||||
"x": -1
|
||||
},
|
||||
"4,1\n\n\n4,3",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,2\n\n\n4,0",
|
||||
{
|
||||
"x": -1.25,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,2\n\n\n4,4",
|
||||
{
|
||||
"x": -1.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,2\n\n\n4,1",
|
||||
{
|
||||
"x": -1.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,2\n\n\n4,2",
|
||||
{
|
||||
"x": -1.5,
|
||||
"c": "#cccccc",
|
||||
"w": 10
|
||||
},
|
||||
"4,7\n\n\n4,3",
|
||||
{
|
||||
"x": -8.75,
|
||||
"w": 6.25
|
||||
},
|
||||
"4,7\n\n\n4,0",
|
||||
{
|
||||
"x": -6,
|
||||
"w": 7
|
||||
},
|
||||
"4,7\n\n\n4,4",
|
||||
{
|
||||
"x": -7,
|
||||
"w": 3
|
||||
},
|
||||
"4,5\n\n\n4,1",
|
||||
{
|
||||
"x": -3,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"4,4\n\n\n4,2",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 2.25
|
||||
},
|
||||
"4,5\n\n\n4,2",
|
||||
{
|
||||
"x": -0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"4,7\n\n\n4,1",
|
||||
{
|
||||
"x": -0.75,
|
||||
"c": "#cccccc",
|
||||
"w": 2.75
|
||||
},
|
||||
"4,9\n\n\n4,2",
|
||||
{
|
||||
"x": -2,
|
||||
"w": 3
|
||||
},
|
||||
"4,9\n\n\n4,1",
|
||||
{
|
||||
"x": -1,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"4,10\n\n\n4,0",
|
||||
{
|
||||
"x": -1.25
|
||||
},
|
||||
"4,10\n\n\n4,2",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,11\n\n\n4,4",
|
||||
{
|
||||
"x": -1.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,11\n\n\n4,1",
|
||||
{
|
||||
"x": -1.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,11\n\n\n4,2",
|
||||
{
|
||||
"x": -1.25,
|
||||
"w": 1.25
|
||||
},
|
||||
"4,11\n\n\n4,0",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,12\n\n\n4,0",
|
||||
{
|
||||
"x": -1.25
|
||||
},
|
||||
"4,12\n\n\n4,4",
|
||||
{
|
||||
"x": -1
|
||||
},
|
||||
"4,12\n\n\n4,1",
|
||||
{
|
||||
"x": -1
|
||||
},
|
||||
"4,12\n\n\n4,2",
|
||||
{
|
||||
"x": -1
|
||||
},
|
||||
"4,12\n\n\n4,3",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"4,14\n\n\n4,4",
|
||||
{
|
||||
"x": -1.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,14\n\n\n4,1",
|
||||
{
|
||||
"x": -1.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,14\n\n\n4,2",
|
||||
{
|
||||
"x": -1.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"4,14\n\n\n4,3",
|
||||
{
|
||||
"x": -1.25,
|
||||
"w": 1.25
|
||||
},
|
||||
"4,14\n\n\n4,0"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
38
keyboards/nachie/rnd60/rnd60.c
Normal file
38
keyboards/nachie/rnd60/rnd60.c
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
Copyright 2024 nachie
|
||||
|
||||
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 "quantum.h"
|
||||
|
||||
led_config_t g_led_config = { {
|
||||
{ NO_LED, 0, NO_LED, 1, NO_LED, 2, NO_LED, NO_LED, 3, NO_LED, 4, NO_LED, 5, NO_LED, NO_LED },
|
||||
{ 6, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 7 },
|
||||
{ 8, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
|
||||
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 9 },
|
||||
{ NO_LED, NO_LED, 10, NO_LED, 11, 12, NO_LED, NO_LED, 13, 14, NO_LED, 15, NO_LED, NO_LED, NO_LED }
|
||||
}, {
|
||||
{ 16,0 }, { 49,0 }, { 81,0 }, { 130,0 }, { 163,0 }, { 195,0 },
|
||||
{ 4,16 }, { 224,16 },
|
||||
{ 6,32 },
|
||||
{ 224,48 },
|
||||
{ 16,64 }, { 51,64 }, { 79,64 }, { 120,64 }, { 153,64 }, { 204,64 }
|
||||
}, {
|
||||
1, 1, 1, 1, 1, 1,
|
||||
1, 1,
|
||||
1,
|
||||
1,
|
||||
1, 1, 1, 1, 1, 1
|
||||
} };
|
||||
1
keyboards/nachie/rnd60/rules.mk
Normal file
1
keyboards/nachie/rnd60/rules.mk
Normal file
|
|
@ -0,0 +1 @@
|
|||
# This file is intentionally left blank
|
||||
26
keyboards/nachie/subtext/chconf.h
Normal file
26
keyboards/nachie/subtext/chconf.h
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
Copyright 2024 Nachie
|
||||
|
||||
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 CH_CFG_ST_FREQUENCY 10000
|
||||
|
||||
#define CH_CFG_OPTIMIZE_SPEED FALSE
|
||||
|
||||
#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
|
||||
|
||||
#include_next <chconf.h>
|
||||
46
keyboards/nachie/subtext/config.h
Normal file
46
keyboards/nachie/subtext/config.h
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
Copyright 2024 nachie
|
||||
|
||||
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
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
/* Oled config */
|
||||
#define OLED_DISPLAY_ADDRESS 0x3C
|
||||
#define I2C1_SCL_PIN B6
|
||||
#define I2C1_SDA_PIN B7
|
||||
#define I2C1_SCL_PAL_MODE 1
|
||||
#define I2C1_SDA_PAL_MODE 1
|
||||
|
||||
#define OLED_TIMEOUT 60000 // Turns off the OLED screen after x ms of keyboard inactivity. Helps reduce OLED Burn-in. Set to 0 to disable.
|
||||
#define OLED_BRIGHTNESS 50 // The default brightness level of the OLED, from 0 to 255.
|
||||
#define OLED_UPDATE_INTERVAL 16 // limits in milliseconds how frequently the OLED updates. Calculation 1000/fps (increases keyboard responsiveness)
|
||||
|
||||
#endif
|
||||
|
||||
/* I2c Timings at 48mhz - Fast mode 400KHz */
|
||||
// #define I2C1_TIMINGR_PRESC 2U
|
||||
// #define I2C1_TIMINGR_SCLDEL 1U
|
||||
// #define I2C1_TIMINGR_SDADEL 0U
|
||||
// #define I2C1_TIMINGR_SCLH 9U
|
||||
// #define I2C1_TIMINGR_SCLL 26U
|
||||
|
||||
/* I2c Timings at 48mhz - Fast mode plus 1MHz */
|
||||
#define I2C1_TIMINGR_PRESC 0x00U
|
||||
#define I2C1_TIMINGR_SCLDEL 0x03U
|
||||
#define I2C1_TIMINGR_SDADEL 0x01U
|
||||
#define I2C1_TIMINGR_SCLH 0x03U
|
||||
#define I2C1_TIMINGR_SCLL 0x09U
|
||||
22
keyboards/nachie/subtext/halconf.h
Normal file
22
keyboards/nachie/subtext/halconf.h
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright 2024 nachie
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_I2C TRUE
|
||||
|
||||
#include_next <halconf.h>
|
||||
83
keyboards/nachie/subtext/info.json
Normal file
83
keyboards/nachie/subtext/info.json
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
{
|
||||
"keyboard_name": "Subtext",
|
||||
"manufacturer": "Nachie",
|
||||
"usb": {
|
||||
"vid": "0x4B43",
|
||||
"pid": "0x5354",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"url": "https://littlecraftery.com/products/subtext",
|
||||
"maintainer": "nachie",
|
||||
"bootloader": "stm32-dfu",
|
||||
"processor": "STM32F072",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "h": 0.75, "label": "0,0", "w": 1.0357, "y": 0.0, "x": 0},
|
||||
{"matrix": [1, 0], "h": 0.75, "label": "1,0", "w": 1.0357, "y": 0.0, "x": 1.03},
|
||||
{"matrix": [0, 1], "h": 0.75, "label": "0,1", "w": 1.0357, "y": 0.0, "x": 2.0700000000000003},
|
||||
{"matrix": [1, 1], "h": 0.75, "label": "1,1", "w": 1.0357, "y": 0.0, "x": 3.1},
|
||||
{"matrix": [0, 3], "h": 0.75, "label": "0,3", "w": 1.0357, "y": 0.0, "x": 6.46},
|
||||
{"matrix": [1, 3], "h": 0.75, "label": "1,3", "w": 1.0357, "y": 0.0, "x": 7.5},
|
||||
{"matrix": [0, 4], "h": 0.75, "label": "0,4", "w": 1.0357, "y": 0.0, "x": 8.530000000000001},
|
||||
{"matrix": [1, 4], "h": 0.75, "label": "1,4", "w": 1.0357, "y": 0.0, "x": 9.57},
|
||||
{"matrix": [2, 0], "h": 0.75, "label": "2,0", "w": 1.0357, "y": 1.0, "x": 0},
|
||||
{"matrix": [3, 0], "h": 0.75, "label": "3,0", "w": 1.0357, "y": 1.0, "x": 1.03},
|
||||
{"matrix": [2, 1], "h": 0.75, "label": "2,1", "w": 1.0357, "y": 1.0, "x": 2.0700000000000003},
|
||||
{"matrix": [3, 1], "h": 0.75, "label": "3,1", "w": 1.0357, "y": 1.0, "x": 3.1},
|
||||
{"matrix": [2, 2], "h": 0.75, "label": "2,2", "w": 1.0357, "y": 1.0, "x": 4.140000000000001},
|
||||
{"matrix": [3, 2], "h": 0.75, "label": "3,2", "w": 1.0357, "y": 1.0, "x": 5.180000000000001},
|
||||
{"matrix": [2, 3], "h": 0.75, "label": "2,3", "w": 1.0357, "y": 1.0, "x": 6.21},
|
||||
{"matrix": [3, 3], "h": 0.75, "label": "3,3", "w": 1.0357, "y": 1.0, "x": 7.250000000000001},
|
||||
{"matrix": [2, 4], "h": 0.75, "label": "2,4", "w": 1.0357, "y": 1.0, "x": 8.280000000000001},
|
||||
{"matrix": [3, 4], "h": 0.75, "label": "3,4", "w": 1.0357, "y": 1.0, "x": 9.32},
|
||||
{"matrix": [4, 0], "h": 0.75, "label": "4,0", "w": 1.0357, "y": 1.75, "x": 0.25},
|
||||
{"matrix": [5, 0], "h": 0.75, "label": "5,0", "w": 1.0357, "y": 1.75, "x": 1.28},
|
||||
{"matrix": [4, 1], "h": 0.75, "label": "4,1", "w": 1.0357, "y": 1.75, "x": 2.3200000000000003},
|
||||
{"matrix": [5, 1], "h": 0.75, "label": "5,1", "w": 1.0357, "y": 1.75, "x": 3.35},
|
||||
{"matrix": [4, 2], "h": 0.75, "label": "4,2", "w": 1.0357, "y": 1.75, "x": 4.390000000000001},
|
||||
{"matrix": [5, 2], "h": 0.75, "label": "5,2", "w": 1.0357, "y": 1.75, "x": 5.430000000000001},
|
||||
{"matrix": [4, 3], "h": 0.75, "label": "4,3", "w": 1.0357, "y": 1.75, "x": 6.46},
|
||||
{"matrix": [5, 3], "h": 0.75, "label": "5,3", "w": 1.0357, "y": 1.75, "x": 7.500000000000001},
|
||||
{"matrix": [4, 4], "h": 0.75, "label": "4,4", "w": 1.0357, "y": 1.75, "x": 8.530000000000001},
|
||||
{"matrix": [5, 4], "h": 0.75, "label": "5,4", "w": 1.0357, "y": 1.75, "x": 9.57},
|
||||
{"matrix": [7, 0], "h": 0.75, "label": "7,0", "w": 1.0357, "y": 2.5, "x": 0.5},
|
||||
{"matrix": [6, 1], "h": 0.75, "label": "6,1", "w": 1.0357, "y": 2.5, "x": 1.53},
|
||||
{"matrix": [7, 1], "h": 0.75, "label": "7,1", "w": 1.0357, "y": 2.5, "x": 2.5700000000000003},
|
||||
{"matrix": [6, 2], "h": 0.75, "label": "6,2", "w": 1.0357, "y": 2.5, "x": 3.6},
|
||||
{"matrix": [7, 2], "h": 0.75, "label": "7,2", "w": 1.0357, "y": 2.5, "x": 4.640000000000001},
|
||||
{"matrix": [6, 3], "h": 0.75, "label": "6,3", "w": 1.0357, "y": 2.5, "x": 5.680000000000001},
|
||||
{"matrix": [7, 3], "h": 0.75, "label": "7,3", "w": 1.0357, "y": 2.5, "x": 6.71},
|
||||
{"matrix": [6, 4], "h": 0.75, "label": "6,4", "w": 1.0357, "y": 2.5, "x": 7.750000000000001},
|
||||
{"matrix": [7, 4], "h": 0.75, "label": "7,4", "w": 1.0357, "y": 2.5, "x": 8.780000000000001},
|
||||
{"matrix": [8, 0], "h": 0.75, "label": "8,0", "w": 1.0357, "y": 3.25, "x": 1.25},
|
||||
{"matrix": [9, 0], "h": 0.75, "label": "9,0", "w": 1.0357, "y": 3.25, "x": 2.2800000000000002},
|
||||
{"matrix": [8, 1], "h": 0.75, "label": "8,1", "w": 1.0357, "y": 3.25, "x": 3.3200000000000003},
|
||||
{"matrix": [9, 1], "h": 0.75, "label": "9,1", "w": 1.0357, "y": 3.25, "x": 4.3500000000000005},
|
||||
{"matrix": [8, 2], "h": 0.75, "label": "8,2", "w": 1.0357, "y": 3.25, "x": 5.390000000000001},
|
||||
{"matrix": [9, 2], "h": 0.75, "label": "9,2", "w": 1.0357, "y": 3.25, "x": 6.430000000000001},
|
||||
{"matrix": [8, 3], "h": 0.75, "label": "8,3", "w": 1.0357, "y": 3.25, "x": 7.46},
|
||||
{"matrix": [9, 3], "h": 0.75, "label": "9,3", "w": 1.0357, "y": 3.25, "x": 8.5}
|
||||
]
|
||||
}
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"rgblight": false,
|
||||
"encoder": false,
|
||||
"oled": true,
|
||||
"wpm": true
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["A3", "A9", "A8", "B12", "B14"],
|
||||
"rows": ["A2", "A4", "C13", "B5", "B9", "B3", "B4", "B8", "A15", "A10"]
|
||||
}
|
||||
}
|
||||
83
keyboards/nachie/subtext/keyboard.json
Normal file
83
keyboards/nachie/subtext/keyboard.json
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
{
|
||||
"keyboard_name": "Subtext",
|
||||
"manufacturer": "Nachie",
|
||||
"usb": {
|
||||
"vid": "0x4B43",
|
||||
"pid": "0x5354",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"url": "https://littlecraftery.com/products/subtext",
|
||||
"maintainer": "nachie",
|
||||
"bootloader": "stm32-dfu",
|
||||
"processor": "STM32F072",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "h": 0.75, "label": "0,0", "w": 1.0357, "y": 0.0, "x": 0},
|
||||
{"matrix": [1, 0], "h": 0.75, "label": "1,0", "w": 1.0357, "y": 0.0, "x": 1.03},
|
||||
{"matrix": [0, 1], "h": 0.75, "label": "0,1", "w": 1.0357, "y": 0.0, "x": 2.0700000000000003},
|
||||
{"matrix": [1, 1], "h": 0.75, "label": "1,1", "w": 1.0357, "y": 0.0, "x": 3.1},
|
||||
{"matrix": [0, 3], "h": 0.75, "label": "0,3", "w": 1.0357, "y": 0.0, "x": 6.46},
|
||||
{"matrix": [1, 3], "h": 0.75, "label": "1,3", "w": 1.0357, "y": 0.0, "x": 7.5},
|
||||
{"matrix": [0, 4], "h": 0.75, "label": "0,4", "w": 1.0357, "y": 0.0, "x": 8.530000000000001},
|
||||
{"matrix": [1, 4], "h": 0.75, "label": "1,4", "w": 1.0357, "y": 0.0, "x": 9.57},
|
||||
{"matrix": [2, 0], "h": 0.75, "label": "2,0", "w": 1.0357, "y": 1.0, "x": 0},
|
||||
{"matrix": [3, 0], "h": 0.75, "label": "3,0", "w": 1.0357, "y": 1.0, "x": 1.03},
|
||||
{"matrix": [2, 1], "h": 0.75, "label": "2,1", "w": 1.0357, "y": 1.0, "x": 2.0700000000000003},
|
||||
{"matrix": [3, 1], "h": 0.75, "label": "3,1", "w": 1.0357, "y": 1.0, "x": 3.1},
|
||||
{"matrix": [2, 2], "h": 0.75, "label": "2,2", "w": 1.0357, "y": 1.0, "x": 4.140000000000001},
|
||||
{"matrix": [3, 2], "h": 0.75, "label": "3,2", "w": 1.0357, "y": 1.0, "x": 5.180000000000001},
|
||||
{"matrix": [2, 3], "h": 0.75, "label": "2,3", "w": 1.0357, "y": 1.0, "x": 6.21},
|
||||
{"matrix": [3, 3], "h": 0.75, "label": "3,3", "w": 1.0357, "y": 1.0, "x": 7.250000000000001},
|
||||
{"matrix": [2, 4], "h": 0.75, "label": "2,4", "w": 1.0357, "y": 1.0, "x": 8.280000000000001},
|
||||
{"matrix": [3, 4], "h": 0.75, "label": "3,4", "w": 1.0357, "y": 1.0, "x": 9.32},
|
||||
{"matrix": [4, 0], "h": 0.75, "label": "4,0", "w": 1.0357, "y": 1.75, "x": 0.25},
|
||||
{"matrix": [5, 0], "h": 0.75, "label": "5,0", "w": 1.0357, "y": 1.75, "x": 1.28},
|
||||
{"matrix": [4, 1], "h": 0.75, "label": "4,1", "w": 1.0357, "y": 1.75, "x": 2.3200000000000003},
|
||||
{"matrix": [5, 1], "h": 0.75, "label": "5,1", "w": 1.0357, "y": 1.75, "x": 3.35},
|
||||
{"matrix": [4, 2], "h": 0.75, "label": "4,2", "w": 1.0357, "y": 1.75, "x": 4.390000000000001},
|
||||
{"matrix": [5, 2], "h": 0.75, "label": "5,2", "w": 1.0357, "y": 1.75, "x": 5.430000000000001},
|
||||
{"matrix": [4, 3], "h": 0.75, "label": "4,3", "w": 1.0357, "y": 1.75, "x": 6.46},
|
||||
{"matrix": [5, 3], "h": 0.75, "label": "5,3", "w": 1.0357, "y": 1.75, "x": 7.500000000000001},
|
||||
{"matrix": [4, 4], "h": 0.75, "label": "4,4", "w": 1.0357, "y": 1.75, "x": 8.530000000000001},
|
||||
{"matrix": [5, 4], "h": 0.75, "label": "5,4", "w": 1.0357, "y": 1.75, "x": 9.57},
|
||||
{"matrix": [7, 0], "h": 0.75, "label": "7,0", "w": 1.0357, "y": 2.5, "x": 0.5},
|
||||
{"matrix": [6, 1], "h": 0.75, "label": "6,1", "w": 1.0357, "y": 2.5, "x": 1.53},
|
||||
{"matrix": [7, 1], "h": 0.75, "label": "7,1", "w": 1.0357, "y": 2.5, "x": 2.5700000000000003},
|
||||
{"matrix": [6, 2], "h": 0.75, "label": "6,2", "w": 1.0357, "y": 2.5, "x": 3.6},
|
||||
{"matrix": [7, 2], "h": 0.75, "label": "7,2", "w": 1.0357, "y": 2.5, "x": 4.640000000000001},
|
||||
{"matrix": [6, 3], "h": 0.75, "label": "6,3", "w": 1.0357, "y": 2.5, "x": 5.680000000000001},
|
||||
{"matrix": [7, 3], "h": 0.75, "label": "7,3", "w": 1.0357, "y": 2.5, "x": 6.71},
|
||||
{"matrix": [6, 4], "h": 0.75, "label": "6,4", "w": 1.0357, "y": 2.5, "x": 7.750000000000001},
|
||||
{"matrix": [7, 4], "h": 0.75, "label": "7,4", "w": 1.0357, "y": 2.5, "x": 8.780000000000001},
|
||||
{"matrix": [8, 0], "h": 0.75, "label": "8,0", "w": 1.0357, "y": 3.25, "x": 1.25},
|
||||
{"matrix": [9, 0], "h": 0.75, "label": "9,0", "w": 1.0357, "y": 3.25, "x": 2.2800000000000002},
|
||||
{"matrix": [8, 1], "h": 0.75, "label": "8,1", "w": 1.0357, "y": 3.25, "x": 3.3200000000000003},
|
||||
{"matrix": [9, 1], "h": 0.75, "label": "9,1", "w": 1.0357, "y": 3.25, "x": 4.3500000000000005},
|
||||
{"matrix": [8, 2], "h": 0.75, "label": "8,2", "w": 1.0357, "y": 3.25, "x": 5.390000000000001},
|
||||
{"matrix": [9, 2], "h": 0.75, "label": "9,2", "w": 1.0357, "y": 3.25, "x": 6.430000000000001},
|
||||
{"matrix": [8, 3], "h": 0.75, "label": "8,3", "w": 1.0357, "y": 3.25, "x": 7.46},
|
||||
{"matrix": [9, 3], "h": 0.75, "label": "9,3", "w": 1.0357, "y": 3.25, "x": 8.5}
|
||||
]
|
||||
}
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"rgblight": false,
|
||||
"encoder": false,
|
||||
"oled": true,
|
||||
"wpm": true
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["A3", "A9", "A8", "B12", "B14"],
|
||||
"rows": ["A2", "A4", "C13", "B5", "B9", "B3", "B4", "B8", "A15", "A10"]
|
||||
}
|
||||
}
|
||||
27
keyboards/nachie/subtext/keymaps/default/keymap.c
Normal file
27
keyboards/nachie/subtext/keymaps/default/keymap.c
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
Copyright 2024 nachie
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_DOT,
|
||||
KC_LGUI, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_BSPC, KC_RALT, KC_RCTL
|
||||
)
|
||||
};
|
||||
1
keyboards/nachie/subtext/keymaps/default/readme.md
Normal file
1
keyboards/nachie/subtext/keymaps/default/readme.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
The default layout for the nachie SubText
|
||||
8
keyboards/nachie/subtext/keymaps/vial/config.h
Normal file
8
keyboards/nachie/subtext/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x7B, 0x8D, 0x18, 0xFF, 0xE1, 0x74, 0x36, 0xB2}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 5 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 4 }
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue