Browse Source

E6V2 LE HHKB love (#4079)

* Keyboard: E6V2 LE HHKB layout support

* Keymap: Add johu's E6V2 LE HHKB layout
Johannes Huber 6 years ago
parent
commit
54b61b508b

File diff suppressed because it is too large
+ 0 - 0
keyboards/e6v2/le/info.json


+ 98 - 0
keyboards/e6v2/le/keymaps/johu/keymap.c

@@ -0,0 +1,98 @@
+#include QMK_KEYBOARD_H
+
+#define _BL 0
+#define _FL 1
+#define _SL 2
+#define _CL 3
+
+// Tap dance defines
+#define CTL_ESC     CTL_T(KC_ESC)               // Tap for Esc, hold for Ctrl
+#define HPR_TAB     ALL_T(KC_TAB)               // Tap for Tab, hold for Hyper (Super+Ctrl+Shift+Alt)
+#define SFT_ENT     SFT_T(KC_ENT)               // Tap for Enter, hold for Shift
+#define KC_SPFN     LT(_SL, KC_SPC)             // Tap for space, hold for function layer (aka SpaceFN)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Layer 0: Base layer (Default layer)
+ * ,-----------------------------------------------------------------------------------------.
+ * | Esc |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  0  |  -  |  =  |  \  |  `  |
+ * |-----------------------------------------------------------------------------------------+
+ * |Tab/Hyper|  Q  |  W  |  E  |  R  |  T  |  Y  |  U  |  I  |  O  |  P  |  [  |  ]  |  Bksp |
+ * |-----------------------------------------------------------------------------------------+
+ * | Ctrl/Esc  |  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  |  ;  |  '  |    Enter  |
+ * |-----------------------------------------------------------------------------------------+
+ * | Shift     |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  |  /  | Shift/Ent | FN  |
+ * |-----------------------------------------------------------------------------------------+
+ *           |LGUI | LAlt  |               Space                   | RAlt   |RGUI |
+ *           `--------------------------------------------------------------------'
+ */
+  [_BL] = LAYOUT_60_hhkb(
+      KC_GESC, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS, KC_GRV,
+      HPR_TAB, KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSPC,
+      CTL_ESC, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,
+      KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          SFT_ENT, MO(_FL),
+               KC_LGUI, KC_LALT,                       KC_SPFN,                        KC_RALT, KC_RGUI
+      ),
+
+/* Layer 1: FN Layer
+ * ,-----------------------------------------------------------------------------------------.
+ * |  CL | F1  | F2  | F3  | F4  | F5  | F6  | F7  | F8  | F9  | F10 | F11 | F12 | Ins | Del |
+ * |-----------------------------------------------------------------------------------------+
+ * |        |     |     |     |     |     |     |     | Psc | Slck| Paus| Up  |     | Del    |
+ * |-----------------------------------------------------------------------------------------+
+ * |         | Vol-| Vol+| Mute|     |     | *   | /   | Home| PgUp| Left|Right|             |
+ * |-----------------------------------------------------------------------------------------+
+ * |           | Prev| Play| Next|     |     | +   | -   | End  |PgDn| Down|           |     |
+ * |-----------------------------------------------------------------------------------------+
+ *           |       |       |                                    | Stop  |  CL   |
+ *           `--------------------------------------------------------------------'
+ */
+  [_FL] = LAYOUT_60_hhkb(
+      TG(_CL),  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_INS,  KC_DEL,
+       _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP,   _______, KC_DEL,
+       _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
+       _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PPLS, KC_PMNS, KC_END,  KC_PGDN, KC_DOWN,          _______, _______,
+                _______, _______,                       _______,                        KC_MSTP, MO(_CL)
+      ),
+
+/* Layer 2: Space FN Layer
+* ,-----------------------------------------------------------------------------------------.
+* |  CL | F1  | F2  | F3  | F4  | F5  | F6  | F7  | F8  | F9  | F10 | F11 | F12 | Ins | Del |
+* |-----------------------------------------------------------------------------------------+
+* |        |     |     |     |     |     |     | PgUp|     | PgDn|     |     |     | Del    |
+* |-----------------------------------------------------------------------------------------+
+* |         | Vol-| Vol+| Mute|     |     | Left| Down| Up  |Right|     |     |             |
+* |-----------------------------------------------------------------------------------------+
+* |           | Prev| Play| Next|     |     | Home| End |     |     |     |           |     |
+* |-----------------------------------------------------------------------------------------+
+*            |       |       |                                    |       |  CL   |
+*            `--------------------------------------------------------------------'
+*/
+  [_SL] = LAYOUT_60_hhkb(
+      TG(_CL), 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_INS,  KC_DEL,
+      _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, KC_PGDN, _______, _______, _______, KC_DEL,
+      _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, _______, _______, _______,
+      _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_END,  _______, _______, _______,          _______, _______,
+               _______, _______,                        _______,                       _______, MO(_CL)
+      ),
+
+/* Layer 3: Control Layer
+ * ,-----------------------------------------------------------------------------------------.
+ * |     |     |     |     |     |     |     |     |     |     |     |     |     |     |     |
+ * |-----------------------------------------------------------------------------------------+
+ * |        | BL- | BL+ | BL  |     |     |     |     |     |     |     |     |     | RESET  |
+ * |-----------------------------------------------------------------------------------------+
+ * |         | RGBT| RGBM|     |     |     |     |     |     |     |     |     |             |
+ * |-----------------------------------------------------------------------------------------+
+ * |  CAPS     | Hue+| Hue-| Sat+| Sat-| Val+| Val-|     |      |    |     |           |     |
+ * |-----------------------------------------------------------------------------------------+
+ *           |       |       |                                     |       |      |
+ *           `--------------------------------------------------------------------'
+ */
+  [_CL] = LAYOUT_60_hhkb(
+      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,  _______, _______, _______, _______, _______,
+      _______, BL_TOGG, BL_STEP, BL_DEC,  BL_INC,  _______, _______, _______, _______, _______,  _______, _______, _______, RESET,
+      _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______,  _______, _______, _______,
+      KC_CAPS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______,  _______,          _______, _______,
+               _______, _______,                        _______,                       _______,  _______
+      )
+};

+ 40 - 0
keyboards/e6v2/le/keymaps/johu/readme.md

@@ -0,0 +1,40 @@
+# johu's E6-V2 Last Edition (LE) HHKB
+Make example for this keyboard (after setting up your build environment):
+```bash
+$ make e6v2/le:johu
+```
+
+Or to make and flash:
+```bash
+$ make e6v2/le:johu:dfu
+```
+
+See the [build environment setup] and the [make instructions] for more
+information. Brand new to QMK? Start with our [Complete Newbs Guide].
+
+## Layer 0: Base Layer
+* HHKB Qwerty layout plus some specials:
+  * The Space key sends `Space` when tapped, toggles to *Space FN Layer* when held
+  * [Grave Escape]
+  * The Ctrl key sends `Esc` when tapped, `Ctrl` when held
+  * The Tab key sends `Tab` when tapped, [Hyper] (`Super+Ctrl+Alt+Shift`) when held
+  * The right Shift key sends `Enter` when tapped, `Shift` when held
+
+## Layer 1: Function Layer
+* Default HHKB function layer includig the iconic diamond arrow cluster
+* Multimedia controls
+
+## Layer 2: Space FN Layer
+* VIM style arrow cluster
+* Multimedia controls
+
+## Layer 3: Control Layer
+* Reset button
+* RGB controls
+* Caps Lock
+
+[build environment setup]: https://docs.qmk.fm/#/getting_started_build_tools
+[make instructions]: https://docs.qmk.fm/#/getting_started_make_guide
+[Complete Newbs Guide]: https://docs.qmk.fm/#/newbs
+[Grave Escape]: https://beta.docs.qmk.fm/features/feature_grave_esc
+[Hyper]: http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key

+ 28 - 0
keyboards/e6v2/le/le.h

@@ -33,4 +33,32 @@
   { K40, KC_NO, K42, K43, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E   }, \
 }
 
+/* LAYOUT_60_hhkb
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0e │0d │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
+ * │10   │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e   │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │20    │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d      │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
+ * │30      │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c    │3e │
+ * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴──────┬┴───┴┬───┬─┴───┤
+ * │▓▓▓▓▓│42 │43   │47 (7u)                    │4b   │4d │▓▓▓▓▓│
+ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+*/
+#define LAYOUT_60_hhkb( \
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0D, \
+    K10,      K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
+    K20,      K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,      \
+    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C,      K3E, \
+              K42, K43,                K47,                K4B,      K4D       \
+)\
+{\
+  { K00,   K01,   K02, K03, K04,   K05,   K06,   K07, K08,   K09,   K0A,   K0B, K0C,   K0D,   K0E   }, \
+  { K10,   KC_NO, K12, K13, K14,   K15,   K16,   K17, K18,   K19,   K1A,   K1B, K1C,   K1D,   K1E   }, \
+  { K20,   KC_NO, K22, K23, K24,   K25,   K26,   K27, K28,   K29,   K2A,   K2B, K2C,   K2D,   KC_NO }, \
+  { K30,   KC_NO, K32, K33, K34,   K35,   K36,   K37, K38,   K39,   K3A,   K3B, K3C,   KC_NO, K3E   }, \
+  { KC_NO, KC_NO, K42, K43, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, KC_NO, K4B, KC_NO, K4D,   KC_NO }, \
+}
+
 #endif

+ 1 - 1
keyboards/e6v2/readme.md

@@ -17,4 +17,4 @@ The E6V2 has been available with either a bootmapper client or QMK powered PCB.
 
 Please use the appropriate version when making your firmware. Flashing one in place of the other, can brick your PCB. Please be certain whether you have a OE or LE  PCB. 
 
-See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

Some files were not shown because too many files changed in this diff