diff options
| author | Pavlos Vinieratos <pvinis@gmail.com> | 2019-05-14 21:02:22 +0200 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2019-05-14 12:02:22 -0700 |
| commit | b68d8fe82eac0be9ca8862fdf94ae4bfbbb0735e (patch) | |
| tree | 788dc925e12ec699f192dcde04096b96abde4da6 /users/pvinis | |
| parent | 4cdb86c730528c8ca5ff90f5b9b01c395d31fc0e (diff) | |
| download | qmk_firmware-b68d8fe82eac0be9ca8862fdf94ae4bfbbb0735e.tar.gz qmk_firmware-b68d8fe82eac0be9ca8862fdf94ae4bfbbb0735e.zip | |
[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 command
Diffstat (limited to 'users/pvinis')
| -rw-r--r-- | users/pvinis/config.h | 9 | ||||
| -rw-r--r-- | users/pvinis/pvinis.c | 79 | ||||
| -rw-r--r-- | users/pvinis/pvinis.h | 152 | ||||
| -rw-r--r-- | users/pvinis/rules.mk | 15 |
4 files changed, 255 insertions, 0 deletions
diff --git a/users/pvinis/config.h b/users/pvinis/config.h new file mode 100644 index 000000000..7f17f2d02 --- /dev/null +++ b/users/pvinis/config.h | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | #ifdef AUDIO_ENABLE | ||
| 4 | // #define STARTUP_SONG SONG(SONIC_RING) | ||
| 5 | #endif | ||
| 6 | |||
| 7 | // allow rolling when keys have hold functionality | ||
| 8 | #define IGNORE_MOD_TAP_INTERRUPT | ||
| 9 | // #define TAPPING_TERM 150 | ||
diff --git a/users/pvinis/pvinis.c b/users/pvinis/pvinis.c new file mode 100644 index 000000000..754403579 --- /dev/null +++ b/users/pvinis/pvinis.c | |||
| @@ -0,0 +1,79 @@ | |||
| 1 | #include "pvinis.h" | ||
| 2 | #include "version.h" | ||
| 3 | |||
| 4 | #ifdef AUDIO_ENABLE | ||
| 5 | #include "audio.h" | ||
| 6 | #endif // AUDIO_ENABLE | ||
| 7 | |||
| 8 | |||
| 9 | #ifdef AUDIO_ENABLE | ||
| 10 | // float tone_katamari_rolling_star[][2] = SONG(KATAMARI_ROLLING_STAR); | ||
| 11 | #endif // AUDIO_ENABLE | ||
| 12 | |||
| 13 | |||
| 14 | // SYMBOL + SYSCTL = KBCTL | ||
| 15 | uint32_t layer_state_set_user(uint32_t state) { | ||
| 16 | uint32_t intermediate_state = update_tri_layer_state(state, LR_SYMBOL, LR_SYSCTL, LR_KBCTL); | ||
| 17 | intermediate_state = layer_state_set_user_local(intermediate_state); | ||
| 18 | return intermediate_state; | ||
| 19 | } | ||
| 20 | |||
| 21 | |||
| 22 | // functions for the individual keymaps to implement if they need something extra | ||
| 23 | __attribute__ ((weak)) | ||
| 24 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | ||
| 25 | return true; | ||
| 26 | } | ||
| 27 | |||
| 28 | |||
| 29 | // handle my own keycodes | ||
| 30 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 31 | switch (keycode) { | ||
| 32 | |||
| 33 | case PV_VRSN: | ||
| 34 | if (record->event.pressed) { | ||
| 35 | SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); | ||
| 36 | } | ||
| 37 | return false; | ||
| 38 | |||
| 39 | case PV_MAKE: | ||
| 40 | if (!record->event.pressed) { | ||
| 41 | SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP | ||
| 42 | #if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU)) | ||
| 43 | ":dfu" | ||
| 44 | #elif defined(BOOTLOADER_HALFKAY) | ||
| 45 | ":teensy" | ||
| 46 | #elif defined(BOOTLOADER_CATERINA) | ||
| 47 | ":avrdude" | ||
| 48 | #endif | ||
| 49 | SS_TAP(X_ENTER) | ||
| 50 | ); | ||
| 51 | } | ||
| 52 | return false; | ||
| 53 | |||
| 54 | case PV_FLSH: | ||
| 55 | reset_keyboard(); | ||
| 56 | return false; | ||
| 57 | |||
| 58 | case PV_KTMR: | ||
| 59 | if (record->event.pressed) { | ||
| 60 | #ifdef AUDIO_ENABLE | ||
| 61 | // PLAY_SONG(tone_katamari_rolling_star); | ||
| 62 | #endif | ||
| 63 | } | ||
| 64 | return false; | ||
| 65 | } | ||
| 66 | return process_record_keymap(keycode, record); | ||
| 67 | } | ||
| 68 | |||
| 69 | |||
| 70 | #ifdef TAP_DANCE_ENABLE | ||
| 71 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
| 72 | }; | ||
| 73 | #endif // TAP_DANCE_ENABLE | ||
| 74 | |||
| 75 | |||
| 76 | // init stuff | ||
| 77 | void keyboard_post_init_user(void) { | ||
| 78 | keyboard_post_init_user_local(); | ||
| 79 | } | ||
diff --git a/users/pvinis/pvinis.h b/users/pvinis/pvinis.h new file mode 100644 index 000000000..0c5e2841a --- /dev/null +++ b/users/pvinis/pvinis.h | |||
| @@ -0,0 +1,152 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | #include "quantum.h" | ||
| 4 | |||
| 5 | |||
| 6 | // my own keycodes | ||
| 7 | enum userspace_custom_keycodes { | ||
| 8 | PV_ = SAFE_RANGE, | ||
| 9 | |||
| 10 | PV_VRSN, // prints firmware version | ||
| 11 | PV_MAKE, // prints the make command of the keyboard | ||
| 12 | PV_FLSH, // resets keyboard | ||
| 13 | PV_KTMR, // play katamari music | ||
| 14 | |||
| 15 | PV_SAFE_RANGE, // used for extra keycodes in the individual keymaps | ||
| 16 | }; | ||
| 17 | |||
| 18 | enum tap_dance_indexes { | ||
| 19 | // tap dance | ||
| 20 | TD_FLSH, // flash keyboard (as if the physical flash key was pressed) | ||
| 21 | }; | ||
| 22 | |||
| 23 | #define ALLM(kc) LCAG(kc) // easier name for left ctrl-alt-gui | ||
| 24 | #define PV_ESCC CTL_T(KC_ESC) // esc on tap, ctrl on hold | ||
| 25 | #define PV_LOCK LCTL(LSFT(KC_PWR)) // lock computer | ||
| 26 | #define TD_3FLS TD(TD_FLSH) // tap dance 3 times for flash | ||
| 27 | |||
| 28 | |||
| 29 | // layers | ||
| 30 | enum { | ||
| 31 | LR_BASE = 0, // used for basic keys like the surrounding ctrl, cmd, etc | ||
| 32 | |||
| 33 | LR_QWERTY, | ||
| 34 | LR_CARPALX, | ||
| 35 | |||
| 36 | LR_SYMBOL, // symbol input (!, @, #, etc) | ||
| 37 | LR_SYSCTL, // system control (music, volume, keyboard flash, etc) | ||
| 38 | LR_KBCTL, // keyboard control (version, make, flash, etc) | ||
| 39 | }; | ||
| 40 | |||
| 41 | |||
| 42 | // layer switchers | ||
| 43 | #define BASE TO(LR_BASE) | ||
| 44 | #define QWERTY TO(LR_QWERTY) | ||
| 45 | #define CARPALX TO(LR_CARPALX) | ||
| 46 | |||
| 47 | #define SYMBOL MO(LR_SYMBOL) | ||
| 48 | #define SYSCTL MO(LR_SYSCTL) | ||
| 49 | #define KBCTL MO(LR_KBCTL) | ||
| 50 | |||
| 51 | |||
| 52 | // layout parts for easy reuse between keyboard keymaps | ||
| 53 | |||
| 54 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 55 | // | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | ||
| 56 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 57 | #define ________________NUMBERS_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5 | ||
| 58 | #define ________________NUMBERS_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0 | ||
| 59 | |||
| 60 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 61 | // | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | | ||
| 62 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 63 | #define ______________________F_L__________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 | ||
| 64 | #define ______________________F_R__________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 | ||
| 65 | |||
| 66 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 67 | // | Q | W | E | R | T | | Y | U | I | O | P | | ||
| 68 | // ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | ||
| 69 | // | A | S | D | F | G | | H | J | K | L | ; | | ||
| 70 | // ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | ||
| 71 | // | Z | X | C | V | B | | N | M | , | . | / | | ||
| 72 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 73 | #define _________________QWERTY_L1_________________ KC_Q , KC_W , KC_E , KC_R , KC_T | ||
| 74 | #define _________________QWERTY_L2_________________ KC_A , KC_S , KC_D , KC_F , KC_G | ||
| 75 | #define _________________QWERTY_L3_________________ KC_Z , KC_X , KC_C , KC_V , KC_B | ||
| 76 | |||
| 77 | #define _________________QWERTY_R1_________________ KC_Y , KC_U , KC_I , KC_O , KC_P | ||
| 78 | #define _________________QWERTY_R2_________________ KC_H , KC_J , KC_K , KC_L , KC_SCLN | ||
| 79 | #define _________________QWERTY_R3_________________ KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH | ||
| 80 | |||
| 81 | #define _____________MOD_QWERTY_L2_________________ KC_A , SFT_T(KC_S), GUI_T(KC_D), KC_F , KC_G | ||
| 82 | #define _____________MOD_QWERTY_R2_________________ KC_H , KC_J , GUI_T(KC_K), SFT_T(KC_L), KC_SCLN | ||
| 83 | |||
| 84 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 85 | // | Q | G | M | L | W | | Y | F | I | O | P | | ||
| 86 | // ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | ||
| 87 | // | D | S | T | N | R | | I | A | K | L | ; | | ||
| 88 | // ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | ||
| 89 | // | Z | X | C | V | J | | K | P | , | . | / | | ||
| 90 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 91 | #define ________________CARPALX_L1_________________ KC_Q , KC_G , KC_M , KC_L , KC_W | ||
| 92 | #define ________________CARPALX_L2_________________ KC_D , KC_S , KC_T , KC_N , KC_R | ||
| 93 | #define ________________CARPALX_L3_________________ KC_Z , KC_X , KC_C , KC_V , KC_J | ||
| 94 | |||
| 95 | #define ________________CARPALX_R1_________________ KC_Y , KC_F , KC_U , KC_B , KC_SCLN | ||
| 96 | #define ________________CARPALX_R2_________________ KC_I , KC_A , KC_E , KC_O , KC_H | ||
| 97 | #define ________________CARPALX_R3_________________ KC_K , KC_P , KC_COMM, KC_DOT , KC_SLSH | ||
| 98 | |||
| 99 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 100 | // | ! | @ | { | } | _ | | \ | | ` | | | | ||
| 101 | // ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | ||
| 102 | // | # | $ | ( | ) | - | | = | & | ' | " | | | | ||
| 103 | // ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | ||
| 104 | // | % | ^ | [ | ] | + | | * | ~ | < | > | / | | ||
| 105 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 106 | #define _________________SYMBOL_L1_________________ KC_EXLM, KC_AT , KC_LCBR, KC_RCBR, KC_UNDS | ||
| 107 | #define _________________SYMBOL_L2_________________ KC_HASH, KC_DLR , KC_LPRN, KC_RPRN, KC_MINS | ||
| 108 | #define _________________SYMBOL_L3_________________ KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_PLUS | ||
| 109 | |||
| 110 | #define _________________SYMBOL_R1_________________ KC_BSLS, _______, KC_GRV , _______, _______ | ||
| 111 | #define _________________SYMBOL_R2_________________ KC_EQL , KC_AMPR, KC_QUOT, KC_DQUO, KC_PIPE | ||
| 112 | #define _________________SYMBOL_R3_________________ KC_ASTR, KC_TILD, KC_LABK, KC_RABK, KC_SLSH | ||
| 113 | |||
| 114 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 115 | // | | | | | | |MUTE |HOME | ^ | END | | | ||
| 116 | // ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | ||
| 117 | // | | | | | | |VOLUP| < | v | > | | | ||
| 118 | // ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | ||
| 119 | // | | | | | | |VOLDN|MPREV|MPLAY|MNEXT| | | ||
| 120 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 121 | #define _________________SYSCTL_L1_________________ | ||
| 122 | #define _________________SYSCTL_L2_________________ | ||
| 123 | #define _________________SYSCTL_L3_________________ | ||
| 124 | |||
| 125 | // vol v ctl v | ||
| 126 | #define _________________SYSCTL_R1_________________ KC_MUTE , KC_HOME , KC_UP , KC_END , PV_LOCK | ||
| 127 | #define _________________SYSCTL_R2_________________ KC_VOLU , KC_LEFT , KC_DOWN , KC_RGHT /* < arrows */ , KC_SLEP | ||
| 128 | #define _________________SYSCTL_R3_________________ KC_VOLD , KC_MPRV , KC_MPLY , KC_MNXT /* < music */ , KC_PWR | ||
| 129 | |||
| 130 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 131 | // |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| | ||
| 132 | // ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | ||
| 133 | // |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|VERSN|MAKE |FLASH|XXXXX| | ||
| 134 | // ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, | ||
| 135 | // |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| | ||
| 136 | // ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, | ||
| 137 | #define __________________KBCTL_L1_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
| 138 | #define __________________KBCTL_L2_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
| 139 | #define __________________KBCTL_L3_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
| 140 | |||
| 141 | #define __________________KBCTL_R1_________________ XXXXXXX, XXXXXXX, XXXXXXX, PV_KTMR, XXXXXXX | ||
| 142 | #define __________________KBCTL_R2_________________ XXXXXXX, PV_VRSN, PV_MAKE, PV_FLSH, XXXXXXX | ||
| 143 | #define __________________KBCTL_R3_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
| 144 | |||
| 145 | // we need wrappers in order for these definitions, because they need to be expanded before being used as arguments to the LAYOUT_xxx macro | ||
| 146 | #define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__) | ||
| 147 | #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) | ||
| 148 | |||
| 149 | |||
| 150 | // extra stuff that might be needed | ||
| 151 | void keyboard_post_init_user_local(void); | ||
| 152 | uint32_t layer_state_set_user_local(uint32_t state); | ||
diff --git a/users/pvinis/rules.mk b/users/pvinis/rules.mk new file mode 100644 index 000000000..da10cc743 --- /dev/null +++ b/users/pvinis/rules.mk | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | # add userspace file | ||
| 2 | SRC += pvinis.c | ||
| 3 | |||
| 4 | AUDIO_ENABLE = no # piezo speaker sounds | ||
| 5 | RGBLIGHT_ENABLE = no # rgb leds underlight | ||
| 6 | TAP_DANCE_ENABLE = yes | ||
| 7 | BACKLIGHT_ENABLE = no # leds under keycaps | ||
| 8 | #MOUSEKEY_ENABLE = no | ||
| 9 | #SLEEP_LED_ENABLE = no # no led blinking while sleeping | ||
| 10 | #NKRO_ENABLE = yes | ||
| 11 | |||
| 12 | # make firmware smaller | ||
| 13 | LINK_TIME_OPTIMIZATION_ENABLE = yes | ||
| 14 | CONSOLE_ENABLE = no | ||
| 15 | COMMAND_ENABLE = no | ||
