diff options
Diffstat (limited to 'keyboards/navi10/keymaps')
-rw-r--r-- | keyboards/navi10/keymaps/default/keymap.c | 131 | ||||
-rw-r--r-- | keyboards/navi10/keymaps/default/readme.md | 11 | ||||
-rw-r--r-- | keyboards/navi10/keymaps/default/rules.mk | 1 | ||||
-rw-r--r-- | keyboards/navi10/keymaps/devdev/config.h | 35 | ||||
-rw-r--r-- | keyboards/navi10/keymaps/devdev/keymap.c | 263 | ||||
-rw-r--r-- | keyboards/navi10/keymaps/devdev/rules.mk | 2 | ||||
-rw-r--r-- | keyboards/navi10/keymaps/emdarcher/keymap.c | 182 | ||||
-rw-r--r-- | keyboards/navi10/keymaps/emdarcher/readme.md | 16 | ||||
-rw-r--r-- | keyboards/navi10/keymaps/emdarcher/rules.mk | 1 |
9 files changed, 0 insertions, 642 deletions
diff --git a/keyboards/navi10/keymaps/default/keymap.c b/keyboards/navi10/keymaps/default/keymap.c deleted file mode 100644 index d1b3127760..0000000000 --- a/keyboards/navi10/keymaps/default/keymap.c +++ /dev/null @@ -1,131 +0,0 @@ -/* Copyright 2019 Ethan Durrant (emdarcher) - * - * 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 QMK_KEYBOARD_H - -//create the tap type -typedef struct { - bool is_press_action; - int state; -} tap; - -//tap dance states -enum { - SINGLE_TAP = 1, - SINGLE_HOLD = 2, -}; - -//tap dance keys -enum { - TAPPY_KEY = 0 -}; - -//function to handle all the tap dances -int cur_dance(qk_tap_dance_state_t *state); - -//functions for each tap dance -void tk_finished(qk_tap_dance_state_t *state, void *user_data); -void tk_reset(qk_tap_dance_state_t *state, void *user_data); - -#define INDICATOR_LED B5 - -#define _FN0 1 -#define _ML1 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(/* Base */ - TD(TAPPY_KEY),KC_HOME, KC_PGUP, - KC_DEL, KC_END, KC_PGDN, - - KC_UP, - KC_LEFT, KC_DOWN, KC_RIGHT), - [_FN0] = LAYOUT(/* function layer */ - KC_TRNS, KC_PAUS, KC_VOLU, - KC_ENTER, KC_SLCK, KC_VOLD, - - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS), - [_ML1] = LAYOUT(/* media function layer, toggled on a single tap */ - KC_TRNS, KC_TRNS, KC_VOLU, - KC_MUTE, KC_TRNS, KC_VOLD, - - KC_SPC, - KC_MRWD, KC_MPLY, KC_MFFD), -}; - -//determine the current tap dance state -int cur_dance (qk_tap_dance_state_t *state){ - if(state->count == 1){ - //if a tap was registered - if(!state->pressed){ - //if not still pressed, then was a single tap - return SINGLE_TAP; - } else { - //if still pressed/held down, then it's a single hold - return SINGLE_HOLD; - } - } else { - return 8; - } -} - -//initialize the tap structure for the tap key -static tap tk_tap_state = { - .is_press_action = true, - .state = 0 -}; - -//functions that control what our tap dance key does -void tk_finished(qk_tap_dance_state_t *state, void *user_data){ - tk_tap_state.state = cur_dance(state); - switch(tk_tap_state.state){ - case SINGLE_TAP: - //send desired key when tapped: - //setting to the media layer - if(layer_state_is(_ML1)){ - //if already active, toggle it to off - layer_off(_ML1); - //turn off the indicator LED - //set LED HI to turn it off - writePinHigh(INDICATOR_LED); - } else { - //turn on the media layer - layer_on(_ML1); - //turn on the indicator LED - //set LED pin to LOW to turn it on - writePinLow(INDICATOR_LED); - } - break; - case SINGLE_HOLD: - //set to desired layer when held: - //setting to the function layer - layer_on(_FN0); - break; - } -} - -void tk_reset(qk_tap_dance_state_t *state, void *user_data){ - //if held and released, leave the layer - if(tk_tap_state.state == SINGLE_HOLD){ - layer_off(_FN0); - } - //reset the state - tk_tap_state.state = 0; -} - -//associate the tap dance key with its functionality -qk_tap_dance_action_t tap_dance_actions[] = { - [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, tk_finished, tk_reset, 275) -}; diff --git a/keyboards/navi10/keymaps/default/readme.md b/keyboards/navi10/keymaps/default/readme.md deleted file mode 100644 index 9e54a3f20a..0000000000 --- a/keyboards/navi10/keymaps/default/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# The default keymap for the Navi10 - -This keymap keeps a basic Navigation Cluster layout, but utilizes the Insert key as a FN/Tap key to access 2 layers. - -- Base Layer: - * Navigation Cluster (sans Insert Key) -- Hold Insert -> Function Layer: - * Maps Volume Control on PgUp/PgDN, Pause/Scroll-Lock on Home/End (MacOS brightness), and Delete to Enter. -- Tap Insert Once -> Media Layer (Tap again to leave): - * Has mappings for Audio control on MacOS using the arrow keys, PgUp/PgDn, and Delete. - * Lights up the Central 3mm indicator LED. diff --git a/keyboards/navi10/keymaps/default/rules.mk b/keyboards/navi10/keymaps/default/rules.mk deleted file mode 100644 index e5ddcae8d9..0000000000 --- a/keyboards/navi10/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes diff --git a/keyboards/navi10/keymaps/devdev/config.h b/keyboards/navi10/keymaps/devdev/config.h deleted file mode 100644 index dba45a5f24..0000000000 --- a/keyboards/navi10/keymaps/devdev/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2019 Ethan Durrant (emdarcher) - -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 -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#undef DEBOUNCE -#define DEBOUNCE 1 - -#define TAPPING_TERM 220 - -#ifdef RGBLIGHT_ENABLE - #define RGB_DI_PIN D3 - #define RGBLED_NUM 3 - - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 - - -#endif diff --git a/keyboards/navi10/keymaps/devdev/keymap.c b/keyboards/navi10/keymaps/devdev/keymap.c deleted file mode 100644 index b0d43ebc69..0000000000 --- a/keyboards/navi10/keymaps/devdev/keymap.c +++ /dev/null @@ -1,263 +0,0 @@ -/* Copyright 2019 Ethan Durrant (emdarcher) - * - * 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/>. - */ - - // NAVI 10 -#include QMK_KEYBOARD_H - -#define INDICATOR_LED B5 - - -#define _ML1 2 -#define _FN2 3 -#define _PR3 4 -#define _GI4 4 - - -#define HS_RED 0,255 -#define HS_WHITE 0, 0 -#define HS_ORANGE 28, 255 -#define HS_GREEN 85, 255 -#define HS_TURQUOISE 123, 90 -#define HS_CYAN 128, 255 -#define HS_AZURE 132, 102 -#define HS_BLUE 170, 255 -#define HS_PURPLE 191, 255 -#define HS_MAGENTA 213, 255 - - -//create the tap type -typedef struct { - bool is_press_action; - int state; -} tap; - -//tap dance states -enum { - // uses https://beta.docs.qmk.fm/using-qmk/software-features/feature_tap_dance - SINGLE_TAP = 1, - SINGLE_HOLD = 2, - DOUBLE_TAP = 3, - TRIPLE_TAP = 4, -}; - -//tap dance keys -enum { - TAPPY_KEY = 0 -}; - -enum custom_keycodes { // git macros - M_G_HERE = SAFE_RANGE, - M_G_PUSH, - M_G_PULL, - M_G_ADD, - M_G_COMM -}; - -//function to handle all the tap dances -int cur_dance(qk_tap_dance_state_t *state); - -//functions for each tap dance -void tk_finished(qk_tap_dance_state_t *state, void *user_data); -void tk_reset(qk_tap_dance_state_t *state, void *user_data); - -// define the macros in here -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // open git bash here - case M_G_HERE: - if (record->event.pressed) { - SEND_STRING(SS_TAP(X_APP)"s"); - } else { - // when keycode M_G_HERE is released - } - break; - - //git push - case M_G_PUSH: - if (record->event.pressed) { - // when keycode M_G_PUSH is pressed - SEND_STRING("git push"SS_TAP(X_ENTER)); - } else { - // when keycode M_G_PUSH is released - } - break; - - // git pull - case M_G_PULL: - if (record->event.pressed) { - SEND_STRING("git pull"SS_TAP(X_ENTER)); - } - break; - - // git add - case M_G_ADD: - if (record->event.pressed) { - SEND_STRING("git add "); - } - break; - - // git commit - case M_G_COMM: // git commit - if (record->event.pressed) { - SEND_STRING("git commit -m ' "); - } - break; - } - return true; -}; - - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - // Base - [0] = LAYOUT( - TD(TAPPY_KEY),KC_HOME, KC_PGUP, - KC_DEL, KC_END, KC_PGDN, - - KC_UP, - KC_LEFT, KC_DOWN, KC_RIGHT), - - // media function layer, toggled on a single tap - [_ML1] = LAYOUT( - KC_TRNS, KC_BSPC, KC_VOLU, - KC_MUTE, KC_ENTER, KC_VOLD, - - KC_SPC, - KC_MRWD, KC_MPLY, KC_MFFD), - - // F keys, double tap to get here - [_FN2] = LAYOUT( - TO(0), KC_F3, KC_F5, - KC_F2, KC_F4, KC_F6, - - KC_F7, - KC_F9, KC_F8, KC_F10), - - // programming, triple tap to get here - [_PR3] = LAYOUT( - TO(0), A(KC_F7), S(KC_F10), //atmel, segger, pycharm - KC_F2, KC_F4, S(KC_F9), - - KC_UP, - KC_LEFT, KC_DOWN, KC_RIGHT), - - // git function layer, hold to get here - [_GI4] = LAYOUT( - KC_TRNS, M_G_PUSH, M_G_ADD, - M_G_HERE, M_G_PULL, M_G_COMM, - - RGB_VAI, - RGB_TOG, RGB_VAD, RGB_MOD), - - - -}; - -//determine the current tap dance state -int cur_dance (qk_tap_dance_state_t *state){ - if(state->count == 1) - { - //if a tap was registered - if(!state->pressed) - { - //if not still pressed, then was a single tap - return SINGLE_TAP; - } else - { - //if still pressed/held down, then it's a single hold - return SINGLE_HOLD; - } - } - else if (state->count == 2) - { - return DOUBLE_TAP; - } - - else if (state->count == 3) - { - return TRIPLE_TAP; - } - else - { - return 8; - } -} - -//initialize the tap structure for the tap key -static tap tk_tap_state = { - .is_press_action = true, - .state = 0 -}; - -//functions that control what our tap dance key does -void tk_finished(qk_tap_dance_state_t *state, void *user_data){ - tk_tap_state.state = cur_dance(state); - uint8_t val = rgblight_get_val(); - switch(tk_tap_state.state){ - case SINGLE_TAP: - //send desired key when tapped: - //setting to the media layer - if(layer_state_is(_ML1)){ - //if already active, toggle it to off - layer_off(_ML1); - rgblight_sethsv(HS_PURPLE, val); - } else { - //turn on the media layer - layer_on(_ML1); - rgblight_sethsv_at(HS_RED, 0, 0); - rgblight_sethsv_at(HS_GREEN, 0, 1); - rgblight_sethsv_at(HS_BLUE, val, 2); - } - break; - - case DOUBLE_TAP: - layer_on(_FN2); - rgblight_sethsv_at(HS_RED, 0, 0); - rgblight_sethsv_at(HS_GREEN, val, 1); - rgblight_sethsv_at(HS_BLUE, 0, 2); - break; - case TRIPLE_TAP: - layer_on(_PR3); - rgblight_sethsv_at(HS_RED, 0, 0); - rgblight_sethsv_at(HS_GREEN, val, 1); - rgblight_sethsv_at(HS_BLUE, val, 2); - break; - case SINGLE_HOLD: - //set to desired layer when held: - //setting to the function layer - layer_on(_GI4); - rgblight_sethsv_at(HS_RED, val, 0); - rgblight_sethsv_at(HS_GREEN, val, 1); - rgblight_sethsv_at(HS_BLUE, val, 2); - break; - } -} - -void tk_reset(qk_tap_dance_state_t *state, void *user_data){ - //if held and released, leave the layer - if(tk_tap_state.state == SINGLE_HOLD){ - layer_off(_GI4); - uint8_t val = rgblight_get_val(); - rgblight_sethsv(HS_PURPLE, val); - } - //reset the state - tk_tap_state.state = 0; -} - -//associate the tap dance key with its functionality -qk_tap_dance_action_t tap_dance_actions[] = { - [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, tk_finished, tk_reset, TAPPING_TERM) -}; diff --git a/keyboards/navi10/keymaps/devdev/rules.mk b/keyboards/navi10/keymaps/devdev/rules.mk deleted file mode 100644 index 1c1ed316a0..0000000000 --- a/keyboards/navi10/keymaps/devdev/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -RGBLIGHT_ENABLE = yes -TAP_DANCE_ENABLE = yes
\ No newline at end of file diff --git a/keyboards/navi10/keymaps/emdarcher/keymap.c b/keyboards/navi10/keymaps/emdarcher/keymap.c deleted file mode 100644 index 40efed48d5..0000000000 --- a/keyboards/navi10/keymaps/emdarcher/keymap.c +++ /dev/null @@ -1,182 +0,0 @@ -/* Copyright 2019 Ethan Durrant (emdarcher) - * - * 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 QMK_KEYBOARD_H - -typedef struct { - bool is_press_action; - int state; -} tap; - -//tap dance states -enum { - SINGLE_TAP = 1, - SINGLE_HOLD = 2, - DOUBLE_TAP = 3, - TRIPLE_TAP = 4 -}; - -//tap dance keys -enum { - TAPPY_KEY = 0 -}; - -//function to handle all the tap dances -int cur_dance(qk_tap_dance_state_t *state); - -//functions for each tap dance -void tk_finished(qk_tap_dance_state_t *state, void *user_data); -void tk_reset(qk_tap_dance_state_t *state, void *user_data); - -#define INDICATOR_LED B5 -#define TX_LED D5 -#define RX_LED B0 - -#define _FN0 1 -#define _ML1 2 -#define _CL0 3 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(/* Base */ - TD(TAPPY_KEY),KC_HOME, KC_PGUP, - KC_DEL, KC_END, KC_PGDN, - - KC_UP, - KC_LEFT, KC_DOWN, KC_RIGHT), - [_FN0] = LAYOUT(/* function layer */ - KC_TRNS, KC_PAUS, KC_VOLU, - KC_ENTER, KC_SLCK, KC_VOLD, - - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS), - [_ML1] = LAYOUT(/* media function layer on double tap */ - KC_TRNS, KC_TRNS, KC_VOLU, - KC_MUTE, KC_TRNS, KC_VOLD, - - KC_SPC, - KC_MRWD, KC_MPLY, KC_MFFD), - [_CL0] = LAYOUT(/* control layer on single tap */ - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - - LCTL(KC_UP), - LCTL(KC_LEFT), LCTL(KC_DOWN), LCTL(KC_RIGHT) ), -}; - -void matrix_init_user(void) { - //init the Pro Micro on-board LEDs - setPinOutput(TX_LED); - setPinOutput(RX_LED); - //set to off - writePinHigh(TX_LED); - writePinHigh(RX_LED); -} - -//determine the current tap dance state -int cur_dance (qk_tap_dance_state_t *state){ - if(state->count == 1){ - //if a tap was registered - if(!state->pressed){ - //if not still pressed, then was a single tap - return SINGLE_TAP; - } else { - //if still pressed/held down, then it's a single hold - return SINGLE_HOLD; - } - } else if(state->count == 2){ - //if tapped twice, set to double tap - return DOUBLE_TAP; - } else if(state->count == 3){ - //if tapped thrice, set to triple tap - return TRIPLE_TAP; - } else { - return 8; - } -} - - -//initialize the tap structure for the tap key -static tap tk_tap_state = { - .is_press_action = true, - .state = 0 -}; - -//functions that control what our tap dance key does -void tk_finished(qk_tap_dance_state_t *state, void *user_data){ - tk_tap_state.state = cur_dance(state); - switch(tk_tap_state.state){ - case SINGLE_TAP: - //toggle desired layer when tapped: - if(layer_state_is(_CL0)){ - //if already active, toggle it to off - layer_off(_CL0); - //turn off LEDs - writePinHigh(TX_LED); - writePinHigh(RX_LED); - } else { - //turn on the command layer - layer_on(_CL0); - //turn on the LEDs - writePinLow(TX_LED); - writePinLow(RX_LED); - } - break; - case SINGLE_HOLD: - //set to desired layer when held: - //setting to the function layer - layer_on(_FN0); - break; - case DOUBLE_TAP: - //set to desired layer when double tapped: - //setting to the media layer - if(layer_state_is(_ML1)){ - //if already active, toggle it to off - layer_off(_ML1); - //turn off the indicator LED - //set LED HI to turn it off - writePinHigh(INDICATOR_LED); - } else { - //turn on the media layer - layer_on(_ML1); - //turn on the indicator LED - //set LED pin to LOW to turn it on - writePinLow(INDICATOR_LED); - } - break; - case TRIPLE_TAP: - //reset all layers - layer_clear(); - //set all LEDs off - writePinHigh(TX_LED); - writePinHigh(RX_LED); - writePinHigh(INDICATOR_LED); - break; - } -} - -void tk_reset(qk_tap_dance_state_t *state, void *user_data){ - //if held and released, leave the layer - if(tk_tap_state.state == SINGLE_HOLD){ - layer_off(_FN0); - } - //reset the state - tk_tap_state.state = 0; -} - - -//associate the tap dance key with its functionality -qk_tap_dance_action_t tap_dance_actions[] = { - [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, tk_finished, tk_reset, 275) -}; diff --git a/keyboards/navi10/keymaps/emdarcher/readme.md b/keyboards/navi10/keymaps/emdarcher/readme.md deleted file mode 100644 index b4ae6d75ff..0000000000 --- a/keyboards/navi10/keymaps/emdarcher/readme.md +++ /dev/null @@ -1,16 +0,0 @@ -# emdarcher's keymap for the Navi10 - -This is my personal keymap for the Navi10, developed for the original Rev0 prototype. It uses Tap Dance extensively on the INSERT key to access different layers. - -- Base Layer: - * Regular Navigation Cluster except for the INSERT key which is for tapping. -- Hold Insert -> Function Layer: - * Maps Volume Control on PgUp/PgDN, Pause/Scroll-Lock on Home/End (MacOS brightness), and Delete to Enter. -- 2 Taps -> Media Layer: - * Has mappings for Audio control on MacOS using the arrow keys, PgUp/PgDn, and Delete. - * Lights up the Central 3mm indicator LED. -- 1 Tap -> Control Layer: - * Binds the arrow keys as LCTRL + Arrow Key for use in changing workspaces in MacOS. - * Lights the Pro Micro TX/RX LEDs. These are visible through the board if you use clear PCB mount switch bases. - - diff --git a/keyboards/navi10/keymaps/emdarcher/rules.mk b/keyboards/navi10/keymaps/emdarcher/rules.mk deleted file mode 100644 index e5ddcae8d9..0000000000 --- a/keyboards/navi10/keymaps/emdarcher/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TAP_DANCE_ENABLE = yes |