]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
E6-V2 Last Edition (LE) Support (#3324)
authorMechMerlin <30334081+mechmerlin@users.noreply.github.com>
Fri, 6 Jul 2018 15:15:56 +0000 (08:15 -0700)
committerDrashna Jaelre <drashna@live.com>
Fri, 6 Jul 2018 15:15:56 +0000 (08:15 -0700)
* new matrix for LE(Last Edition) E6V2

* Update pin outs for the new version of the PCB

* putting in some placeholders for now

* Trying to get e6v2/oe:default to compile

* put rules.mk in the right directory

* Add and update readme files

* move info.json to oe directory

* Update LE directory

* rename keyboard name

* Add QMK Configurator Support

At this time, ths only covers the ALL case and allows people to use
the configurator to generate their keymaps. More work will need
to be done.

30 files changed:
keyboards/e6v2/config.h [deleted file]
keyboards/e6v2/e6v2.c
keyboards/e6v2/e6v2.h
keyboards/e6v2/info.json [deleted file]
keyboards/e6v2/keymaps/amnesia0287/config.h [deleted file]
keyboards/e6v2/keymaps/amnesia0287/keymap.c [deleted file]
keyboards/e6v2/keymaps/amnesia0287/readme.md [deleted file]
keyboards/e6v2/keymaps/amnesia0287/rules.mk [deleted file]
keyboards/e6v2/keymaps/default/config.h [deleted file]
keyboards/e6v2/keymaps/default/keymap.c [deleted file]
keyboards/e6v2/keymaps/default/readme.md [deleted file]
keyboards/e6v2/keymaps/default/rules.mk [deleted file]
keyboards/e6v2/le/config.h [new file with mode: 0644]
keyboards/e6v2/le/info.json [new file with mode: 0644]
keyboards/e6v2/le/le.c [new file with mode: 0644]
keyboards/e6v2/le/le.h [new file with mode: 0644]
keyboards/e6v2/le/readme.md [new file with mode: 0644]
keyboards/e6v2/le/rules.mk [new file with mode: 0644]
keyboards/e6v2/oe/config.h [new file with mode: 0644]
keyboards/e6v2/oe/info.json [new file with mode: 0644]
keyboards/e6v2/oe/keymaps/amnesia0287/keymap.c [new file with mode: 0644]
keyboards/e6v2/oe/keymaps/amnesia0287/readme.md [new file with mode: 0644]
keyboards/e6v2/oe/keymaps/default/keymap.c [new file with mode: 0644]
keyboards/e6v2/oe/keymaps/default/readme.md [new file with mode: 0644]
keyboards/e6v2/oe/oe.c [new file with mode: 0644]
keyboards/e6v2/oe/oe.h [new file with mode: 0644]
keyboards/e6v2/oe/readme.md [new file with mode: 0644]
keyboards/e6v2/oe/rules.mk [new file with mode: 0644]
keyboards/e6v2/readme.md
keyboards/e6v2/rules.mk

diff --git a/keyboards/e6v2/config.h b/keyboards/e6v2/config.h
deleted file mode 100644 (file)
index b80afcb..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-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/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6060
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    Exclusive / E-Team
-#define PRODUCT         E6-V2
-#define DESCRIPTION     E6-V2 QMK PCB (Mid-Port)
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 15
-
-/* QMK E6-V2 PCB default pin-out */
-#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
-#define MATRIX_COL_PINS { C7, C6, B5, B4, D7, D6, D4, F6, F7, F5, F4, F1, F0, B0, B1 }
-#define UNUSED_PINS { E6, B2, B3, B7 }
-
-#define RGB_DI_PIN E2
-#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 8
-#define RGBLIGHT_HUE_STEP 12
-#define RGBLIGHT_SAT_STEP 12
-#define RGBLIGHT_VAL_STEP 12
-#endif
-
-#define BACKLIGHT_PIN B6
-#ifdef BACKLIGHT_PIN
-#define BACKLIGHT_LEVELS 5
-#define BACKLIGHT_BREAHTING
-#define BREATHING_PERIOD 3
-#endif
-
-#define DIODE_DIRECTION COL2ROW
-#define DEBOUNCING_DELAY 5
-
-#define IS_COMMAND() ( \
-        keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-    )
-
-
-
-#endif
index 917f3e07b60d6ee9e9df1ae9659122a4eb6fa8fb..e7d5fe9e3623464d2cabf0821646c8404d3643f5 100644 (file)
@@ -1,53 +1 @@
-#include "e6v2.h"
-
-void matrix_init_kb(void) {
-       // put your keyboard start-up code here
-       // runs once when the firmware starts up
-
-       matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
-       // put your looping keyboard code here
-       // runs every cycle (a lot)
-
-       matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
-       // put your per-action keyboard code here
-       // runs for every action, just before processing by the firmware
-
-       return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
-       // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-       DDRB |= (1<<6);
-       if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
-                       // output low
-                       DDRB |= (1<<2);
-                       PORTB &= ~(1<<2);
-               } else {
-                       // Hi-Z
-                       DDRB &= ~(1<<2);
-                       PORTB &= ~(1<<2);
-               }
-       // DDRB |= (1<<7);
-       // DDRB |= (1<<1);
-       // DDRB |= (1<<3);
-       // DDRE |= (1<<6);
-       if (usb_led == 0){
-               PORTB |= (1<<6);
-               // PORTB |= (1<<7);
-               // PORTB |= (1<<1);
-               // PORTB |= (1<<3);
-               // PORTE |= (1<<6);
-       }
-       else{
-               PORTB &= ~(1<<6);
-               // PORTB &= ~(1<<7);
-       }
-    
-       led_set_user(usb_led);
-}
+#include "e6v2.h"
\ No newline at end of file
index 6416b4bd5fef4c3744e30b9e900666a586412338..5190a3e826bd4efdf52c2fa7bad866682902e976 100644 (file)
@@ -3,64 +3,12 @@
 
 #include "quantum.h"
 
-#define LAYOUT( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
-     K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,  K1D,   \
-      K20,  K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,  K2C,  K2D, \
-    K30,  K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,  K3C,    K3D, \
-    K40,  K41,  K42,                K46,                K4A,  K4B,  K4C,  K4D \
-)\
-{\
-  { K00, K01, K02, K03,   K04,   K05,   K06, K07,   K08,   K09,   K0A, K0B, K0C, K0D, K0E   }, \
-  { K10, K11, K12, K13,   K14,   K15,   K16, K17,   K18,   K19,   K1A, K1B, K1C, K1D, KC_NO }, \
-  { K20, K21, K22, K23,   K24,   K25,   K26, K27,   K28,   K29,   K2A, K2B, K2C, K2D, KC_NO }, \
-  { K30, K31, K32, K33,   K34,   K35,   K36, K37,   K38,   K39,   K3A, K3B, K3C, K3D, KC_NO }, \
-  { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, KC_NO }, \
-}
-
-#define LAYOUT_60_ansi( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,      K0D, \
-     K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,  K1D,   \
-      K20,  K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,        K2D, \
-     K30,  K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3C,         \
-    K40,  K41,  K42,                K46,                K4A,  K4B,  K4C,  K4D \
-)\
-{\
-  { K00, K01,   K02, K03,   K04,   K05,   K06, K07,   K08,   K09,   K0A, K0B, K0C,   K0D,   KC_NO }, \
-  { K10, K11,   K12, K13,   K14,   K15,   K16, K17,   K18,   K19,   K1A, K1B, K1C,   K1D,   KC_NO }, \
-  { K20, K21,   K22, K23,   K24,   K25,   K26, K27,   K28,   K29,   K2A, K2B, KC_NO, K2D,   KC_NO }, \
-  { K30, KC_NO, K32, K33,   K34,   K35,   K36, K37,   K38,   K39,   K3A, K3B, K3C,   KC_NO, KC_NO }, \
-  { K40, K41,   K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C,   K4D,   KC_NO }, \
-}
-
-#define LAYOUT_hhkb( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,      K0D, \
-     K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,  K1D,   \
-      K20,  K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,       K2D,  \
-        K30,   K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,   K3C,  K3D,  \
-          K41,  K42,                 K46,                   K4B,  K4C         \
-)\
-{\
-  { K00,   K01,   K02, K03,   K04,   K05,   K06, K07,   K08,   K09,   K0A,   K0B, K0C,   K0D,   KC_NO }, \
-  { K10,   K11,   K12, K13,   K14,   K15,   K16, K17,   K18,   K19,   K1A,   K1B, K1C,   K1D,   KC_NO }, \
-  { K20,   K21,   K22, K23,   K24,   K25,   K26, K27,   K28,   K29,   K2A,   K2B, KC_NO, K2D,   KC_NO }, \
-  { K30,   KC_NO, K32, K33,   K34,   K35,   K36, K37,   K38,   K39,   K3A,   K3B, K3C,   K3D,   KC_NO }, \
-  { KC_NO, K41,   K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, KC_NO, K4B, K4C,   KC_NO, KC_NO }, \
-}
-
-#define LAYOUT_hhkb_splits( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,    K0D, K0E,\
-     K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,  K1D,     \
-      K20,  K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D,     \
-     K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,   K3C, K3D,     \
-          K41,  K42,                 K46,                   K4B,  K4C           \
-)\
-{\
-  { K00,   K01, K02, K03,   K04,   K05,   K06, K07,   K08,   K09,   K0A,   K0B, K0C,   K0D,   K0E   }, \
-  { K10,   K11, K12, K13,   K14,   K15,   K16, K17,   K18,   K19,   K1A,   K1B, K1C,   K1D,   KC_NO }, \
-  { K20,   K21, K22, K23,   K24,   K25,   K26, K27,   K28,   K29,   K2A,   K2B, KC_NO, K2D,   KC_NO }, \
-  { K30,   K31, K32, K33,   K34,   K35,   K36, K37,   K38,   K39,   K3A,   K3B, K3C,   K3D,   KC_NO }, \
-  { KC_NO, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, KC_NO, K4B, K4C,   KC_NO, KC_NO }, \
-}
+#ifdef KEYBOARD_e6v2_oe
+    #include "oe.h"
+#endif
 
+#ifdef KEYBOARD_e6v2_le
+    #include "le.h"
 #endif
+
+#endif
\ No newline at end of file
diff --git a/keyboards/e6v2/info.json b/keyboards/e6v2/info.json
deleted file mode 100644 (file)
index 1cac56f..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    "keyboard_name": "E6-V2",
-    "url": "",
-    "maintainer": "qmk",
-    "width": 15,
-    "height": 5,
-    "layouts": {
-        "LAYOUT": {
-            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
-        },
-
-        "LAYOUT_60_ansi": {
-            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
-        },
-
-        "LAYOUT_hhkb": {
-            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}]
-        },
-
-        "LAYOUT_hhkb_splits": {
-            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}]
-        }
-    }
-}
diff --git a/keyboards/e6v2/keymaps/amnesia0287/config.h b/keyboards/e6v2/keymaps/amnesia0287/config.h
deleted file mode 100644 (file)
index a5568e4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../config.h"
diff --git a/keyboards/e6v2/keymaps/amnesia0287/keymap.c b/keyboards/e6v2/keymaps/amnesia0287/keymap.c
deleted file mode 100644 (file)
index 7e64b12..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _BL  0
-#define _HLa 1
-#define _HLb 2
-#define _HL  3
-#define _XL  4
-
-enum hype_keycodes {
-  FN_HLa = SAFE_RANGE,
-  FN_HLb
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-    [_BL] = LAYOUT_hhkb(
-        KC_ESC,  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_BSPC,
-        KC_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_BSLS,
-        KC_LCTL, 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,    KC_RSFT,  FN_HLb,
-                KC_LGUI, KC_LALT,               KC_SPACE,                               KC_RALT, FN_HLa
-        ),
-    [_HLa] = LAYOUT_hhkb(
-        KC_GRV,  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_DEL,
-        KC_CAPS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK,  KC_PAUS, KC_UP,   KC_TRNS, KC_TRNS,
-        KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP,    KC_LEFT,   KC_RGHT,      KC_TRNS,
-        KC_TRNS,       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END,   KC_PGDN, KC_DOWN, KC_TRNS,    KC_TRNS,
-                 KC_TRNS, KC_TRNS,               KC_MPLY,                               KC_TRNS,  KC_TRNS
-        ),
-    [_HLb] = LAYOUT_hhkb(
-        KC_GRV,  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_DEL,
-        KC_CAPS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK,  KC_PAUS, KC_UP,   KC_TRNS, KC_TRNS,
-        KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP,    KC_LEFT,   KC_RGHT,      KC_TRNS,
-        KC_TRNS,       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END,   KC_PGDN, KC_DOWN, KC_TRNS,    KC_TRNS,
-                 KC_TRNS, KC_TRNS,               KC_MPLY,                               KC_TRNS,  KC_TRNS
-        ),
-    [_HL] = LAYOUT_hhkb(
-        RGB_TOG, RGB_M_P, RGB_RMOD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, BL_OFF,  BL_STEP, BL_ON, BL_DEC, BL_INC,     LALT(KC_F4),
-        RESET,   RGB_HUI, RGB_SAI,  RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-        KC_TRNS, RGB_HUD, RGB_SAD,  RGB_VAD, 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, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS,
-                 KC_MPRV, KC_MNXT,               KC_MPLY,                               KC_TRNS, KC_TRNS
-        ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case FN_HLa:
-      if (record->event.pressed)
-      {
-        layer_on(_HLa);
-        update_tri_layer(_HLa, _HLb, _HL);
-      }
-      else
-      {
-        layer_off(_HLa);
-        update_tri_layer(_HLa, _HLb, _HL);
-      }
-      return false;
-      break;
-    case FN_HLb:
-      if (record->event.pressed)
-      {
-        layer_on(_HLb);
-        update_tri_layer(_HLa, _HLb, _HL);
-      }
-      else
-      {
-        layer_off(_HLb);
-        update_tri_layer(_HLa, _HLb, _HL);
-      }
-      return false;
-      break;
-  }
-  return true;
-}
diff --git a/keyboards/e6v2/keymaps/amnesia0287/readme.md b/keyboards/e6v2/keymaps/amnesia0287/readme.md
deleted file mode 100644 (file)
index 4cc97ae..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-amnesia0287's Keymap
-===
-
-Keymap Maintainer: [amnesia0287](https://github.com/amnesia0287)
-
-Difference from base layout: Primarily the HHKB-ness
-
-Intended usage: Daily driver for programming 
diff --git a/keyboards/e6v2/keymaps/amnesia0287/rules.mk b/keyboards/e6v2/keymaps/amnesia0287/rules.mk
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/keyboards/e6v2/keymaps/default/config.h b/keyboards/e6v2/keymaps/default/config.h
deleted file mode 100644 (file)
index a5568e4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../config.h"
diff --git a/keyboards/e6v2/keymaps/default/keymap.c b/keyboards/e6v2/keymaps/default/keymap.c
deleted file mode 100644 (file)
index 945787f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-  [0] = LAYOUT_60_ansi(
-      KC_ESC,  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_BSPC,
-      KC_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_BSLS,
-      KC_CAPS, 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, KC_RSFT,
-      KC_LCTL, KC_LGUI, KC_LALT,               KC_SPACE,                        KC_RALT, MO(1),   KC_MENU, KC_RCTL
-      ),
-  [1] = LAYOUT_60_ansi(
-      KC_GRV,  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_DEL,
-      RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR,   KC_SLCK, KC_PAUS, KC_UP,   KC_TRNS, KC_TRNS,
-      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME,   KC_PGUP, KC_LEFT, KC_RGHT,      KC_TRNS,
-      KC_TRNS,     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS,   KC_END,  KC_PGDN, KC_DOWN, KC_TRNS,
-      KC_TRNS, KC_TRNS, KC_TRNS,               KC_MPLY,                         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-      ),
-};
diff --git a/keyboards/e6v2/keymaps/default/readme.md b/keyboards/e6v2/keymaps/default/readme.md
deleted file mode 100644 (file)
index e726473..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-Default Keymap
-===
-
-Super simple default keymap with only a base layer.
-
-Keymap Maintainer: [amnesia0287](https://github.com/amnesia0287)
-
-Intended usage: This is mostly provided for testing before you build your own keymap and as a reference to a stock(ish) configuration
diff --git a/keyboards/e6v2/keymaps/default/rules.mk b/keyboards/e6v2/keymaps/default/rules.mk
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/keyboards/e6v2/le/config.h b/keyboards/e6v2/le/config.h
new file mode 100644 (file)
index 0000000..e155451
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+
+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/>.
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xFEED
+#define PRODUCT_ID      0x6060
+#define DEVICE_VER      0x0002
+#define MANUFACTURER    Exclusive / E-Team
+#define PRODUCT         E6-V2 LE
+#define DESCRIPTION     E6-V2 LE QMK PCB (Mid-Port)
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+/* QMK E6-V2 PCB default pin-out */
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 }
+#define MATRIX_COL_PINS { B5, D0, D1, D2, D3, D4, D5, D6, D7, C6, C7, F4, F5, F6, F7 }
+#define UNUSED_PINS
+
+#define RGB_DI_PIN E6
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 12
+#define RGBLIGHT_HUE_STEP 12
+#define RGBLIGHT_SAT_STEP 12
+#define RGBLIGHT_VAL_STEP 12
+#endif
+
+#define BACKLIGHT_PIN B6
+#ifdef BACKLIGHT_PIN
+#define BACKLIGHT_LEVELS 2
+#define BACKLIGHT_BREAHTING
+#define BREATHING_PERIOD 3
+#endif
+
+#define DIODE_DIRECTION COL2ROW
+#define DEBOUNCING_DELAY 5
+
+#define IS_COMMAND() ( \
+        keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+    )
+
+
+
+#endif
diff --git a/keyboards/e6v2/le/info.json b/keyboards/e6v2/le/info.json
new file mode 100644 (file)
index 0000000..9f92512
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "keyboard_name": "E6-V2 LE", 
+    "url": "", 
+    "maintainer": "qmk", 
+    "width": 15, 
+    "height": 5, 
+    "layouts": {
+        "LAYOUT": {
+            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"x":0, "y":3}, {"x":1, "y":3}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.75}, {"label":"Ctrl", "x":1.75, "y":4, "w":1.25}, {"label":"Win", "x":3, "y":4, "w":1.25}, {"label":"Alt", "x":4.25, "y":4, "w":1.25}, {"x":5.5, "y":4, "w":2.75}, {"x":8.25, "y":4, "w":1.75}, {"x":10, "y":4}, {"label":"Alt", "x":11, "y":4}, {"label":"Win", "x":12, "y":4}, {"label":"Menu", "x":13, "y":4}, {"label":"Ctrl", "x":14, "y":4}]
+        }
+    }
+}
\ No newline at end of file
diff --git a/keyboards/e6v2/le/le.c b/keyboards/e6v2/le/le.c
new file mode 100644 (file)
index 0000000..9083352
--- /dev/null
@@ -0,0 +1,53 @@
+#include "le.h"
+
+void matrix_init_kb(void) {
+       // put your keyboard start-up code here
+       // runs once when the firmware starts up
+
+       matrix_init_user();
+}
+
+void matrix_scan_kb(void) {
+       // put your looping keyboard code here
+       // runs every cycle (a lot)
+
+       matrix_scan_user();
+}
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+       // put your per-action keyboard code here
+       // runs for every action, just before processing by the firmware
+
+       return process_record_user(keycode, record);
+}
+
+void led_set_kb(uint8_t usb_led) {
+       // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
+       DDRB |= (1<<6);
+       if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+                       // output low
+                       DDRB |= (1<<2);
+                       PORTB &= ~(1<<2);
+               } else {
+                       // Hi-Z
+                       DDRB &= ~(1<<2);
+                       PORTB &= ~(1<<2);
+               }
+       // DDRB |= (1<<7);
+       // DDRB |= (1<<1);
+       // DDRB |= (1<<3);
+       // DDRE |= (1<<6);
+       if (usb_led == 0){
+               PORTB |= (1<<6);
+               // PORTB |= (1<<7);
+               // PORTB |= (1<<1);
+               // PORTB |= (1<<3);
+               // PORTE |= (1<<6);
+       }
+       else{
+               PORTB &= ~(1<<6);
+               // PORTB &= ~(1<<7);
+       }
+    
+       led_set_user(usb_led);
+}
diff --git a/keyboards/e6v2/le/le.h b/keyboards/e6v2/le/le.h
new file mode 100644 (file)
index 0000000..197b933
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef LE_H
+#define LE_H
+
+#include "../e6v2.h"
+
+#define LAYOUT( \
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
+    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, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
+    K40,      K42, K43, K44,           K47,      K49, K4A, K4B, K4C, K4D, K4E  \
+)\
+{\
+  { 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, K31,   K32, K33, K34, K35,   K36,   K37, K38,   K39, K3A, K3B, K3C, K3D, K3E   }, \
+  { K40, KC_NO, K42, K43, K44, KC_NO, KC_NO, K47, KC_NO, K49, K4A, K4B, K4C, K4D, K4E   }, \
+}
\ No newline at end of file
diff --git a/keyboards/e6v2/le/readme.md b/keyboards/e6v2/le/readme.md
new file mode 100644 (file)
index 0000000..33a8647
--- /dev/null
@@ -0,0 +1,17 @@
+# E6-V2 Last Edition (LE)
+
+These docs are for the QMK version of the PCB. [More info on qmk.fm](http://qmk.fm/)
+
+Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
+Hardware Supported: E6-V2 LE Mid Port rev.qmk
+Hardware Availability: [geekhack.org/index.php?topic=90787.0](https://geekhack.org/index.php?topic=90787.0)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make e6v2/le:default
+
+Or to make and flash:
+
+    make e6v2/le:default:dfu
+
+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.
\ No newline at end of file
diff --git a/keyboards/e6v2/le/rules.mk b/keyboards/e6v2/le/rules.mk
new file mode 100644 (file)
index 0000000..c2c02b6
--- /dev/null
@@ -0,0 +1,68 @@
+# MCU name
+#MCU = at90usb1287
+MCU = atmega32u4
+
+# Processor frequency.
+#     This will define a symbol, F_CPU, in all source code files equal to the
+#     processor frequency in Hz. You can then use this symbol in your source code to
+#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+#     automatically to create a 32-bit value in your source code.
+#
+#     This will be an integer division of F_USB below, as it is sourced by
+#     F_USB after it has run through any CPU prescalers. Note that this value
+#     does not *change* the processor frequency - it should merely be updated to
+#     reflect the processor speed set externally so that the code can use accurate
+#     software delays.
+F_CPU = 16000000
+
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+#     This will define a symbol, F_USB, in all source code files equal to the
+#     input clock frequency (before any prescaling is performed) in Hz. This value may
+#     differ from F_CPU if prescaling is used on the latter, and is required as the
+#     raw input clock is fed directly to the PLL sections of the AVR for high speed
+#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+#     at the end, this will be done automatically to create a 32-bit value in your
+#     source code.
+#
+#     If no clock division is performed on the input clock inside the AVR (via the
+#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Boot Section Size in *bytes*
+#   Teensy halfKay   512
+#   Teensy++ halfKay 1024
+#   Atmel DFU loader 4096
+#   LUFA bootloader  4096
+#   USBaspLoader     2048
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no      # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
+CONSOLE_ENABLE = no        # Console for debug(+400)
+COMMAND_ENABLE = no        # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes           # USB Nkey Rollover
+BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality on B7 by default
+RGBLIGHT_ENABLE = yes
+MIDI_ENABLE = no            # MIDI controls
+UNICODE_ENABLE = no         # Unicode
+BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no           # Audio output on port C6
diff --git a/keyboards/e6v2/oe/config.h b/keyboards/e6v2/oe/config.h
new file mode 100644 (file)
index 0000000..b80afcb
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+
+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/>.
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xFEED
+#define PRODUCT_ID      0x6060
+#define DEVICE_VER      0x0002
+#define MANUFACTURER    Exclusive / E-Team
+#define PRODUCT         E6-V2
+#define DESCRIPTION     E6-V2 QMK PCB (Mid-Port)
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+/* QMK E6-V2 PCB default pin-out */
+#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
+#define MATRIX_COL_PINS { C7, C6, B5, B4, D7, D6, D4, F6, F7, F5, F4, F1, F0, B0, B1 }
+#define UNUSED_PINS { E6, B2, B3, B7 }
+
+#define RGB_DI_PIN E2
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 8
+#define RGBLIGHT_HUE_STEP 12
+#define RGBLIGHT_SAT_STEP 12
+#define RGBLIGHT_VAL_STEP 12
+#endif
+
+#define BACKLIGHT_PIN B6
+#ifdef BACKLIGHT_PIN
+#define BACKLIGHT_LEVELS 5
+#define BACKLIGHT_BREAHTING
+#define BREATHING_PERIOD 3
+#endif
+
+#define DIODE_DIRECTION COL2ROW
+#define DEBOUNCING_DELAY 5
+
+#define IS_COMMAND() ( \
+        keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+    )
+
+
+
+#endif
diff --git a/keyboards/e6v2/oe/info.json b/keyboards/e6v2/oe/info.json
new file mode 100644 (file)
index 0000000..7c14017
--- /dev/null
@@ -0,0 +1,24 @@
+{
+    "keyboard_name": "E6-V2 OE",
+    "url": "",
+    "maintainer": "qmk",
+    "width": 15,
+    "height": 5,
+    "layouts": {
+        "LAYOUT": {
+            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
+        },
+
+        "LAYOUT_60_ansi": {
+            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
+        },
+
+        "LAYOUT_hhkb": {
+            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}]
+        },
+
+        "LAYOUT_hhkb_splits": {
+            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}]
+        }
+    }
+}
diff --git a/keyboards/e6v2/oe/keymaps/amnesia0287/keymap.c b/keyboards/e6v2/oe/keymaps/amnesia0287/keymap.c
new file mode 100644 (file)
index 0000000..7e64b12
--- /dev/null
@@ -0,0 +1,79 @@
+#include QMK_KEYBOARD_H
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _BL  0
+#define _HLa 1
+#define _HLb 2
+#define _HL  3
+#define _XL  4
+
+enum hype_keycodes {
+  FN_HLa = SAFE_RANGE,
+  FN_HLb
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    [_BL] = LAYOUT_hhkb(
+        KC_ESC,  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_BSPC,
+        KC_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_BSLS,
+        KC_LCTL, 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,    KC_RSFT,  FN_HLb,
+                KC_LGUI, KC_LALT,               KC_SPACE,                               KC_RALT, FN_HLa
+        ),
+    [_HLa] = LAYOUT_hhkb(
+        KC_GRV,  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_DEL,
+        KC_CAPS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK,  KC_PAUS, KC_UP,   KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP,    KC_LEFT,   KC_RGHT,      KC_TRNS,
+        KC_TRNS,       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END,   KC_PGDN, KC_DOWN, KC_TRNS,    KC_TRNS,
+                 KC_TRNS, KC_TRNS,               KC_MPLY,                               KC_TRNS,  KC_TRNS
+        ),
+    [_HLb] = LAYOUT_hhkb(
+        KC_GRV,  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_DEL,
+        KC_CAPS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK,  KC_PAUS, KC_UP,   KC_TRNS, KC_TRNS,
+        KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP,    KC_LEFT,   KC_RGHT,      KC_TRNS,
+        KC_TRNS,       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END,   KC_PGDN, KC_DOWN, KC_TRNS,    KC_TRNS,
+                 KC_TRNS, KC_TRNS,               KC_MPLY,                               KC_TRNS,  KC_TRNS
+        ),
+    [_HL] = LAYOUT_hhkb(
+        RGB_TOG, RGB_M_P, RGB_RMOD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, BL_OFF,  BL_STEP, BL_ON, BL_DEC, BL_INC,     LALT(KC_F4),
+        RESET,   RGB_HUI, RGB_SAI,  RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+        KC_TRNS, RGB_HUD, RGB_SAD,  RGB_VAD, 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, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS,
+                 KC_MPRV, KC_MNXT,               KC_MPLY,                               KC_TRNS, KC_TRNS
+        ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+    case FN_HLa:
+      if (record->event.pressed)
+      {
+        layer_on(_HLa);
+        update_tri_layer(_HLa, _HLb, _HL);
+      }
+      else
+      {
+        layer_off(_HLa);
+        update_tri_layer(_HLa, _HLb, _HL);
+      }
+      return false;
+      break;
+    case FN_HLb:
+      if (record->event.pressed)
+      {
+        layer_on(_HLb);
+        update_tri_layer(_HLa, _HLb, _HL);
+      }
+      else
+      {
+        layer_off(_HLb);
+        update_tri_layer(_HLa, _HLb, _HL);
+      }
+      return false;
+      break;
+  }
+  return true;
+}
diff --git a/keyboards/e6v2/oe/keymaps/amnesia0287/readme.md b/keyboards/e6v2/oe/keymaps/amnesia0287/readme.md
new file mode 100644 (file)
index 0000000..4cc97ae
--- /dev/null
@@ -0,0 +1,8 @@
+amnesia0287's Keymap
+===
+
+Keymap Maintainer: [amnesia0287](https://github.com/amnesia0287)
+
+Difference from base layout: Primarily the HHKB-ness
+
+Intended usage: Daily driver for programming 
diff --git a/keyboards/e6v2/oe/keymaps/default/keymap.c b/keyboards/e6v2/oe/keymaps/default/keymap.c
new file mode 100644 (file)
index 0000000..945787f
--- /dev/null
@@ -0,0 +1,18 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  [0] = LAYOUT_60_ansi(
+      KC_ESC,  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_BSPC,
+      KC_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_BSLS,
+      KC_CAPS, 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, KC_RSFT,
+      KC_LCTL, KC_LGUI, KC_LALT,               KC_SPACE,                        KC_RALT, MO(1),   KC_MENU, KC_RCTL
+      ),
+  [1] = LAYOUT_60_ansi(
+      KC_GRV,  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_DEL,
+      RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR,   KC_SLCK, KC_PAUS, KC_UP,   KC_TRNS, KC_TRNS,
+      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME,   KC_PGUP, KC_LEFT, KC_RGHT,      KC_TRNS,
+      KC_TRNS,     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS,   KC_END,  KC_PGDN, KC_DOWN, KC_TRNS,
+      KC_TRNS, KC_TRNS, KC_TRNS,               KC_MPLY,                         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+      ),
+};
diff --git a/keyboards/e6v2/oe/keymaps/default/readme.md b/keyboards/e6v2/oe/keymaps/default/readme.md
new file mode 100644 (file)
index 0000000..e726473
--- /dev/null
@@ -0,0 +1,8 @@
+Default Keymap
+===
+
+Super simple default keymap with only a base layer.
+
+Keymap Maintainer: [amnesia0287](https://github.com/amnesia0287)
+
+Intended usage: This is mostly provided for testing before you build your own keymap and as a reference to a stock(ish) configuration
diff --git a/keyboards/e6v2/oe/oe.c b/keyboards/e6v2/oe/oe.c
new file mode 100644 (file)
index 0000000..10cd59f
--- /dev/null
@@ -0,0 +1,53 @@
+#include "oe.h"
+
+void matrix_init_kb(void) {
+       // put your keyboard start-up code here
+       // runs once when the firmware starts up
+
+       matrix_init_user();
+}
+
+void matrix_scan_kb(void) {
+       // put your looping keyboard code here
+       // runs every cycle (a lot)
+
+       matrix_scan_user();
+}
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+       // put your per-action keyboard code here
+       // runs for every action, just before processing by the firmware
+
+       return process_record_user(keycode, record);
+}
+
+void led_set_kb(uint8_t usb_led) {
+       // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
+       DDRB |= (1<<6);
+       if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+                       // output low
+                       DDRB |= (1<<2);
+                       PORTB &= ~(1<<2);
+               } else {
+                       // Hi-Z
+                       DDRB &= ~(1<<2);
+                       PORTB &= ~(1<<2);
+               }
+       // DDRB |= (1<<7);
+       // DDRB |= (1<<1);
+       // DDRB |= (1<<3);
+       // DDRE |= (1<<6);
+       if (usb_led == 0){
+               PORTB |= (1<<6);
+               // PORTB |= (1<<7);
+               // PORTB |= (1<<1);
+               // PORTB |= (1<<3);
+               // PORTE |= (1<<6);
+       }
+       else{
+               PORTB &= ~(1<<6);
+               // PORTB &= ~(1<<7);
+       }
+    
+       led_set_user(usb_led);
+}
diff --git a/keyboards/e6v2/oe/oe.h b/keyboards/e6v2/oe/oe.h
new file mode 100644 (file)
index 0000000..2cfecb0
--- /dev/null
@@ -0,0 +1,66 @@
+#ifndef OE_H
+#define OE_H
+
+#include "../e6v2.h"
+
+#define LAYOUT( \
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
+     K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,  K1D,   \
+      K20,  K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,  K2C,  K2D, \
+    K30,  K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,  K3C,    K3D, \
+    K40,  K41,  K42,                K46,                K4A,  K4B,  K4C,  K4D \
+)\
+{\
+  { K00, K01, K02, K03,   K04,   K05,   K06, K07,   K08,   K09,   K0A, K0B, K0C, K0D, K0E   }, \
+  { K10, K11, K12, K13,   K14,   K15,   K16, K17,   K18,   K19,   K1A, K1B, K1C, K1D, KC_NO }, \
+  { K20, K21, K22, K23,   K24,   K25,   K26, K27,   K28,   K29,   K2A, K2B, K2C, K2D, KC_NO }, \
+  { K30, K31, K32, K33,   K34,   K35,   K36, K37,   K38,   K39,   K3A, K3B, K3C, K3D, KC_NO }, \
+  { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, KC_NO }, \
+}
+
+#define LAYOUT_60_ansi( \
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,      K0D, \
+     K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,  K1D,   \
+      K20,  K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,        K2D, \
+     K30,  K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3C,         \
+    K40,  K41,  K42,                K46,                K4A,  K4B,  K4C,  K4D \
+)\
+{\
+  { K00, K01,   K02, K03,   K04,   K05,   K06, K07,   K08,   K09,   K0A, K0B, K0C,   K0D,   KC_NO }, \
+  { K10, K11,   K12, K13,   K14,   K15,   K16, K17,   K18,   K19,   K1A, K1B, K1C,   K1D,   KC_NO }, \
+  { K20, K21,   K22, K23,   K24,   K25,   K26, K27,   K28,   K29,   K2A, K2B, KC_NO, K2D,   KC_NO }, \
+  { K30, KC_NO, K32, K33,   K34,   K35,   K36, K37,   K38,   K39,   K3A, K3B, K3C,   KC_NO, KC_NO }, \
+  { K40, K41,   K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C,   K4D,   KC_NO }, \
+}
+
+#define LAYOUT_hhkb( \
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,      K0D, \
+     K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,  K1D,   \
+      K20,  K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,       K2D,  \
+        K30,   K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,   K3C,  K3D,  \
+          K41,  K42,                 K46,                   K4B,  K4C         \
+)\
+{\
+  { K00,   K01,   K02, K03,   K04,   K05,   K06, K07,   K08,   K09,   K0A,   K0B, K0C,   K0D,   KC_NO }, \
+  { K10,   K11,   K12, K13,   K14,   K15,   K16, K17,   K18,   K19,   K1A,   K1B, K1C,   K1D,   KC_NO }, \
+  { K20,   K21,   K22, K23,   K24,   K25,   K26, K27,   K28,   K29,   K2A,   K2B, KC_NO, K2D,   KC_NO }, \
+  { K30,   KC_NO, K32, K33,   K34,   K35,   K36, K37,   K38,   K39,   K3A,   K3B, K3C,   K3D,   KC_NO }, \
+  { KC_NO, K41,   K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, KC_NO, K4B, K4C,   KC_NO, KC_NO }, \
+}
+
+#define LAYOUT_hhkb_splits( \
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C,    K0D, K0E,\
+     K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C,  K1D,     \
+      K20,  K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D,     \
+     K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,   K3C, K3D,     \
+          K41,  K42,                 K46,                   K4B,  K4C           \
+)\
+{\
+  { K00,   K01, K02, K03,   K04,   K05,   K06, K07,   K08,   K09,   K0A,   K0B, K0C,   K0D,   K0E   }, \
+  { K10,   K11, K12, K13,   K14,   K15,   K16, K17,   K18,   K19,   K1A,   K1B, K1C,   K1D,   KC_NO }, \
+  { K20,   K21, K22, K23,   K24,   K25,   K26, K27,   K28,   K29,   K2A,   K2B, KC_NO, K2D,   KC_NO }, \
+  { K30,   K31, K32, K33,   K34,   K35,   K36, K37,   K38,   K39,   K3A,   K3B, K3C,   K3D,   KC_NO }, \
+  { KC_NO, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, KC_NO, K4B, K4C,   KC_NO, KC_NO }, \
+}
+
+#endif
diff --git a/keyboards/e6v2/oe/readme.md b/keyboards/e6v2/oe/readme.md
new file mode 100644 (file)
index 0000000..b9b42bd
--- /dev/null
@@ -0,0 +1,17 @@
+# E6-V2 Original Edition (OE)
+
+These docs are for the QMK version of the PCB. [More info on qmk.fm](http://qmk.fm/)
+
+Keyboard Maintainer: [amnesia0287](https://github.com/amnesia0287)
+Hardware Supported: E6-V2 OE Mid Port rev.qmk
+Hardware Availability: [geekhack.org/index.php?topic=90787.0](https://geekhack.org/index.php?topic=90787.0)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make e6v2/oe:default
+
+Or to make and flash:
+
+    make e6v2/oe:default:dfu
+
+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.
\ No newline at end of file
diff --git a/keyboards/e6v2/oe/rules.mk b/keyboards/e6v2/oe/rules.mk
new file mode 100644 (file)
index 0000000..7d28042
--- /dev/null
@@ -0,0 +1,70 @@
+# MCU name
+#MCU = at90usb1287
+MCU = atmega32u4
+
+# Processor frequency.
+#     This will define a symbol, F_CPU, in all source code files equal to the
+#     processor frequency in Hz. You can then use this symbol in your source code to
+#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+#     automatically to create a 32-bit value in your source code.
+#
+#     This will be an integer division of F_USB below, as it is sourced by
+#     F_USB after it has run through any CPU prescalers. Note that this value
+#     does not *change* the processor frequency - it should merely be updated to
+#     reflect the processor speed set externally so that the code can use accurate
+#     software delays.
+F_CPU = 16000000
+
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+#     This will define a symbol, F_USB, in all source code files equal to the
+#     input clock frequency (before any prescaling is performed) in Hz. This value may
+#     differ from F_CPU if prescaling is used on the latter, and is required as the
+#     raw input clock is fed directly to the PLL sections of the AVR for high speed
+#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+#     at the end, this will be done automatically to create a 32-bit value in your
+#     source code.
+#
+#     If no clock division is performed on the input clock inside the AVR (via the
+#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Boot Section Size in *bytes*
+#   Teensy halfKay   512
+#   Teensy++ halfKay 1024
+#   Atmel DFU loader 4096
+#   LUFA bootloader  4096
+#   USBaspLoader     2048
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no      # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
+CONSOLE_ENABLE = no        # Console for debug(+400)
+COMMAND_ENABLE = no        # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes           # USB Nkey Rollover
+BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality on B7 by default
+RGBLIGHT_ENABLE = yes
+MIDI_ENABLE = no            # MIDI controls
+UNICODE_ENABLE = no         # Unicode
+BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no           # Audio output on port C6
+
+LAYOUTS = 60_ansi
\ No newline at end of file
index 5fd9668f59b7eac44989749a132a7a2b7fa21919..4ac498fc41bb54ee7f26a20f17e60128e5dcd603 100644 (file)
@@ -1,18 +1,9 @@
-E6-V2
-===
+# E6-V2
 
 These docs are for the QMK version of the PCB. [More info on qmk.fm](http://qmk.fm/)
 
-Keyboard Maintainer: [amnesia0287](https://github.com/amnesia0287)
-Hardware Supported: E6-V2 Mid Port rev.qmk
-Hardware Availability: [geekhack.org/index.php?topic=90787.0](https://geekhack.org/index.php?topic=90787.0)
+The E6V2 has been available with either a bootmapper client or QMK powered PCB. During the second round, the QMK powered PCB was redesigned and used different ports and a different switch matrix. 
 
-Make example for this keyboard (after setting up your build environment):
-
-    make e6v2:default
-
-Or to make and flash:
-
-    make e6v2:default:dfu
+Please use the appropriate version when making your firmware. 
 
 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.
index 7d28042d85c310ea4713da7959c445efa0463317..0909ba2ce417860cb575efe16a9c7c729e3fa981 100644 (file)
@@ -1,70 +1 @@
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-#     This will define a symbol, F_CPU, in all source code files equal to the
-#     processor frequency in Hz. You can then use this symbol in your source code to
-#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-#     automatically to create a 32-bit value in your source code.
-#
-#     This will be an integer division of F_USB below, as it is sourced by
-#     F_USB after it has run through any CPU prescalers. Note that this value
-#     does not *change* the processor frequency - it should merely be updated to
-#     reflect the processor speed set externally so that the code can use accurate
-#     software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-#     This will define a symbol, F_USB, in all source code files equal to the
-#     input clock frequency (before any prescaling is performed) in Hz. This value may
-#     differ from F_CPU if prescaling is used on the latter, and is required as the
-#     raw input clock is fed directly to the PLL sections of the AVR for high speed
-#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-#     at the end, this will be done automatically to create a 32-bit value in your
-#     source code.
-#
-#     If no clock division is performed on the input clock inside the AVR (via the
-#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-#   Teensy halfKay   512
-#   Teensy++ halfKay 1024
-#   Atmel DFU loader 4096
-#   LUFA bootloader  4096
-#   USBaspLoader     2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no      # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
-CONSOLE_ENABLE = no        # Console for debug(+400)
-COMMAND_ENABLE = no        # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes           # USB Nkey Rollover
-BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality on B7 by default
-RGBLIGHT_ENABLE = yes
-MIDI_ENABLE = no            # MIDI controls
-UNICODE_ENABLE = no         # Unicode
-BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no           # Audio output on port C6
-
-LAYOUTS = 60_ansi
\ No newline at end of file
+DEFAULT_FOLDER = e6v2/oe
\ No newline at end of file