aboutsummaryrefslogtreecommitdiff
path: root/users
diff options
context:
space:
mode:
authorChuck Lauer Vose <vosechu@gmail.com>2019-01-26 07:55:42 -0800
committerDrashna Jaelre <drashna@live.com>2019-01-26 07:55:42 -0800
commit0772b4932c9ab2734e51cdff58a566bf6b3bc922 (patch)
treef7640d22c849f297ac071782001aea1067e4cacf /users
parent7aba1fd1767ecd7df25323c51332c7af986a3805 (diff)
downloadqmk_firmware-0772b4932c9ab2734e51cdff58a566bf6b3bc922.tar.gz
qmk_firmware-0772b4932c9ab2734e51cdff58a566bf6b3bc922.zip
[Keymap] Add userspace files for vosechu (#4912)
* Add userspace files for vosechu * Code review corrections * Few more code review corrections
Diffstat (limited to 'users')
-rw-r--r--users/vosechu/config.h24
-rw-r--r--users/vosechu/readme.md14
-rw-r--r--users/vosechu/rules.mk1
-rw-r--r--users/vosechu/vosechu.c25
-rw-r--r--users/vosechu/vosechu.h71
5 files changed, 135 insertions, 0 deletions
diff --git a/users/vosechu/config.h b/users/vosechu/config.h
new file mode 100644
index 000000000..837cc60ff
--- /dev/null
+++ b/users/vosechu/config.h
@@ -0,0 +1,24 @@
1#pragma once
2
3// this makes it possible to do rolling combos (zx) with keys that
4// convert to other keys on hold (z becomes ctrl when you hold it,
5// and when this option isn't enabled, z rapidly followed by x
6// actually sends Ctrl-x. That's bad.)
7#define IGNORE_MOD_TAP_INTERRUPT
8#undef PERMISSIVE_HOLD
9//#define TAPPING_FORCE_HOLD
10//#define RETRO_TAPPING
11
12#ifndef TAPPING_TOGGLE
13#define TAPPING_TOGGLE 2
14#endif
15
16#ifdef TAPPING_TERM
17#undef TAPPING_TERM
18#endif
19#define TAPPING_TERM 150
20
21// Disable action_get_macro and fn_actions, since we don't use these
22// and it saves on space in the firmware.
23#define NO_ACTION_MACRO
24#define NO_ACTION_FUNCTION
diff --git a/users/vosechu/readme.md b/users/vosechu/readme.md
new file mode 100644
index 000000000..44789a9ff
--- /dev/null
+++ b/users/vosechu/readme.md
@@ -0,0 +1,14 @@
1Copyright 2018 Chuck Lauer Vose vosechu@gmail.com @vosechu
2
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12
13You should have received a copy of the GNU General Public License
14along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/users/vosechu/rules.mk b/users/vosechu/rules.mk
new file mode 100644
index 000000000..e346db93f
--- /dev/null
+++ b/users/vosechu/rules.mk
@@ -0,0 +1 @@
SRC += vosechu.c
diff --git a/users/vosechu/vosechu.c b/users/vosechu/vosechu.c
new file mode 100644
index 000000000..3f58ca26a
--- /dev/null
+++ b/users/vosechu/vosechu.c
@@ -0,0 +1,25 @@
1#include "vosechu.h"
2
3// void my_custom_function(void) {
4
5// }
6
7// [DV] = { /* ================================================== DVORAK ============================================================ */
8// { KC_1, KC_A, KC_B, KC_C, KC_D, KC_E, _______ , KC_G, KC_H, KC_J, KC_K, KC_L, KC_M },
9// { KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, _______ , KC_G, KC_H, KC_J, KC_K, KC_L, KC_M },
10// { KC_3, KC_A, KC_B, KC_C, KC_D, KC_E, _______ , KC_G, KC_H, KC_J, KC_K, KC_L, KC_M },
11// { KC_4, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F , KC_G, KC_H, KC_J, KC_K, KC_L, KC_M },
12// { KC_5, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F , KC_G, KC_H, KC_J, KC_K, KC_L, KC_M }
13// },
14
15// bool process_record_user(uint16_t keycode, keyrecord_t *record) {
16// if (record->event.pressed) {
17// // These also need to be defined in the header file
18// switch(keycode) {
19// case PAWFIVE:
20// SEND_STRING(":pawfive:");
21// return false;
22// }
23// }
24// return true;
25// };
diff --git a/users/vosechu/vosechu.h b/users/vosechu/vosechu.h
new file mode 100644
index 000000000..5cd2217ea
--- /dev/null
+++ b/users/vosechu/vosechu.h
@@ -0,0 +1,71 @@
1#pragma once
2
3#include "quantum.h"
4
5// Each layer gets a name for readability, which is then used in the keymap matrix below.
6enum userspace_custom_layers {
7 DV = 0,
8 QW,
9 GAM1,
10 RSE,
11 LWR,
12 LFT,
13 MOUSE
14};
15
16enum userspace_custom_keycodes {
17 PAWFIVE = SAFE_RANGE,
18 MOUKEY,
19 MS_BTN1,
20 MS_BTN2,
21 MS_BTN3
22};
23
24// Transparent macro to indicate that this spot is already being pressed
25// to activate this layer
26#define _LAYER_ KC_TRNS
27
28// == Dual-action keys on most of the modifiers
29#define CTL_ESC CTL_T(KC_ESC)
30#define CTL_GRV CTL_T(KC_GRV)
31#define ALT_TAB ALT_T(KC_TAB)
32#define SFT_SPC SFT_T(KC_SPC)
33
34// == Macro keys for commonly used apps
35// -- Slack
36// Move one conversation up/down
37#define SLACKUP LALT(LSFT(KC_UP))
38#define SLACKDN LALT(LSFT(KC_DOWN))
39
40// -- Browser and OS X
41// Activate one tab left/right
42#define TAB_LFT LGUI(LSFT(KC_LBRC))
43#define TAB_RGT LGUI(LSFT(KC_RBRC))
44// Go back/forward in history
45#define BWSR_BK LGUI(KC_LBRC)
46#define BWSR_FW LGUI(KC_RBRC)
47
48// -- Screen management
49// Make window fill the left/right side
50#define SCR_LFT HYPR(KC_LEFT)
51#define SCR_RGT HYPR(KC_RGHT)
52// Make window fill the whole monitor
53#define SCR_FUL HYPR(KC_F)
54
55// == Extended alpha layer toggles
56// -- Dvorak
57// Pressing U opens up the LWR layer (numpad)
58#define LWR_U LT(LWR, KC_U)
59// Pressing H opens up the RSE layer (brackets/parens)
60#define RSE_H LT(RSE, KC_H)
61
62// -- Qwerty
63// Pressing F opens up the LWR layer (numpad)
64#define LWR_F LT(LWR, KC_F)
65// Pressing J opens up the RSE layer (brackets/parens)
66#define RSE_J LT(RSE, KC_J)
67
68// -- LFT layer (Works on both Qwerty and Dvorak)
69// Pressing Back space or Enter opens up the LFT layer (media/navigation)
70#define LFT_BK LT(LFT, KC_BSPC)
71#define LFT_ENT LT(LFT, KC_ENT)