summaryrefslogtreecommitdiff
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
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
-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 0000000000..837cc60ff7
--- /dev/null
+++ b/users/vosechu/config.h
@@ -0,0 +1,24 @@
+#pragma once
+
+// this makes it possible to do rolling combos (zx) with keys that
+// convert to other keys on hold (z becomes ctrl when you hold it,
+// and when this option isn't enabled, z rapidly followed by x
+// actually sends Ctrl-x. That's bad.)
+#define IGNORE_MOD_TAP_INTERRUPT
+#undef PERMISSIVE_HOLD
+//#define TAPPING_FORCE_HOLD
+//#define RETRO_TAPPING
+
+#ifndef TAPPING_TOGGLE
+#define TAPPING_TOGGLE 2
+#endif
+
+#ifdef TAPPING_TERM
+#undef TAPPING_TERM
+#endif
+#define TAPPING_TERM 150
+
+// Disable action_get_macro and fn_actions, since we don't use these
+// and it saves on space in the firmware.
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
diff --git a/users/vosechu/readme.md b/users/vosechu/readme.md
new file mode 100644
index 0000000000..44789a9ff2
--- /dev/null
+++ b/users/vosechu/readme.md
@@ -0,0 +1,14 @@
+Copyright 2018 Chuck Lauer Vose vosechu@gmail.com @vosechu
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along 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 0000000000..e346db93fb
--- /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 0000000000..3f58ca26a8
--- /dev/null
+++ b/users/vosechu/vosechu.c
@@ -0,0 +1,25 @@
+#include "vosechu.h"
+
+// void my_custom_function(void) {
+
+// }
+
+// [DV] = { /* ================================================== DVORAK ============================================================ */
+// { KC_1, KC_A, KC_B, KC_C, KC_D, KC_E, _______ , KC_G, KC_H, KC_J, KC_K, KC_L, KC_M },
+// { KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, _______ , KC_G, KC_H, KC_J, KC_K, KC_L, KC_M },
+// { KC_3, KC_A, KC_B, KC_C, KC_D, KC_E, _______ , KC_G, KC_H, KC_J, KC_K, KC_L, KC_M },
+// { 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 },
+// { 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 }
+// },
+
+// bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+// if (record->event.pressed) {
+// // These also need to be defined in the header file
+// switch(keycode) {
+// case PAWFIVE:
+// SEND_STRING(":pawfive:");
+// return false;
+// }
+// }
+// return true;
+// };
diff --git a/users/vosechu/vosechu.h b/users/vosechu/vosechu.h
new file mode 100644
index 0000000000..5cd2217ea1
--- /dev/null
+++ b/users/vosechu/vosechu.h
@@ -0,0 +1,71 @@
+#pragma once
+
+#include "quantum.h"
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+enum userspace_custom_layers {
+ DV = 0,
+ QW,
+ GAM1,
+ RSE,
+ LWR,
+ LFT,
+ MOUSE
+};
+
+enum userspace_custom_keycodes {
+ PAWFIVE = SAFE_RANGE,
+ MOUKEY,
+ MS_BTN1,
+ MS_BTN2,
+ MS_BTN3
+};
+
+// Transparent macro to indicate that this spot is already being pressed
+// to activate this layer
+#define _LAYER_ KC_TRNS
+
+// == Dual-action keys on most of the modifiers
+#define CTL_ESC CTL_T(KC_ESC)
+#define CTL_GRV CTL_T(KC_GRV)
+#define ALT_TAB ALT_T(KC_TAB)
+#define SFT_SPC SFT_T(KC_SPC)
+
+// == Macro keys for commonly used apps
+// -- Slack
+// Move one conversation up/down
+#define SLACKUP LALT(LSFT(KC_UP))
+#define SLACKDN LALT(LSFT(KC_DOWN))
+
+// -- Browser and OS X
+// Activate one tab left/right
+#define TAB_LFT LGUI(LSFT(KC_LBRC))
+#define TAB_RGT LGUI(LSFT(KC_RBRC))
+// Go back/forward in history
+#define BWSR_BK LGUI(KC_LBRC)
+#define BWSR_FW LGUI(KC_RBRC)
+
+// -- Screen management
+// Make window fill the left/right side
+#define SCR_LFT HYPR(KC_LEFT)
+#define SCR_RGT HYPR(KC_RGHT)
+// Make window fill the whole monitor
+#define SCR_FUL HYPR(KC_F)
+
+// == Extended alpha layer toggles
+// -- Dvorak
+// Pressing U opens up the LWR layer (numpad)
+#define LWR_U LT(LWR, KC_U)
+// Pressing H opens up the RSE layer (brackets/parens)
+#define RSE_H LT(RSE, KC_H)
+
+// -- Qwerty
+// Pressing F opens up the LWR layer (numpad)
+#define LWR_F LT(LWR, KC_F)
+// Pressing J opens up the RSE layer (brackets/parens)
+#define RSE_J LT(RSE, KC_J)
+
+// -- LFT layer (Works on both Qwerty and Dvorak)
+// Pressing Back space or Enter opens up the LFT layer (media/navigation)
+#define LFT_BK LT(LFT, KC_BSPC)
+#define LFT_ENT LT(LFT, KC_ENT)