keychron_qmk_firmware/users/xtonhasvim/xtonhasvim.h
Christon DeWan 78ef62764b Keymap: I got my intern a KBParadise V60 Type R... (#3813)
* new mode for v60

xtonhasvim. still working on it:

- need to get indicator lights going
- and fun layer properly fleshed out.

* status lighting, proper fun layer

copied fun layout from keycaps to maximize accessibility

* enable power return

* support brightness adjustment for indicators

* refined brightness setting.

is saved in eeprom now

* readme. and fixed tilde

* more modifiers fall through fun layer

* i mean, this kinda works..

* much more reliable way of restoring lights

* responded to feedback
2018-08-31 08:28:14 -07:00

66 lines
1.5 KiB
C

/* Copyright 2015-2017 Christon DeWan
*
* 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/>.
*/
#ifndef USERSPACE
#define USERSPACE
#include QMK_KEYBOARD_H
#include "action_layer.h"
#define X_____X KC_NO
enum xtonhasvim_keycodes {
// 20: give keyboard-specific codes some room
FIREY_RETURN = SAFE_RANGE + 20, // kick off special effects
VIM_START, // bookend for vim states
VIM_A,
VIM_B,
VIM_C,
VIM_CI,
VIM_D,
VIM_DI,
VIM_E,
VIM_H,
VIM_G,
VIM_I,
VIM_J,
VIM_K,
VIM_L,
VIM_O,
VIM_P,
VIM_S,
VIM_U,
VIM_V,
VIM_VS, // visual-line
VIM_VI,
VIM_W,
VIM_X,
VIM_Y,
VIM_PERIOD, // to support indent/outdent
VIM_COMMA, // and toggle comments
VIM_SHIFT, // avoid side-effect of supporting real shift.
VIM_ESC, // bookend
VIM_SAFE_RANGE // start other keycodes here.
};
// NOTE: YOU MUST DEFINE THIS
extern uint8_t vim_cmd_layer(void);
extern uint16_t vstate;
#endif