diff options
29 files changed, 881 insertions, 109 deletions
diff --git a/keyboards/atreus62/keymaps/hvp/config.h b/keyboards/atreus62/keymaps/hvp/config.h new file mode 100644 index 000000000..e1222e21f --- /dev/null +++ b/keyboards/atreus62/keymaps/hvp/config.h | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | #define TAPPING_TERM 150 | ||
| 4 | #define IGNORE_MOD_TAP_INTERRUPT | ||
| 5 | #define PERMISSIVE_HOLD | ||
diff --git a/keyboards/atreus62/keymaps/hvp/keymap.c b/keyboards/atreus62/keymaps/hvp/keymap.c new file mode 100644 index 000000000..9873897a5 --- /dev/null +++ b/keyboards/atreus62/keymaps/hvp/keymap.c | |||
| @@ -0,0 +1,67 @@ | |||
| 1 | |||
| 2 | #include QMK_KEYBOARD_H | ||
| 3 | #include "hvp.c" | ||
| 4 | |||
| 5 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
| 6 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
| 7 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
| 8 | // entirely and just use numbers. | ||
| 9 | |||
| 10 | #define LT3_ESC LT(3, KC_ESC) | ||
| 11 | #define LT4_TAB LT(4, KC_TAB) | ||
| 12 | #define LT1_ENT LT(1, KC_ENTER) | ||
| 13 | #define LT2_BSP LT(2, KC_BSPC) | ||
| 14 | |||
| 15 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 16 | LAYOUT( /* qwerty */ | ||
| 17 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC , | ||
| 18 | LT4_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC , | ||
| 19 | LT3_ESC, KC_A, KC_S, KC_D, LT(3,KC_F), LT(4,KC_G), KC_H, KC_J, KC_K, KC_L, TD(TD1), TD(TD2) , | ||
| 20 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, TD(TD3), KC_SFTENT , | ||
| 21 | KC_LCTL, KC_APP, _______, KC_LGUI, KC_LALT,SFT_T(KC_SPC), LT2_BSP, LT1_ENT, SFT_T(KC_SPC), KC_LSFT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
| 22 | ), | ||
| 23 | |||
| 24 | LAYOUT( /* Right */ | ||
| 25 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS , | ||
| 26 | KC_DEL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC , | ||
| 27 | KC_DEL, _______, _______, _______, _______, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
| 28 | _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
| 29 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END | ||
| 30 | ), | ||
| 31 | |||
| 32 | LAYOUT(/* Left */ | ||
| 33 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS , | ||
| 34 | KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_BSPC, | ||
| 35 | KC_DELETE, _______, _______, _______, _______, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, | ||
| 36 | _______ , _______ , _______ , _______ , _______ , KC_LEFT_CURLY_BRACE , KC_RIGHT_CURLY_BRACE ,KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TILD, | ||
| 37 | _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_HOME, KC_PGDN, KC_PGUP, KC_END | ||
| 38 | ), | ||
| 39 | |||
| 40 | |||
| 41 | LAYOUT(/* Esc */ | ||
| 42 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | ||
| 43 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | ||
| 44 | KC_NO, KC_NO, KC_NO, D_NAVI, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO , | ||
| 45 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_NO, KC_NO , | ||
| 46 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPLY, KC_NO, KC_MUTE, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT | ||
| 47 | ), | ||
| 48 | |||
| 49 | |||
| 50 | |||
| 51 | LAYOUT(/* Tab */ | ||
| 52 | _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______ , | ||
| 53 | _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______ , | ||
| 54 | _______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______ , | ||
| 55 | KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , | ||
| 56 | RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
| 57 | ), | ||
| 58 | /* | ||
| 59 | [_TRNS] = LAYOUT( | ||
| 60 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , | ||
| 61 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , | ||
| 62 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , | ||
| 63 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , | ||
| 64 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
| 65 | ), | ||
| 66 | */ | ||
| 67 | }; | ||
diff --git a/keyboards/atreus62/keymaps/hvp/readme.md b/keyboards/atreus62/keymaps/hvp/readme.md new file mode 100644 index 000000000..766533d3b --- /dev/null +++ b/keyboards/atreus62/keymaps/hvp/readme.md | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | Keyboard: Atreus62 | ||
| 2 | Keys: 62 keyed ortho staggered keyboard with a split layout and num row. | ||
| 3 | Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout. | ||
| 4 | Flash instructions: Flash using avrdude, will req the hvp user space to compile. | ||
| 5 | |||
| 6 | > make make atreus62:hvp:avrdude | ||
| 7 | |||
| 8 | Links: | ||
| 9 | Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/atreus62 | ||
| 10 | Eurkey layout - https://eurkey.steffen.bruentjen.eu/ | ||
diff --git a/keyboards/atreus62/keymaps/hvp/rules.mk b/keyboards/atreus62/keymaps/hvp/rules.mk new file mode 100644 index 000000000..1ba2fa8fb --- /dev/null +++ b/keyboards/atreus62/keymaps/hvp/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| TAP_DANCE_ENABLE = yes \ No newline at end of file | |||
diff --git a/keyboards/crkbd/keymaps/hvp/keymap.c b/keyboards/crkbd/keymaps/hvp/keymap.c index b66c360e1..9e1cd5f01 100644 --- a/keyboards/crkbd/keymaps/hvp/keymap.c +++ b/keyboards/crkbd/keymaps/hvp/keymap.c | |||
| @@ -25,56 +25,56 @@ enum custom_keycodes { | |||
| 25 | }; | 25 | }; |
| 26 | 26 | ||
| 27 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 27 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 28 | [_QWERTY] = LAYOUT( \ | 28 | [_QWERTY] = LAYOUT( |
| 29 | //,-----------------------------------------. ,-----------------------------------------. | 29 | //,-----------------------------------------. ,-----------------------------------------. |
| 30 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,KC_BSPC,\ | 30 | LT(_ADJUST,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,KC_BSPC, |
| 31 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 31 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 32 | LT(_ADJUST, KC_ESC), KC_A, KC_S, KC_D, LT(_RAISE,KC_F), MT(MOD_LCTL,KC_G), KC_H, KC_J, KC_K, KC_L,TD(TD1),TD(TD2),\ | 32 | LSFT_T(KC_ESC), KC_A, KC_S, KC_D, LT(3,KC_F), KC_G, KC_H, KC_J, KC_K, KC_L,TD(TD1),TD(TD2), |
| 33 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 33 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 34 | KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM,KC_DOT,TD(TD3),KC_SFTENT,\ | 34 | KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM,KC_DOT,TD(TD3),KC_SFTENT, |
| 35 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 35 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 36 | KC_LGUI, LOWER,MT(MOD_LSFT, KC_SPC), LT(_RAISE,KC_ENT), RAISE,KC_LALT \ | 36 | KC_LGUI, LT(1,KC_SPC),MT(MOD_LSFT, KC_SPC), MT(MOD_LSFT,KC_ENT), LT(2,KC_SPC),KC_LALT |
| 37 | //`--------------------' `--------------------' | 37 | //`--------------------' `--------------------' |
| 38 | ), | 38 | ), |
| 39 | 39 | ||
| 40 | [_RAISE] = LAYOUT( \ | 40 | [_RAISE] = LAYOUT( |
| 41 | //,-----------------------------------------. ,-----------------------------------------. | 41 | //,-----------------------------------------. ,-----------------------------------------. |
| 42 | KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,KC_BSPC,\ | 42 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,KC_BSPC, |
| 43 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 43 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 44 | KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT,KC_DOWN,KC_UP, KC_RIGHT,KC_NO, KC_DEL,\ | 44 | KC_DEL, _______, _______, _______, _______, _______, _______,KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, |
| 45 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 45 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 46 | KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_NO, KC_NO,\ | 46 | KC_LCTL, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, |
| 47 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 47 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 48 | KC_LGUI, LOWER,MT(MOD_LSFT, KC_SPC), LT(_RAISE,KC_ENT), RAISE,KC_LALT \ | 48 | _______, _______, _______, _______, _______, _______ |
| 49 | //`--------------------' `--------------------' | 49 | //`--------------------' `--------------------' |
| 50 | ), | 50 | ), |
| 51 | 51 | ||
| 52 | [_LOWER] = LAYOUT( \ | 52 | [_LOWER] = LAYOUT( |
| 53 | //,-----------------------------------------. ,-----------------------------------------. | 53 | //,-----------------------------------------. ,-----------------------------------------. |
| 54 | KC_TAB,KC_EXLM,KC_AT,KC_HASH,KC_DLR,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_BSPC,\ | 54 | KC_TAB,KC_EXLM,KC_AT,KC_HASH,KC_DLR,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_BSPC, |
| 55 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 55 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 56 | KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS,KC_EQL,KC_LCBR,KC_RCBR,KC_PIPE,KC_GRV,\ | 56 | KC_DEL, _______, _______, _______, _______, _______, _______,KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, |
| 57 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 57 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 58 | KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS,KC_PLUS,KC_LBRC,KC_RBRC,KC_BSLS,KC_TILD,\ | 58 | KC_LCTL, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TILD, |
| 59 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 59 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 60 | KC_LGUI, LOWER,MT(MOD_LSFT, KC_SPC), LT(_RAISE,KC_ENT), RAISE,KC_LALT \ | 60 | _______, _______, _______, _______, _______, _______ |
| 61 | //`--------------------' `--------------------' | 61 | //`--------------------' `--------------------' |
| 62 | ), | 62 | ), |
| 63 | 63 | ||
| 64 | [_ADJUST] = LAYOUT( \ | 64 | [_ADJUST] = LAYOUT( |
| 65 | //,-----------------------------------------. ,-----------------------------------------. | 65 | //,-----------------------------------------. ,-----------------------------------------. |
| 66 | KC_F1,KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,\ | 66 | _______,KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, |
| 67 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 67 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 68 | KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ | 68 | KC_F1,_______,_______,D_NAVI,_______,_______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, |
| 69 | //|------+------+------+------+------+------| |------+------+------+------+------+------| | 69 | //|------+------+------+------+------+------| |------+------+------+------+------+------| |
| 70 | RESET,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_MPLY, KC_MNXT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,\ | 70 | RESET,KC_PSCR,_______,_______,_______,_______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, |
| 71 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 71 | //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 72 | KC_LGUI, LOWER,MT(MOD_LSFT, KC_SPC), LT(_RAISE,KC_ENT), RAISE,KC_LALT \ | 72 | _______, KC_VOLD,KC_MPLY, KC_MNXT, KC_VOLU,_______ |
| 73 | //`--------------------' `--------------------' | 73 | //`--------------------' `--------------------' |
| 74 | ) | 74 | ) |
| 75 | }; | 75 | }; |
| 76 | 76 | ||
| 77 | int RGB_current_mode; | 77 | int RGB_current_mode; |
| 78 | 78 | ||
| 79 | // Setting ADJUST layer RGB back to default | 79 | // Setting ADJUST layer RGB back to default |
| 80 | void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { | 80 | void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { |
diff --git a/keyboards/crkbd/keymaps/hvp/readme.md b/keyboards/crkbd/keymaps/hvp/readme.md index 33bb83b83..3ccdc1219 100644 --- a/keyboards/crkbd/keymaps/hvp/readme.md +++ b/keyboards/crkbd/keymaps/hvp/readme.md | |||
| @@ -1,5 +1,10 @@ | |||
| 1 | Keymap to be used with Eurkey for easy access to swedish characters on first layer. | 1 | Keyboard: Corne Keyboard (CRKBD) |
| 2 | Keys: A split keyboard with 3x6 vertically staggered keys and 3 thumb keys. | ||
| 3 | Layout: Swedish characters on main layer using tapdance. Built for eurkey keyboard layout. | ||
| 4 | Flash instructions: Flash using avrdude, will req the hvp user space to compile. | ||
| 2 | 5 | ||
| 3 | Links: | 6 | > make crkbd:hvp:avrdude |
| 4 | 7 | ||
| 5 | - https://eurkey.steffen.bruentjen.eu/ \ No newline at end of file | 8 | Links: |
| 9 | Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd | ||
| 10 | Eurkey layout - https://eurkey.steffen.bruentjen.eu/ | ||
diff --git a/keyboards/crkbd/keymaps/hvp/rules.mk b/keyboards/crkbd/keymaps/hvp/rules.mk index a651e528c..03859ab63 100644 --- a/keyboards/crkbd/keymaps/hvp/rules.mk +++ b/keyboards/crkbd/keymaps/hvp/rules.mk | |||
| @@ -10,5 +10,5 @@ SRC += ./lib/glcdfont.c \ | |||
| 10 | # ./lib/timelogger.c \ | 10 | # ./lib/timelogger.c \ |
| 11 | 11 | ||
| 12 | TAP_DANCE_ENABLE = yes | 12 | TAP_DANCE_ENABLE = yes |
| 13 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | 13 | EXTRAKEY_ENABLE = yes # Audio control and System control |
| 14 | # LOCAL_GLCDFONT = yes \ No newline at end of file | 14 | # LOCAL_GLCDFONT = yes \ No newline at end of file |
diff --git a/keyboards/lets_split/keymaps/hvp/config.h b/keyboards/lets_split/keymaps/hvp/config.h new file mode 100644 index 000000000..df24c53cd --- /dev/null +++ b/keyboards/lets_split/keymaps/hvp/config.h | |||
| @@ -0,0 +1,40 @@ | |||
| 1 | /* | ||
| 2 | This is the c configuration file for the keymap | ||
| 3 | |||
| 4 | Copyright 2012 Jun Wako <wakojun@gmail.com> | ||
| 5 | Copyright 2015 Jack Humbert | ||
| 6 | |||
| 7 | This program is free software: you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation, either version 2 of the License, or | ||
| 10 | (at your option) any later version. | ||
| 11 | |||
| 12 | This program is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 19 | */ | ||
| 20 | |||
| 21 | #pragma once | ||
| 22 | |||
| 23 | // place overrides here | ||
| 24 | #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ | ||
| 25 | SONG(COLEMAK_SOUND), \ | ||
| 26 | SONG(DVORAK_SOUND) \ | ||
| 27 | } | ||
| 28 | |||
| 29 | /* Use I2C or Serial, not both */ | ||
| 30 | #define USE_SERIAL | ||
| 31 | // #define USE_I2C | ||
| 32 | |||
| 33 | /* Select hand configuration */ | ||
| 34 | #define MASTER_LEFT | ||
| 35 | // #define MASTER_RIGHT | ||
| 36 | // #define EE_HANDS | ||
| 37 | |||
| 38 | #undef RGBLED_NUM | ||
| 39 | #define RGBLIGHT_ANIMATIONS | ||
| 40 | #define RGBLED_NUM 10 | ||
diff --git a/keyboards/lets_split/keymaps/hvp/keymap.c b/keyboards/lets_split/keymaps/hvp/keymap.c new file mode 100644 index 000000000..e9ebd46d6 --- /dev/null +++ b/keyboards/lets_split/keymaps/hvp/keymap.c | |||
| @@ -0,0 +1,65 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | #include "hvp.c" | ||
| 3 | |||
| 4 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
| 5 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
| 6 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
| 7 | // entirely and just use numbers. | ||
| 8 | #define _QWERTY 0 | ||
| 9 | #define _LOWER 3 | ||
| 10 | #define _RAISE 4 | ||
| 11 | #define _NAVI 5 | ||
| 12 | #define _ADJUST 6 | ||
| 13 | |||
| 14 | enum custom_keycodes { | ||
| 15 | QWERTY = SAFE_RANGE | ||
| 16 | }; | ||
| 17 | |||
| 18 | |||
| 19 | #define LOWER MO(_LOWER) | ||
| 20 | #define RAISE MO(_RAISE) | ||
| 21 | #define ADJUST MO(_ADJUST) | ||
| 22 | |||
| 23 | #define LT3_ESC LT(5, KC_ESC) | ||
| 24 | #define LT4_TAB LT(6, KC_TAB) | ||
| 25 | #define F_NAVI LT(5, KC_F) | ||
| 26 | |||
| 27 | |||
| 28 | |||
| 29 | |||
| 30 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 31 | |||
| 32 | [_QWERTY] = LAYOUT_ortho_4x12( | ||
| 33 | LT4_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
| 34 | LT3_ESC, KC_A, KC_S, KC_D, F_NAVI, LT(6,KC_G), KC_H, KC_J, KC_K, KC_L, TD(TD1), TD(TD2), | ||
| 35 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, TD(TD3), KC_SFTENT , | ||
| 36 | KC_LCTL, KC_APP, KC_LGUI, KC_LALT, LT(3,KC_SPC), SFT_T(KC_SPC), KC_SFTENT, LT(4,KC_SPC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
| 37 | ), | ||
| 38 | |||
| 39 | [_RAISE] = LAYOUT_ortho_4x12( /* Right */ | ||
| 40 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
| 41 | KC_DEL, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
| 42 | _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
| 43 | _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END | ||
| 44 | ), | ||
| 45 | |||
| 46 | [_LOWER] = LAYOUT_ortho_4x12( /* Left */ | ||
| 47 | KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_BSPC, | ||
| 48 | KC_DEL, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, | ||
| 49 | _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TILD, | ||
| 50 | _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END | ||
| 51 | ), | ||
| 52 | |||
| 53 | [_NAVI] = LAYOUT_ortho_4x12( /* Esc */ | ||
| 54 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | ||
| 55 | _______, _______, _______, D_NAVI, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, | ||
| 56 | _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, | ||
| 57 | _______, _______, _______, _______, _______,KC_MUTE, KC_MPLY, KC_MSTP, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT | ||
| 58 | ), | ||
| 59 | |||
| 60 | [_ADJUST] = LAYOUT_ortho_4x12( /* Tab */ | ||
| 61 | _______, RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, | ||
| 62 | _______, RGB_M_P, RGB_HUD, RGB_HUI, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, | ||
| 63 | KC_PSCR, _______, RGB_SAD, RGB_SAI, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______, | ||
| 64 | RESET, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______ | ||
| 65 | )}; | ||
diff --git a/keyboards/lets_split/keymaps/hvp/readme.md b/keyboards/lets_split/keymaps/hvp/readme.md new file mode 100644 index 000000000..a43b9d52e --- /dev/null +++ b/keyboards/lets_split/keymaps/hvp/readme.md | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | Keyboard: Lets split! | ||
| 2 | Keys: 48key ortho 40% keyboard | ||
| 3 | Layout: Swedish characters on main layer using tapdance. Built for eurkey keyboard layout. | ||
| 4 | Flash instructions: Flash using avrdude, will req the hvp user space to compile. | ||
| 5 | |||
| 6 | > make lets_split/rev2:hvp:avrdude | ||
| 7 | |||
| 8 | Links: | ||
| 9 | Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/lets_split | ||
| 10 | Eurkey layout - https://eurkey.steffen.bruentjen.eu/ | ||
diff --git a/keyboards/lets_split/keymaps/hvp/rules.mk b/keyboards/lets_split/keymaps/hvp/rules.mk new file mode 100644 index 000000000..1c1ed316a --- /dev/null +++ b/keyboards/lets_split/keymaps/hvp/rules.mk | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | RGBLIGHT_ENABLE = yes | ||
| 2 | TAP_DANCE_ENABLE = yes \ No newline at end of file | ||
diff --git a/keyboards/lily58/keymaps/hvp/config.h b/keyboards/lily58/keymaps/hvp/config.h new file mode 100644 index 000000000..3367748de --- /dev/null +++ b/keyboards/lily58/keymaps/hvp/config.h | |||
| @@ -0,0 +1,56 @@ | |||
| 1 | /* | ||
| 2 | This is the c configuration file for the keymap | ||
| 3 | |||
| 4 | Copyright 2012 Jun Wako <wakojun@gmail.com> | ||
| 5 | Copyright 2015 Jack Humbert | ||
| 6 | |||
| 7 | This program is free software: you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation, either version 2 of the License, or | ||
| 10 | (at your option) any later version. | ||
| 11 | |||
| 12 | This program is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 19 | */ | ||
| 20 | |||
| 21 | #pragma once | ||
| 22 | |||
| 23 | //#define USE_MATRIX_I2C | ||
| 24 | |||
| 25 | /* Select hand configuration */ | ||
| 26 | |||
| 27 | #define MASTER_LEFT | ||
| 28 | // #define MASTER_RIGHT | ||
| 29 | // #define EE_HANDS | ||
| 30 | |||
| 31 | #define SSD1306OLED | ||
| 32 | |||
| 33 | #define USE_SERIAL_PD2 | ||
| 34 | |||
| 35 | #define TAPPING_TERM 100 | ||
| 36 | #undef TAPPING_TERM | ||
| 37 | #define TAPPING_TERM 150 | ||
| 38 | |||
| 39 | #define PERMISSIVE_HOLD | ||
| 40 | #define IGNORE_MOD_TAP_INTERRUPT | ||
| 41 | |||
| 42 | #undef RGBLED_NUM | ||
| 43 | #define RGBLIGHT_ANIMATIONS | ||
| 44 | #define RGBLED_NUM 27 | ||
| 45 | #define RGBLIGHT_LIMIT_VAL 120 | ||
| 46 | #define RGBLIGHT_HUE_STEP 10 | ||
| 47 | #define RGBLIGHT_SAT_STEP 17 | ||
| 48 | #define RGBLIGHT_VAL_STEP 17 | ||
| 49 | |||
| 50 | // Underglow | ||
| 51 | /* | ||
| 52 | #undef RGBLED_NUM | ||
| 53 | #define RGBLED_NUM 14 // Number of LEDs | ||
| 54 | #define RGBLIGHT_ANIMATIONS | ||
| 55 | #define RGBLIGHT_SLEEP | ||
| 56 | */ \ No newline at end of file | ||
diff --git a/keyboards/lily58/keymaps/hvp/keymap.c b/keyboards/lily58/keymaps/hvp/keymap.c new file mode 100644 index 000000000..67e2541f6 --- /dev/null +++ b/keyboards/lily58/keymaps/hvp/keymap.c | |||
| @@ -0,0 +1,181 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | #include "hvp.c" | ||
| 3 | |||
| 4 | #ifdef PROTOCOL_LUFA | ||
| 5 | #include "lufa.h" | ||
| 6 | #include "split_util.h" | ||
| 7 | #endif | ||
| 8 | #ifdef SSD1306OLED | ||
| 9 | #include "ssd1306.h" | ||
| 10 | #endif | ||
| 11 | |||
| 12 | #ifdef RGBLIGHT_ENABLE | ||
| 13 | //Following line allows macro to read current RGB settings | ||
| 14 | extern rgblight_config_t rgblight_config; | ||
| 15 | #endif | ||
| 16 | |||
| 17 | extern uint8_t is_master; | ||
| 18 | |||
| 19 | #define _QWERTY 0 | ||
| 20 | #define _LOWER 1 | ||
| 21 | #define _RAISE 2 | ||
| 22 | #define _ADJUST 3 | ||
| 23 | #define _NAVI 4 | ||
| 24 | |||
| 25 | enum custom_keycodes { | ||
| 26 | QWERTY = SAFE_RANGE, | ||
| 27 | LOWER, | ||
| 28 | RAISE, | ||
| 29 | NAVI, | ||
| 30 | ADJUST | ||
| 31 | }; | ||
| 32 | |||
| 33 | |||
| 34 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 35 | |||
| 36 | [_QWERTY] = LAYOUT( | ||
| 37 | LT(3,KC_ESC), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
| 38 | LT(_NAVI,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, | ||
| 39 | KC_LSFT, KC_A, KC_S, KC_D, LT(4,KC_F), LT(3,KC_G), KC_H, KC_J, KC_K, KC_L, TD(TD1), TD(TD2), | ||
| 40 | KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, MT(MOD_LSFT,KC_BSPC), MT(MOD_LSFT,KC_ENTER), KC_N, KC_M, KC_COMM, KC_DOT, TD(TD3), MT(MOD_RSFT,KC_ENT), | ||
| 41 | KC_LALT, KC_LGUI, LOWER,LT(1,KC_SPC), LT(2,KC_SPC), RAISE, KC_RALT, KC_RGUI | ||
| 42 | ), | ||
| 43 | [_RAISE] = LAYOUT( /* Right */ | ||
| 44 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 45 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
| 46 | KC_DEL, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
| 47 | _______, _______, _______, _______, _______, _______, MT(MOD_LCTL,KC_LBRC), MT(MOD_LALT,KC_RBRC), _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
| 48 | _______, _______, _______, _______, _______, _______, _______, _______ | ||
| 49 | ), | ||
| 50 | |||
| 51 | [_LOWER] = LAYOUT( /* Left */ | ||
| 52 | _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, | ||
| 53 | KC_TILD,KC_EXLM,KC_AT,KC_HASH,KC_DLR,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_BSPC, | ||
| 54 | KC_DEL, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, | ||
| 55 | _______, _______, _______, _______, _______, _______, MT(MOD_LCTL,KC_LCBR), MT(MOD_LALT,KC_RCBR), _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TILD, | ||
| 56 | _______, _______, _______, _______, _______, _______, _______, _______ | ||
| 57 | ), | ||
| 58 | |||
| 59 | [_NAVI] = LAYOUT( /* Tab */ | ||
| 60 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | ||
| 61 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 62 | _______, _______, _______, D_NAVI, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, | ||
| 63 | _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, | ||
| 64 | _______, KC_VOLD, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_VOLU, _______ | ||
| 65 | ), | ||
| 66 | |||
| 67 | [_ADJUST] = LAYOUT( /* Esc */ | ||
| 68 | _______, RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, | ||
| 69 | _______, RGB_M_P, RGB_HUD, RGB_HUI, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, | ||
| 70 | KC_PSCR, _______, RGB_SAD, RGB_SAI, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______, | ||
| 71 | RESET, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 72 | _______, KC_VOLD, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_VOLU, _______ | ||
| 73 | ) | ||
| 74 | }; | ||
| 75 | |||
| 76 | int RGB_current_mode; | ||
| 77 | |||
| 78 | // Setting ADJUST layer RGB back to default | ||
| 79 | void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { | ||
| 80 | |||
| 81 | } | ||
| 82 | |||
| 83 | void matrix_init_user(void) { | ||
| 84 | #ifdef RGBLIGHT_ENABLE | ||
| 85 | RGB_current_mode = rgblight_config.mode; | ||
| 86 | #endif | ||
| 87 | //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h | ||
| 88 | #ifdef SSD1306OLED | ||
| 89 | iota_gfx_init(!has_usb()); // turns on the display | ||
| 90 | #endif | ||
| 91 | } | ||
| 92 | |||
| 93 | //SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h | ||
| 94 | #ifdef SSD1306OLED | ||
| 95 | |||
| 96 | // When add source files to SRC in rules.mk, you can use functions. | ||
| 97 | const char *read_layer_state(void); | ||
| 98 | const char *read_logo(void); | ||
| 99 | void set_keylog(uint16_t keycode, keyrecord_t *record); | ||
| 100 | const char *read_keylog(void); | ||
| 101 | const char *read_keylogs(void); | ||
| 102 | |||
| 103 | void matrix_scan_user(void) { | ||
| 104 | iota_gfx_task(); | ||
| 105 | } | ||
| 106 | |||
| 107 | void matrix_render_user(struct CharacterMatrix *matrix) { | ||
| 108 | if (is_master) { | ||
| 109 | // If you want to change the display of OLED, you need to change here | ||
| 110 | matrix_write_ln(matrix, read_layer_state()); | ||
| 111 | matrix_write_ln(matrix, read_keylog()); | ||
| 112 | matrix_write_ln(matrix, read_keylogs()); | ||
| 113 | //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); | ||
| 114 | //matrix_write_ln(matrix, read_host_led_state()); | ||
| 115 | //matrix_write_ln(matrix, read_timelog()); | ||
| 116 | } else { | ||
| 117 | matrix_write(matrix, read_logo()); | ||
| 118 | } | ||
| 119 | } | ||
| 120 | |||
| 121 | void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { | ||
| 122 | if (memcmp(dest->display, source->display, sizeof(dest->display))) { | ||
| 123 | memcpy(dest->display, source->display, sizeof(dest->display)); | ||
| 124 | dest->dirty = true; | ||
| 125 | } | ||
| 126 | } | ||
| 127 | |||
| 128 | void iota_gfx_task_user(void) { | ||
| 129 | struct CharacterMatrix matrix; | ||
| 130 | matrix_clear(&matrix); | ||
| 131 | matrix_render_user(&matrix); | ||
| 132 | matrix_update(&display, &matrix); | ||
| 133 | } | ||
| 134 | #endif//SSD1306OLED | ||
| 135 | |||
| 136 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 137 | if (record->event.pressed) { | ||
| 138 | #ifdef SSD1306OLED | ||
| 139 | set_keylog(keycode, record); | ||
| 140 | #endif | ||
| 141 | // set_timelog(); | ||
| 142 | } | ||
| 143 | |||
| 144 | switch (keycode) { | ||
| 145 | case QWERTY: | ||
| 146 | if (record->event.pressed) { | ||
| 147 | set_single_persistent_default_layer(_QWERTY); | ||
| 148 | } | ||
| 149 | return false; | ||
| 150 | break; | ||
| 151 | case LOWER: | ||
| 152 | if (record->event.pressed) { | ||
| 153 | layer_on(_LOWER); | ||
| 154 | update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | ||
| 155 | } else { | ||
| 156 | layer_off(_LOWER); | ||
| 157 | update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | ||
| 158 | } | ||
| 159 | return false; | ||
| 160 | break; | ||
| 161 | case RAISE: | ||
| 162 | if (record->event.pressed) { | ||
| 163 | layer_on(_RAISE); | ||
| 164 | update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | ||
| 165 | } else { | ||
| 166 | layer_off(_RAISE); | ||
| 167 | update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | ||
| 168 | } | ||
| 169 | return false; | ||
| 170 | break; | ||
| 171 | case ADJUST: | ||
| 172 | if (record->event.pressed) { | ||
| 173 | layer_on(_ADJUST); | ||
| 174 | } else { | ||
| 175 | layer_off(_ADJUST); | ||
| 176 | } | ||
| 177 | return false; | ||
| 178 | break; | ||
| 179 | } | ||
| 180 | return true; | ||
| 181 | } \ No newline at end of file | ||
diff --git a/keyboards/lily58/keymaps/hvp/readme.md b/keyboards/lily58/keymaps/hvp/readme.md new file mode 100644 index 000000000..971bd2800 --- /dev/null +++ b/keyboards/lily58/keymaps/hvp/readme.md | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | Keyboard: Lily58 | ||
| 2 | Keys: Lily58 is 6×4+5keys column-staggered split keyboard. | ||
| 3 | Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout. | ||
| 4 | Flash instructions: Flash using dfu, will req the hvp user space to compile. | ||
| 5 | |||
| 6 | > make lily58:hvp:dfu | ||
| 7 | |||
| 8 | Links: | ||
| 9 | Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58 | ||
| 10 | Eurkey layout - https://eurkey.steffen.bruentjen.eu/ | ||
diff --git a/keyboards/lily58/keymaps/hvp/rules.mk b/keyboards/lily58/keymaps/hvp/rules.mk new file mode 100644 index 000000000..b1ee4e831 --- /dev/null +++ b/keyboards/lily58/keymaps/hvp/rules.mk | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | EXTRAKEY_ENABLE = yes | ||
| 2 | RGBLIGHT_ENABLE = yes | ||
| 3 | TAP_DANCE_ENABLE = yes | ||
| 4 | |||
| 5 | # If you want to change the display of OLED, you need to change here | ||
| 6 | SRC += ./lib/glcdfont.c \ | ||
| 7 | ./lib/rgb_state_reader.c \ | ||
| 8 | ./lib/layer_state_reader.c \ | ||
| 9 | ./lib/logo_reader.c \ | ||
| 10 | ./lib/keylogger.c \ | ||
| 11 | # ./lib/mode_icon_reader.c \ | ||
| 12 | # ./lib/host_led_state_reader.c \ | ||
| 13 | # ./lib/timelogger.c \ \ No newline at end of file | ||
diff --git a/keyboards/planck/keymaps/hvp/config.h b/keyboards/planck/keymaps/hvp/config.h new file mode 100644 index 000000000..472afc648 --- /dev/null +++ b/keyboards/planck/keymaps/hvp/config.h | |||
| @@ -0,0 +1,39 @@ | |||
| 1 | #pragma once | ||
| 2 | #define TAPPING_TERM 150 | ||
| 3 | #define IGNORE_MOD_TAP_INTERRUPT | ||
| 4 | #define PERMISSIVE_HOLD | ||
| 5 | |||
| 6 | #ifdef AUDIO_ENABLE | ||
| 7 | # define STARTUP_SONG SONG(PLANCK_SOUND) | ||
| 8 | // #define STARTUP_SONG SONG(NO_SOUND) | ||
| 9 | |||
| 10 | # define DEFAULT_LAYER_SONGS \ | ||
| 11 | { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND) } | ||
| 12 | #endif | ||
| 13 | |||
| 14 | /* | ||
| 15 | * MIDI options | ||
| 16 | */ | ||
| 17 | |||
| 18 | /* Prevent use of disabled MIDI features in the keymap */ | ||
| 19 | //#define MIDI_ENABLE_STRICT 1 | ||
| 20 | |||
| 21 | /* enable basic MIDI features: | ||
| 22 | - MIDI notes can be sent when in Music mode is on | ||
| 23 | */ | ||
| 24 | |||
| 25 | #define MIDI_BASIC | ||
| 26 | |||
| 27 | /* enable advanced MIDI features: | ||
| 28 | - MIDI notes can be added to the keymap | ||
| 29 | - Octave shift and transpose | ||
| 30 | - Virtual sustain, portamento, and modulation wheel | ||
| 31 | - etc. | ||
| 32 | */ | ||
| 33 | //#define MIDI_ADVANCED | ||
| 34 | |||
| 35 | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | ||
| 36 | //#define MIDI_TONE_KEYCODE_OCTAVES 2 | ||
| 37 | |||
| 38 | // Most tactile encoders have detents every 4 stages | ||
| 39 | #define ENCODER_RESOLUTION 4 | ||
diff --git a/keyboards/planck/keymaps/hvp/keymap.c b/keyboards/planck/keymaps/hvp/keymap.c new file mode 100644 index 000000000..c9aa61981 --- /dev/null +++ b/keyboards/planck/keymaps/hvp/keymap.c | |||
| @@ -0,0 +1,184 @@ | |||
| 1 | /* Copyright 2015-2017 Jack Humbert | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include "hvp.c" | ||
| 17 | #include QMK_KEYBOARD_H | ||
| 18 | #include "muse.h" | ||
| 19 | |||
| 20 | enum planck_layers { | ||
| 21 | _QWERTY, | ||
| 22 | _LOWER, | ||
| 23 | _RAISE, | ||
| 24 | _NAVI, | ||
| 25 | _ADJUST | ||
| 26 | }; | ||
| 27 | |||
| 28 | enum planck_keycodes { | ||
| 29 | QWERTY = SAFE_RANGE | ||
| 30 | }; | ||
| 31 | |||
| 32 | #define _QWERTY 0 | ||
| 33 | #define _RAISE 1 | ||
| 34 | #define _LOWER 2 | ||
| 35 | #define _NAVI 3 | ||
| 36 | #define _ADJUST 5 | ||
| 37 | |||
| 38 | #define LT3_ESC LT(3, KC_ESC) | ||
| 39 | #define LT4_TAB LT(5, KC_TAB) | ||
| 40 | |||
| 41 | #define LOWER MO(_LOWER) | ||
| 42 | #define RAISE MO(_RAISE) | ||
| 43 | |||
| 44 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 45 | |||
| 46 | [_QWERTY] = LAYOUT_planck_grid( | ||
| 47 | LT4_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
| 48 | LT3_ESC, KC_A, KC_S, KC_D, LT(3,KC_F), KC_G, KC_H, KC_J, KC_K, KC_L, TD(TD1), TD(TD2), | ||
| 49 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, TD(TD3), KC_SFTENT, | ||
| 50 | KC_LCTL, KC_APP, KC_LGUI, KC_LALT, MO(2), KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
| 51 | ), | ||
| 52 | |||
| 53 | [_RAISE] = LAYOUT_planck_grid( /* Right */ | ||
| 54 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
| 55 | KC_DEL, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
| 56 | _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
| 57 | _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END | ||
| 58 | ), | ||
| 59 | |||
| 60 | [_LOWER] = LAYOUT_planck_grid( /* Left */ | ||
| 61 | KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_BSPC, | ||
| 62 | KC_DEL, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, | ||
| 63 | _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TILD, | ||
| 64 | _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END | ||
| 65 | ), | ||
| 66 | |||
| 67 | [_NAVI] = LAYOUT_planck_grid( /* Esc */ | ||
| 68 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | ||
| 69 | _______, _______, _______, D_NAVI, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_PSCR, | ||
| 70 | _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, | ||
| 71 | _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPLY, KC_MSTP, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT | ||
| 72 | ), | ||
| 73 | |||
| 74 | [_ADJUST] = LAYOUT_planck_grid( /* Tab */ | ||
| 75 | _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, | ||
| 76 | _______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, KC_4, KC_5, KC_6, _______, _______, | ||
| 77 | KC_PSCR, MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, | ||
| 78 | RESET, _______, TERM_ON, TERM_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, DEBUG | ||
| 79 | )}; | ||
| 80 | |||
| 81 | #ifdef AUDIO_ENABLE | ||
| 82 | float plover_song[][2] = SONG(PLOVER_SOUND); | ||
| 83 | float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); | ||
| 84 | #endif | ||
| 85 | |||
| 86 | bool muse_mode = false; | ||
| 87 | uint8_t last_muse_note = 0; | ||
| 88 | uint16_t muse_counter = 0; | ||
| 89 | uint8_t muse_offset = 70; | ||
| 90 | uint16_t muse_tempo = 50; | ||
| 91 | |||
| 92 | void encoder_update(bool clockwise) { | ||
| 93 | if (muse_mode) { | ||
| 94 | if (IS_LAYER_ON(_RAISE)) { | ||
| 95 | if (clockwise) { | ||
| 96 | muse_offset++; | ||
| 97 | } else { | ||
| 98 | muse_offset--; | ||
| 99 | } | ||
| 100 | } else { | ||
| 101 | if (clockwise) { | ||
| 102 | muse_tempo+=1; | ||
| 103 | } else { | ||
| 104 | muse_tempo-=1; | ||
| 105 | } | ||
| 106 | } | ||
| 107 | } else { | ||
| 108 | if (clockwise) { | ||
| 109 | #ifdef MOUSEKEY_ENABLE | ||
| 110 | tap_code(KC_MS_WH_DOWN); | ||
| 111 | #else | ||
| 112 | tap_code(KC_PGDN); | ||
| 113 | #endif | ||
| 114 | } else { | ||
| 115 | #ifdef MOUSEKEY_ENABLE | ||
| 116 | tap_code(KC_MS_WH_UP); | ||
| 117 | #else | ||
| 118 | tap_code(KC_PGUP); | ||
| 119 | #endif | ||
| 120 | } | ||
| 121 | } | ||
| 122 | } | ||
| 123 | |||
| 124 | void dip_switch_update_user(uint8_t index, bool active) { | ||
| 125 | switch (index) { | ||
| 126 | case 0: { | ||
| 127 | #ifdef AUDIO_ENABLE | ||
| 128 | static bool play_sound = false; | ||
| 129 | #endif | ||
| 130 | if (active) { | ||
| 131 | #ifdef AUDIO_ENABLE | ||
| 132 | if (play_sound) { PLAY_SONG(plover_song); } | ||
| 133 | #endif | ||
| 134 | layer_on(_ADJUST); | ||
| 135 | } else { | ||
| 136 | #ifdef AUDIO_ENABLE | ||
| 137 | if (play_sound) { PLAY_SONG(plover_gb_song); } | ||
| 138 | #endif | ||
| 139 | layer_off(_ADJUST); | ||
| 140 | } | ||
| 141 | #ifdef AUDIO_ENABLE | ||
| 142 | play_sound = true; | ||
| 143 | #endif | ||
| 144 | break; | ||
| 145 | } | ||
| 146 | case 1: | ||
| 147 | if (active) { | ||
| 148 | muse_mode = true; | ||
| 149 | } else { | ||
| 150 | muse_mode = false; | ||
| 151 | } | ||
| 152 | } | ||
| 153 | } | ||
| 154 | |||
| 155 | void matrix_scan_user(void) { | ||
| 156 | #ifdef AUDIO_ENABLE | ||
| 157 | if (muse_mode) { | ||
| 158 | if (muse_counter == 0) { | ||
| 159 | uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; | ||
| 160 | if (muse_note != last_muse_note) { | ||
| 161 | stop_note(compute_freq_for_midi_note(last_muse_note)); | ||
| 162 | play_note(compute_freq_for_midi_note(muse_note), 0xF); | ||
| 163 | last_muse_note = muse_note; | ||
| 164 | } | ||
| 165 | } | ||
| 166 | muse_counter = (muse_counter + 1) % muse_tempo; | ||
| 167 | } else { | ||
| 168 | if (muse_counter) { | ||
| 169 | stop_all_notes(); | ||
| 170 | muse_counter = 0; | ||
| 171 | } | ||
| 172 | } | ||
| 173 | #endif | ||
| 174 | } | ||
| 175 | |||
| 176 | bool music_mask_user(uint16_t keycode) { | ||
| 177 | switch (keycode) { | ||
| 178 | case RAISE: | ||
| 179 | case LOWER: | ||
| 180 | return false; | ||
| 181 | default: | ||
| 182 | return true; | ||
| 183 | } | ||
| 184 | } | ||
diff --git a/keyboards/planck/keymaps/hvp/readme.md b/keyboards/planck/keymaps/hvp/readme.md new file mode 100644 index 000000000..cb58d8578 --- /dev/null +++ b/keyboards/planck/keymaps/hvp/readme.md | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | Keyboard: Planck rev6 | ||
| 2 | Keys: 40% (12x4) ortholinear keyboard | ||
| 3 | Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout. | ||
| 4 | Flash instructions: Flash using avrdude, will req the hvp user space to compile. | ||
| 5 | |||
| 6 | > make planck/rev6:hvp:dfu-util | ||
| 7 | |||
| 8 | Links: | ||
| 9 | Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/planck | ||
| 10 | Eurkey layout - https://eurkey.steffen.bruentjen.eu/ | ||
diff --git a/keyboards/planck/keymaps/hvp/rules.mk b/keyboards/planck/keymaps/hvp/rules.mk new file mode 100644 index 000000000..896115f71 --- /dev/null +++ b/keyboards/planck/keymaps/hvp/rules.mk | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | SRC += muse.c | ||
| 2 | |||
| 3 | RGBLIGHT_ENABLE = no | ||
| 4 | TAP_DANCE_ENABLE = yes \ No newline at end of file | ||
diff --git a/keyboards/thevankeyboards/minivan/keymaps/hvp/config.h b/keyboards/thevankeyboards/minivan/keymaps/hvp/config.h new file mode 100644 index 000000000..cd2aa46c4 --- /dev/null +++ b/keyboards/thevankeyboards/minivan/keymaps/hvp/config.h | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | #define TAPPING_TERM 150 | ||
| 4 | #define IGNORE_MOD_TAP_INTERRUPT | ||
| 5 | #define PERMISSIVE_HOLD \ No newline at end of file | ||
diff --git a/keyboards/thevankeyboards/minivan/keymaps/hvp/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/hvp/keymap.c new file mode 100644 index 000000000..779292fb3 --- /dev/null +++ b/keyboards/thevankeyboards/minivan/keymaps/hvp/keymap.c | |||
| @@ -0,0 +1,54 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | #include "hvp.c" | ||
| 3 | |||
| 4 | #define _QW 0 | ||
| 5 | #define _L1 1 | ||
| 6 | #define _L2 2 | ||
| 7 | #define _L3 3 | ||
| 8 | #define _L4 4 | ||
| 9 | |||
| 10 | #define LT4_TAB LT(_L4, KC_TAB) | ||
| 11 | #define LT3_ESC LT(_L3, KC_ESC) | ||
| 12 | |||
| 13 | enum custom_keycodes { | ||
| 14 | QW = SAFE_RANGE, | ||
| 15 | L1, | ||
| 16 | L2, | ||
| 17 | L3, | ||
| 18 | L4 | ||
| 19 | }; | ||
| 20 | |||
| 21 | |||
| 22 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 23 | [_QW] = LAYOUT_arrow( /* Qwerty */ | ||
| 24 | LT4_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
| 25 | LT3_ESC, KC_A, KC_S, KC_D, LT(3,KC_F), LT(4,KC_G), KC_H, KC_J, KC_K, KC_L, TD(TD1), TD(TD2), | ||
| 26 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, TD(TD3), KC_SFTENT, | ||
| 27 | KC_LCTL, KC_LGUI, KC_LALT, LT(_L2,KC_ENT), LT(_L1,KC_SPC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
| 28 | ), | ||
| 29 | [_L1] = LAYOUT_arrow( /* LAYER 1 */ | ||
| 30 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
| 31 | KC_DELETE, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
| 32 | _______, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE, | ||
| 33 | _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END | ||
| 34 | ), | ||
| 35 | [_L2] = LAYOUT_arrow( /* LAYER 2 */ | ||
| 36 | KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_BSPC, | ||
| 37 | KC_DELETE, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE, | ||
| 38 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, | ||
| 39 | _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END | ||
| 40 | ), | ||
| 41 | [_L3] = LAYOUT_arrow( /* LAYER 3 */ | ||
| 42 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | ||
| 43 | _______, _______, _______, D_NAVI, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_PSCR, | ||
| 44 | _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, | ||
| 45 | _______, _______, KC_MUTE, KC_MPLY, KC_MSTP, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT | ||
| 46 | ), | ||
| 47 | |||
| 48 | [_L4] = LAYOUT_arrow( /* LAYER 4 */ | ||
| 49 | _______, RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, | ||
| 50 | _______, RGB_M_P, RGB_HUD, RGB_HUI, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, | ||
| 51 | KC_PSCR, _______, RGB_SAD, RGB_SAI, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______, | ||
| 52 | RESET, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______ | ||
| 53 | ) | ||
| 54 | }; \ No newline at end of file | ||
diff --git a/keyboards/thevankeyboards/minivan/keymaps/hvp/readme.md b/keyboards/thevankeyboards/minivan/keymaps/hvp/readme.md new file mode 100644 index 000000000..60ee3d6cd --- /dev/null +++ b/keyboards/thevankeyboards/minivan/keymaps/hvp/readme.md | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | Keyboard: Minivan 40% keyboard | ||
| 2 | Keys: A compact 44% keyboard. | ||
| 3 | Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout. | ||
| 4 | Flash instructions: Flash using dfu, will req the hvp user space to compile. | ||
| 5 | |||
| 6 | > make make thevankeyboards/minivan:hvp:dfu | ||
| 7 | |||
| 8 | Links: | ||
| 9 | Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/thevankeyboards/minivan | ||
| 10 | Eurkey layout - https://eurkey.steffen.bruentjen.eu/ | ||
diff --git a/keyboards/thevankeyboards/minivan/keymaps/hvp/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/hvp/rules.mk new file mode 100644 index 000000000..f039e269f --- /dev/null +++ b/keyboards/thevankeyboards/minivan/keymaps/hvp/rules.mk | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | RGBLIGHT_ENABLE = no | ||
| 2 | TAP_DANCE_ENABLE = yes \ No newline at end of file | ||
diff --git a/keyboards/ut472/keymaps/hvp/config.h b/keyboards/ut472/keymaps/hvp/config.h index 4ade43cdc..53fc5b76f 100644 --- a/keyboards/ut472/keymaps/hvp/config.h +++ b/keyboards/ut472/keymaps/hvp/config.h | |||
| @@ -17,6 +17,4 @@ | |||
| 17 | #pragma once | 17 | #pragma once |
| 18 | #define TAPPING_TERM 150 | 18 | #define TAPPING_TERM 150 |
| 19 | #define PERMISSIVE_HOLD | 19 | #define PERMISSIVE_HOLD |
| 20 | #define IGNORE_MOD_TAP_INTERRUPT | 20 | #define IGNORE_MOD_TAP_INTERRUPT \ No newline at end of file |
| 21 | |||
| 22 | // place overrides here | ||
diff --git a/keyboards/ut472/keymaps/hvp/keymap.c b/keyboards/ut472/keymaps/hvp/keymap.c index c37718dda..ec88e2423 100644 --- a/keyboards/ut472/keymaps/hvp/keymap.c +++ b/keyboards/ut472/keymaps/hvp/keymap.c | |||
| @@ -17,83 +17,43 @@ | |||
| 17 | #include "hvp.c" | 17 | #include "hvp.c" |
| 18 | 18 | ||
| 19 | #define LT3_ESC LT(3, KC_ESC) | 19 | #define LT3_ESC LT(3, KC_ESC) |
| 20 | #define LT4_TAB LT(4, KC_TAB) | ||
| 21 | #define D_NAVI MT(MOD_LCTL | MOD_LSFT, KC_D) | ||
| 20 | 22 | ||
| 21 | 23 | ||
| 22 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 24 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 23 | 25 | ||
| 24 | /* Base Layer | ||
| 25 | * ,-------------------------------------------------------------------------. | ||
| 26 | * | Esc | Q | W | E | R | T | Y | U | I | O | P |Bspace | | ||
| 27 | * |-------------------------------------------------------------------------+ | ||
| 28 | * |Tab/L3| A | S | D | F | G | H | J | K | L | ; | ' | | ||
| 29 | * |-------------------------------------------------------------------------+ | ||
| 30 | * | Shift | Z | X | C | V | B | N | M | , | . | / |Sh/En| | ||
| 31 | * |-------------------------------------------------------------------------+ | ||
| 32 | * | Ctrl| Alt | Gui | App | L2 | Space | L1 | Left| Down| Up |Right| | ||
| 33 | * `-------------------------------------------------------------------------' | ||
| 34 | */ | ||
| 35 | |||
| 36 | LAYOUT( | 26 | LAYOUT( |
| 37 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | 27 | LT4_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, |
| 38 | LT3_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD(TD1), TD(TD2), | 28 | LT3_ESC, KC_A, KC_S, KC_D, LT(3,KC_F), LT(4,KC_G), KC_H, KC_J, KC_K, KC_L, TD(TD1), TD(TD2), |
| 39 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, TD(TD3), KC_SFTENT, | 29 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, TD(TD3), KC_SFTENT, |
| 40 | KC_LCTL, KC_APP, KC_LGUI, KC_LALT, MO(2), MT(MOD_LSFT, KC_SPC), MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | 30 | KC_LCTL, KC_APP, KC_LGUI, KC_LALT, MO(2), KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT |
| 41 | ), | 31 | ), |
| 42 | 32 | ||
| 43 | /* FN Layer 1 | ||
| 44 | * ,-------------------------------------------------------------------------. | ||
| 45 | * | ` ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Delete| | ||
| 46 | * |-------------------------------------------------------------------------+ | ||
| 47 | * | | | | | | | | - | = | [ | ] | \ | | ||
| 48 | * |-------------------------------------------------------------------------+ | ||
| 49 | * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | | | ||
| 50 | * |-------------------------------------------------------------------------+ | ||
| 51 | * | | | |Capsl| | | | Home| PgDn| PgUp| End | | ||
| 52 | * `-------------------------------------------------------------------------' | ||
| 53 | */ | ||
| 54 | |||
| 55 | LAYOUT( /* Right */ | 33 | LAYOUT( /* Right */ |
| 56 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | 34 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, |
| 57 | KC_DELETE, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | 35 | KC_DELETE, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, |
| 58 | _______, _______, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, | 36 | _______, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE, |
| 59 | KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END | 37 | _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END |
| 60 | ), | 38 | ), |
| 61 | 39 | ||
| 62 | /* FN Layer 2 | ||
| 63 | * ,-------------------------------------------------------------------------. | ||
| 64 | * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) |Delete| | ||
| 65 | * |-------------------------------------------------------------------------+ | ||
| 66 | * | | | | | | | | _ | + | { | } | | | | ||
| 67 | * |-------------------------------------------------------------------------+ | ||
| 68 | * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | | | ||
| 69 | * |-------------------------------------------------------------------------+ | ||
| 70 | * | | | |Capsl| | | | Home| PgDn| PgUp| End | | ||
| 71 | * `-------------------------------------------------------------------------' | ||
| 72 | */ | ||
| 73 | |||
| 74 | LAYOUT( /* Left */ | 40 | LAYOUT( /* Left */ |
| 75 | KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_BSPC, | 41 | KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_BSPC, |
| 76 | KC_DELETE, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE, | 42 | KC_DELETE, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE, |
| 77 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 43 | _______, _______, _______, _______, _______, _______, _______, _______, KC_EQL, KC_LBRC, KC_RBRC, _______, |
| 78 | _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END | 44 | _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END |
| 79 | ), | 45 | ), |
| 80 | 46 | ||
| 81 | /* FN Layer 2 | 47 | LAYOUT( /* Esc */ |
| 82 | * ,-------------------------------------------------------------------------. | ||
| 83 | * | Esc | Calc|Webhm| Mail| Comp| | | | | |PrtSc| | | ||
| 84 | * |-------------------------------------------------------------------------+ | ||
| 85 | * | | | | | | | | | | | | | | ||
| 86 | * |-------------------------------------------------------------------------+ | ||
| 87 | * | | | | | | | | | | | | | | ||
| 88 | * |-------------------------------------------------------------------------+ | ||
| 89 | * | | | | | | | |MousL|MousD|MousU|MousR| | ||
| 90 | * `-------------------------------------------------------------------------' | ||
| 91 | */ | ||
| 92 | |||
| 93 | LAYOUT( /* Tab */ | ||
| 94 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | 48 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, |
| 95 | _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_PSCR, | 49 | _______, _______, _______, D_NAVI, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_PSCR, |
| 96 | _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, | 50 | _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, |
| 97 | RESET, _______, _______, _______, KC_MUTE, KC_MPLY, KC_MSTP, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT | 51 | _______, _______, _______, _______, KC_MUTE, KC_MPLY, KC_MSTP, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT |
| 52 | ), | ||
| 53 | LAYOUT( /* Tab */ | ||
| 54 | _______, RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, | ||
| 55 | _______, RGB_M_P, RGB_HUD, RGB_HUI, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, | ||
| 56 | KC_PSCR, _______, RGB_SAD, RGB_SAI, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______, | ||
| 57 | RESET, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______ | ||
| 98 | ), | 58 | ), |
| 99 | }; \ No newline at end of file | 59 | }; \ No newline at end of file |
diff --git a/keyboards/ut472/keymaps/hvp/readme.md b/keyboards/ut472/keymaps/hvp/readme.md index e3dcee467..a249201de 100644 --- a/keyboards/ut472/keymaps/hvp/readme.md +++ b/keyboards/ut472/keymaps/hvp/readme.md | |||
| @@ -1,5 +1,10 @@ | |||
| 1 | # UT47 default keymap | 1 | Keyboard: UT47.2 |
| 2 | Keys: 47key staggered 40% keyboard | ||
| 3 | Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout. | ||
| 4 | Flash instructions: Flash using dfu, will req the hvp user space to compile. | ||
| 2 | 5 | ||
| 3 |  | 6 | > make ut472:hvp:dfu |
| 4 | 7 | ||
| 5 | [KLE](http://www.keyboard-layout-editor.com/##@@_y:0%3B&=Esc&=Q&=W&=E&=R&=T&=Y&=U&=I&=O&=P&_w:1.5%3B&=Back%20Space&_x:0.25&a:4&f:4&w:4&h:4&d:true%3B&=%3Cb%3EGNAP!%3C%2F%2Fb%3E%3Cp%3E%3Cp%3EMinimum%20stagger%3Cp%3E47%20key%20layout%3B&@_a:7&f:3&w:1.25%3B&=Tab&=A&=S&=D&=F&=G&=H&=J&=K&=L&=%2F%3B&_w:1.25%3B&=%27%3B&@_w:1.5%3B&=Shift&=Z&=X&=C&=V&=B&=N&=M&=,&=.&=%2F%2F&=Return%3B&@=Ctrl&=Alt&=Super&=Menu&_w:1.25%3B&=%2F&dArr%2F%3B&_w:2%3B&=&_w:1.25%3B&=%2F&uArr%2F%3B&=%2F&larr%2F%3B&=%2F&darr%2F%3B&=%2F&uarr%2F%3B&=%2F&rarr%2F%3B%3B&=undefined) | 8 | Links: |
| 9 | Github - https://github.com/ai03-2725/UT47.2 | ||
| 10 | Eurkey layout - https://eurkey.steffen.bruentjen.eu/ | ||
diff --git a/users/hvp/hvp.h b/users/hvp/hvp.h index 2b2210f87..99da258aa 100644 --- a/users/hvp/hvp.h +++ b/users/hvp/hvp.h | |||
| @@ -4,3 +4,9 @@ | |||
| 4 | # include "tap_dances.h" | 4 | # include "tap_dances.h" |
| 5 | #endif | 5 | #endif |
| 6 | #include "quantum.h" | 6 | #include "quantum.h" |
| 7 | |||
| 8 | #define TAPPING_TERM 150 | ||
| 9 | |||
| 10 | // Keys | ||
| 11 | |||
| 12 | #define D_NAVI MT(MOD_LCTL | MOD_LSFT, KC_D) \ No newline at end of file | ||
diff --git a/users/hvp/tap_dances.c b/users/hvp/tap_dances.c index bb102b30a..1269d5f27 100644 --- a/users/hvp/tap_dances.c +++ b/users/hvp/tap_dances.c | |||
| @@ -6,10 +6,7 @@ void dance_1_finished(qk_tap_dance_state_t *state, void *user_data) { | |||
| 6 | if (state->count == 2) { | 6 | if (state->count == 2) { |
| 7 | tap_code(KC_SCLN); | 7 | tap_code(KC_SCLN); |
| 8 | } else { | 8 | } else { |
| 9 | register_code(KC_RALT); | 9 | tap_code16(ALGR(KC_A)); |
| 10 | register_code(KC_O); | ||
| 11 | unregister_code(KC_RALT); | ||
| 12 | unregister_code(KC_O); | ||
| 13 | } | 10 | } |
| 14 | } | 11 | } |
| 15 | 12 | ||
| @@ -17,8 +14,7 @@ void dance_1_reset(qk_tap_dance_state_t *state, void *user_data) { | |||
| 17 | if (state->count == 2) { | 14 | if (state->count == 2) { |
| 18 | unregister_code(KC_SCLN); | 15 | unregister_code(KC_SCLN); |
| 19 | } else { | 16 | } else { |
| 20 | unregister_code(KC_RALT); | 17 | unregister_code16(ALGR(KC_A)); |
| 21 | unregister_code(KC_O); | ||
| 22 | } | 18 | } |
| 23 | } | 19 | } |
| 24 | 20 | ||
| @@ -27,10 +23,7 @@ void dance_2_finished(qk_tap_dance_state_t *state, void *user_data) { | |||
| 27 | if (state->count == 2) { | 23 | if (state->count == 2) { |
| 28 | tap_code(KC_QUOT); | 24 | tap_code(KC_QUOT); |
| 29 | } else { | 25 | } else { |
| 30 | register_code(KC_RALT); | 26 | tap_code16(ALGR(KC_W)); |
| 31 | register_code(KC_A); | ||
| 32 | unregister_code(KC_RALT); | ||
| 33 | unregister_code(KC_A); | ||
| 34 | } | 27 | } |
| 35 | } | 28 | } |
| 36 | 29 | ||
| @@ -38,8 +31,7 @@ void dance_2_reset(qk_tap_dance_state_t *state, void *user_data) { | |||
| 38 | if (state->count == 2) { | 31 | if (state->count == 2) { |
| 39 | unregister_code(KC_QUOT); | 32 | unregister_code(KC_QUOT); |
| 40 | } else { | 33 | } else { |
| 41 | unregister_code(KC_RALT); | 34 | unregister_code16(ALGR(KC_W)); |
| 42 | unregister_code(KC_A); | ||
| 43 | } | 35 | } |
| 44 | } | 36 | } |
| 45 | 37 | ||
| @@ -49,10 +41,7 @@ void dance_3_finished(qk_tap_dance_state_t *state, void *user_data) { | |||
| 49 | if (state->count == 2) { | 41 | if (state->count == 2) { |
| 50 | tap_code(KC_SLSH); | 42 | tap_code(KC_SLSH); |
| 51 | } else { | 43 | } else { |
| 52 | register_code(KC_RALT); | 44 | tap_code16(ALGR(KC_O)); |
| 53 | register_code(KC_W); | ||
| 54 | unregister_code(KC_RALT); | ||
| 55 | unregister_code(KC_W); | ||
| 56 | } | 45 | } |
| 57 | } | 46 | } |
| 58 | 47 | ||
| @@ -60,8 +49,43 @@ void dance_3_reset(qk_tap_dance_state_t *state, void *user_data) { | |||
| 60 | if (state->count == 2) { | 49 | if (state->count == 2) { |
| 61 | unregister_code(KC_SLSH); | 50 | unregister_code(KC_SLSH); |
| 62 | } else { | 51 | } else { |
| 63 | unregister_code(KC_RALT); | 52 | unregister_code16(ALGR(KC_O)); |
| 64 | unregister_code(KC_W); | 53 | } |
| 54 | } | ||
| 55 | |||
| 56 | // Tap dance 4 | ||
| 57 | void dance_4_finished(qk_tap_dance_state_t *state, void *user_data) { | ||
| 58 | // if (state->count == 2) | ||
| 59 | if (state->count == 2) { | ||
| 60 | tap_code(KC_DOT); | ||
| 61 | } else { | ||
| 62 | tap_code16(ALGR(KC_W)); | ||
| 63 | } | ||
| 64 | } | ||
| 65 | |||
| 66 | void dance_4_reset(qk_tap_dance_state_t *state, void *user_data) { | ||
| 67 | if (state->count == 2) { | ||
| 68 | unregister_code(KC_DOT); | ||
| 69 | } else { | ||
| 70 | unregister_code16(ALGR(KC_W)); | ||
| 71 | } | ||
| 72 | } | ||
| 73 | |||
| 74 | // Tap dance 5 | ||
| 75 | void dance_5_finished(qk_tap_dance_state_t *state, void *user_data) { | ||
| 76 | // if (state->count == 2) | ||
| 77 | if (state->count == 2) { | ||
| 78 | tap_code(KC_DOT); | ||
| 79 | } else { | ||
| 80 | tap_code16(ALGR(KC_O)); | ||
| 81 | } | ||
| 82 | } | ||
| 83 | |||
| 84 | void dance_5_reset(qk_tap_dance_state_t *state, void *user_data) { | ||
| 85 | if (state->count == 2) { | ||
| 86 | unregister_code(KC_DOT); | ||
| 87 | } else { | ||
| 88 | unregister_code16(ALGR(KC_O)); | ||
| 65 | } | 89 | } |
| 66 | } | 90 | } |
| 67 | 91 | ||
| @@ -72,4 +96,8 @@ qk_tap_dance_action_t tap_dance_actions[] = { | |||
| 72 | 96 | ||
| 73 | [TD2] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_2_finished, dance_2_reset), | 97 | [TD2] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_2_finished, dance_2_reset), |
| 74 | 98 | ||
| 75 | [TD3] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_3_finished, dance_3_reset)}; \ No newline at end of file | 99 | [TD3] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_3_finished, dance_3_reset), |
| 100 | |||
| 101 | [TD4] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_4_finished, dance_4_reset), | ||
| 102 | |||
| 103 | [TD5] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_5_finished, dance_5_reset)}; \ No newline at end of file | ||
diff --git a/users/hvp/tap_dances.h b/users/hvp/tap_dances.h index 705985faa..cad9bd90e 100644 --- a/users/hvp/tap_dances.h +++ b/users/hvp/tap_dances.h | |||
| @@ -6,5 +6,7 @@ enum tapdance_id | |||
| 6 | { | 6 | { |
| 7 | TD1 = 0, | 7 | TD1 = 0, |
| 8 | TD2, | 8 | TD2, |
| 9 | TD3 | 9 | TD3, |
| 10 | TD4, | ||
| 11 | TD5 | ||
| 10 | }; | 12 | }; |
