Created
September 6, 2022 19:37
-
-
Save ylacancellera/5eaf4e11fdf44b6d5a6e6e6f16945cfb to your computer and use it in GitHub Desktop.
lily vial
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#pragma once | |
/* VIAL UID for Lily58*/ | |
#define VIAL_KEYBOARD_UID {0x7E, 0xFD, 0xFC, 0x5B, 0x7D, 0x39, 0x48, 0x06} | |
/* VIAL secure unlock keystroke - currently both big keys (typ. SPACE/ENTER) */ | |
#define VIAL_UNLOCK_COMBO_ROWS {4, 9} | |
#define VIAL_UNLOCK_COMBO_COLS {4, 4} | |
/* Space reduction */ | |
#define DYNAMIC_KEYMAP_LAYER_COUNT 3 | |
#define VIAL_TAP_DANCE_ENTRIES 4 | |
#undef LOCKING_SUPPORT_ENABLE | |
#undef LOCKING_RESYNC_ENABLE | |
#define NO_ACTION_ONESHOT | |
/* Select hand configuration */ | |
#define MASTER_LEFT | |
// #define MASTER_RIGHT | |
// #define EE_HANDS | |
#define USE_SERIAL_PD2 | |
#define TAPPING_FORCE_HOLD | |
#define TAPPING_TERM 100 | |
#undef RGBLED_NUM | |
#define RGBLED_NUM 35 | |
#define RGBLIGHT_LIMIT_VAL 150 | |
#define RGBLIGHT_HUE_STEP 1 | |
#define RGBLIGHT_SAT_STEP 1 | |
#define RGBLIGHT_VAL_STEP 1 | |
#define RGBLIGHT_SPLIT | |
#define RGBLIGHT_SLEEP //Turn off LEDs when computer sleepin | |
#define SPLIT_WPM_ENABLE | |
#define SPLIT_LED_STATE_ENABLE | |
#define SPLIT_MODS_ENABLE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include QMK_KEYBOARD_H | |
#include <stdio.h> | |
#include <string.h> | |
#include "keymap_french.h" | |
char wpm[16]; | |
char hue[10]; | |
char sat[10]; | |
char val[10]; | |
enum custom_keycodes { | |
CK_NOTEQUAL = SAFE_RANGE, | |
}; | |
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |
/* QWERTY | |
* ,-----------------------------------------. ,-----------------------------------------. | |
* | ESC | & | é | " | ' | ( | | - | è | _ | ç | à | ) | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------| | |
* | Tab | A | Z | E | R | T | | Y | U | I | O | P | ^ | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------| | |
* |LShift| Q | S | D | F | G |-------. ,-------| H | J | K | L | M | ù | | |
* |------+------+------+------+------+------| GUI | | ADJUST|------+------+------+------+------+------| | |
* |LCtrl | W | X | C | V | B |-------| |-------| N | , | ; | : | ! | * | | |
* `-----------------------------------------/ / \ \-----------------------------------------' | |
* | GUI | ALT | LOWER| /Space / \Enter \ |BackSP| ALTGR| < | | |
* | | | |/ / \ \ | | | | | |
* `--------------------'-------' '------''--------------------' | |
*/ | |
[0] = LAYOUT( | |
KC_ESC, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPRN, FR_MINS,FR_EGRV, FR_UNDS, FR_CCED,FR_AGRV, FR_RPRN, | |
KC_TAB, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, | |
KC_LSFT, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, | |
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, MO(2), KC_N, FR_COMM, FR_SCLN, FR_COLN,FR_EXLM, FR_ASTR, | |
KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_ENT, KC_BSPC, KC_ALGR, FR_LABK | |
), | |
/* LOWER | |
* ,-----------------------------------------. ,-----------------------------------------. | |
* | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------| | |
* | | | up | | Pg up| VOL U| | - | 7 | 8 | 9 |numlck| = | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------| | |
* | | left | down | right|PgDown| VOL D|-------. ,-------| + | 4 | 5 | 6 | * | =/ | | |
* |------+------+------+------+------+------| | | |------+------+------+------+------+------| | |
* | | | end | del | | MUTE |-------| |-------| | 1 | 2 | 3 | . | | | |
* `-----------------------------------------/ / \ \-----------------------------------------' | |
* | | | | / / \ \ | | 0 | . | | |
* | | | |/ / \ \ | | | | | |
* `--------------------'-------' '------''--------------------' | |
*/ | |
[1] = LAYOUT( | |
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, | |
_______, _______, KC_UP, _______, KC_PGUP, KC_VOLU, KC_PMNS, KC_P7, KC_P8, KC_P9, KC_NLCK, FR_EQL, | |
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_VOLD, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PAST, CK_NOTEQUAL, | |
_______, _______, KC_END, KC_DEL, _______, KC_MUTE, _______, _______, _______, KC_P1, KC_P2, KC_P3, C_S_T(KC_PDOT), KC_RSFT, | |
_______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT | |
), | |
/* ADJUST | |
* ,-----------------------------------------. ,-----------------------------------------. | |
* | | | | | | | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------| | |
* | | | | | | | |ORANGE| Hue+ | Hue- | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------| | |
* | | | | | | |-------. ,-------|PURPLE| Satu+| Satu-| | | | | |
* |------+------+------+------+------+------| | | |------+------+------+------+------+------| | |
* | | | | | | |-------| |-------|LedOFF| Brig+| Brig-| | | | | |
* `-----------------------------------------/ / \ \-----------------------------------------' | |
* | | | | / / \ \ | | | | | |
* | | | |/ / \ \ | | | | | |
* `--------------------'-------' '------''--------------------' | |
*/ | |
[2] = LAYOUT( | |
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_HUD, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_SAD, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, RGB_VAD, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, _______ | |
) | |
}; | |
#ifdef OLED_ENABLE | |
oled_rotation_t oled_init_user(oled_rotation_t rotation) { | |
if (is_keyboard_master()) return OLED_ROTATION_270; | |
else return rotation; | |
} | |
/* settings */ | |
# define MIN_WALK_SPEED 10 | |
# define MIN_RUN_SPEED 40 | |
/* advanced settings */ | |
# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms | |
# define ANIM_SIZE 96 // number of bytes in array. If you change sprites, minimize for adequate firmware size. max is 1024 | |
/* timers */ | |
uint32_t anim_timer = 0; | |
uint32_t anim_sleep = 0; | |
/* current frame */ | |
uint8_t current_frame = 0; | |
/* status variables */ | |
int current_wpm = 0; | |
led_t led_usb_state; | |
bool isSneaking = false; | |
bool isBarking = false; | |
bool isJumping = false; | |
bool showedJump = true; | |
/* logic */ | |
static void render_luna(int LUNA_X, int LUNA_Y) { | |
/* Sit */ | |
static const char PROGMEM sit[2][ANIM_SIZE] = {/* 'sit1', 32x22px */ | |
{ | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x68, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
}, | |
/* 'sit2', 32x22px */ | |
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x90, 0x08, 0x18, 0x60, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; | |
/* Walk */ | |
static const char PROGMEM walk[2][ANIM_SIZE] = {/* 'walk1', 32x22px */ | |
{ | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x90, 0x90, 0x90, 0xa0, 0xc0, 0x80, 0x80, 0x80, 0x70, 0x08, 0x14, 0x08, 0x90, 0x10, 0x10, 0x08, 0xa4, 0x78, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0xea, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x03, 0x06, 0x18, 0x20, 0x20, 0x3c, 0x0c, 0x12, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
}, | |
/* 'walk2', 32x22px */ | |
{ | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x28, 0x10, 0x20, 0x20, 0x20, 0x10, 0x48, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x20, 0xf8, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x30, 0xd5, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x02, 0x1c, 0x14, 0x08, 0x10, 0x20, 0x2c, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
}}; | |
/* Run */ | |
static const char PROGMEM run[2][ANIM_SIZE] = {/* 'run1', 32x22px */ | |
{ | |
0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0xc8, 0xb0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc4, 0xa4, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x58, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x09, 0x04, 0x04, 0x04, 0x04, 0x02, 0x03, 0x02, 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, | |
}, | |
/* 'run2', 32x22px */ | |
{ | |
0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x78, 0x28, 0x08, 0x10, 0x20, 0x30, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0xb0, 0x50, 0x55, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x1e, 0x20, 0x20, 0x18, 0x0c, 0x14, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
}}; | |
/* Bark */ | |
static const char PROGMEM bark[2][ANIM_SIZE] = {/* 'bark1', 32x22px */ | |
{ | |
0x00, 0xc0, 0x20, 0x10, 0xd0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
}, | |
/* 'bark2', 32x22px */ | |
{ | |
0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x2c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x20, 0x4a, 0x09, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
}}; | |
/* Sneak */ | |
static const char PROGMEM sneak[2][ANIM_SIZE] = {/* 'sneak1', 32x22px */ | |
{ | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x21, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04, 0x04, 0x04, 0x03, 0x01, 0x00, 0x00, 0x09, 0x01, 0x80, 0x80, 0xab, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x02, 0x06, 0x18, 0x20, 0x20, 0x38, 0x08, 0x10, 0x18, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, | |
}, | |
/* 'sneak2', 32x22px */ | |
{ | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xa0, 0x20, 0x40, 0x80, 0xc0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x40, 0x55, 0x82, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x04, 0x18, 0x10, 0x08, 0x10, 0x20, 0x28, 0x34, 0x06, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, | |
}}; | |
/* animation */ | |
void animate_luna(void) { | |
/* jump */ | |
if (isJumping || !showedJump) { | |
/* clear */ | |
oled_set_cursor(LUNA_X, LUNA_Y + 2); | |
oled_write(" ", false); | |
oled_set_cursor(LUNA_X, LUNA_Y - 1); | |
showedJump = true; | |
} else { | |
/* clear */ | |
oled_set_cursor(LUNA_X, LUNA_Y - 1); | |
oled_write(" ", false); | |
oled_set_cursor(LUNA_X, LUNA_Y); | |
} | |
/* switch frame */ | |
current_frame = (current_frame + 1) % 2; | |
/* current status */ | |
if (isBarking) { | |
oled_write_raw_P(bark[abs(1 - current_frame)], ANIM_SIZE); | |
} else if (isSneaking) { | |
oled_write_raw_P(sneak[abs(1 - current_frame)], ANIM_SIZE); | |
} else if (current_wpm <= 10) { | |
oled_write_raw_P(sit[abs(1 - current_frame)], ANIM_SIZE); | |
} else if (current_wpm <= 40) { | |
oled_write_raw_P(walk[abs(1 - current_frame)], ANIM_SIZE); | |
} else { | |
oled_write_raw_P(run[abs(1 - current_frame)], ANIM_SIZE); | |
} | |
} | |
/* animation timer */ | |
if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { | |
anim_timer = timer_read32(); | |
animate_luna(); | |
} | |
/* this fixes the screen on and off bug */ | |
/* | |
if (current_wpm > 0) { | |
oled_on(); | |
anim_sleep = timer_read32(); | |
} else if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { | |
oled_off(); | |
} | |
*/ | |
} | |
bool oled_task_user(void) { | |
current_wpm = get_current_wpm(); | |
led_usb_state = host_keyboard_led_state(); | |
if (!is_keyboard_master()) { | |
oled_write_P(PSTR("\n\n"), false); | |
sprintf(wpm, "%03d", current_wpm); | |
oled_write(wpm, false); | |
oled_write_P(PSTR(" wpm\n"), false); | |
if (!led_usb_state.num_lock) { | |
oled_write_P(PSTR("NUMPAD OFF!"), false); | |
} else { | |
oled_write_P(PSTR(" "), false); | |
} | |
} else { | |
render_luna(0, 13); | |
} | |
return false; | |
} | |
#endif | |
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |
switch (keycode) { | |
case CK_NOTEQUAL: | |
if (record->event.pressed) { | |
SEND_STRING("≠"); | |
} | |
break; | |
case KC_LSFT: | |
if (record->event.pressed) { | |
isBarking = true; | |
} else { | |
isBarking = false; | |
} | |
break; | |
case KC_LCTL: | |
if (record->event.pressed) { | |
isSneaking = true; | |
} else { | |
isSneaking = false; | |
} | |
break; | |
case KC_SPC: | |
if (record->event.pressed) { | |
isJumping = true; | |
showedJump = false; | |
} else { | |
isJumping = false; | |
} | |
break; | |
} | |
return true; | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
VIA_ENABLE = yes | |
VIAL_ENABLE = yes | |
RGBLIGHT_ENABLE = yes | |
OLED_ENABLE = yes | |
OLED_DRIVER = SSD1306 | |
EXTRAKEY_ENABLE = yes | |
WPM_ENABLE = yes | |
QMK_SETTINGS = no | |
LTO_ENABLE = yes | |
KEY_OVERRIDE_ENABLE = no | |
COMBO_ENABLE = no | |
UNICODEMAP_ENABLE = no | |
MOUSEKEY_ENABLE = no | |
TAP_DANCE_ENABLE = no | |
COMMAND_ENABLE = no | |
STENO_ENABLE = no | |
BOOTMAGIC_ENABLE =no | |
TERMINAL_ENABLE = no | |
GRAVE_ESC_ENABLE = no | |
MAGIC_ENABLE = no | |
SPACE_CADET_ENABLE = no | |
KEY_LOCK_ENABLE = no | |
AUDIO_ENABLE = no | |
CONSOLE_ENABLE = no | |
VELOCIKEY_ENABLE = no |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "Lily58", | |
"vendorId": "0x04D8", | |
"productId": "0xEB2D", | |
"lighting": "qmk_rgblight", | |
"matrix": { "rows": 10, "cols": 6 }, | |
"layouts": { | |
"labels": [], | |
"keymap": [ | |
[{"x":3.5},"0,3",{"x":8.5},"5,3"], | |
[{"y":-0.875,"x":2.5},"0,2",{"x":1},"0,4",{"x":6.5},"5,4",{"x":1},"5,2"], | |
[{"y":-0.875,"x":5.5},"0,5",{"x":4.5},"5,5"], | |
[{"y":-0.875,"x":1.5},"0,1",{"x":12.5},"5,1"], | |
[{"y":-0.875,"x":0.5,"c":"#777777"},"0,0",{"x":14.5,"c":"#cccccc"},"5,0"], | |
[{"y":-0.5,"x":3.5},"1,3",{"x":8.5},"6,3"], | |
[{"y":-0.875,"x":2.5},"1,2",{"x":1},"1,4",{"x":6.5},"6,4",{"x":1},"6,2"], | |
[{"y":-0.875,"x":5.5},"1,5",{"x":4.5},"6,5"], | |
[{"y":-0.875,"x":1.5},"1,1",{"x":12.5},"6,1"], | |
[{"y":-0.875,"x":0.5,"c":"#aaaaaa"},"1,0",{"x":14.5,"c":"#cccccc"},"6,0"], | |
[{"y":-0.5,"x":3.5},"2,3",{"x":8.5},"7,3"], | |
[{"y":-0.875,"x":2.5},"2,2",{"x":1},"2,4",{"x":6.5},"7,4",{"x":1},"7,2"], | |
[{"y":-0.875,"x":5.5},"2,5",{"x":4.5},"7,5"], | |
[{"y":-0.875,"x":1.5},"2,1",{"x":12.5},"7,1"], | |
[{"y":-0.875,"x":0.5,"c":"#aaaaaa"},"2,0",{"x":14.5,"c":"#cccccc"},"7,0"], | |
[{"y":-0.75,"x":6.5},"4,5",{"x":2.5},"9,5"], | |
[{"y":-0.75,"x":3.5},"3,3",{"x":8.5},"8,3"], | |
[{"y":-0.875,"x":2.5},"3,2",{"x":1},"3,4",{"x":6.5},"8,4",{"x":1},"8,2"], | |
[{"y":-0.875,"x":5.5},"3,5",{"x":4.5},"8,5"], | |
[{"y":-0.875,"x":1.5},"3,1",{"x":12.5},"8,1"], | |
[{"y":-0.875,"x":0.5,"c":"#aaaaaa"},"3,0",{"x":14.5},"8,0"], | |
[{"y":-0.375,"x":3},"4,1"], | |
[{"y":-0.975,"x":4},"4,2",{"x":7.5},"9,2","9,1"], | |
[{"y":-0.9,"x":5},"4,3",{"x":0.5,"c":"#777777","h":1.5},"4,4",{"x":2.5,"h":1.5},"9,4",{"x":0.5,"c":"#aaaaaa"},"9,3"] | |
] | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment