~ruther/qmk_firmware

b36bb58b7624533022dc38b02421c9f1d1f3f2e1 — Fredric Silberberg 6 years ago e15417e
Add ergodash layout, update the backlight numbers for the rgb backlight to be the actual intended colors.
A keyboards/ergodash/rev1/keymaps/333fred/config.h => keyboards/ergodash/rev1/keymaps/333fred/config.h +10 -0
@@ 0,0 1,10 @@
#pragma once

#include QMK_KEYBOARD_CONFIG_H
#include "333fred_config.h"

#define USE_SERIAL
#define MASTER_LEFT

#undef TAPPING_TERM
#define TAPPING_TERM 200

A keyboards/ergodash/rev1/keymaps/333fred/keymap.c => keyboards/ergodash/rev1/keymaps/333fred/keymap.c +57 -0
@@ 0,0 1,57 @@
#include QMK_KEYBOARD_H
#include "333fred.h"

extern keymap_config_t keymap_config;

// Use an expanded macro with VA_ARGS to ensure that the common
// rows get expanded out before getting passed to the LAYOUT
// macro.

#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [BASE] = LAYOUT_wrapper( \
    ROW5_LEFT_BASE,          KC_F5,                                     KC_F6,            ROW5_RGHT_BASE,
    ROW4_LEFT_BASE,          TG(GAME),                                  TG(GAME_ARROW),   ROW4_RGHT_BASE,
    ROW3_LEFT_BASE,          KC_LGUI,                                   KC_BSPC,          ROW3_RGHT_BASE,
    ROW2_LEFT_BASE,          TD(TD_COPY_PASTE),                         KC_UP ,           ROW2_RGHT_BASE,
    ROW1_LEFT_BASE, KC_BSPC, TD(TD_SYM_VIM),    KC_DEL,         KC_ENT, KC_SPC , KC_DOWN, ROW1_RGHT_BASE
  ),

  [SYMB] = LAYOUT_wrapper(
    ROW5_LEFT_SYMB,          _______,                           _______,          ROW5_RGHT_SYMB,
    ROW4_LEFT_SYMB,          PSCREEN_APP,                       _______,          ROW4_RGHT_SYMB,
    ROW3_LEFT_SYMB,          KC_PSCR,                           KC_VOLU,          ROW3_RGHT_SYMB,
    ROW2_LEFT_SYMB,          _______,                           KC_VOLD,          ROW2_RGHT_SYMB,
    ROW1_LEFT_SYMB, _______, _______, _______,         KC_MPRV, KC_MPLY, KC_MNXT, ROW1_RGHT_SYMB
  ),

  [VIM] = LAYOUT_wrapper(
    ROW5_LEFT_VIM,          _______,                           _______,          ROW5_RGHT_VIM,
    ROW4_LEFT_VIM,          _______,                           _______,          ROW4_RGHT_VIM,
    ROW3_LEFT_VIM,          _______,                           _______,          ROW3_RGHT_VIM,
    ROW2_LEFT_VIM,          _______,                           _______,          ROW2_RGHT_VIM,
    ROW1_LEFT_VIM, _______, _______, _______,         _______, _______, _______, ROW1_RGHT_VIM
  ),

  [GAME] = LAYOUT_wrapper(
      KC_ESC,   SIX_TRNS,                                                   _______, SIX_TRNS,
      SIX_TRNS,                                              _______,     _______, SIX_TRNS,
      KC_LCTL,  FOUR_TRNS,                          _______, KC_F6,         _______, SIX_TRNS,
      KC_LSFT,  KC_Z,    FOUR_TRNS,                          KC_F5,         _______, SIX_TRNS,
      KC_ENT,   _______, KC_LOCK, KC_BSPC, KC_LALT, KC_SPC,  OSM(SYMB),     _______, SIX_TRNS
  ),

  [GAME_ARROW] = LAYOUT_wrapper(
      KC_ESC,   SIX_TRNS,                                                  _______, SIX_TRNS,
      _______,  _______, KC_UP,   _______,  _______, _______, _______,     _______, SIX_TRNS,
      KC_LCTL,  KC_LEFT, KC_DOWN, KC_RGHT,  _______, _______, KC_F6,       _______, SIX_TRNS,
      KC_LSFT,  KC_Z,    FOUR_TRNS,                           KC_F5,       _______, SIX_TRNS,
      KC_ENT,   _______, KC_LOCK, KC_BSPC, KC_LALT, KC_SPC,  OSM(SYMB),    _______, SIX_TRNS
  )
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  tap_dance_process_keycode(keycode);
  return !try_handle_macro(keycode, record);
}

A keyboards/ergodash/rev1/keymaps/333fred/rules.mk => keyboards/ergodash/rev1/keymaps/333fred/rules.mk +7 -0
@@ 0,0 1,7 @@
BACKLIGHT_ENABLE = no
RGBLIGHT_ENABLE = yes
AUDIO_ENABLE = no
NKRO_ENABLE = yes
KEY_LOCK_ENABLE = yes
TAP_DANCE_ENABLE = yes
CONSOLE_ENABLE = no

M users/333fred/333fred.h => users/333fred/333fred.h +1 -0
@@ 1,6 1,7 @@
#pragma once

#include "quantum.h"
#include "layout_macros.h"

#define BASE 0
#define CODE 1 // code layer

A users/333fred/layout_macros.h => users/333fred/layout_macros.h +44 -0
@@ 0,0 1,44 @@
#pragma once

#define SIX_TRNS  _______, _______, _______, _______, _______, _______
#define FOUR_TRNS _______, _______, _______, _______

// Row 5: 6 keys
#define ROW5_LEFT_BASE KC_GRV,  KC_1,  KC_2,  KC_3,  KC_4,  KC_5
#define ROW5_RGHT_BASE KC_6,    KC_7,  KC_8,  KC_9,  KC_0,  KC_MINS
#define ROW5_LEFT_SYMB _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
#define ROW5_RGHT_SYMB KC_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  KC_F11
#define ROW5_LEFT_VIM  SIX_TRNS
#define ROW5_RGHT_VIM  SIX_TRNS

// Row 4: 6 keys
#define ROW4_LEFT_BASE KC_TAB,  KC_Q,    KC_W,  KC_E,    KC_R,    KC_T
#define ROW4_RGHT_BASE KC_Y,    KC_U,    KC_I,  KC_O,    KC_P,    KC_BSLS
#define ROW4_LEFT_SYMB _______, KC_EXLM, KC_AT, KC_LPRN, KC_RPRN, KC_PIPE
#define ROW4_RGHT_SYMB KC_UP,   KC_7,    KC_8,  KC_9,    KC_ASTR, KC_F12
#define ROW4_LEFT_VIM  SIX_TRNS
#define ROW4_RGHT_VIM  SIX_TRNS

// Row 3: 6 keys
#define ROW3_LEFT_BASE CTL_T(KC_ESC), KC_A,    KC_S,   KC_D,     KC_F,    KC_G
#define ROW3_RGHT_BASE KC_H,          KC_J,    KC_K,   KC_L,     KC_SCLN, KC_QUOT
#define ROW3_LEFT_SYMB _______,       KC_HASH, KC_DLR, KC_LCBR,  KC_RCBR, KC_GRV
#define ROW3_RGHT_SYMB KC_DOWN,       KC_4,    KC_5,   KC_6,     KC_PLUS, _______
#define ROW3_LEFT_VIM  _______,       DLEFT,   DRIGHT, KC_LCTL,  KC_LGUI, _______
#define ROW3_RGHT_VIM  KC_LEFT,       KC_DOWN, KC_UP,  KC_RIGHT, _______, _______

// Row 2: 6 keys
#define ROW2_LEFT_BASE OSM(MOD_LSFT), CTL_T(KC_Z), KC_X,    KC_C,     KC_V,           KC_B
#define ROW2_RGHT_BASE KC_N,          KC_M,        KC_COMM, KC_DOT,   CTL_T(KC_SLSH), OSM(MOD_RSFT)
#define ROW2_LEFT_SYMB _______,       KC_PERC,     KC_CIRC, KC_LBRC,  KC_RBRC,        KC_TILD
#define ROW2_RGHT_SYMB KC_AMPR,       KC_1,        KC_2,    KC_3,     KC_BSLS,        _______
#define ROW2_LEFT_VIM  _______,       _______,     KC_TAB,  _______,  _______,        _______
#define ROW2_RGHT_VIM  SIX_TRNS

// Row 1: 4 keys
#define ROW1_LEFT_BASE OSM(MOD_LCTL), KC_F4,   KC_F5,    KC_LALT
#define ROW1_RGHT_BASE KC_DOWN,       KC_EQL,  KC_RIGHT, KC_RGUI
#define ROW1_LEFT_SYMB _______,       _______, _______,  _______
#define ROW1_RGHT_SYMB KC_0,          KC_DOT,  KC_EQL,   _______
#define ROW1_LEFT_VIM  FOUR_TRNS
#define ROW1_RGHT_VIM  FOUR_TRNS

M users/333fred/rgb.c => users/333fred/rgb.c +3 -3
@@ 5,15 5,15 @@ void layer_state_set_rgb(uint32_t state) {
  switch (biton32(state)) {
    case BASE:
      // purple
      rgblight_sethsv_noeeprom(255, 255, 20);
      rgblight_sethsv_noeeprom(210, 255, 20);
      break;
    case SYMB:
      // blue
      rgblight_sethsv_noeeprom(240, 255, 20);
      rgblight_sethsv_noeeprom(191, 255, 20);
      break;
    case VIM:
      // green
      rgblight_sethsv_noeeprom(120, 255, 20);
      rgblight_sethsv_noeeprom(85, 255, 20);
      break;
    case GAME:
      // red