add alphadox layouts to atreus and ergodox
authorAlpha Chen <alpha.chen@gmail.com>
Tue, 4 Oct 2016 15:19:44 +0000 (08:19 -0700)
committerAlpha Chen <alpha.chen@gmail.com>
Tue, 25 Oct 2016 16:00:45 +0000 (09:00 -0700)
keyboards/atreus/keymaps/alphadox/config.h [new file with mode: 0644]
keyboards/atreus/keymaps/alphadox/keymap.c [new file with mode: 0644]
keyboards/ergodox/keymaps/alphadox/Makefile [new file with mode: 0644]
keyboards/ergodox/keymaps/alphadox/config.h [new file with mode: 0644]
keyboards/ergodox/keymaps/alphadox/keymap.c [new file with mode: 0644]

diff --git a/keyboards/atreus/keymaps/alphadox/config.h b/keyboards/atreus/keymaps/alphadox/config.h
new file mode 100644 (file)
index 0000000..df56849
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+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      0x0001
+#define MANUFACTURER    Arbitrary Definitions
+#define PRODUCT         Planckeus
+#define DESCRIPTION     q.m.k. keyboard firmware for Planckeus
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 11
+
+#define MATRIX_ROW_PINS { D0, D1, D2, D3 }
+#define MATRIX_COL_PINS { F6, F5, F4, F1, F0, F7, B0, B1, B2, B3, B7 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+//#define BACKLIGHT_LEVELS 3
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/*
+ * Feature disable options
+ *  These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+#endif
diff --git a/keyboards/atreus/keymaps/alphadox/keymap.c b/keyboards/atreus/keymaps/alphadox/keymap.c
new file mode 100644 (file)
index 0000000..b776ab4
--- /dev/null
@@ -0,0 +1,50 @@
+#include "atreus.h"
+
+#define BASE 0
+#define SYMB 1
+#define ETC 2
+
+enum macro_id {
+    TEENSY,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[BASE] = KEYMAP(
+    KC_Q,          KC_W,    KC_D,     KC_F,           KC_K,                                              KC_J,             KC_U,            KC_R,     KC_L,     KC_SCLN,
+    LT(ETC,KC_A),  KC_S,    KC_E,     KC_T,           KC_G,                                              KC_Y,             KC_N,            KC_I,     KC_O,     KC_H,
+    SFT_T(KC_Z),   KC_X,    KC_C,     KC_V,           KC_B,                                              KC_P,             KC_M,            KC_COMM,  KC_DOT,   SFT_T(KC_SLSH),
+    KC_GRV,        KC_DEL,  KC_LALT,  GUI_T(KC_TAB),  LT(SYMB,KC_BSPC),  CTL_T(KC_ESC),  SFT_T(KC_ENT),  LT(SYMB,KC_SPC),  GUI_T(KC_LEFT),  KC_DOWN,  KC_UP,    LCAG_T(KC_RGHT)
+),
+
+[SYMB] = KEYMAP(
+    KC_EXLM,  KC_AT,    KC_LCBR,  KC_RCBR,  KC_PIPE,                      KC_EQL,   KC_7,  KC_8,   KC_9,    KC_PLUS,
+    KC_HASH,  KC_DLR,   KC_LPRN,  KC_RPRN,  KC_BSLS,                      KC_MINS,  KC_4,  KC_5,   KC_6,    KC_QUOT,
+    KC_PERC,  KC_CIRC,  KC_LBRC,  KC_RBRC,  KC_ASTR,                      KC_UNDS,  KC_1,  KC_2,   KC_3,    KC_DQUO,
+    KC_TILD,  KC_AMPR,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_0,  KC_NO,  KC_DOT,  KC_TRNS
+),
+
+[ETC] = KEYMAP(
+    RESET,         KC_NO,  KC_NO,    KC_NO,    KC_PGUP,                      KC_VOLU,  KC_F7,  KC_F8,  KC_F9,   KC_HOME,
+    LT(ETC,KC_A),  KC_NO,  KC_NO,    KC_NO,    KC_PGDN,                      KC_VOLD,  KC_F4,  KC_F5,  KC_F6,   KC_END,
+    KC_NO,         KC_NO,  KC_NO,    KC_NO,    KC_DEL,                       KC_MUTE,  KC_F1,  KC_F2,  KC_F3,   KC_INS,
+    KC_TRNS,       KC_NO,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_NO,  KC_NO,  KC_NO,   KC_NO
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
+  switch(id) {
+    case TEENSY:
+      clear_keyboard();
+      print("\n\nJump to bootloader... ");
+      _delay_ms(250);
+      bootloader_jump(); // should not return
+      print("not supported.\n");
+      break;
+  }
+  return MACRO_NONE;
+};
diff --git a/keyboards/ergodox/keymaps/alphadox/Makefile b/keyboards/ergodox/keymaps/alphadox/Makefile
new file mode 100644 (file)
index 0000000..633499d
--- /dev/null
@@ -0,0 +1,17 @@
+BOOTMAGIC_ENABLE = no  # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE  = no  # 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
+NKRO_ENABLE      = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ # nkro-doesnt-work
+BACKLIGHT_ENABLE = no  # Enable keyboard backlight functionality
+MIDI_ENABLE      = no  # MIDI controls
+AUDIO_ENABLE     = no  # Audio output on port C6
+UNICODE_ENABLE   = no  # Unicode
+BLUETOOTH_ENABLE = no  # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE  = no  # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
+SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
+
+ifndef QUANTUM_DIR
+       include ../../../../Makefile
+endif
diff --git a/keyboards/ergodox/keymaps/alphadox/config.h b/keyboards/ergodox/keymaps/alphadox/config.h
new file mode 100644 (file)
index 0000000..89807d8
--- /dev/null
@@ -0,0 +1,9 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+#define FORCE_NKRO
+#define PREVENT_STUCK_MODIFIERS
+
+#endif
diff --git a/keyboards/ergodox/keymaps/alphadox/keymap.c b/keyboards/ergodox/keymaps/alphadox/keymap.c
new file mode 100644 (file)
index 0000000..b2f7ccb
--- /dev/null
@@ -0,0 +1,112 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define ETC  2 // etc
+
+enum macro_id {
+    TEENSY,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[BASE] = KEYMAP(
+    KC_NO,          KC_NO,         KC_NO,   KC_NO,    KC_NO,          KC_NO,  KC_NO,
+    KC_TAB,         KC_Q,          KC_W,    KC_D,     KC_F,           KC_K,   KC_PGUP,
+    CTL_T(KC_ESC),  LT(ETC,KC_A),  KC_S,    KC_E,     KC_T,           KC_G,
+    KC_LSFT,        KC_Z,          KC_X,    KC_C,     KC_V,           KC_B,   KC_PGDN,
+    KC_GRV,         KC_DEL,        KC_DEL,  KC_LALT,  GUI_T(KC_TAB),
+                                                                      KC_NO,  KC_NO,
+                                                                              KC_NO,
+                                           LT(SYMB,KC_BSPC),  CTL_T(KC_ESC),  KC_NO,
+
+    KC_NO,    KC_NO,  KC_NO,          KC_NO,    KC_NO,    KC_NO,    KC_NO,
+    KC_VOLU,  KC_J,   KC_U,           KC_R,     KC_L,     KC_SCLN,  KC_BSLS,
+              KC_Y,   KC_N,           KC_I,     KC_O,     KC_H,     KC_QUOT,
+    KC_VOLD,  KC_P,   KC_M,           KC_COMM,  KC_DOT,   KC_SLSH,  KC_RSFT,
+                      GUI_T(KC_TAB),  KC_LEFT,  KC_DOWN,  KC_UP,    LCAG_T(KC_RGHT),
+    KC_NO,  KC_NO,
+    KC_NO,
+    KC_NO,  SFT_T(KC_ENT),  LT(SYMB,KC_SPC)
+),
+
+[SYMB] = KEYMAP(
+    KC_NO,    KC_NO,    KC_NO,    KC_NO,    KC_NO,    KC_NO,    KC_NO,
+    KC_TRNS,  KC_EXLM,  KC_AT,    KC_LCBR,  KC_RCBR,  KC_PIPE,  KC_TRNS,
+    KC_TRNS,  KC_HASH,  KC_DLR,   KC_LPRN,  KC_RPRN,  KC_BSLS,
+    KC_TRNS,  KC_PERC,  KC_CIRC,  KC_LBRC,  KC_RBRC,  KC_ASTR,  KC_TRNS,
+    KC_TILD,  KC_AMPR,  KC_AMPR,  KC_TRNS,  KC_TRNS,
+                                                      KC_TRNS,  KC_TRNS,
+                                                                KC_TRNS,
+                                              KC_TRNS, KC_TRNS, KC_TRNS,
+
+    KC_NO,    KC_NO,    KC_NO,  KC_NO,  KC_NO,   KC_NO,    KC_NO,
+    KC_TRNS,  KC_EQL,   KC_7,   KC_8,   KC_9,    KC_PLUS,  KC_NO,
+              KC_MINS,  KC_4,   KC_5,   KC_6,    KC_QUOT,  KC_NO,
+    KC_TRNS,  KC_UNDS,  KC_1,   KC_2,   KC_3,    KC_DQUO,  KC_TRNS,
+                        KC_0,   KC_NO,  KC_DOT,  KC_TRNS,  KC_TRNS,
+    KC_TRNS,  KC_TRNS,
+    KC_TRNS,
+    KC_TRNS,  KC_TRNS,  KC_TRNS
+),
+
+[ETC] = KEYMAP(
+    RESET,    KC_NO,         KC_NO,  KC_NO,    KC_NO,    KC_NO,    KC_NO,
+    KC_TRNS,  KC_NO,         KC_NO,  KC_NO,    KC_NO,    KC_PGUP,  KC_TRNS,
+    KC_TRNS,  LT(ETC,KC_A),  KC_NO,  KC_NO,    KC_NO,    KC_PGDN,
+    KC_TRNS,  KC_NO,         KC_NO,  KC_NO,    KC_NO,    KC_DEL,   KC_TRNS,
+    KC_TRNS,  KC_TRNS,       KC_NO,  KC_TRNS,  KC_TRNS,
+                                                         KC_TRNS,  KC_TRNS,
+                                                                   KC_TRNS,
+                                                 KC_TRNS, KC_TRNS, KC_TRNS,
+
+    KC_NO,    KC_NO,    KC_NO,  KC_NO,  KC_NO,   KC_NO,    KC_NO,
+    KC_TRNS,  KC_VOLU,  KC_F7,  KC_F8,  KC_F9,   KC_HOME,  KC_NO,
+              KC_VOLD,  KC_F4,  KC_F5,  KC_F6,   KC_END,   KC_NO,
+    KC_TRNS,  KC_MUTE,  KC_F1,  KC_F2,  KC_F3,   KC_INS,   KC_TRNS,
+                        KC_NO,  KC_NO,  KC_NO,   KC_NO,    KC_NO,
+    KC_TRNS,  KC_TRNS,
+    KC_TRNS,
+    KC_TRNS,  KC_TRNS,  KC_TRNS
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
+  switch(id) {
+    case TEENSY:
+      clear_keyboard();
+      print("\n\nJump to bootloader... ");
+      _delay_ms(250);
+      bootloader_jump(); // should not return
+      print("not supported.\n");
+      break;
+  }
+  return MACRO_NONE;
+};
+
+void matrix_init_user(void) {
+};
+
+void matrix_scan_user(void) {
+    uint8_t layer = biton32(layer_state);
+
+    ergodox_board_led_off();
+    ergodox_right_led_1_off();
+    ergodox_right_led_2_off();
+    ergodox_right_led_3_off();
+    switch (layer) {
+        case 1:
+            ergodox_right_led_1_on();
+            break;
+        case 2:
+            ergodox_right_led_2_on();
+            break;
+        default:
+            break;
+    }
+};