~ruther/qmk_firmware

d6f8df4be873bb9b876e4ec2bb41030c95f58155 — Jason Hazel 2 years ago 09666ea
hazel/bad_wings update  (#20947)

Changed default keymap to use json, added personal keymap, and changed CIRQUE_DEVICE_GESTURES_SCROLL_ENABLE to POINTING_DEVICE_GESTURES_SCROLL_ENABLE
M keyboards/hazel/bad_wings/keymaps/default/config.h => keyboards/hazel/bad_wings/keymaps/default/config.h +2 -2
@@ 12,5 12,5 @@
#define ONESHOT_TIMEOUT 500
#define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
#define CIRQUE_PINNACLE_TAP_ENABLE
#define CIRQUE_PINNACLE_POSITION_MODE  CIRQUE_PINNACLE_ABSOLUTE_MODE 
#define CIRQUE_DEVICE_GESTURES_SCROLL_ENABLE 
\ No newline at end of file
#define CIRQUE_PINNACLE_POSITION_MODE  CIRQUE_PINNACLE_ABSOLUTE_MODE
#define POINTING_DEVICE_GESTURES_SCROLL_ENABLE
\ No newline at end of file

D keyboards/hazel/bad_wings/keymaps/default/keymap.c => keyboards/hazel/bad_wings/keymaps/default/keymap.c +0 -35
@@ 1,35 0,0 @@
// Copyright 2023 Jason Hazel (@jasonhazel)
// SPDX-License-Identifier: GPL-3.0-or-later

#include QMK_KEYBOARD_H

layer_state_t layer_state_set_user(layer_state_t state) {
    return update_tri_layer_state(state, 1, 2, 3);
}

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_split_3x5_3(
        KC_Q,       KC_W,           KC_E,           KC_R,           KC_T,           KC_Y,       KC_U,           KC_I,       KC_O,       KC_P,         \
        KC_A,       KC_S,           KC_D,           KC_F,           KC_G,           KC_H,       KC_J,           KC_K,       KC_L,       KC_QUOT,      \
        KC_Z,       LGUI_T(KC_X),   LALT_T(KC_C),   KC_V,           KC_B,           KC_N,       KC_M,           KC_COMM,    KC_DOT,     KC_SLSH,      \
                                    KC_LCTL,        OSL(1),         OSM(MOD_LSFT),  KC_SPC,     LT(2, KC_BSPC), KC_ENT
    ),
    [1] = LAYOUT_split_3x5_3(
        KC_NO,      KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_RBRC,    KC_RCBR,        KC_RPRN,    KC_RABK,    KC_NO,        \
        KC_GRV,     KC_TILD,        KC_UNDS,        KC_EQL,         KC_NO,          KC_LBRC,    KC_LCBR,        KC_LPRN,    KC_LABK,    KC_BACKSLASH, \
        KC_NO,      KC_NO,          KC_PLUS,        KC_MINS,        KC_NO,          KC_NO,      KC_NO,          KC_COLN,    KC_DOT,     KC_SCLN,      \
                                    KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_TRNS,    KC_TRNS,        KC_TRNS
    ),
    [2] = LAYOUT_split_3x5_3(
        KC_EXLM,    KC_AT,          KC_HASH,        KC_DLR,         KC_PERC,        KC_CIRC,    KC_AMPR,        KC_ASTR,    KC_PIPE,    KC_NO,        \
        KC_1,       KC_2,           KC_3,           KC_4,           KC_5,           KC_6,       KC_7,           KC_8,       KC_9,       KC_0,         \
        KC_NO,      KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,      KC_NO,          KC_NO,      KC_DOT,     KC_NO,        \
                                    KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_TRNS,    KC_TRNS,        KC_TRNS
    ),
    [3] = LAYOUT_split_3x5_3(
        KC_ESC,     KC_F1,          KC_F4,          KC_F7,          KC_F10,         KC_NO,      KC_HOME,        KC_UP,      KC_END,     KC_BSPC,      \
        KC_TAB,     KC_F2,          KC_F5,          KC_F8,          KC_F11,         KC_NO,      KC_LEFT,        KC_DOWN,    KC_RIGHT,   KC_ENT,       \
        KC_NO,      KC_F3,          KC_F6,          KC_F9,          KC_F12,         KC_NO,      KC_MPRV,        KC_MPLY,    KC_MNXT,    KC_DEL,       \
                                    KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_TRNS,    KC_TRNS,        KC_TRNS
    )
};
\ No newline at end of file

A keyboards/hazel/bad_wings/keymaps/default/keymap.json => keyboards/hazel/bad_wings/keymaps/default/keymap.json +163 -0
@@ 0,0 1,163 @@
{
  "version": 1,
  "notes": "",
  "documentation": "",
  "keyboard": "hazel/bad_wings",
  "keymap": "default",
  "layout": "LAYOUT_split_3x5_3",
  "layers": [
    [
      "KC_Q",
      "KC_W",
      "KC_E",
      "KC_R",
      "KC_T",
      "KC_Y",
      "KC_U",
      "KC_I",
      "KC_O",
      "KC_P",
      "KC_A",
      "KC_S",
      "KC_D",
      "KC_F",
      "KC_G",
      "KC_H",
      "KC_J",
      "KC_K",
      "KC_L",
      "KC_QUOT",
      "KC_Z",
      "LGUI_T(KC_X)",
      "LALT_T(KC_C)",
      "KC_V",
      "KC_B",
      "KC_N",
      "KC_M",
      "KC_COMM",
      "KC_DOT",
      "KC_SLSH",
      "KC_LCTL",
      "OSL(1)",
      "OSM(MOD_LSFT)",
      "LT(3,KC_SPC)",
      "LT(2,KC_BSPC)",
      "KC_ENT"
    ],
    [
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_RBRC",
      "KC_RCBR",
      "KC_RPRN",
      "KC_GT",
      "KC_NO",
      "KC_GRV",
      "KC_TILD",
      "KC_UNDS",
      "KC_EQL",
      "KC_NO",
      "KC_LBRC",
      "KC_LCBR",
      "KC_LPRN",
      "KC_LT",
      "KC_BSLS",
      "KC_NO",
      "KC_NO",
      "KC_PLUS",
      "KC_MINS",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_COLN",
      "KC_DOT",
      "KC_SCLN",
      "KC_TRNS",
      "KC_TRNS",
      "KC_TRNS",
      "KC_TRNS",
      "KC_TRNS",
      "KC_TRNS"
    ],
    [
      "KC_EXLM",
      "KC_AT",
      "KC_HASH",
      "KC_DLR",
      "KC_PERC",
      "KC_CIRC",
      "KC_AMPR",
      "KC_ASTR",
      "KC_PIPE",
      "KC_NO",
      "KC_1",
      "KC_2",
      "KC_3",
      "KC_4",
      "KC_5",
      "KC_6",
      "KC_7",
      "KC_8",
      "KC_9",
      "KC_0",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_TRNS",
      "KC_TRNS",
      "KC_TRNS",
      "KC_TRNS",
      "KC_TRNS",
      "KC_TRNS"
    ],
    [
      "KC_ESC",
      "KC_F1",
      "KC_F4",
      "KC_F7",
      "KC_F10",
      "KC_NO",
      "KC_HOME",
      "KC_UP",
      "KC_END",
      "KC_NO",
      "KC_TAB",
      "KC_F2",
      "KC_F5",
      "KC_F8",
      "KC_F11",
      "KC_NO",
      "KC_LEFT",
      "KC_DOWN",
      "KC_RGHT",
      "KC_NO",
      "KC_NO",
      "KC_F3",
      "KC_F6",
      "KC_F9",
      "KC_F12",
      "KC_NO",
      "KC_MRWD",
      "KC_MPLY",
      "KC_MFFD",
      "KC_DEL",
      "KC_TRNS",
      "KC_TRNS",
      "KC_TRNS",
      "KC_TRNS",
      "KC_TRNS",
      "KC_TRNS"
    ]
  ],
  "author": "Jason Hazel"
}
\ No newline at end of file

A keyboards/hazel/bad_wings/keymaps/jasonhazel/config.h => keyboards/hazel/bad_wings/keymaps/jasonhazel/config.h +17 -0
@@ 0,0 1,17 @@
// Copyright 2023 Jason Hazel (@jasonhazel)
// SPDX-License-Identifier: GPL-3.0-or-later

#pragma once

#define TAPPING_TERM 200
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM_PER_KEY
#define ONESHOT_TAP_TOGGLE 10
#define ONESHOT_TIMEOUT 500
#define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
#define CIRQUE_PINNACLE_TAP_ENABLE
#define CIRQUE_PINNACLE_POSITION_MODE  CIRQUE_PINNACLE_ABSOLUTE_MODE

#define POINTING_DEVICE_GESTURES_SCROLL_ENABLE
\ No newline at end of file

A keyboards/hazel/bad_wings/keymaps/jasonhazel/keymap.c => keyboards/hazel/bad_wings/keymaps/jasonhazel/keymap.c +118 -0
@@ 0,0 1,118 @@
// Copyright 2023 Jason Hazel (@jasonhazel)
// SPDX-License-Identifier: GPL-3.0-or-later

#include QMK_KEYBOARD_H

enum layers {
  _ALPHA,
  _SYMBOL,
  _NUMBER,
  _NAVIGATION,
  LAYER_LENGTH
};


enum tapdances {
  TD_QESC,
  TD_SBKT,
  TD_CBKT,
  TD_PARN,
  TD_LTGT,
  TD_ATAB,
  TAPDANCE_LENGTH
};

enum combos {
  COMBO_NAVIGATION,
  COMBO_LENGTH
};


// begin tapdances
#define KC_QESC     TD(TD_QESC)
#define KC_SBKT     TD(TD_SBKT)
#define KC_CBKT     TD(TD_CBKT)
#define KC_PARN     TD(TD_PARN)
#define KC_LTGT     TD(TD_LTGT)
#define KC_ATAB     TD(TD_ATAB)

#define KC_GUIX     LGUI_T(KC_X)
#define KC_ALTC     LALT_T(KC_C)

// oneshots
#define KC_OSFT   OSM(MOD_LSFT)
#define KC_OALT   OSM(MOD_LALT)

// layer changing
#define KC_OSYM   OSL(_SYMBOL)
#define KC_ONUM   LT(_NUMBER, KC_BSPC)

uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
    switch(keycode) {
        case KC_GUIX:
        case KC_ALTC:
            return TAPPING_TERM * 2;
        default:
            return TAPPING_TERM;
    }
}

// tapdances
tap_dance_action_t tap_dance_actions[] = {
    [TD_QESC]   = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC),
    [TD_SBKT]   = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC),
    [TD_CBKT]   = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_RCBR),
    [TD_PARN]   = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, KC_RPRN),
    [TD_LTGT]   = ACTION_TAP_DANCE_DOUBLE(KC_LABK, KC_RABK),
    [TD_ATAB]   = ACTION_TAP_DANCE_DOUBLE(KC_A, KC_TAB)
};
// end tapdances

uint16_t COMBO_LEN = COMBO_LENGTH;

const uint16_t PROGMEM combo_navigation[] = { KC_OSYM, KC_ONUM, COMBO_END };
combo_t key_combos[] = {
  [COMBO_NAVIGATION]        = COMBO(combo_navigation, OSL(_NAVIGATION)),
};

uint16_t get_combo_term(uint16_t index, combo_t *combo) {
  switch(index) {
    case COMBO_NAVIGATION: // extending the combo term here helps reduce sticky layers some more.
      return 250;
    default:
      return COMBO_TERM;
  }
}
// end combos


// begin layers
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [_ALPHA] = LAYOUT_split_3x5_3(
    KC_QESC,    KC_W,       KC_E,       KC_R,       KC_T,             KC_Y,       KC_U,       KC_I,       KC_O,       KC_P,
    KC_A,       KC_S,       KC_D,       KC_F,       KC_G,             KC_H,       KC_J,       KC_K,       KC_L,       KC_QUOT,
    KC_Z,       KC_GUIX,    KC_ALTC,    KC_V,       KC_B,             KC_N,       KC_M,       KC_COMM,    KC_DOT,     KC_SLSH,
                            KC_LCTL,    KC_OSYM,    KC_OSFT,          KC_SPC,     KC_ONUM,    KC_ENT
  ),
  [_SYMBOL] = LAYOUT_split_3x5_3(
    KC_EXLM,    KC_AT,      KC_HASH,    KC_DLR,     KC_PERC,          KC_CIRC,     KC_AMPR,   KC_ASTR,    KC_PIPE,    KC_NO,
    KC_GRV,     KC_TILD,      KC_UNDS,    KC_EQL,     KC_NO,          KC_SBKT,     KC_CBKT,   KC_PARN,    KC_LTGT,  KC_BACKSLASH,
    KC_NO,      KC_NO,      KC_PLUS,    KC_MINS,    KC_NO,            KC_NO,       KC_NO,     KC_COLN,    KC_DOT,     KC_SCLN,
                             KC_LCTL,    KC_OSYM,    KC_OSFT,          KC_SPC,     KC_ONUM,    KC_ENT
  ),
  [_NUMBER] = LAYOUT_split_3x5_3(
    KC_NO,      KC_NO,      KC_NO,      KC_NO,      KC_NO,            KC_NO,      KC_NO,      KC_NO,      KC_NO,      KC_NO,
    KC_1,       KC_2,       KC_3,       KC_4,       KC_5,             KC_6,       KC_7,       KC_8,       KC_9,       KC_0,
    KC_NO,      KC_NO,      KC_NO,      KC_NO,      KC_NO,            KC_NO,      KC_NO,      KC_NO,      KC_DOT,     KC_NO,
                            KC_LCTL,    KC_OSYM,    KC_OSFT,          KC_SPC,     KC_ONUM,    KC_ENT
  ),
  [_NAVIGATION] = LAYOUT_split_3x5_3(
    KC_NO,      KC_F2,      KC_NO,      KC_NO,      KC_NO,          KC_NO,      KC_HOME,    KC_UP,      KC_END,     KC_BSPC,
    KC_TAB,     KC_NO,      KC_NO,      KC_NO,      KC_NO,          KC_NO,      KC_LEFT,    KC_DOWN,    KC_RIGHT,   KC_ENT,
    KC_NO,      KC_NO,      KC_NO,      KC_NO,      KC_NO,          KC_NO,      KC_MPRV,    KC_MPLY,    KC_MNXT,    KC_DEL,
                            KC_LCTL,    KC_OSYM,    KC_OSFT,        KC_SPC,     KC_ONUM,    KC_ENT 
  )
};




A keyboards/hazel/bad_wings/keymaps/jasonhazel/rules.mk => keyboards/hazel/bad_wings/keymaps/jasonhazel/rules.mk +4 -0
@@ 0,0 1,4 @@
MOUSEKEY_ENABLE			= yes
EXTRAKEY_ENABLE			= yes
COMBO_ENABLE				= yes
TAP_DANCE_ENABLE		= yes
\ No newline at end of file

Do not follow this link