~ruther/qmk_firmware

d7b381128e503a57315261841c66c13d3ab5be25 — Alexander Kagno 6 years ago 221ac2e
[Keymap] Arkag Userspace Update (#5438)

* fresh commit for a new fork for PR to upstream/master

* gaming mode added, lighting changes for other modes

* rules.mk fixed...

* fixed collision issue with aesthetic and shifty modes

* fixed collision issue with aesthetic and shifty modes

* troubleshooting game mode failing

* moved game tapdance key to default layer, fixed issue
M keyboards/mechmini/v2/keymaps/arkag/keymap.c => keyboards/mechmini/v2/keymaps/arkag/keymap.c +10 -3
@@ 7,14 7,15 @@
*/

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

  [_QWERTY] = LAYOUT_2u_space_ortho(
    KC_ESC,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
    KC_TAB,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, QUOTE,
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT,
    M_PMOD,  LRALT,   M_SMOD,  LOWER,   RAISE,        KC_SPC,      MEDIA,   FUNCT,   XXXXXXX, XXXXXXX, KC_LEAD),
    M_PMOD,  LRALT,   M_SMOD,  LOWER,   RAISE,        KC_SPC,      MEDIA,   FUNCT,   XXXXXXX, GAME   , KC_LEAD),

  [_RAISE] = LAYOUT_2u_space_ortho(
    GRAVE,   KC_F13,  KC_F14,  KC_F15,  KC_F16,  KC_F17,  _______, KC_7,    KC_8,    KC_9,    _______, _______,
    GRAVE,   _______, _______, _______, _______, _______, _______, KC_7,    KC_8,    KC_9,    _______, _______,
    _______, OBRACK,  CBRACK,  KC_EQL,  HYPHEN,  _______, _______, KC_4,    KC_5,    KC_6,    _______, KC_NLCK,
    _______, _______, _______, CEDILLA, _______, KC_COMM, KC_PDOT, KC_1,    KC_2,    KC_3,    KC_BSLS, KC_PENT,
    _______, _______, _______, KEEB,    _______,      _______,     KC_0,    KC_PSLS, KC_PMNS, KC_PPLS, KC_PAST),


@@ 35,7 36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
    KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
    _______, _______, _______, _______, _______,      _______,     _______, _______, M_SFT,   M_SPC,   M_OS),
    _______, _______, _______, _______, _______,      _______,     _______, _______, M_SFT,   M_SPC,   M_OS   ),

  [_KEEB] = LAYOUT_2u_space_ortho(
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,


@@ 43,4 44,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    RGB_M_P, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______,
    RESET,   _______, _______, _______, _______,      _______,     _______, _______, _______, _______, _______),

  [_GAMING] = LAYOUT_2u_space_ortho(
    KC_ESC,  KC_F13,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
    KC_TAB,  KC_F14,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
    KC_LSFT, KC_F15,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
    KC_LCTL, KC_F16,  KC_Z,    KC_X,    KC_C,         KC_SPC,      XXXXXXX, XXXXXXX, XXXXXXX, GAME,    XXXXXXX),

};

M keyboards/mechmini/v2/keymaps/arkag/rules.mk => keyboards/mechmini/v2/keymaps/arkag/rules.mk +2 -2
@@ 1,4 1,4 @@
BOOTMAGIC_ENABLE = full
BOOTMAGIC_ENABLE = lite
MOUSEKEY_ENABLE = no
STENO_ENABLE = no
EXTRAKEY_ENABLE = yes


@@ 6,7 6,7 @@ CONSOLE_ENABLE = no
COMMAND_ENABLE = no
SLEEP_LED_ENABLE = no
NKRO_ENABLE = yes
BACKLIGHT_ENABLE = yes
BACKLIGHT_ENABLE = no
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes
TAP_DANCE_ENABLE = yes

M users/arkag/arkag.c => users/arkag/arkag.c +32 -10
@@ 121,7 121,7 @@ void check_state (void) {

  case sleeping:
    if (!slept) {
      rgblight_mode_noeeprom(2);
      rgblight_mode_noeeprom(5);
      slept = true;
      activated = false;
      deactivated = false;


@@ 359,6 359,26 @@ void dance_cbrck (qk_tap_dance_state_t *state, void *user_data) {
  }
}

void dance_game (qk_tap_dance_state_t *state, void *user_data) {
  if (state->count == 1) {

  } else if (state->count == 2) {

  } else if (state->count == 3) {
    uint8_t layer = biton32(layer_state);
    if (layer == _QWERTY) {
        layer_off(_QWERTY);
        layer_on(_GAMING);
        // swirling rgb
        rgblight_mode_noeeprom(12);
    } else {
        layer_off(_GAMING);
        layer_on(_QWERTY);
        rgblight_mode_noeeprom(1);
    }
  }
}

void matrix_init_user(void) {
  current_os = eeprom_read_byte(EECONFIG_USERSPACE);
  set_os(current_os, false);


@@ 379,6 399,7 @@ void matrix_scan_user(void) {
      if (current_os == OS_WIN) {
        long_keystroke(2, (uint16_t[]){KC_LGUI, KC_PAUSE});
      } else {
        return;
      }
    }
    SEQ_TWO_KEYS(KC_LSFT, M_PMOD) {


@@ 442,7 463,7 @@ void matrix_scan_user(void) {
    // end format functions

    // start fancy functions
    SEQ_THREE_KEYS(KC_C, KC_C, KC_C) {
    SEQ_THREE_KEYS(KC_C, KC_C, KC_ENT) {
      surround_type(6, KC_GRAVE, false);
      pri_mod(true);
      tap_code(KC_V);


@@ 564,30 585,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    if(record->event.pressed){
      if (aesthetic) {
        aesthetic = false;
        num_extra_flashes_off = 1;
        rgblight_mode_noeeprom(1);
      } else {
        aesthetic = true;
        shifty = false;
        // snake mode
        rgblight_mode_noeeprom(20);
      }
      flash_color           = underglow;
      flash_state           = flash_off;
      return false;
    }


  case M_SFT:
    if(record->event.pressed){
      if (shifty) {
        shifty = false;
        num_extra_flashes_off = 1;
        rgblight_mode_noeeprom(1);
      } else {
        shifty = true;
        aesthetic = false;
        // knight mode
        rgblight_mode_noeeprom(23);
      }
      flash_color = underglow;
      flash_state = flash_off;
      return false;
    }


  default:
    if (record->event.pressed) {
      state = active;


@@ 605,4 626,5 @@ qk_tap_dance_action_t tap_dance_actions[] = {
  [TD_BRCK_PARN_O]    = ACTION_TAP_DANCE_FN (dance_obrck),
  [TD_BRCK_PARN_C]    = ACTION_TAP_DANCE_FN (dance_cbrck),
  [TD_LALT_RALT]      = ACTION_TAP_DANCE_DOUBLE (KC_LALT, KC_RALT),
  [TD_GAME]           = ACTION_TAP_DANCE_FN (dance_game),
};

M users/arkag/arkag.h => users/arkag/arkag.h +4 -0
@@ 14,6 14,7 @@
#define STRIKE      TD(TD_STRK_SHOT)
#define HYPHEN      TD(TD_HYPH_UNDR)
#define CEDILLA     TD(TD_C_CED)
#define GAME        TD(TD_GAME)

#define RAISE       MO(1)
#define LOWER       MO(2)


@@ 40,6 41,7 @@ enum {
  _MEDIA,
  _FUNCT,
  _KEEB,
  _GAMING,
};

typedef enum {


@@ 92,6 94,7 @@ enum tapdances {
  TD_BRCK_PARN_O,
  TD_BRCK_PARN_C,
  TD_LALT_RALT,
  TD_GAME,
};

void velocikey_accelerate(void);


@@ 129,6 132,7 @@ void dance_quot (qk_tap_dance_state_t *state, void *user_data);
void dance_strk (qk_tap_dance_state_t *state, void *user_data);
void dance_3 (qk_tap_dance_state_t *state, void *user_data);
void dance_c (qk_tap_dance_state_t *state, void *user_data);
void dance_game (qk_tap_dance_state_t *state, void *user_data);

int cur_dance (qk_tap_dance_state_t *state);
void spc_finished (qk_tap_dance_state_t *state, void *user_data);