1
0
Fork 0

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:
Pavlos Vinieratos 2020-04-13 20:59:04 +02:00 committed by GitHub
parent 6fb048fdaf
commit f6b40da7f8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 620 additions and 481 deletions

View file

@ -1,38 +1,36 @@
// pvinis ergodox ez
// ,------------------------------------. ,------------------------------------.
// | | | | | | | | | | | | | | | |
// |------+----+----+----+----+---------| |----+----+----+----+----+----+------|
// | | | | | | | | | | | | | | | |
// |------+----+----+----x----x----| | | |----x----x----+----+----+------|
// | | | | | | |----| |----| | | | | | |
// |------+----+----+----x----x----| | | |----x----x----+----+----+------|
// | | | | | | | | | | | | | | | |
// `------+----+----+----+----+---------' `---------+----+----+----+----+------'
// | | | | | | | | | | | |
// `------------------------' `------------------------'
// ,---------. ,---------.
// | | | | | |
// ,----+----+----| |----+----+----.
// | | | | | | | |
// | | |----| |----| | |
// | | | | | | | |
// `--------------' `--------------'
// ,------------------------------------. ┌────┬────┬────┬────┬────┬────┬──────┐
// | | | | | | | | │ │ │ │ │ │ │ │
// |------+----+----+----+----+---------| ├────┼────┼────┼────┼────┼────┼──────┤
// | | | | | | | | │ │ │ │ │ │ │ │
// |------+----+----+----x----x----| | │ ├────╆━━━━╅────┼────┼────┼──────┤
// | | | | | | |----| ├────┤ ┃ ┃ │ │ │ │
// |------+----+----+----x----x----| | │ ├────╄━━━━╃────┼────┼────┼──────┤
// | | | | | | | | │ │ │ │ │ │ │ │
// `------+----+----+----+----+---------' └────┴────┼────┼────┼────┼────┼────┬─┘
// | | | | | | │ │ │ │ │ │
// `------------------------' └────┴────┴────┴────┴────┘
// ,---------. ┌────┬────┐
// | | | │ │ │
// ,----+----+----| ├────┼────┼────┐
// | | | | │ │ │ │
// | | |----| ├────┤ │ │
// | | | | │ │ │ │
// `--------------' └────┴────┴────┘
#include QMK_KEYBOARD_H
#include "pvinis.h"
#include "mousekey.h"
// layers
enum {
MOUSE = 8,
MOUSE = 8,
};
// extra keys
enum {
NONE = 30,
TD_LAYR, // SYSCTL and MOUSE layer switch
NONE = 30,
TD_LAYR, // SYSCTL and MOUSE layer switch
};
// application selection
@ -41,158 +39,170 @@ enum {
#define AP_XCOD ALLM(KC_X)
#define AP_MSGR ALLM(KC_M)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ,------------------------------------. ,------------------------------------.
// |4xFLSH| | | | | |Opt | | | | | | | | |
// |------+----+----+----+----+---------| |----+----+----+----+----+----+------|
// | Tab | | | | | | | | | | | | | | |
// |------+----+----+----x----x----| | | |----x----x----+----+----+------|
// |EscCtl| | | | | |----| |----| | | | | | Ent |
// |------+----+----+----x----x----| | | |----x----x----+----+----+------|
// |LShift| | | | | | | | | | | | | |RShift|
// `------+----+----+----+----+---------' `---------+----+----+----+----+------'
// | | | | |Cmd | | | | | | |
// `------------------------' `------------------------'
// ,---------. ,---------.
// |QWER| | | | |
// ,----+----+----| |----+----+----.
// | Ba | L | | | | | |
// | ck |Shi |----| |----| |Spc |
// | spc| ft | | | | | |
// `--------------' `--------------'
[LR_BASE] = LAYOUT_ergodox_pretty_wrapper(
TD_3FLS, _______, _______, _______, _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______,
KC_TAB , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
PV_ESCC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT ,
KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
_______, _______, _______, KC_LGUI, SYMBOL , SYSCTL , KC_RALT, _______, _______, _______,
QWERTY , CARPALX, _______, _______,
_______, _______,
KC_BSPC, _______, _______, _______, _______, KC_SPC
// ,------------------------------------. ,------------------------------------.
// |4xFLSH| | | | | |Opt | | | | | | | | |
// |------+----+----+----+----+---------| |----+----+----+----+----+----+------|
// | Tab | | | | | | | | | | | | | | |
// |------+----+----+----x----x----| | | |----x----x----+----+----+------|
// |EscCtl| | | | | |----| |----| | | | | | Ent |
// |------+----+----+----x----x----| | | |----x----x----+----+----+------|
// |LShift| | | | | | | | | | | | | |RShift|
// `------+----+----+----+----+---------' `---------+----+----+----+----+------'
// | | | |Cmd |LOWR| |RASE|RAlt| | | |
// `------------------------' `------------------------'
// ,---------. ,---------.
// |QWER| | | | |
// ,----+----+----| |----+----+----.
// | Ba | L | | | | | |
// | ck |Shi |----| |----| |Spc |
// | spc| ft | | | | | |
// `--------------' `--------------'
[LR_BASE] = LAYOUT_ergodox_pretty_wrapper(
// clang-format off
TD_3FLS, _______, _______, _______, _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______,
KC_TAB , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
PV_ESCC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT ,
KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
_______, _______, _______, KC_LGUI, SYMBOL , SYSCTL , KC_RALT, _______, _______, _______,
QWERTY , CARPALX, _______, _______,
_______, _______,
KC_BSPC, _______, _______, _______, _______, KC_SPC
// clang-format on
),
// ,------------------------------------. ,------------------------------------.
// | | NUMBERS_L | | | - | NUMBERS_R | = |
// |------+----+----+----+----+---------| |----+----+----+----+----+----+------|
// | | | [ | | ] | | |
// |------+ | | | | +------|
// | | QWERTY_L |----| |----| QWERTY_R | |
// |------+ | ( | | ) | +------|
// | | | | | | | |
// `------+----+----+----+----+---------' `---------+----+----+----+----+------'
// | | ` | | | | | | | | ' | |
// `------------------------' `------------------------'
// ,---------. ,---------.
// | | | | | |
// ,----+----+----| |----+----+----.
// | | | | | | | |
// | | |----| |----| | |
// | | | | | | | |
// `--------------' `--------------'
// See `users/pvinis/pvinis.h`
[LR_QWERTY] = LAYOUT_ergodox_pretty_wrapper(
// clang-format off
_______, ________________NUMBERS_L__________________, _______, KC_MINS, ________________NUMBERS_R__________________, KC_EQL ,
_______, _________________QWERTY_L1_________________, KC_LBRC, KC_RBRC, _________________QWERTY_R1_________________, _______,
_______, _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, _______,
_______, _________________QWERTY_L3_________________, KC_LPRN, KC_RPRN, _________________QWERTY_R3_________________, _______,
_______, KC_GRV, _______, _______, _______, _______, _______, _______, KC_QUOT , _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
// clang-format off
),
// ,------------------------------------. ,------------------------------------.
// | | NUMBERS_L | | | - | NUMBERS_R | = |
// |------+----+----+----+----+---------| |----+----+----+----+----+----+------|
// | | | [ | | ] | | |
// |------+ | | | | +------|
// | | QWERTY_L |----| |----| QWERTY_R | |
// |------+ | ( | | ) | +------|
// | | | | | | | |
// `------+----+----+----+----+---------' `---------+----+----+----+----+------'
// | | ` | | | | | | | | ' | |
// `------------------------' `------------------------'
// ,---------. ,---------.
// | | | | | |
// ,----+----+----| |----+----+----.
// | | | | | | | |
// | | |----| |----| | |
// | | | | | | | |
// `--------------' `--------------'
// See `users/pvinis/pvinis.h`
[LR_QWERTY] = LAYOUT_ergodox_pretty_wrapper(
_______, ________________NUMBERS_L__________________, _______, KC_MINS, ________________NUMBERS_R__________________, KC_EQL ,
_______, _________________QWERTY_L1_________________, KC_LBRC, KC_RBRC, _________________QWERTY_R1_________________, _______,
_______, _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, _______,
_______, _________________QWERTY_L3_________________, KC_LPRN, KC_RPRN, _________________QWERTY_R3_________________, _______,
_______, KC_GRV, _______, _______, _______, _______, _______, _______, KC_QUOT , _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
),
// ,------------------------------------. ,------------------------------------.
// | | NUMBERS_L | | | | NUMBERS_R | |
// |------+----+----+----+----+---------| |----+----+----+----+----+----+------|
// | | | | | | | |
// |------+ | | | | +------|
// | | CARPALX_L |----| |----| CARPALX_R | |
// |------+ | | | | +------|
// | | | | | | | |
// `------+----+----+----+----+---------' `---------+----+----+----+----+------'
// | | | | | | | | | | | |
// `------------------------' `------------------------'
// ,---------. ,---------.
// | | | | | |
// ,----+----+----| |----+----+----.
// | | | | | | | |
// | | |----| |----| | |
// | | | | | | | |
// `--------------' `--------------'
// See `users/pvinis/pvinis.h`
// ,------------------------------------. ,------------------------------------.
// | | NUMBERS_L | | | | NUMBERS_R | |
// |------+----+----+----+----+---------| |----+----+----+----+----+----+------|
// | | | | | | | |
// |------+ | | | | +------|
// | | CARPALX_L |----| |----| CARPALX_R | |
// |------+ | | | | +------|
// | | | | | | | |
// `------+----+----+----+----+---------' `---------+----+----+----+----+------'
// | | | | | | | | | | | |
// `------------------------' `------------------------'
// ,---------. ,---------.
// | | | | | |
// ,----+----+----| |----+----+----.
// | | | | | | | |
// | | |----| |----| | |
// | | | | | | | |
// `--------------' `--------------'
// See `users/pvinis/pvinis.h`
[LR_CARPALX] = LAYOUT_ergodox_pretty_wrapper(
_______, ________________NUMBERS_L__________________, _______, _______, ________________NUMBERS_R__________________, _______,
_______, ________________CARPALX_L1_________________, _______, _______, ________________CARPALX_R1_________________, _______,
_______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
_______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
// clang-format off
_______, ________________NUMBERS_L__________________, _______, _______, ________________NUMBERS_R__________________, _______,
_______, ________________CARPALX_L1_________________, _______, _______, ________________CARPALX_R1_________________, _______,
_______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
_______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
// clang-format on
),
// See `users/pvinis/pvinis.h`
[LR_SYMBOL] = LAYOUT_ergodox_pretty_wrapper(
// clang-format off
_______, ______________________F_L__________________, KC_F11 , KC_F12 , ______________________F_R__________________, _______,
_______, _________________SYMBOL_L1_________________, _______, _______, _________________SYMBOL_R1_________________, _______,
_______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______,
_______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
// clang-format off
),
// See `users/pvinis/pvinis.h`
[LR_SYMBOL] = LAYOUT_ergodox_pretty_wrapper(
_______, ______________________F_L__________________, KC_F11 , KC_F12 , ______________________F_R__________________, _______,
_______, _________________SYMBOL_L1_________________, _______, _______, _________________SYMBOL_R1_________________, _______,
_______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______,
_______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
),
// See `users/pvinis/pvinis.h`
// See `users/pvinis/pvinis.h`
[LR_SYSCTL] = LAYOUT_ergodox_pretty_wrapper(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R1_________________, _______,
_______, _______, _______, _______, _______, _______, _________________SYSCTL_R2_________________, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R3_________________, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// clang-format off
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R1_________________, _______,
_______, _______, _______, _______, _______, _______, _________________SYSCTL_R2_________________, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R3_________________, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
),
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
// clang-format on
),
// See `users/pvinis/pvinis.h`
[LR_KBCTL] = LAYOUT_ergodox_pretty_wrapper(
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, __________________KBCTL_R2_________________, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// See `users/pvinis/pvinis.h`
[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, __________________KBCTL_R1_________________, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R2_________________, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R3_________________, 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
// clang-format on
),
/* MOUSE
* a keymap to control my system.
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | ^ | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | | | | | | | | | | MsUp | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | |------| |------| |MsLeft| MsDn |MsRght| | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | | | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | |MidClk|
* ,------|------|------| |------+------+------.
* | | | | | |Left |Right |
* | | |------| |------| Click| Click|
* | | | ^ | | | | |
* `--------------------' `--------------------'
*/
[MOUSE] = LAYOUT_ergodox_pretty(
/* MOUSE
* a keymap to control my system.
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | ^ | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | | | | | | | | | | MsUp | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | |------| |------| |MsLeft| MsDn |MsRght| | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | | | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | |MidClk|
* ,------|------|------| |------+------+------.
* | | | | | |Left |Right |
* | | |------| |------| Click| Click|
* | | | ^ | | | | |
* `--------------------' `--------------------'
*/
[MOUSE] = LAYOUT_ergodox_pretty(
// clang-format off
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
@ -212,53 +222,54 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
,KC_NO ,KC_NO
,KC_NO
,KC_NO ,KC_NO ,KC_NO
),
// clang-format on
),
};
// keyboard initialization
void keyboard_post_init_user_local(void) {
ergodox_led_all_on();
for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) {
ergodox_led_all_set(i);
wait_ms(5);
}
wait_ms(1000);
for (int i = LED_BRIGHTNESS_LO; i > 0; i--) {
ergodox_led_all_set(i);
wait_ms(10);
}
ergodox_led_all_off();
void keyboard_post_init_user_keymap(void) {
ergodox_led_all_on();
for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) {
ergodox_led_all_set(i);
wait_ms(5);
}
wait_ms(1000);
for (int i = LED_BRIGHTNESS_LO; i > 0; i--) {
ergodox_led_all_set(i);
wait_ms(10);
}
ergodox_led_all_off();
// restore default brightness for future use
ergodox_led_all_set(LED_BRIGHTNESS_HI);
// restore default brightness for future use
ergodox_led_all_set(LED_BRIGHTNESS_HI);
}
// light up leds based on the layer
uint32_t layer_state_set_user_local(uint32_t state) {
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
switch (biton32(state)) {
case LR_SYSCTL:
ergodox_right_led_3_on(); // blue
break;
case LR_KBCTL:
ergodox_right_led_1_on(); // red
break;
case LR_SYMBOL:
ergodox_right_led_2_on(); // green
break;
default: break;
}
return state;
uint32_t layer_state_set_user_keymap(uint32_t state) {
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
switch (biton32(state)) {
case LR_SYSCTL:
ergodox_right_led_3_on(); // blue
break;
case LR_KBCTL:
ergodox_right_led_1_on(); // red
break;
case LR_SYMBOL:
ergodox_right_led_2_on(); // green
break;
default:
break;
}
return state;
}
// extra keys
// const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
// switch (id) {
// }
// return MACRO_NONE;
// switch (id) {
// }
// return MACRO_NONE;
// }
// tap dances
@ -325,6 +336,6 @@ uint32_t layer_state_set_user_local(uint32_t state) {
// }
// qk_tap_dance_action_t tap_dance_actions[] = {
// [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ),
// [TD_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, layers_dance_finished, NULL ),
// [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ),
// [TD_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, layers_dance_finished, NULL ),
// };

View file

@ -1,24 +1,36 @@
#pragma once
#ifdef PRODUCT
#undef PRODUCT
#define PRODUCT Iris Keyboard - pvinis
# undef PRODUCT
# define PRODUCT Iris Keyboard - pvinis
#endif
// Use I2C or Serial, not both
// Use I2C or Serial, not both.
#define USE_SERIAL
// #define USE_I2C
// Select hand configuration
#define MASTER_LEFT
// #define MASTER_RIGHT
// Select hand configuration.
// #define MASTER_LEFT
#define MASTER_RIGHT
// #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
#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

View file

@ -1,16 +1,16 @@
// pvinis iris
// ,-----------------------------. ,-----------------------------.
// | | | | | | | | | | | | | |
// |----+----+----+----+----+----| |----+----+----+----+----+----|
// | | | | | | | | | | | | | |
// |----+----+----+----x----x----| |----x----x----+----+----+----|
// | | | | | | | | | | | | | |
// |----+----+----+----x----x----+----. ,----|----x----x----+----+----+----|
// | | | | | | | | | | | | | | | |
// `-------------------+----+----+----/ \----+----+----+-------------------'
// | | | | | | | |
// `----+---------' `--------------'
// make keebio/iris/rev2:pvinis:avrdude
// ,-----------------------------. ┌────┬────┬────┬────┬────┬────┐
// | | | | | | | │ │ │ │ │ │ │
// |----+----+----+----+----+----| ├────┼────┼────┼────┼────┼────┤
// | | | | | | | │ │ │ │ │ │ │
// |----+----+----+----x----x----| ├────╆━━━━╅────┼────┼────┼────┤
// | | | | | | | │ ┃ ┃ │ │ │ │
// |----+----+----+----x----x----+----. ┌────┼────╄━━━━╃────┼────┼────┼────┤
// | | | | | | | | │ │ │ │ │ │ │ │
// `-------------------+----+----+----/ └┬───┴┬───┴┬───┴┬───┴────┴────┴────┘
// | | | | │ │ │ │
// `----+---------' └────┴────┴────┘
#include QMK_KEYBOARD_H
#include "pvinis.h"
@ -19,102 +19,179 @@
//#include "eeconfig.h"
#ifdef AUDIO_ENABLE
#include "audio.h"
# include "audio.h"
#endif
#ifdef AUDIO_ENABLE
// #define STARTUP_SONG SONG(SONIC_RING)
// #define STARTUP_SONG SONG(SONIC_RING)
#endif
#ifdef AUDIO_ENABLE
float tone_sonic[][2] = SONG(IN_LIKE_FLINT);
float tone_1[][2] = SONG(QWERTY_SOUND);
float tone_2[][2] = SONG(OLD_SPICE);
float tone_3[][2] = SONG(OVERWATCH_THEME);
float tone_4[][2] = SONG(QWERTY_SOUND);
// float n04[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE);
// float n10[][2] = SONG(STARTUP_SOUND);
// float n11[][2] = SONG(GOODBYE_SOUND);
// float n12[][2] = SONG(PLANCK_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
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ,-----------------------------. ,-----------------------------.
// | | | | | |QWER| | | | | | | |
// |----+----+----+----+----+----| |----+----+----+----+----+----|
// |Tab | | | | |CARP| | | | | | |Del |
// |----+----+----+----x----x----| |----x----x----+----+----+----|
// |EscC| | | | | | | | | | | |Ent |
// |----+----+----+----x----x----+----. ,----|----x----x----+----+----+----|
// |LSft| | | | | |Home| |End | | | | | |Rsft|
// `-------------------+----+----+----/ \----+----+----+-------------------'
// |Cmd |LOWR|Bspc| |Spc |RASE|RAlt|
// `----+---------' `--------------'
[LR_BASE] = LAYOUT_wrapper(
_______, _______, _______, _______, _______, QWERTY , _______, _______, _______, _______, _______, _______,
KC_TAB , _______, _______, _______, _______, CARPALX, _______, _______, _______, _______, _______, KC_DEL ,
PV_ESCC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT ,
KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
KC_LGUI, SYMBOL , KC_BSPC, KC_SPC , SYSCTL , KC_RALT
),
// ,-----------------------------. ,-----------------------------.
// | | | | |GAME|QWER| | | | | | | |
// |----+----+----+----+----+----| |----+----+----+----+----+----|
// |Tab | | | | |CRPL| | | | | | |Del |
// |----+----+----+----x----x----| |----x----x----+----+----+----|
// |EscC| | | | | | | | | | | |Ent |
// |----+----+----+----x----x----+----. ,----|----x----x----+----+----+----|
// |LSft| | | | | |Home| |End | | | | | |Rsft|
// `-------------------+----+----+----/ \----+----+----+-------------------'
// |Cmd |LOWR|Bspc| |Spc |RASE|RAlt|
// `----+---------' `--------------'
[LR_BASE] = LAYOUT_wrapper(
// clang-format off
KC_MUTE, _______, _______, _______, GAME1 , QWERTY , KC_1 , _______, _______, _______, _______, _______,
KC_TAB , ___________________________________________, ___________________________________________, KC_DEL ,
PV_ESCC, ___________________________________________, ___________________________________________, KC_ENT ,
KC_LSFT, ___________________________________________, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
KC_LGUI, SYMBOL , KC_BSPC, KC_SPC , SYSCTL , KC_RALT
// clang-format on
),
// ,-----------------------------. ,-----------------------------.
// | | NUMBERS_L | | NUMBERS_R | |
// |----+----+----+----+----+----| |----+----+----+----+----+----|
// | | | | | |
// |----+ | | +----|
// | | QWERTY_L | | QWERTY_R | |
// |----+ +----. ,----| +----|
// | | | | | | | |
// `-------------------+----+----+----/ \----+----+----+-------------------'
// | | | | | | | |
// `----+---------' `--------------'
[LR_QWERTY] = LAYOUT_wrapper(
_______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
_______, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _______,
_______, _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, _______,
_______, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, _______,
_______, _______, _______, _______, _______, _______
),
// ,-----------------------------. ,-----------------------------.
// | | NUMBERS_L | | NUMBERS_R | |
// |----+----+----+----+----+----| |----+----+----+----+----+----|
// | | | | | |
// |----+ | | +----|
// | | QWERTY_L | | QWERTY_R | |
// |----+ +----. ,----| +----|
// | | | | | | | |
// `-------------------+----+----+----/ \----+----+----+-------------------'
// | | | | | | | |
// `----+---------' `--------------'
[LR_QWERTY] = LAYOUT_wrapper(
// clang-format off
_______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
_______, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _______,
_______, _____________MOD_QWERTY_L2_________________, _________________QWERTY_R2_________________, _______,
_______, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, _______,
_______, _______, _______, _______, _______, _______
// clang-format on
),
// ,-----------------------------. ,-----------------------------.
// | | NUMBERS_L | | NUMBERS_R | |
// |----+----+----+----+----+----| |----+----+----+----+----+----|
// | | | | | |
// |----+ | | +----|
// | | CARPALX_L | | CARPALX_R | |
// |----+ +----. ,----| +----|
// | | | | | | | |
// `-------------------+----+----+----/ \----+----+----+-------------------'
// | | | | | | | |
// `----+---------' `--------------'
[LR_CARPALX] = LAYOUT_wrapper(
_______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
_______, ________________CARPALX_L1_________________, ________________CARPALX_R1_________________, _______,
_______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
_______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______,
_______, _______, _______, _______, _______, _______
),
// ,-----------------------------. ,-----------------------------.
// | | NUMBERS_L | | NUMBERS_R | |
// |----+----+----+----+----+----| |----+----+----+----+----+----|
// | | | | | |
// |----+ | | +----|
// | | CARPALX_L | | CARPALX_R | |
// |----+ +----. ,----| +----|
// | | | | | | | |
// `-------------------+----+----+----/ \----+----+----+-------------------'
// | | | | | | | |
// `----+---------' `--------------'
[LR_CARPALX] = LAYOUT_wrapper(
// clang-format off
_______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
_______, ________________CARPALX_L1_________________, ________________CARPALX_R1_________________, _______,
_______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
_______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______,
_______, _______, _______, _______, _______, _______
// clang-format on
),
[LR_SYMBOL] = LAYOUT_wrapper(
KC_F12 , ______________________F_L__________________, ______________________F_R__________________, KC_F11 ,
_______, _________________SYMBOL_L1_________________, _________________SYMBOL_R1_________________, _______,
_______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______,
_______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______,
_______, _______, _______, _______, _______, _______
),
[LR_SYMBOL] = LAYOUT_wrapper(
// clang-format off
KC_F12 , ______________________F_L__________________, ______________________F_R__________________, KC_F11 ,
_______, _________________SYMBOL_L1_________________, _________________SYMBOL_R1_________________, _______,
_______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______,
_______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______,
_______, _______, _______, _______, _______, _______
// clang-format on
),
[LR_SYSCTL] = LAYOUT_wrapper(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _________________SYSCTL_R1_________________, _______,
_______, _______, _______, _______, _______, _______, _________________SYSCTL_R2_________________, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R3_________________, _______,
_______, _______, _______, _______, _______, _______
),
[LR_SYSCTL] = LAYOUT_wrapper(
// clang-format off
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _________________SYSCTL_L1_________________, _________________SYSCTL_R1_________________, _______,
_______, _________________SYSCTL_L2_________________, _________________SYSCTL_R2_________________, _______,
_______, _________________SYSCTL_L3_________________, _______, _______, _________________SYSCTL_R3_________________, _______,
_______, _______, _______, _______, _______, _______
// clang-format on
),
[LR_KBCTL] = LAYOUT_wrapper(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, __________________KBCTL_L1_________________, __________________KBCTL_R1_________________, XXXXXXX,
XXXXXXX, __________________KBCTL_L2_________________, __________________KBCTL_R2_________________, XXXXXXX,
BASE , __________________KBCTL_L3_________________, XXXXXXX, XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX,
XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX
)
[LR_KBCTL] = LAYOUT_wrapper(
// clang-format off
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, __________________KBCTL_L1_________________, __________________KBCTL_R1_________________, XXXXXXX,
XXXXXXX, __________________KBCTL_L2_________________, __________________KBCTL_R2_________________, XXXXXXX,
BASE , __________________KBCTL_L3_________________, XXXXXXX, XXXXXXX, __________________KBCTL_R3_________________, 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
}

View file

@ -1,2 +1,9 @@
AUDIO_ENABLE = no # off for now
RGBLIGHT_ENABLE = no # off for now
TAP_DANCE_ENABLE = yes
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