diff options
| author | hvp <32483282+hvpkod@users.noreply.github.com> | 2020-01-02 20:31:54 +0100 | 
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2020-01-02 11:31:54 -0800 | 
| commit | 5404d6baef45e5eda0d080376ee31791fc05b16f (patch) | |
| tree | 7d2ddd4ed749665ae5a1a93385fe8d1f47140304 | |
| parent | 53757f97059ce02a1af31aae456b168954f5232e (diff) | |
| download | firmware-5404d6baef45e5eda0d080376ee31791fc05b16f.tar.gz firmware-5404d6baef45e5eda0d080376ee31791fc05b16f.tar.bz2 firmware-5404d6baef45e5eda0d080376ee31791fc05b16f.zip | |
[Keymap] Hvp baseline19 (#7690)
* Added my UT47.2 Swedish layout with tap dance function.
* Move tap dance over to user space
* Removed config_common from config file
* Changes to workspace with new support for code16. Tested ok
* Swedish support
* Added code16 version of tapdance to userprofile.
* Created 4th layer and updated readme file. Removed ascii rep of layout.
* Tabdance updates
* Removed duplicated RGB keys.
* Added hvp minivan config
* Fixed tapdance key maps
* Added Planck 1 space base hvp layout
* Start of hvp xd75 layout. Way to many keys
* Added working config ink test for atreus62
* fixed smaller layout changes
* Updated tap dance with option 5
* Added better thump keys
* Created lets split layout
* Removed not used modes
* Updated to correct url
* Readme file
* Atreus62 readme
* Cleanup of keymap file
* Added tap dance
* Fixed missed adjustment
* Added hvp planck setup
* Update ascii
* will this work better?
* removed ascii
* Planck 1 space setup
* Fixed ascii local
* Added Corne setup
* Changes for lets split
* Atreus62 config
* Added Lily58
* Setup corne
* Setup planck
* Updated lets split
* UT47 setup
* Setup a The Vanboard.
* Alt Ctrl
* #define D_NAVI MT(MOD_LCTL | MOD_LSFT, KC_D)
* Fix D_NAVI & plank midi
* Fixed PR comments
* Added pragma
* Moved def to user space
* Removed not used endif
* Added def to users space
* Added rules to van
* Removed not used part of config
* Removed not used layout
* Removed not needed comments
* Remove not needed keymap_config_t
* Removed broken ascii from readme files and removed not needed rules
* Added spaces to readme file
* Removed xd75 from branch
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 @@ +#pragma once + +#define TAPPING_TERM 150 +#define IGNORE_MOD_TAP_INTERRUPT +#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 @@ + +#include QMK_KEYBOARD_H +#include "hvp.c" + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +#define LT3_ESC LT(3, KC_ESC) +#define LT4_TAB LT(4, KC_TAB) +#define LT1_ENT LT(1, KC_ENTER) +#define LT2_BSP LT(2, KC_BSPC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +  LAYOUT( /* qwerty */ +    KC_GRV,   KC_1,   KC_2,   KC_3,   KC_4,   KC_5,                        KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC , +    LT4_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                        KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC , +    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) , +    KC_LSFT,  KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                        KC_N,    KC_M,    KC_COMM, KC_DOT,  TD(TD3), KC_SFTENT , +    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 +  ), + +  LAYOUT( /* Right */ +    KC_GRV,   KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                        KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS , +    KC_DEL,   KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                        KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC , +    KC_DEL,  _______, _______, _______, _______, KC_LEFT_PAREN,                KC_RIGHT_PAREN,  KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, +    _______, _______, _______, _______, _______, KC_LBRC,                     KC_RBRC, KC_UNDS, KC_PLUS,  KC_LCBR, KC_RCBR, KC_PIPE,  +    _______, _______, _______, _______, _______, _______, _______,  _______,  _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END +  ), + +  LAYOUT(/* Left */ +    KC_GRV,   KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                        KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS , +    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, +    KC_DELETE, _______, _______, _______, _______, KC_LEFT_PAREN, KC_RIGHT_PAREN,            KC_UNDS, KC_PLUS,  KC_LCBR, KC_RCBR, KC_BSLS, +    _______  , _______  , _______  , _______  , _______  , KC_LEFT_CURLY_BRACE  ,                     KC_RIGHT_CURLY_BRACE  ,KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_TILD, +    _______  , _______  , _______  , _______  , _______  , _______  , _______  ,  _______  ,  _______  , _______  , KC_HOME, KC_PGDN, KC_PGUP, KC_END +  ), + + +  LAYOUT(/* Esc */ +    KC_F1,  KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,                     KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, +    KC_F1,  KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,                     KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, +    KC_NO,  KC_NO, KC_NO, D_NAVI, KC_NO, KC_NO,                     KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO , +    KC_NO,  KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,                     KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_NO, KC_NO , +    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 +  ), + + +   +  LAYOUT(/* Tab */ +    _______,   KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                        KC_6,    KC_7,    KC_8,    KC_9,    KC_0, _______ , +    _______,  _______, _______, _______, _______, _______,                     _______, KC_4, KC_5, KC_6, _______, _______ , +    _______,  _______, _______, _______, _______, _______,                     KC_0, KC_1, KC_2, KC_3, _______, _______ , +    KC_PSCR,  _______, _______, _______, _______, _______,                     _______, _______, _______, _______, _______, _______ , +    RESET,  _______, _______, _______, _______, _______, _______,  _______,  _______, _______, _______, _______, _______, _______ +  ), +  /* +  [_TRNS] = LAYOUT( +    _______,  _______, _______, _______, _______, _______,                     _______, _______, _______, _______, _______, _______ , +    _______,  _______, _______, _______, _______, _______,                     _______, _______, _______, _______, _______, _______ , +    _______,  _______, _______, _______, _______, _______,                     _______, _______, _______, _______, _______, _______ , +    _______,  _______, _______, _______, _______, _______,                     _______, _______, _______, _______, _______, _______ , +    _______,  _______, _______, _______, _______, _______, _______,  _______,  _______, _______, _______, _______, _______, _______ +  ), +  */ +}; 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 @@ +Keyboard: Atreus62   +Keys: 62 keyed ortho staggered keyboard with a split layout and num row.   +Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout.   +Flash instructions: Flash using avrdude, will req the hvp user space to compile. + +> make make atreus62:hvp:avrdude + +Links:   +Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/atreus62   +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 {  };  const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -  [_QWERTY] = LAYOUT( \ +  [_QWERTY] = LAYOUT(    //,-----------------------------------------.                ,-----------------------------------------. -     KC_TAB,  KC_Q,  KC_W,  KC_E,  KC_R,  KC_T,                   KC_Y,  KC_U,  KC_I,  KC_O,  KC_P,KC_BSPC,\ +     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,    //|------+------+------+------+------+------|                |------+------+------+------+------+------| -    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),\ +    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),    //|------+------+------+------+------+------|                |------+------+------+------+------+------| -    KC_LCTL,  KC_Z,  KC_X,  KC_C,  KC_V,  KC_B,                   KC_N,  KC_M,KC_COMM,KC_DOT,TD(TD3),KC_SFTENT,\ +    KC_LCTL,  KC_Z,  KC_X,  KC_C,  KC_V,  KC_B,                   KC_N,  KC_M,KC_COMM,KC_DOT,TD(TD3),KC_SFTENT,    //|------+------+------+------+------+------+------|  |------+------+------+------+------+------+------| -                                KC_LGUI, LOWER,MT(MOD_LSFT, KC_SPC),   LT(_RAISE,KC_ENT), RAISE,KC_LALT \ +                                KC_LGUI, LT(1,KC_SPC),MT(MOD_LSFT, KC_SPC),   MT(MOD_LSFT,KC_ENT), LT(2,KC_SPC),KC_LALT                                 //`--------------------'  `--------------------'    ), -  [_RAISE] = LAYOUT( \ +  [_RAISE] = LAYOUT(     //,-----------------------------------------.                ,-----------------------------------------. -     KC_TAB,  KC_1,  KC_2,  KC_3,  KC_4,  KC_5,                   KC_6,  KC_7,  KC_8,  KC_9,  KC_0,KC_BSPC,\ +     KC_GRV,  KC_1,  KC_2,  KC_3,  KC_4,  KC_5,                   KC_6,  KC_7,  KC_8,  KC_9,  KC_0,KC_BSPC,    //|------+------+------+------+------+------|                |------+------+------+------+------+------| -    KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,                KC_LEFT,KC_DOWN,KC_UP, KC_RIGHT,KC_NO, KC_DEL,\ +    KC_DEL, _______, _______, _______, _______, _______,                _______,KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS,    //|------+------+------+------+------+------|                |------+------+------+------+------+------| -    KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,                  KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_NO, KC_NO,\ +    KC_LCTL, _______, _______, _______, _______, _______,                  _______, KC_UNDS, KC_PLUS,  KC_LCBR, KC_RCBR, KC_PIPE,     //|------+------+------+------+------+------+------|  |------+------+------+------+------+------+------| -                                KC_LGUI, LOWER,MT(MOD_LSFT, KC_SPC),   LT(_RAISE,KC_ENT), RAISE,KC_LALT \ +                                _______, _______, _______, _______, _______, _______                                 //`--------------------'  `--------------------'    ), -  [_LOWER] = LAYOUT( \ +  [_LOWER] = LAYOUT(    //,-----------------------------------------.                ,-----------------------------------------. -     KC_TAB,KC_EXLM,KC_AT,KC_HASH,KC_DLR,KC_PERC,              KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_BSPC,\ +     KC_TAB,KC_EXLM,KC_AT,KC_HASH,KC_DLR,KC_PERC,              KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_BSPC,    //|------+------+------+------+------+------|                |------+------+------+------+------+------| -    KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,                KC_MINS,KC_EQL,KC_LCBR,KC_RCBR,KC_PIPE,KC_GRV,\ +    KC_DEL, _______, _______, _______, _______, _______, _______,KC_UNDS, KC_PLUS,  KC_LCBR, KC_RCBR, KC_BSLS,    //|------+------+------+------+------+------|                |------+------+------+------+------+------| -    KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,                KC_UNDS,KC_PLUS,KC_LBRC,KC_RBRC,KC_BSLS,KC_TILD,\ +    KC_LCTL, _______, _______, _______, _______, _______, _______,  KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_TILD,     //|------+------+------+------+------+------+------|  |------+------+------+------+------+------+------| -                                KC_LGUI, LOWER,MT(MOD_LSFT, KC_SPC),   LT(_RAISE,KC_ENT), RAISE,KC_LALT \ +                                _______, _______, _______, _______, _______, _______                                 //`--------------------'  `--------------------'    ), -  [_ADJUST] = LAYOUT( \ +  [_ADJUST] = LAYOUT(    //,-----------------------------------------.                ,-----------------------------------------. -      KC_F1,KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,                  KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,\ +      _______,KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,                  KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,    //|------+------+------+------+------+------|                |------+------+------+------+------+------| -    KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,                 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ +    KC_F1,_______,_______,D_NAVI,_______,_______,                 KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,    //|------+------+------+------+------+------|                |------+------+------+------+------+------| -    RESET,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,                 KC_MPLY, KC_MNXT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,\ +    RESET,KC_PSCR,_______,_______,_______,_______,                 KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,    //|------+------+------+------+------+------+------|  |------+------+------+------+------+------+------| -                                KC_LGUI, LOWER,MT(MOD_LSFT, KC_SPC),   LT(_RAISE,KC_ENT), RAISE,KC_LALT \ +                                _______, KC_VOLD,KC_MPLY, KC_MNXT, KC_VOLU,_______                                 //`--------------------'  `--------------------'    )  }; -int RGB_current_mode; +int RGB_current_mode;   // Setting ADJUST layer RGB back to default  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 @@ -Keymap to be used with Eurkey for easy access to swedish characters on first layer. +Keyboard: Corne Keyboard (CRKBD)   +Keys: A split keyboard with 3x6 vertically staggered keys and 3 thumb keys.   +Layout: Swedish characters on main layer using tapdance. Built for eurkey keyboard layout.   +Flash instructions: Flash using avrdude, will req the hvp user space to compile. -Links: +> make crkbd:hvp:avrdude -- https://eurkey.steffen.bruentjen.eu/
\ No newline at end of file +Links:   +Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd   +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 \          # ./lib/timelogger.c \  TAP_DANCE_ENABLE = yes -EXTRAKEY_ENABLE = yes        # Audio control and System control(+450) +EXTRAKEY_ENABLE = yes        # Audio control and System control  # 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 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako <wakojun@gmail.com> +Copyright 2015 Jack Humbert + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program.  If not, see <http://www.gnu.org/licenses/>. +*/ + +#pragma once + + // place overrides here +#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ +                              SONG(COLEMAK_SOUND), \ +                              SONG(DVORAK_SOUND) \ +                            } + +/* Use I2C or Serial, not both */ +#define USE_SERIAL +// #define USE_I2C + +/* Select hand configuration */ +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#undef RGBLED_NUM +#define RGBLIGHT_ANIMATIONS +#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 @@ +#include QMK_KEYBOARD_H +#include "hvp.c" + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QWERTY 0 +#define _LOWER 3 +#define _RAISE 4 +#define _NAVI 5  +#define _ADJUST 6 + +enum custom_keycodes { +  QWERTY = SAFE_RANGE +}; + + +#define LOWER  MO(_LOWER) +#define RAISE  MO(_RAISE) +#define ADJUST MO(_ADJUST) + +#define LT3_ESC LT(5, KC_ESC) +#define LT4_TAB LT(6, KC_TAB) +#define F_NAVI LT(5, KC_F) + + + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_QWERTY] = LAYOUT_ortho_4x12( +   LT4_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,  +   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), +   KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  TD(TD3), KC_SFTENT ,  +   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   +), + +[_RAISE] = LAYOUT_ortho_4x12( /* Right */ +  KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,  +  KC_DEL, _______, _______, _______, _______, _______,                    _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, +  _______, _______, _______, _______, _______, _______,                   _______, KC_UNDS, KC_PLUS,  KC_LCBR, KC_RCBR, KC_PIPE,  +  _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END +), + +[_LOWER] = LAYOUT_ortho_4x12( /* Left */ +  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, +  KC_DEL, _______, _______, _______, _______, _______,                      _______, KC_UNDS, KC_PLUS,  KC_LCBR, KC_RCBR, KC_BSLS, +  _______, _______, _______, _______, _______, _______,                     _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_TILD,  +  _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END +), + +[_NAVI] =  LAYOUT_ortho_4x12( /* Esc */ +  KC_F1,  KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, +  _______, _______, _______, D_NAVI, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, +  _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, +  _______, _______, _______, _______, _______,KC_MUTE, KC_MPLY, KC_MSTP, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT +), + +[_ADJUST] =  LAYOUT_ortho_4x12( /* Tab */ +  _______,  RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, +  _______, RGB_M_P, RGB_HUD, RGB_HUI, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, +  KC_PSCR, _______, RGB_SAD, RGB_SAI, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______, +  RESET, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______ +)}; 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 @@ +Keyboard: Lets split!   +Keys: 48key ortho 40% keyboard   +Layout: Swedish characters on main layer using tapdance. Built for eurkey keyboard layout.   +Flash instructions: Flash using avrdude, will req the hvp user space to compile. + +> make lets_split/rev2:hvp:avrdude + +Links: +Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/lets_split   +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 @@ +RGBLIGHT_ENABLE = yes +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 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako <wakojun@gmail.com> +Copyright 2015 Jack Humbert + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program.  If not, see <http://www.gnu.org/licenses/>. +*/ + +#pragma once + +//#define USE_MATRIX_I2C + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define SSD1306OLED + +#define USE_SERIAL_PD2 + +#define TAPPING_TERM 100 +#undef TAPPING_TERM +#define TAPPING_TERM 150 + +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT + +#undef RGBLED_NUM +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 27 +#define RGBLIGHT_LIMIT_VAL 120 +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + +// Underglow +/* +#undef RGBLED_NUM +#define RGBLED_NUM 14    // Number of LEDs +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_SLEEP +*/
\ 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 @@ +#include QMK_KEYBOARD_H +#include "hvp.c" + +#ifdef PROTOCOL_LUFA +  #include "lufa.h" +  #include "split_util.h" +#endif +#ifdef SSD1306OLED +  #include "ssd1306.h" +#endif + +#ifdef RGBLIGHT_ENABLE +//Following line allows macro to read current RGB settings +extern rgblight_config_t rgblight_config; +#endif + +extern uint8_t is_master; + +#define _QWERTY 0 +#define _LOWER 1 +#define _RAISE 2 +#define _ADJUST 3 +#define _NAVI 4 + +enum custom_keycodes { +  QWERTY = SAFE_RANGE, +  LOWER, +  RAISE, +  NAVI, +  ADJUST +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT(  +  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,  +  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,  +  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), +  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), +                             KC_LALT, KC_LGUI, LOWER,LT(1,KC_SPC),   LT(2,KC_SPC),   RAISE,   KC_RALT, KC_RGUI +), +[_RAISE] = LAYOUT( /* Right */ +  _______, _______, _______,  _______,  _______,  _______,                   _______, _______, _______, _______, _______, _______,   +  KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                        KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,  +  KC_DEL, _______, _______, _______, _______, _______,                      _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, +  _______, _______, _______, _______, _______, _______, MT(MOD_LCTL,KC_LBRC),            MT(MOD_LALT,KC_RBRC),  _______, KC_UNDS, KC_PLUS,  KC_LCBR, KC_RCBR, KC_PIPE,  +                             _______, _______, _______,  _______, _______,  _______, _______, _______  +), + +[_LOWER] = LAYOUT( /* Left */ +  _______, _______, _______, _______, _______, _______,                   _______, _______, _______,_______, _______, _______, +  KC_TILD,KC_EXLM,KC_AT,KC_HASH,KC_DLR,KC_PERC,              KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_BSPC, +  KC_DEL, _______, _______, _______, _______, _______,                      _______, KC_UNDS, KC_PLUS,  KC_LCBR, KC_RCBR, KC_BSLS, +  _______, _______, _______, _______, _______, _______, MT(MOD_LCTL,KC_LCBR),         MT(MOD_LALT,KC_RCBR),  _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_TILD,  +                             _______, _______, _______,  _______, _______,  _______, _______, _______ +), + + [_NAVI] = LAYOUT( /* Tab */ +  KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,                     KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,  +  _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______, _______, _______,  +  _______, _______, _______, D_NAVI, _______, _______,                   KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,   _______, _______,  +  _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, +                             _______, KC_VOLD, KC_MPRV, KC_MSTP, KC_MPLY,  KC_MNXT, KC_VOLU, _______  +  ), + +  [_ADJUST] = LAYOUT( /* Esc */ +  _______,  RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______,                   _______, KC_7, KC_8, KC_9, KC_0, _______,  +  _______, RGB_M_P, RGB_HUD, RGB_HUI, _______, _______,                   _______, KC_4, KC_5, KC_6, _______, _______,  +  KC_PSCR, _______, RGB_SAD, RGB_SAI, _______, _______,                   KC_0, KC_1, KC_2, KC_3, _______, _______,  +  RESET, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +                             _______, KC_VOLD, KC_MPRV, KC_MSTP, KC_MPLY,  KC_MNXT, KC_VOLU, _______  +  ) +}; + +int RGB_current_mode; + +// Setting ADJUST layer RGB back to default +void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { +   +} + +void matrix_init_user(void) { +    #ifdef RGBLIGHT_ENABLE +      RGB_current_mode = rgblight_config.mode; +    #endif +    //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h +    #ifdef SSD1306OLED +        iota_gfx_init(!has_usb());   // turns on the display +    #endif +} + +//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h +#ifdef SSD1306OLED + +// When add source files to SRC in rules.mk, you can use functions. +const char *read_layer_state(void); +const char *read_logo(void); +void set_keylog(uint16_t keycode, keyrecord_t *record); +const char *read_keylog(void); +const char *read_keylogs(void); + +void matrix_scan_user(void) { +   iota_gfx_task(); +} + +void matrix_render_user(struct CharacterMatrix *matrix) { +  if (is_master) { +    // If you want to change the display of OLED, you need to change here +    matrix_write_ln(matrix, read_layer_state()); +    matrix_write_ln(matrix, read_keylog()); +    matrix_write_ln(matrix, read_keylogs()); +    //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); +    //matrix_write_ln(matrix, read_host_led_state()); +    //matrix_write_ln(matrix, read_timelog()); +  } else { +    matrix_write(matrix, read_logo()); +  } +} + +void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { +  if (memcmp(dest->display, source->display, sizeof(dest->display))) { +    memcpy(dest->display, source->display, sizeof(dest->display)); +    dest->dirty = true; +  } +} + +void iota_gfx_task_user(void) { +  struct CharacterMatrix matrix; +  matrix_clear(&matrix); +  matrix_render_user(&matrix); +  matrix_update(&display, &matrix); +} +#endif//SSD1306OLED + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { +  if (record->event.pressed) { +#ifdef SSD1306OLED +    set_keylog(keycode, record); +#endif +    // set_timelog(); +  } + +  switch (keycode) { +    case QWERTY: +      if (record->event.pressed) { +        set_single_persistent_default_layer(_QWERTY); +      } +      return false; +      break; +    case LOWER: +      if (record->event.pressed) { +        layer_on(_LOWER); +        update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); +      } else { +        layer_off(_LOWER); +        update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); +      } +      return false; +      break; +    case RAISE: +      if (record->event.pressed) { +        layer_on(_RAISE); +        update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); +      } else { +        layer_off(_RAISE); +        update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); +      } +      return false; +      break; +    case ADJUST: +        if (record->event.pressed) { +          layer_on(_ADJUST); +        } else { +          layer_off(_ADJUST); +        } +        return false; +        break; +  } +  return true; +}
\ 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 @@ +Keyboard: Lily58   +Keys: Lily58 is 6×4+5keys column-staggered split keyboard.   +Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout.   +Flash instructions: Flash using dfu, will req the hvp user space to compile. + +> make lily58:hvp:dfu + +Links:   +Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58   +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 @@ +EXTRAKEY_ENABLE = yes +RGBLIGHT_ENABLE = yes +TAP_DANCE_ENABLE = yes + +# If you want to change the display of OLED, you need to change here +SRC +=  ./lib/glcdfont.c \ +        ./lib/rgb_state_reader.c \ +        ./lib/layer_state_reader.c \ +        ./lib/logo_reader.c \ +        ./lib/keylogger.c \ +        # ./lib/mode_icon_reader.c \ +        # ./lib/host_led_state_reader.c \ +        # ./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 @@ +#pragma once +#define TAPPING_TERM 150 +#define IGNORE_MOD_TAP_INTERRUPT +#define PERMISSIVE_HOLD + +#ifdef AUDIO_ENABLE +#    define STARTUP_SONG SONG(PLANCK_SOUND) +// #define STARTUP_SONG SONG(NO_SOUND) + +#    define DEFAULT_LAYER_SONGS \ +        { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND) } +#endif + +/* + * MIDI options + */ + +/* Prevent use of disabled MIDI features in the keymap */ +//#define MIDI_ENABLE_STRICT 1 + +/* enable basic MIDI features: +   - MIDI notes can be sent when in Music mode is on +*/ + +#define MIDI_BASIC + +/* enable advanced MIDI features: +   - MIDI notes can be added to the keymap +   - Octave shift and transpose +   - Virtual sustain, portamento, and modulation wheel +   - etc. +*/ +//#define MIDI_ADVANCED + +/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ +//#define MIDI_TONE_KEYCODE_OCTAVES 2 + +// Most tactile encoders have detents every 4 stages +#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 @@ +/* Copyright 2015-2017 Jack Humbert + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program.  If not, see <http://www.gnu.org/licenses/>. + */ +#include "hvp.c" +#include QMK_KEYBOARD_H +#include "muse.h" + +enum planck_layers { +  _QWERTY, +  _LOWER, +  _RAISE, +  _NAVI, +  _ADJUST +}; + +enum planck_keycodes { +  QWERTY = SAFE_RANGE +}; + +#define _QWERTY 0 +#define _RAISE 1 +#define _LOWER 2 +#define _NAVI 3 +#define _ADJUST 5 + +#define LT3_ESC LT(3, KC_ESC) +#define LT4_TAB LT(5, KC_TAB) + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_QWERTY] = LAYOUT_planck_grid( +  LT4_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, +  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), +  KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  TD(TD3), KC_SFTENT, +  KC_LCTL, KC_APP, KC_LGUI, KC_LALT,  MO(2), KC_SPC,  KC_SPC, MO(1),  KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT +), + +[_RAISE] = LAYOUT_planck_grid( /* Right */ +  KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,  +  KC_DEL, _______, _______, _______, _______, _______,                    _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, +  _______, _______, _______, _______, _______, _______,                   _______, KC_UNDS, KC_PLUS,  KC_LCBR, KC_RCBR, KC_PIPE,  +  _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END +), + +[_LOWER] = LAYOUT_planck_grid( /* Left */ +  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, +  KC_DEL, _______, _______, _______, _______, _______,                      _______, KC_UNDS, KC_PLUS,  KC_LCBR, KC_RCBR, KC_BSLS, +  _______, _______, _______, _______, _______, _______,                     _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_TILD,  +  _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END +), + +[_NAVI] = LAYOUT_planck_grid( /* Esc */ +  KC_F1,  KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, +  _______, _______, _______, D_NAVI, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_PSCR, +  _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, +  _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPLY, KC_MSTP, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT +), + +[_ADJUST] = LAYOUT_planck_grid( /* Tab */ +  _______, _______,  AG_NORM, AG_SWAP, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, +  _______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, KC_4, KC_5, KC_6, _______, _______, +  KC_PSCR, MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______,  KC_0, KC_1, KC_2, KC_3, _______, +  RESET, _______, TERM_ON, TERM_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, DEBUG +)}; + +#ifdef AUDIO_ENABLE +  float plover_song[][2]     = SONG(PLOVER_SOUND); +  float plover_gb_song[][2]  = SONG(PLOVER_GOODBYE_SOUND); +#endif + +bool muse_mode = false; +uint8_t last_muse_note = 0; +uint16_t muse_counter = 0; +uint8_t muse_offset = 70; +uint16_t muse_tempo = 50; + +void encoder_update(bool clockwise) { +  if (muse_mode) { +    if (IS_LAYER_ON(_RAISE)) { +      if (clockwise) { +        muse_offset++; +      } else { +        muse_offset--; +      } +    } else { +      if (clockwise) { +        muse_tempo+=1; +      } else { +        muse_tempo-=1; +      } +    } +  } else { +    if (clockwise) { +      #ifdef MOUSEKEY_ENABLE +        tap_code(KC_MS_WH_DOWN); +      #else +        tap_code(KC_PGDN); +      #endif +    } else { +      #ifdef MOUSEKEY_ENABLE +        tap_code(KC_MS_WH_UP); +      #else +        tap_code(KC_PGUP); +      #endif +    } +  } +} + +void dip_switch_update_user(uint8_t index, bool active) { +    switch (index) { +        case 0: { +#ifdef AUDIO_ENABLE +            static bool play_sound = false; +#endif +            if (active) { +#ifdef AUDIO_ENABLE +                if (play_sound) { PLAY_SONG(plover_song); } +#endif +                layer_on(_ADJUST); +            } else { +#ifdef AUDIO_ENABLE +                if (play_sound) { PLAY_SONG(plover_gb_song); } +#endif +                layer_off(_ADJUST); +            } +#ifdef AUDIO_ENABLE +            play_sound = true; +#endif +            break; +        } +        case 1: +            if (active) { +                muse_mode = true; +            } else { +                muse_mode = false; +            } +    } +} + +void matrix_scan_user(void) { +#ifdef AUDIO_ENABLE +    if (muse_mode) { +        if (muse_counter == 0) { +            uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; +            if (muse_note != last_muse_note) { +                stop_note(compute_freq_for_midi_note(last_muse_note)); +                play_note(compute_freq_for_midi_note(muse_note), 0xF); +                last_muse_note = muse_note; +            } +        } +        muse_counter = (muse_counter + 1) % muse_tempo; +    } else { +        if (muse_counter) { +            stop_all_notes(); +            muse_counter = 0; +        } +    } +#endif +} + +bool music_mask_user(uint16_t keycode) { +  switch (keycode) { +    case RAISE: +    case LOWER: +      return false; +    default: +      return true; +  } +} 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 @@ +Keyboard: Planck rev6   +Keys: 40% (12x4) ortholinear keyboard   +Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout.   +Flash instructions: Flash using avrdude, will req the hvp user space to compile. + +> make planck/rev6:hvp:dfu-util + +Links:   +Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/planck   +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 @@ +SRC += muse.c + +RGBLIGHT_ENABLE = no +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 @@ +#pragma once + +#define TAPPING_TERM 150 +#define IGNORE_MOD_TAP_INTERRUPT +#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 @@ +#include QMK_KEYBOARD_H +#include "hvp.c" + +#define _QW 0 +#define _L1 1 +#define _L2 2 +#define _L3 3 +#define _L4 4 + +#define LT4_TAB LT(_L4, KC_TAB) +#define LT3_ESC LT(_L3, KC_ESC) + +enum custom_keycodes { +  QW = SAFE_RANGE, +  L1, +  L2, +  L3, +  L4 +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +  [_QW] = LAYOUT_arrow( /* Qwerty */ +    LT4_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, +    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), +    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  TD(TD3), KC_SFTENT, +    KC_LCTL, KC_LGUI, KC_LALT, LT(_L2,KC_ENT),  LT(_L1,KC_SPC), KC_LEFT, KC_DOWN, KC_UP,  KC_RGHT +  ), +  [_L1] = LAYOUT_arrow( /* LAYER 1 */ +    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, +    KC_DELETE, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, +    _______, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE, +    _______, _______, _______,     _______,      _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END +  ), +  [_L2] = LAYOUT_arrow( /* LAYER 2 */ +    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, +    KC_DELETE, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE, +    _______, _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   KC_PGUP,  _______, +    _______, _______, _______,      _______,      _______, _______, KC_HOME, KC_PGDN, KC_END +  ), +  [_L3] = LAYOUT_arrow( /* LAYER 3 */ +    KC_F1,  KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, +    _______, _______, _______, D_NAVI, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_PSCR, +    _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, +    _______, _______,  KC_MUTE,     KC_MPLY,      KC_MSTP, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT +  ), + +  [_L4] = LAYOUT_arrow( /* LAYER 4 */ +    _______,  RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, +    _______, RGB_M_P, RGB_HUD, RGB_HUI, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, +    KC_PSCR, _______, RGB_SAD, RGB_SAI, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______, +    RESET, _______, RGB_VAD, RGB_VAI, _______,     _______,    _______, _______, _______ +  ) +};
\ 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 @@ +Keyboard: Minivan 40% keyboard   +Keys: A compact 44% keyboard.   +Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout.   +Flash instructions: Flash using dfu, will req the hvp user space to compile. + +> make make thevankeyboards/minivan:hvp:dfu + +Links:   +Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/thevankeyboards/minivan   +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 @@ +RGBLIGHT_ENABLE = no +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 @@  #pragma once  #define TAPPING_TERM 150  #define PERMISSIVE_HOLD -#define IGNORE_MOD_TAP_INTERRUPT - -// place overrides here +#define IGNORE_MOD_TAP_INTERRUPT
\ No newline at end of file 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 @@  #include "hvp.c"  #define LT3_ESC LT(3, KC_ESC) +#define LT4_TAB LT(4, KC_TAB) +#define D_NAVI MT(MOD_LCTL | MOD_LSFT, KC_D)  const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -  /* Base Layer -   * ,-------------------------------------------------------------------------. -   * | Esc |  Q  |  W  |  E  |  R  |  T  |  Y  |  U  |  I  |  O  |  P  |Bspace | -   * |-------------------------------------------------------------------------+ -   * |Tab/L3|  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  |  ;  |   '  | -   * |-------------------------------------------------------------------------+ -   * | Shift |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  |  /  |Sh/En| -   * |-------------------------------------------------------------------------+ -   * | Ctrl| Alt | Gui | App |  L2  |   Space   |  L1  | Left| Down|  Up |Right| -   * `-------------------------------------------------------------------------' -   */ -  LAYOUT( -  KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, -  LT3_ESC, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    TD(TD1), TD(TD2), +  LT4_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, +  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),    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  TD(TD3), KC_SFTENT, -  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 +  KC_LCTL, KC_APP, KC_LGUI, KC_LALT,  MO(2),      KC_SPC,        MO(1),  KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT  ), -  /* FN Layer 1 -   * ,-------------------------------------------------------------------------. -   * | ` ~ |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  0  | Delete| -   * |-------------------------------------------------------------------------+ -   * |      |     |     |     |     |     |     |  -  |  =  |  [  |  ]  |  \   | -   * |-------------------------------------------------------------------------+ -   * |       | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 |     | -   * |-------------------------------------------------------------------------+ -   * |     |     |     |Capsl|      |          |       | Home| PgDn| PgUp| End | -   * `-------------------------------------------------------------------------' -   */ -  LAYOUT( /* Right */    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, -  KC_DELETE, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, -  _______, _______,  _______,  RGB_HUD,  RGB_HUI,  _______,  _______,  _______,  _______,  _______,  _______,  _______, -  KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______,     _______,      _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END +  KC_DELETE, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, +  _______, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE, +  _______, _______, _______, _______, _______,     _______,      _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END  ), -  /* FN Layer 2 -   * ,-------------------------------------------------------------------------. -   * |   ~  |  !  |  @  |  #  |  $  |  %  |  ^  |  &  |  *  |  (  |  )  |Delete| -   * |-------------------------------------------------------------------------+  -   * |      |     |     |     |     |     |     |  _  |  +  |  { |  }  |   |   | -   * |-------------------------------------------------------------------------+ -   * |       | F1  | F2  | F3  | F4  | F5  | F6  | F7  | F8  | F9  | F10 |     | -   * |-------------------------------------------------------------------------+ -   * |     |     |     |Capsl|      |          |       | Home| PgDn| PgUp| End | -   * `-------------------------------------------------------------------------' -   */ -  LAYOUT( /* Left */    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,    KC_DELETE, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE, -  _______, _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,  _______, +  _______, _______,   _______,   _______,   _______,   _______,   _______,   _______,   KC_EQL,   KC_LBRC,   KC_RBRC,  _______,    _______, _______, _______, _______, _______,     _______,      _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END  ), -  /* FN Layer 2 -   * ,-------------------------------------------------------------------------. -   * | Esc | Calc|Webhm| Mail| Comp|     |     |     |     |     |PrtSc|       | -   * |-------------------------------------------------------------------------+ -   * |      |     |     |     |     |     |     |     |     |     |     |      | -   * |-------------------------------------------------------------------------+ -   * |       |    |     |     |     |     |     |     |     |     |     |     | -   * |-------------------------------------------------------------------------+ -   * |     |     |     |     |      |          |       |MousL|MousD|MousU|MousR| -   * `-------------------------------------------------------------------------' -   */ - -LAYOUT( /* Tab */ +LAYOUT( /* Esc */    KC_F1,  KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, -  _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_PSCR, +  _______, _______, _______, D_NAVI, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_PSCR,    _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, -  RESET, _______, _______, _______, KC_MUTE,     KC_MPLY,      KC_MSTP, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT +  _______, _______, _______, _______, KC_MUTE,     KC_MPLY,      KC_MSTP, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT +), +LAYOUT( /* Tab */ +  _______,  RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, +  _______, RGB_M_P, RGB_HUD, RGB_HUI, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, +  KC_PSCR, _______, RGB_SAD, RGB_SAI, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______, +  RESET, _______, RGB_VAD, RGB_VAI, _______,     _______,      _______, _______, _______, _______, _______  ),  };
\ 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 @@ -# UT47 default keymap +Keyboard: UT47.2   +Keys: 47key staggered 40% keyboard   +Layout: Swedish characters on main layer using tap dance. Built for Eurkey keyboard layout.   +Flash instructions: Flash using dfu, will req the hvp user space to compile. - +> make ut472:hvp:dfu -[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) +Links:   +Github - https://github.com/ai03-2725/UT47.2   +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 @@  #    include "tap_dances.h"  #endif  #include "quantum.h" + +#define TAPPING_TERM 150 + +// Keys  + +#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) {      if (state->count == 2) {          tap_code(KC_SCLN);      } else { -        register_code(KC_RALT); -        register_code(KC_O); -        unregister_code(KC_RALT); -        unregister_code(KC_O); +        tap_code16(ALGR(KC_A));      }  } @@ -17,8 +14,7 @@ void dance_1_reset(qk_tap_dance_state_t *state, void *user_data) {      if (state->count == 2) {          unregister_code(KC_SCLN);      } else { -        unregister_code(KC_RALT); -        unregister_code(KC_O); +        unregister_code16(ALGR(KC_A));      }  } @@ -27,10 +23,7 @@ void dance_2_finished(qk_tap_dance_state_t *state, void *user_data) {      if (state->count == 2) {          tap_code(KC_QUOT);      } else { -        register_code(KC_RALT); -        register_code(KC_A); -        unregister_code(KC_RALT); -        unregister_code(KC_A); +        tap_code16(ALGR(KC_W));      }  } @@ -38,8 +31,7 @@ void dance_2_reset(qk_tap_dance_state_t *state, void *user_data) {      if (state->count == 2) {          unregister_code(KC_QUOT);      } else { -        unregister_code(KC_RALT); -        unregister_code(KC_A); +        unregister_code16(ALGR(KC_W));      }  } @@ -49,10 +41,7 @@ void dance_3_finished(qk_tap_dance_state_t *state, void *user_data) {      if (state->count == 2) {          tap_code(KC_SLSH);      } else { -        register_code(KC_RALT); -        register_code(KC_W); -        unregister_code(KC_RALT); -        unregister_code(KC_W); +        tap_code16(ALGR(KC_O));      }  } @@ -60,8 +49,43 @@ void dance_3_reset(qk_tap_dance_state_t *state, void *user_data) {      if (state->count == 2) {          unregister_code(KC_SLSH);      } else { -        unregister_code(KC_RALT); -        unregister_code(KC_W); +        unregister_code16(ALGR(KC_O)); +    } +} + +// Tap dance 4 +void dance_4_finished(qk_tap_dance_state_t *state, void *user_data) { +    // if (state->count == 2) +    if (state->count == 2) { +        tap_code(KC_DOT); +    } else { +        tap_code16(ALGR(KC_W)); +    } +} + +void dance_4_reset(qk_tap_dance_state_t *state, void *user_data) { +    if (state->count == 2) { +        unregister_code(KC_DOT); +    } else { +        unregister_code16(ALGR(KC_W)); +    } +} + +// Tap dance 5 +void dance_5_finished(qk_tap_dance_state_t *state, void *user_data) { +    // if (state->count == 2) +    if (state->count == 2) { +        tap_code(KC_DOT); +    } else { +        tap_code16(ALGR(KC_O)); +    } +} + +void dance_5_reset(qk_tap_dance_state_t *state, void *user_data) { +    if (state->count == 2) { +        unregister_code(KC_DOT); +    } else { +        unregister_code16(ALGR(KC_O));      }  } @@ -72,4 +96,8 @@ qk_tap_dance_action_t tap_dance_actions[] = {      [TD2] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_2_finished, dance_2_reset), -    [TD3] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_3_finished, dance_3_reset)};
\ No newline at end of file +    [TD3] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_3_finished, dance_3_reset), + +    [TD4] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_4_finished, dance_4_reset), + +    [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  {    TD1 = 0,    TD2, -  TD3 +  TD3, +  TD4, +  TD5  }; | 
