~ruther/qmk_firmware

7514f5124ac81ce1db51eb07a287f82d6a9bf10c — Jason Dunsmore 5 years ago 31e4583
[Keymap] Update keymap for user jasondunsmore (#8047)

M keyboards/keebio/iris/keymaps/jasondunsmore/config.h => keyboards/keebio/iris/keymaps/jasondunsmore/config.h +2 -6
@@ 17,11 17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#pragma once

/* Use I2C or Serial, not both */
#define USE_SERIAL
// #define USE_I2C

/* Select hand configuration */
#define MASTER_LEFT

#define TAPPING_TERM 200
#define TAPPING_TERM 150
#define TAPPING_TOGGLE 2

M keyboards/keebio/iris/keymaps/jasondunsmore/keymap.c => keyboards/keebio/iris/keymaps/jasondunsmore/keymap.c +25 -108
@@ 4,144 4,61 @@ extern keymap_config_t keymap_config;

// Layers
#define _QWERTY 0 // Base layer
#define _NUMB 1
#define _NAVI 2
#define _NAVI   1 // Navigation layer
#define _NUMP   2 // Numpad layer

// Keys
#define KC_NUMB MO(_NUMB)
#define KC_NAVI MO(_NAVI)
#define KC_NAVI TT(_NAVI)
#define KC_NUMP TT(_NUMP)
#define KC_AGRV LALT_T(KC_GRAVE)
#define KC_AQUO RALT_T(KC_QUOTE)
#define KC_GUIE LGUI_T(KC_ESC)
#define KC_REST RESET
#define KC_DBUG DEBUG

// Tap Dance Declarations
enum {
  TD_LALT_GRV_BSLS = 0,
  TD_LSFT_LBRC,
  TD_RSFT_RBRC,
};

void alt_grave_backslash(qk_tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
      if (!state->pressed) {
        register_code(KC_GRAVE);
      } else {
        register_code(KC_LALT);
      }
    } else if (state->count == 2) {
      register_code(KC_BSLASH);
    }
}

void alt_grave_backslash_reset(qk_tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
      unregister_code(KC_GRAVE);
      unregister_code(KC_LALT);
    } else if (state->count == 2) {
      unregister_code(KC_BSLASH);
    }
}

void left_brackets(qk_tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {
    if (!state->pressed) {
      register_code(KC_LSFT);
      register_code(KC_9);
    } else {
      register_code(KC_LSFT);
    }
  } else if (state->count == 2) {
    register_code(KC_LBRC);
  }
}

void left_brackets_reset(qk_tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
      unregister_code(KC_LSFT);
      unregister_code(KC_9);
    } else if (state->count == 2) {
      unregister_code(KC_LBRC);
    }
}

void right_brackets(qk_tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
      if (!state->pressed) {
        register_code(KC_RSFT);
        register_code(KC_0);
      } else {
        register_code(KC_RSFT);
      }
    } else if (state->count == 2) {
      register_code(KC_RBRC);
    }
}

void right_brackets_reset(qk_tap_dance_state_t *state, void *user_data) {
    if (state->count == 1) {
        unregister_code(KC_RSFT);
        unregister_code(KC_0);
    } else if (state->count == 2) {
      unregister_code(KC_RBRC);
    }
}


// Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
  // Tap once for KC_SLSH, twice for KC_BSLS
  [TD_LALT_GRV_BSLS]  = ACTION_TAP_DANCE_FN_ADVANCED(NULL, alt_grave_backslash, alt_grave_backslash_reset),
  [TD_LSFT_LBRC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, left_brackets, left_brackets_reset),
  [TD_RSFT_RBRC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, right_brackets, right_brackets_reset)
};

// Tap Dance Keys
#define KC_AGRB TD(TD_LALT_GRV_BSLS)
#define KC_LSBK TD(TD_LSFT_LBRC)
#define KC_RSBK TD(TD_RSFT_RBRC)
#define KC_DSFT RSFT_T(KC_DEL)
#define KC_PSFT LSFT_T(KC_KP_PLUS)
#define KC_MCTL RCTL_T(KC_MINS)
#define KC_ECTL LCTL_T(KC_EQL)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

  [_QWERTY] = LAYOUT_kc(
//,----+----+----+----+----+----.              ,----+----+----+----+----+----.
   GUIE, 1,   2,   3,   4,   5,                  6,   7,   8,   9,   0,  DEL,
   GUIE, 1,   2,   3,   4,   5,                  6,   7,   8,   9,   0,  BSLS,
//|----+----+----+----+----+----|              |----+----+----+----+----+----|
   TAB,  Q,   W,   E,   R,   T,                  Y,   U,   I,   O,   P,  BSPC,
//|----+----+----+----+----+----|              |----+----+----+----+----+----|
   AGRB, A,   S,   D,   F,   G,                  H,   J,   K,   L,  SCLN,QUOT,
   AGRV, A,   S,   D,   F,   G,                  H,   J,   K,   L,  SCLN,AQUO,
//|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
   LSBK, Z,   X,   C,   V,   B,  MINS,     EQL,  N,   M,  COMM,DOT, SLSH,RSBK,
   PSFT, Z,   X,   C,   V,   B,  NAVI,     NAVI, N,   M,  COMM,DOT, SLSH,DSFT,
//`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
                     NUMB,LCTL,SPC,          ENT, RCTL,NAVI
                     NAVI,ECTL, SPC,         ENT, MCTL,NAVI
//                  `----+----+----'        `----+----+----'
     ),

  [_NUMB] = LAYOUT_kc(
  [_NAVI] = LAYOUT_kc(
//,----+----+----+----+----+----.              ,----+----+----+----+----+----.
   F12,  F1,  F2,  F3,  F4,  F5,                 F6,  F7,  F8,  F9, F10, F11,
//|----+----+----+----+----+----|              |----+----+----+----+----+----|
    NO, F17, F18, F19, F20,  NO,                 NO,  7,   8,   9,   0,  TRNS,
   TRNS,TRNS,MUTE,VOLU,TRNS,TRNS,               PGUP,HOME, UP, END, TRNS,TRNS,
//|----+----+----+----+----+----|              |----+----+----+----+----+----|
   TRNS,F13, F14, F15, F16,  NO,                ASTR, 4,   5,   6,  PLUS,TRNS,
   TRNS,TRNS,BRID,VOLD,BRIU,TRNS,               PGDN,LEFT,DOWN,RGHT,TRNS,TRNS,
//|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
   TRNS,F21, F22, F23, F24,  NO, TRNS,     TRNS,SLSH, 1,   2,   3,  MINS,TRNS,
   TRNS,TRNS,TRNS,NUMP,INS, TRNS,TRNS,     TRNS,TRNS,CAPS,LBRC,RBRC,TRNS,TRNS,
//`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
                     TRNS,TRNS,TRNS,         TRNS,DOT, TRNS
                     TRNS,TRNS,TRNS,         TRNS,TRNS,TRNS
//                  `----+----+----'        `----+----+----'
      ),
     ),

 [_NAVI] = LAYOUT_kc(
  [_NUMP] = LAYOUT_kc(
//,----+----+----+----+----+----.              ,----+----+----+----+----+----.
   PWR, MUTE,VOLD,VOLU,BRID,BRIU,               REST,DBUG, NO,  NO,  NO, TRNS,
   TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,               TRNS,NLCK,PSLS,PAST,PMNS,TRNS,
//|----+----+----+----+----+----|              |----+----+----+----+----+----|
   WAKE,HOME,PGUP, UP, PGDN,TRNS,                NO,  NO,  NO,  NO,  NO, TRNS,
   TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,               TRNS, P7,  P8,  P9, PPLS,TRNS,
//|----+----+----+----+----+----|              |----+----+----+----+----+----|
   TRNS,END, LEFT,DOWN,RGHT,TRNS,               PAUS,CAPS,PSCR,SLCK,INS, TRNS,
   TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,               TRNS, P4,  P5,  P6, PCMM,TRNS,
//|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
   TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, NO,  NO,  NO,  NO,  NO, TRNS,
   TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,TRNS, P1,  P2,  P3, PEQL,TRNS,
//`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
                     TRNS,TRNS,TRNS,         TRNS,TRNS,TRNS
                     TRNS,TRNS,TRNS,         PENT, P0, PDOT
//                  `----+----+----'        `----+----+----'
     )
};

M keyboards/keebio/iris/keymaps/jasondunsmore/readme.md => keyboards/keebio/iris/keymaps/jasondunsmore/readme.md +5 -5
@@ 1,7 1,7 @@
# jasondunsmore's iris layout

_QWERTY is the default layer, from which all letters, symbols and
numbers can be accessed. The _NUMB layer contains a numberpad,
operators, and function keys. The _NAVI layer contains navigation
keys, some hardware adjustment keys, lock keys, and RESET/DEBUG for
QMK.
_QWERTY is the default layer, from which all letters, numbers, and
symbols (with the exception of the square brackets and curly braces)
can be accessed. The _NAVI layer contains navigation keys, some
hardware adjustment keys, and lock keys. The _NUMP layer contains a
numberpad and operators.

M keyboards/keebio/iris/keymaps/jasondunsmore/rules.mk => keyboards/keebio/iris/keymaps/jasondunsmore/rules.mk +0 -1
@@ 1,2 1,1 @@
TAP_DANCE_ENABLE = yes
COMMAND_ENABLE = no