Add keymap for atreus and minidox (#2079)
authorkhitsule <khitsule@gmail.com>
Sun, 3 Dec 2017 04:56:30 +0000 (14:56 +1000)
committerJack Humbert <jack.humb@gmail.com>
Sun, 3 Dec 2017 04:56:30 +0000 (23:56 -0500)
* keymap for atreus and minidox

* minidox keymap khitsule cleaned

keyboards/atreus/keymaps/khitsule/config.h [new file with mode: 0644]
keyboards/atreus/keymaps/khitsule/keymap.c [new file with mode: 0644]
keyboards/atreus/keymaps/khitsule/readme.md [new file with mode: 0644]
keyboards/minidox/keymaps/khitsule/config.h [new file with mode: 0644]
keyboards/minidox/keymaps/khitsule/keymap.c [new file with mode: 0644]
keyboards/minidox/keymaps/khitsule/readme.md [new file with mode: 0644]

diff --git a/keyboards/atreus/keymaps/khitsule/config.h b/keyboards/atreus/keymaps/khitsule/config.h
new file mode 100644 (file)
index 0000000..19714ec
--- /dev/null
@@ -0,0 +1,10 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+#define PREVENT_STUCK_MODIFIERS
+
+#define IGNORE_MOD_TAP_INTERRUPT
+
+#endif
\ No newline at end of file
diff --git a/keyboards/atreus/keymaps/khitsule/keymap.c b/keyboards/atreus/keymaps/khitsule/keymap.c
new file mode 100644 (file)
index 0000000..23fabf0
--- /dev/null
@@ -0,0 +1,64 @@
+// Personal keymap of khitsule
+
+#include "atreus.h"
+
+#define ALPH 0 
+#define LOWR 1 
+#define RAIS 2 
+
+// enum layers {
+//   ALPH, //alpha qwerty
+//   LOWR, //layer 1: nav and functions
+//   RAIS //layer 2: numpad and symbols
+// };
+
+// define any macros here to keep keymap clean and readable
+
+#define KM_DLEFT LGUI(LCTL(KC_LEFT))
+#define KM_DRIGHT LGUI(LCTL(KC_RIGHT))
+
+#define tap_mod_macro(record, mod, macro) ( ((record)->event.pressed) ? \
+     ( ((record)->tap.count <= 0 || (record)->tap.interrupted) ? MACRO(D(mod), END) : MACRO_NONE ) : \
+     ( ((record)->tap.count > 0 && !((record)->tap.interrupted)) ? (macro) : MACRO(U(mod), END) ) )
+
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[ALPH] = {
+  {KC_Q,   KC_W,      KC_E,     KC_R,           KC_T,             KC_TRNS,         KC_Y,              KC_U,    KC_I,      KC_O,    KC_P},
+  {KC_A,   KC_S,      KC_D,     KC_F,           KC_G,             KC_TRNS,         KC_H,              KC_J,    KC_K,      KC_L,    KC_SCLN},
+  {KC_Z,   KC_X,      KC_C,     KC_V,           KC_B,             CTL_T(KC_SPC),   KC_N,              KC_M,    KC_COMM,   KC_DOT,  KC_SLSH},
+  {KC_ESC, KC_TRNS,   KC_TRNS,  ALT_T(KC_ENT),  LT(LOWR, KC_TAB), SFT_T(KC_BSPC),  LT(RAIS, KC_DEL),  KC_LGUI, KC_TRNS,   KC_QUOT, KC_MINUS}
+},
+[LOWR] = {
+  {KC_PSCR,  KC_HOME,   KC_UP,        KC_END,   KC_TRNS, KC_TRNS, KC_LPRN,       KC_F7,    KC_F8,   KC_F9, KC_RPRN},
+  {KC_VOLU,  KC_LEFT,   KC_DOWN,      KC_RIGHT, KC_PGUP, KC_TRNS, KC_LBRC,       KC_F4,    KC_F5,   KC_F6, KC_RBRC},
+  {KC_VOLD,  KC_MPRV,   KC_MPLY,      KC_MNXT,  KC_PGDN, KC_TRNS, LSFT(KC_LBRC), KC_F1,    KC_F2,   KC_F3, LSFT(KC_RBRC)},
+  {KM_DLEFT, KM_DRIGHT, LALT(KC_TAB), KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS}
+},
+[RAIS] = {
+  {KC_EXLM, KC_AT,    KC_HASH,  KC_DLR,  KC_PERC, KC_TRNS, KC_TRNS,   KC_7,     KC_8, KC_9,   KC_TRNS},
+  {KC_CIRC, KC_AMPR,  KC_GRV,   KC_TILD, KC_PIPE, KC_TRNS, KC_PLUS,   KC_4,     KC_5, KC_6,   KC_ASTR},
+  {KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS, KC_BSLS, KC_TRNS, KC_MINUS,  KC_1,     KC_2, KC_3,   KC_SLASH},
+  {RESET,   KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS,  KC_0, KC_DOT,  KC_EQL}
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+  [1] = ACTION_MACRO_TAP(1),
+  [2] = ACTION_MACRO_TAP(2)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+  switch(id) {    
+    case 1:
+      return tap_mod_macro(record, LGUI, MACRO( D(LSFT), T(9), U(LSFT), END));
+      break;
+    case 2:
+      return tap_mod_macro(record, LALT, MACRO( D(LSFT), T(0), U(LSFT), END));
+      break;
+
+  }
+  return MACRO_NONE;
+};
diff --git a/keyboards/atreus/keymaps/khitsule/readme.md b/keyboards/atreus/keymaps/khitsule/readme.md
new file mode 100644 (file)
index 0000000..bf984b5
--- /dev/null
@@ -0,0 +1,23 @@
+# Atreus Layout by Khitsule
+![Khitsule](https://i.imgur.com/wuki3aM.png)
+
+[KLE link](http://www.keyboard-layout-editor.com/#/gists/35ed66c55456699fd8f5d06750984a07)
+
+## Layers
+| Layer | Legend |
+| ----- | ------ |
+| Base  |  Top left (black) |
+| Lower | Top right (purple) |
+| Raise | Bottom right (pink) |
+
+## Features
+* Raise/lower layers focus first on one-handed use
+* Numpad on right hand with raise layer
+* Navigation on left hand with lower layer (ESDF)
+    * D refers to desktop left/right on Win 10 (win+ctrl+left/right)
+* Heavy use of hold/tap dual function keys
+    * Ctrl/Space
+    * Shift/Backspace
+    * Alt/Enter
+    * Lower/Tab
+    * Raise/Delete
\ No newline at end of file
diff --git a/keyboards/minidox/keymaps/khitsule/config.h b/keyboards/minidox/keymaps/khitsule/config.h
new file mode 100644 (file)
index 0000000..7023548
--- /dev/null
@@ -0,0 +1,8 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#define PREVENT_STUCK_MODIFIERS
+
+#define IGNORE_MOD_TAP_INTERRUPT
+
+#endif
\ No newline at end of file
diff --git a/keyboards/minidox/keymaps/khitsule/keymap.c b/keyboards/minidox/keymaps/khitsule/keymap.c
new file mode 100644 (file)
index 0000000..29d7560
--- /dev/null
@@ -0,0 +1,70 @@
+#include "minidox.h"
+#include "action_layer.h"
+#include "eeconfig.h"
+
+extern keymap_config_t keymap_config;
+
+// 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 _QWERTY 0
+#define _LOWER 1
+#define _RAISE 2
+#define _ADJUST 16
+
+enum custom_keycodes {
+  QWERTY = SAFE_RANGE,
+  LOWER,
+  RAISE,
+  ADJUST,
+};
+
+// Fillers to make layering more clear
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+// Defines for task manager and such
+#define CALTDEL LCTL(LALT(KC_DEL))
+#define TSKMGR LCTL(LSFT(KC_ESC))
+#define DSK_LFT LGUI(LCTL(KC_LEFT))
+#define DSK_RT  LGUI(LCTL(KC_RIGHT))
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+
+[_QWERTY] = KEYMAP( \
+  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                       KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    \
+  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                       KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, \
+  KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                       KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, \
+          ALT_T(KC_ENT), LT(_LOWER, KC_TAB), CTL_T(KC_SPC),    SFT_T(KC_BSPC), LT(_RAISE, KC_DEL), KC_LGUI    \
+),
+
+[_RAISE] = KEYMAP( \
+  KC_EXLM,    KC_AT,    KC_HASH, KC_DLR,  KC_PERC,      KC_PLUS, KC_7,     KC_8,   KC_9, KC_0,    \
+  KC_CIRC,    KC_AMPR,  KC_TILD, KC_PIPE, KC_BSLS,      KC_MINUS,  KC_4,     KC_5,   KC_6, KC_EQL, \
+  KC_DQT,     KC_QUOT,  KC_UNDS, KC_GRV,  _______,      KC_ASTR,  KC_1,     KC_2,   KC_3, _______, \
+                        _______, MO(_ADJUST), _______,      _______,  _______,  _______                    \
+),
+
+
+[_LOWER] = KEYMAP( \
+  KC_ESC,   KC_HOME, KC_UP,   KC_END,   _______,     KC_LPRN, KC_RPRN, _______, _______, _______,
+  KC_VOLU,  KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGUP,     KC_LBRC, KC_RBRC, _______, _______, _______, \
+  KC_VOLD,  KC_MPRV, KC_MPLY, KC_MNXT,  KC_PGDN,     KC_LCBR, KC_RCBR, _______, _______,  _______, \
+                    _______, _______, _______,      _______,  MO(_ADJUST), _______                    \
+),
+
+
+[_ADJUST] =  KEYMAP( \
+  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,        KC_F6,   KC_F7,    KC_F8,   KC_F9,    KC_F10, \
+  _______, DSK_LFT, _______, DSK_RT,  _______,      TSKMGR,  CALTDEL,  _______, KC_F11,   KC_F12, \
+  RESET,   _______, _______, _______, _______,      _______, _______,  _______, _______,  _______, \
+                    _______, _______, _______,      _______, _______,  _______                    \
+)
+};
+
+void persistant_default_layer_set(uint16_t default_layer) {
+  eeconfig_update_default_layer(default_layer);
+  default_layer_set(default_layer);
+}
diff --git a/keyboards/minidox/keymaps/khitsule/readme.md b/keyboards/minidox/keymaps/khitsule/readme.md
new file mode 100644 (file)
index 0000000..92e2527
--- /dev/null
@@ -0,0 +1,24 @@
+# Minidox Layout by Khitsule
+![Khitsule](https://i.imgur.com/bEdqotb.png)
+
+[KLE link](http://www.keyboard-layout-editor.com/#/gists/203ed1a6db1997863394e87af8c43bbc)
+
+## Layers
+| Layer | Legend |
+| ----- | ------ |
+| Base  |  Top left (black) |
+| Lower | Top right (red) |
+| Raise | Bottom right (orange) |
+| Adjust | Front print |
+
+## Features
+* Raise/lower layers focus first on one-handed use
+* Numpad on right hand with raise layer
+* Navigation on left hand with lower layer (ESDF)
+    * D refers to desktop left/right on Win 10 (win+ctrl+left/right)
+* Heavy use of hold/tap dual function keys
+    * Ctrl/Space
+    * Shift/Backspace
+    * Alt/Enter
+    * Lower/Tab
+    * Raise/Delete
\ No newline at end of file