Skip to content

Commit 0772b49

Browse files
vosechudrashna
authored andcommitted
[Keymap] Add userspace files for vosechu (#4912)
* Add userspace files for vosechu * Code review corrections * Few more code review corrections
1 parent 7aba1fd commit 0772b49

File tree

5 files changed

+135
-0
lines changed

5 files changed

+135
-0
lines changed

users/vosechu/config.h

+24
Original file line numberDiff line numberDiff line change
@@ -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

users/vosechu/readme.md

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Copyright 2018 Chuck Lauer Vose [email protected] @vosechu
2+
3+
This program is free software: you can redistribute it and/or modify
4+
it under the terms of the GNU General Public License as published by
5+
the Free Software Foundation, either version 2 of the License, or
6+
(at your option) any later version.
7+
8+
This program is distributed in the hope that it will be useful,
9+
but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
GNU General Public License for more details.
12+
13+
You should have received a copy of the GNU General Public License
14+
along with this program. If not, see <http://www.gnu.org/licenses/>.

users/vosechu/rules.mk

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SRC += vosechu.c

users/vosechu/vosechu.c

+25
Original file line numberDiff line numberDiff line change
@@ -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+
// };

users/vosechu/vosechu.h

+71
Original file line numberDiff line numberDiff line change
@@ -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.
6+
enum userspace_custom_layers {
7+
DV = 0,
8+
QW,
9+
GAM1,
10+
RSE,
11+
LWR,
12+
LFT,
13+
MOUSE
14+
};
15+
16+
enum 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)

0 commit comments

Comments
 (0)