Merge branch 'vial-kb:vial' into HLB_PoorKoi
This commit is contained in:
commit
ce8c875e71
67 changed files with 4315 additions and 2 deletions
43
keyboards/handwired/replicazeron/common/leds.c
Normal file
43
keyboards/handwired/replicazeron/common/leds.c
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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 "leds.h"
|
||||
#include <stdbool.h>
|
||||
#include "gpio.h"
|
||||
|
||||
//////////// Status LEDs //////////////
|
||||
void init_leds(void) {
|
||||
// Both LEDs off, they have inverted logic
|
||||
gpio_set_pin_output(STATUS_LED_A_PIN);
|
||||
gpio_set_pin_output(STATUS_LED_B_PIN);
|
||||
gpio_write_pin_high(STATUS_LED_A_PIN);
|
||||
gpio_write_pin_high(STATUS_LED_B_PIN);
|
||||
}
|
||||
|
||||
void set_leds(uint8_t highest_active_layer) {
|
||||
// any layer other than 0-3, quit and LEDs off
|
||||
if (highest_active_layer > 3) {
|
||||
gpio_write_pin_high(STATUS_LED_A_PIN);
|
||||
gpio_write_pin_high(STATUS_LED_B_PIN);
|
||||
return;
|
||||
}
|
||||
|
||||
// use bitwise operations to display active layer in binary
|
||||
bool bit1 = !(highest_active_layer & 1);
|
||||
bool bit2 = !(highest_active_layer & 2);
|
||||
gpio_write_pin(STATUS_LED_A_PIN, bit1);
|
||||
gpio_write_pin(STATUS_LED_B_PIN, bit2);
|
||||
}
|
||||
23
keyboards/handwired/replicazeron/common/leds.h
Normal file
23
keyboards/handwired/replicazeron/common/leds.h
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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 <stdint.h>
|
||||
|
||||
void init_leds(void);
|
||||
|
||||
void set_leds(uint8_t active_layer);
|
||||
96
keyboards/handwired/replicazeron/common/oled.c
Normal file
96
keyboards/handwired/replicazeron/common/oled.c
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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 "oled.h"
|
||||
#include "oled_driver.h"
|
||||
#include "progmem.h"
|
||||
#include "util.h"
|
||||
|
||||
uint8_t shiftbits =32 ;
|
||||
|
||||
//////////// OLED output helpers //////////////
|
||||
void draw_mode(controller_state_t controller_state) {
|
||||
//draw oled row showing thumbstick mode
|
||||
oled_write_P(PSTR("Mode: "), false);
|
||||
if (controller_state.wasdShiftMode) {
|
||||
oled_write_ln_P(PSTR("WASD + Shift"), false);
|
||||
} else if (controller_state.wasdMode) {
|
||||
oled_write_ln_P(PSTR("WASD"), false);
|
||||
} else {
|
||||
oled_write_ln_P(PSTR("JoyStick"), false);
|
||||
}
|
||||
}
|
||||
|
||||
void draw_wasd_key(wasd_state_t wasd_state) {
|
||||
//draw oled row showing active keypresses emulated from thumbstick
|
||||
const char* keys = "wasd";
|
||||
bool keystates [] = { wasd_state.w, wasd_state.a, wasd_state.s, wasd_state.d };
|
||||
// iterate over keystates
|
||||
for (uint8_t i = 0 ; i < ARRAY_SIZE(keystates); ++i) {
|
||||
if (keystates[i]) {
|
||||
char k = keys[i] ;
|
||||
//bitshift char to upper case
|
||||
if (wasd_state.shift) {
|
||||
k &= ~shiftbits;
|
||||
}
|
||||
oled_write_char(k, false);
|
||||
} else {
|
||||
oled_write_P(PSTR(" "), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void draw_thumb_debug(thumbstick_polar_position_t thumbstick_polar_position) {
|
||||
//draw oled row showing thumbstick direction and distance from center
|
||||
oled_write_P(PSTR("Dir:"), false);
|
||||
oled_write(get_u16_str(thumbstick_polar_position.angle, ' '), false);
|
||||
oled_write_P(PSTR(" Dist:"), false);
|
||||
oled_write_ln(get_u16_str(thumbstick_polar_position.distance, ' '), false);
|
||||
//print registered key codes
|
||||
oled_write_P(PSTR("Keycodes: "), false);
|
||||
draw_wasd_key( wasd_state );
|
||||
}
|
||||
|
||||
//////////// draw OLED output //////////////
|
||||
void draw_oled(controller_state_t controller_state) {
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
|
||||
switch (controller_state.highestActiveLayer) {
|
||||
case _SHOOTER:
|
||||
oled_write_ln_P(PSTR("Shooter"), false);
|
||||
break;
|
||||
|
||||
case _MISC:
|
||||
oled_write_ln_P(PSTR("Misc"), false);
|
||||
break;
|
||||
|
||||
case _SETTINGS:
|
||||
oled_write_ln_P(PSTR("Settings"), false);
|
||||
break;
|
||||
|
||||
default:
|
||||
oled_write_ln_P(PSTR("Default"), false);
|
||||
}
|
||||
|
||||
draw_mode(controller_state);
|
||||
if (controller_state.highestActiveLayer == _SETTINGS ) {
|
||||
draw_thumb_debug(thumbstick_polar_position);
|
||||
}
|
||||
else {
|
||||
oled_write_ln_P(PSTR(" "), false);
|
||||
}
|
||||
oled_write_ln_P(PSTR(" "), false);
|
||||
}
|
||||
34
keyboards/handwired/replicazeron/common/oled.h
Normal file
34
keyboards/handwired/replicazeron/common/oled.h
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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 "replicazeron.h"
|
||||
|
||||
#include <stdint.h>
|
||||
#include "state.h"
|
||||
#include "thumbstick.h"
|
||||
|
||||
uint8_t shiftbits;
|
||||
|
||||
char stringbuffer[8];
|
||||
|
||||
void draw_oled(controller_state_t controller_state);
|
||||
|
||||
void draw_mode(controller_state_t controller_state);
|
||||
|
||||
void draw_thumb_debug(thumbstick_polar_position_t thumbstick_polar_position);
|
||||
|
||||
void draw_wasd_key(wasd_state_t wasd_state);
|
||||
28
keyboards/handwired/replicazeron/common/state.c
Normal file
28
keyboards/handwired/replicazeron/common/state.c
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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 "state.h"
|
||||
|
||||
controller_state_t init_state (void) {
|
||||
controller_state_t controller_state = {
|
||||
.wasdMode = true,
|
||||
.wasdShiftMode = false,
|
||||
.autoRun = false,
|
||||
.highestActiveLayer = 0,
|
||||
};
|
||||
|
||||
return controller_state;
|
||||
}
|
||||
28
keyboards/handwired/replicazeron/common/state.h
Normal file
28
keyboards/handwired/replicazeron/common/state.h
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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 <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
typedef struct {
|
||||
bool wasdMode;
|
||||
bool wasdShiftMode;
|
||||
bool autoRun;
|
||||
uint8_t highestActiveLayer;
|
||||
} controller_state_t;
|
||||
|
||||
controller_state_t init_state(void);
|
||||
111
keyboards/handwired/replicazeron/common/thumbstick.c
Normal file
111
keyboards/handwired/replicazeron/common/thumbstick.c
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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 "thumbstick.h"
|
||||
#include <math.h>
|
||||
#include "action.h"
|
||||
#include "keycode.h"
|
||||
#include "debug.h"
|
||||
|
||||
void init_wasd_state (void) {
|
||||
wasd_state.w = wasd_state.a = wasd_state.s = wasd_state.d = false;
|
||||
last_wasd_state = wasd_state;
|
||||
wasd_state.shift = false;
|
||||
}
|
||||
|
||||
thumbstick_polar_position_t get_thumbstick_polar_position(int16_t x, int16_t y) {
|
||||
static thumbstick_polar_position_t position;
|
||||
|
||||
#ifdef THUMBSTICK_DEBUG
|
||||
dprintf("xN: %4d yN: %4d\n", x, y);
|
||||
#endif
|
||||
|
||||
//transform to carthesian coordinates to polar coordinates
|
||||
//get distance from center as int in range [0-600]
|
||||
position.distance = (double)sqrt((double)x * (double)x + (double)y * (double)y);
|
||||
//get direction as int in range [0 to 359]
|
||||
position.angle = (double)atan2(y, x) * (180 /M_PI) + 180;
|
||||
|
||||
//apply thumbstick rotation const to modify forward direction
|
||||
position.angle = (position.angle + _THUMBSTICK_ROTATION) % 360;
|
||||
|
||||
return position;
|
||||
}
|
||||
|
||||
bool update_keystate(uint16_t angle_from, uint16_t angle_to, uint16_t angle) {
|
||||
return (angle_from < angle && angle <= angle_to);
|
||||
}
|
||||
|
||||
void update_keycode(uint16_t keycode, bool keystate, bool last_keystate) {
|
||||
if (keystate && keystate != last_keystate) {
|
||||
register_code16(keycode);
|
||||
} else if (!keystate) {
|
||||
unregister_code16(keycode);
|
||||
}
|
||||
}
|
||||
|
||||
void thumbstick(controller_state_t controller_state) {
|
||||
xPos = joystick_state.axes[0];
|
||||
yPos = joystick_state.axes[1];
|
||||
|
||||
thumbstick_polar_position = get_thumbstick_polar_position(xPos, yPos);
|
||||
|
||||
#ifdef THUMBSTICK_DEBUG
|
||||
dprintf("distance: %5d angle: %5d\n", thumbstick_polar_position.distance, thumbstick_polar_position.angle);
|
||||
#endif
|
||||
|
||||
// Update WASD state depending on thumbstick position
|
||||
// if thumbstick out of of deadzone
|
||||
if (thumbstick_polar_position.distance >= _DEADZONE) {
|
||||
wasd_state.w = update_keystate( 0, 90, thumbstick_polar_position.angle);
|
||||
// A angle: 45 - 180
|
||||
wasd_state.a = update_keystate( 45, 181, thumbstick_polar_position.angle);
|
||||
// S angle: 135 - 270
|
||||
wasd_state.s = update_keystate(135, 270, thumbstick_polar_position.angle);
|
||||
// D angle: 225 - 359
|
||||
wasd_state.d = update_keystate(225, 359, thumbstick_polar_position.angle);
|
||||
|
||||
if (!wasd_state.w ) {
|
||||
wasd_state.w = update_keystate(315, 360, thumbstick_polar_position.angle);
|
||||
}
|
||||
} else {
|
||||
//reset WASD state when in _DEADZONE
|
||||
init_wasd_state();
|
||||
}
|
||||
|
||||
#ifdef THUMBSTICK_DEBUG
|
||||
dprintf("w: %2d a: %2d s: %2d d: %2d\n", wasd_state.w, wasd_state.a, wasd_state.s, wasd_state.d);
|
||||
#endif
|
||||
|
||||
update_keycode(KC_W, wasd_state.w, last_wasd_state.w);
|
||||
update_keycode(KC_A, wasd_state.a, last_wasd_state.a);
|
||||
update_keycode(KC_S, wasd_state.s, last_wasd_state.s);
|
||||
update_keycode(KC_D, wasd_state.d, last_wasd_state.d);
|
||||
|
||||
last_wasd_state = wasd_state ;
|
||||
|
||||
// handle WASD-Shift mode
|
||||
if (controller_state.wasdShiftMode) {
|
||||
bool Shifted = thumbstick_polar_position.distance > _SHIFTZONE;
|
||||
if (!wasd_state.shift && Shifted) {
|
||||
register_code(KC_LSFT);
|
||||
wasd_state.shift = true;
|
||||
} else if (wasd_state.shift && !Shifted) {
|
||||
unregister_code(KC_LSFT);
|
||||
wasd_state.shift = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
51
keyboards/handwired/replicazeron/common/thumbstick.h
Normal file
51
keyboards/handwired/replicazeron/common/thumbstick.h
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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 <stdint.h>
|
||||
#include "state.h"
|
||||
#include "quantum.h"
|
||||
|
||||
int16_t xPos;
|
||||
int16_t yPos;
|
||||
|
||||
typedef struct {
|
||||
uint16_t angle;
|
||||
uint16_t distance;
|
||||
} thumbstick_polar_position_t;
|
||||
|
||||
typedef struct {
|
||||
bool w;
|
||||
bool a;
|
||||
bool s;
|
||||
bool d;
|
||||
bool shift;
|
||||
} wasd_state_t;
|
||||
|
||||
thumbstick_polar_position_t thumbstick_polar_position ;
|
||||
|
||||
wasd_state_t wasd_state;
|
||||
wasd_state_t last_wasd_state;
|
||||
|
||||
void init_wasd_state(void);
|
||||
|
||||
thumbstick_polar_position_t get_thumbstick_polar_position(int16_t x, int16_t y);
|
||||
|
||||
bool update_keystate(uint16_t angle_from, uint16_t angle_to, uint16_t angle);
|
||||
|
||||
void update_keycode(uint16_t keycode, bool keystate, bool last_keystate);
|
||||
|
||||
void thumbstick(controller_state_t controller_state);
|
||||
31
keyboards/handwired/replicazeron/config.h
Normal file
31
keyboards/handwired/replicazeron/config.h
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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 THUMBSTICK_DEBUG
|
||||
|
||||
/* joystick configuration */
|
||||
#define JOYSTICK_BUTTON_COUNT 0
|
||||
#define JOYSTICK_AXIS_COUNT 2
|
||||
#define JOYSTICK_AXIS_RESOLUTION 10
|
||||
|
||||
#define _DEADZONE 100 // 0 to _SHIFTZONE-1
|
||||
#define _SHIFTZONE 350 // _DEADZONE+1 to 600
|
||||
#define _THUMBSTICK_ROTATION 100 //degrees, adjusts forward direction
|
||||
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
47
keyboards/handwired/replicazeron/info.json
Normal file
47
keyboards/handwired/replicazeron/info.json
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"manufacturer": "9R",
|
||||
"keyboard_name": "Replicazeron",
|
||||
"maintainer": "9R",
|
||||
"diode_direction": "COL2ROW",
|
||||
"url": "https://github.com/9R/replicazeron",
|
||||
"usb": {
|
||||
"pid": "0x2305",
|
||||
"vid": "0x4142"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label": "K04", "matrix": [0, 0], "x": 1.75, "y": 0.25, "w": 1.25},
|
||||
{"label": "K10", "matrix": [0, 1], "x": 3, "y": 0.25, "w": 1.25},
|
||||
{"label": "K16", "matrix": [0, 2], "x": 4.25, "y": 0.25, "w": 1.25},
|
||||
{"label": "K22", "matrix": [0, 3], "x": 5.5, "y": 0.25, "w": 1.25},
|
||||
{"label": "dwn", "matrix": [0, 4], "x": 9.5, "y": 2, "w": 1.25},
|
||||
{"label": "K03", "matrix": [1, 0], "x": 1.75, "y": 1, "w": 1.25, "h": 1.25},
|
||||
{"label": "K09", "matrix": [1, 1], "x": 3, "y": 1, "w": 1.25, "h": 1.25},
|
||||
{"label": "K15", "matrix": [1, 2], "x": 4.25, "y": 1, "w": 1.25, "h": 1.25},
|
||||
{"label": "K21", "matrix": [1, 3], "x": 5.5, "y": 1, "w": 1.25, "h": 1.25},
|
||||
{"label": "lft", "matrix": [1, 4], "x": 8.25, "y": 1, "w": 1.25},
|
||||
{"label": "K02", "matrix": [2, 0], "x": 1.75, "y": 2.5, "w": 1.25, "h": 1.25},
|
||||
{"label": "K08", "matrix": [2, 1], "x": 3, "y": 2.5, "w": 1.25, "h": 1.25},
|
||||
{"label": "K14", "matrix": [2, 2], "x": 4.25, "y": 2.5, "w": 1.25, "h": 1.25},
|
||||
{"label": "K20", "matrix": [2, 3], "x": 5.5, "y": 2.5, "w": 1.25, "h": 1.25},
|
||||
{"label": "ent", "matrix": [2, 4], "x": 9.5, "y": 1, "w": 1.25},
|
||||
{"label": "K01", "matrix": [3, 0], "x": 1.75, "y": 3.75, "w": 1.25},
|
||||
{"label": "K07", "matrix": [3, 1], "x": 3, "y": 3.75, "w": 1.25},
|
||||
{"label": "K13", "matrix": [3, 2], "x": 4.25, "y": 3.75, "w": 1.25},
|
||||
{"label": "K19", "matrix": [3, 3], "x": 5.5, "y": 3.75, "w": 1.25},
|
||||
{"label": "rgt", "matrix": [3, 4], "x": 10.75, "y": 1, "w": 1.25},
|
||||
{"label": "K00", "matrix": [4, 0], "x": 1.75, "y": 4.75, "w": 1.25},
|
||||
{"label": "K06", "matrix": [4, 1], "x": 3, "y": 4.75, "w": 1.25},
|
||||
{"label": "K12", "matrix": [4, 2], "x": 4.25, "y": 4.75, "w": 1.25},
|
||||
{"label": "K18", "matrix": [4, 3], "x": 5.5, "y": 4.75, "w": 1.25},
|
||||
{"label": "up ", "matrix": [4, 4], "x": 9.5, "y": 0, "w": 1.25},
|
||||
{"label": "K05", "matrix": [5, 0], "x": 0, "y": 2.5, "w": 1.75},
|
||||
{"label": "lyr", "matrix": [5, 1], "x": 7.5, "y": 4.25, "w": 1.5},
|
||||
{"label": "K17", "matrix": [5, 2], "x": 10.75, "y": 4, "w": 1.5},
|
||||
{"label": "K23", "matrix": [5, 3], "x": 6.75, "y": 2.5, "w": 1.5},
|
||||
{"label": "spc", "matrix": [5, 4], "x": 10.75, "y": 3, "w": 1.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
57
keyboards/handwired/replicazeron/keymaps/default/keymap.c
Normal file
57
keyboards/handwired/replicazeron/keymaps/default/keymap.c
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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] = {
|
||||
[_BASE] = LAYOUT(
|
||||
// little | ring | middle | index | 5way-dpad | -finger
|
||||
KC_GRV, KC_ESC, KC_J, KC_M, KC_RIGHT, // up
|
||||
KC_T, KC_3, KC_4, KC_R, KC_ENT, // forward
|
||||
KC_X, KC_LCTL, KC_LCTL, KC_LALT, KC_DOWN, // down
|
||||
KC_LSFT, KC_SPC, KC_C, KC_F, KC_LEFT, // back 2
|
||||
KC_LSFT, KC_6, KC_Z, KC_V, KC_UP, // back 1
|
||||
KC_TAB, TG(_SHOOTER), KC_I, KC_B, KC_P // special
|
||||
// ^side_l | ^case | ^thumb | ^side_r | ^analog click <= special row mapping
|
||||
),
|
||||
|
||||
[_SHOOTER] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_RIGHT,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_DOWN,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_UP,
|
||||
KC_NO, TG(_MISC), KC_NO, KC_NO, KC_P
|
||||
),
|
||||
|
||||
[_MISC] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_RIGHT,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_DOWN,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_UP,
|
||||
KC_NO, TG(_SETTINGS), KC_NO, KC_NO, KC_P
|
||||
),
|
||||
|
||||
[_SETTINGS] = LAYOUT(
|
||||
RGB_M_P, RGB_M_B, RGB_M_K, RGB_M_T, KC_RIGHT,
|
||||
KC_NO, RGB_SAI, RGB_VAI, RGB_HUI, KC_ENT,
|
||||
RGB_TOG, KC_NO, KC_NO, KC_NO , KC_DOWN,
|
||||
EE_CLR, RGB_SAD, RGB_VAD, RGB_HUD, KC_LEFT,
|
||||
QK_BOOT, AUTORUN, JOYMODE, KC_V, KC_UP,
|
||||
RGB_MOD, TO(_BASE), KC_NO, RGB_RMOD, KC_P
|
||||
)
|
||||
};
|
||||
8
keyboards/handwired/replicazeron/keymaps/vial/config.h
Normal file
8
keyboards/handwired/replicazeron/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x3E, 0x15, 0xC1, 0x32, 0xC3, 0xDE, 0xCD, 0x83}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 4, 4 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 3 }
|
||||
57
keyboards/handwired/replicazeron/keymaps/vial/keymap.c
Normal file
57
keyboards/handwired/replicazeron/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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] = {
|
||||
[_BASE] = LAYOUT(
|
||||
// little | ring | middle | index | 5way-dpad | -finger
|
||||
KC_GRV, KC_ESC, KC_J, KC_M, KC_RIGHT, // up
|
||||
KC_T, KC_3, KC_4, KC_R, KC_ENT, // forward
|
||||
KC_X, KC_LCTL, KC_LCTL, KC_LALT, KC_DOWN, // down
|
||||
KC_LSFT, KC_SPC, KC_C, KC_F, KC_LEFT, // back 2
|
||||
KC_LSFT, KC_6, KC_Z, KC_V, KC_UP, // back 1
|
||||
KC_TAB, TG(_SHOOTER), KC_I, KC_B, KC_P // special
|
||||
// ^side_l | ^case | ^thumb | ^side_r | ^analog click <= special row mapping
|
||||
),
|
||||
|
||||
[_SHOOTER] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_RIGHT,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_DOWN,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_UP,
|
||||
KC_NO, TG(_MISC), KC_NO, KC_NO, KC_P
|
||||
),
|
||||
|
||||
[_MISC] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_RIGHT,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_DOWN,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_UP,
|
||||
KC_NO, TG(_SETTINGS), KC_NO, KC_NO, KC_P
|
||||
),
|
||||
|
||||
[_SETTINGS] = LAYOUT(
|
||||
RGB_M_P, RGB_M_B, RGB_M_K, RGB_M_T, KC_RIGHT,
|
||||
KC_NO, RGB_SAI, RGB_VAI, RGB_HUI, KC_ENT,
|
||||
RGB_TOG, KC_NO, KC_NO, KC_NO , KC_DOWN,
|
||||
EE_CLR, RGB_SAD, RGB_VAD, RGB_HUD, KC_LEFT,
|
||||
QK_BOOT, AUTORUN, JOYMODE, KC_V, KC_UP,
|
||||
RGB_MOD, TO(_BASE), KC_NO, RGB_RMOD, KC_P
|
||||
)
|
||||
};
|
||||
5
keyboards/handwired/replicazeron/keymaps/vial/rules.mk
Normal file
5
keyboards/handwired/replicazeron/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
|
||||
COMBO_ENABLE = no
|
||||
QMK_SETTINGS = no
|
||||
133
keyboards/handwired/replicazeron/keymaps/vial/vial.json
Normal file
133
keyboards/handwired/replicazeron/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
{
|
||||
"lighting": "none",
|
||||
"matrix": {
|
||||
"rows": 6,
|
||||
"cols": 5
|
||||
},
|
||||
"layouts": {
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"x": 1.75
|
||||
},
|
||||
"0,0",
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
{
|
||||
"x": 2.5
|
||||
},
|
||||
"0,4"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 1.75,
|
||||
"h": 1.25
|
||||
},
|
||||
"1,0",
|
||||
{
|
||||
"h": 1.25
|
||||
},
|
||||
"1,1",
|
||||
{
|
||||
"h": 1.25
|
||||
},
|
||||
"1,2",
|
||||
{
|
||||
"h": 1.25
|
||||
},
|
||||
"1,3",
|
||||
{
|
||||
"x": 1.5
|
||||
},
|
||||
"4,4",
|
||||
"1,4",
|
||||
"2,4"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 8.25
|
||||
},
|
||||
"3,4"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 1.75,
|
||||
"h": 1.5
|
||||
},
|
||||
"2,0",
|
||||
{
|
||||
"h": 1.5
|
||||
},
|
||||
"2,1",
|
||||
{
|
||||
"h": 1.5
|
||||
},
|
||||
"2,2",
|
||||
{
|
||||
"h": 1.5
|
||||
},
|
||||
"2,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.5,
|
||||
"x": 1.75
|
||||
},
|
||||
"3,0",
|
||||
"3,1",
|
||||
"3,2",
|
||||
"3,3",
|
||||
{
|
||||
"x": 1.5,
|
||||
"h": 1.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"5,4"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 1.75
|
||||
},
|
||||
"4,0",
|
||||
"4,1",
|
||||
"4,2",
|
||||
"4,3",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"5,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": 15,
|
||||
"rx": 0.5,
|
||||
"ry": 3,
|
||||
"y": -0.75,
|
||||
"x": -0.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"5,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"rx": 7,
|
||||
"y": 0.5,
|
||||
"x": 2.75,
|
||||
"w": 1.5
|
||||
},
|
||||
"5,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": -15,
|
||||
"y": -2.25,
|
||||
"x": -1,
|
||||
"w": 1.5
|
||||
},
|
||||
"5,3"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
14
keyboards/handwired/replicazeron/post_rules.mk
Normal file
14
keyboards/handwired/replicazeron/post_rules.mk
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
ifeq ($(strip $(LEDS_ENABLE)), yes)
|
||||
OPT_DEFS += -DLEDS_ENABLE
|
||||
SRC += leds.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(OLED_ENABLE)), yes)
|
||||
SRC += oled.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(THUMBSTICK_ENABLE)), yes)
|
||||
OPT_DEFS += -DTHUMBSTICK_ENABLE
|
||||
SRC += thumbstick.c
|
||||
ANALOG_DRIVER_REQUIRED = yes
|
||||
endif
|
||||
23
keyboards/handwired/replicazeron/promicro/config.h
Normal file
23
keyboards/handwired/replicazeron/promicro/config.h
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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 STATUS_LED_A_PIN D2
|
||||
#define STATUS_LED_B_PIN D3
|
||||
|
||||
#define ANALOG_AXIS_PIN_X F4
|
||||
#define ANALOG_AXIS_PIN_Y F5
|
||||
18
keyboards/handwired/replicazeron/promicro/keyboard.json
Normal file
18
keyboards/handwired/replicazeron/promicro/keyboard.json
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"usb": {
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["C6", "D4", "D7", "E6", "F7"],
|
||||
"rows": ["B1", "B3", "B2", "B6", "B5", "B4"]
|
||||
},
|
||||
"development_board": "promicro",
|
||||
"features": {
|
||||
"bootmagic": false,
|
||||
"console": false,
|
||||
"extrakey": false,
|
||||
"mousekey": false,
|
||||
"nkro": false,
|
||||
"rgblight": false,
|
||||
}
|
||||
}
|
||||
69
keyboards/handwired/replicazeron/readme.md
Normal file
69
keyboards/handwired/replicazeron/readme.md
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
|
||||
# Replicazeron
|
||||
|
||||
This is a config to run a 3dprinted keyboard controller with qmk based on this project:
|
||||
|
||||
https://sites.google.com/view/alvaro-rosati/azeron-keypad-diy-tutorial
|
||||
|
||||
Some additional and redesigned files (i.e. for the OLED-display) can be found in [this repo](https://github.com/9R/replicazeron).
|
||||
|
||||

|
||||
|
||||
[Gallery](https://imgur.com/a/2qlEPVl)
|
||||
|
||||
## Features
|
||||
|
||||
* 23 keys
|
||||
* analog stick with WASD emulation
|
||||
* 5way dpad
|
||||
* 2 status LEDS
|
||||
* 6x WS2812 RGB-LED lighting
|
||||
|
||||
## Supported MCUs
|
||||
|
||||
Currently configs for STM32F103 and atmega32U4 are available, but STM32 is recommended, since the atmega may run out of flash with all features enabled.
|
||||
|
||||
With minor adjustments to Pinconfig it should be possible to use other MCUs that are supported by QMK
|
||||
|
||||
|
||||
## Wirering
|
||||
|
||||
Full schematics can be found in this repo:
|
||||
|
||||
https://github.com/9R/replicazeron_schematics
|
||||
|
||||
### Rows
|
||||
|row| promiro gpios | promicro pin | stm32F103 gpios | color |
|
||||
|---|---------------|--------------|-----------------|---------|
|
||||
| 0 | B1 | 15 | B15 | red |
|
||||
| 1 | B3 | 14 | A8 | blue |
|
||||
| 2 | B2 | 16 | A9 | yellow |
|
||||
| 3 | B6 | 10 | A10 | brown |
|
||||
| 4 | B5 | 9 | A15 | orange |
|
||||
| 5 | B4 | 8 | B3 | green |
|
||||
|
||||
### Columns
|
||||
|col| promiro gpios | promicro pin | stm32F103 gpios | color |
|
||||
|---|---------------|--------------|-----------------|---------|
|
||||
| 0 | C6 | 5 | A7 | white |
|
||||
| 1 | D4 | 4 | A6 | grey |
|
||||
| 2 | D7 | 6 | A5 | violet |
|
||||
| 3 | E6 | 7 | A4 | grey |
|
||||
| 4 | F7 | A0 | B4 | white |
|
||||
|
||||
### Analog
|
||||
| promicro gpio | stm32F103 gpio | pin | color |
|
||||
|---------------|----------------|-----|-------|
|
||||
| GND | GND | GND | white |
|
||||
| VCC | VCC | VCC | red |
|
||||
| F4 | B1 | VRx | brown |
|
||||
| F5 | B0 | VRy | yellow|
|
||||
| | | SW | blue |
|
||||
|
||||
### OLED
|
||||
| promicro gpio | stm32F103 gpio | pin | color |
|
||||
|---------------|----------------|-----|-------|
|
||||
| GND | GND | GND | white |
|
||||
| VCC | VCC | VCC | red |
|
||||
| D4 | B10 | SDA | green |
|
||||
| C6 | B11 | SCL | yellow|
|
||||
103
keyboards/handwired/replicazeron/replicazeron.c
Normal file
103
keyboards/handwired/replicazeron/replicazeron.c
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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 "replicazeron.h"
|
||||
|
||||
controller_state_t controller_state;
|
||||
|
||||
#ifdef JOYSTICK_ENABLE
|
||||
joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = {
|
||||
JOYSTICK_AXIS_IN(ANALOG_AXIS_PIN_X , 0, 512, 1023),
|
||||
JOYSTICK_AXIS_IN(ANALOG_AXIS_PIN_Y , 0, 512, 1023)
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef THUMBSTICK_ENABLE
|
||||
void housekeeping_task_kb(void) {
|
||||
if (controller_state.wasdMode) {
|
||||
thumbstick(controller_state);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void keyboard_post_init_kb(void) {
|
||||
// Customise these values to desired behaviour
|
||||
debug_enable = true;
|
||||
debug_matrix = true;
|
||||
// debug_keyboard = true;
|
||||
// debug_mouse = true;
|
||||
|
||||
#ifdef LEDS_ENABLE
|
||||
init_leds();
|
||||
#endif // LEDS_ENABLE
|
||||
|
||||
#ifdef THUMBSTICK_ENABLE
|
||||
init_wasd_state();
|
||||
#endif // THUMBSTICK_ENABLE
|
||||
|
||||
controller_state = init_state();
|
||||
|
||||
keyboard_post_init_user();
|
||||
}
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
bool oled_task_kb(void) {
|
||||
if (!oled_task_user()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
draw_oled(controller_state);
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_user(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if (keycode == JOYMODE && record->event.pressed) {
|
||||
if (!controller_state.wasdMode) {
|
||||
controller_state.wasdMode = true;
|
||||
} else if (controller_state.wasdMode && !controller_state.wasdShiftMode) {
|
||||
controller_state.wasdShiftMode = true;
|
||||
} else {
|
||||
controller_state.wasdMode = false;
|
||||
controller_state.wasdShiftMode = false;
|
||||
}
|
||||
} else if (keycode == AUTORUN && record->event.pressed) {
|
||||
if (!controller_state.autoRun) {
|
||||
controller_state.autoRun = true;
|
||||
register_code(KC_W);
|
||||
} else {
|
||||
controller_state.autoRun = false;
|
||||
unregister_code(KC_W);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_kb(layer_state_t state) {
|
||||
state = layer_state_set_user(state);
|
||||
controller_state.highestActiveLayer = get_highest_layer(state) ;
|
||||
|
||||
#ifdef LEDS_ENABLE
|
||||
set_leds(controller_state.highestActiveLayer) ;
|
||||
#endif // LEDS_ENABLE
|
||||
|
||||
return state;
|
||||
}
|
||||
50
keyboards/handwired/replicazeron/replicazeron.h
Normal file
50
keyboards/handwired/replicazeron/replicazeron.h
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#include "state.h"
|
||||
|
||||
#ifdef LEDS_ENABLE
|
||||
# include "leds.h"
|
||||
#endif
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
# include "oled.h"
|
||||
#endif
|
||||
|
||||
#ifdef THUMBSTICK_ENABLE
|
||||
# include "thumbstick.h"
|
||||
#endif
|
||||
|
||||
enum kb_layers {
|
||||
_BASE,
|
||||
_SHOOTER,
|
||||
_MISC,
|
||||
_SETTINGS,
|
||||
};
|
||||
|
||||
enum kb_keycodes {
|
||||
JOYMODE = QK_USER,
|
||||
AUTORUN,
|
||||
M_UP,
|
||||
M_DWN,
|
||||
M_L,
|
||||
M_R,
|
||||
M_SEL
|
||||
};
|
||||
14
keyboards/handwired/replicazeron/rules.mk
Normal file
14
keyboards/handwired/replicazeron/rules.mk
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
JOYSTICK_ENABLE = yes
|
||||
OLED_ENABLE = yes
|
||||
|
||||
LEDS_ENABLE = yes
|
||||
THUMBSTICK_ENABLE = yes
|
||||
|
||||
LTO_ENABLE = yes
|
||||
|
||||
SRC += state.c
|
||||
|
||||
VPATH += keyboards/handwired/replicazeron/common
|
||||
|
||||
# redirect compilation against "handwired/replicazeron" to the stm32 variant
|
||||
DEFAULT_FOLDER = handwired/replicazeron/stm32f103
|
||||
29
keyboards/handwired/replicazeron/stm32f103/config.h
Normal file
29
keyboards/handwired/replicazeron/stm32f103/config.h
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
/* Copyright 2023 9R
|
||||
*
|
||||
* 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
|
||||
|
||||
/* I2C Config */
|
||||
#define I2C_DRIVER I2CD2
|
||||
#define I2C1_SDA_PIN B11
|
||||
#define I2C1_SCL_PIN B10
|
||||
|
||||
#define STATUS_LED_A_PIN B13
|
||||
#define STATUS_LED_B_PIN B12
|
||||
|
||||
#define ANALOG_AXIS_PIN_X B0
|
||||
#define ANALOG_AXIS_PIN_Y B1
|
||||
|
||||
31
keyboards/handwired/replicazeron/stm32f103/keyboard.json
Normal file
31
keyboards/handwired/replicazeron/stm32f103/keyboard.json
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"development_board": "bluepill",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["A7", "A6", "A5", "A4", "B4"],
|
||||
"rows": ["B15", "A8", "A9", "A10", "A15", "B3"]
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 6
|
||||
"animations": {
|
||||
"breathing": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"twinkle": true
|
||||
}
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "0.0.2"
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "B14"
|
||||
}
|
||||
}
|
||||
31
keyboards/handwired/replicazeron/stm32f103/mcuconf.h
Normal file
31
keyboards/handwired/replicazeron/stm32f103/mcuconf.h
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/* Copyright 2022 9R
|
||||
*
|
||||
* 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_next <mcuconf.h>
|
||||
|
||||
//enable i2c for OLED
|
||||
#undef STM32_I2C_USE_I2C2
|
||||
#define STM32_I2C_USE_I2C2 TRUE
|
||||
|
||||
#undef STM32_PWM_USE_TIM1
|
||||
#define STM32_PWM_USE_TIM1 TRUE
|
||||
|
||||
//enable ADC for thumbstick
|
||||
#undef STM32_ADC_USE_ADC1
|
||||
#define STM32_ADC_USE_ADC1 TRUE
|
||||
|
||||
35
keyboards/idobao/id75/keymaps/vial/config.h
Normal file
35
keyboards/idobao/id75/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0xDC, 0x0B, 0x71, 0xF9, 0x24, 0xBD, 0x07, 0xB4}
|
||||
#define VIAL_UNLOCK_COMBO_ROWS {0, 1}
|
||||
#define VIAL_UNLOCK_COMBO_COLS {0, 1}
|
||||
|
||||
//#define DYNAMIC_KEYMAP_LAYER_COUNT 4
|
||||
//#define DYNAMIC_KEYMAP_MACRO_COUNT 8
|
||||
//#define VIAL_COMBO_ENTRIES 8 // number of combos used, each entry take 10 byte in EEPROM
|
||||
//#define VIAL_TAP_DANCE_ENTRIES 8 // number of tap dances used, each entry take 10 byte in EEPROM
|
||||
//#define VIAL_KEY_OVERRIDE_ENTRIES 8 // number of key override used, each entry take 10 byte in EEPROM
|
||||
//#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
//#define RGB_MATRIX_KEYPRESSES
|
||||
|
||||
#undef LOCKING_SUPPORT_ENABLE
|
||||
#undef LOCKING_RESYNC_ENABLE
|
||||
|
||||
#define NO_ACTION_ONESHOT
|
||||
#define NO_ACTION_TAPPING
|
||||
|
||||
#define NO_MUSIC_MODE
|
||||
|
||||
#define LAYER_STATE_8BIT
|
||||
|
||||
#undef RGBLIGHT_EFFECT_BREATHING
|
||||
#undef RGBLIGHT_EFFECT_SNAKE
|
||||
#undef RGBLIGHT_EFFECT_KNIGHT
|
||||
#undef RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#undef RGBLIGHT_EFFECT_RGB_TEST
|
||||
#undef RGBLIGHT_EFFECT_ALTERNATING
|
||||
#undef RGBLIGHT_EFFECT_TWINKLE
|
||||
|
||||
//#define RGB_MATRIX_LED_COUNT 16
|
||||
//#define DRIVER_LED_TOTAL 48
|
||||
52
keyboards/idobao/id75/keymaps/vial/keymap.c
Normal file
52
keyboards/idobao/id75/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/* Copyright 2020 IFo Hancroft
|
||||
*
|
||||
* 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_ortho_5x15(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_PSCR,
|
||||
KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_CAPS,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_ENT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_PGUP,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||
KC_LCTL, LCA(KC_A), KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, TG(1), KC_RALT, KC_RCTL, LGUI(KC_L), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_ortho_5x15(
|
||||
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PWR,
|
||||
EE_CLR, KC_BRIU, RGB_SAI, RGB_VAI, RGB_HUI, RGB_SPI, RGB_MOD, KC_WH_U, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_NO, KC_SLEP, KC_WAKE,
|
||||
DB_TOGG, KC_BRID, RGB_SAD, RGB_VAD, RGB_HUD, RGB_SPD, RGB_RMOD, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_NO, KC_NO, KC_HOME,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE, KC_VOLU, KC_END,
|
||||
KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_VOLD, KC_MNXT
|
||||
),
|
||||
|
||||
[2] = LAYOUT_ortho_5x15(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, 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_ortho_5x15(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
};
|
||||
43
keyboards/idobao/id75/keymaps/vial/readme.md
Normal file
43
keyboards/idobao/id75/keymaps/vial/readme.md
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
# Typematrix-like keymap with VIAL support for Idobao/ID75 v1 5x15 ortholinear keyboard
|
||||
|
||||
I use it with bépo configured system.
|
||||
Compatible with VIA and VIAL. Underglow available.
|
||||
|
||||

|
||||
|
||||
Due to limitations of atmega32u4 chip, some features where disabled to get enougth space to enable VIAL based on this documentation: https://docs.qmk.fm/#/squeezing_avr. It maybe possible to reenable some of them depending on what you may need.
|
||||
|
||||
```
|
||||
* The firmware size is fine - 26640/28672 (92%, 2032 bytes free)
|
||||
```
|
||||
## Compatibility
|
||||
|
||||
This keymap should work with both v1 and v2 boards as they feature the same chip (Atmega32u4) but v2's RGB matrix is not enabled.
|
||||
I only have a v1 board and can't test anything regarding v2.
|
||||
|
||||
## List of disabled features
|
||||
|
||||
RGB matrix is not disabled explicitly.
|
||||
|
||||
In rules.mk
|
||||
- SPACE_CADET_ENABLE = no
|
||||
- GRAVE_ESC_ENABLE = no
|
||||
- MAGIC_ENABLE = no
|
||||
- MUSIC_ENABLE = no
|
||||
|
||||
In config.h
|
||||
- #undef LOCKING_SUPPORT_ENABLE #Disables Cherry MX lock switch
|
||||
- #undef LOCKING_RESYNC_ENABLE #Disables Cherry MX lock switch
|
||||
- #define NO_ACTION_ONESHOT #Disables oneshots
|
||||
- #define NO_ACTION_TAPPING #Disables tapping keys
|
||||
- #define NO_MUSIC_MODE #Disables RGB matrix feature, you won't miss as RGB matrix is disabled too (v1 of the keeb has no RGB matrix anyway)
|
||||
- #define LAYER_STATE_8BIT #Limits number of layers to 8, you may try up to 16 layers with `LAYER_STATE_16BIT`
|
||||
The following ones disable some underglow effects, this is a good way to limit firmware size, choose the ones you like (I kept `RGBLIGHT_EFFECT_RAINBOW_MOOD` and `RGBLIGHT_EFFECT_RAINBOW_SWIRL`)
|
||||
- #undef RGBLIGHT_EFFECT_BREATHING
|
||||
- #undef RGBLIGHT_EFFECT_SNAKE
|
||||
- #undef RGBLIGHT_EFFECT_KNIGHT
|
||||
- #undef RGBLIGHT_EFFECT_CHRISTMAS
|
||||
- #undef RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
- #undef RGBLIGHT_EFFECT_RGB_TEST
|
||||
- #undef RGBLIGHT_EFFECT_ALTERNATING
|
||||
- #undef RGBLIGHT_EFFECT_TWINKLE
|
||||
19
keyboards/idobao/id75/keymaps/vial/rules.mk
Normal file
19
keyboards/idobao/id75/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
VIA_ENABLE = yes
|
||||
|
||||
VIAL_ENABLE = yes
|
||||
LTO_ENABLE = yes # reduce firmware size
|
||||
#VIALRGB_ENABLE = yes
|
||||
#RGB_MATRIX_ENABLE= yes
|
||||
|
||||
#RGB_MATRIX_DRIVER = is31fl3746a
|
||||
|
||||
COMBO_ENABLE = no
|
||||
|
||||
SPACE_CADET_ENABLE = no
|
||||
GRAVE_ESC_ENABLE = no
|
||||
MAGIC_ENABLE = no
|
||||
|
||||
AVR_USE_MINIMAL_PRINTF = yes
|
||||
|
||||
MUSIC_ENABLE = no
|
||||
|
||||
96
keyboards/idobao/id75/keymaps/vial/vial.json
Normal file
96
keyboards/idobao/id75/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"name": "Idobao ID75 V1",
|
||||
"vendorId": "0x6964",
|
||||
"productId": "0x0075",
|
||||
"lighting": "qmk_rgblight",
|
||||
"matrix": { "rows": 5, "cols": 15 },
|
||||
"layouts": {
|
||||
"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",
|
||||
"0,13",
|
||||
"0,14"
|
||||
],
|
||||
[
|
||||
"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",
|
||||
"1,13",
|
||||
"1,14"
|
||||
],
|
||||
[
|
||||
"2,0",
|
||||
"2,1",
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
"2,8",
|
||||
"2,9",
|
||||
"2,10",
|
||||
"2,11",
|
||||
"2,12",
|
||||
"2,13",
|
||||
"2,14"
|
||||
],
|
||||
[
|
||||
"3,0",
|
||||
"3,1",
|
||||
"3,2",
|
||||
"3,3",
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
"3,7",
|
||||
"3,8",
|
||||
"3,9",
|
||||
"3,10",
|
||||
"3,11",
|
||||
"3,12",
|
||||
"3,13",
|
||||
"3,14"
|
||||
],
|
||||
[
|
||||
"4,0",
|
||||
"4,1",
|
||||
"4,2",
|
||||
"4,3",
|
||||
"4,4",
|
||||
"4,5",
|
||||
"4,6",
|
||||
"4,7",
|
||||
"4,8",
|
||||
"4,9",
|
||||
"4,10",
|
||||
"4,11",
|
||||
"4,12",
|
||||
"4,13",
|
||||
"4,14"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -119,7 +119,7 @@
|
|||
"2,1\n\n\n0,0",
|
||||
"2,2\n\n\n0,0",
|
||||
"2,3\n\n\n0,0",
|
||||
"2,4\n\n\n0,0",
|
||||
"2,5\n\n\n0,0",
|
||||
"2,6\n\n\n0,0",
|
||||
"2,7\n\n\n0,0",
|
||||
"2,8\n\n\n0,0",
|
||||
|
|
@ -585,7 +585,7 @@
|
|||
"2,1\n\n\n0,5",
|
||||
"2,2\n\n\n0,5",
|
||||
"2,3\n\n\n0,5",
|
||||
"2,4\n\n\n0,5",
|
||||
"2,5\n\n\n0,5",
|
||||
"2,6\n\n\n0,5",
|
||||
"2,7\n\n\n0,5",
|
||||
"2,8\n\n\n0,5",
|
||||
|
|
|
|||
10
keyboards/kaly/kaly42/keymaps/vial/config.h
Normal file
10
keyboards/kaly/kaly42/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
/* copied from cantor */
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 4 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 5 }
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x15, 0x56, 0x94, 0x28, 0x02, 0xBB, 0x66, 0xBE}
|
||||
27
keyboards/kaly/kaly42/keymaps/vial/keymap.c
Normal file
27
keyboards/kaly/kaly42/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
// Copyright 2023 Kael Soares Augusto (@Dwctor)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┐
|
||||
* │Tab│ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │Bsp│
|
||||
* ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
|
||||
* │Ctl│ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │
|
||||
* ├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤
|
||||
* │Sft│ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │Sft│
|
||||
* └───┴───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┴───┘
|
||||
* ┌───┐ ┌───┐
|
||||
* │GUI├───┐ ┌───┤Alt│
|
||||
* └───┤Bsp├───┐ ┌───┤Ent├───┘
|
||||
* └───┤ │ │ ├───┘
|
||||
* └───┘ └───┘
|
||||
*/
|
||||
[0] = LAYOUT_split_3x6_3(
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LGUI, KC_BSPC, KC_SPC, KC_SPC, KC_ENT, KC_RALT
|
||||
)
|
||||
};
|
||||
2
keyboards/kaly/kaly42/keymaps/vial/rules.mk
Normal file
2
keyboards/kaly/kaly42/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
269
keyboards/kaly/kaly42/keymaps/vial/vial.json
Normal file
269
keyboards/kaly/kaly42/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,269 @@
|
|||
{
|
||||
"name": "kaly42",
|
||||
"lighting": "none",
|
||||
"vendorId": "0xFEED",
|
||||
"productId": "0x0000",
|
||||
"matrix": {
|
||||
"rows": 8,
|
||||
"cols": 6
|
||||
},
|
||||
"layouts": {
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"x": 3
|
||||
},
|
||||
"0,3",
|
||||
{
|
||||
"x": 7
|
||||
},
|
||||
"4,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 2
|
||||
},
|
||||
"0,2",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"0,4",
|
||||
{
|
||||
"x": 5
|
||||
},
|
||||
"4,1",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"4,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.85,
|
||||
"x": 5
|
||||
},
|
||||
"0,5",
|
||||
{
|
||||
"x": 3
|
||||
},
|
||||
"4,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.4999999999999999
|
||||
},
|
||||
"0,0",
|
||||
"0,1",
|
||||
{
|
||||
"x": 11
|
||||
},
|
||||
"4,4",
|
||||
"4,5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.8999999999999999,
|
||||
"x": 3
|
||||
},
|
||||
"1,3",
|
||||
{
|
||||
"x": 7
|
||||
},
|
||||
"5,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 2
|
||||
},
|
||||
"1,2",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"1,4",
|
||||
{
|
||||
"x": 5
|
||||
},
|
||||
"5,1",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"5,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.8500000000000001,
|
||||
"x": 5
|
||||
},
|
||||
"1,5",
|
||||
{
|
||||
"x": 3
|
||||
},
|
||||
"5,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.5
|
||||
},
|
||||
"1,0",
|
||||
"1,1",
|
||||
{
|
||||
"x": 11
|
||||
},
|
||||
"5,4",
|
||||
"5,5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.8999999999999999,
|
||||
"x": 3
|
||||
},
|
||||
"2,3",
|
||||
{
|
||||
"x": 7
|
||||
},
|
||||
"6,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 2
|
||||
},
|
||||
"2,2",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"2,4",
|
||||
{
|
||||
"x": 5
|
||||
},
|
||||
"6,1",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"6,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.8500000000000001,
|
||||
"x": 5
|
||||
},
|
||||
"2,5",
|
||||
{
|
||||
"x": 3
|
||||
},
|
||||
"6,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.5
|
||||
},
|
||||
"2,0",
|
||||
"2,1",
|
||||
{
|
||||
"x": 11
|
||||
},
|
||||
"6,4",
|
||||
"6,5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": 15,
|
||||
"y": -1.9,
|
||||
"x": 5.25
|
||||
},
|
||||
"3,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": 32,
|
||||
"y": -2.95,
|
||||
"x": 6.85
|
||||
},
|
||||
"3,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": 46,
|
||||
"rx": 15,
|
||||
"y": 7.9,
|
||||
"x": -1.6099999999999994
|
||||
},
|
||||
"7,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": -46,
|
||||
"rx": 0,
|
||||
"y": 7.9,
|
||||
"x": 0.61
|
||||
},
|
||||
"3,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": -32,
|
||||
"rx": 15,
|
||||
"y": 0.05,
|
||||
"x": -7.85
|
||||
},
|
||||
"7,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": -15,
|
||||
"y": 0.95,
|
||||
"x": -6.25
|
||||
},
|
||||
"7,2"
|
||||
]
|
||||
],
|
||||
"LAYOUT_split_3x6_3": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 0], "x": 0, "y": 0.25 },
|
||||
{ "matrix": [0, 1], "x": 1, "y": 0.25 },
|
||||
{ "matrix": [0, 2], "x": 2, "y": 0.125 },
|
||||
{ "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "matrix": [0, 4], "x": 4, "y": 0.125 },
|
||||
{ "matrix": [0, 5], "x": 5, "y": 0.25 },
|
||||
{ "matrix": [4, 0], "x": 8, "y": 0.25 },
|
||||
{ "matrix": [4, 1], "x": 9, "y": 0.125 },
|
||||
{ "matrix": [4, 2], "x": 10, "y": 0 },
|
||||
{ "matrix": [4, 3], "x": 11, "y": 0.125 },
|
||||
{ "matrix": [4, 4], "x": 12, "y": 0.25 },
|
||||
{ "matrix": [4, 5], "x": 13, "y": 0.25 },
|
||||
{ "matrix": [1, 0], "x": 0, "y": 1.25 },
|
||||
{ "matrix": [1, 1], "x": 1, "y": 1.25 },
|
||||
{ "matrix": [1, 2], "x": 2, "y": 1.125 },
|
||||
{ "matrix": [1, 3], "x": 3, "y": 1 },
|
||||
{ "matrix": [1, 4], "x": 4, "y": 1.125 },
|
||||
{ "matrix": [1, 5], "x": 5, "y": 1.25 },
|
||||
{ "matrix": [5, 0], "x": 8, "y": 1.25 },
|
||||
{ "matrix": [5, 1], "x": 9, "y": 1.125 },
|
||||
{ "matrix": [5, 2], "x": 10, "y": 1 },
|
||||
{ "matrix": [5, 3], "x": 11, "y": 1.125 },
|
||||
{ "matrix": [5, 4], "x": 12, "y": 1.25 },
|
||||
{ "matrix": [5, 5], "x": 13, "y": 1.25 },
|
||||
{ "matrix": [2, 0], "x": 0, "y": 2.25 },
|
||||
{ "matrix": [2, 1], "x": 1, "y": 2.25 },
|
||||
{ "matrix": [2, 2], "x": 2, "y": 2.125 },
|
||||
{ "matrix": [2, 3], "x": 3, "y": 2 },
|
||||
{ "matrix": [2, 4], "x": 4, "y": 2.125 },
|
||||
{ "matrix": [2, 5], "x": 5, "y": 2.25 },
|
||||
{ "matrix": [6, 0], "x": 8, "y": 2.25 },
|
||||
{ "matrix": [6, 1], "x": 9, "y": 2.125 },
|
||||
{ "matrix": [6, 2], "x": 10, "y": 2 },
|
||||
{ "matrix": [6, 3], "x": 11, "y": 2.125 },
|
||||
{ "matrix": [6, 4], "x": 12, "y": 2.25 },
|
||||
{ "matrix": [6, 5], "x": 13, "y": 2.25 },
|
||||
{ "matrix": [3, 0], "x": 3.5, "y": 3.25 },
|
||||
{ "matrix": [3, 1], "x": 4.5, "y": 3.5 },
|
||||
{ "matrix": [3, 2], "x": 5.5, "y": 3.75 },
|
||||
{ "matrix": [7, 0], "x": 7.5, "y": 3.75 },
|
||||
{ "matrix": [7, 1], "x": 8.5, "y": 3.5 },
|
||||
{ "matrix": [7, 2], "x": 9.5, "y": 3.25 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
13
keyboards/keebio/quefrency/rev3/keymaps/vial/config.h
Normal file
13
keyboards/keebio/quefrency/rev3/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0xBF, 0x59, 0x7D, 0x4C, 0xDF, 0x1C, 0xBC, 0x81}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 7 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 2, 7 }
|
||||
|
||||
// Reduce the firmware size!
|
||||
#undef LOCKING_SUPPORT_ENABLE
|
||||
#undef LOCKING_RESYNC_ENABLE
|
||||
#define LAYER_STATE_8BIT
|
||||
48
keyboards/keebio/quefrency/rev3/keymaps/vial/keymap.c
Normal file
48
keyboards/keebio/quefrency/rev3/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
// Copyright 2022 Danny Nguyen (@nooges)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#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 custom_layer {
|
||||
_BASE,
|
||||
_FN1,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_65_with_macro(
|
||||
KC_F1, KC_F2, QK_GESC, 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_DEL, KC_BSPC, KC_HOME,
|
||||
KC_F3, KC_F4, 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_END,
|
||||
KC_F5, KC_F6, 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_PGUP,
|
||||
KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||
KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, MO(_FN1),KC_SPC, MO(_FN1),KC_SPC, KC_RALT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_FN1] = LAYOUT_65_with_macro(
|
||||
_______, _______, QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______,
|
||||
_______, _______, RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
|
||||
[1] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) }
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef MAGIC_ENABLE
|
||||
uint16_t keycode_config(uint16_t keycode) {
|
||||
return keycode;
|
||||
}
|
||||
#endif
|
||||
26
keyboards/keebio/quefrency/rev3/keymaps/vial/rules.mk
Normal file
26
keyboards/keebio/quefrency/rev3/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
|
||||
LTO_ENABLE = yes
|
||||
QMK_SETTINGS = yes
|
||||
ENCODER_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
|
||||
AVR_USE_MINIMAL_PRINTF = yes
|
||||
EXTRAKEY_ENABLE = yes
|
||||
|
||||
# Reduce the firmware size:
|
||||
BACKLIGHT_ENABLE = no
|
||||
BOOTMAGIC_ENABLE = no
|
||||
COMBO_ENABLE = no
|
||||
COMMAND_ENABLE = no
|
||||
CONSOLE_ENABLE = no
|
||||
GRAVE_ESC_ENABLE = no
|
||||
KEY_OVERRIDE_ENABLE = no
|
||||
LEADER_ENABLE = no
|
||||
MAGIC_ENABLE = no
|
||||
MOUSEKEY_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = no
|
||||
SPACE_CADET_ENABLE = no
|
||||
TAP_DANCE_ENABLE = no
|
||||
VIALRGB_ENABLE = no
|
||||
504
keyboards/keebio/quefrency/rev3/keymaps/vial/vial.json
Normal file
504
keyboards/keebio/quefrency/rev3/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,504 @@
|
|||
{
|
||||
"name": "Quefrency Rev. 3",
|
||||
"vendorId": "0xCB10",
|
||||
"productId": "0x3357",
|
||||
"matrix": {
|
||||
"rows": 10,
|
||||
"cols": 9
|
||||
},
|
||||
"lighting": "qmk_backlight_rgblight",
|
||||
"layouts": {
|
||||
"labels": [
|
||||
[
|
||||
"Left Macropad",
|
||||
"Enabled",
|
||||
"W/Encoder",
|
||||
"No Macro"
|
||||
],
|
||||
"Split Left Shift",
|
||||
[
|
||||
"Left Space",
|
||||
"1.25-2.25u",
|
||||
"2.25-1.25u",
|
||||
"1.25-1-1.25u"
|
||||
],
|
||||
"Split Backspace",
|
||||
"ISO Enter",
|
||||
[
|
||||
"Right Column",
|
||||
"Enabled",
|
||||
"W/Encoder",
|
||||
"Disabled"
|
||||
],
|
||||
[
|
||||
"Right Shift",
|
||||
"1.75u Shift-1u",
|
||||
"2.75u",
|
||||
"1.75u /"
|
||||
],
|
||||
[
|
||||
"Right Mods",
|
||||
"6x1u",
|
||||
"2x1.25u__3x1u",
|
||||
"4x1.25u-1u"
|
||||
],
|
||||
"Split Right Space"
|
||||
],
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"x": 1.75
|
||||
},
|
||||
"0,0\n\n\n0,1\n\n\n\n\n\ne",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"0,1\n\n\n0,1\n\n\n\n\n\ne",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#cccccc",
|
||||
"d": true
|
||||
},
|
||||
"\n\n\n0,0",
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"\n\n\n0,0",
|
||||
{
|
||||
"x": 16.5,
|
||||
"c": "#aaaaaa",
|
||||
"d": true
|
||||
},
|
||||
"\n\n\n5,0",
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"\n\n\n5,0",
|
||||
{
|
||||
"x": 3.75
|
||||
},
|
||||
"1,0\n\n\n5,1\n\n\n\n\n\ne",
|
||||
"1,1\n\n\n5,1\n\n\n\n\n\ne"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"d": true
|
||||
},
|
||||
"0,0\n\n\n0,2",
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"0,1\n\n\n0,2",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"0,0\n\n\n0,1",
|
||||
"0,1\n\n\n0,1",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"0,0\n\n\n0,0",
|
||||
"0,1\n\n\n0,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"c": "#777777"
|
||||
},
|
||||
"0,2",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,3",
|
||||
"0,4",
|
||||
"0,5",
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"5,0",
|
||||
"5,1",
|
||||
"5,2",
|
||||
"5,3",
|
||||
"5,4",
|
||||
"5,5",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2
|
||||
},
|
||||
"5,7\n\n\n3,0",
|
||||
"5,8\n\n\n5,0",
|
||||
{
|
||||
"x": 0.75
|
||||
},
|
||||
"5,6\n\n\n3,1",
|
||||
"5,7\n\n\n3,1",
|
||||
{
|
||||
"x": 2
|
||||
},
|
||||
"5,8\n\n\n5,1\n\n\n\n\n\ne1",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#cccccc",
|
||||
"d": true
|
||||
},
|
||||
"5,8\n\n\n5,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"1,0\n\n\n0,2",
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"1,1\n\n\n0,2",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"1,0\n\n\n0,1",
|
||||
"1,1\n\n\n0,1",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"1,0\n\n\n0,0",
|
||||
"1,1\n\n\n0,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"1,2",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"6,0",
|
||||
"6,1",
|
||||
"6,2",
|
||||
"6,3",
|
||||
"6,4",
|
||||
"6,5",
|
||||
"6,6",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"6,7\n\n\n4,0",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"6,8\n\n\n5,0",
|
||||
{
|
||||
"x": 2,
|
||||
"c": "#777777",
|
||||
"w": 1.25,
|
||||
"h": 2,
|
||||
"w2": 1.5,
|
||||
"h2": 1,
|
||||
"x2": -0.25
|
||||
},
|
||||
"7,7\n\n\n4,1",
|
||||
{
|
||||
"x": 1.5,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"6,8\n\n\n5,1",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#cccccc",
|
||||
"d": true
|
||||
},
|
||||
"6,8\n\n\n5,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"2,0\n\n\n0,2",
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"2,1\n\n\n0,2",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"2,0\n\n\n0,1",
|
||||
"2,1\n\n\n0,1",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"2,0\n\n\n0,0",
|
||||
"2,1\n\n\n0,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"w": 1.75
|
||||
},
|
||||
"2,2",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"7,0",
|
||||
"7,1",
|
||||
"7,2",
|
||||
"7,3",
|
||||
"7,4",
|
||||
"7,5",
|
||||
{
|
||||
"c": "#777777",
|
||||
"w": 2.25
|
||||
},
|
||||
"7,7\n\n\n4,0",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"7,8\n\n\n5,0",
|
||||
{
|
||||
"x": 1,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"7,6\n\n\n4,1",
|
||||
{
|
||||
"x": 2.75,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"7,8\n\n\n5,1",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#cccccc",
|
||||
"d": true
|
||||
},
|
||||
"7,8\n\n\n5,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"3,0\n\n\n0,2",
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"3,1\n\n\n0,2",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"3,0\n\n\n0,1",
|
||||
"3,1\n\n\n0,1",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"3,0\n\n\n0,0",
|
||||
"3,1\n\n\n0,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"w": 2.25
|
||||
},
|
||||
"3,2\n\n\n1,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
"3,7",
|
||||
"3,8",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"8,0",
|
||||
"8,1",
|
||||
"8,2",
|
||||
"8,3",
|
||||
"8,4\n\n\n6,0",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"8,6\n\n\n6,0",
|
||||
"8,7\n\n\n6,0",
|
||||
"8,8\n\n\n5,0",
|
||||
{
|
||||
"x": 0.75,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"8,4\n\n\n6,1",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2.75
|
||||
},
|
||||
"8,6\n\n\n6,1",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"8,8\n\n\n5,1",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#cccccc",
|
||||
"d": true
|
||||
},
|
||||
"8,8\n\n\n5,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"4,0\n\n\n0,2",
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"4,1\n\n\n0,2",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"4,0\n\n\n0,1",
|
||||
"4,1\n\n\n0,1",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"4,0\n\n\n0,0",
|
||||
"4,1\n\n\n0,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"w": 1.25
|
||||
},
|
||||
"4,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,3",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,4",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,5\n\n\n2,0",
|
||||
{
|
||||
"w": 2.25
|
||||
},
|
||||
"4,7\n\n\n2,0",
|
||||
{
|
||||
"x": 1,
|
||||
"w": 2.75
|
||||
},
|
||||
"9,1\n\n\n8,0",
|
||||
"9,2\n\n\n7,0",
|
||||
"9,3\n\n\n7,0",
|
||||
"9,4\n\n\n7,0",
|
||||
"9,6\n\n\n7,0",
|
||||
"9,7\n\n\n7,0",
|
||||
"9,8\n\n\n5,0",
|
||||
{
|
||||
"x": 0.75,
|
||||
"c": "#cccccc",
|
||||
"w": 1.75
|
||||
},
|
||||
"8,4\n\n\n6,2",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"8,6\n\n\n6,2",
|
||||
"8,7\n\n\n6,2",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"9,8\n\n\n5,1",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#cccccc",
|
||||
"d": true
|
||||
},
|
||||
"9,8\n\n\n5,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 7,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"3,2\n\n\n1,1",
|
||||
"3,3\n\n\n1,1",
|
||||
{
|
||||
"x": 1.5,
|
||||
"w": 2.25
|
||||
},
|
||||
"4,5\n\n\n2,1",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,7\n\n\n2,1",
|
||||
{
|
||||
"x": 1,
|
||||
"w": 1.25
|
||||
},
|
||||
"9,0\n\n\n8,1",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"9,1\n\n\n8,1",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"9,2\n\n\n7,1",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"9,3\n\n\n7,1",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"9,6\n\n\n7,1",
|
||||
"9,7\n\n\n7,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 10.75,
|
||||
"w": 1.25
|
||||
},
|
||||
"4,5\n\n\n2,2",
|
||||
"4,6\n\n\n2,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,7\n\n\n2,2",
|
||||
{
|
||||
"x": 3.75,
|
||||
"w": 1.25
|
||||
},
|
||||
"9,2\n\n\n7,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"9,3\n\n\n7,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"9,6\n\n\n7,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"9,7\n\n\n7,2"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
12
keyboards/keebio/quefrency/rev5/keymaps/vial/config.h
Normal file
12
keyboards/keebio/quefrency/rev5/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x71, 0xE4, 0x34, 0x62, 0x9C, 0x8E, 0x31, 0x68}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 7 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 2, 7 }
|
||||
|
||||
// Reduce the firmware size!
|
||||
#undef LOCKING_SUPPORT_ENABLE
|
||||
#undef LOCKING_RESYNC_ENABLE
|
||||
42
keyboards/keebio/quefrency/rev5/keymaps/vial/keymap.c
Normal file
42
keyboards/keebio/quefrency/rev5/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
// Copyright 2022 Danny Nguyen (@nooges)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#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 custom_layer {
|
||||
_BASE,
|
||||
_FN1,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_65_with_macro(
|
||||
KC_F1, KC_F2, QK_GESC, 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_DEL, KC_BSPC, KC_HOME,
|
||||
KC_F3, KC_F4, 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_END,
|
||||
KC_F5, KC_F6, 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_PGUP,
|
||||
KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||
KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, MO(_FN1),KC_SPC, MO(_FN1),KC_SPC, KC_RALT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_FN1] = LAYOUT_65_with_macro(
|
||||
_______, _______, QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC, _______,
|
||||
_______, _______, RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
|
||||
[1] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) }
|
||||
};
|
||||
#endif
|
||||
26
keyboards/keebio/quefrency/rev5/keymaps/vial/rules.mk
Normal file
26
keyboards/keebio/quefrency/rev5/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
|
||||
LTO_ENABLE = yes
|
||||
QMK_SETTINGS = yes
|
||||
ENCODER_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
|
||||
AVR_USE_MINIMAL_PRINTF = yes
|
||||
EXTRAKEY_ENABLE = yes
|
||||
|
||||
# Reduce the firmware size:
|
||||
BACKLIGHT_ENABLE = no
|
||||
BOOTMAGIC_ENABLE = no
|
||||
COMBO_ENABLE = no
|
||||
COMMAND_ENABLE = no
|
||||
CONSOLE_ENABLE = no
|
||||
GRAVE_ESC_ENABLE = no
|
||||
KEY_OVERRIDE_ENABLE = no
|
||||
LEADER_ENABLE = no
|
||||
MAGIC_ENABLE = no
|
||||
MOUSEKEY_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = no
|
||||
SPACE_CADET_ENABLE = no
|
||||
TAP_DANCE_ENABLE = no
|
||||
VIALRGB_ENABLE = no
|
||||
292
keyboards/keebio/quefrency/rev5/keymaps/vial/vial.json
Normal file
292
keyboards/keebio/quefrency/rev5/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,292 @@
|
|||
{
|
||||
"name": "Quefrency Rev. 5",
|
||||
"vendorId": "0xCB10",
|
||||
"productId": "0x5357",
|
||||
"matrix": {
|
||||
"rows": 10,
|
||||
"cols": 9
|
||||
},
|
||||
"lighting": "qmk_rgblight",
|
||||
"layouts": {
|
||||
"labels": [
|
||||
"Split Backspace",
|
||||
[
|
||||
"Left Macropad",
|
||||
"Enabled",
|
||||
"W/Encoder",
|
||||
"No Macro"
|
||||
],
|
||||
[
|
||||
"Right Mods",
|
||||
"6x1u",
|
||||
"2x1.25u__3x1u"
|
||||
],
|
||||
"Right Encoder"
|
||||
],
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"y": 1,
|
||||
"x": 1.75
|
||||
},
|
||||
"0,0\n\n\n1,1\n\n\n\n\n\ne",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"0,1\n\n\n1,1\n\n\n\n\n\ne",
|
||||
{
|
||||
"x": 0.25,
|
||||
"d": true
|
||||
},
|
||||
"\n\n\n1,0",
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"\n\n\n1,0",
|
||||
{
|
||||
"x": 16.5,
|
||||
"c": "#cccccc",
|
||||
"d": true
|
||||
},
|
||||
"\n\n\n3,0",
|
||||
{
|
||||
"d": true
|
||||
},
|
||||
"\n\n\n3,0",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"1,0\n\n\n3,1\n\n\n\n\n\ne",
|
||||
"1,1\n\n\n3,1\n\n\n\n\n\ne"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"0,0\n\n\n1,1",
|
||||
"0,1\n\n\n1,1",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"0,0\n\n\n1,0",
|
||||
"0,1\n\n\n1,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"c": "#777777"
|
||||
},
|
||||
"0,2",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,3",
|
||||
"0,4",
|
||||
"0,5",
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"5,0",
|
||||
"5,1",
|
||||
"5,2",
|
||||
"5,3",
|
||||
"5,4",
|
||||
"5,5",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2
|
||||
},
|
||||
"5,7\n\n\n0,0",
|
||||
"5,8",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"5,6\n\n\n0,1",
|
||||
"5,7\n\n\n0,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.25
|
||||
},
|
||||
"1,0\n\n\n1,1",
|
||||
"1,1\n\n\n1,1",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"1,0\n\n\n1,0",
|
||||
"1,1\n\n\n1,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"1,2",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"6,0",
|
||||
"6,1",
|
||||
"6,2",
|
||||
"6,3",
|
||||
"6,4",
|
||||
"6,5",
|
||||
"6,6",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"6,7",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"6,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.25
|
||||
},
|
||||
"2,0\n\n\n1,1",
|
||||
"2,1\n\n\n1,1",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"2,0\n\n\n1,0",
|
||||
"2,1\n\n\n1,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"w": 1.75
|
||||
},
|
||||
"2,2",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"7,0",
|
||||
"7,1",
|
||||
"7,2",
|
||||
"7,3",
|
||||
"7,4",
|
||||
"7,5",
|
||||
{
|
||||
"c": "#777777",
|
||||
"w": 2.25
|
||||
},
|
||||
"7,7",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"7,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.25
|
||||
},
|
||||
"3,0\n\n\n1,1",
|
||||
"3,1\n\n\n1,1",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"3,0\n\n\n1,0",
|
||||
"3,1\n\n\n1,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"w": 2.25
|
||||
},
|
||||
"3,2",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
"3,7",
|
||||
"3,8",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"8,0",
|
||||
"8,1",
|
||||
"8,2",
|
||||
"8,3",
|
||||
"8,4",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"8,6",
|
||||
"8,7",
|
||||
"8,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.25
|
||||
},
|
||||
"4,0\n\n\n1,1",
|
||||
"4,1\n\n\n1,1",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"4,0\n\n\n1,0",
|
||||
"4,1\n\n\n1,0",
|
||||
{
|
||||
"x": 0.5,
|
||||
"w": 1.25
|
||||
},
|
||||
"4,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,3",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,4",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"4,5",
|
||||
{
|
||||
"w": 2.25
|
||||
},
|
||||
"4,7",
|
||||
{
|
||||
"x": 1,
|
||||
"w": 2.75
|
||||
},
|
||||
"9,1",
|
||||
"9,2\n\n\n2,0",
|
||||
"9,3\n\n\n2,0",
|
||||
"9,4\n\n\n2,0",
|
||||
"9,6",
|
||||
"9,7",
|
||||
"9,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 18,
|
||||
"w": 1.25
|
||||
},
|
||||
"9,2\n\n\n2,1",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"9,3\n\n\n2,1"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
8
keyboards/keychron/q11/iso_encoder/keymaps/vial/config.h
Normal file
8
keyboards/keychron/q11/iso_encoder/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0xA4, 0x1E, 0xA5, 0x3C, 0xCC, 0x66, 0x08, 0xCD}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 9 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 1, 7 }
|
||||
69
keyboards/keychron/q11/iso_encoder/keymaps/vial/keymap.c
Normal file
69
keyboards/keychron/q11/iso_encoder/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
/* Copyright 2023 @ Keychron (https://www.keychron.com)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers{
|
||||
MAC_BASE,
|
||||
MAC_FN,
|
||||
WIN_BASE,
|
||||
WIN_FN,
|
||||
};
|
||||
|
||||
#define KC_TASK LGUI(KC_TAB)
|
||||
#define KC_FLXP LGUI(KC_E)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[MAC_BASE] = LAYOUT_92_iso(
|
||||
KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE,
|
||||
_______, 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_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_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_NUHS, KC_ENT, KC_HOME,
|
||||
_______, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
_______, KC_LCTL, KC_LOPT, KC_LCMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[MAC_FN] = LAYOUT_92_iso(
|
||||
RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
[WIN_BASE] = LAYOUT_92_iso(
|
||||
KC_MUTE, 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_INS, KC_DEL, KC_MUTE,
|
||||
_______, 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_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_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_NUHS, KC_ENT, KC_HOME,
|
||||
_______, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
_______, KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[WIN_FN] = LAYOUT_92_iso(
|
||||
RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
|
||||
[WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
|
||||
};
|
||||
#endif // ENCODER_MAP_ENABLE
|
||||
7
keyboards/keychron/q11/iso_encoder/keymaps/vial/rules.mk
Normal file
7
keyboards/keychron/q11/iso_encoder/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
VIALRGB_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
|
||||
VPATH += keyboards/keychron/common
|
||||
SRC += keychron_common.c
|
||||
312
keyboards/keychron/q11/iso_encoder/keymaps/vial/vial.json
Normal file
312
keyboards/keychron/q11/iso_encoder/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,312 @@
|
|||
{
|
||||
"name": "Keychron Q11 ISO Knob",
|
||||
"vendorId": "0x3434",
|
||||
"productId": "0x01E1",
|
||||
"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"
|
||||
}
|
||||
],
|
||||
"matrix": {"rows": 12, "cols": 9},
|
||||
"layouts": {
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"0,0\n\n\n\n\n\n\n\n\ne",
|
||||
"0,1\n\n\n\n\n\n\n\n\ne",
|
||||
{
|
||||
"x": 15
|
||||
},
|
||||
"1,0\n\n\n\n\n\n\n\n\ne",
|
||||
"1,1\n\n\n\n\n\n\n\n\ne"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"0,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#777777"
|
||||
},
|
||||
"0,1\nESC",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
"0,5",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"0,6",
|
||||
"0,7",
|
||||
{
|
||||
"x": 0.75
|
||||
},
|
||||
"6,0",
|
||||
"6,1",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"6,2",
|
||||
"6,3",
|
||||
"6,4",
|
||||
"6,5",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"6,6",
|
||||
"6,7",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"6,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.25
|
||||
},
|
||||
"1,0",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"1,1",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
{
|
||||
"x": 0.75
|
||||
},
|
||||
"7,0",
|
||||
"7,1",
|
||||
"7,2",
|
||||
"7,3",
|
||||
"7,4",
|
||||
"7,5",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2
|
||||
},
|
||||
"7,6",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"7,8"
|
||||
],
|
||||
[
|
||||
"2,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"w": 1.5
|
||||
},
|
||||
"2,1",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,6",
|
||||
"2,7",
|
||||
{
|
||||
"x": 0.75
|
||||
},
|
||||
"8,0",
|
||||
"8,1",
|
||||
"8,2",
|
||||
"8,3",
|
||||
"8,4",
|
||||
"8,5",
|
||||
"8,6",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#777777",
|
||||
"w": 1.25,
|
||||
"h": 2,
|
||||
"w2": 1.5,
|
||||
"h2": 1,
|
||||
"x2": -0.25
|
||||
},
|
||||
"8,7",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"8,8"
|
||||
],
|
||||
[
|
||||
"3,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"w": 1.75
|
||||
},
|
||||
"3,1",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,2",
|
||||
"3,3",
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
{
|
||||
"x": 0.75
|
||||
},
|
||||
"9,0",
|
||||
"9,1",
|
||||
"9,2",
|
||||
"9,3",
|
||||
"9,4",
|
||||
"9,5",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"9,7",
|
||||
{
|
||||
"x": 1.5
|
||||
},
|
||||
"9,8"
|
||||
],
|
||||
[
|
||||
"4,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"w": 1.25
|
||||
},
|
||||
"4,1",
|
||||
"4,2",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"4,3",
|
||||
"4,4",
|
||||
"4,5",
|
||||
"4,6",
|
||||
"4,7",
|
||||
{
|
||||
"x": 0.75
|
||||
},
|
||||
"10,0",
|
||||
"10,1",
|
||||
"10,2",
|
||||
"10,3",
|
||||
"10,4",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"10,5",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#777777"
|
||||
},
|
||||
"10,7"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"5,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"w": 1.25
|
||||
},
|
||||
"5,1",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,3",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,4",
|
||||
{
|
||||
"w": 2.25
|
||||
},
|
||||
"5,6",
|
||||
{
|
||||
"x": 0.75,
|
||||
"w": 2.75
|
||||
},
|
||||
"11,1",
|
||||
"11,2",
|
||||
"11,3",
|
||||
"11,4",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#777777"
|
||||
},
|
||||
"11,6",
|
||||
"11,7",
|
||||
"11,8"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
36
keyboards/omkbd/runner3680/5x6_5x8/keymaps/vial/config.h
Executable file
36
keyboards/omkbd/runner3680/5x6_5x8/keymaps/vial/config.h
Executable file
|
|
@ -0,0 +1,36 @@
|
|||
/* Copyright 2021 omkbd
|
||||
*
|
||||
* 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 VIAL_KEYBOARD_UID {0x0F, 0x8A, 0x08, 0x8B, 0x22, 0x25, 0xAA, 0xA8}
|
||||
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 4
|
||||
|
||||
// ~ + BACKSPACE = UNLOCK
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 5 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 2, 0 }
|
||||
|
||||
//#define USE_MATRIX_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#define RGBLIGHT_SLEEP // enable rgblight_suspend() and rgblight_wakeup() in keymap.c
|
||||
#define RGBLIGHT_TIMEOUT 600000 // ms to wait until rgblight time out, 600K ms is 10min.
|
||||
112
keyboards/omkbd/runner3680/5x6_5x8/keymaps/vial/keymap.c
Executable file
112
keyboards/omkbd/runner3680/5x6_5x8/keymaps/vial/keymap.c
Executable file
|
|
@ -0,0 +1,112 @@
|
|||
/* Copyright 2021 omkbd
|
||||
*
|
||||
* 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
|
||||
|
||||
enum layer_number {
|
||||
_QWERTY = 0,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
// Fillers to make layering more clear
|
||||
#define EISU LALT(KC_GRV)
|
||||
#define ADJUST MO(_ADJUST)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* QWERTY
|
||||
* ,-----------------------------------------. ,--------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | = | Bksp |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] | \ |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | A | S | D | F | G | | H | J | K | L | ; | " | Enter| Enter|
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | | N | M | , | . | / | Shift| Up | Shift|
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | GUI | Alt | EISU | Space| Space| | Space| Space| Alt |Adjust| Ctrl | Left | Down | Right|
|
||||
* `-----------------------------------------' `-------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_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_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_RSFT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, ADJUST, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, ADJUST, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/* Adjust
|
||||
* ,-----------------------------------------. ,--------------------------------------------------------.
|
||||
* | ESC | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
|
||||
* | | TOG | HUI | SAI | VAI | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
|
||||
* | | MOD | HUD | SAD | VAD | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `-----------------------------------------' `-------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = 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, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
static uint32_t key_timer; // timer for last keyboard activity, use 32bit value and function to make longer idle time possible
|
||||
static void refresh_rgb(void); // refreshes the activity timer and RGB, invoke whenever any activity happens
|
||||
static void check_rgb_timeout(void); // checks if enough time has passed for RGB to timeout
|
||||
bool is_rgb_timeout = false; // store if RGB has timed out or not in a boolean
|
||||
|
||||
void refresh_rgb(void) {
|
||||
key_timer = timer_read32(); // store time of last refresh
|
||||
if (is_rgb_timeout)
|
||||
{
|
||||
is_rgb_timeout = false;
|
||||
rgblight_wakeup();
|
||||
}
|
||||
}
|
||||
void check_rgb_timeout(void) {
|
||||
if (!is_rgb_timeout && timer_elapsed32(key_timer) > RGBLIGHT_TIMEOUT) // check if RGB has already timeout and if enough time has passed
|
||||
{
|
||||
rgblight_suspend();
|
||||
is_rgb_timeout = true;
|
||||
}
|
||||
}
|
||||
/* Then, call the above functions from QMK's built in post processing functions like so */
|
||||
/* Runs at the end of each scan loop, check if RGB timeout has occured or not */
|
||||
void housekeeping_task_user(void) {
|
||||
#ifdef RGBLIGHT_TIMEOUT
|
||||
check_rgb_timeout();
|
||||
#endif
|
||||
}
|
||||
/* Runs after each key press, check if activity occurred */
|
||||
void post_process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
#ifdef RGBLIGHT_TIMEOUT
|
||||
if (record->event.pressed)
|
||||
refresh_rgb();
|
||||
#endif
|
||||
}
|
||||
/* Runs after each encoder tick, check if activity occurred */
|
||||
void post_encoder_update_user(uint8_t index, bool clockwise) {
|
||||
#ifdef RGBLIGHT_TIMEOUT
|
||||
refresh_rgb();
|
||||
#endif
|
||||
}
|
||||
13
keyboards/omkbd/runner3680/5x6_5x8/keymaps/vial/rules.mk
Executable file
13
keyboards/omkbd/runner3680/5x6_5x8/keymaps/vial/rules.mk
Executable file
|
|
@ -0,0 +1,13 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
|
||||
RGBLIGHT_ENABLE = yes
|
||||
|
||||
CONSOLE_ENABLE = yes
|
||||
QMK_SETTINGS = yes
|
||||
|
||||
TAP_DANCE_ENABLE = yes
|
||||
COMBO_ENABLE = yes
|
||||
KEY_OVERRIDE_ENABLE = yes
|
||||
|
||||
CONVERT_TO = promicro_rp2040
|
||||
20
keyboards/omkbd/runner3680/5x6_5x8/keymaps/vial/vial.json
Executable file
20
keyboards/omkbd/runner3680/5x6_5x8/keymaps/vial/vial.json
Executable file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"name": "runner3680 5x6+5x8",
|
||||
"vendorId": "0x3680",
|
||||
"productId": "0x5658",
|
||||
"firmwareVersion": "0.0.5",
|
||||
"lighting": "qmk_rgblight",
|
||||
"matrix": {
|
||||
"rows": 10,
|
||||
"cols": 8
|
||||
},
|
||||
"layouts": {
|
||||
"keymap": [
|
||||
[{"c":"#777777"},"0,2",{"c":"#cccccc"},"0,3","0,4","0,5","0,6","0,7",{"x":0.75},"5,7","5,6","5,5","5,4","5,3",{"c":"#aaaaaa"},"5,2","5,1","5,0"],
|
||||
["1,2","1,3",{"c":"#cccccc"},"1,4","1,5","1,6","1,7",{"x":0.75},"6,7","6,6","6,5","6,4","6,3",{"c":"#aaaaaa"},"6,2","6,1","6,0"],
|
||||
["2,2","2,3",{"c":"#cccccc"},"2,4","2,5","2,6","2,7",{"x":0.75},"7,7","7,6","7,5","7,4",{"c":"#aaaaaa"},"7,3","7,2",{"c":"#777777"},"7,1","7,0"],
|
||||
[{"c":"#aaaaaa"},"3,2","3,3",{"c":"#cccccc"},"3,4","3,5","3,6","3,7",{"x":0.75},"8,7","8,6",{"c":"#aaaaaa"},"8,5","8,4","8,3","8,2","8,1","8,0"],
|
||||
["4,2","4,3","4,4","4,5","4,6","4,7",{"x":0.75},"9,7","9,6","9,5","9,4","9,3","9,2","9,1","9,0"]
|
||||
]
|
||||
}
|
||||
}
|
||||
12
keyboards/piantoruv44/config.h
Normal file
12
keyboards/piantoruv44/config.h
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
// Copyright 2022 beekeeb
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
|
||||
|
||||
#define SERIAL_USART_FULL_DUPLEX
|
||||
#define SERIAL_USART_TX_PIN GP0
|
||||
#define SERIAL_USART_RX_PIN GP1
|
||||
98
keyboards/piantoruv44/keyboard.json
Normal file
98
keyboards/piantoruv44/keyboard.json
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
{
|
||||
"manufacturer": "azhizhinov",
|
||||
"keyboard_name": "PIANTORUV44",
|
||||
"maintainer": "azhizhinov",
|
||||
"bootloader": "rp2040",
|
||||
"bootmagic": {
|
||||
"matrix": [0, 5]
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"direct": [
|
||||
["GP5", "GP4", "GP11", "GP15", "GP3", "GP2"],
|
||||
["GP22", "GP20", "GP10", "GP14", "GP9", "GP8"],
|
||||
["GP21", "GP19", "GP6", "GP7", "GP13", "GP12"],
|
||||
["GP17", "GP18", "GP16", "GP26", null, null]
|
||||
]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"matrix_pins": {
|
||||
"right": {
|
||||
"direct": [
|
||||
["GP2", "GP3", "GP15", "GP11", "GP4", "GP5"],
|
||||
["GP8", "GP9", "GP14", "GP10", "GP20", "GP22"],
|
||||
["GP12", "GP13", "GP7", "GP6", "GP19", "GP21"],
|
||||
["GP26", "GP16", "GP18", "GP17", null, null]
|
||||
]
|
||||
}
|
||||
},
|
||||
"serial": {
|
||||
"driver": "vendor"
|
||||
}
|
||||
},
|
||||
"url": "https://github.com/azhizhinov/PIANTORUV44",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0004",
|
||||
"vid": "0x415A"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0.25},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0.25},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0.125},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0.125},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0.25},
|
||||
{"matrix": [4, 0], "x": 8, "y": 0.25},
|
||||
{"matrix": [4, 1], "x": 9, "y": 0.125},
|
||||
{"matrix": [4, 2], "x": 10, "y": 0},
|
||||
{"matrix": [4, 3], "x": 11, "y": 0.125},
|
||||
{"matrix": [4, 4], "x": 12, "y": 0.25},
|
||||
{"matrix": [4, 5], "x": 13, "y": 0.25},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.125},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1.125},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
{"matrix": [5, 0], "x": 8, "y": 1.25},
|
||||
{"matrix": [5, 1], "x": 9, "y": 1.125},
|
||||
{"matrix": [5, 2], "x": 10, "y": 1},
|
||||
{"matrix": [5, 3], "x": 11, "y": 1.125},
|
||||
{"matrix": [5, 4], "x": 12, "y": 1.25},
|
||||
{"matrix": [5, 5], "x": 13, "y": 1.25},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.25},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2.125},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4, "y": 2.125},
|
||||
{"matrix": [2, 5], "x": 5, "y": 2.25},
|
||||
{"matrix": [6, 0], "x": 8, "y": 2.25},
|
||||
{"matrix": [6, 1], "x": 9, "y": 2.125},
|
||||
{"matrix": [6, 2], "x": 10, "y": 2},
|
||||
{"matrix": [6, 3], "x": 11, "y": 2.125},
|
||||
{"matrix": [6, 4], "x": 12, "y": 2.25},
|
||||
{"matrix": [6, 5], "x": 13, "y": 2.25},
|
||||
{"matrix": [3, 0], "x": 2.5, "y": 3},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 4.5, "y": 3.5},
|
||||
{"matrix": [3, 3], "x": 5.5, "y": 3.75},
|
||||
{"matrix": [7, 0], "x": 7.5, "y": 3.75},
|
||||
{"matrix": [7, 1], "x": 8.5, "y": 3.5},
|
||||
{"matrix": [7, 2], "x": 9.5, "y": 3.25},
|
||||
{"matrix": [7, 3], "x": 10.5, "y": 3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
30
keyboards/piantoruv44/keymaps/default/keymap.c
Normal file
30
keyboards/piantoruv44/keymaps/default/keymap.c
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
// Copyright 2021 azhizhinov (@azhizhinov)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-late
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_TAB, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RBRC,
|
||||
KC_LALT, KC_LSFT, MO(1), KC_BSPC, KC_ENT, MO(2), KC_SPC, RCTL(KC_BSPC)
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
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_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_UP, KC_RGHT, KC_NO, KC_HOME, KC_NO,
|
||||
KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOWN, KC_NO, KC_NO, KC_END, KC_RALT,
|
||||
KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, MO(3), KC_SPC, RCTL(KC_BSPC)
|
||||
),
|
||||
[2] = LAYOUT(
|
||||
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_LCTL, KC_BSPC, KC_C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_LSFT, KC_X, KC_V, KC_S, KC_L, KC_NO, KC_UNDS, KC_PLUS, KC_PMNS, KC_NO, KC_NO, KC_RALT,
|
||||
KC_LALT, KC_LGUI, MO(3), KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC)
|
||||
),
|
||||
[3] = LAYOUT(
|
||||
KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
|
||||
KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_RALT,
|
||||
KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC)
|
||||
)
|
||||
};
|
||||
9
keyboards/piantoruv44/keymaps/vial/config.h
Normal file
9
keyboards/piantoruv44/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
/* keyboard uid */
|
||||
#define VIAL_KEYBOARD_UID {0x09, 0xA9, 0x7F, 0x52, 0x09, 0x0A, 0xAA, 0x6F}
|
||||
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 4 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 5 }
|
||||
|
||||
/* default layer count */
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 10
|
||||
|
||||
30
keyboards/piantoruv44/keymaps/vial/keymap.c
Normal file
30
keyboards/piantoruv44/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
// Copyright 2021 azhizhinov (@azhizhinov)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-late
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_TAB, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RBRC,
|
||||
KC_LALT, KC_LSFT, MO(1), KC_BSPC, KC_ENT, MO(2), KC_SPC, RCTL(KC_BSPC)
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
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_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_UP, KC_RGHT, KC_NO, KC_HOME, KC_NO,
|
||||
KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOWN, KC_NO, KC_NO, KC_END, KC_RALT,
|
||||
KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, MO(3), KC_SPC, RCTL(KC_BSPC)
|
||||
),
|
||||
[2] = LAYOUT(
|
||||
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_LCTL, KC_BSPC, KC_C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_LSFT, KC_X, KC_V, KC_S, KC_L, KC_NO, KC_UNDS, KC_PLUS, KC_PMNS, KC_NO, KC_NO, KC_RALT,
|
||||
KC_LALT, KC_LGUI, MO(3), KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC)
|
||||
),
|
||||
[3] = LAYOUT(
|
||||
KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
|
||||
KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_RALT,
|
||||
KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC)
|
||||
)
|
||||
};
|
||||
3
keyboards/piantoruv44/keymaps/vial/rules.mk
Normal file
3
keyboards/piantoruv44/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
|
||||
233
keyboards/piantoruv44/keymaps/vial/vial.json
Normal file
233
keyboards/piantoruv44/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,233 @@
|
|||
{
|
||||
"name": "piantoruv44",
|
||||
"lighting": "none",
|
||||
"vendorId": "0x415A",
|
||||
"productId": "0x0004",
|
||||
"matrix": {
|
||||
"rows": 8,
|
||||
"cols": 6
|
||||
},
|
||||
"layouts": {
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"x": 3
|
||||
},
|
||||
"0,3",
|
||||
{
|
||||
"x": 8.25
|
||||
},
|
||||
"4,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 2
|
||||
},
|
||||
"0,2",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"0,4",
|
||||
{
|
||||
"x": 6.25
|
||||
},
|
||||
"4,1",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"4,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.9,
|
||||
"x": 5
|
||||
},
|
||||
"0,5",
|
||||
{
|
||||
"x": 4.25
|
||||
},
|
||||
"4,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.3500000000000001
|
||||
},
|
||||
"0,0",
|
||||
"0,1",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"1,3",
|
||||
{
|
||||
"x": 8.25
|
||||
},
|
||||
"5,2",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"4,4",
|
||||
"4,5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 2
|
||||
},
|
||||
"1,2",
|
||||
{
|
||||
"x": 1,
|
||||
"n": true
|
||||
},
|
||||
"1,4",
|
||||
{
|
||||
"x": 6.25,
|
||||
"n": true
|
||||
},
|
||||
"5,1",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"5,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.8999999999999999,
|
||||
"x": 5
|
||||
},
|
||||
"1,5",
|
||||
{
|
||||
"x": 4.25
|
||||
},
|
||||
"5,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.3500000000000001
|
||||
},
|
||||
"1,0",
|
||||
"1,1",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"2,3",
|
||||
{
|
||||
"x": 8.25
|
||||
},
|
||||
"6,2",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"5,4",
|
||||
"5,5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 2
|
||||
},
|
||||
"2,2",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"2,4",
|
||||
{
|
||||
"x": 6.25
|
||||
},
|
||||
"6,1",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"6,3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.8999999999999999,
|
||||
"x": 5
|
||||
},
|
||||
"2,5",
|
||||
{
|
||||
"x": 4.25
|
||||
},
|
||||
"6,0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.3500000000000001
|
||||
},
|
||||
"2,0",
|
||||
"2,1",
|
||||
{
|
||||
"x": 12.25
|
||||
},
|
||||
"6,4",
|
||||
"6,5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.5,
|
||||
"x": 4
|
||||
},
|
||||
"3,0",
|
||||
"3,1",
|
||||
"3,2",
|
||||
"3,3",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"7,0",
|
||||
"7,1",
|
||||
"7,2",
|
||||
"7,3"
|
||||
]
|
||||
],
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0,3], "x": 3, "y": 0},
|
||||
{"matrix": [4,2], "x": 12.25, "y": 0},
|
||||
{"matrix": [0,2], "x": 2, "y": 0.25},
|
||||
{"matrix": [0,4], "x": 4, "y": 0.25},
|
||||
{"matrix": [4,1], "x": 11.25, "y": 0.25},
|
||||
{"matrix": [4,3], "x": 13.25, "y": 0.25},
|
||||
{"matrix": [0,5], "x": 5, "y": 0.35},
|
||||
{"matrix": [4,0], "x": 10.25, "y": 0.35},
|
||||
{"matrix": [0,0], "x": 0, "y": 1.0},
|
||||
{"matrix": [0,1], "x": 1, "y": 1.0},
|
||||
{"matrix": [1,3], "x": 3, "y": 1.0},
|
||||
{"matrix": [5,2], "x": 12.25, "y": 1.0},
|
||||
{"matrix": [4,4], "x": 14.25, "y": 1.0},
|
||||
{"matrix": [4,5], "x": 15.25, "y": 1.0},
|
||||
{"matrix": [1,2], "x": 2, "y": 1.25},
|
||||
{"matrix": [1,4], "x": 4, "y": 1.25},
|
||||
{"matrix": [5,1], "x": 11.25, "y": 1.25},
|
||||
{"matrix": [5,3], "x": 13.25, "y": 1.25},
|
||||
{"matrix": [1,5], "x": 5, "y": 1.35},
|
||||
{"matrix": [5,0], "x": 10.25, "y": 1.35},
|
||||
{"matrix": [1,0], "x": 0, "y": 2.0},
|
||||
{"matrix": [1,1], "x": 1, "y": 2.0},
|
||||
{"matrix": [2,3], "x": 3, "y": 2.0},
|
||||
{"matrix": [6,2], "x": 12.25, "y": 2.0},
|
||||
{"matrix": [5,4], "x": 14.25, "y": 2.0},
|
||||
{"matrix": [5,5], "x": 15.25, "y": 2.0},
|
||||
{"matrix": [2,2], "x": 2, "y": 2.25},
|
||||
{"matrix": [2,4], "x": 4, "y": 2.25},
|
||||
{"matrix": [6,1], "x": 11.25, "y": 2.25},
|
||||
{"matrix": [6,3], "x": 13.25, "y": 2.25},
|
||||
{"matrix": [2,5], "x": 5, "y": 2.35},
|
||||
{"matrix": [6,0], "x": 10.25, "y": 2.35},
|
||||
{"matrix": [2,0], "x": 0, "y": 3.0},
|
||||
{"matrix": [2,1], "x": 1, "y": 3.0},
|
||||
{"matrix": [6,4], "x": 14.25, "y": 3.0},
|
||||
{"matrix": [6,5], "x": 15.25, "y": 3.0},
|
||||
{"matrix": [3,0], "x": 4, "y": 3.5},
|
||||
{"matrix": [3,1], "x": 5, "y": 3.5},
|
||||
{"matrix": [3,2], "x": 6, "y": 3.5},
|
||||
{"matrix": [3,3], "x": 7, "y": 3.5},
|
||||
{"matrix": [7,0], "x": 8.25, "y": 3.5},
|
||||
{"matrix": [7,1], "x": 9.25, "y": 3.5},
|
||||
{"matrix": [7,2], "x": 10.25, "y": 3.5},
|
||||
{"matrix": [7,3], "x": 11.25, "y": 3.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
27
keyboards/piantoruv44/readme.md
Normal file
27
keyboards/piantoruv44/readme.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# Piantor UV 44
|
||||
|
||||

|
||||
|
||||
PiantorUV44 is a Piantor/Cantor fork with Raspberry Pi Pico, hybrid hotswap socket and soldered-in switches support and flippable PCB.
|
||||
|
||||
* Keyboard Maintainer: [azhizhinov](https://github.com/azhizhinov)
|
||||
* Hardware Supported: RP2040
|
||||
* Hardware Availability: https://github.com/azhizhinov/PIANTORUV44
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make piantoruv44:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make piantoruv44: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 2 ways:
|
||||
|
||||
* **Physical reset button**: Hold the `BOOT` button on the Pico and press the `RST` button on the Pico, release the the `RST` button before the `BOOT` button.
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
Once you enter the bootloader, the keyboard will show up as a USB device on your computer, you could drag and drop a firmware file to flash it, but I recommend using the flash commands for the respective side.
|
||||
36
keyboards/planck/light/keymaps/vial/config.h
Normal file
36
keyboards/planck/light/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
# define STARTUP_SONG SONG(PLANCK_SOUND)
|
||||
// #define STARTUP_SONG SONG(NO_SOUND)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* MIDI options
|
||||
*/
|
||||
|
||||
/* enable basic MIDI features:
|
||||
- MIDI notes can be sent when in Music mode is on
|
||||
*/
|
||||
|
||||
#define MIDI_BASIC
|
||||
|
||||
/* enable advanced MIDI features:
|
||||
- MIDI notes can be added to the keymap
|
||||
- Octave shift and transpose
|
||||
- Virtual sustain, portamento, and modulation wheel
|
||||
- etc.
|
||||
*/
|
||||
//#define MIDI_ADVANCED
|
||||
|
||||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x7B, 0xA5, 0x7F, 0x5C, 0x13, 0x4C, 0x8D, 0x69}
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 8
|
||||
|
||||
// Unlock combo is set to 'Escape' + 'Space'
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 3 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 5 }
|
||||
94
keyboards/planck/light/keymaps/vial/keymap.c
Normal file
94
keyboards/planck/light/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
/* Copyright 2015-2017 Jack Humbert
|
||||
* Updated 2020 mixedfeelings
|
||||
*
|
||||
* 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
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[0] = LAYOUT_ortho_4x12 (
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_ESC, 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, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_SENT,
|
||||
KC_NO, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | |Adjust| Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[1] = LAYOUT_ortho_4x12 (
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | |Adjust| | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[2] = LAYOUT_ortho_4x12 (
|
||||
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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Utility
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | |Boot | | | | | | | | | |Del |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[3] = LAYOUT_ortho_4x12 (
|
||||
KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
|
||||
};
|
||||
7
keyboards/planck/light/keymaps/vial/rules.mk
Normal file
7
keyboards/planck/light/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
VIALRGB_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
|
||||
# Not enough USB endpoints
|
||||
CONSOLE_ENABLE = no
|
||||
81
keyboards/planck/light/keymaps/vial/vial.json
Normal file
81
keyboards/planck/light/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
{
|
||||
"name": "OLKB Planck Light",
|
||||
"lighting": "vialrgb",
|
||||
"matrix": {"rows": 4, "cols": 12},
|
||||
"layouts": {
|
||||
"labels": [["Layout", "MIT (1x2u)", "Grid (2x1u)"]],
|
||||
"keymap": [
|
||||
[
|
||||
{"c":"#aaaaaa"},
|
||||
"0,0",
|
||||
{"c":"#cccccc"},
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
"0,5",
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
"0,9",
|
||||
"0,10",
|
||||
{"c":"#aaaaaa"},
|
||||
"0,11"
|
||||
],
|
||||
[
|
||||
"1,0",
|
||||
{"c":"#cccccc"},
|
||||
"1,1",
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
"1,8",
|
||||
"1,9",
|
||||
"1,10",
|
||||
{"c":"#aaaaaa"},
|
||||
"1,11"
|
||||
],
|
||||
[
|
||||
"2,0",
|
||||
{"c":"#cccccc"},
|
||||
"2,1",
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
"2,8",
|
||||
"2,9",
|
||||
"2,10",
|
||||
{"c":"#aaaaaa"},
|
||||
"2,11"
|
||||
],
|
||||
[
|
||||
"3,0",
|
||||
"3,1",
|
||||
"3,2",
|
||||
"3,3",
|
||||
{"c":"#777777"},
|
||||
"3,4",
|
||||
{"c":"#cccccc","w":2},
|
||||
"3,5\n\n\n0,0",
|
||||
{"c":"#777777"},
|
||||
"3,7",
|
||||
{"c":"#aaaaaa"},
|
||||
"3,8",
|
||||
"3,9",
|
||||
"3,10",
|
||||
"3,11"
|
||||
],
|
||||
[
|
||||
{"y":0.25,"x":5,"c":"#cccccc"},
|
||||
"3,5\n\n\n0,1",
|
||||
"3,6\n\n\n0,1"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
7
keyboards/werk_technica/one/keymaps/vial/config.h
Normal file
7
keyboards/werk_technica/one/keymaps/vial/config.h
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VIAL_KEYBOARD_UID {0x44, 0xF1, 0x06, 0xC9, 0x51, 0x2B, 0x4F, 0x2F}
|
||||
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
|
||||
#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }
|
||||
55
keyboards/werk_technica/one/keymaps/vial/keymap.c
Normal file
55
keyboards/werk_technica/one/keymaps/vial/keymap.c
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
/* Copyright 2023 Moritz Plattner
|
||||
*
|
||||
* 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_all( /* keymap for layer 0 */
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, LT(2, KC_MUTE),
|
||||
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_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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, LT(1, KC_APP), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_all( /* keymap for layer 1 */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[2] = LAYOUT_all( /* keymap for layer 2 */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
|
||||
[2] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
|
||||
};
|
||||
#endif
|
||||
5
keyboards/werk_technica/one/keymaps/vial/rules.mk
Normal file
5
keyboards/werk_technica/one/keymaps/vial/rules.mk
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
ENCODER_MAP_ENABLE = yes
|
||||
|
||||
# VIAL support: https://get.vial.today/docs/porting-to-vial.html
|
||||
VIA_ENABLE = yes
|
||||
VIAL_ENABLE = yes
|
||||
359
keyboards/werk_technica/one/keymaps/vial/vial.json
Normal file
359
keyboards/werk_technica/one/keymaps/vial/vial.json
Normal file
|
|
@ -0,0 +1,359 @@
|
|||
{
|
||||
"name": "werk.technica's One",
|
||||
"vendorId": "0x7774",
|
||||
"productId": "0x0001",
|
||||
"matrix": {
|
||||
"rows": 6,
|
||||
"cols": 15
|
||||
},
|
||||
"layouts": {
|
||||
"labels": [
|
||||
"Split Backspace",
|
||||
"ISO Enter",
|
||||
"Split Left Shift",
|
||||
[
|
||||
"Bottom Row",
|
||||
"6.25u Regular",
|
||||
"6u Tsangan",
|
||||
"Split 2.75/1.25/2.25",
|
||||
"Split 2.25/1.25/2.75"
|
||||
],
|
||||
"Encoder"
|
||||
],
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"x": 2.75,
|
||||
"c": "#777777"
|
||||
},
|
||||
"0,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"0,5",
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,9",
|
||||
"0,10",
|
||||
"0,11",
|
||||
"0,12",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"0,13",
|
||||
{
|
||||
"x": 0.25,
|
||||
"d": true
|
||||
},
|
||||
"\n\n\n4,0",
|
||||
{
|
||||
"x": 0.75
|
||||
},
|
||||
"3,13\n\n\n4,1\n\n\n\n\n\ne0"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.25,
|
||||
"x": 2.75,
|
||||
"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
|
||||
},
|
||||
"0,14\n\n\n0,0",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"1,14",
|
||||
{
|
||||
"x": 0.75,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,13\n\n\n0,1",
|
||||
{
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"0,14\n\n\n0,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.75,
|
||||
"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\n1,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"2,14",
|
||||
{
|
||||
"x": 1.5,
|
||||
"c": "#777777",
|
||||
"w": 1.25,
|
||||
"h": 2,
|
||||
"w2": 1.5,
|
||||
"h2": 1,
|
||||
"x2": -0.25
|
||||
},
|
||||
"2,13\n\n\n1,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.75,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"3,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,1",
|
||||
"3,2",
|
||||
"3,3",
|
||||
"3,4",
|
||||
{
|
||||
"n": true
|
||||
},
|
||||
"3,5",
|
||||
"3,6",
|
||||
"3,7",
|
||||
{
|
||||
"n": true
|
||||
},
|
||||
"3,8",
|
||||
"3,9",
|
||||
"3,10",
|
||||
"3,11",
|
||||
{
|
||||
"c": "#777777",
|
||||
"w": 2.25
|
||||
},
|
||||
"3,12\n\n\n1,0",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"3,14",
|
||||
{
|
||||
"x": 0.5,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,12\n\n\n1,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"4,0\n\n\n2,1",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"4,1\n\n\n2,1",
|
||||
{
|
||||
"x": 0.5,
|
||||
"c": "#aaaaaa",
|
||||
"w": 2.25
|
||||
},
|
||||
"4,0\n\n\n2,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": 1.75
|
||||
},
|
||||
"4,12"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 17,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"4,13"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.25,
|
||||
"x": 2.75,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"5,0\n\n\n3,0",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,1\n\n\n3,0",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,2\n\n\n3,0",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 6.25
|
||||
},
|
||||
"5,6\n\n\n3,0",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"5,10",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"5,11"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 16,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"5,12",
|
||||
"5,13",
|
||||
"5,14"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2.75,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.5
|
||||
},
|
||||
"5,0\n\n\n3,1",
|
||||
"5,1\n\n\n3,1",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"5,2\n\n\n3,1",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 6
|
||||
},
|
||||
"5,6\n\n\n3,1"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.25,
|
||||
"x": 2.75,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"5,0\n\n\n3,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,1\n\n\n3,2",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,2\n\n\n3,2",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 2.75
|
||||
},
|
||||
"5,4\n\n\n3,2",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"5,6\n\n\n3,2",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 2.25
|
||||
},
|
||||
"5,8\n\n\n3,2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.25,
|
||||
"x": 2.75,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"5,0\n\n\n3,3",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,1\n\n\n3,3",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,2\n\n\n3,3",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 2.25
|
||||
},
|
||||
"5,4\n\n\n3,3",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"5,6\n\n\n3,3",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"w": 2.75
|
||||
},
|
||||
"5,8\n\n\n3,3"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue