* Add userspace files for vosechu * Code review corrections * Few more code review correctionspull/4948/head
@ -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 |
@ -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/>. |
@ -0,0 +1 @@ | |||||
SRC += 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; | |||||
// }; |
@ -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) |