Browse Source

[Keymap] Add userspace files for vosechu (#4912)

* Add userspace files for vosechu

* Code review corrections

* Few more code review corrections
pjones-keymap
Chuck Lauer Vose 7 months ago
parent
commit
0772b4932c
5 changed files with 135 additions and 0 deletions
  1. 24
    0
      users/vosechu/config.h
  2. 14
    0
      users/vosechu/readme.md
  3. 1
    0
      users/vosechu/rules.mk
  4. 25
    0
      users/vosechu/vosechu.c
  5. 71
    0
      users/vosechu/vosechu.h

+ 24
- 0
users/vosechu/config.h View File

@@ -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

+ 14
- 0
users/vosechu/readme.md View File

@@ -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/>.

+ 1
- 0
users/vosechu/rules.mk View File

@@ -0,0 +1 @@
SRC += vosechu.c

+ 25
- 0
users/vosechu/vosechu.c View File

@@ -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;
// };

+ 71
- 0
users/vosechu/vosechu.h View File

@@ -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)

Loading…
Cancel
Save