[Keymap] Pvinis master (#5843)
* trying to make my global keymap * refactoring the old keymap using userspace * getting there * move readme and remove community layout * use pragma once instead of ifndefs * just make iris work * iris decent * better naming * add some modifiers on the home row * use symbol and sysctl layers * fix up * a bit faster * add < and > on symbol layer * apparently im not using z all that much.. * okok * fix up stuff * led init is back * bring back led indicators * Update keyboards/ergotravel/keymaps/pvinis/config.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * not needed * not needed * delete these for now, until I use the userspace code * remove katamari from here. made a new pr for it * lower case * drashna suggestion :) * move files to correct place * fix missing commandpull/5872/head 0.6.374
parent
4cdb86c730
commit
b68d8fe82e
@ -0,0 +1,330 @@
|
||||
// pvinis ergodox ez
|
||||
// ,------------------------------------. ,------------------------------------.
|
||||
// | | | | | | | | | | | | | | | |
|
||||
// |------+----+----+----+----+---------| |----+----+----+----+----+----+------|
|
||||
// | | | | | | | | | | | | | | | |
|
||||
// |------+----+----+----x----x----| | | |----x----x----+----+----+------|
|
||||
// | | | | | | |----| |----| | | | | | |
|
||||
// |------+----+----+----x----x----| | | |----x----x----+----+----+------|
|
||||
// | | | | | | | | | | | | | | | |
|
||||
// `------+----+----+----+----+---------' `---------+----+----+----+----+------'
|
||||
// | | | | | | | | | | | |
|
||||
// `------------------------' `------------------------'
|
||||
// ,---------. ,---------.
|
||||
// | | | | | |
|
||||
// ,----+----+----| |----+----+----.
|
||||
// | | | | | | | |
|
||||
// | | |----| |----| | |
|
||||
// | | | | | | | |
|
||||
// `--------------' `--------------'
|
||||
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "pvinis.h"
|
||||
#include "mousekey.h"
|
||||
|
||||
|
||||
// layers
|
||||
enum {
|
||||
MOUSE = 8,
|
||||
};
|
||||
|
||||
// extra keys
|
||||
enum {
|
||||
NONE = 30,
|
||||
TD_LAYR, // SYSCTL and MOUSE layer switch
|
||||
};
|
||||
|
||||
// application selection
|
||||
// this is sending ctrl-alt-gui-<key>, and this is picked up by hammerspoon
|
||||
#define AP_SLCK ALLM(KC_S)
|
||||
#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
|
||||
),
|
||||
|
||||
// ,------------------------------------. ,------------------------------------.
|
||||
// | | 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_________________, _______,
|
||||
_______, _________________QWERTY_L2_________________, _________________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`
|
||||
[LR_CARPALX] = LAYOUT_ergodox_pretty_wrapper(
|
||||
_______, ________________NUMBERS_L__________________, _______, _______, ________________NUMBERS_R__________________, _______,
|
||||
_______, ________________CARPALX_L1_________________, _______, _______, ________________CARPALX_R1_________________, _______,
|
||||
_______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
|
||||
_______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
// 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`
|
||||
[LR_SYSCTL] = LAYOUT_ergodox_pretty_wrapper(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R1_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______, _________________SYSCTL_R2_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R3_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
|
||||
_______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
// 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,
|
||||
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
),
|
||||
|
||||
/* MOUSE
|
||||
* a keymap to control my system.
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ^ | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | MsUp | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| |MsLeft| MsDn |MsRght| | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | |MidClk|
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | |Left |Right |
|
||||
* | | |------| |------| Click| Click|
|
||||
* | | | ^ | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[MOUSE] = LAYOUT_ergodox_pretty(
|
||||
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 ,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_MS_U ,KC_NO ,KC_NO ,KC_NO
|
||||
,KC_NO ,KC_MS_L ,KC_MS_D ,KC_MS_R ,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
|
||||
),
|
||||
};
|
||||
|
||||
|
||||
// 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();
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
// extra keys
|
||||
// const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
// switch (id) {
|
||||
// }
|
||||
// return MACRO_NONE;
|
||||
// }
|
||||
|
||||
// tap dances
|
||||
|
||||
// flash keyboard on 4x tap, with leds
|
||||
// void flash_each_tap(qk_tap_dance_state_t *state, void *user_data) {
|
||||
// switch (state->count) {
|
||||
// case 1:
|
||||
// ergodox_right_led_3_on();
|
||||
// break;
|
||||
// case 2:
|
||||
// ergodox_right_led_2_on();
|
||||
// break;
|
||||
// case 3:
|
||||
// ergodox_right_led_1_on();
|
||||
// break;
|
||||
// case 4:
|
||||
// ergodox_right_led_3_off();
|
||||
// wait_ms(50);
|
||||
// ergodox_right_led_2_off();
|
||||
// wait_ms(50);
|
||||
// ergodox_right_led_1_off();
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
// void flash_dance_finished(qk_tap_dance_state_t *state, void *user_data) {
|
||||
// if (state->count >= 4) {
|
||||
// reset_keyboard();
|
||||
// reset_tap_dance(state);
|
||||
// }
|
||||
// }
|
||||
|
||||
// void flash_dance_reset(qk_tap_dance_state_t *state, void *user_data) {
|
||||
// ergodox_right_led_1_off();
|
||||
// wait_ms(50);
|
||||
// ergodox_right_led_2_off();
|
||||
// wait_ms(50);
|
||||
// ergodox_right_led_3_off();
|
||||
// }
|
||||
|
||||
// SYSCTL on first tap, MOUSE ON second tap
|
||||
// void layers_dance_finished(qk_tap_dance_state_t *state, void *user_data) {
|
||||
// uint8_t layer = biton32(layer_state);
|
||||
|
||||
// switch(state->count) {
|
||||
// case 1:
|
||||
// switch(layer) {
|
||||
// case LR_SYSCTL:
|
||||
// layer_off(LR_SYSCTL);
|
||||
// break;
|
||||
// case MOUSE:
|
||||
// layer_off(MOUSE);
|
||||
// break;
|
||||
// default:
|
||||
// layer_on(LR_SYSCTL);
|
||||
// break;
|
||||
// }
|
||||
// break;
|
||||
// case 2:
|
||||
// layer_on(MOUSE);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
// 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 ),
|
||||
// };
|
@ -0,0 +1 @@
|
||||
TAP_DANCE_ENABLE = yes
|
@ -0,0 +1,24 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
#ifdef PRODUCT
|
||||
#undef PRODUCT
|
||||
#define PRODUCT Iris Keyboard - pvinis
|
||||
#endif // PRODUCT
|
||||
|
||||
|
||||
// Use I2C or Serial, not both
|
||||
#define USE_SERIAL
|
||||
// #define USE_I2C
|
||||
|
||||
|
||||
// Select hand configuration
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
|
||||
// choose pin to use for audio. c6 is the one iris uses.
|
||||
#ifdef AUDIO_ENABLE
|
||||
#define C6_AUDIO
|
||||
#endif // AUDIO_ENABLE
|
@ -0,0 +1,122 @@
|
||||
// pvinis iris
|
||||
// ,-----------------------------. ,-----------------------------.
|
||||
// | | | | | | | | | | | | | |
|
||||
// |----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
// | | | | | | | | | | | | | |
|
||||
// |----+----+----+----x----x----| |----x----x----+----+----+----|
|
||||
// | | | | | | | | | | | | | |
|
||||
// |----+----+----+----x----x----+----. ,----|----x----x----+----+----+----|
|
||||
// | | | | | | | | | | | | | | | |
|
||||
// `-------------------+----+----+----/ \----+----+----+-------------------'
|
||||
// | | | | | | | |
|
||||
// `----+---------' `--------------'
|
||||
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "pvinis.h"
|
||||
//#include "iris.h"
|
||||
//#include "action_layer.h"
|
||||
//#include "eeconfig.h"
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#include "audio.h"
|
||||
#endif
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
//#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);
|
||||
#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
|
||||
),
|
||||
|
||||
// ,-----------------------------. ,-----------------------------.
|
||||
// | | 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 | |
|
||||
// |----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
// | | | | | |
|
||||
// |----+ | | +----|
|
||||
// | | CARPALX_L | | CARPALX_R | |
|
||||
// |----+ +----. ,----| +----|
|
||||
// | | | | | | | |
|
||||
// `-------------------+----+----+----/ \----+----+----+-------------------'
|
||||
// | | | | | | | |
|
||||
// `----+---------' `--------------'
|
||||
[LR_CARPALX] = LAYOUT_wrapper(
|
||||
_______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
|
||||
_______, ________________CARPALX_L1_________________, ________________CARPALX_R1_________________, _______,
|
||||
_______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
|
||||
_______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[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_SYSCTL] = LAYOUT_wrapper(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _________________SYSCTL_R1_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______, _________________SYSCTL_R2_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R3_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[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
|
||||
)
|
||||
};
|
@ -0,0 +1,2 @@
|
||||
AUDIO_ENABLE = no # off for now
|
||||
RGBLIGHT_ENABLE = no # off for now
|
@ -1,7 +0,0 @@
|
||||
## v0.3
|
||||
|
||||
*2016-10-11*
|
||||
|
||||
### Starting point
|
||||
|
||||
* The starting point of this keymap. A beginner layout, and a couple placeholders.
|
@ -1,475 +0,0 @@
|
||||
// pvinis' ergodox keymap
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "mousekey.h"
|
||||
|
||||
// easier name for left ctrl-alt-gui
|
||||
#define ALLM(kc) LCAG(kc)
|
||||
|
||||
// layers
|
||||
enum {
|
||||
BASE = 0,
|
||||
BEGIN,
|
||||
QWERTY,
|
||||
CARPALX,
|
||||
SYSCTL,
|
||||
MOUSE,
|
||||
};
|
||||
|
||||
// extra keys
|
||||
enum {
|
||||
NONE = 0,
|
||||
|
||||
// tap dance
|
||||
TD_FLSH, // flash keyboard
|
||||
TD_LAYR, // SYSCTL and MOUSE layer switch
|
||||
};
|
||||
|
||||
// application selection
|
||||
// this is sending ctrl-alt-gui-<key>, and this is picked up by hammerspoon
|
||||
#define AP_SLCK ALLM(KC_S)
|
||||
#define AP_XCOD ALLM(KC_X)
|
||||
#define AP_MSGR ALLM(KC_M)
|
||||
|
||||
// keymaps
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* BASE
|
||||
* the base of the keyboard.
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* |4x FLASH| | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | |SYSCTL| | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* |BEGIN |QWERTY| | | |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | |CARPAL| |Slack | | |
|
||||
* |Backsp|LShift|------| |------| Enter |Space |
|
||||
* | | |SYSCTL| |Msngr | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
[BASE] = LAYOUT_ergodox(
|
||||
TD(TD_FLSH) ,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
|
||||
|
||||
,TG(BEGIN) ,TD(TD_LAYR)
|
||||
,TG(MOUSE)
|
||||
,KC_BSPC ,KC_LSFT ,TD(TD_LAYR)
|
||||
|
||||
,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
|
||||
,MO(SYSCTL) ,KC_NO ,KC_NO ,KC_NO ,KC_NO
|
||||
|
||||
,TG(SYSCTL) ,KC_NO
|
||||
,AP_SLCK
|
||||
,AP_MSGR ,KC_ENT ,KC_SPC
|
||||
),
|
||||
|
||||
/* BEGIN
|
||||
* a beginner's keymap i currently use.
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 1 | 2 | 3 | 4 | 5 | opt | | 6 | 7 | 8 | 9 | 0 | - | = |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* |Esc/Ctrl| A | S | D | F | G |------| |------| H | J | K | L | ; | Enter |
|
||||
* |--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | ` | Cmd | | Cmd | | | | | ' | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
[BEGIN] = LAYOUT_ergodox(
|
||||
KC_TRNS ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_LALT
|
||||
,KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC
|
||||
,CTL_T(KC_ESC) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G
|
||||
,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LPRN
|
||||
,KC_TRNS ,KC_GRV ,KC_LGUI ,KC_LEFT ,KC_RIGHT
|
||||
|
||||
,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
|
||||
,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,KC_EQL
|
||||
,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS
|
||||
,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT
|
||||
,KC_RPRN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT
|
||||
,KC_TRNS ,KC_DOWN ,KC_TRNS ,KC_QUOT ,KC_TRNS
|
||||
|
||||
,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
),
|
||||
|
||||
/* QWERTY
|
||||
* the default qwerty keymap. not really used, but i'll keep it here for now.
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | Q | W | E | R | T | | | | Y | U | I | O | P | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | A | S | D | F | G |------| |------| H | J | K | L | ; | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | Z | X | C | V | B | | | | N | M | , | . | / | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
[QWERTY] = LAYOUT_ergodox(
|
||||
KC_TRNS ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_TRNS
|
||||
,KC_TRNS ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_TRNS
|
||||
,KC_TRNS ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G
|
||||
,KC_TRNS ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
|
||||
,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
|
||||
,KC_TRNS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_TRNS
|
||||
,KC_TRNS ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_TRNS
|
||||
,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_TRNS
|
||||
,KC_TRNS ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
|
||||
,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
),
|
||||
|
||||
/* CARPALX
|
||||
* the keymap i would like to transition to.
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 1 | 2 | 3 | 4 | 5 | | | RIGHT| 6 | 7 | 8 | 9 | 0 | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | Q | G | M | L | W | | | L1 | Y | F | U | B | ; | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | D | S | T | N | R |------| |------| I | A | E | O | H | |
|
||||
* |--------+------+------+------+------+------| | | Meh |------+------+------+------+------+--------|
|
||||
* | | Z | X | C | V | J | | | | K | P | , | . | / | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | Up | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[CARPALX] = LAYOUT_ergodox(
|
||||
KC_TRNS ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_TRNS
|
||||
,KC_TRNS ,KC_Q ,KC_G ,KC_M ,KC_L ,KC_W ,KC_TRNS
|
||||
,KC_TRNS ,KC_D ,KC_S ,KC_T ,KC_N ,KC_R
|
||||
,KC_TRNS ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_J ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
|
||||
,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
|
||||
,KC_TRNS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_TRNS
|
||||
,KC_TRNS ,KC_Y ,KC_F ,KC_U ,KC_B ,KC_SCLN ,KC_TRNS
|
||||
,KC_I ,KC_A ,KC_E ,KC_O ,KC_H ,KC_TRNS
|
||||
,KC_TRNS ,KC_K ,KC_P ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
|
||||
,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
),
|
||||
|
||||
/* SYSCTL
|
||||
* a keymap to control my system.
|
||||
*
|
||||
* ,--------------------------------------------------. ,------------------------------------------------------.
|
||||
* | ^ | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+----------+------+------+--------|
|
||||
* | | | | | | | | | | Mute | Home | Up | End | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+----------+------+------+--------|
|
||||
* | | | | | | |------| |------|VolUp | Left | Down |Right | | Lock |
|
||||
* |--------+------+------+------+------+------| | | |------+------+----------+------+------+--------|
|
||||
* | | | | | | | | | |VolDn | Prev |Play/Pause| Next | | Sleep |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+----------+------+------+--------'
|
||||
* | | | | | | | | | | | Power|
|
||||
* `----------------------------------' `--------------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | ^ | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[SYSCTL] = LAYOUT_ergodox(
|
||||
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 ,KC_NO
|
||||
,KC_NO
|
||||
,KC_NO ,KC_NO ,KC_TRNS
|
||||
|
||||
/*,KC_POP /// */,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
|
||||
/* /// ,KC_PTRN*/,KC_NO ,KC_MUTE ,KC_HOME ,KC_UP ,KC_END ,KC_NO ,KC_NO
|
||||
,KC_VOLU ,KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_NO ,LCTL(LSFT(KC_PWR))
|
||||
,KC_NO ,KC_VOLD ,KC_MPRV ,KC_MPLY ,KC_MNXT ,KC_NO ,KC_SLEP
|
||||
,KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_PWR
|
||||
|
||||
,KC_NO ,KC_NO
|
||||
,KC_NO
|
||||
,KC_NO ,KC_NO ,KC_NO
|
||||
),
|
||||
|
||||
/* MOUSE
|
||||
* a keymap to control my system.
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ^ | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | MsUp | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| |MsLeft| MsDn |MsRght| | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | |MidClk|
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | |Left |Right |
|
||||
* | | |------| |------| Click| Click|
|
||||
* | | | ^ | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[MOUSE] = LAYOUT_ergodox(
|
||||
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 ,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_MS_U ,KC_NO ,KC_NO ,KC_NO
|
||||
,KC_NO ,KC_MS_L ,KC_MS_D ,KC_MS_R ,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
|
||||
),
|
||||
|
||||
/* TEMPLATE
|
||||
* keymap template with transparent and non-transparent keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
/*
|
||||
[TEMPLATE] = LAYOUT_ergodox(
|
||||
KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
|
||||
,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
|
||||
,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
),
|
||||
[TEMPLATE] = LAYOUT_ergodox(
|
||||
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
|
||||
|
||||
,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 ,KC_NO
|
||||
,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
|
||||
|
||||
,KC_NO ,KC_NO
|
||||
,KC_NO
|
||||
,KC_NO ,KC_NO ,KC_NO
|
||||
),
|
||||
*/
|
||||
};
|
||||
|
||||
// keyboard initialization
|
||||
void matrix_init_user() {
|
||||
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();
|
||||
}
|
||||
|
||||
// light up leds based on the layer
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
|
||||
switch(layer) {
|
||||
case SYSCTL:
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
case MOUSE:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
default:
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// extra keys
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
switch (id) {
|
||||
}
|
||||
return MACRO_NONE;
|
||||
}
|
||||
|
||||
// tap dances
|
||||
|
||||
// flash keyboard on 4x tap, with leds
|
||||
void flash_each_tap(qk_tap_dance_state_t *state, void *user_data) {
|
||||
switch (state->count) {
|
||||
case 1:
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
case 2:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
case 3:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case 4:
|
||||
ergodox_right_led_3_off();
|
||||
wait_ms(50);
|
||||
ergodox_right_led_2_off();
|
||||
wait_ms(50);
|
||||
ergodox_right_led_1_off();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void flash_dance_finished(qk_tap_dance_state_t *state, void *user_data) {
|
||||
if (state->count >= 4) {
|
||||
reset_keyboard();
|
||||
reset_tap_dance(state);
|
||||
}
|
||||
}
|
||||
|
||||
void flash_dance_reset(qk_tap_dance_state_t *state, void *user_data) {
|
||||
ergodox_right_led_1_off();
|
||||
wait_ms(50);
|
||||
ergodox_right_led_2_off();
|
||||
wait_ms(50);
|
||||
ergodox_right_led_3_off();
|
||||
}
|
||||
|
||||
// SYSCTL on first tap, MOUSE ON second tap
|
||||
void layers_dance_finished(qk_tap_dance_state_t *state, void *user_data) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
|
||||
switch(state->count) {
|
||||
case 1:
|
||||
switch(layer) {
|
||||
case SYSCTL:
|
||||
layer_off(SYSCTL);
|
||||
break;
|
||||
case MOUSE:
|
||||
layer_off(MOUSE);
|
||||
break;
|
||||
default:
|
||||
layer_on(SYSCTL);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
layer_on(MOUSE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
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 ),
|
||||
};
|
@ -1,7 +0,0 @@
|
||||
CONSOLE_ENABLE = no # for debugging
|
||||
|
||||
SLEEP_LED_ENABLE = no # no led blinking while sleeping
|
||||
NKRO_ENABLE = yes # disable for windows
|
||||
TAP_DANCE_ENABLE = yes # tap-tap-tap
|
||||
|
||||
|
@ -0,0 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
// #define STARTUP_SONG SONG(SONIC_RING)
|
||||
#endif
|
||||
|
||||
// allow rolling when keys have hold functionality
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
// #define TAPPING_TERM 150
|
@ -0,0 +1,79 @@
|
||||
#include "pvinis.h"
|
||||
#include "version.h"
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#include "audio.h"
|
||||
#endif // AUDIO_ENABLE
|
||||
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
// float tone_katamari_rolling_star[][2] = SONG(KATAMARI_ROLLING_STAR);
|
||||
#endif // AUDIO_ENABLE
|
||||
|
||||
|
||||
// SYMBOL + SYSCTL = KBCTL
|
||||
uint32_t layer_state_set_user(uint32_t state) {
|
||||
uint32_t intermediate_state = update_tri_layer_state(state, LR_SYMBOL, LR_SYSCTL, LR_KBCTL);
|
||||
intermediate_state = layer_state_set_user_local(intermediate_state);
|
||||
return intermediate_state;
|
||||
}
|
||||
|
||||
|
||||
// functions for the individual keymaps to implement if they need something extra
|
||||
__attribute__ ((weak))
|
||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// handle my own keycodes
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
|
||||
case PV_VRSN:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
|
||||
}
|
||||
return false;
|
||||
|
||||
case PV_MAKE:
|
||||
if (!record->event.pressed) {
|
||||
SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP
|
||||
#if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
|
||||
":dfu"
|
||||
#elif defined(BOOTLOADER_HALFKAY)
|
||||
":teensy"
|
||||
#elif defined(BOOTLOADER_CATERINA)
|
||||
":avrdude"
|
||||
#endif
|
||||
SS_TAP(X_ENTER)
|
||||
);
|
||||
}
|
||||
return false;
|
||||
|
||||
case PV_FLSH:
|
||||
reset_keyboard();
|
||||
return false;
|
||||
|
||||
case PV_KTMR:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
// PLAY_SONG(tone_katamari_rolling_star);
|
||||
#endif
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return process_record_keymap(keycode, record);
|
||||
}
|
||||
|
||||
|
||||
#ifdef TAP_DANCE_ENABLE
|
||||
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
};
|
||||
#endif // TAP_DANCE_ENABLE
|
||||
|
||||
|
||||
// init stuff
|
||||
void keyboard_post_init_user(void) {
|
||||
keyboard_post_init_user_local();
|
||||
}
|
@ -0,0 +1,152 @@
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
|
||||
// my own keycodes
|
||||
enum userspace_custom_keycodes {
|
||||
PV_ = SAFE_RANGE,
|
||||
|
||||
PV_VRSN, // prints firmware version
|
||||
PV_MAKE, // prints the make command of the keyboard
|
||||
PV_FLSH, // resets keyboard
|
||||
PV_KTMR, // play katamari music
|
||||
|
||||
PV_SAFE_RANGE, // used for extra keycodes in the individual keymaps
|
||||
};
|
||||
|
||||
enum tap_dance_indexes {
|
||||
// tap dance
|
||||
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 PV_ESCC CTL_T(KC_ESC) // esc on tap, ctrl on hold
|
||||
#define PV_LOCK LCTL(LSFT(KC_PWR)) // lock computer
|
||||
#define TD_3FLS TD(TD_FLSH) // tap dance 3 times for flash
|
||||
|
||||
|
||||
// layers
|
||||
enum {
|
||||
LR_BASE = 0, // used for basic keys like the surrounding ctrl, cmd, etc
|
||||
|
||||
LR_QWERTY,
|
||||
LR_CARPALX,
|
||||
|
||||
LR_SYMBOL, // symbol input (!, @, #, etc)
|
||||
LR_SYSCTL, // system control (music, volume, keyboard flash, etc)
|
||||
LR_KBCTL, // keyboard control (version, make, flash, etc)
|
||||
};
|
||||
|
||||
|
||||
// layer switchers
|
||||
#define BASE TO(LR_BASE)
|
||||
#define QWERTY TO(LR_QWERTY)
|
||||
#define CARPALX TO(LR_CARPALX)
|
||||
|
||||
#define SYMBOL MO(LR_SYMBOL)
|
||||
#define SYSCTL MO(LR_SYSCTL)
|
||||
#define KBCTL MO(LR_KBCTL)
|
||||
|
||||
|
||||
// layout parts for easy reuse between keyboard keymaps
|
||||
|
||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||
// | 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_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0
|
||||
|
||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||
// | 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_R__________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
|
||||
|
||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||
// | Q | W | E | R | T | | Y | U | I | O | P |
|
||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
||||
// | A | S | D | F | G | | H | J | K | L | ; |
|
||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
||||
// | Z | X | C | V | B | | N | M | , | . | / |
|
||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||
#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_L3_________________ KC_Z , KC_X , KC_C , KC_V , KC_B
|
||||
|
||||
#define _________________QWERTY_R1_________________ KC_Y , KC_U , KC_I , KC_O , KC_P
|
||||
#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 _____________MOD_QWERTY_L2_________________ KC_A , SFT_T(KC_S), GUI_T(KC_D), KC_F , KC_G
|
||||
#define _____________MOD_QWERTY_R2_________________ KC_H , KC_J , GUI_T(KC_K), SFT_T(KC_L), KC_SCLN
|
||||
|
||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||
// | Q | G | M | L | W | | Y | F | I | O | P |
|
||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
||||
// | D | S | T | N | R | | I | A | K | L | ; |
|
||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
||||
// | Z | X | C | V | J | | K | P | , | . | / |
|
||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||
#define ________________CARPALX_L1_________________ KC_Q , KC_G , KC_M , KC_L , KC_W
|
||||
#define ________________CARPALX_L2_________________ KC_D , KC_S , KC_T , KC_N , KC_R
|
||||
#define ________________CARPALX_L3_________________ KC_Z , KC_X , KC_C , KC_V , KC_J
|
||||
|
||||
#define ________________CARPALX_R1_________________ KC_Y , KC_F , KC_U , KC_B , KC_SCLN
|
||||
#define ________________CARPALX_R2_________________ KC_I , KC_A , KC_E , KC_O , KC_H
|
||||
#define ________________CARPALX_R3_________________ KC_K , KC_P , KC_COMM, KC_DOT , KC_SLSH
|
||||
|
||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||
// | ! | @ | { | } | _ | | \ | | ` | | |
|
||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
||||
// | # | $ | ( | ) | - | | = | & | ' | " | | |
|
||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
||||
// | % | ^ | [ | ] | + | | * | ~ | < | > | / |
|
||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||
#define _________________SYMBOL_L1_________________ KC_EXLM, KC_AT , KC_LCBR, KC_RCBR, KC_UNDS
|
||||
#define _________________SYMBOL_L2_________________ KC_HASH, KC_DLR , KC_LPRN, KC_RPRN, KC_MINS
|
||||
#define _________________SYMBOL_L3_________________ KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_PLUS
|
||||
|
||||
#define _________________SYMBOL_R1_________________ KC_BSLS, _______, KC_GRV , _______, _______
|
||||
#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
|
||||
|
||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||
// | | | | | | |MUTE |HOME | ^ | END | |
|
||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
||||
// | | | | | | |VOLUP| < | v | > | |
|
||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
||||
// | | | | | | |VOLDN|MPREV|MPLAY|MNEXT| |
|
||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||
#define _________________SYSCTL_L1_________________
|
||||
#define _________________SYSCTL_L2_________________
|
||||
#define _________________SYSCTL_L3_________________
|
||||
|
||||
// vol v ctl v
|
||||
#define _________________SYSCTL_R1_________________ KC_MUTE , KC_HOME , KC_UP , KC_END , PV_LOCK
|
||||
#define _________________SYSCTL_R2_________________ KC_VOLU , KC_LEFT , KC_DOWN , KC_RGHT /* < arrows */ , KC_SLEP
|
||||
#define _________________SYSCTL_R3_________________ KC_VOLD , KC_MPRV , KC_MPLY , KC_MNXT /* < music */ , KC_PWR
|
||||
|
||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||
// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|
|
||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
||||
// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|VERSN|MAKE |FLASH|XXXXX|
|
||||
// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
|
||||
// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|
|
||||
// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
|
||||
#define __________________KBCTL_L1_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
#define __________________KBCTL_L2_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
#define __________________KBCTL_L3_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
|
||||
#define __________________KBCTL_R1_________________ XXXXXXX, XXXXXXX, XXXXXXX, PV_KTMR, XXXXXXX
|
||||
#define __________________KBCTL_R2_________________ XXXXXXX, PV_VRSN, PV_MAKE, PV_FLSH, 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
|
||||
#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
|
||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||
|
||||
|
||||
// extra stuff that might be needed
|
||||
void keyboard_post_init_user_local(void);
|
||||
uint32_t layer_state_set_user_local(uint32_t state);
|
@ -0,0 +1,15 @@
|
||||
# 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
|
||||
LINK_TIME_OPTIMIZATION_ENABLE = yes
|
||||
CONSOLE_ENABLE = no
|
||||
COMMAND_ENABLE = no
|
Loading…
Reference in new issue