aboutsummaryrefslogtreecommitdiff
path: root/users/xulkal
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/xulkal
parent416eb1dee7163ae7456e5b2288a2b67790b997c3 (diff)
downloadqmk_firmware-86855f4417a3793b1e33a8288f2755b782ef3228.tar.gz
qmk_firmware-86855f4417a3793b1e33a8288f2755b782ef3228.zip
Xulkal Keymaps
Diffstat (limited to 'users/xulkal')
-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 000000000..5f56f7a14
--- /dev/null
+++ b/users/xulkal/config.h
@@ -0,0 +1,13 @@
1#pragma once
2
3#ifndef TAPPING_FORCE_HOLD
4#define TAPPING_FORCE_HOLD
5#endif // TAPPING_FORCE_HOLD
6
7#undef TAPPING_TERM
8#define TAPPING_TERM 175
9
10#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_LBRC
11#define RSPC_KEYS KC_RSFT, KC_TRNS, KC_RBRC
12#define LCPO_KEYS KC_LCTL, KC_TRNS, KC_MINS
13#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 000000000..2cd309f76
--- /dev/null
+++ b/users/xulkal/layouts.h
@@ -0,0 +1,119 @@
1#pragma once
2
3 /* Qwerty Layout
4 * ,-----------------------------------------. ,-----------------------------------------.
5 * | GESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BkSp |
6 * |------+------+------+------+------+------| |------+------+------+------+------+------|
7 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
8 * |------+------+------+------+------+------| |------+------+------+------+------+------|
9 * |FN(CAPS)| A | S | D | F | G | | H | J | K | L | ; | Enter|
10 * |------+------+------+------+------+------| |------+------+------+------+------+------|
11 * | Sft[ | Z | X | C | V | B | | N | M | , | . | / | Sft] |
12 * |------+------+------+------+------+------| |------+------+------+------+------+------|
13 * | Ctrl | Win | ADJ | FN | Alt | Space| | Space| Left | Up | Down | Right| Ctrl |
14 * `-----------------------------------------' `-----------------------------------------'
15 */
16
17#define _________________QWERTY_L1_________________ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5
18#define _________________QWERTY_L2_________________ TD_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T
19#define _________________QWERTY_L3_________________ RIS_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G
20#define _________________QWERTY_L4_________________ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B
21#define _________________QWERTY_L5_________________ KC_LCPO, KC_LGUI, LOWER, RAISE, KC_LALT, KC_SPC
22
23#define _________________QWERTY_R1_________________ KC_6, KC_7, KC_8, KC_9, KC_0, TD_BSPC
24#define _________________QWERTY_R2_________________ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS
25#define _________________QWERTY_R3_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT
26#define _________________QWERTY_R4_________________ KC_N, KC_M, TD_COMM, KC_DOT, KC_SLASH, KC_RSPC
27#define _________________QWERTY_R5_________________ KC_SPC, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, KC_RCPC
28
29
30#define ___________________GAME_L1_________________ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5
31#define ___________________GAME_L2_________________ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T
32#define ___________________GAME_L3_________________ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G
33#define ___________________GAME_L4_________________ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B
34#define ___________________GAME_L5_________________ KC_LCTL, KC_LGUI, LOWER, RAISE, KC_LALT, KC_SPC
35
36#define ___________________GAME_R1_________________ KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC
37#define ___________________GAME_R2_________________ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS
38#define ___________________GAME_R3_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT
39#define ___________________GAME_R4_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH, KC_RSFT
40#define ___________________GAME_R5_________________ KC_SPC, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, KC_RCTL
41
42
43 /* RAISE Layout
44 * ,-----------------------------------------. ,-----------------------------------------.
45 * | F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
46 * |------+------+------+------+------+------| |------+------+------+------+------+------|
47 * | | PGDN | UP | PGUP | |QWERTY| | | INS | HOME | PGUP | PRINT| |
48 * |------+------+------+------+------+------| |------+------+------+------+------+------|
49 * | | LEFT | DOWN | RIGHT| | GAME | | | DEL | END | PGDN |SCRLCK| |
50 * |------+------+------+------+------+------| |------+------+------+------+------+------|
51 * | | | | | | | | | | | | | |
52 * |------+------+------+------+------+------| |------+------+------+------+------+------|
53 * | | | | | | | | | PREV | VOL- | VOL+ | NEXT | PLAY |
54 * `-----------------------------------------' `-----------------------------------------'
55 */
56
57#define __________________RAISE_L1_________________ KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
58#define __________________RAISE_L2_________________ _______, KC_PGDN, KC_UP, KC_PGUP, _______, QWERTY
59#define __________________RAISE_L3_________________ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, GAME
60#define __________________RAISE_L4_________________ _______, _______, _______, _______, _______, _______
61#define __________________RAISE_L5_________________ _______, _______, _______, _______, _______, _______
62
63#define __________________RAISE_R1_________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11
64#define __________________RAISE_R2_________________ _______, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, _______
65#define __________________RAISE_R3_________________ _______, KC_DEL, KC_END, KC_PGDN, KC_SLCK, _______
66#define __________________RAISE_R4_________________ _______, _______, _______, _______, _______, _______
67#define __________________RAISE_R5_________________ _______, KC_MPRV, KC_MPRV, KC_VOLD, KC_MNXT, KC_MPLY
68
69 /* LOWER Layout
70 * ,-----------------------------------------. ,-----------------------------------------.
71 * | | | | | | | | | | | | | |
72 * |------+------+------+------+------+------| |------+------+------+------+------+------|
73 * | SPDI | SAI | VAI | HUI | RESET| | | | | 7 | 8 | 9 | |
74 * |------+------+------+------+------+------| |------+------+------+------+------+------|
75 * | SPDD | SAD | VAD | HUD |RGBRST| | | | | 4 | 5 | 6 | |
76 * |------+------+------+------+------+------| |------+------+------+------+------+------|
77 * | | | | | | | | | | 1 | 2 | 3 | |
78 * |------+------+------+------+------+------| |------+------+------+------+------+------|
79 * | | | | | | | | | | | 0 | . | |
80 * `-----------------------------------------' `-----------------------------------------'
81 */
82
83#define __________________LOWER_L1_________________ _______, RGB_RMOD, RGB_MOD, _______, _______, _______
84#define __________________LOWER_L2_________________ RGB_SPI, RGB_SAI, RGB_VAI, RGB_HUI, RESET, _______
85#define __________________LOWER_L3_________________ RGB_SPD, RGB_SAD, RGB_VAD, RGB_HUD, RGBRST, _______
86#define __________________LOWER_L4_________________ _______, _______, _______, _______, _______, _______
87#define __________________LOWER_L5_________________ _______, _______, _______, _______, _______, _______
88
89#define __________________LOWER_R1_________________ _______, _______, _______, _______, _______, KC_DEL
90#define __________________LOWER_R2_________________ _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, _______
91#define __________________LOWER_R3_________________ _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, _______
92#define __________________LOWER_R4_________________ _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, _______
93#define __________________LOWER_R5_________________ _______, _______, _______, KC_KP_0, KC_PDOT, _______
94
95 /* ADJUST Layout
96 * ,-----------------------------------------. ,-----------------------------------------.
97 * | | | | | | | | | | | | | |
98 * |------+------+------+------+------+------| |------+------+------+------+------+------|
99 * | | RESET| DEBUG| | | | | |TERM_ON|TERM_OFF| | | |
100 * |------+------+------+------+------+------| |------+------+------+------+------+------|
101 * | | |MusMod|Aud on|AudOff|AGnorm| |AGswap|ClkUp |ClkDwn| | | |
102 * |------+------+------+------+------+------| |------+------+------+------+------+------|
103 * | |Voice-|Voice+|Mus on|MusOff|MidiOn| |MidOff|ClkOn |ClkOff| | | |
104 * |------+------+------+------+------+------| |------+------+------+------+------+------|
105 * | | | | | | | | | | | | | |
106 * `-----------------------------------------' `-----------------------------------------'
107 */
108
109#define _________________ADJUST_L1_________________ _______, _______, _______, _______, _______, _______
110#define _________________ADJUST_L2_________________ _______, RESET, DEBUG, _______, _______, _______
111#define _________________ADJUST_L3_________________ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM
112#define _________________ADJUST_L4_________________ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON
113#define _________________ADJUST_L5_________________ _______, _______, _______, _______, _______, _______
114
115#define _________________ADJUST_R1_________________ _______, _______, _______, _______, _______, _______
116#define _________________ADJUST_R2_________________ _______, TERM_ON, TERM_OFF, _______, _______, _______
117#define _________________ADJUST_R3_________________ AG_SWAP, CK_UP, CK_DOWN, _______, _______, _______
118#define _________________ADJUST_R4_________________ MI_OFF, CK_ON, CK_OFF, _______, _______, _______
119#define _________________ADJUST_R5_________________ _______, _______, _______, _______, _______, _______
diff --git a/users/xulkal/process_records.c b/users/xulkal/process_records.c
new file mode 100644
index 000000000..af849a072
--- /dev/null
+++ b/users/xulkal/process_records.c
@@ -0,0 +1,85 @@
1#include "process_records.h"
2
3#ifdef TAP_DANCE_ENABLE
4//Tap Dance Definitions
5qk_tap_dance_action_t tap_dance_actions[] = {
6 [COMM_QUOT] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_QUOT),
7 [BACKSPACE] = ACTION_TAP_DANCE_DOUBLE (KC_BSPACE, LCTL(KC_BSPACE)),
8 [TAP_TAB] = ACTION_TAP_DANCE_DOUBLE (KC_TAB, LSFT(KC_TAB)),
9 [CTRL_MINUS] = ACTION_TAP_DANCE_DOUBLE (KC_LCTL, KC_MINS),
10 [CTRL_PLUS] = ACTION_TAP_DANCE_DOUBLE (KC_RCTL, KC_EQL)
11};
12#endif
13
14bool process_record_user(uint16_t keycode, keyrecord_t *record) {
15 switch (keycode) {
16 case QWERTY:
17 if (record->event.pressed) {
18 set_single_persistent_default_layer(_QWERTY);
19 }
20 return false;
21 break;
22 case GAME:
23#ifndef GAMELAYER_DISABLE
24 if (record->event.pressed) {
25 set_single_persistent_default_layer(_GAME);
26 }
27#endif
28 return false;
29 break;
30 case LOWER:
31 if (record->event.pressed) {
32 layer_on(_LOWER);
33#ifdef TRILAYER_ENABLED
34 update_tri_layer(_LOWER, _RAISE, _ADJUST);
35#endif
36 } else {
37 layer_off(_LOWER);
38#ifdef TRILAYER_ENABLED
39 update_tri_layer(_LOWER, _RAISE, _ADJUST);
40#endif
41 }
42 return false;
43 break;
44 case RAISE:
45 if (record->event.pressed) {
46 layer_on(_RAISE);
47#ifdef TRILAYER_ENABLED
48 update_tri_layer(_LOWER, _RAISE, _ADJUST);
49#endif
50 } else {
51 layer_off(_RAISE);
52#ifdef TRILAYER_ENABLED
53 update_tri_layer(_LOWER, _RAISE, _ADJUST);
54#endif
55 }
56 return false;
57 break;
58 case RGBRST:
59 #ifdef RGBLIGHT_ENABLE
60 if (record->event.pressed) {
61 eeconfig_update_rgblight_default();
62 rgblight_enable();
63 }
64 #endif
65 return false;
66 break;
67 }
68
69 return process_record_keymap(keycode, record) &&
70#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
71 process_record_rgb(keycode, record) &&
72#endif // RGBLIGHT_ENABLE;
73 true;
74}
75
76__attribute__ ((weak))
77bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
78 return true;
79}
80
81
82__attribute__ ((weak))
83bool process_record_rgb(uint16_t keycode, keyrecord_t *record) {
84 return true;
85}
diff --git a/users/xulkal/process_records.h b/users/xulkal/process_records.h
new file mode 100644
index 000000000..9e4295380
--- /dev/null
+++ b/users/xulkal/process_records.h
@@ -0,0 +1,49 @@
1#pragma once
2#include "quantum.h"
3
4#define RIS_ESC LT(_RAISE, KC_ESC)
5#define RIS_CAPS LT(_RAISE, KC_CAPS)
6
7#ifdef TAP_DANCE_ENABLE
8#include "process_tap_dance.h"
9
10//Tap Dance Declarations
11enum {
12 COMM_QUOT = 0,
13 BACKSPACE,
14 TAP_TAB,
15 CTRL_MINUS,
16 CTRL_PLUS
17};
18
19#define TD_COMM TD(COMM_QUOT)
20#define TD_BSPC TD(BACKSPACE)
21#define TD_TAB TD(TAP_TAB)
22#define TD_LCTL TD(CTRL_MINUS)
23#define TD_RCTL TD(CTRL_PLUS)
24#else
25#define TD_COMM KC_COMM
26#define TD_BSPC KC_BSPACE
27#define TD_TAB KC_TAB
28#define TD_LCTL KC_LCTL
29#define TD_RCTL KC_RCTL
30#endif
31
32enum layer_number {
33 _QWERTY = 0,
34 _GAME,
35 _LOWER,
36 _RAISE,
37 _ADJUST
38};
39
40enum custom_keycodes {
41 QWERTY = SAFE_RANGE,
42 GAME,
43 LOWER,
44 RAISE,
45 RGBRST
46};
47
48bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
49bool 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 000000000..6758f52f5
--- /dev/null
+++ b/users/xulkal/rules.mk
@@ -0,0 +1,13 @@
1SRC += xulkal.c \
2 process_records.c
3
4# Some usual defaults
5MOUSEKEY_ENABLE = no # Mouse keys (+4700)
6EXTRAKEY_ENABLE = yes # Audio control and System control (+450)
7TAP_DANCE_ENABLE = yes # Enable the tap dance feature. (+1100)
8
9ifneq ($(strip $(DISABLE_LTO)), yes)
10 EXTRAFLAGS += -flto
11 OPT_DEFS += -DNO_ACTION_MACRO
12 OPT_DEFS += -DNO_ACTION_FUNCTION
13endif
diff --git a/users/xulkal/xulkal.c b/users/xulkal/xulkal.c
new file mode 100644
index 000000000..ea9b6bdbb
--- /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 000000000..ae7359923
--- /dev/null
+++ b/users/xulkal/xulkal.h
@@ -0,0 +1,4 @@
1#pragma once
2
3#include "process_records.h"
4#include "layouts.h"