summary refs log tree commit diff
path: root/users
diff options
context:
space:
mode:
authorRyan Caltabiano <rcalt2vt@gmail.com>2019-02-28 21:20:26 -0600
committerDrashna Jaelre <drashna@live.com>2019-04-16 18:30:54 -0700
commit86855f4417a3793b1e33a8288f2755b782ef3228 (patch)
tree96ca64a3b207ec8a982e7bbafb1b9d59360ce337 /users
parent416eb1dee7163ae7456e5b2288a2b67790b997c3 (diff)
Xulkal Keymaps
Diffstat (limited to 'users')
-rw-r--r--users/xulkal/config.h13
-rw-r--r--users/xulkal/layouts.h119
-rw-r--r--users/xulkal/process_records.c85
-rw-r--r--users/xulkal/process_records.h49
-rw-r--r--users/xulkal/rules.mk13
-rw-r--r--users/xulkal/xulkal.c1
-rw-r--r--users/xulkal/xulkal.h4
7 files changed, 284 insertions, 0 deletions
diff --git a/users/xulkal/config.h b/users/xulkal/config.h
new file mode 100644
index 0000000000..5f56f7a14b
--- /dev/null
+++ b/users/xulkal/config.h
@@ -0,0 +1,13 @@
+#pragma once
+
+#ifndef TAPPING_FORCE_HOLD
+#define TAPPING_FORCE_HOLD
+#endif // TAPPING_FORCE_HOLD
+
+#undef TAPPING_TERM
+#define TAPPING_TERM 175
+
+#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_LBRC
+#define RSPC_KEYS KC_RSFT, KC_TRNS, KC_RBRC
+#define LCPO_KEYS KC_LCTL, KC_TRNS, KC_MINS
+#define RCPO_KEYS KC_RCTL, KC_TRNS, KC_EQL
diff --git a/users/xulkal/layouts.h b/users/xulkal/layouts.h
new file mode 100644
index 0000000000..2cd309f76b
--- /dev/null
+++ b/users/xulkal/layouts.h
@@ -0,0 +1,119 @@
+#pragma once
+
+ /* Qwerty Layout
+  * ,-----------------------------------------.  ,-----------------------------------------.
+  * | GESC |   1  |   2  |  3   |  4   |  5   |  |  6   |  7   |  8   |  9   |  0   | BkSp |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * | Tab  |   Q  |   W  |  E   |  R   |  T   |  |  Y   |  U   |  I   |  O   |  P   |   \  |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * |FN(CAPS)| A  |   S  |   D  |  F   |  G   |  |  H   |  J   |  K   |  L   |  ;   | Enter|
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * | Sft[ |   Z  |   X  |   C  |  V   |  B   |  |  N   |  M   |  ,   |  .   |  /   | Sft] |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * | Ctrl |  Win |  ADJ |  FN  | Alt  | Space|  | Space| Left |  Up  | Down | Right| Ctrl |
+  * `-----------------------------------------'  `-----------------------------------------'
+  */
+
+#define _________________QWERTY_L1_________________ KC_GESC,  KC_1,     KC_2,     KC_3,     KC_4,     KC_5
+#define _________________QWERTY_L2_________________ TD_TAB,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T
+#define _________________QWERTY_L3_________________ RIS_CAPS, KC_A,     KC_S,     KC_D,     KC_F,     KC_G
+#define _________________QWERTY_L4_________________ KC_LSPO,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B
+#define _________________QWERTY_L5_________________ KC_LCPO,  KC_LGUI,  LOWER,    RAISE,    KC_LALT,  KC_SPC
+
+#define _________________QWERTY_R1_________________           KC_6,    KC_7,      KC_8,     KC_9,     KC_0,     TD_BSPC
+#define _________________QWERTY_R2_________________           KC_Y,    KC_U,      KC_I,     KC_O,     KC_P,     KC_BSLS
+#define _________________QWERTY_R3_________________           KC_H,    KC_J,      KC_K,     KC_L,     KC_SCLN,  KC_ENT
+#define _________________QWERTY_R4_________________           KC_N,    KC_M,      TD_COMM,  KC_DOT,   KC_SLASH, KC_RSPC
+#define _________________QWERTY_R5_________________           KC_SPC,  KC_LEFT,   KC_UP,    KC_DOWN,  KC_RIGHT, KC_RCPC
+
+
+#define ___________________GAME_L1_________________ KC_ESC,   KC_1,     KC_2,     KC_3,     KC_4,     KC_5
+#define ___________________GAME_L2_________________ KC_TAB,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T
+#define ___________________GAME_L3_________________ KC_CAPS,  KC_A,     KC_S,     KC_D,     KC_F,     KC_G
+#define ___________________GAME_L4_________________ KC_LSFT,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B
+#define ___________________GAME_L5_________________ KC_LCTL,  KC_LGUI,  LOWER,    RAISE,    KC_LALT,  KC_SPC
+
+#define ___________________GAME_R1_________________           KC_6,    KC_7,      KC_8,     KC_9,     KC_0,     KC_BSPC
+#define ___________________GAME_R2_________________           KC_Y,    KC_U,      KC_I,     KC_O,     KC_P,     KC_BSLS
+#define ___________________GAME_R3_________________           KC_H,    KC_J,      KC_K,     KC_L,     KC_SCLN,  KC_ENT
+#define ___________________GAME_R4_________________           KC_N,    KC_M,      KC_COMM,  KC_DOT,   KC_SLASH, KC_RSFT
+#define ___________________GAME_R5_________________           KC_SPC,  KC_LEFT,   KC_UP,    KC_DOWN,  KC_RIGHT, KC_RCTL
+
+
+ /* RAISE Layout
+  * ,-----------------------------------------.  ,-----------------------------------------.
+  * |  F12 |  F1  |  F2  |  F3  |  F4  |  F5  |  |  F6  |  F7  |  F8  |  F9  |  F10 | F11  |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * |      | PGDN |  UP  | PGUP |      |QWERTY|  |      | INS  | HOME | PGUP | PRINT|      |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * |      | LEFT | DOWN | RIGHT|      | GAME |  |      | DEL  | END  | PGDN |SCRLCK|      |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * |      |      |      |      |      |      |  |      |      |      |      |      |      |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * |      |      |      |      |      |      |  |      | PREV | VOL- | VOL+ | NEXT | PLAY |
+  * `-----------------------------------------'  `-----------------------------------------'
+  */
+
+#define __________________RAISE_L1_________________ KC_F12,   KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5
+#define __________________RAISE_L2_________________ _______,  KC_PGDN,  KC_UP,    KC_PGUP,  _______,  QWERTY
+#define __________________RAISE_L3_________________ _______,  KC_LEFT,  KC_DOWN,  KC_RGHT,  _______,  GAME
+#define __________________RAISE_L4_________________ _______,  _______,  _______,  _______,  _______,  _______
+#define __________________RAISE_L5_________________ _______,  _______,  _______,  _______,  _______,  _______
+
+#define __________________RAISE_R1_________________           KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11
+#define __________________RAISE_R2_________________           _______,  KC_INS,   KC_HOME,  KC_PGUP,  KC_PSCR,  _______
+#define __________________RAISE_R3_________________           _______,  KC_DEL,   KC_END,   KC_PGDN,  KC_SLCK,  _______
+#define __________________RAISE_R4_________________           _______,  _______,  _______,  _______,  _______,  _______
+#define __________________RAISE_R5_________________           _______,  KC_MPRV,  KC_MPRV,  KC_VOLD,  KC_MNXT,  KC_MPLY
+
+  /* LOWER Layout
+  * ,-----------------------------------------.  ,-----------------------------------------.
+  * |      |      |      |      |      |      |  |      |      |      |      |      |      |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * | SPDI | SAI  | VAI  | HUI  | RESET|      |  |      |      |  7   |  8   |  9   |      |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * | SPDD | SAD  | VAD  | HUD  |RGBRST|      |  |      |      |  4   |  5   |  6   |      |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * |      |      |      |      |      |      |  |      |      |  1   |  2   |  3   |      |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * |      |      |      |      |      |      |  |      |      |      |  0   |  .   |      |
+  * `-----------------------------------------'  `-----------------------------------------'
+  */
+
+#define __________________LOWER_L1_________________ _______,  RGB_RMOD, RGB_MOD,  _______,  _______,  _______
+#define __________________LOWER_L2_________________ RGB_SPI,  RGB_SAI,  RGB_VAI,  RGB_HUI,  RESET,    _______
+#define __________________LOWER_L3_________________ RGB_SPD,  RGB_SAD,  RGB_VAD,  RGB_HUD,  RGBRST,   _______
+#define __________________LOWER_L4_________________ _______,  _______,  _______,  _______,  _______,  _______
+#define __________________LOWER_L5_________________ _______,  _______,  _______,  _______,  _______,  _______
+
+#define __________________LOWER_R1_________________           _______,  _______,  _______,  _______,  _______,  KC_DEL
+#define __________________LOWER_R2_________________           _______,  _______,  KC_KP_7,  KC_KP_8,  KC_KP_9,  _______
+#define __________________LOWER_R3_________________           _______,  _______,  KC_KP_4,  KC_KP_5,  KC_KP_6,  _______
+#define __________________LOWER_R4_________________           _______,  _______,  KC_KP_1,  KC_KP_2,  KC_KP_3,  _______
+#define __________________LOWER_R5_________________           _______,  _______,  _______,  KC_KP_0,  KC_PDOT,  _______
+
+  /* ADJUST Layout
+  * ,-----------------------------------------.  ,-----------------------------------------.
+  * |      |      |      |      |      |      |  |      |      |      |      |      |      |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * |      | RESET| DEBUG|      |      |      |  |      |TERM_ON|TERM_OFF|   |      |      |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * |      |      |MusMod|Aud on|AudOff|AGnorm|  |AGswap|ClkUp |ClkDwn|      |      |      |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * |      |Voice-|Voice+|Mus on|MusOff|MidiOn|  |MidOff|ClkOn |ClkOff|      |      |      |
+  * |------+------+------+------+------+------|  |------+------+------+------+------+------|
+  * |      |      |      |      |      |      |  |      |      |      |      |      |      |
+  * `-----------------------------------------'  `-----------------------------------------'
+  */
+
+#define _________________ADJUST_L1_________________ _______,  _______,  _______,  _______,  _______,  _______
+#define _________________ADJUST_L2_________________ _______,  RESET,    DEBUG,    _______,  _______,  _______
+#define _________________ADJUST_L3_________________ _______,  _______,  MU_MOD,   AU_ON,    AU_OFF,   AG_NORM
+#define _________________ADJUST_L4_________________ _______,  MUV_DE,   MUV_IN,   MU_ON,    MU_OFF,   MI_ON
+#define _________________ADJUST_L5_________________ _______,  _______,  _______,  _______,  _______,  _______
+
+#define _________________ADJUST_R1_________________           _______,  _______,  _______,  _______,  _______,  _______
+#define _________________ADJUST_R2_________________           _______,  TERM_ON,  TERM_OFF, _______,  _______,  _______
+#define _________________ADJUST_R3_________________           AG_SWAP,  CK_UP,    CK_DOWN,  _______,  _______,  _______
+#define _________________ADJUST_R4_________________           MI_OFF,   CK_ON,    CK_OFF,   _______,  _______,  _______
+#define _________________ADJUST_R5_________________           _______,  _______,  _______,  _______,  _______,  _______
diff --git a/users/xulkal/process_records.c b/users/xulkal/process_records.c
new file mode 100644
index 0000000000..af849a0729
--- /dev/null
+++ b/users/xulkal/process_records.c
@@ -0,0 +1,85 @@
+#include "process_records.h"
+
+#ifdef TAP_DANCE_ENABLE
+//Tap Dance Definitions
+qk_tap_dance_action_t tap_dance_actions[] = {
+  [COMM_QUOT]  = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_QUOT),
+  [BACKSPACE] = ACTION_TAP_DANCE_DOUBLE (KC_BSPACE, LCTL(KC_BSPACE)),
+  [TAP_TAB] = ACTION_TAP_DANCE_DOUBLE (KC_TAB, LSFT(KC_TAB)),
+  [CTRL_MINUS] = ACTION_TAP_DANCE_DOUBLE (KC_LCTL, KC_MINS),
+  [CTRL_PLUS] = ACTION_TAP_DANCE_DOUBLE (KC_RCTL, KC_EQL)
+};
+#endif
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+    case QWERTY:
+      if (record->event.pressed) {
+        set_single_persistent_default_layer(_QWERTY);
+      }
+      return false;
+      break;
+    case GAME:
+#ifndef GAMELAYER_DISABLE
+      if (record->event.pressed) {
+        set_single_persistent_default_layer(_GAME);
+      }
+#endif
+      return false;
+      break;
+    case LOWER:
+      if (record->event.pressed) {
+        layer_on(_LOWER);
+#ifdef TRILAYER_ENABLED
+        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+#endif
+      } else {
+        layer_off(_LOWER);
+#ifdef TRILAYER_ENABLED
+        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+#endif
+      }
+      return false;
+      break;
+    case RAISE:
+      if (record->event.pressed) {
+        layer_on(_RAISE);
+#ifdef TRILAYER_ENABLED
+        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+#endif
+      } else {
+        layer_off(_RAISE);
+#ifdef TRILAYER_ENABLED
+        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+#endif
+      }
+      return false;
+      break;
+    case RGBRST:
+      #ifdef RGBLIGHT_ENABLE
+        if (record->event.pressed) {
+          eeconfig_update_rgblight_default();
+          rgblight_enable();
+        }
+      #endif
+      return false;
+      break;
+  }
+
+  return process_record_keymap(keycode, record) &&
+#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
+    process_record_rgb(keycode, record) &&
+#endif // RGBLIGHT_ENABLE;
+    true;
+}
+
+__attribute__ ((weak))
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+  return true;
+}
+
+
+__attribute__ ((weak))
+bool process_record_rgb(uint16_t keycode, keyrecord_t *record) {
+  return true;
+}
diff --git a/users/xulkal/process_records.h b/users/xulkal/process_records.h
new file mode 100644
index 0000000000..9e42953809
--- /dev/null
+++ b/users/xulkal/process_records.h
@@ -0,0 +1,49 @@
+#pragma once
+#include "quantum.h"
+
+#define RIS_ESC  LT(_RAISE, KC_ESC)
+#define RIS_CAPS LT(_RAISE, KC_CAPS)
+
+#ifdef TAP_DANCE_ENABLE
+#include "process_tap_dance.h"
+
+//Tap Dance Declarations
+enum {
+  COMM_QUOT = 0,
+  BACKSPACE,
+  TAP_TAB,
+  CTRL_MINUS,
+  CTRL_PLUS
+};
+
+#define TD_COMM TD(COMM_QUOT)
+#define TD_BSPC TD(BACKSPACE)
+#define TD_TAB TD(TAP_TAB)
+#define TD_LCTL TD(CTRL_MINUS)
+#define TD_RCTL TD(CTRL_PLUS)
+#else
+#define TD_COMM KC_COMM
+#define TD_BSPC KC_BSPACE
+#define TD_TAB KC_TAB
+#define TD_LCTL KC_LCTL
+#define TD_RCTL KC_RCTL
+#endif
+
+enum layer_number {
+    _QWERTY = 0,
+    _GAME,
+    _LOWER,
+    _RAISE,
+    _ADJUST
+};
+
+enum custom_keycodes {
+  QWERTY = SAFE_RANGE,
+  GAME,
+  LOWER,
+  RAISE,
+  RGBRST
+};
+
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
+bool process_record_rgb(uint16_t keycode, keyrecord_t *record);
diff --git a/users/xulkal/rules.mk b/users/xulkal/rules.mk
new file mode 100644
index 0000000000..6758f52f5f
--- /dev/null
+++ b/users/xulkal/rules.mk
@@ -0,0 +1,13 @@
+SRC += xulkal.c \
+       process_records.c
+
+# Some usual defaults
+MOUSEKEY_ENABLE         = no    # Mouse keys (+4700)
+EXTRAKEY_ENABLE         = yes   # Audio control and System control (+450)
+TAP_DANCE_ENABLE        = yes   # Enable the tap dance feature. (+1100)
+
+ifneq ($(strip $(DISABLE_LTO)), yes)
+  EXTRAFLAGS += -flto
+  OPT_DEFS += -DNO_ACTION_MACRO
+  OPT_DEFS += -DNO_ACTION_FUNCTION
+endif
diff --git a/users/xulkal/xulkal.c b/users/xulkal/xulkal.c
new file mode 100644
index 0000000000..ea9b6bdbbe
--- /dev/null
+++ b/users/xulkal/xulkal.c
@@ -0,0 +1 @@
+#include "xulkal.h"
diff --git a/users/xulkal/xulkal.h b/users/xulkal/xulkal.h
new file mode 100644
index 0000000000..ae73599239
--- /dev/null
+++ b/users/xulkal/xulkal.h
@@ -0,0 +1,4 @@
+#pragma once
+
+#include "process_records.h"
+#include "layouts.h"