]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Merge remote-tracking branch 'upstream/master'
authorBrendan Johan Lee <deadcyclo@vanntett.net>
Thu, 26 Jan 2017 10:56:32 +0000 (11:56 +0100)
committerBrendan Johan Lee <deadcyclo@vanntett.net>
Thu, 26 Jan 2017 10:56:32 +0000 (11:56 +0100)
keyboards/ergodox/keymaps/deadcyclo/Makefile [new file with mode: 0644]
keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-base-layout.png
keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-1-symbols.png
keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-2-media-and-mouse.png
keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-navigation.png
keyboards/ergodox/keymaps/deadcyclo/keymap.c
keyboards/ergodox/keymaps/deadcyclo/readme.md

diff --git a/keyboards/ergodox/keymaps/deadcyclo/Makefile b/keyboards/ergodox/keymaps/deadcyclo/Makefile
new file mode 100644 (file)
index 0000000..039f07c
--- /dev/null
@@ -0,0 +1 @@
+UNICODE_ENABLE = yes
index 4208c5189ff77443dcf236f5b3ccae1b963abead..a70e375596201ccd1e95100b595fa4a00de6bfa7 100644 (file)
Binary files a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-base-layout.png and b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-base-layout.png differ
index ccda70e39a4770b101eb2789349e2c66f3ed9f6f..5adb7ac774e79b07f5ba97f20047d33a60d6c2b5 100644 (file)
Binary files a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-1-symbols.png and b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-1-symbols.png differ
index 481e63e324bc72d808817182279595c8a4a13922..a267ff23d223eff976ce032965d301886d759825 100644 (file)
Binary files a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-2-media-and-mouse.png and b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-2-media-and-mouse.png differ
index 9ebba673401289e9d1ad584d29bf938ac2b47d99..e60c3e59ee344cb0724d27f70355ca1f24b6bedc 100644 (file)
Binary files a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-navigation.png and b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-navigation.png differ
index d75c805bfe010bed4735eeebd584a2b3d7d518d5..7578c723d5101ce1202b60631294bfd8074e847a 100644 (file)
@@ -12,7 +12,25 @@ enum custom_keycodes {
   PLACEHOLDER = SAFE_RANGE, // can always be here
   EPRM,
   VRSN,
-  RGB_SLD
+  RGB_SLD,
+  SHRUG,
+  YAY,
+  HUG,
+  SMILE,
+  SMILE2,
+  HMM1,
+  HMM2,
+  BEAR1,
+  BEAR2,
+  FUU,
+  EGGY1,
+  EGGY2,
+  FACE1,
+  FACE2,
+  UHU,
+  SMRK1,
+  SMRK2,
+  LOVE
 };
 
 // TODO: Get rid of of keys I don't want. Make others that I do. Set up lots of makros (Using hyper (and meh)) keys (where to put them?)
@@ -45,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         // left hand
                LT(NAVG,KC_ESC),         KC_1,         KC_2,   KC_3,   KC_4,   KC_5,   KC_6,
         LT(SYMB,KC_TAB),        KC_Q,         KC_W,   KC_E,   KC_R,   KC_T,   TG(SYMB),
-        KC_LCTL,        KC_A,         KC_S,   KC_D,   KC_F,   KC_G,
+        KC_LCTL,        LT(MDIA, KC_A),         KC_S,   KC_D,   KC_F,   KC_G,
         KC_LSFT,        CTL_T(KC_Z),  KC_X,   KC_C,   KC_V,   KC_B,   ALL_T(KC_NO),
         LT(SYMB,KC_GRV),KC_QUOT,      LALT(KC_LSFT),  KC_RALT,KC_LALT,
                                               ALT_T(KC_APP),  KC_HOME,
@@ -75,11 +93,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *   |      |      |      |      |      |                                       |      |    . |   0  |   =  |      |
  *   `----------------------------------'                                       `----------------------------------'
  *                                        ,-------------.       ,-------------.
- *                                        |      |      |       |      |      |
+ *                                        |Toggle|Animat|       | Hue+ | Hue- |
  *                                 ,------|------|------|       |------+------+------.
- *                                 |      |      |      |       |      |      |      |
- *                                 |      |      |------|       |------| DEL  |      |
- *                                 |      |      |      |       |      |      |      |
+ *                                 |Bright|Bright|Solid |       |      |      |      |
+ *                                 |ness- |ness+ |------|       |------| DEL  |      |
+ *                                 |      |      |      |       | EPRM |      |      |
  *                                 `--------------------'       `--------------------'
  */
 // SYMBOLS
@@ -90,27 +108,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
        KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
-                                       KC_TRNS,KC_TRNS,
-                                               KC_TRNS,
-                               KC_TRNS,KC_TRNS,KC_TRNS,
+                                       RGB_TOG,RGB_MOD,
+                                               RGB_SLD,
+                               RGB_VAD,RGB_VAI,KC_TRNS,
        // right hand
        KC_F6, KC_F7,   KC_F8,  KC_F9,   KC_F10,   KC_F11,  KC_F12,
        KC_TRNS, KC_UP,   KC_7,   KC_8,    KC_9,    KC_ASTR, KC_TRNS,
                 KC_DOWN, KC_4,   KC_5,    KC_6,    KC_PLUS, KC_TRNS,
        KC_TRNS, KC_AMPR, KC_1,   KC_2,    KC_3,    KC_BSLS, KC_TRNS,
                          KC_TRNS,KC_DOT,  KC_0,    KC_EQL,  KC_TRNS,
-       KC_TRNS, KC_TRNS,
+       RGB_HUD, RGB_HUI,
        KC_TRNS,
-       KC_TRNS, KC_DEL, KC_TRNS
+       EPRM, KC_DEL, KC_TRNS
 ),
-/* Keymap 2: Media and mouse keys
+/* Keymap 2: Media, mouse and navigation
  *
  * ,--------------------------------------------------.           ,--------------------------------------------------.
  * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * |        |      |      | MsUp |      |      |      |           |      |      |      |      |      |      |        |
+ * |        |      |      | MsUp |      |      |      |           |      |      |      |  Up  |      |      |        |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |      |MsLeft|MsDown|MsRght|      |------|           |------|      |      |      |      |      |  Play  |
+ * |        |      |MsLeft|MsDown|MsRght|      |------|           |------|      | Left | Down | Right|      |  Play  |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
  * |        |      |      |      |      |      |      |           |      |      |      | Prev | Next |      |        |
  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
@@ -124,7 +142,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                 |      |      |      |       |      |      |      |
  *                                 `--------------------'       `--------------------'
  */
-// MEDIA AND MOUSE
+// MEDIA , MOUSE and NAVIGATION
 [MDIA] = KEYMAP(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -135,28 +153,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                                                     KC_TRNS,
                                   KC_TRNS, KC_TRNS, KC_TRNS,
     // right hand
-       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-                 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
-       KC_TRNS,  KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
-                          KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS,
+       KC_TRNS,  KC_TRNS, KC_TRNS, KC_UP,   KC_TRNS,  KC_TRNS, KC_TRNS,
+                 KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_MPLY,
+       KC_TRNS,  KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT,  KC_TRNS, KC_TRNS,
+                          KC_VOLU, KC_VOLD, KC_MUTE,  KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS,
        KC_TRNS,
        KC_TRNS, KC_TRNS, KC_WBAK
 ),
 
-/* Keymap 3: Navigation TODO: Printscreen, pg up down, home, end, others? Insert for example
+/* Keymap 3: Unicode
  *
  * ,--------------------------------------------------.           ,--------------------------------------------------.
  * |        | VER  |      |      |      |      |      |           |      |      |      |      |      |      |        |
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * |        |      |      |  up  |      |      |      |           |      |      |      |      |      |      |        |
+ * |        | shrug| yay  | hug  | smile|smile2|      |           |      |  ■   |  λ   |  →   |  ➙   |  ▻   |        |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |      | left | down | right|      |------|           |------|      |      |      |      |      |        |
+ * |        | hmm1 | hmm2 | bear1| bear2| fuu  |------|           |------|  ☺   |  ☻   |  ☹   |  ♡   |  ♥   |        |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * |        | eggy1| eggy2| face1| face2| uhu  |      |           |      |  ❤   |      |      |      |      |        |
  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   |      |      |      |      |      |                                       |      |      |      |      |      |
+ *   |      | smrk1| smrk2| love |      |                                       |      |      |      |      |      |
  *   `----------------------------------'                                       `----------------------------------'
  *                                        ,-------------.       ,-------------.
  *                                        |      |      |       |      |      |
@@ -166,21 +184,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                 |      |      |      |       |      |      |      |
  *                                 `--------------------'       `--------------------'
  */
-// NAVIGATION
+// Unicode
 [NAVG] = KEYMAP(
        KC_TRNS, VRSN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-       KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
-       KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS,
-       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS, SHRUG, YAY, HUG, SMILE, SMILE2, KC_TRNS,
+       KC_TRNS, HMM1, HMM2, BEAR1, BEAR2, FUU,
+       KC_TRNS, EGGY1, EGGY2, FACE1, FACE2, UHU, KC_TRNS,
+       KC_TRNS, SMRK1, SMRK2, LOVE, KC_TRNS,
                                            KC_TRNS, KC_TRNS,
                                                     KC_TRNS,
                                   KC_TRNS, KC_TRNS, KC_TRNS,
     // right hand
        KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-                 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-       KC_TRNS,  KC_TRNS, KC_TRNS, KC_MPRV, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS,  UC(0x25a0), UC(0x03bb), UC(0x2192), UC(0x2799), UC(0x25bb), KC_TRNS,
+                 UC(0x263a), UC(0x263b), UC(0x2639), UC(0x2661), UC(0x2665), KC_TRNS,
+       KC_TRNS,  UC(0x2764), KC_TRNS, KC_MPRV, KC_TRNS, KC_TRNS, KC_TRNS,
                           KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS,
        KC_TRNS,
@@ -192,6 +210,25 @@ const uint16_t PROGMEM fn_actions[] = {
     [1] = ACTION_LAYER_TAP_TOGGLE(SYMB)                // FN1 - Momentary Layer 1 (Symbols)
 };
 
+static void ang_tap (uint16_t code, ...) {
+  uint16_t kc = code;
+  va_list ap;
+
+  va_start(ap, code);
+
+  do {
+    register_code16(kc);
+    unregister_code16(kc);
+    wait_ms(50);
+    kc = va_arg(ap, int);
+  } while (kc != 0);
+  va_end(ap);
+}
+
+#define TAP_ONCE(code)  \
+  register_code (code); \
+  unregister_code (code)
+
 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 {
   // MACRODOWN only works in this function
@@ -233,13 +270,197 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
       }
       return false;
       break;
+  case SHRUG:
+      if (record->event.pressed) {
+         unicode_input_start(); register_hex(0xaf); unicode_input_finish();
+         TAP_ONCE (KC_BSLS);
+         register_code (KC_RSFT); TAP_ONCE (KC_MINS); TAP_ONCE (KC_9); unregister_code (KC_RSFT);
+         unicode_input_start (); register_hex(0x30c4); unicode_input_finish();
+         register_code (KC_RSFT); TAP_ONCE (KC_0); TAP_ONCE (KC_MINS); unregister_code (KC_RSFT);
+         TAP_ONCE (KC_SLSH);
+         unicode_input_start (); register_hex(0xaf); unicode_input_finish();
+      }
+      return false;
+      break;
+  case YAY:
+      if (record->event.pressed) {
+       ang_tap (KC_BSLS, KC_O, KC_SLSH, 0);
+      }
+      return false;
+      break;
+ case HUG:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x0f3c); unicode_input_finish();
+     TAP_ONCE (KC_SPC);
+     unicode_input_start(); register_hex(0x3064); unicode_input_finish();
+     TAP_ONCE (KC_SPC);
+     unicode_input_start(); register_hex(0x25d5); unicode_input_finish();
+     unicode_input_start(); register_hex(0x005f); unicode_input_finish();
+     unicode_input_start(); register_hex(0x25d5); unicode_input_finish();
+     TAP_ONCE (KC_SPC);
+     unicode_input_start(); register_hex(0x0f3d); unicode_input_finish();
+     unicode_input_start(); register_hex(0x3064); unicode_input_finish();
+   }
+      return false;
+      break;
+  case SMILE:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x0298); unicode_input_finish();
+     unicode_input_start(); register_hex(0x203f); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0298); unicode_input_finish();
+   }
+      return false;
+      break;
+  case SMILE2:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x0028); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0298); unicode_input_finish();
+     unicode_input_start(); register_hex(0x203f); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0298); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0029); unicode_input_finish();
+   }
+      return false;
+      break;
+  case HMM1:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x0ca0); unicode_input_finish();
+     unicode_input_start(); register_hex(0x005f); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0ca0); unicode_input_finish();
+   }
+      return false;
+      break;
+  case HMM2:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x0028); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0ca0); unicode_input_finish();
+     unicode_input_start(); register_hex(0x005f); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0ca0); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0029); unicode_input_finish();
+   }
+      return false;
+      break;
+  case BEAR1:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x0295); unicode_input_finish();
+     unicode_input_start(); register_hex(0x2022); unicode_input_finish();
+     unicode_input_start(); register_hex(0x1d25); unicode_input_finish();
+     unicode_input_start(); register_hex(0x2022); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0294); unicode_input_finish();
+   }
+      return false;
+      break;
+  case BEAR2:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x0028); unicode_input_finish();
+     unicode_input_start(); register_hex(0x1d54); unicode_input_finish();
+     unicode_input_start(); register_hex(0x1d25); unicode_input_finish();
+     unicode_input_start(); register_hex(0x1d54); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0029); unicode_input_finish();
+   }
+      return false;
+      break;
+  case FUU:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x256d); unicode_input_finish();
+     unicode_input_start(); register_hex(0x2229); unicode_input_finish();
+     unicode_input_start(); register_hex(0x256e); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0028); unicode_input_finish();
+     unicode_input_start(); register_hex(0x002d); unicode_input_finish();
+     unicode_input_start(); register_hex(0x005f); unicode_input_finish();
+     unicode_input_start(); register_hex(0x002d); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0029); unicode_input_finish();
+     unicode_input_start(); register_hex(0x256d); unicode_input_finish();
+     unicode_input_start(); register_hex(0x2229); unicode_input_finish();
+     unicode_input_start(); register_hex(0x256e); unicode_input_finish();
+   }
+      return false;
+      break;
+  case EGGY1:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x0028); unicode_input_finish();
+     unicode_input_start(); register_hex(0x256f); unicode_input_finish();
+     unicode_input_start(); register_hex(0x00b0); unicode_input_finish();
+     unicode_input_start(); register_hex(0x25a1); unicode_input_finish();
+     unicode_input_start(); register_hex(0x00b0); unicode_input_finish();
+     unicode_input_start(); register_hex(0xff09); unicode_input_finish();
+     unicode_input_start(); register_hex(0x256f); unicode_input_finish();
+   }
+      return false;
+      break;
+  case EGGY2:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x30ce); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0028); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0020); unicode_input_finish();
+     unicode_input_start(); register_hex(0x309c); unicode_input_finish();
+     unicode_input_start(); register_hex(0x002d); unicode_input_finish();
+     unicode_input_start(); register_hex(0x309c); unicode_input_finish();
+     unicode_input_start(); register_hex(0x30ce); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0029); unicode_input_finish();
+   }
+      return false;
+      break;
+  case FACE1:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x0028); unicode_input_finish();
+     unicode_input_start(); register_hex(0x002d); unicode_input_finish();
+     unicode_input_start(); register_hex(0x005f); unicode_input_finish();
+     unicode_input_start(); register_hex(0x002d); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0029); unicode_input_finish();
+   }
+      return false;
+      break;
+  case FACE2:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x0028); unicode_input_finish();
+     unicode_input_start(); register_hex(0x2022); unicode_input_finish();
+     unicode_input_start(); register_hex(0x005f); unicode_input_finish();
+     unicode_input_start(); register_hex(0x2022); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0029); unicode_input_finish();
+   }
+      return false;
+      break;
+  case UHU:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x2299); unicode_input_finish();
+     unicode_input_start(); register_hex(0xfe4f); unicode_input_finish();
+     unicode_input_start(); register_hex(0x2299); unicode_input_finish();
+   }
+      return false;
+      break;
+  case SMRK1:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x005e); unicode_input_finish();
+     unicode_input_start(); register_hex(0x032e); unicode_input_finish();
+     unicode_input_start(); register_hex(0x005e); unicode_input_finish();
+   }
+      return false;
+      break;
+  case SMRK2:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x0028); unicode_input_finish();
+     unicode_input_start(); register_hex(0x005e); unicode_input_finish();
+     unicode_input_start(); register_hex(0x032e); unicode_input_finish();
+     unicode_input_start(); register_hex(0x005e); unicode_input_finish();
+     unicode_input_start(); register_hex(0x0029); unicode_input_finish();
+   }
+      return false;
+      break;
+  case LOVE:
+   if (record->event.pressed) {
+     unicode_input_start(); register_hex(0x2665); unicode_input_finish();
+     unicode_input_start(); register_hex(0x203f); unicode_input_finish();
+     unicode_input_start(); register_hex(0x2665); unicode_input_finish();
+   }
+      return false;
+      break;
   }
   return true;
 }
 
 // Runs just one time when the keyboard initializes.
 void matrix_init_user(void) {
-
+  set_unicode_input_mode(UC_LNX);
 };
 
 // Runs constantly in the background, in a loop.
@@ -254,12 +475,21 @@ void matrix_scan_user(void) {
     switch (layer) {
     case 1:
       ergodox_right_led_1_on();
+      #ifdef RGBLIGHT_ENABLE
+      rgblight_setrgb(0xff,0x00,0x00);
+      #endif
       break;
     case 2:
       ergodox_right_led_2_on();
+      #ifdef RGBLIGHT_ENABLE
+      rgblight_setrgb(0x00,0xff,0x00);
+      #endif
       break;
     case 3:
       ergodox_right_led_3_on();
+      #ifdef RGBLIGHT_ENABLE
+       rgblight_setrgb(0x00,0x00,0xff);
+      #endif
       break;
     case 4:
       ergodox_right_led_1_on(); // TODO: Make a fourth layer
index 809dd6eb56893bd5d35bad5d9d41a06f88d45dc4..2ca5e822c15a813b1d8bc15cfee1924dc758bbcd 100644 (file)
@@ -1,9 +1,11 @@
 # ErgoDox EZ 1337 configuration
 
-Custom layout based on the default layout. Intended for interational users of us intl-altgr layout. Note that
-some common keys might be missing, as this layout is intented to be used on *nix systems by users familiar
-with their system. The layout is geared towards avoiding using the rat (mouse for those of you who are
-unfamiliar with tiling window managers) as much as possibly.
+Custom layout based on the default layout. Intended for interational
+users of us intl-altgr layout. Note that some common keys might be
+missing, as this layout is intented to be used on *nix systems by
+users familiar with their system. The layout is geared towards
+avoiding using the rat (mouse for those of you who are unfamiliar with
+tiling window managers) as much as possibly.
 
 # Layouts
 
@@ -13,24 +15,55 @@ All layer images created using [keyboard-layout-editor](http://www.keyboard-layo
 
 [![Base layer](images/deadcyclo-base-layout.png)](http://www.keyboard-layout-editor.com/#/gists/0321b18620180a3e46c498206eb65366)
 
-## Layer 1 - Symbols
+The base layer here is marked with the us international alt-gr layout,
+including characters bound to what on an iso keyboard would be alt-gr
+and on an ansi keyboard right alt.
 
-[![Layer 1 - Symbols](images/deadcyclo-layer-1-symbols.png)](http://www.keyboard-layout-editor.com/#/gists/96714e198054c9115bafb5267cc6bc73)
+Regular (and irregular) modifier keys are marked with a yellowish
+gray. Layer moderators are marked with blue, red and green, which are
+the same colors each layer displays on the LEDs when active.
 
-## Layer 2 - Media and Mouse
+All of the layer switch keys, except for the two center keys marked L1
+TOG, are dual purpose. Hence for example the top left key produces ESC
+if tapped, and temporarilly toggles L3 when hold down. The two center
+L1 TOG keys toggle L1 on and off for more permanent layer toggling.
 
-[![Layer 2 - Media and Mouse](images/deadcyclo-layer-2-media-and-mouse.png)](http://www.keyboard-layout-editor.com/#/gists/824759486e378bcec30784309a7e5731)
+## Layer 1 - Symbols and RGB
 
-## Layer 3 - Navigation
+[![Layer 1 - Symbols and RGB](images/deadcyclo-layer-1-symbols.png)](http://www.keyboard-layout-editor.com/#/gists/96714e198054c9115bafb5267cc6bc73)
 
-[![Layer 3 - Navigation](images/deadcyclo-layer-3-navigation.png)](http://www.keyboard-layout-editor.com/#/gists/67d9613dcd873c68693d11863d0fd289)
+The Symbols and RGB layer contains function keys, commonly used
+symbols, a numpad and if you have the new Ergodox Ez shine keys for
+controlling various RGB-led functions. In addition, it provides an up
+and a down key for easy scrolling. RGB controller keys are yellow.
+
+## Layer 2 - Media, Mouse and Navigation
+
+[![Layer 2 - Media, Mouse and Navigation](images/deadcyclo-layer-2-media-and-mouse.png)](http://www.keyboard-layout-editor.com/#/gists/824759486e378bcec30784309a7e5731)
+
+The Media, Mouse and unicode layer contains special keys for moving
+the mouse and clicking on it with the keyboard. In addition it
+provides standard media control keys, and default arrow keys.
+
+## Layer 3 - Unicode
+
+[![Layer 3 - Unicode](images/deadcyclo-layer-3-navigation.png)](http://www.keyboard-layout-editor.com/#/gists/67d9613dcd873c68693d11863d0fd289)
+
+The unicode layer provides keys for directly typing unicode (utf-8)
 
 # Changelog
 
 - 02.01.2017 Added delete key on second layer
 - 10.01.2017 Added layer images to readme
+- 24.01.2017 Added support for Ergodox Shine. Added secondary L2 switch key on left hand
+- 24.01.2017 Added unicode keys. Added shrug hug and yay. Moved Navigation to layer 2
+- 25.01.2017 Added lots of new emojis and some unicode keys
 
 # TODO
 
-- Add unicode support (direct input and indirect? see algernon layout for examples)
-- Add descriptions below each layer image of any special functions/keys
+- Add support for unicode by name? (See algernon layout for example)
+- Add macros for lots of stuff. (Lastpass cli, pushbullet cli, other push service cli, linode cli, more?)
+- Make macros for gnu screen and i3wm
+- Look into the app launch macros in algernon keymap
+- Make other smileys like shrug and yay ¯\_(ツ)_/¯ and \o/ and others (see amon others [http://dongerlist.com](http://dongerlist.com)
+