Browse Source

Keymap: Big switch config (#3904)

* bigswitch keymap

* bigswitch keymap

* bigswitch keymap

* bigswitch keymap

* recommended edits made

* forgot to revert this change with the others
pull/3939/head
wanleg 5 years ago
committed by Drashna Jaelre
parent
commit
fe3bfd91c1
6 changed files with 141 additions and 0 deletions
  1. +2
    -0
      keyboards/bigswitch/bigswitch.c
  2. +45
    -0
      keyboards/bigswitch/keymaps/wanleg/config.h
  3. +27
    -0
      keyboards/bigswitch/keymaps/wanleg/keymap.c
  4. +7
    -0
      keyboards/bigswitch/keymaps/wanleg/rules.mk
  5. +59
    -0
      users/wanleg/tapdances.c
  6. +1
    -0
      users/wanleg/wanleg.h

+ 2
- 0
keyboards/bigswitch/bigswitch.c View File

@ -19,10 +19,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
volatile uint8_t runonce = true;
static uint16_t my_timer;
__attribute__ ((weak))
void matrix_init_user(void) {
my_timer = timer_read();
}
__attribute__ ((weak))
void matrix_scan_user(void) {
if (runonce && timer_elapsed(my_timer) > 1000) {
runonce = false;


+ 45
- 0
keyboards/bigswitch/keymaps/wanleg/config.h View File

@ -0,0 +1,45 @@
/* Copyright 2018 wanleg
*
* 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
#undef MATRIX_ROW_PINS
#define MATRIX_ROW_PINS { B4 }
#undef MATRIX_COL_PINS
#define MATRIX_COL_PINS { B6 }
//#define UNUSED_PINS
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#undef DIODE_DIRECTION
#define DIODE_DIRECTION COL2ROW
#define BACKLIGHT_PIN B5
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3
#define BREATHING_PERIOD 5
/* for Tap Dance */
#undef TAPPING_TERM
#define TAPPING_TERM 700
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
//#define DEBOUNCING_DELAY 5
#undef DEBOUNCING_DELAY
#define DEBOUNCING_DELAY 2
// set flashing LED with QMK DFU
#define QMK_LED B0

+ 27
- 0
keyboards/bigswitch/keymaps/wanleg/keymap.c View File

@ -0,0 +1,27 @@
/* Copyright 2018 wanleg
*
* 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
#include "wanleg.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
TD(CAD_TD) \
),
};
void led_set_user(uint8_t usb_led) {
}

+ 7
- 0
keyboards/bigswitch/keymaps/wanleg/rules.mk View File

@ -0,0 +1,7 @@
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
#If using a ProMicro and it has the QMK DFU bootloader instead of Caterina,
#run "make <keyboard>:<keymap> dfu=qmk" when compiling to ensure it is flagged properly after being flashed
ifeq ($(strip $(dfu)), qmk)
BOOTLOADER = qmk-dfu
endif

+ 59
- 0
users/wanleg/tapdances.c View File

@ -94,6 +94,64 @@ void DEL_reset (qk_tap_dance_state_t *state, void *user_data) {
}
DELtap_state.state = 0;
}
//instantialize an instance of 'tap' for the 'CAD' tap dance.
static tap CADtap_state = {
.is_press_action = true,
.state = 0
};
void CAD_finished (qk_tap_dance_state_t *state, void *user_data) {
CADtap_state.state = cur_dance(state);
switch (CADtap_state.state) {
case SINGLE_TAP:
//register_code(KC_SPC);
SEND_STRING(SS_LGUI("l"));
backlight_set(3);
break;
case SINGLE_HOLD:
//register_code(KC_NO);
//take a screenshot of a single window, open Paint and paste
SEND_STRING(SS_LALT(SS_TAP(X_PSCREEN)) SS_LGUI("r"));
_delay_ms(500);
SEND_STRING("mspaint" SS_TAP(X_ENTER));
_delay_ms(700);
SEND_STRING(SS_LCTRL("v"));
break; //register this keycode when button is held
case DOUBLE_TAP:
//register_code(KC_ENT);
SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_DELETE))));
backlight_set(0);
break;
//case DOUBLE_HOLD: register_code(KC_NO); break; //register this keycode when button is tapped and then held
case DOUBLE_HOLD:
reset_keyboard();
break; //register this keycode when button is tapped and then held
case DOUBLE_SINGLE_TAP: register_code(KC_NO); unregister_code(KC_NO); register_code(KC_NO);
}
}
void CAD_reset (qk_tap_dance_state_t *state, void *user_data) {
switch (CADtap_state.state) {
case SINGLE_TAP:
//unregister_code(KC_SPC);
SEND_STRING(SS_LGUI("l"));
backlight_set(3);
break;
case SINGLE_HOLD:
register_code(KC_NO); //(un)register this keycode when button is held and then released
//SEND_STRING(SS_LCTRL("v"));
break;
case DOUBLE_TAP:
//register_code(KC_ENT);
SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_DELETE))));
backlight_set(0);
break;
case DOUBLE_HOLD: register_code(KC_NO); //(un)register this keycode when button is tapped and then held, and then released
case DOUBLE_SINGLE_TAP: unregister_code(KC_NO);
}
CADtap_state.state = 0;
}
///// QUAD FUNCTION TAP DANCE PERSONALIZATION SECTION END /////
//Tap Dance Definitions
@ -104,6 +162,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
,[TD_Q_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC)
,[ENT_TAP_DANCE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ENT_finished, ENT_reset)
,[DEL_TAP_DANCE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, DEL_finished, DEL_reset)
,[CAD_TD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, CAD_finished, CAD_reset)
};
//In Layer declaration, add tap dance item in place of a key code

+ 1
- 0
users/wanleg/wanleg.h View File

@ -106,6 +106,7 @@ enum {
,TD_Q_ESC
,ENT_TAP_DANCE
,DEL_TAP_DANCE
,CAD_TD
};
#endif


Loading…
Cancel
Save