diff options
author | peepeetee <43021794+peepeetee@users.noreply.github.com> | 2022-04-19 18:17:21 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-19 20:17:21 +1000 |
commit | 9f63bce70bd8e065e54de17c48994c3c008d2e0a (patch) | |
tree | 580aa20cd65eabf721603f03cb3d2815a1245c13 /keyboards/navi10/keymaps/emdarcher | |
parent | cff489bfdb2752956292c1e9adf1b4223814c267 (diff) |
move keyhive exclusive boards into /keyhive (#16084)
Co-authored-by: Nick Brassel <nick@tzarc.org>
Diffstat (limited to 'keyboards/navi10/keymaps/emdarcher')
-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 |
3 files changed, 0 insertions, 199 deletions
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 |