mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-08-08 13:52:02 +00:00
Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
88780bf710 | ||
![]() |
a4be9b0ccb | ||
![]() |
7f413e9f01 | ||
![]() |
a4b36f0b4b | ||
![]() |
9b41e8168d | ||
![]() |
e206a1684e | ||
![]() |
62a90945c7 | ||
![]() |
0b62a4ef72 | ||
![]() |
c55c7fed83 | ||
![]() |
40380c2684 | ||
![]() |
a68b620112 | ||
![]() |
aa7628641c | ||
![]() |
ea4136bc2b | ||
![]() |
cdf640578b |
@@ -434,6 +434,75 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
This allows you to toggle between scrolling and cursor movement by pressing the DRAG_SCROLL key.
|
||||
|
||||
### Advanced Drag Scroll
|
||||
|
||||
Sometimes, like with the Cirque trackpad, you will run into issues where the scrolling may be too fast.
|
||||
|
||||
Here is a slightly more advanced example of drag scrolling. You will be able to change the scroll speed based on the values in set in `SCROLL_DIVISOR_H` and `SCROLL_DIVISOR_V`. This bit of code is also set up so that instead of toggling the scrolling state with set_scrolling = !set_scrolling, the set_scrolling variable is set directly to record->event.pressed. This way, the drag scrolling will only be active while the DRAG_SCROLL button is held down.
|
||||
|
||||
```c
|
||||
enum custom_keycodes {
|
||||
DRAG_SCROLL = SAFE_RANGE,
|
||||
};
|
||||
|
||||
bool set_scrolling = false;
|
||||
|
||||
// Modify these values to adjust the scrolling speed
|
||||
#define SCROLL_DIVISOR_H 8.0
|
||||
#define SCROLL_DIVISOR_V 8.0
|
||||
|
||||
// Variables to store accumulated scroll values
|
||||
float scroll_accumulated_h = 0;
|
||||
float scroll_accumulated_v = 0;
|
||||
|
||||
// Function to handle mouse reports and perform drag scrolling
|
||||
report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
|
||||
// Check if drag scrolling is active
|
||||
if (set_scrolling) {
|
||||
// Calculate and accumulate scroll values based on mouse movement and divisors
|
||||
scroll_accumulated_h += (float)mouse_report.x / SCROLL_DIVISOR_H;
|
||||
scroll_accumulated_v += (float)mouse_report.y / SCROLL_DIVISOR_V;
|
||||
|
||||
// Assign integer parts of accumulated scroll values to the mouse report
|
||||
mouse_report.h = (int8_t)scroll_accumulated_h;
|
||||
mouse_report.v = (int8_t)scroll_accumulated_v;
|
||||
|
||||
// Update accumulated scroll values by subtracting the integer parts
|
||||
scroll_accumulated_h -= (int8_t)scroll_accumulated_h;
|
||||
scroll_accumulated_v -= (int8_t)scroll_accumulated_v;
|
||||
|
||||
// Clear the X and Y values of the mouse report
|
||||
mouse_report.x = 0;
|
||||
mouse_report.y = 0;
|
||||
}
|
||||
return mouse_report;
|
||||
}
|
||||
|
||||
// Function to handle key events and enable/disable drag scrolling
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case DRAG_SCROLL:
|
||||
// Toggle set_scrolling when DRAG_SCROLL key is pressed or released
|
||||
set_scrolling = record->event.pressed;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Function to handle layer changes and disable drag scrolling when not in AUTO_MOUSE_DEFAULT_LAYER
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
// Disable set_scrolling if the current layer is not the AUTO_MOUSE_DEFAULT_LAYER
|
||||
if (get_highest_layer(state) != AUTO_MOUSE_DEFAULT_LAYER) {
|
||||
set_scrolling = false;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
## Split Examples
|
||||
|
||||
The following examples make use the `SPLIT_POINTING_ENABLE` functionality and show how to manipulate the mouse report for a scrolling mode.
|
||||
|
71
keyboards/1upkeyboards/pi50/config.h
Normal file
71
keyboards/1upkeyboards/pi50/config.h
Normal file
@@ -0,0 +1,71 @@
|
||||
// Copyright 2023 ziptyze
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define OLED_DISPLAY_128X32
|
||||
#define I2C1_SCL_PIN GP11
|
||||
#define I2C1_SDA_PIN GP10
|
||||
#define I2C_DRIVER I2CD1
|
||||
#define OLED_BRIGHTNESS 128
|
||||
#define OLED_FONT_H "keyboards/1upkeyboards/pi50/lib/glcdfont.c"
|
||||
|
||||
#define RGB_DI_PIN GP0
|
||||
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
# define RGBLIGHT_LIMIT_VAL 150
|
||||
# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
|
||||
// RGB Matrix Animation modes. Explicitly enabled
|
||||
// For full list of effects, see:
|
||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
|
||||
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
# define ENABLE_RGB_MATRIX_BREATHING
|
||||
# define ENABLE_RGB_MATRIX_BAND_SAT
|
||||
# define ENABLE_RGB_MATRIX_BAND_VAL
|
||||
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||
# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
# define ENABLE_RGB_MATRIX_DUAL_BEACON
|
||||
# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
|
||||
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
# define ENABLE_RGB_MATRIX_RAINDROPS
|
||||
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
# define ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||
# define ENABLE_RGB_MATRIX_HUE_PENDULUM
|
||||
# define ENABLE_RGB_MATRIX_HUE_WAVE
|
||||
# define ENABLE_RGB_MATRIX_PIXEL_RAIN
|
||||
# define ENABLE_RGB_MATRIX_PIXEL_FLOW
|
||||
# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
||||
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
|
||||
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
# define ENABLE_RGB_MATRIX_SPLASH
|
||||
# define ENABLE_RGB_MATRIX_MULTISPLASH
|
||||
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
4
keyboards/1upkeyboards/pi50/grid/config.h
Normal file
4
keyboards/1upkeyboards/pi50/grid/config.h
Normal file
@@ -0,0 +1,4 @@
|
||||
// Copyright 2023 ziptyze (@ziptyze)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#define RGB_MATRIX_LED_COUNT 60
|
142
keyboards/1upkeyboards/pi50/grid/info.json
Normal file
142
keyboards/1upkeyboards/pi50/grid/info.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"rgb_matrix": {
|
||||
"layout": [
|
||||
{ "flags": 1, "matrix": [0, 0], "x": 10, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 0], "x": 28, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 1], "x": 46, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 1], "x": 65, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 2], "x": 84, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 2], "x": 102, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 3], "x": 121, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 3], "x": 140, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 4], "x": 159, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 4], "x": 177, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 5], "x": 196, "y": 7 },
|
||||
{ "flags": 1, "matrix": [1, 5], "x": 215, "y": 7 },
|
||||
|
||||
{ "flags": 1, "matrix": [3, 5], "x": 215, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 5], "x": 196, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 4], "x": 177, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 4], "x": 159, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 3], "x": 140, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 3], "x": 121, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 2], "x": 102, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 2], "x": 84, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 1], "x": 65, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 1], "x": 46, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 0], "x": 28, "y": 19 },
|
||||
{ "flags": 1, "matrix": [2, 0], "x": 9, "y": 19 },
|
||||
|
||||
{ "flags": 1, "matrix": [4, 0], "x": 9, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 0], "x": 28, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 1], "x": 46, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 1], "x": 65, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 2], "x": 84, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 2], "x": 102, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 3], "x": 121, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 3], "x": 140, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 4], "x": 159, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 4], "x": 177, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 5], "x": 196, "y": 32 },
|
||||
{ "flags": 1, "matrix": [5, 5], "x": 215, "y": 32 },
|
||||
|
||||
{ "flags": 1, "matrix": [7, 5], "x": 215, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 5], "x": 196, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 4], "x": 177, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 4], "x": 159, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 3], "x": 140, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 3], "x": 121, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 2], "x": 102, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 2], "x": 84, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 1], "x": 65, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 1], "x": 46, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 0], "x": 28, "y": 45 },
|
||||
{ "flags": 1, "matrix": [6, 0], "x": 9, "y": 45 },
|
||||
|
||||
{ "flags": 1, "matrix": [8, 0], "x": 9, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 0], "x": 28, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 1], "x": 46, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 1], "x": 65, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 2], "x": 84, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 2], "x": 102, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 3], "x": 140, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 4], "x": 159, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 4], "x": 177, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 5], "x": 196, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 5], "x": 215, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 3], "x": 121, "y": 57 }
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_5x12": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 6], "x": 11, "y": 0 },
|
||||
|
||||
{ "matrix": [0, 0], "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 0], "x": 1, "y": 1 },
|
||||
{ "matrix": [0, 1], "x": 2, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 3, "y": 1 },
|
||||
{ "matrix": [0, 2], "x": 4, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 5, "y": 1 },
|
||||
{ "matrix": [0, 3], "x": 6, "y": 1 },
|
||||
{ "matrix": [1, 3], "x": 7, "y": 1 },
|
||||
{ "matrix": [0, 4], "x": 8, "y": 1 },
|
||||
{ "matrix": [1, 4], "x": 9, "y": 1 },
|
||||
{ "matrix": [0, 5], "x": 10, "y": 1 },
|
||||
{ "matrix": [1, 5], "x": 11, "y": 1 },
|
||||
|
||||
{ "matrix": [2, 0], "x": 0, "y": 2 },
|
||||
{ "matrix": [3, 0], "x": 1, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 2, "y": 2 },
|
||||
{ "matrix": [3, 1], "x": 3, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 4, "y": 2 },
|
||||
{ "matrix": [3, 2], "x": 5, "y": 2 },
|
||||
{ "matrix": [2, 3], "x": 6, "y": 2 },
|
||||
{ "matrix": [3, 3], "x": 7, "y": 2 },
|
||||
{ "matrix": [2, 4], "x": 8, "y": 2 },
|
||||
{ "matrix": [3, 4], "x": 9, "y": 2 },
|
||||
{ "matrix": [2, 5], "x": 10, "y": 2 },
|
||||
{ "matrix": [3, 5], "x": 11, "y": 2 },
|
||||
|
||||
{ "matrix": [4, 0], "x": 0, "y": 3 },
|
||||
{ "matrix": [5, 0], "x": 1, "y": 3 },
|
||||
{ "matrix": [4, 1], "x": 2, "y": 3 },
|
||||
{ "matrix": [5, 1], "x": 3, "y": 3 },
|
||||
{ "matrix": [4, 2], "x": 4, "y": 3 },
|
||||
{ "matrix": [5, 2], "x": 5, "y": 3 },
|
||||
{ "matrix": [4, 3], "x": 6, "y": 3 },
|
||||
{ "matrix": [5, 3], "x": 7, "y": 3 },
|
||||
{ "matrix": [4, 4], "x": 8, "y": 3 },
|
||||
{ "matrix": [5, 4], "x": 9, "y": 3 },
|
||||
{ "matrix": [4, 5], "x": 10, "y": 3 },
|
||||
{ "matrix": [5, 5], "x": 11, "y": 3 },
|
||||
|
||||
{ "matrix": [6, 0], "x": 0, "y": 4 },
|
||||
{ "matrix": [7, 0], "x": 1, "y": 4 },
|
||||
{ "matrix": [6, 1], "x": 2, "y": 4 },
|
||||
{ "matrix": [7, 1], "x": 3, "y": 4 },
|
||||
{ "matrix": [6, 2], "x": 4, "y": 4 },
|
||||
{ "matrix": [7, 2], "x": 5, "y": 4 },
|
||||
{ "matrix": [6, 3], "x": 6, "y": 4 },
|
||||
{ "matrix": [7, 3], "x": 7, "y": 4 },
|
||||
{ "matrix": [6, 4], "x": 8, "y": 4 },
|
||||
{ "matrix": [7, 4], "x": 9, "y": 4 },
|
||||
{ "matrix": [6, 5], "x": 10, "y": 4 },
|
||||
{ "matrix": [7, 5], "x": 11, "y": 4 },
|
||||
|
||||
{ "matrix": [8, 0], "x": 0, "y": 5 },
|
||||
{ "matrix": [9, 0], "x": 1, "y": 5 },
|
||||
{ "matrix": [8, 1], "x": 2, "y": 5 },
|
||||
{ "matrix": [9, 1], "x": 3, "y": 5 },
|
||||
{ "matrix": [8, 2], "x": 4, "y": 5 },
|
||||
{ "matrix": [9, 2], "x": 5, "y": 5 },
|
||||
{ "matrix": [8, 3], "x": 6, "y": 5 },
|
||||
{ "matrix": [9, 3], "x": 7, "y": 5 },
|
||||
{ "matrix": [8, 4], "x": 8, "y": 5 },
|
||||
{ "matrix": [9, 4], "x": 9, "y": 5 },
|
||||
{ "matrix": [8, 5], "x": 10, "y": 5 },
|
||||
{ "matrix": [9, 5], "x": 11, "y": 5 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
0
keyboards/1upkeyboards/pi50/grid/rules.mk
Normal file
0
keyboards/1upkeyboards/pi50/grid/rules.mk
Normal file
7
keyboards/1upkeyboards/pi50/halconf.h
Normal file
7
keyboards/1upkeyboards/pi50/halconf.h
Normal file
@@ -0,0 +1,7 @@
|
||||
// Copyright 2023 ziptyze
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_I2C TRUE
|
||||
|
||||
#include_next <halconf.h>
|
42
keyboards/1upkeyboards/pi50/info.json
Normal file
42
keyboards/1upkeyboards/pi50/info.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"keyboard_name": "pi50",
|
||||
"manufacturer": "1upkeyboards",
|
||||
"maintainer": "ziptyze",
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"board": "GENERIC_RP_RP2040",
|
||||
"usb": {
|
||||
"vid": "0x6F75",
|
||||
"pid": "0x5606",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"dynamic_keymap": {
|
||||
"layer_count": 10
|
||||
},
|
||||
"features": {
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"rgb_matrix": true,
|
||||
"rgblight": false
|
||||
},
|
||||
"matrix_pins": {
|
||||
"rows": ["GP20", "GP15", "GP19", "GP14", "GP18", "GP13", "GP17", "GP12", "GP16", "GP21"],
|
||||
"cols": ["GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP9"]
|
||||
},
|
||||
"encoder": {
|
||||
"enabled": true,
|
||||
"rotary": [
|
||||
{"pin_a": "GP8", "pin_b": "GP7"}
|
||||
]
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "WS2812"
|
||||
}
|
||||
}
|
136
keyboards/1upkeyboards/pi50/keymaps/default/keymap.c
Normal file
136
keyboards/1upkeyboards/pi50/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,136 @@
|
||||
/* Copyright 2023 ziptyze
|
||||
*
|
||||
* 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_names {
|
||||
_ONE = 0,
|
||||
_TWO,
|
||||
_THREE,
|
||||
_FOUR
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* |RGBTOG|
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ONE] = LAYOUT_ortho_5x12 (
|
||||
RGB_TOG,
|
||||
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
|
||||
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, KC_ENT ,
|
||||
MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | MUTE |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_TWO] = LAYOUT_ortho_5x12 (
|
||||
KC_MUTE,
|
||||
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_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||
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_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | MUTE |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | Pg Up| Pg Dn| |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_THREE] = LAYOUT_ortho_5x12 (
|
||||
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_BSPC,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
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_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | MUTE |
|
||||
* v-----------------------RGB CONTROL------------------v ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | Reset| Debug| | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | |Aud cy|Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_FOUR] = LAYOUT_ortho_5x12 (
|
||||
KC_MUTE,
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
|
||||
_______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
|
||||
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
[_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FOUR] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }
|
||||
};
|
||||
#endif
|
1
keyboards/1upkeyboards/pi50/keymaps/default/rules.mk
Normal file
1
keyboards/1upkeyboards/pi50/keymaps/default/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
286
keyboards/1upkeyboards/pi50/keymaps/via/keymap.c
Normal file
286
keyboards/1upkeyboards/pi50/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,286 @@
|
||||
/* Copyright 2023 ziptyze
|
||||
*
|
||||
* 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_names {
|
||||
_ONE = 0,
|
||||
_TWO,
|
||||
_THREE,
|
||||
_FOUR,
|
||||
_FIVE,
|
||||
_SIX,
|
||||
_SEVEN,
|
||||
_EIGHT,
|
||||
_NINE,
|
||||
_TEN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* |RGBTOG|
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ONE] = LAYOUT_ortho_5x12 (
|
||||
RGB_TOG,
|
||||
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
|
||||
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, KC_ENT ,
|
||||
MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | MUTE |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_TWO] = LAYOUT_ortho_5x12 (
|
||||
KC_MUTE,
|
||||
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_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||
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_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | MUTE |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | Pg Up| Pg Dn| |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_THREE] = LAYOUT_ortho_5x12 (
|
||||
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_BSPC,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
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_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | MUTE |
|
||||
* v-----------------------RGB CONTROL------------------v ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | Reset| Debug| | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | |Aud cy|Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_FOUR] = LAYOUT_ortho_5x12 (
|
||||
KC_MUTE,
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
|
||||
_______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
|
||||
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Placeholder
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_FIVE] = LAYOUT_ortho_5x12 (
|
||||
_______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Placeholder
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_SIX] = LAYOUT_ortho_5x12 (
|
||||
_______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Placeholder
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_SEVEN] = LAYOUT_ortho_5x12 (
|
||||
_______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Placeholder
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_EIGHT] = LAYOUT_ortho_5x12 (
|
||||
_______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Placeholder
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_NINE] = LAYOUT_ortho_5x12 (
|
||||
_______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Placeholder
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_TEN] = LAYOUT_ortho_5x12 (
|
||||
_______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
[_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FOUR] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FIVE] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_SIX] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_SEVEN] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_EIGHT] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_NINE] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_TEN] = { ENCODER_CCW_CW(_______, _______) },
|
||||
};
|
||||
#endif
|
4
keyboards/1upkeyboards/pi50/keymaps/via/rules.mk
Normal file
4
keyboards/1upkeyboards/pi50/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,4 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
|
||||
ENCODER_MAP_ENABLE = yes
|
231
keyboards/1upkeyboards/pi50/lib/glcdfont.c
Normal file
231
keyboards/1upkeyboards/pi50/lib/glcdfont.c
Normal file
@@ -0,0 +1,231 @@
|
||||
// Copyright 2022 @filterpaper
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
#include "progmem.h"
|
||||
|
||||
static const unsigned char PROGMEM font[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
|
||||
0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
|
||||
0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
|
||||
0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
|
||||
0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
|
||||
0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
|
||||
0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
|
||||
0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
|
||||
0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
|
||||
0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
|
||||
0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
|
||||
0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
|
||||
0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
|
||||
0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
|
||||
0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
|
||||
0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
|
||||
0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
|
||||
0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
|
||||
0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
|
||||
0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
|
||||
0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
|
||||
0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
|
||||
0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
|
||||
0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
|
||||
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
|
||||
0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
|
||||
0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
|
||||
0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
|
||||
0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
|
||||
0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
|
||||
0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
|
||||
0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
|
||||
0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
|
||||
0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
|
||||
0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
|
||||
0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
|
||||
0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
|
||||
0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
|
||||
0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
|
||||
0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
|
||||
0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
|
||||
0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
|
||||
0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
|
||||
0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
|
||||
0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
|
||||
0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
|
||||
0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
|
||||
0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
|
||||
0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
|
||||
0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
|
||||
0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
|
||||
0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
|
||||
0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
|
||||
0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
|
||||
0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
|
||||
0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
|
||||
0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
|
||||
0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
|
||||
0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
|
||||
0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
|
||||
0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
|
||||
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
|
||||
0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
|
||||
0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
|
||||
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
|
||||
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
|
||||
0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
|
||||
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
|
||||
0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
|
||||
0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
|
||||
0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
|
||||
0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
|
||||
0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
|
||||
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
|
||||
0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
|
||||
0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
|
||||
0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
|
||||
0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
|
||||
0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
|
||||
0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
|
||||
0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
|
||||
0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
|
||||
0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
|
||||
0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
|
||||
0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
|
||||
0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
|
||||
0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
|
||||
0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
|
||||
0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
|
||||
0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
|
||||
0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
|
||||
0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
|
||||
0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
|
||||
0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
|
||||
0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
|
||||
0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
|
||||
0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
|
||||
0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
|
||||
0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
|
||||
0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
|
||||
0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
|
||||
0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
|
||||
0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
|
||||
0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
|
||||
0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
|
||||
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
|
||||
0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
|
||||
0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
|
||||
0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
|
||||
0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
|
||||
0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
|
||||
0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
|
||||
0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
|
||||
0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
|
||||
0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xE0, 0x18, 0x02,
|
||||
0x00, 0x3C, 0x1E, 0x06, 0x0E, 0x0A,
|
||||
0x1A, 0x0E, 0x26, 0xFF, 0xBF, 0x0D,
|
||||
0x00, 0x80, 0x80, 0x81, 0xFF, 0xFE,
|
||||
0xF8, 0x01, 0x01, 0x03, 0x03, 0x03,
|
||||
0x03, 0x05, 0x05, 0x02, 0x02, 0x0A,
|
||||
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
|
||||
0x0C, 0x04, 0x10, 0x18, 0x20, 0xC0,
|
||||
0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xD0, 0x58, 0x78,
|
||||
0x68, 0x2C, 0x24, 0x34, 0xF4, 0xF4,
|
||||
0x3C, 0x3C, 0xFC, 0xF8, 0xF8, 0x70,
|
||||
0xF0, 0xE0, 0xE0, 0xC0, 0xC0, 0x80,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xC0, 0x7C, 0x07, 0x80, 0xE0,
|
||||
0x60, 0x64, 0xE2, 0x60, 0x10, 0x10,
|
||||
0x20, 0x22, 0x12, 0x17, 0x3F, 0x0B,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
|
||||
0x6F, 0xFC, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
|
||||
0x60, 0x60, 0x70, 0x70, 0xF0, 0xF0,
|
||||
0xD0, 0xD0, 0xD0, 0xD0, 0x50, 0x50,
|
||||
0x50, 0x70, 0x78, 0x78, 0x78, 0x7C,
|
||||
0x7F, 0x7D, 0x7C, 0x5E, 0x4F, 0x44,
|
||||
0x40, 0x40, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x38, 0x30, 0x30, 0x30, 0x30,
|
||||
0x30, 0x30, 0x58, 0x46, 0x47, 0x41,
|
||||
0x41, 0x01, 0x01, 0x03, 0x03, 0x42,
|
||||
0x42, 0x42, 0x46, 0x46, 0x46, 0x46,
|
||||
0x42, 0x43, 0x43, 0x73, 0x77, 0x72,
|
||||
0x70, 0x60, 0x60, 0x60, 0x60, 0x60,
|
||||
0x60, 0x61, 0x67, 0x6F, 0x7E, 0x78,
|
||||
0x78, 0x70, 0x70, 0x70, 0x70, 0x70,
|
||||
0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
|
||||
0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
|
||||
0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
|
||||
0x40, 0x40, 0x40, 0x48, 0x58, 0x58,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
10
keyboards/1upkeyboards/pi50/mcuconf.h
Normal file
10
keyboards/1upkeyboards/pi50/mcuconf.h
Normal file
@@ -0,0 +1,10 @@
|
||||
// Copyright 2023 ziptyze
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef RP_I2C_USE_I2C0
|
||||
#undef RP_I2C_USE_I2C1
|
||||
#define RP_I2C_USE_I2C0 FALSE
|
||||
#define RP_I2C_USE_I2C1 TRUE
|
4
keyboards/1upkeyboards/pi50/mit/config.h
Normal file
4
keyboards/1upkeyboards/pi50/mit/config.h
Normal file
@@ -0,0 +1,4 @@
|
||||
// Copyright 2023 ziptyze (@ziptyze)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#define RGB_MATRIX_LED_COUNT 59
|
141
keyboards/1upkeyboards/pi50/mit/info.json
Normal file
141
keyboards/1upkeyboards/pi50/mit/info.json
Normal file
@@ -0,0 +1,141 @@
|
||||
{
|
||||
"rgb_matrix": {
|
||||
"layout": [
|
||||
{ "flags": 1, "matrix": [0, 0], "x": 10, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 0], "x": 28, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 1], "x": 46, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 1], "x": 65, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 2], "x": 84, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 2], "x": 102, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 3], "x": 121, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 3], "x": 140, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 4], "x": 159, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 4], "x": 177, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 5], "x": 196, "y": 7 },
|
||||
{ "flags": 1, "matrix": [1, 5], "x": 215, "y": 7 },
|
||||
|
||||
{ "flags": 1, "matrix": [3, 5], "x": 215, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 5], "x": 196, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 4], "x": 177, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 4], "x": 159, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 3], "x": 140, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 3], "x": 121, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 2], "x": 102, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 2], "x": 84, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 1], "x": 65, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 1], "x": 46, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 0], "x": 28, "y": 19 },
|
||||
{ "flags": 1, "matrix": [2, 0], "x": 9, "y": 19 },
|
||||
|
||||
{ "flags": 1, "matrix": [4, 0], "x": 9, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 0], "x": 28, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 1], "x": 46, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 1], "x": 65, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 2], "x": 84, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 2], "x": 102, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 3], "x": 121, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 3], "x": 140, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 4], "x": 159, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 4], "x": 177, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 5], "x": 196, "y": 32 },
|
||||
{ "flags": 1, "matrix": [5, 5], "x": 215, "y": 32 },
|
||||
|
||||
{ "flags": 1, "matrix": [7, 5], "x": 215, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 5], "x": 196, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 4], "x": 177, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 4], "x": 159, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 3], "x": 140, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 3], "x": 121, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 2], "x": 102, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 2], "x": 84, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 1], "x": 65, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 1], "x": 46, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 0], "x": 28, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 0], "x": 9, "y": 45 },
|
||||
|
||||
{ "flags": 1, "matrix": [8, 0], "x": 9, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 0], "x": 28, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 1], "x": 46, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 1], "x": 65, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 2], "x": 84, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 2], "x": 112, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 3], "x": 140, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 4], "x": 159, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 4], "x": 177, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 5], "x": 196, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 5], "x": 215, "y": 57 }
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_5x12": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 6], "x": 11, "y": 0 },
|
||||
|
||||
{ "matrix": [0, 0], "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 0], "x": 1, "y": 1 },
|
||||
{ "matrix": [0, 1], "x": 2, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 3, "y": 1 },
|
||||
{ "matrix": [0, 2], "x": 4, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 5, "y": 1 },
|
||||
{ "matrix": [0, 3], "x": 6, "y": 1 },
|
||||
{ "matrix": [1, 3], "x": 7, "y": 1 },
|
||||
{ "matrix": [0, 4], "x": 8, "y": 1 },
|
||||
{ "matrix": [1, 4], "x": 9, "y": 1 },
|
||||
{ "matrix": [0, 5], "x": 10, "y": 1 },
|
||||
{ "matrix": [1, 5], "x": 11, "y": 1 },
|
||||
|
||||
{ "matrix": [2, 0], "x": 0, "y": 2 },
|
||||
{ "matrix": [3, 0], "x": 1, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 2, "y": 2 },
|
||||
{ "matrix": [3, 1], "x": 3, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 4, "y": 2 },
|
||||
{ "matrix": [3, 2], "x": 5, "y": 2 },
|
||||
{ "matrix": [2, 3], "x": 6, "y": 2 },
|
||||
{ "matrix": [3, 3], "x": 7, "y": 2 },
|
||||
{ "matrix": [2, 4], "x": 8, "y": 2 },
|
||||
{ "matrix": [3, 4], "x": 9, "y": 2 },
|
||||
{ "matrix": [2, 5], "x": 10, "y": 2 },
|
||||
{ "matrix": [3, 5], "x": 11, "y": 2 },
|
||||
|
||||
{ "matrix": [4, 0], "x": 0, "y": 3 },
|
||||
{ "matrix": [5, 0], "x": 1, "y": 3 },
|
||||
{ "matrix": [4, 1], "x": 2, "y": 3 },
|
||||
{ "matrix": [5, 1], "x": 3, "y": 3 },
|
||||
{ "matrix": [4, 2], "x": 4, "y": 3 },
|
||||
{ "matrix": [5, 2], "x": 5, "y": 3 },
|
||||
{ "matrix": [4, 3], "x": 6, "y": 3 },
|
||||
{ "matrix": [5, 3], "x": 7, "y": 3 },
|
||||
{ "matrix": [4, 4], "x": 8, "y": 3 },
|
||||
{ "matrix": [5, 4], "x": 9, "y": 3 },
|
||||
{ "matrix": [4, 5], "x": 10, "y": 3 },
|
||||
{ "matrix": [5, 5], "x": 11, "y": 3 },
|
||||
|
||||
{ "matrix": [6, 0], "x": 0, "y": 4 },
|
||||
{ "matrix": [7, 0], "x": 1, "y": 4 },
|
||||
{ "matrix": [6, 1], "x": 2, "y": 4 },
|
||||
{ "matrix": [7, 1], "x": 3, "y": 4 },
|
||||
{ "matrix": [6, 2], "x": 4, "y": 4 },
|
||||
{ "matrix": [7, 2], "x": 5, "y": 4 },
|
||||
{ "matrix": [6, 3], "x": 6, "y": 4 },
|
||||
{ "matrix": [7, 3], "x": 7, "y": 4 },
|
||||
{ "matrix": [6, 4], "x": 8, "y": 4 },
|
||||
{ "matrix": [7, 4], "x": 9, "y": 4 },
|
||||
{ "matrix": [6, 5], "x": 10, "y": 4 },
|
||||
{ "matrix": [7, 5], "x": 11, "y": 4 },
|
||||
|
||||
{ "matrix": [8, 0], "x": 0, "y": 5 },
|
||||
{ "matrix": [9, 0], "x": 1, "y": 5 },
|
||||
{ "matrix": [8, 1], "x": 2, "y": 5 },
|
||||
{ "matrix": [9, 1], "x": 3, "y": 5 },
|
||||
{ "matrix": [8, 2], "x": 4, "y": 5 },
|
||||
{ "matrix": [9, 2], "x": 5, "y": 5 },
|
||||
{ "matrix": [8, 3], "x": 6, "y": 5 },
|
||||
{ "matrix": [9, 3], "x": 7, "y": 5 },
|
||||
{ "matrix": [8, 4], "x": 8, "y": 5 },
|
||||
{ "matrix": [9, 4], "x": 9, "y": 5 },
|
||||
{ "matrix": [8, 5], "x": 10, "y": 5 },
|
||||
{ "matrix": [9, 5], "x": 11, "y": 5 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
0
keyboards/1upkeyboards/pi50/mit/rules.mk
Normal file
0
keyboards/1upkeyboards/pi50/mit/rules.mk
Normal file
242
keyboards/1upkeyboards/pi50/pi50.c
Normal file
242
keyboards/1upkeyboards/pi50/pi50.c
Normal file
@@ -0,0 +1,242 @@
|
||||
/* Copyright 2023 ziptyze
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "quantum.h"
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#if defined(RGB_MATRIX_EFFECT)
|
||||
# undef RGB_MATRIX_EFFECT
|
||||
#endif // defined(RGB_MATRIX_EFFECT)
|
||||
|
||||
#define RGB_MATRIX_EFFECT(x) RGB_MATRIX_EFFECT_##x,
|
||||
enum {
|
||||
RGB_MATRIX_EFFECT_NONE,
|
||||
#include "rgb_matrix_effects.inc"
|
||||
#undef RGB_MATRIX_EFFECT
|
||||
#ifdef RGB_MATRIX_CUSTOM_KB
|
||||
# include "rgb_matrix_kb.inc"
|
||||
#endif
|
||||
#ifdef RGB_MATRIX_CUSTOM_USER
|
||||
# include "rgb_matrix_user.inc"
|
||||
#endif
|
||||
};
|
||||
|
||||
#define RGB_MATRIX_EFFECT(x) \
|
||||
case RGB_MATRIX_EFFECT_##x: \
|
||||
return #x;
|
||||
const char* rgb_matrix_name(uint8_t effect) {
|
||||
switch (effect) {
|
||||
case RGB_MATRIX_EFFECT_NONE:
|
||||
return "NONE";
|
||||
#include "rgb_matrix_effects.inc"
|
||||
#undef RGB_MATRIX_EFFECT
|
||||
#ifdef RGB_MATRIX_CUSTOM_KB
|
||||
# include "rgb_matrix_kb.inc"
|
||||
#endif
|
||||
#ifdef RGB_MATRIX_CUSTOM_USER
|
||||
# include "rgb_matrix_user.inc"
|
||||
#endif
|
||||
default:
|
||||
return "UNKNOWN";
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
static uint32_t oled_logo_timer = 0;
|
||||
static bool clear_logo = true;
|
||||
static const char PROGMEM my_logo[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
||||
0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f,
|
||||
0x0f, 0x0f, 0x0f, 0x1f, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
||||
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
|
||||
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xfb,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
void init_timer(void){
|
||||
oled_logo_timer = timer_read32();
|
||||
};
|
||||
|
||||
void user_oled_magic(void) {
|
||||
// Host Keyboard Layer Status
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case 0:
|
||||
oled_write_P(PSTR("One\n"), false);
|
||||
break;
|
||||
case 1:
|
||||
oled_write_P(PSTR("Two\n"), false);
|
||||
break;
|
||||
case 2:
|
||||
oled_write_P(PSTR("Three\n"), false);
|
||||
break;
|
||||
case 3:
|
||||
oled_write_P(PSTR("Four\n"), false);
|
||||
break;
|
||||
case 4:
|
||||
oled_write_P(PSTR("Five\n"), false);
|
||||
break;
|
||||
case 5:
|
||||
oled_write_P(PSTR("Six\n"), false);
|
||||
break;
|
||||
case 6:
|
||||
oled_write_P(PSTR("Seven\n"), false);
|
||||
break;
|
||||
case 7:
|
||||
oled_write_P(PSTR("Eight\n"), false);
|
||||
break;
|
||||
case 8:
|
||||
oled_write_P(PSTR("Nine\n"), false);
|
||||
break;
|
||||
case 9:
|
||||
oled_write_P(PSTR("Ten\n"), false);
|
||||
break;
|
||||
default:
|
||||
// Or use the write_ln shortcut over adding '\n' to the end of your string
|
||||
oled_write_ln_P(PSTR("Undefined"), false);
|
||||
}
|
||||
|
||||
// Host Keyboard LED Status
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
oled_write_P(led_state.caps_lock ? PSTR("Cap(x) ") : PSTR("Cap( ) "), false);
|
||||
oled_write_P(led_state.num_lock ? PSTR("Num(x) ") : PSTR("Num( ) "), false);
|
||||
oled_write_P(led_state.scroll_lock ? PSTR("Scrl(x)") : PSTR("Scrl( )"), false);
|
||||
|
||||
char *mode_name = strdup(rgb_matrix_name(rgb_matrix_get_mode()));
|
||||
if (mode_name != NULL) {
|
||||
int len = strlen(mode_name);
|
||||
bool capitalize_next = true;
|
||||
for (int i = 0; i < len; i++) {
|
||||
if (i == 21 && mode_name[i] == '_') {
|
||||
continue; // Skip the underscore if it's the 22nd character
|
||||
}
|
||||
if (mode_name[i] == '_') {
|
||||
mode_name[i] = ' ';
|
||||
capitalize_next = true;
|
||||
} else if (capitalize_next) {
|
||||
mode_name[i] = mode_name[i] >= 'a' && mode_name[i] <= 'z' ? mode_name[i] - 'a' + 'A' : mode_name[i];
|
||||
capitalize_next = false;
|
||||
} else {
|
||||
mode_name[i] = mode_name[i] >= 'A' && mode_name[i] <= 'Z' ? mode_name[i] - 'A' + 'a' : mode_name[i];
|
||||
}
|
||||
}
|
||||
|
||||
// Add line break and spaces if necessary
|
||||
if (len < 19) {
|
||||
strcat(mode_name, "\n");
|
||||
for (int i = 0; i < 21; i++) {
|
||||
strcat(mode_name, " ");
|
||||
}
|
||||
} else {
|
||||
// Find the most recent ' ' before the 21st character and replace it with a line break
|
||||
int break_pos = -1;
|
||||
for (int i = 18; i >= 0; i--) {
|
||||
if (mode_name[i] == ' ') {
|
||||
break_pos = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (break_pos >= 0) {
|
||||
mode_name[break_pos] = '\n';
|
||||
for (int i = 0; i < (21 - (len - break_pos - 1)); i++) {
|
||||
strcat(mode_name, " ");
|
||||
}
|
||||
} else {
|
||||
// No '_' found, just add spaces
|
||||
for (int i = 0; i < (21 - len); i++) {
|
||||
strcat(mode_name, " ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
oled_write_P(PSTR(mode_name), false);
|
||||
free(mode_name);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void render_logo(void) {
|
||||
oled_write_raw_P(my_logo, sizeof(my_logo));
|
||||
}
|
||||
|
||||
void clear_screen(void) {
|
||||
if (clear_logo){
|
||||
for (uint8_t i = 0; i < OLED_DISPLAY_HEIGHT; ++i) {
|
||||
for (uint8_t j = 0; j < OLED_DISPLAY_WIDTH; ++j) {
|
||||
oled_write_raw_byte(0x0, i*OLED_DISPLAY_WIDTH + j);
|
||||
}
|
||||
}
|
||||
clear_logo = false;
|
||||
}
|
||||
}
|
||||
|
||||
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
|
||||
return OLED_ROTATION_180;
|
||||
}
|
||||
|
||||
void keyboard_post_init_kb(void) {
|
||||
init_timer();
|
||||
|
||||
keyboard_post_init_user();
|
||||
}
|
||||
|
||||
# define SHOW_LOGO 5000
|
||||
bool oled_task_kb(void) {
|
||||
if (!oled_task_user()) { return false; }
|
||||
if ((timer_elapsed32(oled_logo_timer) < SHOW_LOGO)){
|
||||
render_logo();
|
||||
}else{
|
||||
clear_screen();
|
||||
user_oled_magic();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
36
keyboards/1upkeyboards/pi50/readme.md
Normal file
36
keyboards/1upkeyboards/pi50/readme.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# pi50
|
||||
|
||||
The pi40 is a 5x12 ortholinear keyboard with options for a 1u or 2u spacebar using a Raspberry Pi Pico for the controller.
|
||||
|
||||
It includes options for a rotary encoder, SSD1306 oled, and per-key in-switch RGB LEDs.
|
||||
|
||||
All unused GPIO pins are broken out on the main pcb, as well as the available voltage pins.
|
||||
|
||||
This firmware also includes the option for VIA which includes configuration options for the rotary encoder, matrix lighting, and up to 10 layers.
|
||||
|
||||
Default oled configuration displays:
|
||||
- current layer
|
||||
- caps lock status
|
||||
- num lock status
|
||||
- scroll lock status
|
||||
- current RGB lighting mode
|
||||
|
||||
* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze)
|
||||
* Hardware Availability: (https://1upkeyboards.com/shop/keyboard-kits/diy-40-kits/pi50-keyboard-kit/#pcb-color)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 1upkeyboards/pi50:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make 1upkeyboards/pi50: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:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix, the top left key, and plug in the keyboard
|
||||
* **BOOTSEL button**: Hold down the BOOTSEL button on the pico, and plug in the keyboard
|
5
keyboards/1upkeyboards/pi50/rules.mk
Normal file
5
keyboards/1upkeyboards/pi50/rules.mk
Normal file
@@ -0,0 +1,5 @@
|
||||
WS2812_DRIVER = vendor
|
||||
|
||||
OLED_ENABLE = yes
|
||||
|
||||
DEFAULT_FOLDER = 1upkeyboards/pi50/grid
|
336
keyboards/bahm/aster_ergo/info.json
Normal file
336
keyboards/bahm/aster_ergo/info.json
Normal file
@@ -0,0 +1,336 @@
|
||||
{
|
||||
"manufacturer": "Mechlovin Studio",
|
||||
"keyboard_name": "Aster Ergo",
|
||||
"maintainer": "Bahm",
|
||||
"processor": "STM32F103",
|
||||
"bootloader": "stm32duino",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": true,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B1", "B0", "A7", "A6", "B4", "B3", "A15", "A5", "A2", "A1"],
|
||||
"rows": ["B7", "B6", "B5", "B11", "B10", "A4"]
|
||||
},
|
||||
"url": "",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x8701",
|
||||
"vid": "0xBA00"
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "B2",
|
||||
"scroll_lock": "C13"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.25, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"matrix": [0, 7], "x": 8.25, "y": 0},
|
||||
{"matrix": [0, 8], "x": 9.25, "y": 0},
|
||||
{"matrix": [0, 9], "x": 10.25, "y": 0},
|
||||
{"matrix": [0, 10], "x": 11.25, "y": 0},
|
||||
{"matrix": [0, 11], "x": 12.25, "y": 0},
|
||||
{"matrix": [0, 12], "x": 13.25, "y": 0},
|
||||
{"matrix": [0, 13], "x": 14.5, "y": 0},
|
||||
{"matrix": [0, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 18.25, "y": 0},
|
||||
{"matrix": [0, 16], "x": 19.25, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1.25},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
{"matrix": [1, 6], "x": 6, "y": 1.25},
|
||||
{"matrix": [1, 7], "x": 8.5, "y": 1.25},
|
||||
{"matrix": [1, 8], "x": 9.5, "y": 1.25},
|
||||
{"matrix": [1, 9], "x": 10.5, "y": 1.25},
|
||||
{"matrix": [1, 10], "x": 11.5, "y": 1.25},
|
||||
{"matrix": [1, 11], "x": 12.5, "y": 1.25},
|
||||
{"matrix": [1, 12], "x": 13.5, "y": 1.25},
|
||||
{"matrix": [1, 13], "x": 14.5, "y": 1.25},
|
||||
{"matrix": [2, 13], "x": 15.5, "y": 1.25},
|
||||
{"matrix": [1, 14], "x": 17.25, "y": 1.25},
|
||||
{"matrix": [1, 15], "x": 18.25, "y": 1.25},
|
||||
{"matrix": [1, 16], "x": 19.25, "y": 1.25},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 2.25},
|
||||
{"matrix": [2, 4], "x": 4.5, "y": 2.25},
|
||||
{"matrix": [2, 5], "x": 5.5, "y": 2.25},
|
||||
{"matrix": [2, 6], "x": 8, "y": 2.25},
|
||||
{"matrix": [2, 7], "x": 9, "y": 2.25},
|
||||
{"matrix": [2, 8], "x": 10, "y": 2.25},
|
||||
{"matrix": [2, 9], "x": 11, "y": 2.25},
|
||||
{"matrix": [2, 10], "x": 12, "y": 2.25},
|
||||
{"matrix": [2, 11], "x": 13, "y": 2.25},
|
||||
{"matrix": [2, 12], "x": 14, "y": 2.25},
|
||||
{"matrix": [3, 13], "x": 15, "y": 2.25, "w": 1.5},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 2.25},
|
||||
{"matrix": [2, 15], "x": 18.25, "y": 2.25},
|
||||
{"matrix": [2, 16], "x": 19.25, "y": 2.25},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 3.25},
|
||||
{"matrix": [3, 4], "x": 4.75, "y": 3.25},
|
||||
{"matrix": [3, 5], "x": 5.75, "y": 3.25},
|
||||
{"matrix": [3, 6], "x": 8.25, "y": 3.25},
|
||||
{"matrix": [3, 7], "x": 9.25, "y": 3.25},
|
||||
{"matrix": [3, 8], "x": 10.25, "y": 3.25},
|
||||
{"matrix": [3, 9], "x": 11.25, "y": 3.25},
|
||||
{"matrix": [3, 10], "x": 12.25, "y": 3.25},
|
||||
{"matrix": [3, 11], "x": 13.25, "y": 3.25},
|
||||
{"matrix": [3, 12], "x": 14.25, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4.25},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
|
||||
{"matrix": [4, 5], "x": 5.25, "y": 4.25},
|
||||
{"matrix": [4, 6], "x": 6.25, "y": 4.25},
|
||||
{"matrix": [5, 7], "x": 7.75, "y": 4.25},
|
||||
{"matrix": [4, 7], "x": 8.75, "y": 4.25},
|
||||
{"matrix": [4, 8], "x": 9.75, "y": 4.25},
|
||||
{"matrix": [4, 9], "x": 10.75, "y": 4.25},
|
||||
{"matrix": [4, 10], "x": 11.75, "y": 4.25},
|
||||
{"matrix": [4, 11], "x": 12.75, "y": 4.25},
|
||||
{"matrix": [4, 12], "x": 13.75, "y": 4.25, "w": 1.75},
|
||||
{"matrix": [4, 13], "x": 15.5, "y": 4.25},
|
||||
{"matrix": [4, 15], "x": 18.25, "y": 4.25},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 4], "x": 3.75, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 5], "x": 5, "y": 5.25, "w": 2.25},
|
||||
{"matrix": [5, 8], "x": 7.75, "y": 5.25, "w": 2.75},
|
||||
{"matrix": [5, 9], "x": 10.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 10], "x": 11.75, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 11], "x": 13, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 12], "x": 14.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 14], "x": 17.25, "y": 5.25},
|
||||
{"matrix": [5, 15], "x": 18.25, "y": 5.25},
|
||||
{"matrix": [5, 16], "x": 19.25, "y": 5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_ansi": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.25, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"matrix": [0, 7], "x": 8.25, "y": 0},
|
||||
{"matrix": [0, 8], "x": 9.25, "y": 0},
|
||||
{"matrix": [0, 9], "x": 10.25, "y": 0},
|
||||
{"matrix": [0, 10], "x": 11.25, "y": 0},
|
||||
{"matrix": [0, 11], "x": 12.25, "y": 0},
|
||||
{"matrix": [0, 12], "x": 13.25, "y": 0},
|
||||
{"matrix": [0, 13], "x": 14.5, "y": 0},
|
||||
{"matrix": [0, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 18.25, "y": 0},
|
||||
{"matrix": [0, 16], "x": 19.25, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1.25},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
{"matrix": [1, 6], "x": 6, "y": 1.25},
|
||||
{"matrix": [1, 7], "x": 8.5, "y": 1.25},
|
||||
{"matrix": [1, 8], "x": 9.5, "y": 1.25},
|
||||
{"matrix": [1, 9], "x": 10.5, "y": 1.25},
|
||||
{"matrix": [1, 10], "x": 11.5, "y": 1.25},
|
||||
{"matrix": [1, 11], "x": 12.5, "y": 1.25},
|
||||
{"matrix": [1, 12], "x": 13.5, "y": 1.25},
|
||||
{"matrix": [1, 13], "x": 14.5, "y": 1.25, "w": 2},
|
||||
{"matrix": [1, 14], "x": 17.25, "y": 1.25},
|
||||
{"matrix": [1, 15], "x": 18.25, "y": 1.25},
|
||||
{"matrix": [1, 16], "x": 19.25, "y": 1.25},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 2.25},
|
||||
{"matrix": [2, 4], "x": 4.5, "y": 2.25},
|
||||
{"matrix": [2, 5], "x": 5.5, "y": 2.25},
|
||||
{"matrix": [2, 6], "x": 8, "y": 2.25},
|
||||
{"matrix": [2, 7], "x": 9, "y": 2.25},
|
||||
{"matrix": [2, 8], "x": 10, "y": 2.25},
|
||||
{"matrix": [2, 9], "x": 11, "y": 2.25},
|
||||
{"matrix": [2, 10], "x": 12, "y": 2.25},
|
||||
{"matrix": [2, 11], "x": 13, "y": 2.25},
|
||||
{"matrix": [2, 12], "x": 14, "y": 2.25},
|
||||
{"matrix": [3, 13], "x": 15, "y": 2.25, "w": 1.5},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 2.25},
|
||||
{"matrix": [2, 15], "x": 18.25, "y": 2.25},
|
||||
{"matrix": [2, 16], "x": 19.25, "y": 2.25},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 3.25},
|
||||
{"matrix": [3, 4], "x": 4.75, "y": 3.25},
|
||||
{"matrix": [3, 5], "x": 5.75, "y": 3.25},
|
||||
{"matrix": [3, 6], "x": 8.25, "y": 3.25},
|
||||
{"matrix": [3, 7], "x": 9.25, "y": 3.25},
|
||||
{"matrix": [3, 8], "x": 10.25, "y": 3.25},
|
||||
{"matrix": [3, 9], "x": 11.25, "y": 3.25},
|
||||
{"matrix": [3, 10], "x": 12.25, "y": 3.25},
|
||||
{"matrix": [3, 11], "x": 13.25, "y": 3.25},
|
||||
{"matrix": [3, 12], "x": 14.25, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
|
||||
{"matrix": [4, 5], "x": 5.25, "y": 4.25},
|
||||
{"matrix": [4, 6], "x": 6.25, "y": 4.25},
|
||||
{"matrix": [5, 7], "x": 7.75, "y": 4.25},
|
||||
{"matrix": [4, 7], "x": 8.75, "y": 4.25},
|
||||
{"matrix": [4, 8], "x": 9.75, "y": 4.25},
|
||||
{"matrix": [4, 9], "x": 10.75, "y": 4.25},
|
||||
{"matrix": [4, 10], "x": 11.75, "y": 4.25},
|
||||
{"matrix": [4, 11], "x": 12.75, "y": 4.25},
|
||||
{"matrix": [4, 12], "x": 13.75, "y": 4.25, "w": 2.75},
|
||||
{"matrix": [4, 15], "x": 18.25, "y": 4.25},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 4], "x": 3.75, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 5], "x": 5, "y": 5.25, "w": 2.25},
|
||||
{"matrix": [5, 8], "x": 7.75, "y": 5.25, "w": 2.75},
|
||||
{"matrix": [5, 9], "x": 10.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 10], "x": 11.75, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 11], "x": 13, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 12], "x": 14.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 14], "x": 17.25, "y": 5.25},
|
||||
{"matrix": [5, 15], "x": 18.25, "y": 5.25},
|
||||
{"matrix": [5, 16], "x": 19.25, "y": 5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_iso": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.25, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"matrix": [0, 7], "x": 8.25, "y": 0},
|
||||
{"matrix": [0, 8], "x": 9.25, "y": 0},
|
||||
{"matrix": [0, 9], "x": 10.25, "y": 0},
|
||||
{"matrix": [0, 10], "x": 11.25, "y": 0},
|
||||
{"matrix": [0, 11], "x": 12.25, "y": 0},
|
||||
{"matrix": [0, 12], "x": 13.25, "y": 0},
|
||||
{"matrix": [0, 13], "x": 14.5, "y": 0},
|
||||
{"matrix": [0, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 18.25, "y": 0},
|
||||
{"matrix": [0, 16], "x": 19.25, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1.25},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
{"matrix": [1, 6], "x": 6, "y": 1.25},
|
||||
{"matrix": [1, 7], "x": 8.5, "y": 1.25},
|
||||
{"matrix": [1, 8], "x": 9.5, "y": 1.25},
|
||||
{"matrix": [1, 9], "x": 10.5, "y": 1.25},
|
||||
{"matrix": [1, 10], "x": 11.5, "y": 1.25},
|
||||
{"matrix": [1, 11], "x": 12.5, "y": 1.25},
|
||||
{"matrix": [1, 12], "x": 13.5, "y": 1.25},
|
||||
{"matrix": [1, 13], "x": 14.5, "y": 1.25, "w": 2},
|
||||
{"matrix": [1, 14], "x": 17.25, "y": 1.25},
|
||||
{"matrix": [1, 15], "x": 18.25, "y": 1.25},
|
||||
{"matrix": [1, 16], "x": 19.25, "y": 1.25},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 2.25},
|
||||
{"matrix": [2, 4], "x": 4.5, "y": 2.25},
|
||||
{"matrix": [2, 5], "x": 5.5, "y": 2.25},
|
||||
{"matrix": [2, 6], "x": 8, "y": 2.25},
|
||||
{"matrix": [2, 7], "x": 9, "y": 2.25},
|
||||
{"matrix": [2, 8], "x": 10, "y": 2.25},
|
||||
{"matrix": [2, 9], "x": 11, "y": 2.25},
|
||||
{"matrix": [2, 10], "x": 12, "y": 2.25},
|
||||
{"matrix": [2, 11], "x": 13, "y": 2.25},
|
||||
{"matrix": [2, 12], "x": 14, "y": 2.25},
|
||||
{"matrix": [3, 13], "x": 15.25, "y": 2.25, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 2.25},
|
||||
{"matrix": [2, 15], "x": 18.25, "y": 2.25},
|
||||
{"matrix": [2, 16], "x": 19.25, "y": 2.25},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 3.25},
|
||||
{"matrix": [3, 4], "x": 4.75, "y": 3.25},
|
||||
{"matrix": [3, 5], "x": 5.75, "y": 3.25},
|
||||
{"matrix": [3, 6], "x": 8.25, "y": 3.25},
|
||||
{"matrix": [3, 7], "x": 9.25, "y": 3.25},
|
||||
{"matrix": [3, 8], "x": 10.25, "y": 3.25},
|
||||
{"matrix": [3, 9], "x": 11.25, "y": 3.25},
|
||||
{"matrix": [3, 10], "x": 12.25, "y": 3.25},
|
||||
{"matrix": [3, 11], "x": 13.25, "y": 3.25},
|
||||
{"matrix": [3, 12], "x": 14.25, "y": 3.25},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4.25},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
|
||||
{"matrix": [4, 5], "x": 5.25, "y": 4.25},
|
||||
{"matrix": [4, 6], "x": 6.25, "y": 4.25},
|
||||
{"matrix": [5, 7], "x": 7.75, "y": 4.25},
|
||||
{"matrix": [4, 7], "x": 8.75, "y": 4.25},
|
||||
{"matrix": [4, 8], "x": 9.75, "y": 4.25},
|
||||
{"matrix": [4, 9], "x": 10.75, "y": 4.25},
|
||||
{"matrix": [4, 10], "x": 11.75, "y": 4.25},
|
||||
{"matrix": [4, 11], "x": 12.75, "y": 4.25},
|
||||
{"matrix": [4, 12], "x": 13.75, "y": 4.25, "w": 2.75},
|
||||
{"matrix": [4, 15], "x": 18.25, "y": 4.25},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 4], "x": 3.75, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 5], "x": 5, "y": 5.25, "w": 2.25},
|
||||
{"matrix": [5, 8], "x": 7.75, "y": 5.25, "w": 2.75},
|
||||
{"matrix": [5, 9], "x": 10.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 10], "x": 11.75, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 11], "x": 13, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 12], "x": 14.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 14], "x": 17.25, "y": 5.25},
|
||||
{"matrix": [5, 15], "x": 18.25, "y": 5.25},
|
||||
{"matrix": [5, 16], "x": 19.25, "y": 5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
28
keyboards/bahm/aster_ergo/keymaps/default/keymap.c
Normal file
28
keyboards/bahm/aster_ergo/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,28 @@
|
||||
/* Copyright 2023 Mechlovin' Studio
|
||||
*
|
||||
* 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_tkl_ansi(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPACE, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
)
|
||||
};
|
52
keyboards/bahm/aster_ergo/keymaps/via/keymap.c
Normal file
52
keyboards/bahm/aster_ergo/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,52 @@
|
||||
/* Copyright 2023 Mechlovin' Studio
|
||||
*
|
||||
* 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(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(2), KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPACE, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[2] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, 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_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
3
keyboards/bahm/aster_ergo/keymaps/via/rules.mk
Normal file
3
keyboards/bahm/aster_ergo/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
# This file intentionally left blank
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
25
keyboards/bahm/aster_ergo/readme.md
Normal file
25
keyboards/bahm/aster_ergo/readme.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# bahm/aster_ergo
|
||||
|
||||
The Aster Ergo PCB for the Aster Ergo keyboard (A TKL ergo keyboarđ)
|
||||
|
||||
* Keyboard Maintainer: [mechlovin](https://github.com/mechlovin)
|
||||
* Hardware Supported: Aster Ergo PCB, APM32F103
|
||||
* Hardware Availability: [GH](https://geekhack.org/index.php?topic=116962.0)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make bahm/aster_ergo:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make bahm/aster_ergo:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/bahm/aster_ergo/rules.mk
Normal file
1
keyboards/bahm/aster_ergo/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
68
keyboards/handwired/phantagom/baragon/info.json
Normal file
68
keyboards/handwired/phantagom/baragon/info.json
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"manufacturer": "Dennis Kruyt",
|
||||
"keyboard_name": "phantagom/baragon",
|
||||
"maintainer": "dkruyt",
|
||||
"bootloader": "rp2040",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgblight": true,
|
||||
"encoder": true,
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 12,
|
||||
"pin": "GP15",
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"rgb_test": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
}
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{ "pin_a": "GP6", "pin_b": "GP7", "resolution": 2 }
|
||||
]
|
||||
},
|
||||
"matrix_pins": {
|
||||
"rows": [ "GP8", "GP10", "GP9" ],
|
||||
"cols": [ "GP11", "GP12", "GP13", "GP14" ]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"url": "https://github.com/dkruyt/mk/tree/main/baragon",
|
||||
"usb": {
|
||||
"vid": "0xF8E8",
|
||||
"pid": "0x0004",
|
||||
"device_version": "0.0.3"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2}
|
||||
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
// Copyright 2023 <dennis@kruyt.org>
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT( /* Base */
|
||||
KC_P1, KC_P2, KC_P3, KC_P4,
|
||||
KC_P5, KC_P6, KC_P7,
|
||||
KC_P8, MO(1), KC_P9
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
RGB_TOG , RGB_MOD , RGB_HUI, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[1] = { ENCODER_CCW_CW(KC_MRWD, KC_MFFD) },
|
||||
};
|
||||
#endif
|
@@ -0,0 +1 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
25
keyboards/handwired/phantagom/baragon/keymaps/via/keymap.c
Normal file
25
keyboards/handwired/phantagom/baragon/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,25 @@
|
||||
// Copyright 2023 <dennis@kruyt.org>
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT( /* Base */
|
||||
KC_P1, KC_P2, KC_P3, KC_P4,
|
||||
KC_P5, KC_P6, KC_P7,
|
||||
KC_P8, MO(1), KC_P9
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
RGB_TOG , RGB_MOD , RGB_HUI, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[1] = { ENCODER_CCW_CW(KC_MRWD, KC_MFFD) },
|
||||
};
|
||||
#endif
|
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
29
keyboards/handwired/phantagom/baragon/readme.md
Normal file
29
keyboards/handwired/phantagom/baragon/readme.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# phantagom/baragon
|
||||
|
||||
[Baragon](https://en.wikipedia.org/wiki/Baragon) is a fictional monster, or kaiju, which first appeared in Ishirō Honda's 1965 film Frankenstein vs. Baragon.
|
||||
|
||||

|
||||
|
||||
A macro pad, 3x3 with rgb ring and rotary encoder, via compatible. Keys can be rotated, so macropad is usable at different angles.
|
||||
|
||||
* Keyboard Maintainer: [Dennis Kruyt](https://github.com/dkruyt)
|
||||
* Project page: [baragon](https://github.com/dkruyt/mk/tree/main/baragon)
|
||||
* Hardware Supported: *RP2040-Zero*
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make phantagom/baragon:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
Copy the uf2 file to the rp2040
|
||||
|
||||
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 mode in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the top of the PCB
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
2
keyboards/handwired/phantagom/baragon/rules.mk
Normal file
2
keyboards/handwired/phantagom/baragon/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
# Needed for RP2040
|
||||
WS2812_DRIVER = vendor
|
71
keyboards/handwired/phantagom/varan/info.json
Normal file
71
keyboards/handwired/phantagom/varan/info.json
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"manufacturer": "Dennis Kruyt",
|
||||
"keyboard_name": "phantagom/varan",
|
||||
"maintainer": "dkruyt",
|
||||
"bootloader": "rp2040",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 23,
|
||||
"pin": "GP28",
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"rgb_test": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
}
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP17", "GP16", "GP15", "GP14"],
|
||||
"rows": ["GP23", "GP22", "GP21", "GP20", "GP19", "GP18"]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"url": "https://github.com/dkruyt/mk/tree/main/varan",
|
||||
"usb": {
|
||||
"vid": "0xF8E8",
|
||||
"pid": "0x0002",
|
||||
"device_version": "0.0.3"
|
||||
},
|
||||
"community_layouts": ["numpad_6x4"],
|
||||
"layouts": {
|
||||
"LAYOUT_numpad_6x4": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "matrix": [1, 0], "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 1, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 2, "y": 1 },
|
||||
{ "matrix": [1, 3], "x": 3, "y": 1 },
|
||||
{ "matrix": [2, 0], "x": 0, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 1, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 2, "y": 2 },
|
||||
{ "matrix": [3, 0], "x": 0, "y": 3 },
|
||||
{ "matrix": [3, 1], "x": 1, "y": 3 },
|
||||
{ "matrix": [3, 2], "x": 2, "y": 3 },
|
||||
{ "h": 2, "matrix": [2, 3], "x": 3, "y": 2 },
|
||||
{ "matrix": [4, 0], "x": 0, "y": 4 },
|
||||
{ "matrix": [4, 1], "x": 1, "y": 4 },
|
||||
{ "matrix": [4, 2], "x": 2, "y": 4 },
|
||||
{ "matrix": [5, 0], "w": 2, "x": 0, "y": 5 },
|
||||
{ "matrix": [5, 2], "x": 2, "y": 5 },
|
||||
{ "h": 2, "matrix": [4, 3], "x": 3, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
54
keyboards/handwired/phantagom/varan/keymaps/default/keymap.c
Normal file
54
keyboards/handwired/phantagom/varan/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,54 @@
|
||||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │Esc│Tab│MO1│Bsp│
|
||||
* ├───┼───┼───┼───┤
|
||||
* │Num│ / │ * │ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 7 │ 8 │ 9 │ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ 4 │ 5 │ 6 │ │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 1 │ 2 │ 3 │ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │ 0 │ . │ │
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
[0] = LAYOUT_numpad_6x4(
|
||||
KC_ESC, KC_TAB, MO(1), KC_BSPC,
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
|
||||
/*
|
||||
* ┌───┐───┬───┬───┐
|
||||
* │Rst│Tab│MO1│Bsp│
|
||||
* ├───┼───┼───┼───┤
|
||||
* │RGB│RGB│RGB│ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │Hom│ ↑ │PgU│ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ ← │ │ → │ │
|
||||
* ├───┼───┼───┤───┤
|
||||
* │End│ ↓ │PgD│ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │Insert │Del│ │
|
||||
* └───────┴───┘───┘
|
||||
*/
|
||||
[1] = LAYOUT_numpad_6x4(
|
||||
QK_BOOT, _______, _______, _______,
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, _______,
|
||||
KC_HOME, KC_UP, KC_PGUP,
|
||||
KC_LEFT, XXXXXXX, KC_RGHT, _______,
|
||||
KC_END, KC_DOWN, KC_PGDN,
|
||||
KC_INS, KC_DEL, _______
|
||||
)
|
||||
};
|
54
keyboards/handwired/phantagom/varan/keymaps/via/keymap.c
Normal file
54
keyboards/handwired/phantagom/varan/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,54 @@
|
||||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │Esc│Tab│MO1│Bsp│
|
||||
* ├───┼───┼───┼───┤
|
||||
* │Num│ / │ * │ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 7 │ 8 │ 9 │ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ 4 │ 5 │ 6 │ │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 1 │ 2 │ 3 │ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │ 0 │ . │ │
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
[0] = LAYOUT_numpad_6x4(
|
||||
KC_ESC, KC_TAB, MO(1), KC_BSPC,
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
|
||||
/*
|
||||
* ┌───┐───┬───┬───┐
|
||||
* │Rst│Tab│MO1│Bsp│
|
||||
* ├───┼───┼───┼───┤
|
||||
* │RGB│RGB│RGB│ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │Hom│ ↑ │PgU│ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ ← │ │ → │ │
|
||||
* ├───┼───┼───┤───┤
|
||||
* │End│ ↓ │PgD│ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │Insert │Del│ │
|
||||
* └───────┴───┘───┘
|
||||
*/
|
||||
[1] = LAYOUT_numpad_6x4(
|
||||
QK_BOOT, _______, _______, _______,
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, _______,
|
||||
KC_HOME, KC_UP, KC_PGUP,
|
||||
KC_LEFT, XXXXXXX, KC_RGHT, _______,
|
||||
KC_END, KC_DOWN, KC_PGDN,
|
||||
KC_INS, KC_DEL, _______
|
||||
)
|
||||
};
|
1
keyboards/handwired/phantagom/varan/keymaps/via/rules.mk
Normal file
1
keyboards/handwired/phantagom/varan/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
30
keyboards/handwired/phantagom/varan/readme.md
Normal file
30
keyboards/handwired/phantagom/varan/readme.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# phantagom/varan
|
||||
|
||||
[Varan](https://en.wikipedia.org/wiki/Varan) is a fictional monster, or kaiju, which first appeared in the 1958 film Varan the Unbelievable
|
||||
|
||||

|
||||

|
||||
|
||||
A numpad with RGB strip based on a RP2040 controller.
|
||||
|
||||
* Keyboard Maintainer: [Dennis Kruyt](https://github.com/dkruyt)
|
||||
* Project page: [varan](https://github.com/dkruyt/mk/tree/main/varan)
|
||||
* Hardware Supported: *RP2040-Zero*
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make phantagom/varan:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make phantagom/varan:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
2
keyboards/handwired/phantagom/varan/rules.mk
Normal file
2
keyboards/handwired/phantagom/varan/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
# Needed for RP2040
|
||||
WS2812_DRIVER = vendor
|
@@ -3,11 +3,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
// Equivalent to zmk behavior-hold-tap tap-preferred flavor
|
||||
// Do not force the mod-tap key press to be handled as a modifier
|
||||
// if any other key was pressed while the mod-tap key is held down.
|
||||
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
|
||||
|
||||
// Equivalent to zmk behavior-hold-tap hold-preferred flavor
|
||||
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
||||
|
||||
|
@@ -10,7 +10,7 @@ enum {
|
||||
};
|
||||
|
||||
// Tap Dance definitions
|
||||
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
// Tap once for F1, twice for F11
|
||||
[TD_F1_F11] = ACTION_TAP_DANCE_DOUBLE(KC_F1, KC_F11),
|
||||
[TD_F2_F12] = ACTION_TAP_DANCE_DOUBLE(KC_F2, KC_F12),
|
||||
|
23
keyboards/keebio/iris/keymaps/jestes5111/config.h
Normal file
23
keyboards/keebio/iris/keymaps/jestes5111/config.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
Copyright 2023 Jesse Estes (@jestes5111)
|
||||
|
||||
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 EE_HANDS
|
||||
#define RGBLIGHT_SPLIT
|
||||
#define RGBLIGHT_SLEEP
|
||||
#define ENABLE_COMPILE_KEYCODE
|
163
keyboards/keebio/iris/keymaps/jestes5111/keymap.c
Normal file
163
keyboards/keebio/iris/keymaps/jestes5111/keymap.c
Normal file
@@ -0,0 +1,163 @@
|
||||
/*
|
||||
Copyright 2023 Jesse Estes (@jestes5111)
|
||||
|
||||
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
|
||||
|
||||
// Combinations of two keystrokes for easier reading
|
||||
#define CSFT LCTL(KC_LSFT)
|
||||
#define GSFT LGUI(KC_LSFT)
|
||||
|
||||
enum layers {
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
_FUNC,
|
||||
_PASTA,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
THUMB = QK_USER,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT(
|
||||
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
|
||||
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_APP,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RCTL,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
|
||||
KC_LGUI, TL_LOWR, KC_SPC, KC_ENT, TL_UPPR, KC_RGUI
|
||||
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT(
|
||||
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
|
||||
KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLU, KC_VOLD, KC_NO, KC_NO, KC_NO, KC_NO, KC_INS, KC_DEL,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_NO, KC_F13, KC_F14, KC_F15, KC_F16, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
CSFT, KC_F17, KC_F18, KC_F19, KC_F20, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, RCS(KC_L),
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
GSFT, KC_F21, KC_F22, KC_F23, KC_F24, KC_WHOM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
|
||||
KC_NO, KC_TRNS, KC_NO, KC_UNDS, KC_TRNS, KC_NO
|
||||
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT(
|
||||
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
|
||||
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_TAB, KC_NO, KC_NO, KC_NO, KC_AMPR, KC_LPRN, KC_RPRN, KC_ASTR, KC_EQL, KC_MINS, KC_PLUS, KC_BSLS,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_ENT, KC_NO, KC_NO, KC_NO, KC_PIPE, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_NO, KC_DQUO, KC_QUOT,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_CAPS, KC_NO, KC_NO, KC_NO, KC_LABK, KC_LCBR, KC_MENU, KC_NO, KC_RCBR, KC_RABK, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
|
||||
KC_NO, KC_TRNS, KC_UNDS, KC_NO, KC_TRNS, KC_NO
|
||||
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT(
|
||||
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
|
||||
RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, LCA(KC_R), LCA(KC_T), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_NO, KC_NO, LCA(KC_V), LCA(KC_D), KC_NO, KC_NO, KC_NO, TO(_FUNC), KC_NO, QK_LOCK, TO(_PASTA), QK_MAKE,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, EE_CLR,
|
||||
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
|
||||
KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO
|
||||
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
|
||||
),
|
||||
|
||||
[_FUNC] = LAYOUT(
|
||||
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
|
||||
KC_ESC, KC_SLSH, KC_ASTR, KC_MINS, KC_PLUS, KC_EQL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_TAB, KC_7, KC_8, KC_9, KC_LPRN, KC_RPRN, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_BTN3, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_LCTL, KC_4, KC_5, KC_6, KC_DOT, KC_NUM, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NO, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_LSFT, KC_1, KC_2, KC_3, KC_0, KC_ENT, KC_LALT, KC_BTN2, KC_BTN1, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
|
||||
TO(_QWERTY), KC_CIRC, KC_SPC, KC_ENT, KC_BTN5, KC_BTN4
|
||||
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
|
||||
),
|
||||
|
||||
[_PASTA] = LAYOUT(
|
||||
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, THUMB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
|
||||
TO(_QWERTY), KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO
|
||||
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
|
||||
),
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case THUMB:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(":disguised_face: :thumbsup:");
|
||||
wait_ms(100);
|
||||
tap_code(KC_ENTER);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
rgblight_enable_noeeprom();
|
||||
rgblight_sethsv_noeeprom(HSV_PURPLE);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _LOWER:
|
||||
rgblight_sethsv_noeeprom(HSV_GREEN);
|
||||
break;
|
||||
case _RAISE:
|
||||
rgblight_sethsv_noeeprom(HSV_RED);
|
||||
break;
|
||||
case _ADJUST:
|
||||
rgblight_sethsv_noeeprom(HSV_WHITE);
|
||||
break;
|
||||
case _FUNC:
|
||||
rgblight_sethsv_noeeprom(HSV_BLUE);
|
||||
break;
|
||||
case _PASTA:
|
||||
rgblight_sethsv_noeeprom(HSV_ORANGE);
|
||||
break;
|
||||
default:
|
||||
rgblight_sethsv_noeeprom(HSV_PURPLE);
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
}
|
6
keyboards/keebio/iris/keymaps/jestes5111/readme.md
Normal file
6
keyboards/keebio/iris/keymaps/jestes5111/readme.md
Normal file
@@ -0,0 +1,6 @@
|
||||

|
||||
|
||||
# My Iris
|
||||
|
||||
Designed for creating/editing in VIM and Excel, gaming, and general keyboard-focused media consumption.
|
||||
WIP.
|
9
keyboards/keebio/iris/keymaps/jestes5111/rules.mk
Normal file
9
keyboards/keebio/iris/keymaps/jestes5111/rules.mk
Normal file
@@ -0,0 +1,9 @@
|
||||
MOUSEKEY_ENABLE = yes
|
||||
EXTRAKEY_ENABLE = yes
|
||||
NKRO_ENABLE = yes
|
||||
BACKLIGHT_ENABLE = no
|
||||
KEY_LOCK_ENABLE = yes
|
||||
UNICODE_ENABLE = yes
|
||||
|
||||
ENCODER_ENABLE = no
|
||||
TRI_LAYER_ENABLE = yes
|
74
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/config.h
Executable file
74
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/config.h
Executable file
@@ -0,0 +1,74 @@
|
||||
/* Copyright 2020 lmlask
|
||||
*
|
||||
* 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 MOUSEKEY_DELAY 50
|
||||
#define MIDI_ADVANCED
|
||||
#define TAPPING_TERM 175 //For fast typing
|
||||
#define QUICK_TAP_TERM 0 //No autorepeat in tap-hold keys
|
||||
#define HOLD_ON_OTHER_KEY_PRESS //For fast typing
|
||||
|
||||
// Min 0, max 32
|
||||
#define JOYSTICK_BUTTON_COUNT 32
|
||||
// Min 0, max 6: X, Y, Z, Rx, Ry, Rz
|
||||
#define JOYSTICK_AXIS_COUNT 0
|
||||
// Min 8, max 16
|
||||
#define JOYSTICK_AXIS_RESOLUTION 8
|
||||
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||
|
||||
//#undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Enables RGB_MATRIX_ALPHAS_MODS
|
||||
#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Enables RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Enables RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
//#undef ENABLE_RGB_MATRIX_BREATHING // Enables RGB_MATRIX_BREATHING
|
||||
//#undef ENABLE_RGB_MATRIX_BAND_SAT // Enables RGB_MATRIX_BAND_SAT
|
||||
//#undef ENABLE_RGB_MATRIX_BAND_VAL //Enables RGB_MATRIX_BAND_VAL
|
||||
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Enables RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Enables RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Enables RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Enables RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_ALL // Enables RGB_MATRIX_CYCLE_ALL
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Enables RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Enables RGB_MATRIX_CYCLE_UP_DOWN
|
||||
#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Enables RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN //Enables RGB_MATRIX_CYCLE_OUT_IN
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Enables RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Enables RGB_MATRIX_CYCLE_PINWHEEL
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Enables RGB_MATRIX_CYCLE_SPIRAL
|
||||
#undef ENABLE_RGB_MATRIX_DUAL_BEACON //Enables RGB_MATRIX_DUAL_BEACON
|
||||
#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON// Enables RGB_MATRIX_RAINBOW_BEACON
|
||||
#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Enables RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
#undef ENABLE_RGB_MATRIX_RAINDROPS //Enables RGB_MATRIX_RAINDROPS
|
||||
#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS// Enables RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
//#undef ENABLE_RGB_MATRIX_HUE_BREATHING // Enables RGB_MATRIX_HUE_BREATHING
|
||||
#undef ENABLE_RGB_MATRIX_HUE_PENDULUM //Enables RGB_MATRIX_HUE_PENDULUM
|
||||
#undef ENABLE_RGB_MATRIX_HUE_WAVE //Enables RGB_MATRIX_HUE_WAVE
|
||||
#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL //Enables RGB_MATRIX_PIXEL_FRACTAL
|
||||
#undef ENABLE_RGB_MATRIX_PIXEL_FLOW //Enables RGB_MATRIX_PIXEL_FLOW
|
||||
#undef ENABLE_RGB_MATRIX_PIXEL_RAIN //Enables RGB_MATRIX_PIXEL_RAIN
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Enables RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Enables RGB_MATRIX_SOLID_REACTIVE
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE //Enables RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Enables RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Enables RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Enables RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS //Enables RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS //Enables RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
//#undef ENABLE_RGB_MATRIX_SPLASH //Enables RGB_MATRIX_SPLASH
|
||||
#undef ENABLE_RGB_MATRIX_MULTISPLASH // Enables RGB_MATRIX_MULTISPLASH
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_SPLASH //Enables RGB_MATRIX_SOLID_SPLASH
|
||||
#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Enables RGB_MATRIX_SOLID_MULTISPLASH
|
184
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/keymap.c
Normal file → Executable file
184
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/keymap.c
Normal file → Executable file
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2021 lmlmask
|
||||
/* Copyright 2020 lmlask
|
||||
*
|
||||
* 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
|
||||
@@ -15,119 +15,149 @@
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "keymap_brazilian_abnt2.h"
|
||||
#include <keymap_brazilian_abnt2.h>
|
||||
|
||||
enum layers {
|
||||
_WORKMAN,
|
||||
_QWERTY,
|
||||
_DVORAK,
|
||||
_COLEMAK,
|
||||
_MIDI,
|
||||
_GAME,
|
||||
|
||||
_SYM,
|
||||
_FUNCTION,
|
||||
_MIDI,
|
||||
_NAV,
|
||||
_NUM,
|
||||
_ADJUST
|
||||
_ADJUST,
|
||||
_MOUSE,
|
||||
|
||||
_CPY,
|
||||
_SWP
|
||||
};
|
||||
|
||||
enum planck_keycodes {
|
||||
WORKMAN = SAFE_RANGE,
|
||||
WORKMAN = QK_USER,
|
||||
QWERTY,
|
||||
DVORAK,
|
||||
COLEMAK,
|
||||
MIDI
|
||||
MIDI,
|
||||
GAME,
|
||||
TOG_CPY,
|
||||
TOG_SWP,
|
||||
};
|
||||
|
||||
#define SYM MO(_SYM)
|
||||
#define FUN LT(_FUNCTION, KC_ENT)
|
||||
#define MYTAB LT(_NAV, KC_TAB)
|
||||
#define MYNAV LT(_NAV, KC_DEL)
|
||||
#define MYNUM LT(_NUM, KC_BSPC)
|
||||
#define NAVTAB LT(_NAV, KC_TAB)
|
||||
#define SYM LT(_SYM, KC_BSPC)
|
||||
#define NUM LT(_NUM, KC_DEL)
|
||||
#define FUN MO(_FUNCTION)
|
||||
#define CTL_ENT RCTL_T(KC_ENT)
|
||||
|
||||
//Hand swap config, similar to Planck
|
||||
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
|
||||
{{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0} },
|
||||
{{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1} },
|
||||
{{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2} },
|
||||
{{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}, {7, 3}, {8, 3}, {9, 3}, {10, 3}},
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
//qwerty base layer ok
|
||||
//BASE LAYERS
|
||||
[_QWERTY] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, BR_TILD,
|
||||
MYTAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCED, BR_ACUT,
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, BR_ACUT,
|
||||
NAVTAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCED, BR_TILD,
|
||||
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, BR_SLSH, SC_RSPC,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, SYM, MYNAV, KC_SPC, MYNUM, FUN, KC_RGUI, KC_LALT, RCTL_T(KC_ENT)
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
|
||||
),
|
||||
|
||||
//workman base layer ok
|
||||
[_WORKMAN] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, BR_CCED, BR_TILD,
|
||||
MYTAB, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, BR_ACUT,
|
||||
KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, BR_CCED, BR_ACUT,
|
||||
NAVTAB, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, BR_TILD,
|
||||
SC_LSPO, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, BR_SLSH, SC_RSPC,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, SYM, MYNAV, KC_SPC, MYNUM, FUN, KC_RGUI, KC_LALT, RCTL_T(KC_ENT)
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
|
||||
),
|
||||
|
||||
//dvorak base layer ok
|
||||
[_DVORAK] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, BR_SLSH, BR_TILD,
|
||||
MYTAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, BR_ACUT,
|
||||
KC_ESC, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, BR_SLSH, BR_ACUT,
|
||||
NAVTAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, BR_TILD,
|
||||
SC_LSPO, BR_CCED, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SC_RSPC,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, SYM, MYNAV, KC_SPC, MYNUM, FUN, KC_RGUI, KC_LALT, RCTL_T(KC_ENT)
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
|
||||
),
|
||||
|
||||
//colemak base layer ok
|
||||
[_COLEMAK] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, BR_CCED, BR_TILD,
|
||||
MYTAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, BR_ACUT,
|
||||
KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, BR_CCED, BR_ACUT,
|
||||
NAVTAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, BR_TILD,
|
||||
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, BR_SLSH, SC_RSPC,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, SYM, MYNAV, KC_SPC, MYNUM, FUN, KC_RGUI, KC_LALT, RCTL_T(KC_ENT)
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
|
||||
),
|
||||
|
||||
//navigation and utility layer ok
|
||||
//UTILITY LAYERS - SHORTCUT (CPY), SWAP HANDS (SWP)
|
||||
[_CPY] = LAYOUT_planck_mit(
|
||||
_______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_SWP] = LAYOUT_planck_mit(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, NUM, SH_T(KC_BSPC),_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
//AUX LAYERS (NAV, SYM, NUM, FN)
|
||||
[_NAV] = LAYOUT_planck_mit(
|
||||
KC_TRNS, _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_VOLU,
|
||||
_______, _______, _______, _______, BR_QUOT, _______, KC_ENT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_VOLD,
|
||||
KC_TRNS, KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, _______, _______, KC_BSPC, KC_DEL, _______, _______, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, MYNUM, _______, KC_MPRV, KC_MPLY, KC_MNXT
|
||||
KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, C(KC_V), C(KC_Z),
|
||||
_______, KC_LALT, KC_LGUI, KC_LSFT, KC_LCTL, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, C(KC_C), C(KC_X),
|
||||
_______, _______, _______, _______, _______, _______, KC_ENT, KC_BSPC, KC_DEL, KC_VOLD, KC_VOLU, _______,
|
||||
_______, _______, _______, _______, _______, KC_ENT, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
|
||||
),
|
||||
|
||||
//symbols layer ok
|
||||
[_SYM] = LAYOUT_planck_mit(
|
||||
BR_DQUO, BR_EXLM, BR_AT, BR_HASH, BR_DLR, BR_PERC, BR_DIAE, BR_AMPR, BR_ASTR, BR_LPRN, BR_RPRN, BR_COLN,
|
||||
BR_QUOT, BR_PIPE, _______, _______, _______, _______, _______, BR_PLUS, BR_UNDS, BR_LBRC, BR_RBRC, BR_SCLN,
|
||||
KC_TRNS, BR_BSLS, _______, _______, _______, _______, _______, BR_EQL, BR_MINS, BR_LCBR, BR_RCBR, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
BR_DQUO, BR_EXLM, BR_AT, BR_HASH, BR_DLR, BR_PERC, BR_DIAE, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
BR_QUOT, BR_BSLS, BR_SCLN, KC_MINS, BR_QUOT, _______, _______, KC_PLUS, _______, BR_LBRC, BR_RBRC, _______,
|
||||
_______, BR_PIPE, BR_COLN, KC_UNDS, BR_DQUO, _______, _______, KC_EQL, _______, BR_LCBR, BR_RCBR, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
//numbers layer ok
|
||||
[_NUM] = LAYOUT_planck_mit(
|
||||
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, BR_MINS,
|
||||
_______, BR_ASTR, BR_SLSH, BR_MINS, BR_PLUS, _______, _______, KC_4, KC_5, KC_6, BR_COMM, BR_PLUS,
|
||||
KC_TRNS, BR_PERC, BR_EQL, BR_DOT, BR_COMM, _______, _______, KC_1, KC_2, KC_3, BR_DOT, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, _______, MYNAV, _______, _______, KC_0, KC_0, KC_COMM, KC_ENT
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, BR_SLSH, BR_MINS,
|
||||
_______, BR_SLSH, KC_ASTR, KC_MINS, KC_PLUS, _______, _______, KC_4, KC_5, KC_6, BR_ASTR, BR_PLUS,
|
||||
_______, BR_PERC, KC_EQL, KC_DOT, KC_COMM, _______, _______, KC_1, KC_2, KC_3, BR_COLN, BR_DOT,
|
||||
_______, _______, _______, _______, _______, _______, KC_0, KC_BSPC, BR_COMM, BR_EQL, KC_ENT
|
||||
),
|
||||
|
||||
//FN layer
|
||||
[_FUNCTION] = LAYOUT_planck_mit(
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F13, KC_F14, KC_F15, KC_F16, KC_INS,
|
||||
KC_PSCR, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, KC_F17, KC_F18, KC_F19, KC_F20, KC_PAUS,
|
||||
KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_F21, KC_F22, KC_F23, KC_F24, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_SCRL, _______, KC_F13, KC_F14, KC_F15, KC_F16, KC_INS,
|
||||
_______, KC_F5, KC_F6, KC_F7, KC_F8, KC_NUM, _______, KC_F17, KC_F18, KC_F19, KC_F20, KC_PAUS,
|
||||
_______, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, _______, KC_F21, KC_F22, KC_F23, KC_F24, KC_APP,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
|
||||
),
|
||||
|
||||
// adjust layer ok
|
||||
//ADJUST LAYER FOR KEYBOARD CONTROL
|
||||
[_ADJUST] = LAYOUT_planck_mit(
|
||||
QK_BOOT, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______,
|
||||
KC_CAPS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, QWERTY, DVORAK, COLEMAK, WORKMAN, MIDI,
|
||||
_______, MI_ON, MI_OFF, MI_TOGG, MU_ON, MU_OFF, MU_TOGG, MU_NEXT, AU_ON, AU_OFF, _______, _______,
|
||||
QK_BOOT, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, MIDI, GAME, _______, _______, _______,
|
||||
KC_CAPS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, QWERTY, DVORAK, COLEMAK, WORKMAN, _______,
|
||||
QK_RBT, _______, _______, _______, _______, _______, _______, TOG_CPY, TOG_SWP, _______, _______, _______,
|
||||
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
// midi layer
|
||||
//MOUSE LAYER
|
||||
[_MOUSE] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_BTN6, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN6, KC_NO,
|
||||
_______, KC_BTN4, KC_BTN2, KC_BTN3, KC_BTN1, KC_NO, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN4, KC_NO,
|
||||
_______, KC_BTN5, KC_ACL2, KC_ACL1, KC_ACL0, KC_NO, KC_BTN7, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN5, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
//MIDI
|
||||
[_MIDI] = LAYOUT_planck_mit(
|
||||
MI_Cs, MI_Ds, _______, MI_Fs, MI_Gs, MI_As, _______, MI_Cs, MI_Ds, _______, MI_Fs, MI_Gs,
|
||||
MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C, MI_D, MI_E, MI_F, MI_G,
|
||||
MI_BNDU, MI_OCTU, MI_TRSU, MI_VELU, _______, _______, _______, _______, _______, MI_ON, MI_CHNU, MI_TOGG,
|
||||
MI_BNDD, MI_OCTD, MI_TRSD, MI_VELD, MYNAV, MI_SUST, MYNUM, _______, MI_OFF, MI_CHND, MI_AOFF
|
||||
)
|
||||
MI_Cs, MI_Ds, MI_F, MI_Fs, MI_Gs, MI_As, MI_C, MI_Cs1, MI_Ds1, MI_F1, MI_Fs1, MI_Gs1,
|
||||
MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C1, MI_D1, MI_E, MI_F1, MI_G1,
|
||||
MI_BNDU, MI_OCTU, MI_TRSU, MI_VELU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MI_MODU,MI_CHNU, MI_TOGG,
|
||||
MI_BNDD, MI_OCTD, MI_TRSD, MI_VELD, MI_SOFT, MI_SUST, SYM, FUN, MI_MODD,MI_CHND, MI_AOFF
|
||||
),
|
||||
//GAME
|
||||
[_GAME] = LAYOUT_planck_mit(
|
||||
KC_ESC, JS_0, JS_1, JS_2, JS_3, JS_4, JS_5, JS_6, JS_7, JS_8, JS_9, KC_P,
|
||||
KC_TAB, JS_10, JS_11, JS_12, JS_13, JS_14, JS_15, JS_16, JS_17, JS_18, JS_19, KC_O,
|
||||
KC_LSFT, JS_20, JS_21, JS_22, JS_23, JS_24, JS_25, JS_26, JS_27, JS_28, JS_29, KC_L,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
|
||||
),
|
||||
};
|
||||
|
||||
//Custom keycodes code for layer switching
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
@@ -155,10 +185,32 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
set_single_persistent_default_layer(_MIDI);
|
||||
}
|
||||
return false;
|
||||
case GAME:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_GAME);
|
||||
}
|
||||
return false;
|
||||
case TOG_CPY:
|
||||
if (record->event.pressed) {
|
||||
layer_invert(_CPY);
|
||||
}
|
||||
return false;
|
||||
case TOG_SWP:
|
||||
if (record->event.pressed) {
|
||||
layer_invert(_SWP);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//ADJUST and MOUSE layers activation code
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _NAV, _NUM, _ADJUST);
|
||||
state = update_tri_layer_state(state, _FUNCTION, _SYM, _ADJUST);
|
||||
state = update_tri_layer_state(state, _NAV, _NUM, _MOUSE);
|
||||
return state;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
84
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/readme.md
Normal file → Executable file
84
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/readme.md
Normal file → Executable file
@@ -1,35 +1,79 @@
|
||||
# Brazilian keymap for the BM40RGB keyboard
|
||||
|
||||

|
||||

|
||||
|
||||
This keymap deviates somewhat from the generally used conventions of Planck style keyboards.
|
||||
It's built on the following principles:
|
||||
|
||||
1. Availability of different base layers. QWERTY, Dvorak, Colemak and Workman are available. They can be chosen with the four right hand home row keys on the ADJUST layer (NAV + NUM keys). The base layout you choose gets stored on the keyboard EEPROM, so it will still be set if you unplug or reset the keyboard. I use Workman, so it's the default, but you can change to QWERTY easily with NAV + NUM + J (the J in QWERTY).
|
||||
2. Frequent use of navigation keys such as the arrow keys, home, end, and hotkeys using those keycodes. For that reason, it keeps the navigation keys on a dedicated nav layer, on the home row, under the right hand. The nav layer gets the highly accessible layer toggle button usually used for the LOWER layer on most Planck style keymaps. I find this much better than using dedicated arrow keys on the bottom right of the keyboard, as the very reason I swapped to a 40% is to move my hands less.
|
||||
1. Availability of different base layouts. QWERTY, Dvorak, Colemak and Workman are available. They can be chosen with the four right hand home row keys on the ADJUST layer (NAV + NUM keys). The base layout you choose gets stored on the keyboard EEPROM, so it will still be set if you unplug or reset the keyboard.
|
||||
2. Frequent use of navigation keys such as the arrow keys, home, end, and hotkeys using those keycodes. For that reason, it keeps the navigation keys on a dedicated nav layer, on the home row, under the right hand. The nav layer is activated by the first button of the home row (the usual caps lock position). I find this much better than using dedicated arrow keys on the bottom right of the keyboard, as the very reason I swapped to a 40% is to move my hands less.
|
||||
3. Accessibility of the ´ ` ^ ~ ç symbols. There are several blank spaces left on the symbols layer, if you need access to other symbols or diacritics.
|
||||
4. Proper touch typing, and hotkey access, with the Ctrl, Shift, Win/Super and Alt modifiers on both sides. I found my hands very much expect Ctrl to be on the edge of the keyboard, and as such I've kept both bottom corner keys as Ctrl. Using those keys as layer modifiers, albeit common in many keymaps, is something I found to be somewhat awkward, as it makes it basically impossible to use the hand used to press them.
|
||||
4. Proper touch typing, and hotkey access, with the Shift key on both sides. I found my hands very much expect Ctrl to be on the edge of the keyboard, and as such I've kept both bottom corner keys as Ctrl. The right Ctrl will act as an Enter key if tapped.
|
||||
5. Numbers and navigation keys should be slightly more accessible than symbols and function keys. If you use symbols more often, consider swapping the NUM and SYM layer toggle keys.
|
||||
6. It's easier to remember layers when they make sense conceptually. Hence, there are dedicated layers for navigation/utility (NAV), numbers (NUM), symbols (SYM) and function keys (FN). There's a dedicated MIDI layer. Don't forget to add #define MIDI_ADVANCED to your config.h if you plan on using it.
|
||||
7. Tap hold is a good tool and you should use it if you can. Backspace and Delete are set as tap functions on the two more accessible layer toggle keys.
|
||||
6. It's easier to remember layers when they make sense conceptually, so no "lower" and "raise" layers. Instead, there are dedicated layers for navigation/utility (NAV), numbers (NUM), symbols (SYM) and function keys (FN). There's also dedicated MIDI layers, a layer for one-hand typing, a mouse-emulating layer, and a layer for one-hand navigation and copy-pasting.
|
||||
7. Tap hold is a good tool and you should use it if you can. Backspace and Delete are set as tap functions on the two more accessible layer toggle keys. The bottom right Ctrl behaves as Enter when tapped. The Nav layer button is Tab when tapped.
|
||||
8. Easy-to-access shortcut modifiers. This layout includes a Master key (Shift+Ctrl+Alt) and a Hyper key (Shift+Ctrl+Alt+Super) for configuring system shortcuts.
|
||||
|
||||
It will only work as intended if your system keyboard layout is set to Brazilian ABNT2. It may work with other international layouts, but some keys, including brackets and the ´ ` ~ ^ keys, will get broken.
|
||||
It will only work as intended if your system keyboard layout is set to Brazilian ABNT2. It may work with other international layouts, but some keys, including brackets and the ´ ` ~ ^ keys, will get broken. If your system layout is another one, it should be relatively easy to change keymap.c (search and replace each key with the equivalent one from the international keymaps file).
|
||||
|
||||
# Layers and functions
|
||||
# Base Layers
|
||||
|
||||
In each key:
|
||||
Top left: Symbols;
|
||||
Top right: Functions;
|
||||
Bottom left: Navigation;
|
||||
Bottom right: Numbers;
|
||||
Bottom: secondary function (tap/hold)
|
||||
These are selected as the base by a button in the Adjust layer.
|
||||
|
||||
# BASE (Qwerty, Dvorak, Colemak, Workman)
|
||||

|
||||
## Normal
|
||||
|
||||
# Adjust (NAV+NUM)
|
||||

|
||||

|
||||
|
||||
# MIDI
|
||||

|
||||
QWERTY, Dvorak, Colemak and Workman are built-in.
|
||||
|
||||
## MIDI
|
||||
|
||||

|
||||
|
||||
One and a half octaves piano on the top rows, control signals in the bottom rows. SYM and FUN remain accessible so the ADJ layer can be accessed.
|
||||
|
||||
## Joystick
|
||||
|
||||

|
||||
|
||||
Emulates a 32-button joystick for using as a button-box or dedicated game controller.
|
||||
|
||||
# Modifier layers
|
||||
|
||||
These are activated by holding down modifier keys.
|
||||
|
||||
## Navigation Layer (NAV)
|
||||
|
||||

|
||||
|
||||
The layer you'll access most often. Navigation keys right on the right-hand homerow, plus a few common utilities.
|
||||
|
||||
## Functions Layer (FUN)
|
||||
|
||||

|
||||
|
||||
## Mouse Layer
|
||||
|
||||

|
||||
|
||||
Emulates mouse actions so you can perform simple tasks without reaching for the mouse.
|
||||
|
||||
## Adjust Layer (SYM + FUN)
|
||||
|
||||

|
||||
|
||||
# Additional/utility layers
|
||||
|
||||
These are utility overlays toggled by a key in the Adjust layer.
|
||||
|
||||
## Handswap Layer
|
||||
|
||||

|
||||
|
||||
For one-hand typing. The three top rows are mirrorred when SWAP is held down.
|
||||
|
||||
## CPY Layer (One-hand navigation layer)
|
||||
|
||||

|
||||
|
||||
For general navigation and quick copy-paste one-handed stuff. I don't like using it, but my job demands it sometimes.
|
||||
|
19
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/rules.mk
Executable file
19
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/rules.mk
Executable file
@@ -0,0 +1,19 @@
|
||||
LTO_ENABLE = yes
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
TERMINAL_ENABLE = no
|
||||
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
SPLIT_KEYBOARD = no
|
||||
KEY_LOCK_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
LAYOUTS = planck_mit
|
||||
|
||||
MIDI_ENABLE = yes
|
||||
JOYSTICK_ENABLE = yes
|
||||
JOYSTICK_DRIVER = digital
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
SWAP_HANDS_ENABLE = yes
|
||||
|
||||
STENO_ENABLE = no # Enabling steno requires disabling all options in the previous block.
|
127
keyboards/lucid/velvet_hotswap/info.json
Normal file
127
keyboards/lucid/velvet_hotswap/info.json
Normal file
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"keyboard_name": "Velvet Hotswap",
|
||||
"manufacturer": "FJLaboratories",
|
||||
"url": "http://www.makerkeyboards.com",
|
||||
"maintainer": "Maker Keyboards",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0008",
|
||||
"vid": "0x7667"
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["F2", "F3", "F4", "F5", "F6", "F7", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "D5", "D6", "D7"],
|
||||
"rows": ["B4", "B5", "B6", "C0", "E1", "E0"]
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"processor": "at90usb646",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "label":"Esc", "x":0, "y":0},
|
||||
{"matrix": [0, 1], "label":"F1", "x":1.25, "y":0},
|
||||
{"matrix": [0, 2], "label":"F2", "x":2.25, "y":0},
|
||||
{"matrix": [0, 3], "label":"F3", "x":3.25, "y":0},
|
||||
{"matrix": [0, 4], "label":"F4", "x":4.25, "y":0},
|
||||
{"matrix": [0, 5], "label":"F5", "x":5.5, "y":0},
|
||||
{"matrix": [0, 6], "label":"F6", "x":6.5, "y":0},
|
||||
{"matrix": [0, 7], "label":"F7", "x":7.5, "y":0},
|
||||
{"matrix": [0, 8], "label":"F8", "x":8.5, "y":0},
|
||||
{"matrix": [0, 9], "label":"F9", "x":9.75, "y":0},
|
||||
{"matrix": [0, 10], "label":"F10", "x":10.75, "y":0},
|
||||
{"matrix": [0, 11], "label":"F11", "x":11.75, "y":0},
|
||||
{"matrix": [0, 12], "label":"F12", "x":12.75, "y":0},
|
||||
{"matrix": [0, 13], "label":"F13", "x":14, "y":0},
|
||||
{"matrix": [0, 14], "label":"PrtSc", "x":15.25, "y":0},
|
||||
{"matrix": [0, 15], "label":"Scroll Lock", "x":16.25, "y":0},
|
||||
{"matrix": [0, 16], "label":"Pause", "x":17.25, "y":0},
|
||||
|
||||
{"matrix": [1, 0], "label":"~", "x":0, "y":1.25},
|
||||
{"matrix": [1, 1], "label":"!", "x":1, "y":1.25},
|
||||
{"matrix": [1, 2], "label":"@", "x":2, "y":1.25},
|
||||
{"matrix": [1, 3], "label":"#", "x":3, "y":1.25},
|
||||
{"matrix": [1, 4], "label":"$", "x":4, "y":1.25},
|
||||
{"matrix": [1, 5], "label":"%", "x":5, "y":1.25},
|
||||
{"matrix": [1, 6], "label":"^", "x":6, "y":1.25},
|
||||
{"matrix": [1, 7], "label":"&", "x":7, "y":1.25},
|
||||
{"matrix": [1, 8], "label":"*", "x":8, "y":1.25},
|
||||
{"matrix": [1, 9], "label":"(", "x":9, "y":1.25},
|
||||
{"matrix": [1, 10], "label":")", "x":10, "y":1.25},
|
||||
{"matrix": [1, 11], "label":"_", "x":11, "y":1.25},
|
||||
{"matrix": [1, 12], "label":"+", "x":12, "y":1.25},
|
||||
{"matrix": [3, 12], "label":"Back Space", "x":13, "y":1.25},
|
||||
{"matrix": [1, 13], "label":"Back Space", "x":14, "y":1.25},
|
||||
{"matrix": [1, 14], "label":"Insert", "x":15.25, "y":1.25},
|
||||
{"matrix": [1, 15], "label":"Home", "x":16.25, "y":1.25},
|
||||
{"matrix": [1, 16], "label":"PgUp", "x":17.25, "y":1.25},
|
||||
|
||||
{"matrix": [2, 0], "label":"Tab", "x":0, "y":2.25, "w":1.5},
|
||||
{"matrix": [2, 1], "label":"Q", "x":1.5, "y":2.25},
|
||||
{"matrix": [2, 2], "label":"W", "x":2.5, "y":2.25},
|
||||
{"matrix": [2, 3], "label":"E", "x":3.5, "y":2.25},
|
||||
{"matrix": [2, 4], "label":"R", "x":4.5, "y":2.25},
|
||||
{"matrix": [2, 5], "label":"T", "x":5.5, "y":2.25},
|
||||
{"matrix": [2, 6], "label":"Y", "x":6.5, "y":2.25},
|
||||
{"matrix": [2, 7], "label":"U", "x":7.5, "y":2.25},
|
||||
{"matrix": [2, 8], "label":"I", "x":8.5, "y":2.25},
|
||||
{"matrix": [2, 9], "label":"O", "x":9.5, "y":2.25},
|
||||
{"matrix": [2, 10], "label":"P", "x":10.5, "y":2.25},
|
||||
{"matrix": [2, 11], "label":"{", "x":11.5, "y":2.25},
|
||||
{"matrix": [2, 12], "label":"}", "x":12.5, "y":2.25},
|
||||
{"matrix": [2, 13], "label":"|", "x":13.5, "y":2.25, "w":1.5},
|
||||
{"matrix": [2, 14], "label":"Delete", "x":15.25, "y":2.25},
|
||||
{"matrix": [2, 15], "label":"End", "x":16.25, "y":2.25},
|
||||
{"matrix": [2, 16], "label":"PgDn", "x":17.25, "y":2.25},
|
||||
|
||||
{"matrix": [3, 0], "label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
||||
{"matrix": [3, 1], "label":"A", "x":1.75, "y":3.25},
|
||||
{"matrix": [3, 2], "label":"S", "x":2.75, "y":3.25},
|
||||
{"matrix": [3, 3], "label":"D", "x":3.75, "y":3.25},
|
||||
{"matrix": [3, 4], "label":"F", "x":4.75, "y":3.25},
|
||||
{"matrix": [3, 5], "label":"G", "x":5.75, "y":3.25},
|
||||
{"matrix": [3, 6], "label":"H", "x":6.75, "y":3.25},
|
||||
{"matrix": [3, 7], "label":"J", "x":7.75, "y":3.25},
|
||||
{"matrix": [3, 8], "label":"K", "x":8.75, "y":3.25},
|
||||
{"matrix": [3, 9], "label":"L", "x":9.75, "y":3.25},
|
||||
{"matrix": [3, 10], "label":":", "x":10.75, "y":3.25},
|
||||
{"matrix": [3, 11], "label":"SQ", "x":11.75, "y":3.25},
|
||||
{"matrix": [3, 13], "label":"Enter", "x":12.75, "y":3.25, "w":2.25},
|
||||
|
||||
{"matrix": [4, 0], "label":"Left Shift", "x":0, "y":4.25, "w":2.25},
|
||||
{"matrix": [4, 1], "label":"Z", "x":2.25, "y":4.25},
|
||||
{"matrix": [4, 2], "label":"X", "x":3.25, "y":4.25},
|
||||
{"matrix": [4, 3], "label":"C", "x":4.25, "y":4.25},
|
||||
{"matrix": [4, 4], "label":"V", "x":5.25, "y":4.25},
|
||||
{"matrix": [4, 5], "label":"B", "x":6.25, "y":4.25},
|
||||
{"matrix": [4, 6], "label":"N", "x":7.25, "y":4.25},
|
||||
{"matrix": [4, 7], "label":"M", "x":8.25, "y":4.25},
|
||||
{"matrix": [4, 8], "label":"<", "x":9.25, "y":4.25},
|
||||
{"matrix": [4, 9], "label":">", "x":10.25, "y":4.25},
|
||||
{"matrix": [4, 10], "label":"?", "x":11.25, "y":4.25},
|
||||
{"matrix": [4, 12], "label":"Right Shift", "x":12.25, "y":4.25, "w":1.75},
|
||||
{"matrix": [4, 13], "label":"Right Shift", "x":12.25, "y":4.25},
|
||||
{"matrix": [4, 15], "label":"\u2191", "x":16.25, "y":4.25},
|
||||
|
||||
{"matrix": [5, 0], "label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 1], "label":"Win", "x":1.25, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 2], "label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 5], "x":3.75, "y":5.25, "w":6.25},
|
||||
{"matrix": [5, 9], "label":"Alt", "x":10, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 10], "label":"Win", "x":11.25, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 11], "label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 13], "label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 14], "label":"\u2190", "x":15.25, "y":5.25},
|
||||
{"matrix": [5, 15], "label":"\u2193", "x":16.25, "y":5.25},
|
||||
{"matrix": [5, 16], "label":"\u2192", "x":17.25, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
41
keyboards/lucid/velvet_hotswap/keymaps/default/keymap.c
Normal file
41
keyboards/lucid/velvet_hotswap/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
Copyright 2022 <hello@makerkeyboards.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 {
|
||||
_LAYER0,
|
||||
_LAYER1,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_LAYER0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSPC, 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_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_LAYER1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
61
keyboards/lucid/velvet_hotswap/keymaps/via/keymap.c
Normal file
61
keyboards/lucid/velvet_hotswap/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
Copyright 2022 <hello@makerkeyboards.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 {
|
||||
_LAYER0,
|
||||
_LAYER1,
|
||||
_LAYER2,
|
||||
_LAYER3,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_LAYER0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_LAYER1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[_LAYER2] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[_LAYER3] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
1
keyboards/lucid/velvet_hotswap/keymaps/via/rules.mk
Normal file
1
keyboards/lucid/velvet_hotswap/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
20
keyboards/lucid/velvet_hotswap/readme.md
Normal file
20
keyboards/lucid/velvet_hotswap/readme.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Velvet Hotswap PCB by Lucid
|
||||
|
||||
The following is the QMK Firmware for the Velvet Hotswap PCB by [Maker Keyboards](http://www.makerkeyboards.com).
|
||||
* Keyboard Maintainer: Maker Keyboards
|
||||
* Hardware Supported: Velvet
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make lucid/velvet_hotswap:default
|
||||
|
||||
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:
|
||||
|
||||
* **Bootmagic reset**: Hold down the top left key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (Fn+Backslash by default)
|
||||
|
||||
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).
|
2
keyboards/lucid/velvet_hotswap/rules.mk
Normal file
2
keyboards/lucid/velvet_hotswap/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
# Processor frequency
|
||||
F_CPU = 8000000
|
130
keyboards/lucid/velvet_solder/info.json
Normal file
130
keyboards/lucid/velvet_solder/info.json
Normal file
@@ -0,0 +1,130 @@
|
||||
{
|
||||
"keyboard_name": "Velvet Solder",
|
||||
"manufacturer": "FJLaboratories",
|
||||
"url": "http://www.makerkeyboards.com",
|
||||
"maintainer": "Maker Keyboards",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0007",
|
||||
"vid": "0x7667"
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["F2", "F3", "F4", "F5", "F6", "F7", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "D5", "D6", "D7"],
|
||||
"rows": ["B4", "B5", "B6", "C0", "E1", "E0"]
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"processor": "at90usb646",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "label":"Esc", "x":0, "y":0},
|
||||
{"matrix": [0, 1], "label":"F1", "x":1.25, "y":0},
|
||||
{"matrix": [0, 2], "label":"F2", "x":2.25, "y":0},
|
||||
{"matrix": [0, 3], "label":"F3", "x":3.25, "y":0},
|
||||
{"matrix": [0, 4], "label":"F4", "x":4.25, "y":0},
|
||||
{"matrix": [0, 5], "label":"F5", "x":5.5, "y":0},
|
||||
{"matrix": [0, 6], "label":"F6", "x":6.5, "y":0},
|
||||
{"matrix": [0, 7], "label":"F7", "x":7.5, "y":0},
|
||||
{"matrix": [0, 8], "label":"F8", "x":8.5, "y":0},
|
||||
{"matrix": [0, 9], "label":"F9", "x":9.75, "y":0},
|
||||
{"matrix": [0, 10], "label":"F10", "x":10.75, "y":0},
|
||||
{"matrix": [0, 11], "label":"F11", "x":11.75, "y":0},
|
||||
{"matrix": [0, 12], "label":"F12", "x":12.75, "y":0},
|
||||
{"matrix": [0, 13], "label":"F13", "x":14, "y":0},
|
||||
{"matrix": [0, 14], "label":"PrtSc", "x":15.25, "y":0},
|
||||
{"matrix": [0, 15], "label":"Scroll Lock", "x":16.25, "y":0},
|
||||
{"matrix": [0, 16], "label":"Pause", "x":17.25, "y":0},
|
||||
|
||||
{"matrix": [1, 0], "label":"~", "x":0, "y":1.25},
|
||||
{"matrix": [1, 1], "label":"!", "x":1, "y":1.25},
|
||||
{"matrix": [1, 2], "label":"@", "x":2, "y":1.25},
|
||||
{"matrix": [1, 3], "label":"#", "x":3, "y":1.25},
|
||||
{"matrix": [1, 4], "label":"$", "x":4, "y":1.25},
|
||||
{"matrix": [1, 5], "label":"%", "x":5, "y":1.25},
|
||||
{"matrix": [1, 6], "label":"^", "x":6, "y":1.25},
|
||||
{"matrix": [1, 7], "label":"&", "x":7, "y":1.25},
|
||||
{"matrix": [1, 8], "label":"*", "x":8, "y":1.25},
|
||||
{"matrix": [1, 9], "label":"(", "x":9, "y":1.25},
|
||||
{"matrix": [1, 10], "label":")", "x":10, "y":1.25},
|
||||
{"matrix": [1, 11], "label":"_", "x":11, "y":1.25},
|
||||
{"matrix": [1, 12], "label":"+", "x":12, "y":1.25},
|
||||
{"matrix": [1, 13], "label":"Back Space", "x":13, "y":1.25},
|
||||
{"matrix": [3, 14], "label":"Back Space", "x":14, "y":1.25},
|
||||
{"matrix": [1, 14], "label":"Insert", "x":15.25, "y":1.25},
|
||||
{"matrix": [1, 15], "label":"Home", "x":16.25, "y":1.25},
|
||||
{"matrix": [1, 16], "label":"PgUp", "x":17.25, "y":1.25},
|
||||
|
||||
{"matrix": [2, 0], "label":"Tab", "x":0, "y":2.25, "w":1.5},
|
||||
{"matrix": [2, 1], "label":"Q", "x":1.5, "y":2.25},
|
||||
{"matrix": [2, 2], "label":"W", "x":2.5, "y":2.25},
|
||||
{"matrix": [2, 3], "label":"E", "x":3.5, "y":2.25},
|
||||
{"matrix": [2, 4], "label":"R", "x":4.5, "y":2.25},
|
||||
{"matrix": [2, 5], "label":"T", "x":5.5, "y":2.25},
|
||||
{"matrix": [2, 6], "label":"Y", "x":6.5, "y":2.25},
|
||||
{"matrix": [2, 7], "label":"U", "x":7.5, "y":2.25},
|
||||
{"matrix": [2, 8], "label":"I", "x":8.5, "y":2.25},
|
||||
{"matrix": [2, 9], "label":"O", "x":9.5, "y":2.25},
|
||||
{"matrix": [2, 10], "label":"P", "x":10.5, "y":2.25},
|
||||
{"matrix": [2, 11], "label":"{", "x":11.5, "y":2.25},
|
||||
{"matrix": [2, 12], "label":"}", "x":12.5, "y":2.25},
|
||||
{"matrix": [2, 13], "label":"|", "x":13.5, "y":2.25, "w":1.5},
|
||||
{"matrix": [2, 14], "label":"Delete", "x":15.25, "y":2.25},
|
||||
{"matrix": [2, 15], "label":"End", "x":16.25, "y":2.25},
|
||||
{"matrix": [2, 16], "label":"PgDn", "x":17.25, "y":2.25},
|
||||
|
||||
{"matrix": [3, 0], "label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
||||
{"matrix": [3, 1], "label":"A", "x":1.75, "y":3.25},
|
||||
{"matrix": [3, 2], "label":"S", "x":2.75, "y":3.25},
|
||||
{"matrix": [3, 3], "label":"D", "x":3.75, "y":3.25},
|
||||
{"matrix": [3, 4], "label":"F", "x":4.75, "y":3.25},
|
||||
{"matrix": [3, 5], "label":"G", "x":5.75, "y":3.25},
|
||||
{"matrix": [3, 6], "label":"H", "x":6.75, "y":3.25},
|
||||
{"matrix": [3, 7], "label":"J", "x":7.75, "y":3.25},
|
||||
{"matrix": [3, 8], "label":"K", "x":8.75, "y":3.25},
|
||||
{"matrix": [3, 9], "label":"L", "x":9.75, "y":3.25},
|
||||
{"matrix": [3, 10], "label":":", "x":10.75, "y":3.25},
|
||||
{"matrix": [3, 11], "label":"SQ", "x":11.75, "y":3.25},
|
||||
{"matrix": [3, 13], "label":"Enter", "x":12.75, "y":3.25, "w":2.25},
|
||||
|
||||
{"matrix": [4, 0], "label":"Left Shift", "x":0, "y":4.25, "w":1.25},
|
||||
{"matrix": [4, 1], "label":"Left Shift", "x":1.25, "y":4.25, "w":1},
|
||||
{"matrix": [4, 2], "label":"Z", "x":2.25, "y":4.25},
|
||||
{"matrix": [4, 3], "label":"X", "x":3.25, "y":4.25},
|
||||
{"matrix": [4, 4], "label":"C", "x":4.25, "y":4.25},
|
||||
{"matrix": [4, 5], "label":"V", "x":5.25, "y":4.25},
|
||||
{"matrix": [4, 6], "label":"B", "x":6.25, "y":4.25},
|
||||
{"matrix": [4, 7], "label":"N", "x":7.25, "y":4.25},
|
||||
{"matrix": [4, 8], "label":"M", "x":8.25, "y":4.25},
|
||||
{"matrix": [4, 9], "label":"<", "x":9.25, "y":4.25},
|
||||
{"matrix": [4, 10], "label":">", "x":10.25, "y":4.25},
|
||||
{"matrix": [4, 11], "label":"?", "x":11.25, "y":4.25},
|
||||
{"matrix": [4, 12], "label":"Right Shift", "x":12.25, "y":4.25, "w":1.75},
|
||||
{"matrix": [4, 13], "label":"Right Shift", "x":12.25, "y":4.25},
|
||||
{"matrix": [4, 15], "label":"\u2191", "x":16.25, "y":4.25},
|
||||
|
||||
{"matrix": [5, 0], "label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 1], "label":"Win", "x":1.25, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 2], "label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 4], "x":3.75, "y":5.25, "w":2.75},
|
||||
{"matrix": [5, 5], "x":6.5, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 8], "x":6.75, "y":5.25, "w":2.25},
|
||||
{"matrix": [5, 9], "label":"Alt", "x":10, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 10], "label":"Win", "x":11.25, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 11], "label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 13], "label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 14], "label":"\u2190", "x":15.25, "y":5.25},
|
||||
{"matrix": [5, 15], "label":"\u2193", "x":16.25, "y":5.25},
|
||||
{"matrix": [5, 16], "label":"\u2192", "x":17.25, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
41
keyboards/lucid/velvet_solder/keymaps/default/keymap.c
Normal file
41
keyboards/lucid/velvet_solder/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
Copyright 2022 <hello@makerkeyboards.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 {
|
||||
_LAYER0,
|
||||
_LAYER1,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_LAYER0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSPC, KC_ENT,
|
||||
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_LAYER1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
61
keyboards/lucid/velvet_solder/keymaps/via/keymap.c
Normal file
61
keyboards/lucid/velvet_solder/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
Copyright 2022 <hello@makerkeyboards.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 {
|
||||
_LAYER0,
|
||||
_LAYER1,
|
||||
_LAYER2,
|
||||
_LAYER3,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_LAYER0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_LAYER1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[_LAYER2] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[_LAYER3] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
1
keyboards/lucid/velvet_solder/keymaps/via/rules.mk
Normal file
1
keyboards/lucid/velvet_solder/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
20
keyboards/lucid/velvet_solder/readme.md
Normal file
20
keyboards/lucid/velvet_solder/readme.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Velvet Solder PCB by Lucid
|
||||
|
||||
The following is the QMK Firmware for the Velvet Solder PCB by [Maker Keyboards](http://www.makerkeyboards.com).
|
||||
* Keyboard Maintainer: Maker Keyboards
|
||||
* Hardware Supported: Velvet
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make lucid/velvet_solder:default
|
||||
|
||||
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:
|
||||
|
||||
* **Bootmagic reset**: Hold down the top left key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (Fn+Backslash by default)
|
||||
|
||||
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).
|
2
keyboards/lucid/velvet_solder/rules.mk
Normal file
2
keyboards/lucid/velvet_solder/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
# Processor frequency
|
||||
F_CPU = 8000000
|
@@ -22,6 +22,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_APP, KC_RGUI, KC_LCTL
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL
|
||||
),
|
||||
};
|
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_APP, KC_RGUI, KC_LCTL
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
|
@@ -17,10 +17,9 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
/* The way how "handedness" is decided (which half is which),
|
||||
/* By default left side is selected as master,
|
||||
see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness
|
||||
for more options.
|
||||
*/
|
||||
for more options. */
|
||||
|
||||
#if defined(KEYBOARD_sofle_rev1)
|
||||
// Add RGB underglow and top facing lighting
|
||||
|
@@ -1,39 +0,0 @@
|
||||
/* Copyright 2020 Josef Adamcik
|
||||
* Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
//Setting up what encoder rotation does. If your encoder can be pressed as a button, that function can be set in Via.
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == 0) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
} else if (index == 1) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_PGDN);
|
||||
} else {
|
||||
tap_code(KC_PGUP);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
@@ -17,9 +17,15 @@
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "oled.c"
|
||||
#include "encoder.c"
|
||||
|
||||
//Default keymap. This can be changed in Via. Use oled.c and encoder.c to change beavior that Via cannot change.
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
|
||||
[1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
|
||||
[2] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
|
||||
[3] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)}
|
||||
};
|
||||
#endif
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
|
@@ -6,3 +6,4 @@ EXTRAKEY_ENABLE = yes
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
RGBLIGHT_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
@@ -22,7 +22,7 @@
|
||||
# define POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE
|
||||
#endif // POINTING_DEVICE_ENABLE
|
||||
|
||||
#define I2C_DRIVER I2CD1
|
||||
#define I2C_DRIVER I2CD0
|
||||
#define I2C1_SDA_PIN GP16
|
||||
#define I2C1_SCL_PIN GP17
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Double tap TD(0) to enter bootloader
|
||||
static void enter_qk_boot(qk_tap_dance_state_t *state, void *user_data) {
|
||||
static void enter_qk_boot(tap_dance_state_t *state, void *user_data) {
|
||||
if (state->count >= 2) {
|
||||
reset_keyboard();
|
||||
reset_tap_dance(state);
|
||||
@@ -13,7 +13,7 @@ static void enter_qk_boot(qk_tap_dance_state_t *state, void *user_data) {
|
||||
|
||||
enum SpleebLayer { _BASE = 0, _FN, _MOUSE };
|
||||
|
||||
qk_tap_dance_action_t tap_dance_actions[] = {[0] = ACTION_TAP_DANCE_FN(enter_qk_boot)};
|
||||
tap_dance_action_t tap_dance_actions[] = {[0] = ACTION_TAP_DANCE_FN(enter_qk_boot)};
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
@@ -18,4 +18,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#define SOLENOID_PIN A2
|
||||
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
#define RGB_DI_PIN B15
|
||||
#define RGBLED_NUM 9
|
||||
#define WS2812_SPI SPID2
|
||||
#define WS2812_SPI_MOSI_PAL_MODE 5
|
||||
|
||||
#define FORCE_NKRO
|
||||
|
@@ -8,7 +8,7 @@ CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
HAPTIC_ENABLE = yes
|
||||
|
@@ -233,7 +233,7 @@ static inline bool qp_drawtext_prepare_glyph_for_render(qff_font_handle_t *qff_f
|
||||
uint8_t glyph_width = (uint8_t)(glyph_info.value & QFF_GLYPH_WIDTH_MASK);
|
||||
uint32_t glyph_offset = ((glyph_info.value & QFF_GLYPH_OFFSET_MASK) >> QFF_GLYPH_WIDTH_BITS);
|
||||
uint32_t data_offset = sizeof(qff_font_descriptor_v1_t) // Skip the font descriptor
|
||||
+ sizeof(qff_ascii_glyph_table_v1_t) // Skip the ascii table
|
||||
+ (qff_font->has_ascii_table ? sizeof(qff_ascii_glyph_table_v1_t) : 0) // Skip the ascii table
|
||||
+ (qff_font->num_unicode_glyphs > 0 ? (sizeof(qff_unicode_glyph_table_v1_t) + (qff_font->num_unicode_glyphs * sizeof(qff_unicode_glyph_v1_t))) : 0) // Skip the unicode table
|
||||
+ (qff_font->has_palette ? (sizeof(qgf_palette_v1_t) + ((1 << qff_font->bpp) * sizeof(qgf_palette_entry_v1_t))) : 0) // Skip the palette
|
||||
+ sizeof(qgf_block_header_v1_t) // Skip the data block header
|
||||
@@ -268,7 +268,7 @@ static inline bool qp_drawtext_prepare_glyph_for_render(qff_font_handle_t *qff_f
|
||||
uint8_t glyph_width = (uint8_t)(glyph_info.value & QFF_GLYPH_WIDTH_MASK);
|
||||
uint32_t glyph_offset = ((glyph_info.value & QFF_GLYPH_OFFSET_MASK) >> QFF_GLYPH_WIDTH_BITS);
|
||||
uint32_t data_offset = sizeof(qff_font_descriptor_v1_t) // Skip the font descriptor
|
||||
+ sizeof(qff_ascii_glyph_table_v1_t) // Skip the ascii table
|
||||
+ (qff_font->has_ascii_table ? sizeof(qff_ascii_glyph_table_v1_t) : 0) // Skip the ascii table
|
||||
+ (qff_font->num_unicode_glyphs > 0 ? (sizeof(qff_unicode_glyph_table_v1_t) + (qff_font->num_unicode_glyphs * sizeof(qff_unicode_glyph_v1_t))) : 0) // Skip the unicode table
|
||||
+ (qff_font->has_palette ? (sizeof(qgf_palette_v1_t) + ((1 << qff_font->bpp) * sizeof(qgf_palette_entry_v1_t))) : 0) // Skip the palette
|
||||
+ sizeof(qgf_block_header_v1_t) // Skip the data block header
|
||||
|
Reference in New Issue
Block a user