aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/atreus62/keymaps/hvp/config.h5
-rw-r--r--keyboards/atreus62/keymaps/hvp/keymap.c67
-rw-r--r--keyboards/atreus62/keymaps/hvp/readme.md10
-rw-r--r--keyboards/atreus62/keymaps/hvp/rules.mk1
-rw-r--r--keyboards/crkbd/keymaps/hvp/keymap.c42
-rw-r--r--keyboards/crkbd/keymaps/hvp/readme.md11
-rw-r--r--keyboards/crkbd/keymaps/hvp/rules.mk2
-rw-r--r--keyboards/lets_split/keymaps/hvp/config.h40
-rw-r--r--keyboards/lets_split/keymaps/hvp/keymap.c65
-rw-r--r--keyboards/lets_split/keymaps/hvp/readme.md10
-rw-r--r--keyboards/lets_split/keymaps/hvp/rules.mk2
-rw-r--r--keyboards/lily58/keymaps/hvp/config.h56
-rw-r--r--keyboards/lily58/keymaps/hvp/keymap.c181
-rw-r--r--keyboards/lily58/keymaps/hvp/readme.md10
-rw-r--r--keyboards/lily58/keymaps/hvp/rules.mk13
-rw-r--r--keyboards/planck/keymaps/hvp/config.h39
-rw-r--r--keyboards/planck/keymaps/hvp/keymap.c184
-rw-r--r--keyboards/planck/keymaps/hvp/readme.md10
-rw-r--r--keyboards/planck/keymaps/hvp/rules.mk4
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/hvp/config.h5
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/hvp/keymap.c54
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/hvp/readme.md10
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/hvp/rules.mk2
-rw-r--r--keyboards/ut472/keymaps/hvp/config.h4
-rw-r--r--keyboards/ut472/keymaps/hvp/keymap.c76
-rw-r--r--keyboards/ut472/keymaps/hvp/readme.md11
-rw-r--r--users/hvp/hvp.h6
-rw-r--r--users/hvp/tap_dances.c66
-rw-r--r--users/hvp/tap_dances.h4
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
15const 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 @@
1Keyboard: Atreus62
2Keys: 62 keyed ortho staggered keyboard with a split layout and num row.
3Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout.
4Flash instructions: Flash using avrdude, will req the hvp user space to compile.
5
6> make make atreus62:hvp:avrdude
7
8Links:
9Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/atreus62
10Eurkey 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
27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 27const 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
77int RGB_current_mode; 77int RGB_current_mode;
78 78
79// Setting ADJUST layer RGB back to default 79// Setting ADJUST layer RGB back to default
80void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { 80void 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 @@
1Keymap to be used with Eurkey for easy access to swedish characters on first layer. 1Keyboard: Corne Keyboard (CRKBD)
2Keys: A split keyboard with 3x6 vertically staggered keys and 3 thumb keys.
3Layout: Swedish characters on main layer using tapdance. Built for eurkey keyboard layout.
4Flash instructions: Flash using avrdude, will req the hvp user space to compile.
2 5
3Links: 6> make crkbd:hvp:avrdude
4 7
5- https://eurkey.steffen.bruentjen.eu/ \ No newline at end of file 8Links:
9Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd
10Eurkey 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
12TAP_DANCE_ENABLE = yes 12TAP_DANCE_ENABLE = yes
13EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 13EXTRAKEY_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/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along 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
14enum 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
30const 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 @@
1Keyboard: Lets split!
2Keys: 48key ortho 40% keyboard
3Layout: Swedish characters on main layer using tapdance. Built for eurkey keyboard layout.
4Flash instructions: Flash using avrdude, will req the hvp user space to compile.
5
6> make lets_split/rev2:hvp:avrdude
7
8Links:
9Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/lets_split
10Eurkey 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 @@
1RGBLIGHT_ENABLE = yes
2TAP_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/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along 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
14extern rgblight_config_t rgblight_config;
15#endif
16
17extern 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
25enum custom_keycodes {
26 QWERTY = SAFE_RANGE,
27 LOWER,
28 RAISE,
29 NAVI,
30 ADJUST
31};
32
33
34const 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
76int RGB_current_mode;
77
78// Setting ADJUST layer RGB back to default
79void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
80
81}
82
83void 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.
97const char *read_layer_state(void);
98const char *read_logo(void);
99void set_keylog(uint16_t keycode, keyrecord_t *record);
100const char *read_keylog(void);
101const char *read_keylogs(void);
102
103void matrix_scan_user(void) {
104 iota_gfx_task();
105}
106
107void 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
121void 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
128void 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
136bool 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 @@
1Keyboard: Lily58
2Keys: Lily58 is 6×4+5keys column-staggered split keyboard.
3Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout.
4Flash instructions: Flash using dfu, will req the hvp user space to compile.
5
6> make lily58:hvp:dfu
7
8Links:
9Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58
10Eurkey 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 @@
1EXTRAKEY_ENABLE = yes
2RGBLIGHT_ENABLE = yes
3TAP_DANCE_ENABLE = yes
4
5# If you want to change the display of OLED, you need to change here
6SRC += ./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
20enum planck_layers {
21 _QWERTY,
22 _LOWER,
23 _RAISE,
24 _NAVI,
25 _ADJUST
26};
27
28enum 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
44const 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
86bool muse_mode = false;
87uint8_t last_muse_note = 0;
88uint16_t muse_counter = 0;
89uint8_t muse_offset = 70;
90uint16_t muse_tempo = 50;
91
92void 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
124void 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
155void 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
176bool 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 @@
1Keyboard: Planck rev6
2Keys: 40% (12x4) ortholinear keyboard
3Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout.
4Flash instructions: Flash using avrdude, will req the hvp user space to compile.
5
6> make planck/rev6:hvp:dfu-util
7
8Links:
9Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/planck
10Eurkey 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 @@
1SRC += muse.c
2
3RGBLIGHT_ENABLE = no
4TAP_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
13enum custom_keycodes {
14 QW = SAFE_RANGE,
15 L1,
16 L2,
17 L3,
18 L4
19};
20
21
22const 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 @@
1Keyboard: Minivan 40% keyboard
2Keys: A compact 44% keyboard.
3Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout.
4Flash instructions: Flash using dfu, will req the hvp user space to compile.
5
6> make make thevankeyboards/minivan:hvp:dfu
7
8Links:
9Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/thevankeyboards/minivan
10Eurkey 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 @@
1RGBLIGHT_ENABLE = no
2TAP_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
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 24const 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
36LAYOUT( 26LAYOUT(
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
55LAYOUT( /* Right */ 33LAYOUT( /* 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
74LAYOUT( /* Left */ 40LAYOUT( /* 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 47LAYOUT( /* Esc */
82 * ,-------------------------------------------------------------------------.
83 * | Esc | Calc|Webhm| Mail| Comp| | | | | |PrtSc| |
84 * |-------------------------------------------------------------------------+
85 * | | | | | | | | | | | | |
86 * |-------------------------------------------------------------------------+
87 * | | | | | | | | | | | | |
88 * |-------------------------------------------------------------------------+
89 * | | | | | | | |MousL|MousD|MousU|MousR|
90 * `-------------------------------------------------------------------------'
91 */
92
93LAYOUT( /* 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),
53LAYOUT( /* 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 1Keyboard: UT47.2
2Keys: 47key staggered 40% keyboard
3Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout.
4Flash instructions: Flash using dfu, will req the hvp user space to compile.
2 5
3![UT47 layout image](https://i.imgur.com/Tsz5qsF.png) 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) 8Links:
9Github - https://github.com/ai03-2725/UT47.2
10Eurkey 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
57void 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
66void 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
75void 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
84void 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};