* Add Montex V2 (#10) * Update readme.md * Update rules.mk * Update config.h * Update keyboards/idobao/montex/v2/config.h Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/idobao/montex/v2/rules.mk Add Layouts Co-authored-by: Drashna Jaelre <drashna@live.com> * Merged code fron work done with @vinorodrigues * Update keyboards/idobao/montex/v2/rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/idobao/montex/v2/v2.h Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/idobao/montex/v2/config.h Co-authored-by: Ryan <fauxpark@gmail.com> * Removing via_nug keymap * update to montex code (#11) * remove VIA_QMK_RGBLIGHT_ENABLE * more data driven config, simple copyright headers, some code cleanup Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Vino Rodrigues <366673+vinorodrigues@users.noreply.github.com>pull/17402/head
@ -0,0 +1,93 @@ | |||||
// Copyright 2022 IBNobody (@IBNobody) | |||||
// SPDX-License-Identifier: GPL-2.0-or-later | |||||
#pragma once | |||||
#include "config_common.h" | |||||
/* LED Matrix & Animations */ | |||||
#define RGB_DI_PIN B1 | |||||
#if defined(RGB_DI_PIN) && defined(RGB_MATRIX_ENABLE) | |||||
#ifndef ID27_DISABLE_UNDERGLOW | |||||
#define DRIVER_LED_TOTAL 31 // The number of LEDs connected | |||||
#else | |||||
#define DRIVER_LED_TOTAL 27 // -4 disabled underglow LEDs | |||||
#endif | |||||
// #define RGBLIGHT_ANIMATIONS // don't use, please explicitly define | |||||
// #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // don't use, too few key to make it look good | |||||
#define RGB_MATRIX_KEYPRESSES | |||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended | |||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value | |||||
// RGB Matrix Animation modes. Explicitly enabled | |||||
// For full list of effects, see: | |||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects | |||||
/* *** Items disabled are visually unappealing in a 5x6 key matrix *** */ | |||||
#define ENABLE_RGB_MATRIX_SOLID_COLOR | |||||
#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 | |||||
#endif // RGB_MATRIX_ENABLE | |||||
/* ----------------------- | |||||
* Feature disable options | |||||
* These options are also useful to firmware size reduction. | |||||
* ----------------------- */ | |||||
/* disable debug print */ | |||||
// #define NO_DEBUG | |||||
/* disable print */ | |||||
// #define NO_PRINT | |||||
/* disable action features */ | |||||
// #define NO_ACTION_LAYER | |||||
// #define NO_ACTION_TAPPING | |||||
// #define NO_ACTION_ONESHOT |
@ -0,0 +1,67 @@ | |||||
{ | |||||
"manufacturer": "IDOBAO", | |||||
"keyboard_name": "Montex ID27v2", | |||||
"maintainer": "IBNobody", | |||||
"bootloader": "atmel-dfu", | |||||
"diode_direction": "ROW2COL", | |||||
"debounce": 5, | |||||
"features": { | |||||
"bootmagic": true, | |||||
"command": false, | |||||
"console": false, | |||||
"extrakey": true, | |||||
"mousekey": true, | |||||
"nkro": true, | |||||
"backlight": false, | |||||
"rgblight": false | |||||
}, | |||||
"matrix_pins": { | |||||
"cols": ["D5", "D3", "D2", "D1", "D0"], | |||||
"rows": ["D4", "D6", "D7", "B4", "B5", "C6"] | |||||
}, | |||||
"processor": "atmega32u4", | |||||
"url": "https://idobao.net/search?type=product&q=montex*", | |||||
"usb": { | |||||
"device_version": "2.0.0", | |||||
"pid": "0x0227", | |||||
"vid": "0x6964" | |||||
} | |||||
"layouts": { | |||||
"LAYOUT_numpad_6x5": { | |||||
"layout": [ | |||||
{ "matrix": [0, 0], "x": 0, "y": 0 }, | |||||
{ "matrix": [0, 1], "x": 1, "y": 0 }, | |||||
{ "matrix": [0, 2], "x": 2, "y": 0 }, | |||||
{ "matrix": [0, 3], "x": 3, "y": 0 }, | |||||
{ "matrix": [0, 4], "x": 4, "y": 0 }, | |||||
{ "matrix": [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": [1, 4], "x": 4, "y": 1 }, | |||||
{ "matrix": [2, 0], "x": 0, "y": 2 }, | |||||
{ "matrix": [2, 1], "x": 1, "y": 2 }, | |||||
{ "matrix": [2, 2], "x": 2, "y": 2 }, | |||||
{ "matrix": [2, 3], "x": 3, "y": 2 }, | |||||
{ "matrix": [2, 4], "x": 4, "y": 2, "h": 2 }, | |||||
{ "matrix": [3, 0], "x": 0, "y": 3 }, | |||||
{ "matrix": [3, 1], "x": 1, "y": 3 }, | |||||
{ "matrix": [3, 2], "x": 2, "y": 3 }, | |||||
{ "matrix": [3, 3], "x": 3, "y": 3 }, | |||||
{ "matrix": [4, 0], "x": 0, "y": 4 }, | |||||
{ "matrix": [4, 1], "x": 1, "y": 4 }, | |||||
{ "matrix": [4, 2], "x": 2, "y": 4 }, | |||||
{ "matrix": [4, 3], "x": 3, "y": 4 }, | |||||
{ "matrix": [5, 3], "x": 4, "y": 4, "h": 2 }, | |||||
{ "matrix": [5, 0], "x": 0, "y": 5 }, | |||||
{ "matrix": [5, 1], "x": 1, "y": 5, "w": 2 }, | |||||
{ "matrix": [5, 2], "x": 3, "y": 5 } | |||||
] | |||||
} | |||||
} | |||||
} |
@ -0,0 +1,54 @@ | |||||
// Copyright 2022 IBNobody (@IBNobody) | |||||
// SPDX-License-Identifier: GPL-2.0-or-later | |||||
#include QMK_KEYBOARD_H | |||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||||
/* | |||||
* ┌───┌───┬───┬───┬───┐ | |||||
* │Esc│Tab│ F1│Cal│Bsp│ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │Ctr│Num│ / │ * │ - │ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │Gui│ 7 │ 8 │ 9 │ │ | |||||
* ├───┼───┼───┼───┤ + │ | |||||
* │Alt│ 4 │ 5 │ 6 │ │ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │Shi│ 1 │ 2 │ 3 │ │ | |||||
* ├───┼───┴───┼───┤Ent│ | |||||
* │MO1│ 0 │ . │ │ | |||||
* └───┴───────┴───┴───┘ | |||||
*/ | |||||
[0] = LAYOUT_numpad_6x5( | |||||
KC_GESC, KC_TAB, KC_F1, KC_CALC, KC_BSPC, | |||||
KC_LCTRL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, | |||||
KC_LGUI, KC_P7, KC_P8, KC_P9, KC_PPLS, | |||||
KC_LALT, KC_P4, KC_P5, KC_P6, | |||||
KC_LSHIFT, KC_P1, KC_P2, KC_P3, KC_PENT, | |||||
MO(1), KC_P0, KC_PDOT | |||||
), | |||||
/* | |||||
* ┌───┌───┐───┬───┬───┐ | |||||
* │Rst│TOG│MOD│PSc│SLk│ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │Hu+│ │Sp-│Sp+│Br-│ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │Hu-│Hom│ ↑ │PgU│ │ | |||||
* ├───┼───┼───┼───┤Br+│ | |||||
* │St+│ ← │ │ → │ │ | |||||
* ├───┼───┼───┼───┤───┤ | |||||
* │St-│End│ ↓ │PgD│ │ | |||||
* ├───┼───┴───┼───┤Ent│ | |||||
* │mo1│Insert │Del│ │ | |||||
* └───┴───────┴───┘───┘ | |||||
*/ | |||||
[1] = LAYOUT_numpad_6x5( | |||||
QK_BOOT, RGB_TOG, RGB_MOD, KC_PSCR, KC_SLCK, | |||||
RGB_HUI, XXXXXXX, RGB_SPD, RGB_SPI, RGB_VAD, | |||||
RGB_HUD, KC_HOME, KC_UP, KC_PGUP, RGB_VAI, | |||||
RGB_SAI, KC_LEFT, XXXXXXX, KC_RGHT, | |||||
RGB_SAD, KC_END, KC_DOWN, KC_PGDN, KC_ENT, | |||||
_______, KC_INS, KC_DEL | |||||
) | |||||
}; |
@ -0,0 +1,6 @@ | |||||
// Copyright 2022 IBNobody (@IBNobody) | |||||
// SPDX-License-Identifier: GPL-2.0-or-later | |||||
#pragma once | |||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 6 |
@ -0,0 +1,114 @@ | |||||
// Copyright 2022 IBNobody (@IBNobody) | |||||
// SPDX-License-Identifier: GPL-2.0-or-later | |||||
#include QMK_KEYBOARD_H | |||||
enum montex_layers { | |||||
_BASE, | |||||
_FN, | |||||
_EMPTY2, // Just to initialize dynamic layers in VIA | |||||
_EMPTY3, | |||||
_EMPTY4, | |||||
_EMPTY5 | |||||
}; | |||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||||
/* | |||||
* ┌───┬───┬───┬───┬───┐ | |||||
* │Esc│Tab│ F1│Cal│Bsp│ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │Ctr│Num│ / │ * │ - │ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │Gui│ 7 │ 8 │ 9 │ │ | |||||
* ├───┼───┼───┼───┤ + │ | |||||
* │Alt│ 4 │ 5 │ 6 │ │ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │Shi│ 1 │ 2 │ 3 │ │ | |||||
* ├───┼───┴───┼───┤Ent│ | |||||
* │MO1│ 0 │ . │ │ | |||||
* └───┴───────┴───┴───┘ | |||||
*/ | |||||
[_BASE] = LAYOUT_numpad_6x5( | |||||
KC_GESC, KC_TAB, KC_F1, KC_CALC, KC_BSPC, | |||||
KC_LCTRL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, | |||||
KC_LGUI, KC_P7, KC_P8, KC_P9, KC_PPLS, | |||||
KC_LALT, KC_P4, KC_P5, KC_P6, | |||||
KC_LSHIFT, KC_P1, KC_P2, KC_P3, KC_PENT, | |||||
MO(1), KC_P0, KC_PDOT | |||||
), | |||||
/* | |||||
* ┌───┬───┬───┬───┬───┐ | |||||
* │Rst│TOG│MOD│PSs│SLk│ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │Hu+│ │Sp-│Sp+│Br-│ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │Hu-│Hom│ ↑ │PgU│ │ | |||||
* ├───┼───┼───┼───┤Br+│ | |||||
* │St+│ ← │ │ → │ │ | |||||
* ├───┼───┼───┼───┤───┤ | |||||
* │St-│End│ ↓ │PgD│ │ | |||||
* ├───┼───┴───┼───┤Ent│ | |||||
* │mo1│Insert │Del│ │ | |||||
* └───┴───────┴───┴───┘ | |||||
*/ | |||||
[_FN] = LAYOUT_numpad_6x5( | |||||
QK_BOOT, RGB_TOG, RGB_MOD, KC_PSCR, KC_SLCK, | |||||
RGB_HUI, XXXXXXX, RGB_SPD, RGB_SPI, RGB_VAD, | |||||
RGB_HUD, KC_HOME, KC_UP, KC_PGUP, RGB_VAI, | |||||
RGB_SAI, KC_LEFT, XXXXXXX, KC_RGHT, | |||||
RGB_SAD, KC_END, KC_DOWN, KC_PGDN, KC_ENT, | |||||
_______, KC_INS, KC_DEL | |||||
), | |||||
/* 4 extra layers incase you want to map the top row to layer buttons | |||||
* ┌───┬───┬───┬───┬───┐ | |||||
* │ │ │ │ │ │ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │ │ │ │ │ │ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │ │ │ │ │ │ | |||||
* ├───┼───┼───┼───┤ │ | |||||
* │ │ │ │ │ │ | |||||
* ├───┼───┼───┼───┤───┤ | |||||
* │ │ │ │ │ │ | |||||
* ├───┼───┴───┼───┤ │ | |||||
* │ │ │ │ │ | |||||
* └───┴───────┴───┴───┘ | |||||
*/ | |||||
[_EMPTY2] = LAYOUT_numpad_6x5( | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______ | |||||
), | |||||
[_EMPTY3] = LAYOUT_numpad_6x5( | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______ | |||||
), | |||||
[_EMPTY4] = LAYOUT_numpad_6x5( | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______ | |||||
), | |||||
[_EMPTY5] = LAYOUT_numpad_6x5( | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______, _______, | |||||
_______, _______, _______, _______, _______, | |||||
_______, _______, _______ | |||||
) | |||||
}; |
@ -0,0 +1,2 @@ | |||||
VIA_ENABLE = yes | |||||
LTO_ENABLE = yes |
@ -0,0 +1,8 @@ | |||||
# some (if not most) Montex have a solid back plate, | |||||
# this enables switching off the bottom facing LEDs | |||||
# Usage: `make idobao/montex/v2:default UNDERGLOW=off` | |||||
UNDERGLOW ?= yes | |||||
ifneq ($(strip $(UNDERGLOW)), yes) | |||||
OPT_DEFS += -DID27_DISABLE_UNDERGLOW | |||||
endif |
@ -0,0 +1,41 @@ | |||||
# IDOBAO Montex V2 | |||||
![MONTEX V2](https://i.imgur.com/uHEispxh.png) | |||||
A hotswap RGB numpad from IDOBAO. | |||||
## Numeric Keypad | |||||
* Keyboard Maintainer: | |||||
- [IBNobody](https://github.com/IBNobody) | |||||
- [vinorodrigues](https://github.com/vinorodrigues) | |||||
* Hardware Supported: **IDOBAO Montex V2** | |||||
* Hardware Availability: [IDOBAO.net](https://idobao.net/search?type=product&q=montex*) | |||||
## Layout | |||||
![](https://idobao.github.io/kle/idobao-id27-v2.png) | |||||
## Compiling and Flashing | |||||
Make example for this keyboard (after setting up your build environment): | |||||
make idobao/montex/v2:default | |||||
Flashing example for this keyboard: | |||||
make idobao/montex/v2: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.<br> | |||||
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 | |||||
* **Keycode in layout**: Press the key mapped to `RESET` if it is available |
@ -0,0 +1,5 @@ | |||||
# This file intentionally mostly left blank | |||||
# ** settings are data driven & stored in `info.json` ** | |||||
RGB_MATRIX_ENABLE = yes | |||||
RGB_MATRIX_DRIVER = WS2812 |
@ -0,0 +1,82 @@ | |||||
// Copyright 2022 IBNobody (@IBNobody) | |||||
// SPDX-License-Identifier: GPL-2.0-or-later | |||||
#include "v2.h" | |||||
#define __ NO_LED | |||||
#ifdef RGB_MATRIX_ENABLE | |||||
/* Under-, Per-key | |||||
* ┌───┬───┬───┬───┬───┐ | |||||
* │ 4 │ 3 │ 2 │ 1 │ 0 │ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │ 5 │ 6 │ 7 │ 8 │ 9 │ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │14 │13 │12 │11 │ │ | |||||
* ├───┼───┼───┼───┤10 │ | |||||
* │15 │16 │17 │18 │ │ | |||||
* ├───┼───┼───┼───┼───┤ | |||||
* │23 │22 │21 │20 │ │ | |||||
* ├───┼───┴───┼───┤19 │ | |||||
* │24 │ 25 │26 │ │ | |||||
* └───┴───────┴───┴───┘ | |||||
* | |||||
* Underglow (from top / [Esc] = top left) | |||||
* ┌─────────┬─────────┐ | |||||
* │ │ │ | |||||
* │ │ │ | |||||
* │ 29 │ 30 │ | |||||
* │ │ │ | |||||
* │ │ │ | |||||
* ├─────────┼─────────┤ | |||||
* │ │ │ | |||||
* │ │ │ | |||||
* │ 28 │ 27 │ | |||||
* │ │ │ | |||||
* │ │ │ | |||||
* └─────────┴─────────┘ | |||||
*/ | |||||
led_config_t g_led_config = { { | |||||
// Key Matrix to LED Index | |||||
// Montex v2 WS2812 are laid in a Z-shape with index 0 = top-right | |||||
// Based on: https://xelus.netlify.app/guides/KLE_to_RGB_parser | |||||
{ 4, 3, 2, 1, 0}, | |||||
{ 5, 6, 7, 8, 9}, | |||||
{ 14, 13, 12, 11, 10}, | |||||
{ 15, 16, 17, 18, __}, | |||||
{ 23, 22, 21, 20, __}, | |||||
{ 24, 25, 26, 19, __} | |||||
}, { | |||||
// LED Index to Physical Position | |||||
// per-key | |||||
// Based on: https://xelus.netlify.app/guides/KLE_to_RGB_parser | |||||
{224,0 }, {168,0 }, {112,0 }, { 56,0 }, { 0,0 }, // top row | |||||
{ 0,17 }, { 56,17 }, {112,17 }, {168,17 }, {224,17 }, // num-lk & /*- (reversed) | |||||
{224,35 }, {168,29 }, {112,29 }, { 56,29 }, { 0,29 }, // 789+ | |||||
{ 0,41 }, { 56,41 }, {112,41 }, {168,41 }, // 456 (reversed) | |||||
{224,58 }, {168,52 }, {112,52 }, { 56,52 }, // 123 | |||||
{ 0,52 }, { 0,64 }, { 84,64 }, {168,64 } // 0. & enter (reversed) | |||||
// underglow LEDs (positions pushed to nearest edge to match edge key colors) | |||||
#ifndef ID27_DISABLE_UNDERGLOW | |||||
, {224,64 }, { 0,64 }, | |||||
{ 0,0 }, { 224,0 } | |||||
#endif | |||||
}, { | |||||
// LED Index to Flag | |||||
// LED_FLAG_MODIFIER 0x01, LED_FLAG_UNDERGLOW 0x02, LED_FLAG_KEYLIGHT 0x04, LED_FLAG_INDICATOR 0x08 | |||||
// per-key | |||||
1, 1, 1, 1, 1, | |||||
4, 4, 4, 4, 4, | |||||
4, 4, 4, 4, 4, | |||||
4, 4, 4, 4, | |||||
4, 4, 4, 4, | |||||
4, 4, 4, 4 | |||||
// underglow | |||||
#ifndef ID27_DISABLE_UNDERGLOW | |||||
, 2, 2, 2, 2 | |||||
#endif | |||||
} }; | |||||
#endif |
@ -0,0 +1,6 @@ | |||||
// Copyright 2022 IBNobody (@IBNobody) | |||||
// SPDX-License-Identifier: GPL-2.0-or-later | |||||
#pragma once | |||||
#include "quantum.h" |