瀏覽代碼

Add ergodash layout, update the backlight numbers for the rgb backlight to be the actual intended colors.

Fredric Silberberg 6 年之前
父節點
當前提交
b36bb58b76

+ 10 - 0
keyboards/ergodash/rev1/keymaps/333fred/config.h

@@ -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

+ 57 - 0
keyboards/ergodash/rev1/keymaps/333fred/keymap.c

@@ -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);
+}

+ 7 - 0
keyboards/ergodash/rev1/keymaps/333fred/rules.mk

@@ -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

+ 1 - 0
users/333fred/333fred.h

@@ -1,6 +1,7 @@
 #pragma once
 
 #include "quantum.h"
+#include "layout_macros.h"
 
 #define BASE 0
 #define CODE 1 // code layer

+ 44 - 0
users/333fred/layout_macros.h

@@ -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

+ 3 - 3
users/333fred/rgb.c

@@ -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