update pvinis keymap (#8746)
* update a bunch of stuff Better rules, better config, added encoders, lights, audio. * some fmt * more fmt
This commit is contained in:
parent
6fb048fdaf
commit
f6b40da7f8
8 changed files with 620 additions and 481 deletions
|
@ -1,29 +1,27 @@
|
||||||
// pvinis ergodox ez
|
// pvinis ergodox ez
|
||||||
// ,------------------------------------. ,------------------------------------.
|
// ,------------------------------------. ┌────┬────┬────┬────┬────┬────┬──────┐
|
||||||
// | | | | | | | | | | | | | | | |
|
// | | | | | | | | │ │ │ │ │ │ │ │
|
||||||
// |------+----+----+----+----+---------| |----+----+----+----+----+----+------|
|
// |------+----+----+----+----+---------| ├────┼────┼────┼────┼────┼────┼──────┤
|
||||||
// | | | | | | | | | | | | | | | |
|
// | | | | | | | | │ │ │ │ │ │ │ │
|
||||||
// |------+----+----+----x----x----| | | |----x----x----+----+----+------|
|
// |------+----+----+----x----x----| | │ ├────╆━━━━╅────┼────┼────┼──────┤
|
||||||
// | | | | | | |----| |----| | | | | | |
|
// | | | | | | |----| ├────┤ ┃ ┃ │ │ │ │
|
||||||
// |------+----+----+----x----x----| | | |----x----x----+----+----+------|
|
// |------+----+----+----x----x----| | │ ├────╄━━━━╃────┼────┼────┼──────┤
|
||||||
// | | | | | | | | | | | | | | | |
|
// | | | | | | | | │ │ │ │ │ │ │ │
|
||||||
// `------+----+----+----+----+---------' `---------+----+----+----+----+------'
|
// `------+----+----+----+----+---------' └────┴────┼────┼────┼────┼────┼────┬─┘
|
||||||
// | | | | | | | | | | | |
|
// | | | | | | │ │ │ │ │ │
|
||||||
// `------------------------' `------------------------'
|
// `------------------------' └────┴────┴────┴────┴────┘
|
||||||
// ,---------. ,---------.
|
// ,---------. ┌────┬────┐
|
||||||
// | | | | | |
|
// | | | │ │ │
|
||||||
// ,----+----+----| |----+----+----.
|
// ,----+----+----| ├────┼────┼────┐
|
||||||
// | | | | | | | |
|
// | | | | │ │ │ │
|
||||||
// | | |----| |----| | |
|
// | | |----| ├────┤ │ │
|
||||||
// | | | | | | | |
|
// | | | | │ │ │ │
|
||||||
// `--------------' `--------------'
|
// `--------------' └────┴────┴────┘
|
||||||
|
|
||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
#include "pvinis.h"
|
#include "pvinis.h"
|
||||||
#include "mousekey.h"
|
#include "mousekey.h"
|
||||||
|
|
||||||
|
|
||||||
// layers
|
// layers
|
||||||
enum {
|
enum {
|
||||||
MOUSE = 8,
|
MOUSE = 8,
|
||||||
|
@ -41,7 +39,6 @@ enum {
|
||||||
#define AP_XCOD ALLM(KC_X)
|
#define AP_XCOD ALLM(KC_X)
|
||||||
#define AP_MSGR ALLM(KC_M)
|
#define AP_MSGR ALLM(KC_M)
|
||||||
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
// ,------------------------------------. ,------------------------------------.
|
// ,------------------------------------. ,------------------------------------.
|
||||||
// |4xFLSH| | | | | |Opt | | | | | | | | |
|
// |4xFLSH| | | | | |Opt | | | | | | | | |
|
||||||
|
@ -52,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
// |------+----+----+----x----x----| | | |----x----x----+----+----+------|
|
// |------+----+----+----x----x----| | | |----x----x----+----+----+------|
|
||||||
// |LShift| | | | | | | | | | | | | |RShift|
|
// |LShift| | | | | | | | | | | | | |RShift|
|
||||||
// `------+----+----+----+----+---------' `---------+----+----+----+----+------'
|
// `------+----+----+----+----+---------' `---------+----+----+----+----+------'
|
||||||
// | | | | |Cmd | | | | | | |
|
// | | | |Cmd |LOWR| |RASE|RAlt| | | |
|
||||||
// `------------------------' `------------------------'
|
// `------------------------' `------------------------'
|
||||||
// ,---------. ,---------.
|
// ,---------. ,---------.
|
||||||
// |QWER| | | | |
|
// |QWER| | | | |
|
||||||
|
@ -62,6 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
// | spc| ft | | | | | |
|
// | spc| ft | | | | | |
|
||||||
// `--------------' `--------------'
|
// `--------------' `--------------'
|
||||||
[LR_BASE] = LAYOUT_ergodox_pretty_wrapper(
|
[LR_BASE] = LAYOUT_ergodox_pretty_wrapper(
|
||||||
|
// clang-format off
|
||||||
TD_3FLS, _______, _______, _______, _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______,
|
TD_3FLS, _______, _______, _______, _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______,
|
||||||
KC_TAB , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
KC_TAB , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
PV_ESCC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT ,
|
PV_ESCC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT ,
|
||||||
|
@ -70,6 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
QWERTY , CARPALX, _______, _______,
|
QWERTY , CARPALX, _______, _______,
|
||||||
_______, _______,
|
_______, _______,
|
||||||
KC_BSPC, _______, _______, _______, _______, KC_SPC
|
KC_BSPC, _______, _______, _______, _______, KC_SPC
|
||||||
|
// clang-format on
|
||||||
),
|
),
|
||||||
|
|
||||||
// ,------------------------------------. ,------------------------------------.
|
// ,------------------------------------. ,------------------------------------.
|
||||||
|
@ -92,6 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
// `--------------' `--------------'
|
// `--------------' `--------------'
|
||||||
// See `users/pvinis/pvinis.h`
|
// See `users/pvinis/pvinis.h`
|
||||||
[LR_QWERTY] = LAYOUT_ergodox_pretty_wrapper(
|
[LR_QWERTY] = LAYOUT_ergodox_pretty_wrapper(
|
||||||
|
// clang-format off
|
||||||
_______, ________________NUMBERS_L__________________, _______, KC_MINS, ________________NUMBERS_R__________________, KC_EQL ,
|
_______, ________________NUMBERS_L__________________, _______, KC_MINS, ________________NUMBERS_R__________________, KC_EQL ,
|
||||||
_______, _________________QWERTY_L1_________________, KC_LBRC, KC_RBRC, _________________QWERTY_R1_________________, _______,
|
_______, _________________QWERTY_L1_________________, KC_LBRC, KC_RBRC, _________________QWERTY_R1_________________, _______,
|
||||||
_______, _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, _______,
|
_______, _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, _______,
|
||||||
|
@ -100,6 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______,
|
_______, _______,
|
||||||
_______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______
|
||||||
|
// clang-format off
|
||||||
),
|
),
|
||||||
|
|
||||||
// ,------------------------------------. ,------------------------------------.
|
// ,------------------------------------. ,------------------------------------.
|
||||||
|
@ -122,6 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
// `--------------' `--------------'
|
// `--------------' `--------------'
|
||||||
// See `users/pvinis/pvinis.h`
|
// See `users/pvinis/pvinis.h`
|
||||||
[LR_CARPALX] = LAYOUT_ergodox_pretty_wrapper(
|
[LR_CARPALX] = LAYOUT_ergodox_pretty_wrapper(
|
||||||
|
// clang-format off
|
||||||
_______, ________________NUMBERS_L__________________, _______, _______, ________________NUMBERS_R__________________, _______,
|
_______, ________________NUMBERS_L__________________, _______, _______, ________________NUMBERS_R__________________, _______,
|
||||||
_______, ________________CARPALX_L1_________________, _______, _______, ________________CARPALX_R1_________________, _______,
|
_______, ________________CARPALX_L1_________________, _______, _______, ________________CARPALX_R1_________________, _______,
|
||||||
_______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
|
_______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
|
||||||
|
@ -130,10 +132,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______,
|
_______, _______,
|
||||||
_______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______
|
||||||
|
// clang-format on
|
||||||
),
|
),
|
||||||
|
|
||||||
// See `users/pvinis/pvinis.h`
|
// See `users/pvinis/pvinis.h`
|
||||||
[LR_SYMBOL] = LAYOUT_ergodox_pretty_wrapper(
|
[LR_SYMBOL] = LAYOUT_ergodox_pretty_wrapper(
|
||||||
|
// clang-format off
|
||||||
_______, ______________________F_L__________________, KC_F11 , KC_F12 , ______________________F_R__________________, _______,
|
_______, ______________________F_L__________________, KC_F11 , KC_F12 , ______________________F_R__________________, _______,
|
||||||
_______, _________________SYMBOL_L1_________________, _______, _______, _________________SYMBOL_R1_________________, _______,
|
_______, _________________SYMBOL_L1_________________, _______, _______, _________________SYMBOL_R1_________________, _______,
|
||||||
_______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______,
|
_______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______,
|
||||||
|
@ -142,10 +146,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______,
|
_______, _______,
|
||||||
_______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______
|
||||||
|
// clang-format off
|
||||||
),
|
),
|
||||||
|
|
||||||
// See `users/pvinis/pvinis.h`
|
// See `users/pvinis/pvinis.h`
|
||||||
[LR_SYSCTL] = LAYOUT_ergodox_pretty_wrapper(
|
[LR_SYSCTL] = LAYOUT_ergodox_pretty_wrapper(
|
||||||
|
// clang-format off
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R1_________________, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R1_________________, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _________________SYSCTL_R2_________________, _______,
|
_______, _______, _______, _______, _______, _______, _________________SYSCTL_R2_________________, _______,
|
||||||
|
@ -155,10 +161,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______,
|
_______, _______,
|
||||||
_______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______
|
||||||
|
// clang-format on
|
||||||
),
|
),
|
||||||
|
|
||||||
// See `users/pvinis/pvinis.h`
|
// See `users/pvinis/pvinis.h`
|
||||||
[LR_KBCTL] = LAYOUT_ergodox_pretty_wrapper(
|
[LR_KBCTL] = LAYOUT_ergodox_pretty_wrapper(
|
||||||
|
// clang-format off
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R1_________________, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R1_________________, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R2_________________, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R2_________________, XXXXXXX,
|
||||||
|
@ -168,6 +176,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
// clang-format on
|
||||||
),
|
),
|
||||||
|
|
||||||
/* MOUSE
|
/* MOUSE
|
||||||
|
@ -193,6 +202,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
* `--------------------' `--------------------'
|
* `--------------------' `--------------------'
|
||||||
*/
|
*/
|
||||||
[MOUSE] = LAYOUT_ergodox_pretty(
|
[MOUSE] = LAYOUT_ergodox_pretty(
|
||||||
|
// clang-format off
|
||||||
KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
|
KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
|
||||||
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
|
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
|
||||||
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
|
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
|
||||||
|
@ -212,12 +222,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
,KC_NO ,KC_NO
|
,KC_NO ,KC_NO
|
||||||
,KC_NO
|
,KC_NO
|
||||||
,KC_NO ,KC_NO ,KC_NO
|
,KC_NO ,KC_NO ,KC_NO
|
||||||
|
// clang-format on
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// keyboard initialization
|
// keyboard initialization
|
||||||
void keyboard_post_init_user_local(void) {
|
void keyboard_post_init_user_keymap(void) {
|
||||||
ergodox_led_all_on();
|
ergodox_led_all_on();
|
||||||
for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) {
|
for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) {
|
||||||
ergodox_led_all_set(i);
|
ergodox_led_all_set(i);
|
||||||
|
@ -235,7 +245,7 @@ void keyboard_post_init_user_local(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// light up leds based on the layer
|
// light up leds based on the layer
|
||||||
uint32_t layer_state_set_user_local(uint32_t state) {
|
uint32_t layer_state_set_user_keymap(uint32_t state) {
|
||||||
ergodox_right_led_1_off();
|
ergodox_right_led_1_off();
|
||||||
ergodox_right_led_2_off();
|
ergodox_right_led_2_off();
|
||||||
ergodox_right_led_3_off();
|
ergodox_right_led_3_off();
|
||||||
|
@ -249,7 +259,8 @@ uint32_t layer_state_set_user_local(uint32_t state) {
|
||||||
case LR_SYMBOL:
|
case LR_SYMBOL:
|
||||||
ergodox_right_led_2_on(); // green
|
ergodox_right_led_2_on(); // green
|
||||||
break;
|
break;
|
||||||
default: break;
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,24 +1,36 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
#ifdef PRODUCT
|
#ifdef PRODUCT
|
||||||
# undef PRODUCT
|
# undef PRODUCT
|
||||||
# define PRODUCT Iris Keyboard - pvinis
|
# define PRODUCT Iris Keyboard - pvinis
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Use I2C or Serial, not both.
|
||||||
// Use I2C or Serial, not both
|
|
||||||
#define USE_SERIAL
|
#define USE_SERIAL
|
||||||
// #define USE_I2C
|
// #define USE_I2C
|
||||||
|
|
||||||
|
// Select hand configuration.
|
||||||
// Select hand configuration
|
// #define MASTER_LEFT
|
||||||
#define MASTER_LEFT
|
#define MASTER_RIGHT
|
||||||
// #define MASTER_RIGHT
|
|
||||||
// #define EE_HANDS
|
// #define EE_HANDS
|
||||||
|
|
||||||
|
// Choose pin to use for audio. C6 is the one iris uses.
|
||||||
// choose pin to use for audio. c6 is the one iris uses.
|
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
# define C6_AUDIO
|
# define C6_AUDIO
|
||||||
|
# define STARTUP_SONG SONG(NO_SOUND) // No startup song.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
# undef RGBLED_NUM
|
||||||
|
# define RGBLED_NUM 16
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ENCODER_ENABLE
|
||||||
|
# define ENCODERS_PAD_A \
|
||||||
|
{ F5 } // I connected the encoder to F4 and F5.
|
||||||
|
# define ENCODERS_PAD_B \
|
||||||
|
{ F4 }
|
||||||
|
// #define ENCODERS_PAD_A_RIGHT { B5 }
|
||||||
|
// #define ENCODERS_PAD_B_RIGHT { C6 }
|
||||||
|
# define ENCODER_RESOLUTION 2
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
// pvinis iris
|
// pvinis iris
|
||||||
// ,-----------------------------. ,-----------------------------.
|
// make keebio/iris/rev2:pvinis:avrdude
|
||||||
// | | | | | | | | | | | | | |
|
// ,-----------------------------. ┌────┬────┬────┬────┬────┬────┐
|
||||||
// |----+----+----+----+----+----| |----+----+----+----+----+----|
|
// | | | | | | | │ │ │ │ │ │ │
|
||||||
// | | | | | | | | | | | | | |
|
// |----+----+----+----+----+----| ├────┼────┼────┼────┼────┼────┤
|
||||||
// |----+----+----+----x----x----| |----x----x----+----+----+----|
|
// | | | | | | | │ │ │ │ │ │ │
|
||||||
// | | | | | | | | | | | | | |
|
// |----+----+----+----x----x----| ├────╆━━━━╅────┼────┼────┼────┤
|
||||||
// |----+----+----+----x----x----+----. ,----|----x----x----+----+----+----|
|
// | | | | | | | │ ┃ ┃ │ │ │ │
|
||||||
// | | | | | | | | | | | | | | | |
|
// |----+----+----+----x----x----+----. ┌────┼────╄━━━━╃────┼────┼────┼────┤
|
||||||
// `-------------------+----+----+----/ \----+----+----+-------------------'
|
// | | | | | | | | │ │ │ │ │ │ │ │
|
||||||
// | | | | | | | |
|
// `-------------------+----+----+----/ └┬───┴┬───┴┬───┴┬───┴────┴────┴────┘
|
||||||
// `----+---------' `--------------'
|
// | | | | │ │ │ │
|
||||||
|
// `----+---------' └────┴────┴────┘
|
||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
#include "pvinis.h"
|
#include "pvinis.h"
|
||||||
|
@ -27,20 +27,33 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
float tone_sonic[][2] = SONG(IN_LIKE_FLINT);
|
// float n04[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE);
|
||||||
float tone_1[][2] = SONG(QWERTY_SOUND);
|
// float n10[][2] = SONG(STARTUP_SOUND);
|
||||||
float tone_2[][2] = SONG(OLD_SPICE);
|
// float n11[][2] = SONG(GOODBYE_SOUND);
|
||||||
float tone_3[][2] = SONG(OVERWATCH_THEME);
|
// float n12[][2] = SONG(PLANCK_SOUND);
|
||||||
float tone_4[][2] = SONG(QWERTY_SOUND);
|
// float n19[][2] = SONG(MUSIC_ON_SOUND);
|
||||||
|
// float n20[][2] = SONG(AUDIO_ON_SOUND);
|
||||||
|
// float n29[][2] = SONG(CAPS_LOCK_ON_SOUND);
|
||||||
|
// float n30[][2] = SONG(CAPS_LOCK_OFF_SOUND);
|
||||||
|
// float n31[][2] = SONG(SCROLL_LOCK_ON_SOUND);
|
||||||
|
// float n32[][2] = SONG(SCROLL_LOCK_OFF_SOUND);
|
||||||
|
// float n33[][2] = SONG(NUM_LOCK_ON_SOUND);
|
||||||
|
// float n34[][2] = SONG(NUM_LOCK_OFF_SOUND);
|
||||||
|
// float n40[][2] = SONG(ONE_UP_SOUND);
|
||||||
|
// float n49[][2] = SONG(E1M1_DOOM);
|
||||||
|
// float n53[][2] = SONG(OLD_SPICE);
|
||||||
|
// float n56[][2] = SONG(RICK_ROLL);
|
||||||
|
// float n57[][2] = SONG(FF_PRELUDE);
|
||||||
|
// RGB_MODE_KNIGHT
|
||||||
|
// float n78[][2] = SONG(KATAMARI_ROLLING_STAR);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
// ,-----------------------------. ,-----------------------------.
|
// ,-----------------------------. ,-----------------------------.
|
||||||
// | | | | | |QWER| | | | | | | |
|
// | | | | |GAME|QWER| | | | | | | |
|
||||||
// |----+----+----+----+----+----| |----+----+----+----+----+----|
|
// |----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||||
// |Tab | | | | |CARP| | | | | | |Del |
|
// |Tab | | | | |CRPL| | | | | | |Del |
|
||||||
// |----+----+----+----x----x----| |----x----x----+----+----+----|
|
// |----+----+----+----x----x----| |----x----x----+----+----+----|
|
||||||
// |EscC| | | | | | | | | | | |Ent |
|
// |EscC| | | | | | | | | | | |Ent |
|
||||||
// |----+----+----+----x----x----+----. ,----|----x----x----+----+----+----|
|
// |----+----+----+----x----x----+----. ,----|----x----x----+----+----+----|
|
||||||
|
@ -49,11 +62,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
// |Cmd |LOWR|Bspc| |Spc |RASE|RAlt|
|
// |Cmd |LOWR|Bspc| |Spc |RASE|RAlt|
|
||||||
// `----+---------' `--------------'
|
// `----+---------' `--------------'
|
||||||
[LR_BASE] = LAYOUT_wrapper(
|
[LR_BASE] = LAYOUT_wrapper(
|
||||||
_______, _______, _______, _______, _______, QWERTY , _______, _______, _______, _______, _______, _______,
|
// clang-format off
|
||||||
KC_TAB , _______, _______, _______, _______, CARPALX, _______, _______, _______, _______, _______, KC_DEL ,
|
KC_MUTE, _______, _______, _______, GAME1 , QWERTY , KC_1 , _______, _______, _______, _______, _______,
|
||||||
PV_ESCC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT ,
|
KC_TAB , ___________________________________________, ___________________________________________, KC_DEL ,
|
||||||
KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
|
PV_ESCC, ___________________________________________, ___________________________________________, KC_ENT ,
|
||||||
|
KC_LSFT, ___________________________________________, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
|
||||||
KC_LGUI, SYMBOL , KC_BSPC, KC_SPC , SYSCTL , KC_RALT
|
KC_LGUI, SYMBOL , KC_BSPC, KC_SPC , SYSCTL , KC_RALT
|
||||||
|
// clang-format on
|
||||||
),
|
),
|
||||||
|
|
||||||
// ,-----------------------------. ,-----------------------------.
|
// ,-----------------------------. ,-----------------------------.
|
||||||
|
@ -68,11 +83,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
// | | | | | | | |
|
// | | | | | | | |
|
||||||
// `----+---------' `--------------'
|
// `----+---------' `--------------'
|
||||||
[LR_QWERTY] = LAYOUT_wrapper(
|
[LR_QWERTY] = LAYOUT_wrapper(
|
||||||
|
// clang-format off
|
||||||
_______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
|
_______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
|
||||||
_______, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _______,
|
_______, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _______,
|
||||||
_______, _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, _______,
|
_______, _____________MOD_QWERTY_L2_________________, _________________QWERTY_R2_________________, _______,
|
||||||
_______, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, _______,
|
_______, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, _______,
|
||||||
_______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______
|
||||||
|
// clang-format on
|
||||||
),
|
),
|
||||||
|
|
||||||
// ,-----------------------------. ,-----------------------------.
|
// ,-----------------------------. ,-----------------------------.
|
||||||
|
@ -87,34 +104,94 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
// | | | | | | | |
|
// | | | | | | | |
|
||||||
// `----+---------' `--------------'
|
// `----+---------' `--------------'
|
||||||
[LR_CARPALX] = LAYOUT_wrapper(
|
[LR_CARPALX] = LAYOUT_wrapper(
|
||||||
|
// clang-format off
|
||||||
_______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
|
_______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
|
||||||
_______, ________________CARPALX_L1_________________, ________________CARPALX_R1_________________, _______,
|
_______, ________________CARPALX_L1_________________, ________________CARPALX_R1_________________, _______,
|
||||||
_______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
|
_______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
|
||||||
_______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______,
|
_______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______,
|
||||||
_______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______
|
||||||
|
// clang-format on
|
||||||
),
|
),
|
||||||
|
|
||||||
[LR_SYMBOL] = LAYOUT_wrapper(
|
[LR_SYMBOL] = LAYOUT_wrapper(
|
||||||
|
// clang-format off
|
||||||
KC_F12 , ______________________F_L__________________, ______________________F_R__________________, KC_F11 ,
|
KC_F12 , ______________________F_L__________________, ______________________F_R__________________, KC_F11 ,
|
||||||
_______, _________________SYMBOL_L1_________________, _________________SYMBOL_R1_________________, _______,
|
_______, _________________SYMBOL_L1_________________, _________________SYMBOL_R1_________________, _______,
|
||||||
_______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______,
|
_______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______,
|
||||||
_______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______,
|
_______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______,
|
||||||
_______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______
|
||||||
|
// clang-format on
|
||||||
),
|
),
|
||||||
|
|
||||||
[LR_SYSCTL] = LAYOUT_wrapper(
|
[LR_SYSCTL] = LAYOUT_wrapper(
|
||||||
|
// clang-format off
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _________________SYSCTL_R1_________________, _______,
|
_______, _________________SYSCTL_L1_________________, _________________SYSCTL_R1_________________, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _________________SYSCTL_R2_________________, _______,
|
_______, _________________SYSCTL_L2_________________, _________________SYSCTL_R2_________________, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R3_________________, _______,
|
_______, _________________SYSCTL_L3_________________, _______, _______, _________________SYSCTL_R3_________________, _______,
|
||||||
_______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______
|
||||||
|
// clang-format on
|
||||||
),
|
),
|
||||||
|
|
||||||
[LR_KBCTL] = LAYOUT_wrapper(
|
[LR_KBCTL] = LAYOUT_wrapper(
|
||||||
|
// clang-format off
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
XXXXXXX, __________________KBCTL_L1_________________, __________________KBCTL_R1_________________, XXXXXXX,
|
XXXXXXX, __________________KBCTL_L1_________________, __________________KBCTL_R1_________________, XXXXXXX,
|
||||||
XXXXXXX, __________________KBCTL_L2_________________, __________________KBCTL_R2_________________, XXXXXXX,
|
XXXXXXX, __________________KBCTL_L2_________________, __________________KBCTL_R2_________________, XXXXXXX,
|
||||||
BASE , __________________KBCTL_L3_________________, XXXXXXX, XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX,
|
BASE , __________________KBCTL_L3_________________, XXXXXXX, XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX,
|
||||||
XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX
|
XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX
|
||||||
)
|
// clang-format on
|
||||||
|
),
|
||||||
|
|
||||||
|
// ,-----------------------------. ,-----------------------------.
|
||||||
|
// | | NUMBERS_L | | NUMBERS_R | |
|
||||||
|
// |----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||||
|
// | | | | | |
|
||||||
|
// |----+ | | +----|
|
||||||
|
// |ESC | QWERTY_L | | QWERTY_R | |
|
||||||
|
// |----+ +----. ,----| +----|
|
||||||
|
// | | | | | | | |
|
||||||
|
// `-------------------+----+----+----/ \----+----+----+-------------------'
|
||||||
|
// | |SPC | | | | | |
|
||||||
|
// `----+---------' `--------------'
|
||||||
|
[LR_GAME1] = LAYOUT_wrapper(
|
||||||
|
// clang-format off
|
||||||
|
_______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, KC_BSPC,
|
||||||
|
_______, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, QWERTY ,
|
||||||
|
KC_ESC , _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _______,
|
||||||
|
_______, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, _______,
|
||||||
|
_______, _______, KC_SPC , _______, _______, _______
|
||||||
|
// clang-format on
|
||||||
|
),
|
||||||
|
|
||||||
|
[LR_GAME2] = LAYOUT_wrapper(
|
||||||
|
// clang-format off
|
||||||
|
_______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, KC_BSPC,
|
||||||
|
_______, _________________QWERTY_L1_________________, KC_Y , KC_U , KC_UP , KC_O , KC_P , QWERTY ,
|
||||||
|
KC_ESC , _________________QWERTY_L2_________________, KC_H , KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, _______,
|
||||||
|
_______, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, _______,
|
||||||
|
_______, _______, KC_SPC , _______, _______, _______
|
||||||
|
// clang-format on
|
||||||
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef ENCODER_ENABLE
|
||||||
|
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
|
// if (index == 0) { /* First encoder */
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_VOLU);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_VOLD);
|
||||||
|
}
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
// case PV_S04: if (record->event.pressed) PLAY_SONG(n04); return false; break;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
return true; // Process everything else normally
|
||||||
|
}
|
||||||
|
|
|
@ -1,2 +1,9 @@
|
||||||
AUDIO_ENABLE = no # off for now
|
TAP_DANCE_ENABLE = yes
|
||||||
RGBLIGHT_ENABLE = no # off for now
|
AUDIO_ENABLE = no # piezo speaker sounds
|
||||||
|
RGBLIGHT_ENABLE = yes # rgb leds underlight
|
||||||
|
ENCODER_ENABLE = yes # rotary knob
|
||||||
|
|
||||||
|
# Some extra stuff to make firmware smaller.
|
||||||
|
LINK_TIME_OPTIMIZATION_ENABLE = yes
|
||||||
|
CONSOLE_ENABLE = no
|
||||||
|
COMMAND_ENABLE = no
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
|
||||||
// #define STARTUP_SONG SONG(SONIC_RING)
|
|
||||||
// #define DAC_SAMPLE_MAX 65535U // maybe this works for volume?
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// allow rolling when keys have hold functionality
|
// allow rolling when keys have hold functionality
|
||||||
#define IGNORE_MOD_TAP_INTERRUPT
|
#define IGNORE_MOD_TAP_INTERRUPT
|
||||||
// #define TAPPING_TERM 150
|
// #define TAPPING_TERM 150
|
||||||
|
|
||||||
|
#if defined(MOUSE_KEYS)
|
||||||
|
# define MOUSEKEY_WHEEL_TIME_TO_MAX 1
|
||||||
|
#endif
|
||||||
|
|
|
@ -3,33 +3,25 @@
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
# include "audio.h"
|
# include "audio.h"
|
||||||
#endif // AUDIO_ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
|
||||||
// float tone_katamari_rolling_star[][2] = SONG(KATAMARI_ROLLING_STAR);
|
|
||||||
#endif // AUDIO_ENABLE
|
|
||||||
|
|
||||||
|
float song_sonic_ring[][2] = SONG(SONIC_RING);
|
||||||
|
float song_coin_sound[][2] = SONG(COIN_SOUND);
|
||||||
|
float song_test[][2] = SONG(QWERTY_SOUND);
|
||||||
|
#endif
|
||||||
|
|
||||||
// SYMBOL + SYSCTL = KBCTL
|
// SYMBOL + SYSCTL = KBCTL
|
||||||
uint32_t layer_state_set_user(uint32_t state) {
|
uint32_t layer_state_set_user(uint32_t state) {
|
||||||
uint32_t intermediate_state = update_tri_layer_state(state, LR_SYMBOL, LR_SYSCTL, LR_KBCTL);
|
uint32_t intermediate_state = update_tri_layer_state(state, LR_SYMBOL, LR_SYSCTL, LR_KBCTL);
|
||||||
intermediate_state = layer_state_set_user_local(intermediate_state);
|
intermediate_state = layer_state_set_user_keymap(intermediate_state);
|
||||||
return intermediate_state;
|
return intermediate_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// functions for the individual keymaps to implement if they need something extra
|
// functions for the individual keymaps to implement if they need something extra
|
||||||
__attribute__ ((weak))
|
__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; }
|
||||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// Handle my own keycodes.
|
||||||
// handle my own keycodes
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
|
|
||||||
case PV_VRSN:
|
case PV_VRSN:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
|
SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
|
||||||
|
@ -37,6 +29,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
case PV_MAKE:
|
case PV_MAKE:
|
||||||
|
// make ergodox_ez:pvinis:teensy
|
||||||
if (!record->event.pressed) {
|
if (!record->event.pressed) {
|
||||||
SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP
|
SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP
|
||||||
#if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
|
#if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
|
||||||
|
@ -46,8 +39,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
#elif defined(BOOTLOADER_CATERINA)
|
#elif defined(BOOTLOADER_CATERINA)
|
||||||
":avrdude"
|
":avrdude"
|
||||||
#endif
|
#endif
|
||||||
SS_TAP(X_ENTER)
|
SS_TAP(X_ENTER));
|
||||||
);
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -55,10 +47,26 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
reset_keyboard();
|
reset_keyboard();
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
case PV_KTMR:
|
case PV_SSNC:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
// PLAY_SONG(tone_katamari_rolling_star);
|
PLAY_SONG(song_sonic_ring);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
|
||||||
|
case PV_SCIN:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
PLAY_SONG(song_coin_sound);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
|
||||||
|
case PV_TEST:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
PLAY_SONG(song_test);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -66,24 +74,25 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
return process_record_keymap(keycode, record);
|
return process_record_keymap(keycode, record);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef TAP_DANCE_ENABLE
|
#ifdef TAP_DANCE_ENABLE
|
||||||
qk_tap_dance_action_t tap_dance_actions[] = {
|
qk_tap_dance_action_t tap_dance_actions[] = {};
|
||||||
};
|
#endif
|
||||||
#endif // TAP_DANCE_ENABLE
|
|
||||||
|
|
||||||
|
void keyboard_post_init_rgb_light(void) {
|
||||||
|
rgblight_sethsv(HSV_GOLD);
|
||||||
|
rgblight_mode(RGBLIGHT_MODE_BREATHING);
|
||||||
|
// rgblight_mode(RGBLIGHT_MODE_KNIGHT+1);
|
||||||
|
}
|
||||||
|
|
||||||
// init stuff
|
// Init stuff.
|
||||||
void keyboard_post_init_user(void) {
|
void keyboard_post_init_user(void) {
|
||||||
keyboard_post_init_user_local();
|
#if defined(RGBLIGHT_ENABLE)
|
||||||
|
keyboard_post_init_rgb_light();
|
||||||
|
#endif
|
||||||
|
keyboard_post_init_user_keymap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Default functions.
|
||||||
|
__attribute__((weak)) void keyboard_post_init_user_keymap(void) {}
|
||||||
|
|
||||||
// default functions
|
__attribute__((weak)) uint32_t layer_state_set_user_keymap(uint32_t state) { return state; }
|
||||||
__attribute__ ((weak))
|
|
||||||
void keyboard_post_init_user_local(void) {}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
uint32_t layer_state_set_user_local(uint32_t state) {
|
|
||||||
return state;
|
|
||||||
}
|
|
||||||
|
|
|
@ -2,17 +2,20 @@
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
|
// My own keycodes.
|
||||||
// my own keycodes
|
|
||||||
enum userspace_custom_keycodes {
|
enum userspace_custom_keycodes {
|
||||||
PV_ = SAFE_RANGE,
|
PV_ = SAFE_RANGE,
|
||||||
|
|
||||||
PV_VRSN, // prints firmware version
|
PV_VRSN, // Print firmware version.
|
||||||
PV_MAKE, // prints the make command of the keyboard
|
PV_MAKE, // Print the make command of the keyboard.
|
||||||
PV_FLSH, // resets keyboard
|
PV_FLSH, // Reset keyboard.
|
||||||
PV_KTMR, // play katamari music
|
|
||||||
|
|
||||||
PV_SAFE_RANGE, // used for extra keycodes in the individual keymaps
|
PV_SSNC, // Play Sonic Ring.
|
||||||
|
PV_SCIN, // Play Coin Sound.
|
||||||
|
|
||||||
|
PV_TEST, // For quick testing purposes.
|
||||||
|
|
||||||
|
PV_SAFE_RANGE, // Used for extra keycodes in individual keymaps.
|
||||||
};
|
};
|
||||||
|
|
||||||
enum tap_dance_indexes {
|
enum tap_dance_indexes {
|
||||||
|
@ -20,56 +23,67 @@ enum tap_dance_indexes {
|
||||||
TD_FLSH, // flash keyboard (as if the physical flash key was pressed)
|
TD_FLSH, // flash keyboard (as if the physical flash key was pressed)
|
||||||
};
|
};
|
||||||
|
|
||||||
#define ALLM(kc) LCAG(kc) // easier name for left ctrl-alt-gui
|
#define ALLM(kc) LCAG(kc) // Easier name for left ctrl-alt-gui.
|
||||||
#define PV_ESCC CTL_T(KC_ESC) // esc on tap, ctrl on hold
|
#define PV_ESCC CTL_T(KC_ESC) // esc on tap, ctrl on hold.
|
||||||
#define PV_LOCK LCTL(LSFT(KC_PWR)) // lock computer
|
#define PV_LOCK LCTL(LSFT(KC_PWR)) // Lock computer.
|
||||||
#define TD_3FLS TD(TD_FLSH) // tap dance 3 times for flash
|
#define TD_3FLS TD(TD_FLSH) // Tap dance 3 times for flash.
|
||||||
|
|
||||||
|
// Layers.
|
||||||
// layers
|
|
||||||
enum {
|
enum {
|
||||||
LR_BASE = 0, // used for basic keys like the surrounding ctrl, cmd, etc
|
LR_BASE = 0, // used for basic keys like the surrounding ctrl, cmd, etc
|
||||||
|
|
||||||
LR_QWERTY,
|
LR_QWERTY,
|
||||||
LR_CARPALX,
|
LR_CARPALX,
|
||||||
|
LR_GAME1, // game layout (space on the left thumb, no modifiers, etc)
|
||||||
|
LR_GAME2, // game layout (space on the left thumb, no modifiers, etc, arrows)
|
||||||
|
|
||||||
LR_SYMBOL, // symbol input (!, @, #, etc)
|
LR_SYMBOL, // symbol input (!, @, #, etc)
|
||||||
LR_SYSCTL, // system control (music, volume, keyboard flash, etc)
|
LR_SYSCTL, // system control (music, volume, keyboard flash, etc)
|
||||||
LR_KBCTL, // keyboard control (version, make, flash, etc)
|
LR_KBCTL, // keyboard control (version, make, flash, etc)
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Layer switchers.
|
||||||
// layer switchers
|
|
||||||
#define BASE TO(LR_BASE)
|
#define BASE TO(LR_BASE)
|
||||||
#define QWERTY TO(LR_QWERTY)
|
#define QWERTY TO(LR_QWERTY)
|
||||||
#define CARPALX TO(LR_CARPALX)
|
#define CARPALX TO(LR_CARPALX)
|
||||||
|
#define GAME1 TO(LR_GAME1)
|
||||||
|
#define GAME2 TO(LR_GAME2)
|
||||||
|
|
||||||
#define SYMBOL MO(LR_SYMBOL)
|
#define SYMBOL MO(LR_SYMBOL)
|
||||||
#define SYSCTL MO(LR_SYSCTL)
|
#define SYSCTL MO(LR_SYSCTL)
|
||||||
#define KBCTL MO(LR_KBCTL)
|
#define KBCTL MO(LR_KBCTL)
|
||||||
|
|
||||||
|
// Layout parts for easy reuse between keyboard keymaps.
|
||||||
|
|
||||||
// layout parts for easy reuse between keyboard keymaps
|
// Transparent.
|
||||||
|
// ┌─────┬─────┬─────┬─────┬─────┐
|
||||||
|
// │ │ │ │ │ │
|
||||||
|
// └─────┴─────┴─────┴─────┴─────┘
|
||||||
|
#define ___________________________________________ _______, _______, _______, _______, _______
|
||||||
|
|
||||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
// Numbers.
|
||||||
// | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
|
// ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐
|
||||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
// │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │
|
||||||
|
// └─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┘
|
||||||
#define ________________NUMBERS_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5
|
#define ________________NUMBERS_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5
|
||||||
#define ________________NUMBERS_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0
|
#define ________________NUMBERS_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0
|
||||||
|
|
||||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
// F keys.
|
||||||
// | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
|
// ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐
|
||||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
// │ F1 │ F2 │ F3 │ F4 │ F5 │ │ F6 │ F7 │ F8 │ F9 │ F10 │
|
||||||
|
// └─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┘
|
||||||
#define ______________________F_L__________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
|
#define ______________________F_L__________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
|
||||||
#define ______________________F_R__________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
|
#define ______________________F_R__________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
|
||||||
|
|
||||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
// QWERTY.
|
||||||
// | Q | W | E | R | T | | Y | U | I | O | P |
|
// ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐
|
||||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
// │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │
|
||||||
// | A | S | D | F | G | | H | J | K | L | ; |
|
// ├─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┤
|
||||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
// │ A │ S │ D ┃ F ┃ G │ │ H ┃ J ┃ K │ L │ ; │
|
||||||
// | Z | X | C | V | B | | N | M | , | . | / |
|
// ├─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┤
|
||||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
// │ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │
|
||||||
|
// └─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┘
|
||||||
#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
|
#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
|
||||||
#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
|
#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
|
||||||
#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
|
#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||||
|
@ -78,7 +92,12 @@ enum {
|
||||||
#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
|
#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
|
||||||
#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||||
|
|
||||||
#define _____________MOD_QWERTY_L2_________________ CTL_T(KC_A), SFT_T(KC_S), GUI_T(KC_D), ALT_T(KC_F), KC_G
|
// QWERTY with mods.
|
||||||
|
// ┌───────┬───────┬───────┲━━━━━━━┱───────┐ ┌───────┲━━━━━━━┱───────┬───────┬───────┐
|
||||||
|
// │ ctl/A │ sft/S │ cmd/D ┃ opt/F ┃ G │ │ H ┃ opt/J ┃ cmd/K │ sft/L │ ctl/; │
|
||||||
|
// └───────┴───────┴───────┺━━━━━━━┹───────┘ └───────┺━━━━━━━┹───────┴───────┴───────┘
|
||||||
|
// #define _____________MOD_QWERTY_L2_________________ CTL_T(KC_A), SFT_T(KC_S), GUI_T(KC_D), ALT_T(KC_F), KC_G
|
||||||
|
#define _____________MOD_QWERTY_L2_________________ KC_A, KC_S, KC_D, ALT_T(KC_F), KC_G
|
||||||
#define _____________MOD_QWERTY_R2_________________ KC_H, ALT_T(KC_J), GUI_T(KC_K), SFT_T(KC_L), CTL_T(KC_SCLN)
|
#define _____________MOD_QWERTY_R2_________________ KC_H, ALT_T(KC_J), GUI_T(KC_K), SFT_T(KC_L), CTL_T(KC_SCLN)
|
||||||
|
|
||||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||||
|
@ -111,16 +130,18 @@ enum {
|
||||||
#define _________________SYMBOL_R2_________________ KC_EQL, KC_AMPR, KC_QUOT, KC_DQUO, KC_PIPE
|
#define _________________SYMBOL_R2_________________ KC_EQL, KC_AMPR, KC_QUOT, KC_DQUO, KC_PIPE
|
||||||
#define _________________SYMBOL_R3_________________ KC_ASTR, KC_TILD, KC_LABK, KC_RABK, KC_SLSH
|
#define _________________SYMBOL_R3_________________ KC_ASTR, KC_TILD, KC_LABK, KC_RABK, KC_SLSH
|
||||||
|
|
||||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
// System Control.
|
||||||
// | | | | | | |MUTE |HOME | ^ | END | |
|
// vol ↓ ctl ↓
|
||||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
// ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐
|
||||||
// | | | | | | |VOLUP| < | v | > | |
|
// │ │ │ │ │ │ │MUTE │HOME │ ↑ │ END │LOCK │
|
||||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
// ├─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┤
|
||||||
// | | | | | | |VOLDN|MPREV|MPLAY|MNEXT| |
|
// │ │ │ ┃ ┃ │ │VOLUP┃ ← ┃ ↓ │ → │SLEEP│ ← arrows
|
||||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
// ├─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┤
|
||||||
#define _________________SYSCTL_L1_________________
|
// │ │ │ │ │ │ │VOLDN│MPREV│MPLAY│MNEXT│ PWR │ ← music
|
||||||
#define _________________SYSCTL_L2_________________
|
// └─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┘
|
||||||
#define _________________SYSCTL_L3_________________
|
#define _________________SYSCTL_L1_________________ XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_BTN1, XXXXXXX
|
||||||
|
#define _________________SYSCTL_L2_________________ XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_RIGHT, KC_MS_WH_UP
|
||||||
|
#define _________________SYSCTL_L3_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_WH_DOWN
|
||||||
|
|
||||||
// vol v ctl v
|
// vol v ctl v
|
||||||
#define _________________SYSCTL_R1_________________ KC_MUTE, KC_HOME, KC_UP, KC_END, PV_LOCK
|
#define _________________SYSCTL_R1_________________ KC_MUTE, KC_HOME, KC_UP, KC_END, PV_LOCK
|
||||||
|
@ -128,25 +149,24 @@ enum {
|
||||||
#define _________________SYSCTL_R3_________________ KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT /* < music */, KC_PWR
|
#define _________________SYSCTL_R3_________________ KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT /* < music */, KC_PWR
|
||||||
|
|
||||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||||
// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|
|
// |GAME |CRPLX|XXXXX|XXXXX|XXXXX| |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|
|
||||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
||||||
// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|VERSN|MAKE |FLASH|XXXXX|
|
// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|VERSN|MAKE |FLASH|XXXXX|
|
||||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
||||||
// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|
|
// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|
|
||||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||||
#define __________________KBCTL_L1_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
#define __________________KBCTL_L1_________________ PV_SSNC, PV_SCIN, PV_TEST, XXXXXXX, XXXXXXX
|
||||||
#define __________________KBCTL_L2_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
#define __________________KBCTL_L2_________________ RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
#define __________________KBCTL_L3_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
#define __________________KBCTL_L3_________________ RGB_MOD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
|
||||||
#define __________________KBCTL_R1_________________ XXXXXXX, XXXXXXX, XXXXXXX, PV_KTMR, XXXXXXX
|
#define __________________KBCTL_R1_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
#define __________________KBCTL_R2_________________ XXXXXXX, PV_VRSN, PV_MAKE, PV_FLSH, XXXXXXX
|
#define __________________KBCTL_R2_________________ XXXXXXX, PV_VRSN, PV_MAKE, PV_FLSH, XXXXXXX
|
||||||
#define __________________KBCTL_R3_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
#define __________________KBCTL_R3_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
|
||||||
// we need wrappers in order for these definitions, because they need to be expanded before being used as arguments to the LAYOUT_xxx macro
|
// We need wrappers in order for these definitions, because they need to be expanded before being used as arguments to the LAYOUT_xxx macro.
|
||||||
#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
|
#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
|
||||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||||
|
|
||||||
|
// Extra stuff that might be needed.
|
||||||
// extra stuff that might be needed
|
void keyboard_post_init_user_keymap(void);
|
||||||
void keyboard_post_init_user_local(void);
|
uint32_t layer_state_set_user_keymap(uint32_t state);
|
||||||
uint32_t layer_state_set_user_local(uint32_t state);
|
|
||||||
|
|
|
@ -1,15 +1,19 @@
|
||||||
# add userspace file
|
SRC += pvinis.c # add userspace file
|
||||||
SRC += pvinis.c
|
|
||||||
|
|
||||||
AUDIO_ENABLE = no # piezo speaker sounds
|
|
||||||
RGBLIGHT_ENABLE = no # rgb leds underlight
|
|
||||||
TAP_DANCE_ENABLE = yes
|
|
||||||
BACKLIGHT_ENABLE = no # leds under keycaps
|
|
||||||
#MOUSEKEY_ENABLE = no
|
|
||||||
#SLEEP_LED_ENABLE = no # no led blinking while sleeping
|
|
||||||
#NKRO_ENABLE = yes
|
|
||||||
|
|
||||||
# make firmware smaller
|
## Use the stuff below on the keyboard keymaps, not here.
|
||||||
LINK_TIME_OPTIMIZATION_ENABLE = yes
|
## If they are used here, they will replace the keymap's rules, since this file is eval'd later.
|
||||||
CONSOLE_ENABLE = no
|
|
||||||
COMMAND_ENABLE = no
|
# TAP_DANCE_ENABLE = yes
|
||||||
|
# AUDIO_ENABLE = yes # piezo speaker sounds
|
||||||
|
# RGBLIGHT_ENABLE = yes # rgb leds underlight
|
||||||
|
# BACKLIGHT_ENABLE = no # leds under keycaps
|
||||||
|
# MOUSEKEY_ENABLE = yes
|
||||||
|
# LEEP_LED_ENABLE = no # no led blinking while sleeping
|
||||||
|
# KRO_ENABLE = yes
|
||||||
|
|
||||||
|
## Some extra stuff to make firmware smaller.
|
||||||
|
|
||||||
|
# LINK_TIME_OPTIMIZATION_ENABLE = yes
|
||||||
|
# CONSOLE_ENABLE = no
|
||||||
|
# COMMAND_ENABLE = no
|
||||||
|
|
Loading…
Reference in a new issue