diff options
author | flehrad <20124416+flehrad@users.noreply.github.com> | 2020-07-31 08:04:49 +1000 |
---|---|---|
committer | James Young <18669334+noroadsleft@users.noreply.github.com> | 2020-08-29 14:30:02 -0700 |
commit | 200444f8d2c12ac04fd081745c74020c92d5da16 (patch) | |
tree | aded3d59c2c13335966217a6d2d57be7d01d11f6 /keyboards/flehrad/bigswitch/keymaps | |
parent | 4764aa8711cadc2776fde7641e97e280c4ac55c5 (diff) |
[Keyboard] relocating boards by flehrad (#9635)
Co-authored-by: flehrad <flehrad@users.noreply.github.com>
Diffstat (limited to 'keyboards/flehrad/bigswitch/keymaps')
7 files changed, 258 insertions, 0 deletions
diff --git a/keyboards/flehrad/bigswitch/keymaps/333fred/config.h b/keyboards/flehrad/bigswitch/keymaps/333fred/config.h new file mode 100644 index 0000000000..76f13f08b5 --- /dev/null +++ b/keyboards/flehrad/bigswitch/keymaps/333fred/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2018 Fredric Silberberg (333fred) + +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 + +// Long tapping term on the big switch, because it takes so long to press +#define TAPPING_TERM 500 diff --git a/keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c b/keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c new file mode 100644 index 0000000000..be40fecb23 --- /dev/null +++ b/keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c @@ -0,0 +1,123 @@ +#include QMK_KEYBOARD_H + +typedef enum { + SINGLE_TAP, SINGLE_HOLD, DOUBLE, TRIPLE, QUAD +} tap_dance_state_enum; + +enum { + TD_KEY = 0 +}; + +static tap_dance_state_enum tap_dance_state; +static bool tap_dance_active = false; +static uint16_t timer; + +void dance_cycle(bool override_timer) { + if (tap_dance_active) + { + if (timer_elapsed(timer) > 100 || override_timer) + { + switch (tap_dance_state) + { + case SINGLE_HOLD: + { + rgblight_increase_hue_noeeprom(); + break; + } + + case DOUBLE: + { + rgblight_step_noeeprom(); + break; + } + + case TRIPLE: + { + rgblight_toggle_noeeprom(); + break; + } + + default: + // Not needed + break; + } + + timer = timer_read(); + } + } +} + +void dance_finished(qk_tap_dance_state_t *state, void* user_data) { + // Determine the current state + switch (state->count) + { + case 1: + { + if (state->interrupted || state->pressed == 0) tap_dance_state = SINGLE_TAP; + else tap_dance_state = SINGLE_HOLD; + break; + } + case 2: + { + tap_dance_state = DOUBLE; + break; + } + case 3: + { + tap_dance_state = TRIPLE; + break; + } + default: + { + tap_dance_state = QUAD; + break; + } + } + + switch (tap_dance_state) + { + case SINGLE_TAP: + { + // VS Build: CTRL+SHIFT+B + send_string_with_delay_P(PSTR(SS_DOWN(X_LCTRL) SS_DOWN(X_LSHIFT) "b" SS_UP(X_LSHIFT) SS_UP(X_LCTRL)), 10); + tap_dance_active = false; + break; + } + + case SINGLE_HOLD: + case DOUBLE: + case TRIPLE: + { + // These are handled by the matrix_scan, which will register the appropriate rgb + // functions every scan + tap_dance_active = true; + timer = timer_read(); + dance_cycle(true); + break; + } + + case QUAD: + { + // Reprogram + reset_keyboard(); + break; + } + } +} + +void dance_reset(qk_tap_dance_state_t *state, void* user_data) +{ + tap_dance_active = false; +} + +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_KEY] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_finished, dance_reset) +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT(TD(TD_KEY)) +}; + +void matrix_scan_user(void) { + dance_cycle(false); +} diff --git a/keyboards/flehrad/bigswitch/keymaps/333fred/rules.mk b/keyboards/flehrad/bigswitch/keymaps/333fred/rules.mk new file mode 100644 index 0000000000..20aaadacbc --- /dev/null +++ b/keyboards/flehrad/bigswitch/keymaps/333fred/rules.mk @@ -0,0 +1,5 @@ +# I'm not using things from my userpace in this one +USER_NAME = disable + +RGBLIGHT_ENABLE = yes +TAP_DANCE_ENABLE = yes diff --git a/keyboards/flehrad/bigswitch/keymaps/default/keymap.c b/keyboards/flehrad/bigswitch/keymaps/default/keymap.c new file mode 100644 index 0000000000..210d001236 --- /dev/null +++ b/keyboards/flehrad/bigswitch/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +/* +Copyright 2018 QMK Contributors + +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 +#define KC_OSX_EJECT 0x66 +#define LOCK_OSX LSFT(LCTL(KC_OSX_EJECT)) +#define SLEEP_OSX LALT(LGUI(KC_OSX_EJECT)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +LAYOUT(SLEEP_OSX), + +}; diff --git a/keyboards/flehrad/bigswitch/keymaps/wanleg/config.h b/keyboards/flehrad/bigswitch/keymaps/wanleg/config.h new file mode 100644 index 0000000000..54abb9a6c1 --- /dev/null +++ b/keyboards/flehrad/bigswitch/keymaps/wanleg/config.h @@ -0,0 +1,42 @@ +/* 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 } + +/* COL2ROW, ROW2COL*/ +#undef DIODE_DIRECTION +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_PIN B5 +#define BACKLIGHT_BREATHING +#define BACKLIGHT_LEVELS 3 +#define BREATHING_PERIOD 5 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#undef DEBOUNCE +#define DEBOUNCE 5 + +// set flashing LED with QMK DFU +#define QMK_LED B0 + +// set audio pin +#define C6_AUDIO diff --git a/keyboards/flehrad/bigswitch/keymaps/wanleg/keymap.c b/keyboards/flehrad/bigswitch/keymaps/wanleg/keymap.c new file mode 100644 index 0000000000..76d0808fda --- /dev/null +++ b/keyboards/flehrad/bigswitch/keymaps/wanleg/keymap.c @@ -0,0 +1,26 @@ +/* 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) \ +), +[1] = LAYOUT( /*Secondary*/ +TD(BSW_TAP_DANCE) \ +), +};
\ No newline at end of file diff --git a/keyboards/flehrad/bigswitch/keymaps/wanleg/rules.mk b/keyboards/flehrad/bigswitch/keymaps/wanleg/rules.mk new file mode 100644 index 0000000000..75da67fa47 --- /dev/null +++ b/keyboards/flehrad/bigswitch/keymaps/wanleg/rules.mk @@ -0,0 +1,15 @@ +#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 + +AUDIO_ENABLE = yes # Audio output on port C6 +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = no # Commands for debug and configuration +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches |