mirror of
https://github.com/qmk/qmk_userspace.git
synced 2025-05-04 22:54:16 -04:00
Adding klor files and trying to build
This commit is contained in:
parent
a274d43796
commit
c86deba845
24 changed files with 5644 additions and 26 deletions
1
keyboards/klor/2040/2040.c
Normal file
1
keyboards/klor/2040/2040.c
Normal file
|
@ -0,0 +1 @@
|
|||
#include "2040.h"
|
3
keyboards/klor/2040/2040.h
Normal file
3
keyboards/klor/2040/2040.h
Normal file
|
@ -0,0 +1,3 @@
|
|||
#pragma once
|
||||
|
||||
#include "klor.h"
|
10
keyboards/klor/2040/config.h
Normal file
10
keyboards/klor/2040/config.h
Normal file
|
@ -0,0 +1,10 @@
|
|||
#pragma once
|
||||
#include "config_common.h"
|
||||
|
||||
// ┌─────────────────────────────────────────────────┐
|
||||
// │ a u d i o │
|
||||
// └─────────────────────────────────────────────────┘
|
||||
|
||||
#define AUDIO_PWM_DRIVER PWMD4
|
||||
#define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_B
|
||||
#define AUDIO_STATE_TIMER GPTD4
|
7
keyboards/klor/2040/halconf.h
Normal file
7
keyboards/klor/2040/halconf.h
Normal file
|
@ -0,0 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
#define HAL_USE_I2C TRUE
|
||||
#define HAL_USE_PWM TRUE
|
||||
#define HAL_USE_PAL TRUE
|
||||
|
||||
#include_next <halconf.h>
|
12
keyboards/klor/2040/mcuconf.h
Normal file
12
keyboards/klor/2040/mcuconf.h
Normal file
|
@ -0,0 +1,12 @@
|
|||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef RP_I2C_USE_I2C1
|
||||
#define RP_I2C_USE_I2C1 TRUE
|
||||
|
||||
#undef RP_PWM_USE_PWM4
|
||||
#define RP_PWM_USE_PWM4 TRUE
|
||||
|
||||
#undef RP_PWM_USE_TIM1
|
||||
#define RP_PWM_USE_TIM1 TRUE
|
21
keyboards/klor/2040/readme.md
Normal file
21
keyboards/klor/2040/readme.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# KLOR keyboard with RP2040 MCU
|
||||
|
||||
This is the RP2040 revision of the firmware.
|
||||
You can use several RP2040 based MCUs with Pro Micro formfactor.
|
||||
By default the config is setup for the pinout of the Sparkfun Pro Micro RP2040, which is used by most of the RP2040 based MCUs. Since the KB2040/Blok/Elite-Pi have a slightly different pinout you need to change this line
|
||||
`CONVERT_TO = promicro_rp2040`
|
||||
to one of tis lines
|
||||
`CONVERT_TO = kb2040`
|
||||
`CONVERT_TO = blok`
|
||||
`CONVERT_TO = elite_pi`
|
||||
in the `/2040/rules.mk` file.
|
||||
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
- **Keycode in layout**: Press the key mapped to `QK_BOOTLOADER` if it is configured.
|
||||
- **Physical reset button**: Quick double-tap on the reset button soldered on the PCB.
|
||||
- **Controller boot button**: Hold the `BOOT` button on the controller and plug in the USB.
|
||||
- **Bootmagic reset**: Hold down the top left key on the left half and plug in the controller.
|
12
keyboards/klor/2040/rules.mk
Normal file
12
keyboards/klor/2040/rules.mk
Normal file
|
@ -0,0 +1,12 @@
|
|||
# PIO serial/WS2812 drivers must be used on RP2040
|
||||
SERIAL_DRIVER = vendor
|
||||
|
||||
# CONVERTER - if you use a listed MCU comment the first line and uncomment the appropiate line
|
||||
CONVERT_TO = promicro_rp2040
|
||||
#CONVERT_TO = kb2040
|
||||
#CONVERT_TO = blok
|
||||
#CONVERT_TO = elite_pi
|
||||
|
||||
# AUDIO
|
||||
AUDIO_ENABLE = yes
|
||||
AUDIO_DRIVER = pwm_hardware
|
|
@ -7,15 +7,14 @@
|
|||
// └─────────────────────────────────────────────────┘
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
# define OLED_DISPLAY_128X64
|
||||
# define OLED_DISPLAY_128X64
|
||||
# define OLED_FONT_H "./lib/glcdfont.c"
|
||||
#endif
|
||||
|
||||
// ┌─────────────────────────────────────────────────┐
|
||||
// │ a u d i o │
|
||||
// └─────────────────────────────────────────────────┘
|
||||
|
||||
#define AUDIO_PIN B5
|
||||
#define AUDIO_VOICES
|
||||
#define AUDIO_DAC_SAMPLE_MAX 4095U
|
||||
#define AUDIO_VOICE_DEFAULT butts_fader
|
||||
|
||||
|
|
|
@ -7,19 +7,13 @@
|
|||
"pid": "0x0001",
|
||||
"device_version": "1.3.0"
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "caterina",
|
||||
"matrix_pins": {
|
||||
"cols": [ "F6", "F7", "B1", "B3", "B2", "B6" ],
|
||||
"rows": [ "C6", "D7", "E6", "B4" ]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"encoder": true,
|
||||
"oled": true
|
||||
},
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
|
@ -54,17 +48,29 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"rgblight": {
|
||||
"driver": "ws2812",
|
||||
"led_count": 42,
|
||||
"split_count": [21, 21]
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ws2812",
|
||||
"led_count": 42,
|
||||
"split_count": [21,21],
|
||||
"split_count": [21, 21],
|
||||
"max_brightness": 180,
|
||||
"sleep": true
|
||||
"sleep": true,
|
||||
"default": {
|
||||
"hue": 35
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3",
|
||||
"driver": "vendor"
|
||||
},
|
||||
"audio": {
|
||||
"pins": [ "B5" ],
|
||||
"voices": true
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_polydactyl": {
|
||||
"layout": [
|
||||
|
|
87
keyboards/klor/keymaps/default/config.h
Normal file
87
keyboards/klor/keymaps/default/config.h
Normal file
|
@ -0,0 +1,87 @@
|
|||
#pragma once
|
||||
|
||||
/* The way how "handedness" is decided (which half is which),
|
||||
see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness
|
||||
for more options.
|
||||
*/
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
|
||||
//#define TAPPING_TERM 170
|
||||
#define TAPPING_TERM 170
|
||||
|
||||
// Prevent normal rollover on alphas from accidentally triggering mods.
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
|
||||
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
|
||||
#define TAPPING_FORCE_HOLD
|
||||
|
||||
// Auto Shift
|
||||
#define NO_AUTO_SHIFT_ALPHA
|
||||
#define AUTO_SHIFT_TIMEOUT TAPPING_TERM
|
||||
#define AUTO_SHIFT_NO_SETUP
|
||||
|
||||
#undef LOCKING_SUPPORT_ENABLE
|
||||
#undef LOCKING_RESYNC_ENABLE
|
||||
#define NO_ACTION_ONESHOT
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_MUSIC_MODE
|
||||
|
||||
#define COMBO_COUNT 1
|
||||
|
||||
|
||||
// RGB matrix support
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR
|
||||
// RGB Matrix Animation modes. Explicitly enabled
|
||||
// For full list of effects, see:
|
||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effect
|
||||
|
||||
//# define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_COLOR
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
# 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_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
|
97
keyboards/klor/keymaps/default/geist/config.h
Normal file
97
keyboards/klor/keymaps/default/geist/config.h
Normal file
|
@ -0,0 +1,97 @@
|
|||
#pragma once
|
||||
|
||||
/* The way how "handedness" is decided (which half is which),
|
||||
see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness
|
||||
for more options.
|
||||
*/
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
|
||||
|
||||
//#define TAPPING_TERM 170
|
||||
#define TAPPING_TERM 170
|
||||
|
||||
// Prevent normal rollover on alphas from accidentally triggering mods.
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
|
||||
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
|
||||
#define TAPPING_FORCE_HOLD
|
||||
|
||||
// Auto Shift
|
||||
#define NO_AUTO_SHIFT_ALPHA
|
||||
#define AUTO_SHIFT_TIMEOUT TAPPING_TERM
|
||||
#define AUTO_SHIFT_NO_SETUP
|
||||
|
||||
#undef LOCKING_SUPPORT_ENABLE
|
||||
#undef LOCKING_RESYNC_ENABLE
|
||||
#define NO_ACTION_ONESHOT
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_MUSIC_MODE
|
||||
|
||||
#define COMBO_COUNT 1
|
||||
|
||||
|
||||
#ifdef POINTING_DEVICE_ENABLE
|
||||
//# define POINTING_DEVICE_ROTATION_90
|
||||
# define SPLIT_POINTING_ENABLE
|
||||
# define POINTING_DEVICE_RIGHT
|
||||
# define POINTING_DEVICE_ROTATION_270
|
||||
#endif
|
||||
|
||||
// RGB matrix support
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
// RGB Matrix Animation modes. Explicitly enabled
|
||||
// For full list of effects, see:
|
||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effect
|
||||
|
||||
//# define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_COLOR
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
# 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_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
|
||||
|
||||
|
802
keyboards/klor/keymaps/default/geist/keymap.c
Normal file
802
keyboards/klor/keymaps/default/geist/keymap.c
Normal file
|
@ -0,0 +1,802 @@
|
|||
/*
|
||||
|
||||
█ █ █ ▄▄▄▀▀▀▀▀▀▄▄▄ █▀▀▀▀▀▀▀▀▀▀█
|
||||
█ █ █ ▄▀ ▀▄ █ █
|
||||
█ █ █ ▄▀ ▀▄ █ █
|
||||
█ █ █ █ █ █ █
|
||||
█ █ █ █ █ █ █
|
||||
█ █ █ █ █ █▄▄▄▄▄▄▄▄▄▄█
|
||||
█ █ █ █ █ █ █ █
|
||||
█ █ █ █ █ █ █ █
|
||||
█ █ █ █ ▀▄ ▄▀ █ █
|
||||
██ █ █ ▀▄ ▄▀ █ █
|
||||
█ █ █▄▄▄▄▄▄▄▄ ▀▀▀▄▄▄▄▄▄▀▀▀ █ █
|
||||
|
||||
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
||||
┌─┐┌─╴╷┌──┬─
|
||||
│ ┐├─╴│└─┐│
|
||||
└─┘└─╴╵╶─┘╵
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "klor.h"
|
||||
#ifdef HAPTIC_ENABLE
|
||||
#include "drivers/haptic/DRV2605L.h"
|
||||
#endif //HAPTIC ENABLE
|
||||
|
||||
|
||||
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
// │ D E F I N I T I O N S │
|
||||
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ d e f i n e l a y e r s │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
enum klor_layers {
|
||||
/* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
|
||||
_COLEMAK,
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
};
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ d e f i n e k e y c o d e s │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
enum custom_keycodes {
|
||||
COLEMAK = SAFE_RANGE,
|
||||
QWERTY,
|
||||
LOWER,
|
||||
RAISE,
|
||||
ADJUST,
|
||||
OS_SWAP,
|
||||
WMAIL,
|
||||
GMAIL,
|
||||
GIPHY,
|
||||
MAKE_H,
|
||||
SNAP1,
|
||||
SNAP2
|
||||
};
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ d e f i n e m a c r o n a m e s │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
// LEFT HAND HOME ROW MODS ├───────────────────────────────────┐
|
||||
|
||||
#define GUI_A MT(MOD_LGUI, KC_A)
|
||||
#define ALT_R MT(MOD_LALT, KC_R)
|
||||
#define CTL_S MT(MOD_LCTL, KC_S)
|
||||
#define SHT_T MT(MOD_LSFT, KC_T)
|
||||
|
||||
// RIGHT HAND HOME ROW MODS ├───────────────────────────────────┐
|
||||
|
||||
#define SHT_N MT(MOD_RSFT, KC_N)
|
||||
#define CTL_E MT(MOD_LCTL, KC_E)
|
||||
#define ALT_I MT(MOD_LALT, KC_I)
|
||||
#define GUI_O MT(MOD_LGUI, KC_O)
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ d e f i n e c o m b o s │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
const uint16_t PROGMEM esc_combo[] = {KC_TAB, KC_Q, COMBO_END};
|
||||
//const uint16_t PROGMEM save_combo[] = {KC_D, KC_S, COMBO_END};
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
COMBO(esc_combo, KC_ESC)
|
||||
//COMBO(save_combo, C(KC_S))
|
||||
};
|
||||
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ d e f i n e k e y o v e r r i d e s │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
const key_override_t sve_key_override = ko_make_basic(MOD_MASK_GUI, KC_S, C(KC_S));
|
||||
|
||||
// This globally defines all key overrides to be used ├───────────┐
|
||||
const key_override_t **key_overrides = (const key_override_t *[]){
|
||||
&sve_key_override,
|
||||
NULL // Null terminate the array of overrides!
|
||||
};
|
||||
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ d e f i n e s o u n d s │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#define WINXP_SOUND W__NOTE(_DS6), Q__NOTE(_DS5), H__NOTE(_AS5), H__NOTE(_GS5), H__NOTE(_DS5), H__NOTE(_DS6), H__NOTE(_AS5)
|
||||
#define MAC_SOUND S__NOTE(_CS5), B__NOTE(_C5)
|
||||
|
||||
float winxp_song[][2] = SONG(WINXP_SOUND);
|
||||
float mac_song[][2] = SONG(MAC_SOUND);
|
||||
#endif // AUDIO_ENABLE
|
||||
|
||||
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
// │ K E Y M A P S │
|
||||
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/*
|
||||
┌───────────────────────────────────────────────────────────┐
|
||||
│ c o l e m a k │
|
||||
└───────────────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ Q │ W │ F │ P │ G │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ J │ L │ U │ Y │ ; │
|
||||
┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
|
||||
│ TAB │ A │ R │ S │ T │ D ├─╯ ╰─┤ H │ N │ E │ I │ O │ " │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ DEL │ Z │ X │ C │ V │ B ││ SHIFT ││PLY/PSE ││ K │ M │ , │ . │ / │ SHIFT │
|
||||
└─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
|
||||
│ CTRL │ LOWER │ SPACE │ ALT ││ CMD/WIN │ ENTER │ RAISE │ BSPCE │
|
||||
└─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */
|
||||
|
||||
[_COLEMAK] = LAYOUT_polydactyl(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
|
||||
KC_TAB, GUI_A, ALT_R, CTL_S, SHT_T, KC_D, KC_H, SHT_N, CTL_E, ALT_I, GUI_O, KC_QUOT,
|
||||
KC_Q, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LSFT, KC_MPLY, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
|
||||
KC_DEL, LOWER, KC_SPC, KC_ESC, KC_LGUI, KC_ENT, RAISE, KC_BSPC
|
||||
),
|
||||
/*
|
||||
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
|
||||
|
||||
┌───────────────────────────────────────────────────────────┐
|
||||
│ q w e r t y │
|
||||
└───────────────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ Q │ W │ E │ R │ T │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ Y │ U │ I │ O │ P │
|
||||
┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
|
||||
│ TAB │ A │ S │ D │ F │ G ├─╯ ╰─┤ H │ J │ K │ L │ ; │ " │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ DEL │ Z │ X │ C │ V │ B ││ SHIFT ││PLY/PSE ││ N │ M │ , │ . │ / │ SHIFT │
|
||||
└─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
|
||||
│ CTRL │ LOWER │ SPACE │ ALT ││ CMD/WIN │ ENTER │ RAISE │ BSPACE │
|
||||
└─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */
|
||||
|
||||
[_QWERTY] = LAYOUT_polydactyl(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_DEL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LSFT, KC_MPLY, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LCTL, LOWER, KC_SPC, KC_LALT, KC_LGUI, KC_ENT, RAISE, KC_BSPC
|
||||
),
|
||||
|
||||
/*
|
||||
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
|
||||
|
||||
┌───────────────────────────────────────────────────────────┐
|
||||
│ l o w e r │
|
||||
└───────────────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ CAPSLCK │ NUMLCK │ ↑ │ = │ { │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ } │ 7 │ 8 │ 9 │ + │
|
||||
┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
|
||||
│ ESC │ HOME │ ← │ ↓ │ → │ [ ├─╯ ╰─┤ ] │ 4 │ 5 │ 6 │ - │ ' │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ SCRNSHT │ END │ PG↑ │ SAVE │ PG↓ │ ( ││ MUTE ││PLY/PSE ││ ) │ 1 │ 2 │ 3 │ * │ ▼ │
|
||||
└─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
|
||||
│ ▼ │ ▼ │ ▼ │ ▼ ││ ▼ │ ▼ │ ADJUST │ 0 │
|
||||
└─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */
|
||||
|
||||
[_LOWER] = LAYOUT_polydactyl(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
KC_CAPS, KC_NUM, KC_UP, KC_EQL, KC_LCBR, KC_RCBR, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
KC_ESC, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_MINS, KC_DQT,
|
||||
SNAP2, KC_END, KC_PGUP, C(KC_S), KC_PGDN, KC_LPRN, KC_MUTE, KC_MPLY, KC_RPRN, KC_P1, KC_P2, KC_P3, KC_PAST, _______,
|
||||
_______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, KC_P0
|
||||
),
|
||||
/*
|
||||
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
|
||||
|
||||
┌───────────────────────────────────────────────────────────┐
|
||||
│ r a i s e │
|
||||
└───────────────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ ! │ @ │ # │ $ │ % │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ ^ │ & │ Ü │ ° │ / │
|
||||
┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
|
||||
│ GMX │ Ä │ è │ SZ │ é │ ├─╯ ╰─┤ │ ¥ │ € │ £ │ Ö │ │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ WEB │ ` │ ~ │ CUE │ │ ││ MUTE ││PLY/PSE ││ │ │ │ DM REC1 │ DM STOP │ DM PLY1 │
|
||||
└─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
|
||||
│ GIPHY │ ADJUST │ ▼ │ ▼ ││ ▼ │ ▼ │ ▼ │ ▼ │
|
||||
└─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */
|
||||
|
||||
[_RAISE] = LAYOUT_polydactyl(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, RALT(KC_U),RALT(KC_3),KC_BSLS,
|
||||
GMAIL, RALT(KC_A),RALT(KC_F),RALT(KC_S),RALT(KC_G),XXXXXXX, XXXXXXX,LSFT(RALT(KC_4)),RALT(KC_5), RALT(KC_4), RALT(KC_O), XXXXXXX,
|
||||
WMAIL, KC_GRV, LSFT(KC_GRV),RALT(KC_C),XXXXXXX,XXXXXXX, KC_MUTE, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, DM_REC1, DM_RSTP, DM_PLY1,
|
||||
GIPHY, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______
|
||||
),
|
||||
/*
|
||||
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
|
||||
|
||||
┌───────────────────────────────────────────────────────────┐
|
||||
│ a d j u s t │
|
||||
└───────────────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ AUDIO │ HAPTIC │ │ │ │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ F7 │ F8 │ F9 │ F14 │
|
||||
┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
|
||||
│ RESET │ DEBUG │ QWERTY │ │ │ ├─╯ ╰─┤ │ F4 │ F5 │ F6 │ F12 │ F13 │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ MAKE │ OS SWAP │ COLEMAK │ │ │ ││ MUTE ││PLY/PSE ││ │ F1 │ F2 │ F3 │ F10 │ F11 │
|
||||
└─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
|
||||
│ ▼ │ ▼ │ ▼ │ ▼ ││ ▼ │ ▼ │ ▼ │ ▼ │
|
||||
└─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */
|
||||
|
||||
[_ADJUST] = LAYOUT_polydactyl(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
AU_TOG, HPT_TOG, RGB_HUI, RGB_MOD, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F14,
|
||||
QK_BOOT, DB_TOGG, QWERTY, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX, KC_F4, KC_F5, KC_F6, KC_F12, KC_F13,
|
||||
MAKE_H, OS_SWAP, COLEMAK, RGB_VAI, XXXXXXX, XXXXXXX, KC_MUTE, KC_MPLY, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F10, KC_F11,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
/*
|
||||
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
|
||||
|
||||
┌───────────────────────────────────────────────────────────┐
|
||||
│ t e m p l a t e │
|
||||
└───────────────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ │ │ │ │ │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │
|
||||
┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
|
||||
│ │ │ │ │ │ ├─╯ ╰─┤ │ │ │ │ │ │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ │ │ │ │ │ ││ ││ ││ │ │ │ │ │ │
|
||||
└─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
|
||||
│ │ │ │ ││ │ │ │ │
|
||||
└─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘
|
||||
|
||||
[_TEMPLATE] = LAYOUT_polydactyl(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)*/
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
// │ T R A C K B A L L │
|
||||
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
|
||||
|
||||
#ifdef POINTING_DEVICE_ENABLE
|
||||
|
||||
void pointing_device_init_user(void) {
|
||||
set_auto_mouse_layer(_MOUSE); // only required if AUTO_MOUSE_DEFAULT_LAYER is not set to index of <mouse_layer>
|
||||
set_auto_mouse_enable(true); // always required before the auto mouse feature will work
|
||||
}
|
||||
|
||||
report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
|
||||
if (scrolling_mode) {
|
||||
mouse_report.h = mouse_report.x;
|
||||
mouse_report.v = mouse_report.y;
|
||||
mouse_report.x = 0;
|
||||
mouse_report.y = 0;
|
||||
}
|
||||
return mouse_report;
|
||||
}
|
||||
|
||||
#endif //POINTING_DEVICE_ENABLE
|
||||
|
||||
|
||||
|
||||
|
||||
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
// │ H A P T I C F E E D B A C K │
|
||||
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
// Call the post init code.
|
||||
#if HAPTIC_ENABLE
|
||||
haptic_disable(); // disables per key haptic feedback by default
|
||||
#endif //HAPTIC ENABLE
|
||||
|
||||
#if RGB_MATRIX_ENABLE
|
||||
rgblight_enable_noeeprom();
|
||||
//rgblight_sethsv_noeeprom(35, 255, 255); // set default RGB color to yellow
|
||||
#endif //RGB_MATRIX_ENABLE
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
// │ O L E D │
|
||||
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ d y n a m i c m a c r o │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
char layer_state_str[24];
|
||||
char o_text[24] = "";
|
||||
int dmacro_num = 0;
|
||||
|
||||
#ifdef DYNAMIC_MACRO_ENABLE
|
||||
char dmacro_text[4][24] = { "", "RECORDING", "STOP RECORDING", "PLAY RECORDING"};
|
||||
static uint16_t dmacro_timer;
|
||||
const char PROGMEM rec_ico[] = {0xD1, 0xE1, 0};
|
||||
const char PROGMEM stop_ico[] = {0xD3, 0xE1, 0};
|
||||
const char PROGMEM play_ico[] = {0xD2, 0xE1, 0};
|
||||
|
||||
|
||||
// DYNMACRO RECORD ├─────────────────────────────────────────────────────────────┐
|
||||
void dynamic_macro_record_start_user(void) {
|
||||
dmacro_num = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
// DYNMACRO STOP RECORDING ├─────────────────────────────────────────────────────┐
|
||||
void dynamic_macro_record_end_user(int8_t direction) {
|
||||
dmacro_num = 2;
|
||||
dmacro_timer = timer_read();
|
||||
return;
|
||||
}
|
||||
|
||||
// DYNMACRO PLAY RECORDING ├─────────────────────────────────────────────────────┐
|
||||
void dynamic_macro_play_user(int8_t direction) {
|
||||
dmacro_num = 3;
|
||||
dmacro_timer = timer_read();
|
||||
return;
|
||||
}
|
||||
#endif //DYNAMIC_MACRO_ENABLE
|
||||
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
#ifdef DYNAMIC_MACRO_ENABLE
|
||||
// DynMacroTimer
|
||||
if(dmacro_num > 0){
|
||||
if (timer_elapsed(dmacro_timer) < 3000) {
|
||||
strcpy ( o_text, dmacro_text[dmacro_num] );
|
||||
}
|
||||
else {
|
||||
if (dmacro_num == 1) {
|
||||
strcpy ( o_text, dmacro_text[1] );
|
||||
}
|
||||
else {
|
||||
strcpy ( o_text, layer_state_str );
|
||||
dmacro_num = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif //DYNAMIC_MACRO_ENABLE
|
||||
}
|
||||
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ o l e d g r a p h i c s │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
void render_os_lock_status(void) {
|
||||
static const char PROGMEM sep_v[] = {0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0};
|
||||
static const char PROGMEM sep_h1[] = {0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0};
|
||||
static const char PROGMEM sep_h2[] = {0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0};
|
||||
static const char PROGMEM face_1[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0xE1, 0};
|
||||
static const char PROGMEM face_2[] = {0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xE1, 0};
|
||||
static const char PROGMEM os_m_1[] = {0x95, 0x96, 0};
|
||||
static const char PROGMEM os_m_2[] = {0xB5, 0xB6, 0};
|
||||
static const char PROGMEM os_w_1[] = {0x97, 0x98, 0};
|
||||
static const char PROGMEM os_w_2[] = {0xB7, 0xB8, 0};
|
||||
static const char PROGMEM s_lock[] = {0x8F, 0x90, 0};
|
||||
static const char PROGMEM n_lock[] = {0x91, 0x92, 0};
|
||||
static const char PROGMEM c_lock[] = {0x93, 0x94, 0};
|
||||
static const char PROGMEM b_lock[] = {0xE1, 0xE1, 0};
|
||||
#ifdef AUDIO_ENABLE
|
||||
static const char PROGMEM aud_en[] = {0xAF, 0xB0, 0};
|
||||
static const char PROGMEM aud_di[] = {0xCF, 0xD0, 0};
|
||||
#endif
|
||||
#ifdef HAPTIC_ENABLE
|
||||
static const char PROGMEM hap_en[] = {0xB1, 0xB2, 0};
|
||||
#endif
|
||||
|
||||
// os mode status ────────────────────────────────────────┐
|
||||
|
||||
oled_write_ln_P(sep_v, false);
|
||||
|
||||
if (keymap_config.swap_lctl_lgui) {
|
||||
oled_write_P(os_m_1, false); // ──── MAC
|
||||
} else {
|
||||
oled_write_P(os_w_1, false); // ──── WIN
|
||||
}
|
||||
|
||||
oled_write_P(sep_h1, false);
|
||||
oled_write_P(face_1, false);
|
||||
|
||||
if (keymap_config.swap_lctl_lgui) {
|
||||
oled_write_P(os_m_2, false); // ──── MAC
|
||||
} else {
|
||||
oled_write_P(os_w_2, false); // ──── WIN
|
||||
}
|
||||
|
||||
oled_write_P(sep_h1, false);
|
||||
oled_write_P(face_2, false);
|
||||
oled_write_ln_P(sep_v, false);
|
||||
|
||||
|
||||
// lock key layer status ─────────────────────────────────┐
|
||||
|
||||
led_t led_usb_state = host_keyboard_led_state();
|
||||
|
||||
if (led_usb_state.num_lock) {
|
||||
oled_write_P(n_lock, false); // ──── NUMLOCK
|
||||
} else {
|
||||
oled_write_P(b_lock, false);
|
||||
}
|
||||
if (led_usb_state.caps_lock) {
|
||||
oled_write_P(c_lock, false); // ─── CAPSLOCK
|
||||
} else {
|
||||
oled_write_P(b_lock, false);
|
||||
}
|
||||
if (led_usb_state.scroll_lock) { // ─ SCROLLLOCK
|
||||
oled_write_P(s_lock, false);
|
||||
} else {
|
||||
oled_write_P(b_lock, false);
|
||||
}
|
||||
|
||||
// hardware feature status ──────────────────────────────┐
|
||||
|
||||
oled_write_P(sep_h2, false);
|
||||
|
||||
#ifndef AUDIO_ENABLE
|
||||
oled_write_P(b_lock, false);
|
||||
#endif
|
||||
#ifndef HAPTIC_ENABLE
|
||||
oled_write_P(b_lock, false);
|
||||
#endif
|
||||
|
||||
#ifdef AUDIO_ENABLE // ────────────────── AUDIO
|
||||
if (is_audio_on()) {
|
||||
oled_write_P(aud_en, false);
|
||||
} else {
|
||||
oled_write_P(aud_di, false);
|
||||
}
|
||||
#endif // AUDIO ENABLE
|
||||
|
||||
#ifdef HAPTIC_ENABLE // ─────────────── HAPTIC
|
||||
oled_write_P(hap_en, false);
|
||||
#endif // HAPTIC ENABLE
|
||||
}
|
||||
|
||||
|
||||
// layer status ──────────────────────────────────────────┐
|
||||
|
||||
int layerstate = 0;
|
||||
|
||||
layer_state_t layer_state_set_kb(layer_state_t state) {
|
||||
switch (get_highest_layer(layer_state | default_layer_state)) {
|
||||
case 0:
|
||||
strcpy ( layer_state_str, "BASE COLEMAK");
|
||||
break;
|
||||
case 1:
|
||||
strcpy ( layer_state_str, "BASE QWERTY");
|
||||
break;
|
||||
case 2:
|
||||
strcpy ( layer_state_str, "LOWER");
|
||||
break;
|
||||
case 3:
|
||||
strcpy ( layer_state_str, "RAISE");
|
||||
break;
|
||||
case 4:
|
||||
strcpy ( layer_state_str, "ADJUST");
|
||||
break;
|
||||
default:
|
||||
strcpy ( layer_state_str, "XXXXXX");
|
||||
}
|
||||
if (dmacro_num < 1) {
|
||||
strcpy ( o_text, layer_state_str );
|
||||
}
|
||||
//return state;
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ w r i t e t o o l e d │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
bool oled_task_kb(void) {
|
||||
if (!oled_task_user()) {
|
||||
return false;
|
||||
}
|
||||
if (is_keyboard_master()) { // ────────────────────────── PRIMARY SIDE
|
||||
|
||||
// layer status ──────────────────────────────────────────────────┐
|
||||
#ifdef DYNAMIC_MACRO_ENABLE
|
||||
if(dmacro_num == 1){ oled_write_P(rec_ico, false); }
|
||||
if(dmacro_num == 2){ oled_write_P(stop_ico, false); }
|
||||
if(dmacro_num == 3){ oled_write_P(play_ico, false); }
|
||||
#endif //DYNAMIC_MACRO_ENABLE
|
||||
|
||||
oled_write_ln(o_text, false);
|
||||
render_os_lock_status();
|
||||
|
||||
} else { // ─────────────────────────────────────────── SECONDARY SIDE
|
||||
|
||||
// KLOR face ─────────────────────────────────────────────────────┐
|
||||
|
||||
static const char PROGMEM klor_face[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
||||
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0,
|
||||
0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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
|
||||
};
|
||||
oled_write_raw_P(klor_face, sizeof(klor_face));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif // OLED_ENABLE
|
||||
|
||||
|
||||
|
||||
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case SHT_T:
|
||||
return TAPPING_TERM - 150;
|
||||
case SHT_N:
|
||||
return TAPPING_TERM - 150;
|
||||
default:
|
||||
return TAPPING_TERM;
|
||||
}
|
||||
}
|
||||
|
||||
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
// │ M A C R O S │
|
||||
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
|
||||
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
|
||||
case OS_SWAP:
|
||||
if (record->event.pressed) {
|
||||
if (!keymap_config.swap_lctl_lgui) {
|
||||
keymap_config.swap_lctl_lgui = true; // ─── MAC
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(mac_song);
|
||||
#endif // AUDIO_ENABLE
|
||||
}
|
||||
else {
|
||||
keymap_config.swap_lctl_lgui = false; // ─── WIN
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(winxp_song);
|
||||
#endif // AUDIO_ENABLE
|
||||
}
|
||||
#ifdef HAPTIC_ENABLE
|
||||
DRV_pulse(pulsing_strong);
|
||||
#endif // HAPTIC_ENABLE
|
||||
eeconfig_update_keymap(keymap_config.raw);
|
||||
clear_keyboard(); // ──── clear to prevent stuck keys
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ l a y e r │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_COLEMAK);
|
||||
#ifdef HAPTIC_ENABLE
|
||||
DRV_pulse(transition_hum);
|
||||
#endif // HAPTIC_ENABLE
|
||||
}
|
||||
return false;
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_QWERTY);
|
||||
#ifdef HAPTIC_ENABLE
|
||||
DRV_pulse(transition_hum);
|
||||
#endif // HAPTIC_ENABLE
|
||||
}
|
||||
return false;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
case ADJUST:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_ADJUST);
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
return false;
|
||||
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ q m k │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
case MAKE_H:
|
||||
if (record->event.pressed) {
|
||||
#ifdef KEYBOARD_klor_2040
|
||||
SEND_STRING ("qmk compile -kb klor/2040 -km geist");
|
||||
#else
|
||||
SEND_STRING ("qmk compile -kb klor -km geist");
|
||||
#endif
|
||||
tap_code(KC_ENTER);
|
||||
}
|
||||
break;
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ p r o d u c t i v i t y │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
case WMAIL:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING ("igit.igit@web.de");
|
||||
}
|
||||
break;
|
||||
|
||||
case GMAIL:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING ("igit@gmx.de");
|
||||
}
|
||||
break;
|
||||
|
||||
case GIPHY:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING ("@gif ");
|
||||
}
|
||||
break;
|
||||
|
||||
case SNAP1:
|
||||
if (record->event.pressed) {
|
||||
if (keymap_config.swap_lctl_lgui) {
|
||||
SEND_STRING(SS_LSFT(SS_LCMD("4"))); //MAC
|
||||
} else {
|
||||
SEND_STRING(SS_LWIN(SS_TAP(X_PSCR))); //WIN
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case SNAP2:
|
||||
if (record->event.pressed) {
|
||||
if (keymap_config.swap_lctl_lgui) {
|
||||
SEND_STRING(SS_LSFT(SS_LCMD(SS_LCTL("4")))); //MAC
|
||||
} else {
|
||||
SEND_STRING(SS_LSFT(SS_LWIN("S"))); //WIN
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case KC_MPLY:
|
||||
if (record->event.pressed) {
|
||||
#ifdef HAPTIC_ENABLE
|
||||
DRV_pulse(sharp_click);
|
||||
#endif // HAPTIC_ENABL
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
// │ E N C O D E R │
|
||||
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ e n c o d e r L │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == 0) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_PGDN);
|
||||
} else {
|
||||
tap_code(KC_PGUP);
|
||||
}
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ e n c o d e r R │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
} else if (index == 1) {
|
||||
if(IS_LAYER_ON(_LOWER)){
|
||||
if (clockwise) {
|
||||
tap_code(KC_MNXT);
|
||||
} else {
|
||||
tap_code(KC_MPRV);
|
||||
}
|
||||
}else {
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif // ENCODER_ENABLE
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
▐█ ▟▛ ▐█ ▄▆▀▀▀▀▀▀▆▄ ▐█▀▀▀▀▀█▌
|
||||
▐█ ▟▛ ▐█ ▟▛ ▜▙ ▐█ █▌
|
||||
▐█ ▟▛ ▐█ ▐█ █▋▐█ █▌
|
||||
▐█ ▟█▙ ▐█ ▐█ █▋▐█▀▀▜█▀▀▘
|
||||
▐█▟▛ ▜▙ ▐█ ▜▙ ▟▛ ▐█ ▜▙
|
||||
▐█▛ ▜▙ ▐█▄▄▄▄ ▀▜▆▄▄▄▄▆▛▀ ▐█ ▜▙
|
||||
|
||||
▄██████████████▄
|
||||
████████████████
|
||||
▄██████▀ ▀████▀ ▀██████▄
|
||||
███████▄ ▄████▄ ▄███████
|
||||
███████████▀▀▀▀███████████
|
||||
▀█████████▀ ▄▄ ▀█████████▀
|
||||
████▀ ▄██▄ ▀████
|
||||
████▄▄████▄▄████
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
17
keyboards/klor/keymaps/default/geist/rules.mk
Normal file
17
keyboards/klor/keymaps/default/geist/rules.mk
Normal file
|
@ -0,0 +1,17 @@
|
|||
OLED_ENABLE = yes
|
||||
OLED_DRIVER = SSD1306
|
||||
ENCODER_ENABLE = yes
|
||||
EXTRAKEY_ENABLE = yes
|
||||
DYNAMIC_MACRO_ENABLE = yes
|
||||
COMBO_ENABLE = yes
|
||||
KEY_OVERRIDE_ENABLE = yes
|
||||
|
||||
#HAPTIC FEEBACK
|
||||
HAPTIC_ENABLE = yes
|
||||
|
||||
#PER KEY RGB
|
||||
RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
|
||||
|
||||
#AUDIO
|
||||
AUDIO_ENABLE = yes
|
||||
MUSIC_ENABLE = yes
|
771
keyboards/klor/keymaps/default/keymap.c
Normal file
771
keyboards/klor/keymaps/default/keymap.c
Normal file
|
@ -0,0 +1,771 @@
|
|||
/*
|
||||
|
||||
█ █ █ ▄▄▄▀▀▀▀▀▀▄▄▄ █▀▀▀▀▀▀▀▀▀▀█
|
||||
█ █ █ ▄▀ ▀▄ █ █
|
||||
█ █ █ ▄▀ ▀▄ █ █
|
||||
█ █ █ █ █ █ █
|
||||
█ █ █ █ █ █ █
|
||||
█ █ █ █ █ █▄▄▄▄▄▄▄▄▄▄█
|
||||
█ █ █ █ █ █ █ █
|
||||
█ █ █ █ █ █ █ █
|
||||
█ █ █ █ ▀▄ ▄▀ █ █
|
||||
██ █ █ ▀▄ ▄▀ █ █
|
||||
█ █ █▄▄▄▄▄▄▄▄ ▀▀▀▄▄▄▄▄▄▀▀▀ █ █
|
||||
|
||||
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
||||
D E F A U L T
|
||||
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "klor.h"
|
||||
#ifdef HAPTIC_ENABLE
|
||||
#include "drivers/haptic/DRV2605L.h"
|
||||
#endif //HAPTIC ENABLE
|
||||
|
||||
|
||||
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
// │ D E F I N I T I O N S │
|
||||
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ d e f i n e l a y e r s │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
enum klor_layers {
|
||||
/* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
|
||||
_QWERTY,
|
||||
_COLEMAK,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
};
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ d e f i n e k e y c o d e s │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
LOWER,
|
||||
RAISE,
|
||||
ADJUST,
|
||||
OS_SWAP,
|
||||
MAKE_H,
|
||||
};
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ d e f i n e m a c r o n a m e s │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
// LEFT HAND HOME ROW MODS ├───────────────────────────────────┐
|
||||
|
||||
#define GUI_A MT(MOD_LGUI, KC_A)
|
||||
#define ALT_R MT(MOD_LALT, KC_R)
|
||||
#define CTL_S MT(MOD_LCTL, KC_S)
|
||||
#define SHT_T MT(MOD_LSFT, KC_T)
|
||||
|
||||
// RIGHT HAND HOME ROW MODS ├───────────────────────────────────┐
|
||||
|
||||
#define SHT_N MT(MOD_RSFT, KC_N)
|
||||
#define CTL_E MT(MOD_LCTL, KC_E)
|
||||
#define ALT_I MT(MOD_LALT, KC_I)
|
||||
#define GUI_O MT(MOD_LGUI, KC_O)
|
||||
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ d e f i n e s o u n d s │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#define WINXP_SOUND W__NOTE(_DS6), Q__NOTE(_DS5), H__NOTE(_AS5), H__NOTE(_GS5), H__NOTE(_DS5), H__NOTE(_DS6), H__NOTE(_AS5)
|
||||
#define MAC_SOUND S__NOTE(_CS5), B__NOTE(_C5)
|
||||
|
||||
float winxp_song[][2] = SONG(WINXP_SOUND);
|
||||
float mac_song[][2] = SONG(MAC_SOUND);
|
||||
#endif // AUDIO_ENABLE
|
||||
|
||||
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
// │ K E Y M A P S │
|
||||
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/*
|
||||
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
|
||||
|
||||
┌───────────────────────────────────────────────────────────┐
|
||||
│ q w e r t y │
|
||||
└───────────────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ Q │ W │ E │ R │ T │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ Y │ U │ I │ O │ P │
|
||||
┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
|
||||
│ TAB │ A │ S │ D │ F │ G ├─╯ ╰─┤ H │ J │ K │ L │ ; │ " │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ DEL │ Z │ X │ C │ V │ B ││ MUTE ││PLY/PSE ││ N │ M │ , │ . │ / │ SHIFT │
|
||||
└─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
|
||||
│ CTRL │ LOWER │ SPACE │ ALT ││ CMD/WIN │ ENTER │ RAISE │ BSPACE │
|
||||
└─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */
|
||||
|
||||
[_QWERTY] = LAYOUT_polydactyl(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_DEL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LCTL, LOWER, KC_SPC, KC_LALT, KC_LGUI, KC_ENT, RAISE, KC_BSPC
|
||||
),
|
||||
|
||||
/*
|
||||
┌───────────────────────────────────────────────────────────┐
|
||||
│ c o l e m a k │
|
||||
└───────────────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ Q │ W │ F │ P │ G │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ J │ L │ U │ Y │ ; │
|
||||
┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
|
||||
│ TAB │ A │ R │ S │ T │ D ├─╯ ╰─┤ H │ N │ E │ I │ O │ " │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ DEL │ Z │ X │ C │ V │ B ││ SHIFT ││PLY/PSE ││ K │ M │ , │ . │ / │ SHIFT │
|
||||
└─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
|
||||
│ CTRL │ LOWER │ SPACE │ ALT ││ CMD/WIN │ ENTER │ RAISE │ BSPCE │
|
||||
└─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */
|
||||
|
||||
[_COLEMAK] = LAYOUT_polydactyl(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
|
||||
KC_TAB, GUI_A, ALT_R, CTL_S, SHT_T, KC_D, KC_H, SHT_N, CTL_E, ALT_I, GUI_O, KC_QUOT,
|
||||
KC_Q, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LSFT, KC_MPLY, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
|
||||
KC_DEL, LOWER, KC_SPC, KC_ESC, KC_LGUI, KC_ENT, RAISE, KC_BSPC
|
||||
),
|
||||
|
||||
/*
|
||||
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
|
||||
|
||||
┌───────────────────────────────────────────────────────────┐
|
||||
│ l o w e r │
|
||||
└───────────────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ CAPSLCK │ NUMLCK │ ↑ │ = │ { │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ } │ 7 │ 8 │ 9 │ + │
|
||||
┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
|
||||
│ ESC │ HOME │ ← │ ↓ │ → │ [ ├─╯ ╰─┤ ] │ 4 │ 5 │ 6 │ - │ ' │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ │ END │ PG↑ │ SAVE │ PG↓ │ ( ││ MUTE ││PLY/PSE ││ ) │ 1 │ 2 │ 3 │ * │ ▼ │
|
||||
└─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
|
||||
│ ▼ │ ▼ │ ▼ │ ▼ ││ ▼ │ ▼ │ ADJUST │ 0 │
|
||||
└─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */
|
||||
|
||||
[_LOWER] = LAYOUT_polydactyl(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
KC_CAPS, KC_NUM, KC_UP, KC_EQL, KC_LCBR, KC_RCBR, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
KC_ESC, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_MINS, KC_DQT,
|
||||
XXXXXXX, KC_END, KC_PGUP, C(KC_S), KC_PGDN, KC_LPRN, KC_MUTE, KC_MPLY, KC_RPRN, KC_P1, KC_P2, KC_P3, KC_PAST, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P0
|
||||
),
|
||||
/*
|
||||
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
|
||||
|
||||
┌───────────────────────────────────────────────────────────┐
|
||||
│ r a i s e │
|
||||
└───────────────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ ! │ @ │ # │ $ │ % │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ ^ │ & │ │ ° │ / │
|
||||
┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
|
||||
│ │ │ │ │ │ ├─╯ ╰─┤ │ │ │ │ │ │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ │ │ │ │ │ ││ MUTE ││PLY/PSE ││ │ │ │ │ │ │
|
||||
└─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
|
||||
│ │ ADJUST │ ▼ │ ▼ ││ ▼ │ ▼ │ ▼ │ ▼ │
|
||||
└─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */
|
||||
|
||||
[_RAISE] = LAYOUT_polydactyl(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, RALT(KC_U),RALT(KC_3),KC_BSLS,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
/*
|
||||
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
|
||||
|
||||
┌───────────────────────────────────────────────────────────┐
|
||||
│ a d j u s t │
|
||||
└───────────────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ AUDIO │ HAPTIC │ RGB HUE │ RGB MOD │ │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ F7 │ F8 │ F9 │ F14 │
|
||||
┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
|
||||
│ RESET │ DEBUG │ QWERTY │ RGB SAT │ │ ├─╯ ╰─┤ │ F4 │ F5 │ F6 │ F12 │ F13 │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ MAKE │ OS SWAP │ COLEMAK │ RGB VAL │ │ ││ MUTE ││PLY/PSE ││ │ F1 │ F2 │ F3 │ F10 │ F11 │
|
||||
└─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
|
||||
│ ▼ │ ▼ │ ▼ │ ▼ ││ ▼ │ ▼ │ ▼ │ ▼ │
|
||||
└─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */
|
||||
|
||||
[_ADJUST] = LAYOUT_polydactyl(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
AU_TOG, HPT_TOG, RGB_HUI, RGB_MOD, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F14,
|
||||
QK_BOOT, DB_TOGG, QWERTY, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX, KC_F4, KC_F5, KC_F6, KC_F12, KC_F13,
|
||||
MAKE_H, OS_SWAP, COLEMAK, RGB_VAI, XXXXXXX, XXXXXXX, KC_MUTE, KC_MPLY, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F10, KC_F11,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
/*
|
||||
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
|
||||
|
||||
┌───────────────────────────────────────────────────────────┐
|
||||
│ t e m p l a t e p o l y d a c t y l │
|
||||
└───────────────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ │ │ │ │ │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │
|
||||
┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
|
||||
│ │ │ │ │ │ ├─╯ ╰─┤ │ │ │ │ │ │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ │ │ │ │ │ ││ ││ ││ │ │ │ │ │ │
|
||||
└─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
|
||||
│ │ │ │ ││ │ │ │ │
|
||||
└─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘
|
||||
|
||||
[_TEMPLATE] = LAYOUT_polydactyl(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
|
||||
|
||||
┌───────────────────────────────────────────────────────────┐
|
||||
│ t e m p l a t e k o n r a d │
|
||||
└───────────────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ │ │ │ │ │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │
|
||||
┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
|
||||
│ │ │ │ │ │ ├─╯ ╰─┤ │ │ │ │ │ │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ │ │ │ │ │ ││ ││ ││ │ │ │ │ │ │
|
||||
└─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤╰────────╯╰────────╯├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
|
||||
│ │ │ │ │ │ │ │
|
||||
└─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘
|
||||
|
||||
[_TEMPLATE] = LAYOUT_konrad(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
|
||||
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ t e m p l a t e y u b i t s u m e │
|
||||
└─────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ │ │ │ │ │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ │ │ │ │ ├─╯ ╰─┤ │ │ │ │ │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ │ │ │ │ ││ ││ ││ │ │ │ │ │
|
||||
└─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┘
|
||||
│ │ │ │ ││ │ │ │ │
|
||||
└─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘
|
||||
|
||||
[_TEMPLATE] = LAYOUT_yubitsume(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
|
||||
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
|
||||
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ t e m p l a t e s a e g e w e r k │
|
||||
└─────────────────────────────────────────────────┘
|
||||
┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐
|
||||
│ │ │ │ │ │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ │ │ │ │ ├─╯ ╰─┤ │ │ │ │ │
|
||||
├─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┤
|
||||
│ │ │ │ │ ││ ││ ││ │ │ │ │ │
|
||||
└─────────┴─────────┼─────────┼─────────┼─────────┤╰────────╯╰────────╯├─────────┼─────────┼─────────┼─────────┴─────────┘
|
||||
│ │ │ │ │ │ │ │
|
||||
└─────────┴─────────┴─────────┘ └─────────┴─────────┴─────────┘
|
||||
|
||||
[_TEMPLATE] = LAYOUT_saegewerk(
|
||||
//╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
*/
|
||||
};
|
||||
|
||||
|
||||
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
// │ H A P T I C F E E D B A C K │
|
||||
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
// Call the post init code.
|
||||
#if HAPTIC_ENABLE
|
||||
haptic_disable(); // disables per key haptic feedback by default
|
||||
#endif //HAPTIC ENABLE
|
||||
}
|
||||
|
||||
|
||||
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
// │ O L E D │
|
||||
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ d y n a m i c m a c r o │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
char layer_state_str[24];
|
||||
char o_text[24] = "";
|
||||
int dmacro_num = 0;
|
||||
|
||||
#ifdef DYNAMIC_MACRO_ENABLE
|
||||
char dmacro_text[4][24] = { "", "RECORDING", "STOP RECORDING", "PLAY RECORDING"};
|
||||
static uint16_t dmacro_timer;
|
||||
const char PROGMEM rec_ico[] = {0xD1, 0xE1, 0};
|
||||
const char PROGMEM stop_ico[] = {0xD3, 0xE1, 0};
|
||||
const char PROGMEM play_ico[] = {0xD2, 0xE1, 0};
|
||||
|
||||
|
||||
// DYNMACRO RECORD ├─────────────────────────────────────────────────────────────┐
|
||||
void dynamic_macro_record_start_user(void) {
|
||||
dmacro_num = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
// DYNMACRO STOP RECORDING ├─────────────────────────────────────────────────────┐
|
||||
void dynamic_macro_record_end_user(int8_t direction) {
|
||||
dmacro_num = 2;
|
||||
dmacro_timer = timer_read();
|
||||
return;
|
||||
}
|
||||
|
||||
// DYNMACRO PLAY RECORDING ├─────────────────────────────────────────────────────┐
|
||||
void dynamic_macro_play_user(int8_t direction) {
|
||||
dmacro_num = 3;
|
||||
dmacro_timer = timer_read();
|
||||
return;
|
||||
}
|
||||
#endif //DYNAMIC_MACRO_ENABLE
|
||||
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
#ifdef DYNAMIC_MACRO_ENABLE
|
||||
// DynMacroTimer
|
||||
if(dmacro_num > 0){
|
||||
if (timer_elapsed(dmacro_timer) < 3000) {
|
||||
strcpy ( o_text, dmacro_text[dmacro_num] );
|
||||
}
|
||||
else {
|
||||
if (dmacro_num == 1) {
|
||||
strcpy ( o_text, dmacro_text[1] );
|
||||
}
|
||||
else {
|
||||
strcpy ( o_text, layer_state_str );
|
||||
dmacro_num = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif //DYNAMIC_MACRO_ENABLE
|
||||
}
|
||||
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ o l e d g r a p h i c s │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
void render_os_lock_status(void) {
|
||||
static const char PROGMEM sep_v[] = {0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0};
|
||||
static const char PROGMEM sep_h1[] = {0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0};
|
||||
static const char PROGMEM sep_h2[] = {0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0};
|
||||
static const char PROGMEM face_1[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0xE1, 0};
|
||||
static const char PROGMEM face_2[] = {0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xE1, 0};
|
||||
static const char PROGMEM os_m_1[] = {0x95, 0x96, 0};
|
||||
static const char PROGMEM os_m_2[] = {0xB5, 0xB6, 0};
|
||||
static const char PROGMEM os_w_1[] = {0x97, 0x98, 0};
|
||||
static const char PROGMEM os_w_2[] = {0xB7, 0xB8, 0};
|
||||
static const char PROGMEM s_lock[] = {0x8F, 0x90, 0};
|
||||
static const char PROGMEM n_lock[] = {0x91, 0x92, 0};
|
||||
static const char PROGMEM c_lock[] = {0x93, 0x94, 0};
|
||||
static const char PROGMEM b_lock[] = {0xE1, 0xE1, 0};
|
||||
#ifdef AUDIO_ENABLE
|
||||
static const char PROGMEM aud_en[] = {0xAF, 0xB0, 0};
|
||||
static const char PROGMEM aud_di[] = {0xCF, 0xD0, 0};
|
||||
#endif
|
||||
#ifdef HAPTIC_ENABLE
|
||||
static const char PROGMEM hap_en[] = {0xB1, 0xB2, 0};
|
||||
#endif
|
||||
|
||||
// os mode status ────────────────────────────────────────┐
|
||||
|
||||
oled_write_ln_P(sep_v, false);
|
||||
|
||||
if (keymap_config.swap_lctl_lgui) {
|
||||
oled_write_P(os_m_1, false); // ──── MAC
|
||||
} else {
|
||||
oled_write_P(os_w_1, false); // ──── WIN
|
||||
}
|
||||
|
||||
oled_write_P(sep_h1, false);
|
||||
oled_write_P(face_1, false);
|
||||
|
||||
if (keymap_config.swap_lctl_lgui) {
|
||||
oled_write_P(os_m_2, false); // ──── MAC
|
||||
} else {
|
||||
oled_write_P(os_w_2, false); // ──── WIN
|
||||
}
|
||||
|
||||
oled_write_P(sep_h1, false);
|
||||
oled_write_P(face_2, false);
|
||||
oled_write_ln_P(sep_v, false);
|
||||
|
||||
|
||||
// lock key layer status ─────────────────────────────────┐
|
||||
|
||||
led_t led_usb_state = host_keyboard_led_state();
|
||||
|
||||
if (led_usb_state.num_lock) {
|
||||
oled_write_P(n_lock, false); // ──── NUMLOCK
|
||||
} else {
|
||||
oled_write_P(b_lock, false);
|
||||
}
|
||||
if (led_usb_state.caps_lock) {
|
||||
oled_write_P(c_lock, false); // ─── CAPSLOCK
|
||||
} else {
|
||||
oled_write_P(b_lock, false);
|
||||
}
|
||||
if (led_usb_state.scroll_lock) { // ─ SCROLLLOCK
|
||||
oled_write_P(s_lock, false);
|
||||
} else {
|
||||
oled_write_P(b_lock, false);
|
||||
}
|
||||
|
||||
// hardware feature status ──────────────────────────────┐
|
||||
|
||||
oled_write_P(sep_h2, false);
|
||||
|
||||
#ifndef AUDIO_ENABLE
|
||||
oled_write_P(b_lock, false);
|
||||
#endif
|
||||
#ifndef HAPTIC_ENABLE
|
||||
oled_write_P(b_lock, false);
|
||||
#endif
|
||||
|
||||
#ifdef AUDIO_ENABLE // ────────────────── AUDIO
|
||||
if (is_audio_on()) {
|
||||
oled_write_P(aud_en, false);
|
||||
} else {
|
||||
oled_write_P(aud_di, false);
|
||||
}
|
||||
#endif // AUDIO ENABLE
|
||||
|
||||
#ifdef HAPTIC_ENABLE // ─────────────── HAPTIC
|
||||
oled_write_P(hap_en, false);
|
||||
#endif // HAPTIC ENABLE
|
||||
}
|
||||
|
||||
|
||||
// layer status ──────────────────────────────────────────┐
|
||||
|
||||
int layerstate = 0;
|
||||
|
||||
layer_state_t layer_state_set_kb(layer_state_t state) {
|
||||
switch (get_highest_layer(layer_state | default_layer_state)) {
|
||||
case 0:
|
||||
strcpy ( layer_state_str, "BASE COLEMAK");
|
||||
break;
|
||||
case 1:
|
||||
strcpy ( layer_state_str, "BASE QWERTY");
|
||||
break;
|
||||
case 2:
|
||||
strcpy ( layer_state_str, "LOWER");
|
||||
break;
|
||||
case 3:
|
||||
strcpy ( layer_state_str, "RAISE");
|
||||
break;
|
||||
case 4:
|
||||
strcpy ( layer_state_str, "ADJUST");
|
||||
break;
|
||||
default:
|
||||
strcpy ( layer_state_str, "XXXXXX");
|
||||
}
|
||||
if (dmacro_num < 1) {
|
||||
strcpy ( o_text, layer_state_str );
|
||||
}
|
||||
//return state;
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ w r i t e t o o l e d │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
bool oled_task_kb(void) {
|
||||
if (!oled_task_user()) {
|
||||
return false;
|
||||
}
|
||||
if (is_keyboard_master()) { // ────────────────────────── PRIMARY SIDE
|
||||
|
||||
// layer status ──────────────────────────────────────────────────┐
|
||||
#ifdef DYNAMIC_MACRO_ENABLE
|
||||
if(dmacro_num == 1){ oled_write_P(rec_ico, false); }
|
||||
if(dmacro_num == 2){ oled_write_P(stop_ico, false); }
|
||||
if(dmacro_num == 3){ oled_write_P(play_ico, false); }
|
||||
#endif //DYNAMIC_MACRO_ENABLE
|
||||
|
||||
oled_write_ln(o_text, false);
|
||||
render_os_lock_status();
|
||||
|
||||
} else { // ─────────────────────────────────────────── SECONDARY SIDE
|
||||
|
||||
// KLOR face ─────────────────────────────────────────────────────┐
|
||||
|
||||
static const char PROGMEM klor_face[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
||||
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0,
|
||||
0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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
|
||||
};
|
||||
oled_write_raw_P(klor_face, sizeof(klor_face));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif // OLED_ENABLE
|
||||
|
||||
|
||||
|
||||
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case SHT_T:
|
||||
return TAPPING_TERM - 150;
|
||||
case SHT_N:
|
||||
return TAPPING_TERM - 150;
|
||||
default:
|
||||
return TAPPING_TERM;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
// │ M A C R O S │
|
||||
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
|
||||
case OS_SWAP:
|
||||
if (record->event.pressed) {
|
||||
if (!keymap_config.swap_lctl_lgui) {
|
||||
keymap_config.swap_lctl_lgui = true; // ─── MAC
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(mac_song);
|
||||
#endif // AUDIO_ENABLE
|
||||
}
|
||||
else {
|
||||
keymap_config.swap_lctl_lgui = false; // ─── WIN
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(winxp_song);
|
||||
#endif // AUDIO_ENABLE
|
||||
}
|
||||
#ifdef HAPTIC_ENABLE
|
||||
DRV_pulse(pulsing_strong);
|
||||
#endif // HAPTIC_ENABLE
|
||||
eeconfig_update_keymap(keymap_config.raw);
|
||||
clear_keyboard(); // ──── clear to prevent stuck keys
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ l a y e r │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_COLEMAK);
|
||||
#ifdef HAPTIC_ENABLE
|
||||
DRV_pulse(transition_hum);
|
||||
#endif // HAPTIC_ENABLE
|
||||
}
|
||||
return false;
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_QWERTY);
|
||||
#ifdef HAPTIC_ENABLE
|
||||
DRV_pulse(transition_hum);
|
||||
#endif // HAPTIC_ENABLE
|
||||
}
|
||||
return false;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
case ADJUST:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_ADJUST);
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
return false;
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ q m k │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
case MAKE_H:
|
||||
if (record->event.pressed) {
|
||||
#ifdef KEYBOARD_klor_kb2040
|
||||
SEND_STRING ("qmk compile -kb klor/2040 -km default");
|
||||
#else
|
||||
SEND_STRING ("qmk compile -kb klor -km default");
|
||||
#endif
|
||||
tap_code(KC_ENTER);
|
||||
}
|
||||
break;
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ p r o d u c t i v i t y │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
case KC_MPLY:
|
||||
if (record->event.pressed) {
|
||||
#ifdef HAPTIC_ENABLE
|
||||
DRV_pulse(sharp_click);
|
||||
#endif // HAPTIC_ENABL
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
// │ E N C O D E R │
|
||||
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ e n c o d e r L │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == 0) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
|
||||
// ┌───────────────────────────────────────────────────────────┐
|
||||
// │ e n c o d e r R │
|
||||
// └───────────────────────────────────────────────────────────┘
|
||||
|
||||
} else if (index == 1) {
|
||||
if(IS_LAYER_ON(_LOWER)){
|
||||
if (clockwise) {
|
||||
tap_code(KC_MNXT);
|
||||
} else {
|
||||
tap_code(KC_MPRV);
|
||||
}
|
||||
}else {
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif // ENCODER_ENABLE
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
▐█ ▟▛ ▐█ ▄▆▀▀▀▀▀▀▆▄ ▐█▀▀▀▀▀█▌
|
||||
▐█ ▟▛ ▐█ ▟▛ ▜▙ ▐█ █▌
|
||||
▐█ ▟▛ ▐█ ▐█ █▋▐█ █▌
|
||||
▐█ ▟█▙ ▐█ ▐█ █▋▐█▀▀▜█▀▀▘
|
||||
▐█▟▛ ▜▙ ▐█ ▜▙ ▟▛ ▐█ ▜▙
|
||||
▐█▛ ▜▙ ▐█▄▄▄▄ ▀▜▆▄▄▄▄▆▛▀ ▐█ ▜▙
|
||||
|
||||
▄██████████████▄
|
||||
████████████████
|
||||
▄██████▀ ▀████▀ ▀██████▄
|
||||
███████▄ ▄████▄ ▄███████
|
||||
███████████▀▀▀▀███████████
|
||||
▀█████████▀ ▄▄ ▀█████████▀
|
||||
████▀ ▄██▄ ▀████
|
||||
████▄▄████▄▄████
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
16
keyboards/klor/keymaps/default/rules.mk
Normal file
16
keyboards/klor/keymaps/default/rules.mk
Normal file
|
@ -0,0 +1,16 @@
|
|||
OLED_ENABLE = yes
|
||||
OLED_DRIVER = SSD1306
|
||||
ENCODER_ENABLE = yes
|
||||
EXTRAKEY_ENABLE = yes
|
||||
AUDIO_ENABLE = no
|
||||
MUSIC_ENABLE = no
|
||||
|
||||
DYNAMIC_MACRO_ENABLE = no
|
||||
COMBO_ENABLE = no
|
||||
KEY_OVERRIDE_ENABLE = no
|
||||
|
||||
#HAPTIC FEEBACK
|
||||
HAPTIC_ENABLE = no
|
||||
|
||||
#PER KEY RGB
|
||||
RGB_MATRIX_ENABLE = no
|
|
@ -0,0 +1,237 @@
|
|||
/* Copyright 2022
|
||||
* GEIST @geigeigeist
|
||||
*
|
||||
* 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 "klor.h"
|
||||
|
||||
|
||||
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
|
||||
return OLED_ROTATION_180;
|
||||
}
|
||||
|
||||
|
||||
//#ifdef HAPTIC_ENABLE
|
||||
//#include "drivers/haptic/DRV2605L.h"
|
||||
//#endif //HAPTIC ENABLE
|
||||
|
||||
|
||||
#ifdef SWAP_HANDS_ENABLE
|
||||
|
||||
__attribute__ ((weak))
|
||||
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] =
|
||||
|
||||
/* ORIGINAL LAYOUT
|
||||
{ // LEFT
|
||||
{ {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0} }, \
|
||||
{ {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1} }, \
|
||||
{ {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2} }, \
|
||||
{ {0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3} }, \
|
||||
// RIGHT
|
||||
{ {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4} }, \
|
||||
{ {0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5} }, \
|
||||
{ {0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6} }, \
|
||||
{ {0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7} }, \
|
||||
};
|
||||
*/
|
||||
|
||||
// MIRRORED LAYOUT
|
||||
{ // LEFT
|
||||
{ {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4} }, \
|
||||
{ {0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5} }, \
|
||||
{ {0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6} }, \
|
||||
{ {0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7} }, \
|
||||
// RIGHT
|
||||
{ {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0} }, \
|
||||
{ {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1} }, \
|
||||
{ {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2} }, \
|
||||
{ {0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3} }, \
|
||||
};
|
||||
|
||||
#endif //SWAP_HANDS_ENABLE
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
|
||||
// Physical layout ────────────────────────────────────────────────────
|
||||
//
|
||||
// ┌────────────────────┐ ┌────────────────────┐
|
||||
// │ 18 13 12 06 05 │ │ 26 27 33 34 39 │
|
||||
//┌───┴────────────────────┤ ├────────────────────┴───┐
|
||||
//│ 20 17 14 11 07 04 │ │ 25 28 32 35 38 40 │
|
||||
//├────────────────────────┤ ├────────────────────────┤
|
||||
//│ 19 16 15 10 08 03 │ │ 24 29 31 36 37 41 │
|
||||
//└───────────────┬────────┴───────┐ ┌───────┴────────┬───────────────┘
|
||||
// │ 09 02 01 00 │ │ 21 22 23 30 │
|
||||
// └────────────────┘ └────────────────┘
|
||||
//
|
||||
//
|
||||
// Electrical layout ───────────────────────────────────────
|
||||
//
|
||||
// C 00──01──02──03──04──05────06──07──08──09──10──11 R
|
||||
// ┌────────────────────┐┌────────────────────┐ │
|
||||
// X │ 18 13 12 06 05 ││ 26 27 33 34 39 │ X 0
|
||||
// ┌───┴────────────────────┤├────────────────────┴───┐ │
|
||||
// │ 20 17 14 11 07 04 ││ 25 28 32 35 38 40 │ 1
|
||||
// ├────────────────────────┤├────────────────────────┤ │
|
||||
// │ 19 16 15 10 08 03 ││ 24 29 31 36 37 41 │ 2
|
||||
// └───┬────────────────┬───┘└───┬────────────────┬───┘ │
|
||||
// X │ 09 02 01 00 │ X X │ 21 22 23 30 │ X 3
|
||||
// └────────────────┘ └────────────────┘
|
||||
|
||||
|
||||
// POLYDACTYL / YUBITSUME
|
||||
// use this matrix if you use the polydactyl or yubitsume layout ────────────────────────────────────┐
|
||||
|
||||
led_config_t g_led_config = { {
|
||||
//COL 00 01 02 03 04 05 ROW
|
||||
{ NO_LED, 18, 13, 12, 6, 5 },//00
|
||||
{ 19, 17, 14, 11, 7, 4 },//01
|
||||
{ 20, 16, 15, 10, 8, 3 },//02
|
||||
{ NO_LED, 9, 2, 1, 0, NO_LED },//03
|
||||
{ NO_LED, 37, 34, 33, 27, 26 },//00
|
||||
{ 40, 38, 35, 32, 28, 25 },//01
|
||||
{ 41, 39, 36, 31, 29, 24 },//02
|
||||
{ NO_LED, 30, 23, 22, 21, NO_LED } //03
|
||||
}, {
|
||||
//LEFT
|
||||
//thumb1 ▼ thumb2 ▼ thumb3 ▼ C0 R3 ▼ C0 R2 ▼ C0 R1 ▼ C1 R1 ▼
|
||||
{ 102, 63 }, { 89, 54 }, { 74, 49 }, { 75, 34 }, { 75, 21 }, { 75, 8 }, { 60, 6 },
|
||||
//C1 R2 ▼ C1 R3 ▼ thumb4 ▼ C2 R3 ▼ C2 R2 ▼ C2 R1 ▼ C3 R1 ▼
|
||||
{ 60, 19 }, { 60, 32 }, { 58, 48 }, { 46, 25 }, { 46, 12 }, { 46, 0 }, { 29, 7 },
|
||||
//C3 R2 ▼ C3 R3 ▼ C4 R3 ▼ C4 R2 ▼ C4 R1 ▼ C5 R2 ▼ C5 R3 ▼
|
||||
{ 30, 20 }, { 31, 33 }, { 17, 42 }, { 15, 30 }, { 13, 17 }, { 0, 28 }, { 3, 41 },
|
||||
//RIGHT
|
||||
//thumb1 ▼ thumb2 ▼ thumb3 ▼ C0 R3 ▼ C0 R2 ▼ C0 R1 ▼ C1 R1 ▼
|
||||
{ 122, 63 }, { 135, 54 }, { 150, 49 }, { 149, 34 }, { 149, 21 }, { 149, 8 }, { 163, 6 },
|
||||
//C1 R2 ▼ C1 R3 ▼ thumb4 ▼ C2 R3 ▼ C2 R2 ▼ C2 R1 ▼ C3 R1 ▼
|
||||
{ 163, 19 }, { 163, 32 }, { 166, 48 }, { 178, 25 }, { 178, 12 }, { 178, 0 }, { 195, 7 },
|
||||
//C3 R2 ▼ C3 R3 ▼ C4 R3 ▼ C4 R2 ▼ C4 R1 ▼ C5 R2 ▼ C5 R3 ▼
|
||||
{ 194, 20 }, { 193, 33 }, { 206, 42 }, { 209, 30 }, { 211, 17 }, { 224, 28 }, { 221, 41 }
|
||||
}, {
|
||||
//LEFT
|
||||
1, 1, 1, 4, 4, 4, 4,
|
||||
4, 4, 1, 4, 4, 4, 4,
|
||||
4, 4, 4, 4, 4, 1, 1,
|
||||
//RIGHT
|
||||
1, 1, 1, 4, 4, 4, 4,
|
||||
4, 4, 1, 4, 4, 4, 4,
|
||||
4, 4, 4, 4, 4, 1, 1
|
||||
} };
|
||||
// ────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
/*
|
||||
// KONRAD
|
||||
// use this matrix if you use the konrad layout ───────────────────────────────────────────────────────┐
|
||||
|
||||
led_config_t g_led_config = { {
|
||||
//COL 00 01 02 03 04 05 ROW
|
||||
{ NO_LED, 17, 12, 11, 5, 4 },//00
|
||||
{ 18, 16, 13, 10, 6, 3 },//01
|
||||
{ 19, 15, 14, 9, 7, 2 },//02
|
||||
{ NO_LED, 8, 1, 0, NO_LED, NO_LED },//03
|
||||
{ NO_LED, 37, 32, 31, 25, 24 },//00
|
||||
{ 38, 36, 33, 30, 26, 23 },//01
|
||||
{ 39, 35, 34, 29, 27, 22 },//02
|
||||
{ NO_LED, 28, 21, 20, NO_LED, NO_LED } //03
|
||||
}, {
|
||||
//LEFT
|
||||
//thumb1 ▼ thumb2 ▼ thumb3 ▼ C0 R3 ▼ C0 R2 ▼ C0 R1 ▼ C1 R1 ▼
|
||||
{ 89, 54 }, { 74, 49 }, { 75, 34 }, { 75, 21 }, { 75, 8 }, { 60, 6 },
|
||||
//C1 R2 ▼ C1 R3 ▼ thumb4 ▼ C2 R3 ▼ C2 R2 ▼ C2 R1 ▼ C3 R1 ▼
|
||||
{ 60, 19 }, { 60, 32 }, { 58, 48 }, { 46, 25 }, { 46, 12 }, { 46, 0 }, { 29, 7 },
|
||||
//C3 R2 ▼ C3 R3 ▼ C4 R3 ▼ C4 R2 ▼ C4 R1 ▼ C5 R2 ▼ C5 R3 ▼
|
||||
{ 30, 20 }, { 31, 33 }, { 17, 42 }, { 15, 30 }, { 13, 17 }, { 0, 28 }, { 3, 41 },
|
||||
//RIGHT
|
||||
//thumb1 ▼ thumb2 ▼ thumb3 ▼ C0 R3 ▼ C0 R2 ▼ C0 R1 ▼ C1 R1 ▼
|
||||
{ 135, 54 }, { 150, 49 }, { 149, 34 }, { 149, 21 }, { 149, 8 }, { 163, 6 },
|
||||
//C1 R2 ▼ C1 R3 ▼ thumb4 ▼ C2 R3 ▼ C2 R2 ▼ C2 R1 ▼ C3 R1 ▼
|
||||
{ 163, 19 }, { 163, 32 }, { 166, 48 }, { 178, 25 }, { 178, 12 }, { 178, 0 }, { 195, 7 },
|
||||
//C3 R2 ▼ C3 R3 ▼ C4 R3 ▼ C4 R2 ▼ C4 R1 ▼ C5 R2 ▼ C5 R3 ▼
|
||||
{ 194, 20 }, { 193, 33 }, { 206, 42 }, { 209, 30 }, { 211, 17 }, { 224, 28 }, { 221, 41 }
|
||||
}, {
|
||||
//LEFT
|
||||
1, 1, 4, 4, 4, 4,
|
||||
4, 4, 1, 4, 4, 4, 4,
|
||||
4, 4, 4, 4, 4, 1, 1,
|
||||
//RIGHT
|
||||
1, 1, 4, 4, 4, 4,
|
||||
4, 4, 1, 4, 4, 4, 4,
|
||||
4, 4, 4, 4, 4, 1, 1
|
||||
} };
|
||||
|
||||
// ────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
*/
|
||||
|
||||
/*
|
||||
// SAEGEWERK
|
||||
// use this matrix if you use the saegewerk layout ────────────────────────────────────────────────────┐
|
||||
|
||||
led_config_t g_led_config = { {
|
||||
//COL 00 01 02 03 04 05 ROW
|
||||
{ NO_LED, 17, 12, 11, 5, 4 },//00
|
||||
{ NO_LED, 16, 13, 10, 6, 3 },//01
|
||||
{ NO_LED, 15, 14, 9, 7, 2 },//02
|
||||
{ NO_LED, 8, 1, 0, NO_LED, NO_LED },//03
|
||||
{ NO_LED, 35, 30, 29, 23, 22 },//00
|
||||
{ NO_LED, 34, 31, 28, 24, 21 },//01
|
||||
{ NO_LED, 33, 32, 27, 25, 20 },//02
|
||||
{ NO_LED, 26, 19, 18, NO_LED, NO_LED } //03
|
||||
}, {
|
||||
//LEFT
|
||||
//thumb1 ▼ thumb2 ▼ thumb3 ▼ C0 R3 ▼ C0 R2 ▼ C0 R1 ▼ C1 R1 ▼
|
||||
{ 89, 54 }, { 74, 49 }, { 75, 34 }, { 75, 21 }, { 75, 8 }, { 60, 6 },
|
||||
//C1 R2 ▼ C1 R3 ▼ thumb4 ▼ C2 R3 ▼ C2 R2 ▼ C2 R1 ▼ C3 R1 ▼
|
||||
{ 60, 19 }, { 60, 32 }, { 58, 48 }, { 46, 25 }, { 46, 12 }, { 46, 0 }, { 29, 7 },
|
||||
//C3 R2 ▼ C3 R3 ▼ C4 R3 ▼ C4 R2 ▼ C4 R1 ▼ C5 R2 ▼ C5 R3 ▼
|
||||
{ 30, 20 }, { 31, 33 }, { 17, 42 }, { 15, 30 }, { 13, 17 },
|
||||
//RIGHT
|
||||
//thumb1 ▼ thumb2 ▼ thumb3 ▼ C0 R3 ▼ C0 R2 ▼ C0 R1 ▼ C1 R1 ▼
|
||||
{ 135, 54 }, { 150, 49 }, { 149, 34 }, { 149, 21 }, { 149, 8 }, { 163, 6 },
|
||||
//C1 R2 ▼ C1 R3 ▼ thumb4 ▼ C2 R3 ▼ C2 R2 ▼ C2 R1 ▼ C3 R1 ▼
|
||||
{ 163, 19 }, { 163, 32 }, { 166, 48 }, { 178, 25 }, { 178, 12 }, { 178, 0 }, { 195, 7 },
|
||||
//C3 R2 ▼ C3 R3 ▼ C4 R3 ▼ C4 R2 ▼ C4 R1 ▼ C5 R2 ▼ C5 R3 ▼
|
||||
{ 194, 20 }, { 193, 33 }, { 206, 42 }, { 209, 30 }, { 211, 17 }
|
||||
}, {
|
||||
//LEFT
|
||||
1, 1, 4, 4, 4, 4,
|
||||
4, 4, 1, 4, 4, 4, 4,
|
||||
4, 4, 4, 4, 4,
|
||||
//RIGHT
|
||||
1, 1, 4, 4, 4, 4,
|
||||
4, 4, 1, 4, 4, 4, 4,
|
||||
4, 4, 4, 4, 4
|
||||
} };
|
||||
|
||||
// ────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
*/
|
||||
|
||||
void suspend_power_down_kb(void) {
|
||||
rgb_matrix_set_suspend_state(true);
|
||||
suspend_power_down_user();
|
||||
}
|
||||
|
||||
void suspend_wakeup_init_kb(void) {
|
||||
rgb_matrix_set_suspend_state(false);
|
||||
suspend_wakeup_init_user();
|
||||
}
|
||||
#endif //RGB_MATRIX_ENABLE
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
/* Copyright 2022
|
||||
* GEIST @geigeigeist
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
//#pragma once
|
||||
#include "quantum.h"
|
||||
|
||||
/* This a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
|
||||
// readability
|
||||
#define ___ KC_NO
|
||||
|
||||
#define LAYOUT_polydactyl( \
|
||||
L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
|
||||
L20, L21, L22, L23, L24, L25, L35, R30, R20, R21, R22, R23, R24, R25, \
|
||||
L31, L32, L33, L34, R31, R32, R33, R34 \
|
||||
) \
|
||||
{ \
|
||||
{ ___, L01, L02, L03, L04, L05 }, \
|
||||
{ L10, L11, L12, L13, L14, L15 }, \
|
||||
{ L20, L21, L22, L23, L24, L25 }, \
|
||||
{ ___, L31, L32, L33, L34, L35 }, \
|
||||
{ ___, R04, R03, R02, R01, R00 }, \
|
||||
{ R15, R14, R13, R12, R11, R10 }, \
|
||||
{ R25, R24, R23, R22, R21, R20 }, \
|
||||
{ ___, R34, R33, R32, R31, R30 }, \
|
||||
}
|
||||
|
||||
|
||||
#define LAYOUT_konrad( \
|
||||
L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
|
||||
L20, L21, L22, L23, L24, L25, L35, R30, R20, R21, R22, R23, R24, R25, \
|
||||
L31, L32, L33, R32, R33, R34 \
|
||||
) \
|
||||
{ \
|
||||
{ ___, L01, L02, L03, L04, L05 }, \
|
||||
{ L10, L11, L12, L13, L14, L15 }, \
|
||||
{ L20, L21, L22, L23, L24, L25 }, \
|
||||
{ ___, L31, L32, L33, ___, L35 }, \
|
||||
{ ___, R04, R03, R02, R01, R00 }, \
|
||||
{ R15, R14, R13, R12, R11, R10 }, \
|
||||
{ R25, R24, R23, R22, R21, R20 }, \
|
||||
{ ___, R34, R33, R32, ___, R30 }, \
|
||||
}
|
||||
|
||||
|
||||
#define LAYOUT_yubitsume( \
|
||||
L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, \
|
||||
L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, \
|
||||
L21, L22, L23, L24, L25, L35, R30, R20, R21, R22, R23, R24, \
|
||||
L31, L32, L33, L34, R31, R32, R33, R34 \
|
||||
) \
|
||||
{ \
|
||||
{ ___, L01, L02, L03, L04, L05 }, \
|
||||
{ ___, L11, L12, L13, L14, L15 }, \
|
||||
{ ___, L21, L22, L23, L24, L25 }, \
|
||||
{ ___, L31, L32, L33, L34, L35 }, \
|
||||
{ ___, R04, R03, R02, R01, R00 }, \
|
||||
{ ___, R14, R13, R12, R11, R10 }, \
|
||||
{ ___, R24, R23, R22, R21, R20 }, \
|
||||
{ ___, R34, R33, R32, R31, R30 }, \
|
||||
}
|
||||
|
||||
|
||||
#define LAYOUT_saegewerk( \
|
||||
L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, \
|
||||
L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, \
|
||||
L21, L22, L23, L24, L25, L35, R30, R20, R21, R22, R23, R24, \
|
||||
L31, L32, L33, R32, R33, R34 \
|
||||
) \
|
||||
{ \
|
||||
{ ___, L01, L02, L03, L04, L05 }, \
|
||||
{ ___, L11, L12, L13, L14, L15 }, \
|
||||
{ ___, L21, L22, L23, L24, L25 }, \
|
||||
{ ___, L31, L32, L33, ___, L35 }, \
|
||||
{ ___, R04, R03, R02, R01, R00 }, \
|
||||
{ ___, R14, R13, R12, R11, R10 }, \
|
||||
{ ___, R24, R23, R22, R21, R20 }, \
|
||||
{ ___, R34, R33, R32, ___, R30 }, \
|
||||
}
|
||||
|
||||
|
||||
#define LAYOUT LAYOUT_polydactyl
|
233
keyboards/klor/lib/glcdfont.c
Normal file
233
keyboards/klor/lib/glcdfont.c
Normal file
|
@ -0,0 +1,233 @@
|
|||
// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
|
||||
// See gfxfont.h for newer custom bitmap font info.
|
||||
|
||||
#pragma once
|
||||
|
||||
#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, 0xB6, 0xFF, 0xB6, 0x94, 0x00,
|
||||
0x08, 0x0C, 0x7E, 0x0C, 0x08, 0x00,
|
||||
0x10, 0x30, 0x7E, 0x30, 0x10, 0x00,
|
||||
0x08, 0x08, 0x3E, 0x1C, 0x08, 0x00,
|
||||
0x08, 0x1C, 0x3E, 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, 0x3E, 0x14, 0x3E, 0x14, 0x00,
|
||||
0x2E, 0x2A, 0x7F, 0x2A, 0x3A, 0x00,
|
||||
0x20, 0x12, 0x08, 0x24, 0x02, 0x00,
|
||||
0x37, 0x49, 0x49, 0x37, 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,
|
||||
0x7F, 0x51, 0x49, 0x45, 0x7F, 0x00,
|
||||
0x08, 0x04, 0x02, 0x7F, 0x00, 0x00,
|
||||
0x71, 0x49, 0x49, 0x49, 0x4F, 0x00,
|
||||
0x41, 0x41, 0x49, 0x49, 0x77, 0x00,
|
||||
0x0F, 0x10, 0x10, 0x10, 0x7F, 0x00,
|
||||
0x4F, 0x49, 0x49, 0x49, 0x71, 0x00,
|
||||
0x7E, 0x49, 0x49, 0x49, 0x70, 0x00,
|
||||
0x01, 0x01, 0x71, 0x09, 0x07, 0x00,
|
||||
0x77, 0x49, 0x49, 0x49, 0x77, 0x00,
|
||||
0x07, 0x49, 0x49, 0x49, 0x3F, 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,
|
||||
0x01, 0x01, 0x59, 0x09, 0x0F, 0x00,
|
||||
0x7F, 0x41, 0x5D, 0x59, 0x4F, 0x00,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x7F, 0x00,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x76, 0x00,
|
||||
0x7F, 0x41, 0x41, 0x41, 0x41, 0x00,
|
||||
0x7F, 0x41, 0x41, 0x41, 0x7E, 0x00,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x49, 0x00,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x09, 0x00,
|
||||
0x7F, 0x41, 0x41, 0x49, 0x7B, 0x00,
|
||||
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
|
||||
0x00, 0x00, 0x7F, 0x00, 0x00, 0x00,
|
||||
0x70, 0x40, 0x40, 0x40, 0x7F, 0x00,
|
||||
0x7F, 0x08, 0x08, 0x08, 0x77, 0x00,
|
||||
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
|
||||
0x7F, 0x01, 0x1F, 0x01, 0x7F, 0x00,
|
||||
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
|
||||
0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x0F, 0x00,
|
||||
0x7F, 0x41, 0x71, 0x41, 0x7F, 0x00,
|
||||
0x7F, 0x09, 0x09, 0x19, 0x6F, 0x00,
|
||||
0x47, 0x49, 0x49, 0x49, 0x79, 0x00,
|
||||
0x01, 0x01, 0x7F, 0x01, 0x01, 0x00,
|
||||
0x7F, 0x40, 0x40, 0x40, 0x7F, 0x00,
|
||||
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
|
||||
0x7F, 0x40, 0x7F, 0x40, 0x7F, 0x00,
|
||||
0x77, 0x08, 0x08, 0x08, 0x77, 0x00,
|
||||
0x4F, 0x48, 0x48, 0x48, 0x7F, 0x00,
|
||||
0x61, 0x51, 0x49, 0x45, 0x43, 0x00,
|
||||
0x00, 0x7F, 0x41, 0x41, 0x00, 0x00,
|
||||
0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
|
||||
0x00, 0x41, 0x41, 0x7F, 0x00, 0x00,
|
||||
0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
|
||||
0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
|
||||
0x00, 0x00, 0x07, 0x08, 0x00, 0x00,
|
||||
0x60, 0x54, 0x54, 0x54, 0x7C, 0x00,
|
||||
0x7F, 0x44, 0x44, 0x44, 0x78, 0x00,
|
||||
0x7C, 0x44, 0x44, 0x44, 0x44, 0x00,
|
||||
0x78, 0x44, 0x44, 0x44, 0x7F, 0x00,
|
||||
0x7C, 0x54, 0x54, 0x54, 0x5C, 0x00,
|
||||
0x08, 0x7F, 0x09, 0x09, 0x09, 0x00,
|
||||
0x38, 0xA4, 0xA4, 0xA4, 0xFC, 0x00,
|
||||
0x7F, 0x04, 0x04, 0x04, 0x78, 0x00,
|
||||
0x00, 0x00, 0x7D, 0x00, 0x00, 0x00,
|
||||
0x70, 0x40, 0x40, 0x7D, 0x00, 0x00,
|
||||
0x7F, 0x08, 0x08, 0x08, 0x76, 0x00,
|
||||
0x00, 0x00, 0x7F, 0x40, 0x00, 0x00,
|
||||
0x7C, 0x04, 0x7C, 0x04, 0x7C, 0x00,
|
||||
0x7C, 0x04, 0x04, 0x04, 0x78, 0x00,
|
||||
0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00,
|
||||
0xFC, 0x24, 0x24, 0x24, 0x38, 0x00,
|
||||
0x38, 0x24, 0x24, 0x24, 0xFC, 0x00,
|
||||
0x7C, 0x04, 0x04, 0x04, 0x04, 0x00,
|
||||
0x5C, 0x54, 0x54, 0x54, 0x74, 0x00,
|
||||
0x04, 0x04, 0x7F, 0x04, 0x04, 0x00,
|
||||
0x7C, 0x40, 0x40, 0x40, 0x7C, 0x00,
|
||||
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
|
||||
0x7C, 0x40, 0x7C, 0x40, 0x7C, 0x00,
|
||||
0x6C, 0x10, 0x10, 0x10, 0x6C, 0x00,
|
||||
0xBC, 0xA0, 0xA0, 0xA0, 0xFC, 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, 0xE0, 0xF0, 0xF0, 0xF0,
|
||||
0xF0, 0xFE, 0xFF, 0x9F, 0x0F, 0x0F,
|
||||
0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F,
|
||||
0x0F, 0x0F, 0x9F, 0xFF, 0xFE, 0xF0,
|
||||
0xF0, 0xF0, 0xF0, 0xE0, 0x00, 0x00,
|
||||
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00,
|
||||
0x00, 0x00, 0x00, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xE0, 0x10, 0x08, 0x04, 0x02, 0x02,
|
||||
0x02, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x02, 0x02, 0x02, 0x04, 0x08,
|
||||
0x10, 0xE0, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFF, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0xFF,
|
||||
0x7F, 0x51, 0x55, 0x55, 0x45, 0x7F,
|
||||
0x41, 0x5F, 0x5F, 0x5F, 0x7F, 0x00,
|
||||
0x7F, 0x41, 0x7B, 0x77, 0x41, 0x7F,
|
||||
0x41, 0x5F, 0x5F, 0x5F, 0x7F, 0x00,
|
||||
0x7F, 0x41, 0x5D, 0x5D, 0x5D, 0x7F,
|
||||
0x41, 0x5F, 0x5F, 0x5F, 0x7F, 0x00,
|
||||
0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0,
|
||||
0xE6, 0xF7, 0xF3, 0xF0, 0x60, 0x00,
|
||||
0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00,
|
||||
0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00,
|
||||
0xF8, 0x1C, 0xDE, 0x1F, 0xFF, 0xFF,
|
||||
0xFF, 0x1F, 0xDE, 0x1C, 0xF8, 0x00,
|
||||
0xC0, 0xE2, 0xB4, 0xF8, 0xF8, 0xF8,
|
||||
0xF8, 0xF8, 0xB4, 0xE2, 0xC0, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x07, 0x0F, 0x0F, 0x0F,
|
||||
0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F,
|
||||
0x87, 0xE1, 0xF9, 0xF9, 0xE1, 0x87,
|
||||
0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
|
||||
0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00,
|
||||
0xFF, 0x00, 0x00, 0xC0, 0x30, 0x0C,
|
||||
0x33, 0xC0, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x3F,
|
||||
0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xC0, 0x3F, 0x00, 0x00, 0x00,
|
||||
0xFF, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x38, 0xC8, 0x08, 0x08, 0x0F,
|
||||
0x7E, 0x00, 0x00, 0x7F, 0x00, 0x00,
|
||||
0x78, 0x00, 0x00, 0x7E, 0x00, 0x00,
|
||||
0x24, 0x24, 0x12, 0x12, 0x24, 0x24,
|
||||
0x48, 0x48, 0x24, 0x24, 0x12, 0x12,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x3F,
|
||||
0x3F, 0x7F, 0x7F, 0x38, 0x10, 0x00,
|
||||
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00,
|
||||
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00,
|
||||
0x0F, 0x14, 0x21, 0x40, 0x45, 0x41,
|
||||
0x45, 0x40, 0x21, 0x14, 0x0F, 0x00,
|
||||
0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D,
|
||||
0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3F, 0x0C, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x03, 0x0C, 0x30, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3F, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x01, 0x02, 0x04, 0x08, 0x10, 0x10,
|
||||
0x10, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x10, 0x10, 0x10, 0x08, 0x04,
|
||||
0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x0C, 0x30,
|
||||
0x40, 0x00, 0x00, 0x40, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x40, 0x00, 0x00,
|
||||
0x1C, 0x3E, 0x3E, 0x3E, 0x1C, 0x00,
|
||||
0x3E, 0x1C, 0x1C, 0x08, 0x08, 0x00,
|
||||
0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
3159
keyboards/klor/lib/klorimation.h
Normal file
3159
keyboards/klor/lib/klorimation.h
Normal file
File diff suppressed because it is too large
Load diff
15
keyboards/klor/lib/klounds.h
Normal file
15
keyboards/klor/lib/klounds.h
Normal file
|
@ -0,0 +1,15 @@
|
|||
// Copyright 2022 @geigeigeist
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
#pragma once
|
||||
|
||||
#define WINXP_SOUND W__NOTE(_DS6), Q__NOTE(_DS5), H__NOTE(_AS5), H__NOTE(_GS5), H__NOTE(_DS5), H__NOTE(_DS6), H__NOTE(_AS5)
|
||||
#define MAC_SOUND S__NOTE(_CS5), B__NOTE(_C5)
|
||||
#define CAPSON_SOUND Q__NOTE(_DS1)
|
||||
#define CAPSOFF_SOUND Q__NOTE(_DS5)
|
||||
|
||||
float winxp_song[][2] = SONG(WINXP_SOUND);
|
||||
float mac_song[][2] = SONG(MAC_SOUND);
|
||||
float capson_song[][2] = SONG(CAPSON_SOUND);
|
||||
float capsoff_song[][2] = SONG(CAPSOFF_SOUND);
|
||||
|
|
@ -1,15 +1,26 @@
|
|||
#HAPTIC FEEDBACK
|
||||
# A number of these rules were moved into info.json
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
SWAP_HANDS_ENABLE = yes
|
||||
|
||||
# HAPTIC FEEDBACK
|
||||
HAPTIC_DRIVER = drv2605l
|
||||
|
||||
#PER KEY RGB
|
||||
# PER KEY RGB
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
|
||||
|
||||
#SPACE SAVING
|
||||
# SPACE SAVING
|
||||
EXTRAKEY_ENABLE = no
|
||||
AUDIO_ENABLE = no
|
||||
MUSIC_ENABLE = no
|
||||
LTO_ENABLE = no
|
||||
CONSOLE_ENABLE = no
|
||||
COMMAND_ENABLE = no
|
||||
MOUSEKEY_ENABLE = no
|
||||
SPACE_CADET_ENABLE = no
|
||||
GRAVE_ESC_ENABLE = no
|
||||
MAGIC_ENABLE = no
|
||||
|
|
6
qmk.json
6
qmk.json
|
@ -1,11 +1,15 @@
|
|||
{
|
||||
"userspace_version": "1.0",
|
||||
"build_targets": [
|
||||
|
||||
["ploopyco/trackball_nano", "lkbm"],
|
||||
["crkbd/rev1", "t4corun"],
|
||||
["bastardkb/charybdis/3x5/v2/splinky_3", "t4corun"],
|
||||
["planck/rev6", "t4corun"],
|
||||
["bluebell/swoop", "t4corun"],
|
||||
["barbellboards/rollow", "t4corun"]
|
||||
["barbellboards/rollow", "t4corun"],
|
||||
["klor", "default"],
|
||||
["klor/2040", "default"]
|
||||
|
||||
]
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"clone_targets": [
|
||||
{
|
||||
"repository": "https://github.com/app-gitKaiwho/qmk-config-klor/",
|
||||
"tree": "main"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"nontree_targets": [
|
||||
"barbellboards"
|
||||
"barbellboards",
|
||||
"klor"
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue