]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Keymap: Adds zen layout for 333fred (#3563)
authorFred Silberberg <fred@silberberg.xyz>
Sun, 5 Aug 2018 15:42:16 +0000 (08:42 -0700)
committerDrashna Jaelre <drashna@live.com>
Sun, 5 Aug 2018 15:42:16 +0000 (08:42 -0700)
* Initial commit of zen keymap

* Added RGB control for my zen

* Fixed ergodox layout.

* Reduce brightness.

* PR feedback.

15 files changed:
keyboards/nyquist/keymaps/333fred/config.h
keyboards/nyquist/keymaps/333fred/keymap.c
keyboards/nyquist/keymaps/333fred/rules.mk
keyboards/zen/config.h
keyboards/zen/keymaps/333fred/config.h [new file with mode: 0644]
keyboards/zen/keymaps/333fred/keymap.c [new file with mode: 0644]
keyboards/zen/keymaps/333fred/rules.mk [new file with mode: 0644]
layouts/community/ergodox/333fred/config.h
layouts/community/ergodox/333fred/keymap.c
layouts/community/ergodox/333fred/rules.mk
users/333fred/333fred.c
users/333fred/333fred.h
users/333fred/333fred_config.h
users/333fred/rgb.c [new file with mode: 0644]
users/333fred/rules.mk

index 6335ce9b090eb6682af65685bb3d97f2340f3553..575ec9ac528c72ed80b147f7517a4a676c172954 100644 (file)
@@ -1,5 +1,4 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
+#pragma once
 
 #include "../../config.h"
 #include "333fred_config.h"
@@ -9,5 +8,3 @@
 
 #undef  TAPPING_TERM
 #define TAPPING_TERM 150
-
-#endif
index fd1a7d47f7c899b700fa59aa9d1e68f37bde5f11..c25bf1c5ff6d1fcf1f43c4f937dfb535ee7a7f68 100644 (file)
@@ -94,13 +94,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * `-----------------------------------------------------------------------------------'
  */
 [GAME] =  LAYOUT( \
-    KC_ESC,  _______, _______, _______, _______, _______, _______,     _______, _______, _______, _______, _______,    \
-    _______, _______, _______, _______, _______, _______, _______,     _______, _______, _______, _______, _______,    \
-    KC_LCTL, _______, _______, _______, KC_F,    _______, _______,     _______, _______, _______, _______, _______,    \
-    KC_LSFT, KC_Z,    _______, _______, _______, _______, _______,     _______, _______, _______, _______, KC_LGUI,    \
+    KC_ESC,  _______, _______, _______, _______, _______, _______,   _______, _______, _______, _______, _______,    \
+    _______, _______, _______, _______, _______, _______, _______,   _______, _______, _______, _______, _______,    \
+    KC_LCTL, _______, _______, _______, KC_F,    _______, _______,   _______, _______, _______, _______, _______,    \
+    KC_LSFT, KC_Z,    _______, _______, _______, _______, _______,   _______, _______, _______, _______, KC_LGUI,    \
     KC_ENT,  _______, KC_LOCK, KC_BSPC, KC_LALT, KC_SPC,  OSL(SYMB), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, TO(BASE) \
 )
-
 };
 
 void persistent_default_layer_set(uint16_t default_layer) {
index 5a3543a6f6643175adcc4d25a95d62ef122587bc..0cfb234665e8be19d2de8d011c1f746594364d6b 100644 (file)
@@ -2,7 +2,3 @@ KEY_LOCK_ENABLE = yes
 NKRO_ENABLE = yes
 CONSOLE_ENABLE = no
 TAP_DANCE_ENABLE = yes
-
-ifndef QUANTUM_DIR
-       include ../../../../Makefile
-endif
index f8f8bbf3320ed84da9435eddfa405d447009661b..4478062eb0edc618e3c8332dde65a818939265a1 100644 (file)
@@ -26,4 +26,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define RGBLIGHT_ANIMATIONS
 #define RGBLED_NUM 16
 
-#define TAPPING_TERM 100
\ No newline at end of file
+#ifndef TAPPING_TERM
+#define TAPPING_TERM 100
+#endif
diff --git a/keyboards/zen/keymaps/333fred/config.h b/keyboards/zen/keymaps/333fred/config.h
new file mode 100644 (file)
index 0000000..1634f36
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+Copyright 2018 Fredric Silberberg
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+
+/* Select hand configuration */
+//#define MASTER_LEFT
+#define EE_HANDS
+
+#undef RGBLED_NUM
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 16
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+
+#undef  TAPPING_TERM
+#define TAPPING_TERM 150
diff --git a/keyboards/zen/keymaps/333fred/keymap.c b/keyboards/zen/keymaps/333fred/keymap.c
new file mode 100644 (file)
index 0000000..5332062
--- /dev/null
@@ -0,0 +1,129 @@
+#include QMK_KEYBOARD_H
+#include "333fred.h"
+
+extern keymap_config_t keymap_config;
+
+enum custom_macros {
+    DLEFT,
+    DRIGHT,
+    PSCREEN_APP
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------.             .-----------------------------------------.
+ * |   `  |   1  |   2  |   3  |   4  |   5  |             |   6  |   7  |   8  |   9  |   0  |  -   |
+ * |------+------+------+------+------+------|             |------+------+------+------+------+------|
+ * | Tab  |   Q  |   W  |   E  |   R  |   T  |             |   Y  |   U  |   I  |   O  |   P  |  \   |
+ * |------+------+------+------+------+------|             |------+------+------+------+------+------|
+ * | Esc  |   A  |   S  |   D  |   F  |   G  |             |   H  |   J  |   K  |   L  |   ;  |  "   |
+ * |------+------+------+------+------+------|             |------+------+------+------+------+------|
+ * | Shift|   Z  |   X  |   C  |   V  |   B  |             |   N  |   M  |   ,  |   .  |   /  |SHIFT |
+ * |------+------+------+------+------+------+------..-----+------+------+------+------+------+------|
+ * | Ctrl |  F4  |  F5  |  GUI | Alt  | Bksp |Lwr/VM||Enter|Space |  NAV |   -  |   =  |  Alt | Del  |
+ * `------------------------------------------------''-----------------------------------------------'
+ */
+[BASE] = KEYMAP( \
+  KC_GRV,        KC_1,         KC_2,  KC_3,    KC_4,    KC_5,                            KC_6,     KC_7,     KC_8,    KC_9,    KC_0,    KC_MINUS, \
+  KC_TAB,        KC_Q,         KC_W,  KC_E,    KC_R,    KC_T,                            KC_Y,     KC_U,     KC_I,    KC_O,    KC_P,    KC_BSLS, \
+  KC_ESC,        KC_A,         KC_S,  KC_D,    KC_F,    KC_G,                            KC_H,     KC_J,     KC_K,    KC_L,    KC_SCLN, KC_QUOT, \
+  OSM(MOD_LSFT), LCTL_T(KC_Z), KC_X,  KC_C,    KC_V,    KC_B,                            KC_N,     KC_M,     KC_COMM, KC_DOT,  KC_SLSH, OSM(MOD_RSFT) , \
+  KC_LCTL,       KC_F4,        KC_F5, KC_LGUI, KC_LALT, KC_BSPC, TD(TD_SYM_VIM), KC_ENT, KC_SPACE, OSL(VIM), KC_MINS, KC_EQL,  KC_RALT, KC_DEL \
+),
+
+/* Symbols
+ * ,-----------------------------------------.              .-----------------------------------------.
+ * | Caps |  F1  |  F2  |  F3  |  F4  |  F5  |              |  F6  |  F7  |  F8  |  F9  |  F10 |  F11 |
+ * |------+------+------+------+------+------|              |------+------+------+------+------+------|
+ * |      |   !  |   @  |   (  |   )  |   |  |              |   7  |   8  |   9  |   *  |   )  |  F12 |
+ * |------+------+------+------+------+------|              |------+------+------+------+------+------|
+ * |      |   #  |   $  |   {  |   }  |   `  |              |   4  |   5  |   6  |   +  |   }  |  |   |
+ * |------+------+------+------+------+------|              |------+------+------+------+------+------|
+ * | APscr|   %  |   ^  |   [  |   ]  |   ~  |              |   1  |   2  |   3  |   \  | Vol- | Vol+ |
+ * |------+------+------+------+------+------+------..------+------+------+------+------+------+------|
+ * | Pscr |      | RESET|      |      | GAME |      ||      |   0  |   .  |   =  | Prev | Next | Play |
+ * `------------------------------------------------- -------------------------------------------------'
+ */
+[SYMB] = KEYMAP( \
+    KC_CAPS,        KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                      KC_F6, KC_F7,  KC_F8,  KC_F9,   KC_F10,  KC_F11, \
+    _______,        KC_EXLM, KC_AT,   KC_LPRN, KC_RPRN, KC_PIPE,                    KC_7,  KC_8,   KC_9,   KC_ASTR, KC_RPRN, KC_F12, \
+    _______,        KC_HASH, KC_DLR,  KC_LCBR, KC_RCBR, KC_GRV,                     KC_4,  KC_5,   KC_6,   KC_PLUS, KC_RCBR, KC_PIPE, \
+    M(PSCREEN_APP), KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD,                    KC_1,  KC_2,   KC_3,   KC_BSLS, KC_VOLD, KC_VOLU, \
+    KC_PSCR,        _______, RESET,   _______, _______, TO(GAME), _______, _______, KC_0,  KC_DOT, KC_EQL, KC_MPRV, KC_MNXT, KC_MPLY \
+),
+
+/* Vim Movement
+ * ,-----------------------------------------.              .-----------------------------------------.
+ * |      |      |      |      |      |      |              |      |      |      |      | RESET|      |
+ * |------+------+------+------+------+------|              |------+------+------+------+------+------|
+ * |      |RGBSAI|RGBVAI|RGBSAD| LSFT |      |              |      |      |      |      |      |      |
+ * |------+------+------+------+------+------|              |------+------+------+------+------+------|
+ * |      | DLeft|DRight| LCTRL| LGUI |      |              | Left | Down |  Up  | Right|      |      |
+ * |------+------+------+------+------+------|              |------+------+------+------+------+------|
+ * |      |RGBHUD|RGBVAD|RGBHUI|      |      |              |      |      |      |      |      |      |
+ * |------+------+------+------+------+------+------..------+------+------+------+------+------+------|
+ * |      |      |      |      |      |      |      ||      |      |      |      |      |      |      |
+ * `------------------------------------------------..------------------------------------------------'
+ */
+[VIM] =  KEYMAP( \
+    _______, _______,  _______,   _______, _______, _______,                   _______, _______, _______, _______, RESET,   _______, \
+    _______, RGB_SAI,  RGB_VAI,   RGB_SAD, KC_LSFT, _______,                   _______, _______, _______, _______, _______, _______, \
+    _______, M(DLEFT), M(DRIGHT), KC_LCTL, KC_LGUI, _______,                   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, _______, _______, \
+    _______, RGB_HUD,  RGB_VAD,   RGB_HUI, _______, _______,                   _______, _______, _______, _______, _______, _______, \
+    _______, _______,  _______,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  \
+),
+
+/* Gaming mode (Raise)
+ * All one-shot mods are disabled on this layer
+ * ,-----------------------------------------.              .-----------------------------------------.
+ * | ESC  |      |      |      |      |      |              |      |      |      |      |      |      |
+ * |------+------+------+------+------+------|              |------+------+------+------+------+------|
+ * |      |      |      |      |      |      |              |      |      |      |      |      |      |
+ * |------+------+------+------+------+------|              |------+------+------+------+------+------|
+ * | CTRL |      |      |      |   F  |      |              |      |      |      |      |      |      |
+ * |------+------+------+------+------+------|              |------+------+------+------+------+------|
+ * | Shift|   Z  |      |      |      |      |              |      |      |      |      |      |  GUI |
+ * |------+------+------+------+------+------+------..------+------+------+------+------+------+------|
+ * | Enter|      | Lock | Bksp |  Alt |  Spc | RESET||      | Lower| Left |  Up  | Down | Right|QWERTY|
+ * `------------------------------------------------..-----------------------------------------------'
+ */
+[GAME] =  KEYMAP( \
+    KC_ESC,  _______, _______, _______, _______, _______,                    _______, _______, _______, _______, _______, _______, \
+    _______, _______, _______, _______, _______, _______,                    _______, _______, _______, _______, _______, _______, \
+    KC_LCTL, _______, _______, _______, _______, _______,                    _______, _______, _______, _______, _______, _______, \
+    KC_LSFT, KC_Z,    _______, _______, _______, _______,                    _______, _______, _______, _______, _______, KC_LGUI, \
+    KC_ENT,  _______, KC_LOCK, KC_BSPC, KC_F5,   KC_LALT, KC_SPC, OSL(SYMB), KC_F6,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, TO(BASE) \
+)
+};
+
+void persistant_default_layer_set(uint16_t default_layer) {
+  eeconfig_update_default_layer(default_layer);
+  default_layer_set(default_layer);
+}
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
+    switch(id) {
+        case DLEFT:
+            if (record->event.pressed) { // Windows move desktop left
+                return MACRO(D(LCTL), D(LGUI), T(LEFT), U(LGUI), U(LCTL), END);
+            }
+            break;
+        case DRIGHT:
+            if (record->event.pressed) { // Windows move desktop right
+                return MACRO(D(LCTL), D(LGUI), T(RIGHT), U(LGUI), U(LCTL), END);
+            }
+            break;
+        case PSCREEN_APP:
+            if (record->event.pressed) {
+                return MACRO(D(LALT), T(PSCR), U(LALT), END);
+            }
+            break;
+    }
+    return MACRO_NONE;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+    tap_dance_process_record(keycode);
+    return true;
+}
diff --git a/keyboards/zen/keymaps/333fred/rules.mk b/keyboards/zen/keymaps/333fred/rules.mk
new file mode 100644 (file)
index 0000000..38b7155
--- /dev/null
@@ -0,0 +1,7 @@
+RGBLIGHT_ENABLE = yes
+BACKLIGHT_ENABLE = no
+NKRO_ENABLE = yes
+KEY_LOCK_ENABLE = yes
+TAP_DANCE_ENABLE = yes
+CONSOLE_ENABLE = no
+EXTRAFLAGS += -flto
index d886bf8217ae1c20cab1ad6d8ee2fc061b33af62..82255e05ec71c58d2161a7c9296b03b5827ea8e0 100644 (file)
@@ -1,11 +1,7 @@
-#ifndef CONFIG_H_
-#define CONFIG_H_
+#pragma once
 
 #include QMK_KEYBOARD_CONFIG_H
 #include "333fred_config.h"
 
 #undef TAPPING_TERM
 #define TAPPING_TERM 200
-
-
-#endif
index 479e4702c27deb40b8488a6b1553e3d40a6e8ee5..d7728a5bd4a7aff8b711ce3dd0f6f788935c1102 100644 (file)
@@ -363,15 +363,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
   return true;
 }
 
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
-
-};
-
-
 // Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
+void matrix_scan_user_keyboard(void) {
     ergodox_board_led_on();
     ergodox_led_all_on();
-};
+}
 
index 2a522112e5a8c446daba0f60571f687341f43d00..1549bcfc84dd4e3a93c8690993eea22b6ab099c7 100644 (file)
@@ -5,5 +5,3 @@ NKRO_ENABLE = yes
 KEY_LOCK_ENABLE = yes
 TAP_DANCE_ENABLE = yes
 CONSOLE_ENABLE = no
-
-
index ef2d741e5b38e0d6454782b4c4d8055363a0590d..12ee9e7d7d2cc623472332880a5276e73dd382b0 100644 (file)
@@ -34,6 +34,7 @@ void tap_dance_layer_finished(qk_tap_dance_state_t *state, void *user_data) {
             break;
         case DOUBLE:
             layer_on(VIM);
+            break;
     }
 }
 
@@ -61,3 +62,26 @@ void tap_dance_process_record(uint16_t keycode) {
         tap_dance_active = false;
     }
 }
+
+__attribute__ ((weak))
+void matrix_init_rgb(void) {}
+
+__attribute__ ((weak))
+void layer_state_set_rgb(uint32_t state) {}
+
+__attribute__ ((weak))
+void matrix_scan_user_keyboard(void) {}
+
+void matrix_scan_user() {
+  static bool first_run = true;
+  if (first_run) {
+    first_run = false;
+    matrix_init_rgb();
+  }
+  matrix_scan_user_keyboard();
+}
+
+uint32_t layer_state_set_user(uint32_t state) {
+  layer_state_set_rgb(state);
+  return state;
+}
index 4a0462b7a2b308f1e75059e631ad1e64e8db0d71..8599198a575d29d860e5c384fc9a35abd2aa0cc3 100644 (file)
@@ -1,5 +1,4 @@
-#ifndef FRED_333
-#define FRED_333
+#pragma once
 
 #include "quantum.h"
 
@@ -18,5 +17,3 @@ enum tap_dance_declarations {
 void tap_dance_layer_finished(qk_tap_dance_state_t*, void*);
 void tap_dance_layer_reset(qk_tap_dance_state_t*, void*);
 void tap_dance_process_record(uint16_t);
-
-#endif
index f796abc0958fbb91be88857c52173f34c6eb44dd..7c637d8d3650ee779f7a02e68a105288a90a2aa3 100644 (file)
@@ -1,7 +1,4 @@
-#ifndef FRED333_CONFIG
-#define FRED333_CONFIG
+#pragma once
 
 #define PREVENT_STUCK_MODIFIERS
 #define PERMISSIVE_HOLD
-
-#endif
diff --git a/users/333fred/rgb.c b/users/333fred/rgb.c
new file mode 100644 (file)
index 0000000..a3dfd90
--- /dev/null
@@ -0,0 +1,28 @@
+#include "quantum.h"
+#include "333fred.h"
+
+void matrix_init_rgb(void) {
+  rgblight_enable_noeeprom();
+  rgblight_sethsv_noeeprom(270, 255, 20);
+}
+
+void layer_state_set_rgb(uint32_t state) {
+  switch (biton32(state)) {
+    case BASE:
+      // purple
+      rgblight_sethsv_noeeprom(270, 255, 20);
+      break;
+    case SYMB:
+      // blue
+      rgblight_sethsv_noeeprom(240, 255, 20);
+      break;
+    case VIM:
+      // green
+      rgblight_sethsv_noeeprom(120, 255, 20);
+      break;
+    case GAME:
+      // red
+      rgblight_sethsv_noeeprom(0, 255, 20);
+      break;
+  }
+}
index 3160ac2e698de207d1c22927190e13728ac3dfb0..0e2cc2588cc5a209ece31df51db4d8a32309cdc7 100644 (file)
@@ -1,2 +1,5 @@
-
 SRC += 333fred.c
+
+ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
+  SRC += rgb.c
+endif