]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
added my amj40 custom layout
authorFabian Topfstedt <topfstedt@schneevonmorgen.com>
Wed, 26 Jul 2017 10:47:40 +0000 (12:47 +0200)
committerFabian Topfstedt <topfstedt@schneevonmorgen.com>
Wed, 26 Jul 2017 10:47:40 +0000 (12:47 +0200)
keyboards/amj40/keymaps/fabian/Makefile [new file with mode: 0755]
keyboards/amj40/keymaps/fabian/keymap.c [new file with mode: 0755]
keyboards/amj40/keymaps/fabian/t [new file with mode: 0755]

diff --git a/keyboards/amj40/keymaps/fabian/Makefile b/keyboards/amj40/keymaps/fabian/Makefile
new file mode 100755 (executable)
index 0000000..034e697
--- /dev/null
@@ -0,0 +1,27 @@
+# Build Options
+#   change to "no" to disable the options, or define them in the Makefile in 
+#   the appropriate keymap folder that will get included automatically
+#
+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   = yes # 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 = yes  # 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  = yes  # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
+
+#define ws2812_PORTREG  PORTD
+#define ws2812_DDRREG   DDRD
+
+
+ifndef QUANTUM_DIR
+       include ../../../../Makefile
+endif
diff --git a/keyboards/amj40/keymaps/fabian/keymap.c b/keyboards/amj40/keymaps/fabian/keymap.c
new file mode 100755 (executable)
index 0000000..aa62d04
--- /dev/null
@@ -0,0 +1,116 @@
+#include "amj40.h"
+
+#undef KEYMAP
+#define KEYMAP( \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b,  \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,  \
+    k30, k31, k32, k33, k34, k35,                k39, k3a, k3b  \
+) { \
+    {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b}, \
+    {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b}, \
+    {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b}, \
+    {k30, k31, k32, k33, k34, k35, XXX, XXX, XXX, k39, k3a, k3b} \
+}
+
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+#define TCTLESC CTL_T(KC_ESC)
+#define TSFTBSP SFT_T(KC_BSPC) 
+#define TSFTENT SFT_T(KC_ENT)
+
+
+#define _BASE 0
+#define _LOWER 1
+#define _RAISE 2
+#define _ADJUST 3
+
+
+enum custom_keycodes {
+  BASE = SAFE_RANGE,
+  LOWER,
+  RAISE,
+  ADJUST,
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    [_BASE] = KEYMAP( \
+        KC_TAB,   KC_Q,    KC_W,    KC_E,    KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,    KC_O,    KC_P,    KC_BSPC, \
+        TCTLESC,  KC_A,    KC_S,    KC_D,    KC_F,   KC_G,   KC_H,   KC_J,   KC_K,    KC_L,    KC_SCLN, KC_QUOT, \
+        TSFTBSP,  KC_Z,    KC_X,    KC_C,    KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT,  KC_SLSH, TSFTENT, \
+        F(2),     KC_LCTL, KC_LALT, KC_LGUI,         F(0),           F(1),            KC_RGUI, KC_RALT, KC_RCTL \
+    ),
+    [_LOWER] = KEYMAP( \
+        KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
+        KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
+        _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______, \
+        _______, _______, _______, _______,          _______,          KC_LEFT,          KC_DOWN, KC_UP,   KC_RGHT \
+    ),
+    [_RAISE] = KEYMAP( \
+        KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, \
+        KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, \
+        _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, \
+        BL_STEP, _______, _______, _______,          _______,         _______,          KC_VOLD, KC_VOLU, KC_MPLY \
+    ),
+    [_ADJUST] = KEYMAP( \
+        RESET  , _______, _______, _______, _______, _______, _______, _______, _______, KC_P7,    KC_P8,    KC_P9, \
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4,    KC_P5,    KC_P6, \
+        _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1,    KC_P2,    KC_P3, \
+        _______, _______, _______, _______,          _______,          _______,          KC_P0,    KC_PDOT,  KC_COMM \
+    ),
+};
+
+
+enum function_id {
+    LAUNCH,
+    RGBLED_TOGGLE,
+};
+
+
+const uint16_t PROGMEM fn_actions[] = {
+        [0]  = ACTION_LAYER_TAP_KEY(_LOWER, KC_SPC),
+        [1]  = ACTION_LAYER_TAP_KEY(_RAISE, KC_SPC),
+        [2]  = ACTION_LAYER_TAP_KEY(_ADJUST, KC_LGUI),
+};
+
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+    return MACRO_NONE;
+};
+
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+    case LOWER:
+      if (record->event.pressed) {
+        layer_on(_LOWER);
+        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+      } else {
+        layer_off(_LOWER);
+        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+      }
+      return false;
+      break;
+    case RAISE:
+      if (record->event.pressed) {
+        layer_on(_RAISE);
+        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+      } else {
+        layer_off(_RAISE);
+        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+      }
+      return false;
+      break;
+    case ADJUST:
+      if (record->event.pressed) {
+        layer_on(_ADJUST);
+      } else {
+        layer_off(_ADJUST);
+      }
+      return false;
+      break;
+  }
+  return true;
+}
diff --git a/keyboards/amj40/keymaps/fabian/t b/keyboards/amj40/keymaps/fabian/t
new file mode 100755 (executable)
index 0000000..7f6469a
--- /dev/null
@@ -0,0 +1,38 @@
+#ifndef AMJ40_H
+#define AMJ40_H
+
+#include "quantum.h"
+
+// readability  
+#define XXX KC_NO
+
+/* AMJ40 ver2.0 layout1 ι…εˆ—δΈ€
+ * ,-----------------------------------------------------------.
+ * | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B |
+ * |-----------------------------------------------------------|
+ * | 10   | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1B    |
+ * |-----------------------------------------------------------|
+ * | 20     | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |  2A | 2B |
+ * |-----------------------------------------------------------|
+ * | 30  | 31 | 32  |   34      |  35         | 39  | 3A | 3B  |
+ * `-----------------------------------------------------------'
+ */
+#define KEYMAP( \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b,  \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,  \
+    k30, k31, k32, k33, k34, k35,                k39, k3a, k3b  \
+) { \
+    {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b}, \
+    {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b}, \
+    {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b}, \
+    {k30, k31, k32, k33, k34, k35, XXX, XXX, XXX, k39, k3a, k3b} \
+}
+
+
+
+
+void matrix_init_user(void);
+void matrix_scan_user(void);
+
+#endif