Remove layouts
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#define USE_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
//#define MASTER_RIGHT
|
||||
|
||||
#define TAPPING_TERM 150
|
||||
|
||||
#undef RGBLED_NUM
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLED_NUM 12
|
||||
#define RGBLED_SPLIT { 6, 6 }
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#define C6_AUDIO
|
||||
#endif
|
||||
@@ -1,188 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
#define _MAC 0
|
||||
#define _WINDOWS 1
|
||||
#define _TESTMODE 2
|
||||
#define _LOWER 3
|
||||
#define _RAISE 4
|
||||
#define _FKEYS 5
|
||||
#define _ADJUST 16
|
||||
|
||||
enum custom_keycodes {
|
||||
MAC = SAFE_RANGE,
|
||||
WINDOWS,
|
||||
TESTMODE,
|
||||
LOWER,
|
||||
RAISE,
|
||||
ADJUST,
|
||||
PLAY_ALLSTAR,
|
||||
};
|
||||
|
||||
#define KC_ KC_TRNS
|
||||
|
||||
#define KC_CAPW LGUI(LSFT(KC_3)) // Capture whole screen
|
||||
#define KC_CPYW LGUI(LSFT(LCTL(KC_3))) // Copy whole screen
|
||||
#define KC_CAPP LGUI(LSFT(KC_4)) // Capture portion of screen
|
||||
#define KC_CPYP LGUI(LSFT(LCTL(KC_4))) // Copy portion of screen
|
||||
#define KC_ESCC MT(MOD_LCTL, KC_ESC)
|
||||
#define KC_LOWR LOWER
|
||||
#define KC_RASE RAISE
|
||||
#define KC_GRVF LT(_FKEYS, KC_GRV)
|
||||
#define KC_ENTS MT(MOD_LSFT, KC_ENT)
|
||||
#define KC_BL_S BL_STEP
|
||||
#define KC_BL_T BL_TOGG
|
||||
#define KC_RMOD RGB_MOD
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_MAC] = LAYOUT_kc_ortho_4x12(
|
||||
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
||||
TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
GRVF,LCTL,LALT,LGUI,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
|
||||
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
||||
),
|
||||
|
||||
[_WINDOWS] = LAYOUT_kc_ortho_4x12(
|
||||
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
||||
TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
GRVF,LALT,LGUI,LCTL,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
|
||||
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
||||
),
|
||||
|
||||
[_TESTMODE] = LAYOUT_kc_ortho_4x12(
|
||||
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
||||
TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
RMOD,BL_S, S , D , F , G , RMOD,BL_S, K , L ,SCLN,QUOT,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
GRVF,LALT,LGUI,LCTL,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
|
||||
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_kc_ortho_4x12(
|
||||
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
||||
, 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
DEL ,CAPP,LEFT,RGHT, UP ,LBRC, RBRC, P4 , P5 , P6 ,PLUS,PIPE,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
,CPYP, , ,DOWN,LCBR, RCBR, P1 , P2 , P3 ,MINS, ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
BL_S,BL_T, , , ,DEL , DEL , , P0 ,PDOT, ,
|
||||
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_kc_ortho_4x12(
|
||||
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
||||
,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN, ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
DEL ,MPRV,MNXT,VOLU,PGUP,UNDS, EQL ,HOME, , , ,BSLS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
MUTE,MSTP,MPLY,VOLD,PGDN,MINS, PLUS,END , , , , ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
, , , , , , , , , , ,
|
||||
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
||||
),
|
||||
|
||||
[_FKEYS] = LAYOUT_kc_ortho_4x12(
|
||||
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
||||
F12 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
, , , , , , , , , , , ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
, , , , , , , , , , , ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
, , , , , , , , , , ,
|
||||
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | Reset|RGB Tg|RGB Md|Hue Up|Hue Dn|Sat Up|Sat Dn|Val Up|Val Dn| | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_ortho_4x12( \
|
||||
_______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______, \
|
||||
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, MAC, WINDOWS, TESTMODE,_______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
)
|
||||
|
||||
|
||||
};
|
||||
|
||||
void persistent_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case MAC:
|
||||
if (record->event.pressed) {
|
||||
persistent_default_layer_set(1UL<<_MAC);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case WINDOWS:
|
||||
if (record->event.pressed) {
|
||||
persistent_default_layer_set(1UL<<_WINDOWS);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case TESTMODE:
|
||||
if (record->event.pressed) {
|
||||
persistent_default_layer_set(1UL<<_TESTMODE);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case ADJUST:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_ADJUST);
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1,108 +0,0 @@
|
||||
Bakingpy's Let's Split Layout
|
||||
============================
|
||||
|
||||
### Changes from default layout
|
||||
|
||||
- Main layer
|
||||
- The right space bar key has been changed to backspace, as I only hit space with my left thumb
|
||||
- Backtick is at the lower right and also serves goes to the 3rd function layer when held
|
||||
- Enter key acts as shift when held
|
||||
- Escape key acts as control when held
|
||||
- Minus key at upper right
|
||||
- Lower layer
|
||||
- Numbers are on the lower layer, to make it easier to use a numpad on the right hand
|
||||
- Arrow keys
|
||||
- Straight and curly brackets in the middle two columns
|
||||
- Screenshot keys for MacOS
|
||||
- Upper layer
|
||||
- Symbols are on the upper layer
|
||||
- Media keys
|
||||
- Page Up/Down, Home/End
|
||||
- 3rd function layer
|
||||
- Function keys
|
||||
|
||||
## Layouts
|
||||
|
||||
### Qwerty
|
||||
|
||||
```
|
||||
,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
||||
TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
GRVF,LCTL,LALT,LGUI,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
|
||||
`----+----+----+----+----+----' `----+----+----+----+----+----'
|
||||
```
|
||||
|
||||
### Colemak
|
||||
|
||||
```
|
||||
,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
||||
TAB , Q , W , F , P , G , J , L , U , Y ,SCLN,MINS,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
ESCC, A , R , S , T , D , H , N , E , I , O ,QUOT,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
LSFT, Z , X , C , V , B , K , M ,COMM,DOT ,SLSH,ENTS,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
GRVF,LCTL,LALT,LGUI,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
|
||||
`----+----+----+----+----+----' `----+----+----+----+----+----'
|
||||
```
|
||||
|
||||
### Dvorak
|
||||
|
||||
```
|
||||
,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
||||
TAB ,QUOT,COMM,DOT , P , Y , F , G , C , R , L ,MINS,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
ESCC, A , O , E , U , I , D , H , R , N , S ,SLSH,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
LSFT,SCLN, Q , J , K , X , B , M , W , V , Z ,ENTS,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
GRVF,LCTL,LALT,LGUI,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
|
||||
`----+----+----+----+----+----' `----+----+----+----+----+----'
|
||||
```
|
||||
|
||||
### Lower
|
||||
|
||||
```
|
||||
,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
||||
, 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , ,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
DEL ,CAPP,LEFT,RGHT, UP ,LBRC, RBRC, P4 , P5 , P6 ,PLUS,PIPE,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
,CPYP, , ,DOWN,LCBR, RCBR, P1 , P2 , P3 ,MINS, ,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
, , , , ,DEL , DEL , , P0 ,PDOT, ,
|
||||
`----+----+----+----+----+----' `----+----+----+----+----+----'
|
||||
```
|
||||
|
||||
### Raise
|
||||
|
||||
```
|
||||
,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
||||
,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN, ,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
DEL ,MPRV,MNXT,VOLU,PGUP,UNDS, EQL ,HOME, , , ,BSLS,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
MUTE,MSTP,MPLY,VOLD,PGDN,MINS, PLUS,END , , , , ,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
, , , , , , , , , , ,
|
||||
`----+----+----+----+----+----' `----+----+----+----+----+----'
|
||||
```
|
||||
|
||||
### 3rd function layer
|
||||
|
||||
```
|
||||
,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
||||
F12 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
, , , , , , , , , , , ,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
, , , , , , , , , , , ,
|
||||
|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
, , , , , , , , , , ,
|
||||
`----+----+----+----+----+----' `----+----+----+----+----+----'
|
||||
```
|
||||
@@ -1,13 +0,0 @@
|
||||
ifneq ($(LAYOUTS_HAS_RGB), no)
|
||||
RGBLIGHT_ENABLE = yes
|
||||
endif
|
||||
AUDIO_ENABLE = no
|
||||
ifeq ($(strip $(KEYBOARD)), zlant)
|
||||
BACKLIGHT_ENABLE = no
|
||||
else ifeq ($(strip $(KEYBOARD)), 40percentclub/4x4)
|
||||
BACKLIGHT_ENABLE = no
|
||||
else ifneq (, $(findstring lets_split, $(KEYBOARD)))
|
||||
BACKLIGHT_ENABLE = no
|
||||
else
|
||||
BACKLIGHT_ENABLE = yes
|
||||
endif
|
||||
@@ -1,27 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
/* Use I2C or Serial, not both */
|
||||
|
||||
#define USE_SERIAL
|
||||
// #define USE_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define _MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#define STARTUP_SONG SONG(PLANCK_SOUND)
|
||||
// #define STARTUP_SONG SONG(NO_SOUND)
|
||||
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
|
||||
SONG(COLEMAK_SOUND), \
|
||||
SONG(DVORAK_SOUND) \
|
||||
}
|
||||
#endif
|
||||
|
||||
// MIDI notes can be sent when in Music mode
|
||||
#define MIDI_BASIC
|
||||
|
||||
// Most tactile encoders have detents every 4 stages
|
||||
#define ENCODER_RESOLUTION 4
|
||||
@@ -1,175 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
enum layers {
|
||||
_QWERTY,
|
||||
_COLEMAK,
|
||||
_DVORAK,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_GAME,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
DVORAK,
|
||||
LOWER,
|
||||
RAISE,
|
||||
GAME,
|
||||
ADJUST
|
||||
};
|
||||
|
||||
#define GAME TG(_GAME)
|
||||
#define RSE_ENT LT(_RAISE, KC_ENT)
|
||||
#define ESC_CTL LCTL_T(KC_ESC) // for Linux
|
||||
#define ESC_CMD LGUI_T(KC_ESC) // for macOS
|
||||
|
||||
// Use these to switch desktops on macOS
|
||||
#define DESK_L LCTL(KC_LEFT)
|
||||
#define DESK_R LCTL(KC_RGHT)
|
||||
|
||||
// Use these to switch desktops on Gnome
|
||||
#define DESK_UP LGUI(KC_PGUP)
|
||||
#define DESK_DN LGUI(KC_PGDN)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// Use QWERTY on macOS (Colemak mapped using software)
|
||||
[_QWERTY] = LAYOUT_ortho_4x12(
|
||||
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I, KC_O , KC_P , KC_BSPC, \
|
||||
ESC_CMD, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K, KC_L , KC_SCLN, KC_QUOT, \
|
||||
KC_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSPC, \
|
||||
XXXXXXX, KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , RSE_ENT, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT \
|
||||
),
|
||||
|
||||
// Use Colemak on Linux (No native Colemak mapping)
|
||||
[_COLEMAK] = LAYOUT_ortho_4x12( \
|
||||
KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSPC, \
|
||||
ESC_CTL, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, \
|
||||
KC_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSPC, \
|
||||
XXXXXXX, KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , RSE_ENT, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT \
|
||||
),
|
||||
|
||||
[_DVORAK] = LAYOUT_ortho_4x12( \
|
||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, \
|
||||
ESC_CTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, \
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , \
|
||||
XXXXXXX, KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , RSE_ENT, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT \
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_ortho_4x12( \
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_7, KC_8, KC_9, KC_MINS, _______, \
|
||||
KC_TILD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_4, KC_5, KC_6, KC_PLUS, KC_PIPE, \
|
||||
_______, _______, _______, KC_UNDS, KC_EQL, _______, _______, KC_1, KC_2, KC_3, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_0, KC_DOT, KC_COMM, _______, _______ \
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_ortho_4x12( \
|
||||
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, _______, KC_INS, KC_DEL, \
|
||||
KC_TILD, _______, KC_LBRC, KC_LCBR, KC_RCBR, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_BSLS, \
|
||||
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, DESK_R, DESK_DN, DESK_UP, DESK_L \
|
||||
),
|
||||
|
||||
[_GAME] = LAYOUT_ortho_4x12( \
|
||||
KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSPC, \
|
||||
ESC_CMD, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, \
|
||||
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_ENT, \
|
||||
XXXXXXX, KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , RSE_ENT, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT \
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_ortho_4x12(
|
||||
_______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
|
||||
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, GAME, _______,
|
||||
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_COLEMAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case ADJUST:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_ADJUST);
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void encoder_update(bool clockwise) {
|
||||
if (IS_LAYER_ON(_RAISE) || IS_LAYER_ON(_LOWER)) {
|
||||
if (clockwise) {
|
||||
register_code(KC_VOLU);
|
||||
unregister_code(KC_VOLU);
|
||||
} else {
|
||||
register_code(KC_VOLD);
|
||||
register_code(KC_VOLD);
|
||||
}
|
||||
} else {
|
||||
if (clockwise) {
|
||||
#ifdef MOUSEKEY_ENABLE
|
||||
register_code(KC_MS_WH_DOWN);
|
||||
unregister_code(KC_MS_WH_DOWN);
|
||||
#else
|
||||
register_code(KC_PGDN);
|
||||
unregister_code(KC_PGDN);
|
||||
#endif
|
||||
} else {
|
||||
#ifdef MOUSEKEY_ENABLE
|
||||
register_code(KC_MS_WH_UP);
|
||||
unregister_code(KC_MS_WH_UP);
|
||||
#else
|
||||
register_code(KC_PGUP);
|
||||
unregister_code(KC_PGUP);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||

|
||||
|
||||
# Logan's Ortho 4x12 Layout
|
||||
|
||||
This layout is what I use on my Planck. Some features of the layout:
|
||||
|
||||
- Rotary encoder support (no function for clicking yet)
|
||||
- Numpad under right hand (I find this much more comfortable than touch-typing the number row)
|
||||
- Space cadet shift
|
||||
- Curly braces are under the home row (makes programming much more comfortable)
|
||||
|
||||
Also, another note: the QWERTY layout uses `LGUI_T(KC_ESC)` and the COLEMAK/DVORAK layouts use `LCTL_T(KC_ESC)`. This is because I use the QWERTY layout on my Mac laptop so that I don't have to change the software remapping every time I dock my laptop. This also allows a convenient remapping of the modifier keys. I use the hardware mapped COLEMAK layout on Linux.
|
||||
@@ -1,9 +0,0 @@
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
TAP_DANCE_ENABLE = no
|
||||
AUDIO_ENABLE = yes
|
||||
|
||||
MACROS_ENABLED = no
|
||||
@@ -1,37 +0,0 @@
|
||||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
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 CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include QMK_KEYBOARD_CONFIG_H
|
||||
|
||||
/* Use I2C or Serial, not both */
|
||||
|
||||
#define USE_SERIAL
|
||||
// #define USE_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define _MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#endif
|
||||
@@ -1,137 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
#include "eeconfig.h"
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _COLEMAKDH 0
|
||||
#define _LOWER 1
|
||||
#define _RAISE 2
|
||||
#define _ADJUST 16
|
||||
|
||||
enum custom_keycodes {
|
||||
COLEMAKDH = SAFE_RANGE,
|
||||
LOWER,
|
||||
RAISE,
|
||||
ADJUST,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Colemak
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Q | W | F | P | B | Tab | Bksp | J | L | U | Y | ; |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | A | R | S | T | G | Esc | " | M | N | E | I | O |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Z | X | C | D | V |Shift |Enter | K | H | , | . | / |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | Alt | GUI |Adjust|Space |Lower |Raise |Space | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_COLEMAKDH] = LAYOUT_ortho_4x12( \
|
||||
KC_Q, KC_W, KC_F, KC_P, KC_B, KC_TAB, KC_BSPC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, \
|
||||
KC_A, KC_R, KC_S, KC_T, KC_G, KC_ESC, KC_QUOT, KC_M, KC_N, KC_E, KC_I, KC_O, \
|
||||
KC_Z, KC_X, KC_C, KC_D, KC_V, KC_LSFT, KC_ENT, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, \
|
||||
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, LOWER, RAISE, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_4x12( \
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_4x12( \
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | Reset| | | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_ortho_4x12( \
|
||||
_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
|
||||
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
)
|
||||
|
||||
|
||||
};
|
||||
|
||||
void persistent_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case ADJUST:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_ADJUST);
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
# ortho_4x12
|
||||
|
||||
A wide, split layout for use on grid Planck or Let's Split based on the Colemak Mod-DH keyboard layout.
|
||||
|
||||

|
||||
@@ -1,37 +0,0 @@
|
||||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
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 CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include QMK_KEYBOARD_CONFIG_H
|
||||
|
||||
/* Use I2C or Serial, not both */
|
||||
|
||||
#define USE_SERIAL
|
||||
// #define USE_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define _MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#endif
|
||||
@@ -1,253 +0,0 @@
|
||||
// Can't Remember Sh*t Keymap for 4x12 ortho
|
||||
// http://www.keyboard-layout-editor.com/#/gists/c6c0ac051b2b118a34ef84ebadab54c7
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
#ifdef AUDIO_ENABLE
|
||||
#include "audio.h"
|
||||
#endif
|
||||
#include "eeconfig.h"
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _QWERTY 0
|
||||
#define _ARROW 1
|
||||
#define _GAME 2
|
||||
#define _LOWER 3
|
||||
#define _RAISE 4
|
||||
#define _PLOVER 5
|
||||
#define _ADJUST 16
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
ARROW,
|
||||
GAME,
|
||||
LOWER,
|
||||
RAISE,
|
||||
BACKLIT,
|
||||
PLOVER,
|
||||
EXT_PLV
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Tab | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | GUI | \ | Alt | Lower|SpcRse| Space|Raise | [ | - | = | ] |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ortho_4x12( \
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT), \
|
||||
KC_LCTL, KC_LGUI, KC_BSLS, KC_LALT, LOWER, LT(4, KC_SPC), KC_SPC, RAISE, LT(3, KC_LBRC), KC_MINS, KC_EQL, CTL_T(KC_RBRC) \
|
||||
),
|
||||
|
||||
/* Arrow
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Tab | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | GUI | \ | Alt | Lower| Space| Space|Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ARROW] = LAYOUT_ortho_4x12( \
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT), \
|
||||
KC_LCTL, KC_LGUI, KC_BSLS, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT \
|
||||
),
|
||||
|
||||
/* Game
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | 1 | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* |Shift | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Ctrl | Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Alt | 4 | 3 | 2 | Lower| Space |Raise | Left | Down | Up | Right|
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_GAME] = LAYOUT_ortho_4x12( \
|
||||
KC_1, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
|
||||
KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
|
||||
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______ , \
|
||||
KC_LALT, KC_4, KC_3, KC_2, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT \
|
||||
),
|
||||
|
||||
|
||||
/* Lower (switched to # because KP# were weird in terminal emulators)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Del | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Tab | F1 | F2 | F3 | F4 | F5 | F6 | 4 | 5 | 6 | . | * |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 | 1 | 2 | 3 | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Esc | | | | | | 0 | | | | KP_+ | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_4x12( \
|
||||
KC_DEL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_4, KC_5, KC_6, KC_DOT, KC_ASTR, \
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_1, KC_2, KC_3, KC_SLSH, _______, \
|
||||
KC_ESC, _______, _______, _______, _______, _______, KC_0, _______, _______, _______, KC_PLUS, _______ \
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | Wh Up|RightC| M-Up | LeftC|QWERTY| Left | Down | Up | Right| | | ` |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | Wh Dn| M-L | M-Dn | M-R | | - | = | [ | ] | \ | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | App | | | | | Ins | | Home | PGDN | PGUP | End |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_4x12( \
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \
|
||||
KC_DEL, KC_WH_U, KC_BTN2, KC_MS_U, KC_BTN1, QWERTY, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PIPE, KC_GRV, \
|
||||
_______, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLASH, _______, \
|
||||
_______, KC_APP, _______, _______, _______, _______, KC_INS, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
|
||||
),
|
||||
|
||||
/* Plover layer (http://opensteno.org)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | # | # | # | # | # | # | # | # | # | # | # | # |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | S | T | P | H | * | * | F | P | L | T | D |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | S | K | W | R | * | * | R | B | G | S | Z |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Exit | | | A | O | | E | U | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
|
||||
[_PLOVER] = LAYOUT_ortho_4x12 ( \
|
||||
KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 , \
|
||||
XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \
|
||||
XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
|
||||
EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX \
|
||||
),
|
||||
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | C-A-I|Qwerty| | |Reset |Macro0| | | | |PLOVER|C-A-D |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Caps | Arrow| |Aud on|Audoff| Game |AGswap|AGnorm| PrtSc|ScrLck| Break| |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |Voice-|Voice+|Mus on|Musoff| Prev | Next | Mute | VolDn| VolUp| | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Brite| | | | | Play/Pause | | BL_T |BL_DEC|BL_INC|BL_ST |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_ortho_4x12( \
|
||||
LALT(LCTL(KC_INS)), QWERTY, _______, _______, RESET, M(0), _______, _______, _______, _______, PLOVER, LALT(LCTL(KC_DEL)), \
|
||||
KC_CAPS, ARROW, _______, AU_ON, AU_OFF, GAME, AG_SWAP, AG_NORM, KC_PSCR, KC_SLCK, KC_PAUS, _______, \
|
||||
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, \
|
||||
BACKLIT, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, BL_TOGG, BL_DEC , BL_INC , BL_STEP \
|
||||
)
|
||||
|
||||
|
||||
};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // this is the function signature -- just copy/paste it into your keymap file as it is.
|
||||
{
|
||||
switch(id) {
|
||||
case 0: // this would trigger when you hit a key mapped as M(0)
|
||||
if (record->event.pressed) {
|
||||
return MACRO( D(LSFT), T(LEFT), U(LSFT), D(LCTL), T(X), U(LCTL), T(RIGHT), D(LCTL), T(V), U(LCTL), T(LEFT), END ); // this swaps the characters on either side of the cursor when the macro executes
|
||||
}
|
||||
break;
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
float tone_qwerty[][2] = SONG(QWERTY_SOUND);
|
||||
float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
|
||||
#endif
|
||||
|
||||
|
||||
void persistant_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(tone_qwerty);
|
||||
#endif
|
||||
persistant_default_layer_set(1UL<<_QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case GAME:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(music_scale);
|
||||
#endif
|
||||
persistant_default_layer_set(1UL<<_GAME);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
|
||||
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case BACKLIT:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_step();
|
||||
#endif
|
||||
} else {
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void matrix_init_user(void) {
|
||||
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
# CRS 4x12 Ortholinear Layout
|
||||
|
||||
Since I started with a Planck and a 2u space, it's not as optimal on a split or grid but it's what I'm used to using.
|
||||
|
||||
Goals:
|
||||
|
||||
* Maximum compatibility with standard keyboards
|
||||
* I have to work on other staggered Qwerty keyboards all the time so I wanted to keep essentially the same layout instead of optimizing too much.
|
||||
* Trying to fit as many characters as possible on the default layer
|
||||
* its easier for me to remember logical functions than characters
|
||||
* Using the extra punctuation caps in place of arrows frees up some Row 4 caps
|
||||
* however, I'm trying out an arrows layout with the other punctuation on the Raise layer and it is quite nice too
|
||||
* A number pad AND a number row
|
||||
|
||||
[Here is the layout in easily readable KLE form.](http://www.keyboard-layout-editor.com/#/gists/c6c0ac051b2b118a34ef84ebadab54c7)
|
||||
@@ -1,64 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
#if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM)
|
||||
#define RGB_DI_PIN B3
|
||||
#define RGBLED_NUM 13 // Number of LEDs
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLIGHT_HUE_STEP 12
|
||||
#define RGBLIGHT_SAT_STEP 12
|
||||
#define RGBLIGHT_VAL_STEP 12
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
|
||||
#define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
|
||||
#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
|
||||
#endif // RGBLIGHT_ENABLE
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
|
||||
// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened)
|
||||
// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED true// turn off effects when suspended
|
||||
// #define RGB_MATRIX_SKIP_FRAMES 1 // number of frames to skip when displaying animations (0 is full effect) if not defined defaults to 1
|
||||
// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
|
||||
#define EECONFIG_RGB_MATRIX (uint32_t *)15
|
||||
#endif
|
||||
|
||||
#if defined(KEYBOARD_lets_split_rev2)
|
||||
#define USE_SERIAL
|
||||
#undef USE_I2C
|
||||
|
||||
#define EE_HANDS
|
||||
#endif
|
||||
|
||||
#if !defined(KEYBOARD_planck_light)
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#define NO_MUSIC_MODE
|
||||
#endif // RGBLIGHT_ENABLE
|
||||
#endif // KEYBOARD_planck_light
|
||||
|
||||
|
||||
/*
|
||||
* MIDI options
|
||||
*/
|
||||
|
||||
/* Prevent use of disabled MIDI features in the keymap */
|
||||
//#define MIDI_ENABLE_STRICT 1
|
||||
|
||||
/* enable basic MIDI features:
|
||||
- MIDI notes can be sent when in Music mode is on
|
||||
*/
|
||||
|
||||
#define MIDI_BASIC
|
||||
|
||||
/* enable advanced MIDI features:
|
||||
- MIDI notes can be added to the keymap
|
||||
- Octave shift and transpose
|
||||
- Virtual sustain, portamento, and modulation wheel
|
||||
- etc.
|
||||
*/
|
||||
//#define MIDI_ADVANCED
|
||||
|
||||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
||||
|
||||
#define TAP_CODE_DELAY 10
|
||||
@@ -1,320 +0,0 @@
|
||||
/* Copyright 2015-2017 Jack Humbert
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "drashna.h"
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
extern bool g_suspend_state;
|
||||
extern rgb_config_t rgb_matrix_config;
|
||||
#endif
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
extern rgblight_config_t rgblight_config;
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
enum planck_keycodes {
|
||||
BACKLIT = NEW_SAFE_RANGE,
|
||||
};
|
||||
#else
|
||||
#define BACKLIT OSM(MOD_LSFT)
|
||||
#endif
|
||||
|
||||
#define LAYOUT_ortho_4x12_base( \
|
||||
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
|
||||
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
|
||||
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
|
||||
) \
|
||||
LAYOUT_ortho_4x12_wrapper( \
|
||||
KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \
|
||||
KC_TAB, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \
|
||||
KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, CTL_T(K2A), KC_ENT, \
|
||||
BACKLIT, OS_LCTL, OS_LALT, OS_LGUI, SP_LWER, BK_LWER, DL_RAIS, ET_RAIS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
|
||||
)
|
||||
#define LAYOUT_ortho_4x12_base_wrapper(...) LAYOUT_ortho_4x12_base(__VA_ARGS__)
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QWERTY] = LAYOUT_ortho_4x12_base_wrapper(
|
||||
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
|
||||
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
|
||||
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
|
||||
),
|
||||
|
||||
[_COLEMAK] = LAYOUT_ortho_4x12_base_wrapper(
|
||||
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
|
||||
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
|
||||
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________
|
||||
),
|
||||
|
||||
[_DVORAK] = LAYOUT_ortho_4x12_base_wrapper(
|
||||
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
|
||||
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
|
||||
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
|
||||
),
|
||||
|
||||
[_WORKMAN] = LAYOUT_ortho_4x12_base_wrapper(
|
||||
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
|
||||
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
|
||||
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
|
||||
),
|
||||
|
||||
[_NORMAN] = LAYOUT_ortho_4x12_base_wrapper(
|
||||
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
|
||||
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
|
||||
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
|
||||
),
|
||||
|
||||
[_MALTRON] = LAYOUT_ortho_4x12_base_wrapper(
|
||||
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
|
||||
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
|
||||
_________________MALTRON_L3________________, _________________MALTRON_R3________________
|
||||
),
|
||||
|
||||
[_EUCALYN] = LAYOUT_ortho_4x12_base_wrapper(
|
||||
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
|
||||
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
|
||||
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
|
||||
),
|
||||
|
||||
[_CARPLAX] = LAYOUT_ortho_4x12_base_wrapper(
|
||||
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
|
||||
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
|
||||
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
|
||||
),
|
||||
|
||||
[_MODS] = LAYOUT_ortho_4x12_wrapper(
|
||||
_______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
|
||||
_______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
|
||||
KC_LSFT, ___________________BLANK___________________, ___________________BLANK___________________, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_ortho_4x12_wrapper(
|
||||
KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC,
|
||||
KC_DEL, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE,
|
||||
_______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_ortho_4x12_wrapper(
|
||||
KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, KC_BSPC,
|
||||
KC_DEL, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
|
||||
_______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _________________RAISE_R3__________________
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_ortho_4x12_wrapper(
|
||||
KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST,
|
||||
VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
|
||||
_______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NUKE
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
|
||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
case BACKLIT:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_step();
|
||||
#endif
|
||||
PORTE &= ~(1<<6);
|
||||
} else {
|
||||
unregister_code(KC_RSFT);
|
||||
PORTE |= (1<<6);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool music_mask_user(uint16_t keycode) {
|
||||
switch (keycode) {
|
||||
case RAISE:
|
||||
case LOWER:
|
||||
case BK_LWER:
|
||||
case SP_LWER:
|
||||
case DL_RAIS:
|
||||
case ET_RAIS:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
|
||||
void suspend_power_down_keymap(void) {
|
||||
rgb_matrix_set_suspend_state(true);
|
||||
rgb_matrix_config.enable = false;
|
||||
}
|
||||
|
||||
void suspend_wakeup_init_keymap(void) {
|
||||
rgb_matrix_config.enable = true;
|
||||
rgb_matrix_set_suspend_state(false);
|
||||
}
|
||||
|
||||
void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, bool default_layer) {
|
||||
rgb_led led;
|
||||
for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
|
||||
led = g_rgb_leds[i];
|
||||
if (led.matrix_co.raw < 0xFF) {
|
||||
if (led.modifier) {
|
||||
rgb_matrix_set_color( i, red, green, blue );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void rgb_matrix_indicators_user(void) {
|
||||
uint8_t this_mod = get_mods();
|
||||
uint8_t this_led = host_keyboard_leds();
|
||||
uint8_t this_osm = get_oneshot_mods();
|
||||
|
||||
if (!g_suspend_state && userspace_config.rgb_layer_change &&
|
||||
#if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE)
|
||||
(!rgblight_config.enable && rgb_matrix_config.enable)
|
||||
#else
|
||||
rgb_matrix_config.enable
|
||||
#endif
|
||||
) {
|
||||
switch (biton32(layer_state)) {
|
||||
case _RAISE:
|
||||
rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break;
|
||||
case _LOWER:
|
||||
rgb_matrix_layer_helper(0x00, 0xFF, 0x00, false); break;
|
||||
case _ADJUST:
|
||||
rgb_matrix_layer_helper(0xFF, 0x00, 0x00, false); break;
|
||||
default:
|
||||
switch (biton32(default_layer_state)) {
|
||||
case _QWERTY:
|
||||
rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, true); break;
|
||||
case _COLEMAK:
|
||||
rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, true); break;
|
||||
case _DVORAK:
|
||||
rgb_matrix_layer_helper(0x00, 0xFF, 0x00, true); break;
|
||||
case _WORKMAN:
|
||||
rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, true); break;
|
||||
case _NORMAN:
|
||||
rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, true); break;
|
||||
case _MALTRON:
|
||||
rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, true); break;
|
||||
case _EUCALYN:
|
||||
rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, true); break;
|
||||
case _CARPLAX:
|
||||
rgb_matrix_layer_helper(0x00, 0x00, 0xFF, true); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
switch (biton32(default_layer_state)) {
|
||||
case _QWERTY:
|
||||
rgb_matrix_set_color(42, 0x00, 0xFF, 0xFF); break;
|
||||
case _COLEMAK:
|
||||
rgb_matrix_set_color(42, 0xFF, 0x00, 0xFF); break;
|
||||
case _DVORAK:
|
||||
rgb_matrix_set_color(42, 0x00, 0xFF, 0x00); break;
|
||||
case _WORKMAN:
|
||||
rgb_matrix_set_color(42, 0xD9, 0xA5, 0x21); break;
|
||||
}
|
||||
if ( (this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1<<USB_LED_CAPS_LOCK)) {
|
||||
rgb_matrix_set_color(24, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(36, 0x00, 0xFF, 0x00);
|
||||
}
|
||||
if ( (this_mod | this_osm) & MOD_MASK_CTRL) {
|
||||
rgb_matrix_set_color(25, 0xFF, 0x00, 0x00);
|
||||
rgb_matrix_set_color(34, 0xFF, 0x00, 0x00);
|
||||
rgb_matrix_set_color(37, 0xFF, 0x00, 0x00);
|
||||
|
||||
}
|
||||
if ( (this_mod | this_osm) & MOD_MASK_GUI) {
|
||||
rgb_matrix_set_color(39, 0xFF, 0xD9, 0x00);
|
||||
}
|
||||
if ( (this_mod | this_osm) & MOD_MASK_ALT) {
|
||||
rgb_matrix_set_color(38, 0x00, 0x00, 0xFF);
|
||||
}
|
||||
}
|
||||
|
||||
void matrix_init_keymap(void) {
|
||||
// rgblight_mode(RGB_MATRIX_MULTISPLASH);
|
||||
}
|
||||
#else //RGB_MATRIX_INIT
|
||||
|
||||
void matrix_init_keymap(void) {
|
||||
#if !defined(CONVERT_TO_PROTON_C) && !defined(KEYBOARD_planck)
|
||||
setPinOutput(D5);
|
||||
writePinHigh(D5);
|
||||
|
||||
setPinOutput(B0);
|
||||
writePinHigh(B0);
|
||||
#endif
|
||||
}
|
||||
#endif //RGB_MATRIX_INIT
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
void encoder_update(bool clockwise) {
|
||||
switch (biton32(layer_state)) {
|
||||
case _RAISE:
|
||||
clockwise ? tap_code(KC_VOLD) : tap_code(KC_VOLU);
|
||||
break;
|
||||
case _LOWER:
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
clockwise ? rgb_matrix_step() : rgblight_step_reverse();
|
||||
#else
|
||||
clockwise ? tap_code(KC_PGDN) : tap_code(KC_PGUP);
|
||||
#endif
|
||||
case _ADJUST:
|
||||
#ifdef AUDIO_CLICKY
|
||||
clockwise ? clicky_freq_up() : clicky_freq_down();
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
clockwise ? tap_code(KC_DOWN) : tap_code(KC_UP);
|
||||
}
|
||||
#ifdef AUDIO_CLICKY
|
||||
clicky_play();
|
||||
#endif
|
||||
}
|
||||
#endif // ENCODER_ENABLE
|
||||
|
||||
#ifdef KEYBOARD_planck_rev6
|
||||
void dip_update(uint8_t index, bool active) {
|
||||
switch (index) {
|
||||
case 0:
|
||||
if(active) { audio_on(); } else { audio_off(); }
|
||||
break;
|
||||
case 1:
|
||||
if(active) { clicky_on(); } else { clicky_off(); }
|
||||
break;
|
||||
case 2:
|
||||
keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = active;
|
||||
break;
|
||||
case 3:
|
||||
userspace_config.nuke_switch = active;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif // KEYBOARD_planck_rev6
|
||||
@@ -1,2 +0,0 @@
|
||||
# The Default Planck Layout
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
TAP_DANCE_ENABLE = no
|
||||
AUDIO_ENABLE = yes
|
||||
ifeq (,$(findstring planck/rev6,$(KEYBOARD))) # Make sure it's NOT the Planck Rev6
|
||||
RGBLIGHT_ENABLE = yes
|
||||
INDICATOR_LIGHTS = yes
|
||||
RGBLIGHT_TWINKLE = yes
|
||||
endif
|
||||
ifneq (,$(findstring planck/light,$(KEYBOARD))) # Make sure it IS the Planck Light
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
RGBLIGHT_ENABLE = yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(PROTOCOL)), VUSB)
|
||||
NKRO_ENABLE = no
|
||||
else
|
||||
NKRO_ENABLE = yes
|
||||
endif
|
||||
|
||||
|
||||
MACROS_ENABLED = no
|
||||
@@ -1,37 +0,0 @@
|
||||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
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 CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include QMK_KEYBOARD_CONFIG_H
|
||||
|
||||
/* Use I2C or Serial, not both */
|
||||
|
||||
#define USE_SERIAL
|
||||
// #define USE_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define _MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#endif
|
||||
@@ -1,210 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
#include "eeconfig.h"
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _QWERTY 0
|
||||
#define _COLEMAK 1
|
||||
#define _DVORAK 2
|
||||
#define _LOWER 3
|
||||
#define _RAISE 4
|
||||
#define _ADJUST 16
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
DVORAK,
|
||||
LOWER,
|
||||
RAISE,
|
||||
ADJUST,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ortho_4x12( \
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
|
||||
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
|
||||
),
|
||||
|
||||
/* Colemak
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_COLEMAK] = LAYOUT_ortho_4x12( \
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \
|
||||
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
|
||||
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
|
||||
),
|
||||
|
||||
/* Dvorak
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | O | E | U | I | D | H | T | N | S | / |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_DVORAK] = LAYOUT_ortho_4x12( \
|
||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, \
|
||||
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, \
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , \
|
||||
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_4x12( \
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_4x12( \
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | Reset| | | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_ortho_4x12( \
|
||||
_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
|
||||
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
)
|
||||
|
||||
|
||||
};
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
float tone_qwerty[][2] = SONG(QWERTY_SOUND);
|
||||
float tone_dvorak[][2] = SONG(DVORAK_SOUND);
|
||||
float tone_colemak[][2] = SONG(COLEMAK_SOUND);
|
||||
#endif
|
||||
|
||||
void persistent_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(tone_qwerty);
|
||||
#endif
|
||||
persistent_default_layer_set(1UL<<_QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(tone_colemak);
|
||||
#endif
|
||||
persistent_default_layer_set(1UL<<_COLEMAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(tone_dvorak);
|
||||
#endif
|
||||
persistent_default_layer_set(1UL<<_DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case ADJUST:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_ADJUST);
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
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 CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include "keyboards/lets_split/config.h"
|
||||
|
||||
/* Use I2C or Serial, not both */
|
||||
|
||||
#define USE_SERIAL
|
||||
// #define USE_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#endif
|
||||
@@ -1,297 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
enum custom_layers {
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_EMOJI,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
LOWER,
|
||||
RAISE,
|
||||
EMOJI,
|
||||
ABOVE,
|
||||
BUG,
|
||||
CONFUSED,
|
||||
CRY,
|
||||
CLAP,
|
||||
ELIP,
|
||||
FLIP,
|
||||
FNGLEFT,
|
||||
FNGRIGHT,
|
||||
FROWN,
|
||||
GRIN,
|
||||
HEART,
|
||||
JOY,
|
||||
LLAP,
|
||||
ROFL,
|
||||
SHIT,
|
||||
SING,
|
||||
SHRUG,
|
||||
THINK,
|
||||
THMBDN,
|
||||
THMBUP,
|
||||
TOUNGE,
|
||||
THANKS,
|
||||
WINK
|
||||
};
|
||||
|
||||
#define KC_X0 MT(MOD_LCTL, KC_ESC) // Hold for Left Ctrl, Tap for GraveESC
|
||||
#define KC_X1 MT(MOD_RSFT, KC_ENT) // Hold for Right Shift, Tap for Enter
|
||||
#define KC_X2 MT(MOD_RSFT, LGUI(KC_ENT)) // Send Command Enter
|
||||
#define KC_BACK LGUI(KC_LBRC) // Back
|
||||
#define KC_FORWARD LGUI(KC_RBRC) // Forward
|
||||
#define KC_EMOJ TT(_EMOJI) // Hold for Emoji Layer, or tap 5 times.
|
||||
#define KC_QS LGUI(KC_SPC) // Send Command + Space (for QuickSilver).
|
||||
#define KC_WTAB LGUI(KC_TILD) // Send Command + ~ (for window changing).
|
||||
#define KC_TABR LGUI(KC_RCBR) // Send Command + } (for tab changing).
|
||||
#define KC_TABL LGUI(KC_LCBR) // Send Command + { (for tab changing).
|
||||
#define HYPR_0 HYPR(KC_TILD) // Send Hyper + ~.
|
||||
#define HYPR_1 HYPR(KC_EXLM) // Send Hyper + !.
|
||||
#define HYPR_2 HYPR(KC_AT) // Send Hyper + @.
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Tab | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Emoji | Ctrl | Alt |Lower | Cmd |Space |Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ortho_4x12(
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_X0, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_X1,
|
||||
KC_EMOJ, KC_LCTL, KC_LALT, KC_LGUI, MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* |cmd(~)| <- | -> | TAB_L| TAB_R| F5 | F6 | _ | + | { | } | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Tab- | Vol- | Vol+ | Tab+ |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_4x12(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
KC_WTAB, KC_BACK, KC_FORWARD, KC_TABL, KC_TABR, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, KC_QS, KC_QS, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* |cmd(~)| F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Home | PgUp | PgDn | End |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_4x12(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_WTAB, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, KC_X2,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
|
||||
),
|
||||
|
||||
/* Emoji Layer
|
||||
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
* │HYPR0│ Q │ ;-) │ E │ 🤣 │ :-P │ 🙏🏼 │ U │:'-( │FLIP │ P │ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │HYPR1│ 👆 │SHRUG│ GRIN│ :-( │ G │ <3 │ :-) │ k │LLAP │ ; │ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │HYPR2│🎶^🎶│💭^💭│ 👏 | :-\ │ 🐛 │ n │ :-D │ SHIT│ ... │ / │ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ │ │ │ │Brig-│ Sleep │Brig+│ 👈 │ 👎 | 👍 │ 👉 │
|
||||
* └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┘
|
||||
*/
|
||||
[_EMOJI] = LAYOUT_ortho_4x12(
|
||||
HYPR_0, _______, WINK, _______, ROFL, TOUNGE, THANKS, _______, CRY, FLIP, _______, _______ ,
|
||||
HYPR_1, ABOVE, SHRUG, GRIN, FROWN, _______, HEART, JOY, _______, LLAP, _______, _______ ,
|
||||
HYPR_2, SING, THINK, CLAP, CONFUSED, BUG, _______, _______, SHIT, ELIP, _______, _______ ,
|
||||
_______, _______, _______, _______, KC_SLCK, KC_SLEP, KC_SLEP, KC_PAUS, FNGLEFT, THMBDN, THMBUP, FNGRIGHT
|
||||
),
|
||||
};
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
float tone_qwerty[][2] = SONG(QWERTY_SOUND);
|
||||
float tone_dvorak[][2] = SONG(DVORAK_SOUND);
|
||||
float tone_colemak[][2] = SONG(COLEMAK_SOUND);
|
||||
#endif
|
||||
|
||||
void persistent_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case ABOVE:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("&above; ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case BUG:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("&bug;");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case CONFUSED:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(":-\\");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case CRY:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(":'-( ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case CLAP:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("&clap; ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case ELIP:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("...");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case FLIP:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("&fliptable;");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case FNGLEFT:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("&fingerleft; ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case FNGRIGHT:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("&fingerright; ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case FROWN:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(":-( ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case GRIN:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(":-D ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case HEART:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("<3 ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case JOY:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(":-) ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LLAP:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("&llap; ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case ROFL:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("&rofl; ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case SHIT:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("&shit; ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case SING:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("_sing_");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case SHRUG:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("&shrug; ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case THANKS:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("&thanks;");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case THINK:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("_think_");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case THMBDN:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("&thumbdown; ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case THMBUP:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("&thumbup; ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case TOUNGE:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(":-P ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case WINK:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(";-) ");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
return;
|
||||
};
|
||||
|
||||
@@ -1,92 +0,0 @@
|
||||
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
|
||||
// this is the style you want to emulate.
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
|
||||
#define _QWERTY 0
|
||||
#define _LOWER 1
|
||||
#define _RAISE 2
|
||||
#define _ADJUST 3
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | esc | Q | W | E | R | T | Y | U | I | O | P | bksp |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | tab | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | lshift | Z | X | C | V | B | N | M | , | . | / | enter |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | lctrl | lgui | lalt | ralt | lower | space | space | raise | left | down | up | right |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ortho_4x12 (
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_RALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | | - | = | [ | ] | \ | | | | | | |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | | vol- | mute | vol+ | | | | | | | | |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | | | | | | | | | | | | |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_4x12 (
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
_______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | del |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | caps | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 | _ | + | { | } | | |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | | | | | | | | | home | pgdn | pgun | end |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_4x12 (
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||
KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
|
||||
),
|
||||
|
||||
/* Adjust */
|
||||
[_ADJUST] = LAYOUT_ortho_4x12 (
|
||||
_______, RESET, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, BL_STEP, BL_BRTG, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
uint32_t layer_state_set_user(uint32_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
|
||||
void matrix_init_user(void) {
|
||||
}
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
# Jotix ortho 4x12 keymap
|
||||
|
||||

|
||||
|
||||
Tested on:
|
||||
|
||||
* Planck/rev4
|
||||
* Jotanck
|
||||
@@ -1,87 +0,0 @@
|
||||
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
|
||||
// this is the style you want to emulate.
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
|
||||
#define _QWERTY 0
|
||||
#define _LOWER 1
|
||||
#define _RAISE 2
|
||||
#define _GAME 3
|
||||
#define _ADJUST 4
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
#define GAME TG(_GAME)
|
||||
|
||||
/* Funct
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 | ' | | | | |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | | | | | | | | | home | vol- | vol+ | end |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
*/
|
||||
#define _FUNCT LAYOUT_ortho_4x12 (\
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,\
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,\
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_QUOT, _______, _______, _______, _______,\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_VOLD, KC_VOLU, KC_END\
|
||||
)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | esc | Q | W | E | R | T | Y | U | I | O | P | bksp |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | tab | A | S | D | F | G | H | J | K | L | ; | del |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | lshift | Z | X | C | V | B | N | M | , | . | / | enter |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
* | lctrl | lgui | lalt | ralt | funct | space | space | funct | left | down | up | right |
|
||||
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ortho_4x12 (
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_DEL,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_RALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
[_LOWER] = _FUNCT,
|
||||
|
||||
[_RAISE] = _FUNCT,
|
||||
|
||||
/* Game */
|
||||
[_GAME] = LAYOUT_ortho_4x12 (
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/* Adjust */
|
||||
[_ADJUST] = LAYOUT_ortho_4x12 (
|
||||
_______, RESET, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
|
||||
_______, _______, _______, _______, _______, GAME, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, BL_STEP, BL_BRTG, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
uint32_t layer_state_set_user(uint32_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
|
||||
void matrix_init_user(void) {
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
# Jotix2 ortho 4x12 keymap
|
||||
|
||||

|
||||
|
||||
Tested on:
|
||||
|
||||
* Planck/rev4
|
||||
* Jotanck
|
||||
@@ -1,4 +0,0 @@
|
||||
["","","","","","","","","","","",""],
|
||||
["","","","","","","","","","","",""],
|
||||
["","","","","","","","","","","",""],
|
||||
["","","","","","","","","","","",""]
|
||||
@@ -1,33 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#define ADVENTURE_TIME \
|
||||
H__NOTE(_F5), \
|
||||
Q__NOTE(_F5), \
|
||||
H__NOTE(_F5), \
|
||||
H__NOTE(_G5), \
|
||||
H__NOTE(_E5), \
|
||||
H__NOTE(_E5), \
|
||||
H__NOTE(_D5), \
|
||||
H__NOTE(_C5), \
|
||||
HD_NOTE(_C6),
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#define STARTUP_SONG SONG(ADVENTURE_TIME)
|
||||
#define AUDIO_CLICKY
|
||||
#define AUDIO_CLICKY_ON
|
||||
#define AUDIO_CLICKY_FREQ_MAX 2500.0f
|
||||
#define AUDIO_CLICKY_FREQ_RANDOMNESS 0.2f
|
||||
#define AUDIO_CLICKY_FREQ_DEFAULT 110.0f
|
||||
#endif
|
||||
|
||||
// for some reason the LSvi rev1 disables action tapping...
|
||||
#ifdef NO_ACTION_TAPPING
|
||||
#undef NO_ACTION_TAPPING
|
||||
#endif
|
||||
|
||||
#undef BACKLIGHT_LEVELS
|
||||
#define BACKLIGHT_LEVELS 15
|
||||
|
||||
// let's split configuration:
|
||||
#define USE_I2C
|
||||
#define EE_HANDS
|
||||
@@ -1,5 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
void flicker_toggle(void);
|
||||
void flicker_keydown(void);
|
||||
void flicker_keyup(void);
|
||||
@@ -1,226 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
#include "flicker.h"
|
||||
#endif
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
|
||||
enum planck_layers {
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
// keycodes custom to this keymap:
|
||||
enum planck_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
BL_FLICKER
|
||||
};
|
||||
|
||||
// flicker state:
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
bool flicker_enable = true;
|
||||
bool flicker_isdown = false;
|
||||
const uint8_t flicker_min_levels = 2;
|
||||
const uint8_t flicker_max_levels = 7;
|
||||
uint8_t flicker_restore_level = 0;
|
||||
#endif
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
|
||||
// mod tap definitions:
|
||||
#define CTRL_ESC MT(MOD_LCTL, KC_ESC)
|
||||
#define HYPR_SPC MT(MOD_HYPR, KC_SPC)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Esc | Del | GUI | Alt |Lower |HyprSp|Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ortho_4x12(
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
|
||||
CTRL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
|
||||
KC_MPLY, KC_DEL, KC_LGUI, KC_LALT, LOWER, HYPR_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
|
||||
),
|
||||
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_4x12(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
|
||||
),
|
||||
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_4x12(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
|
||||
),
|
||||
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | Reset| | | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | |Aud on|Audoff|AGnorm|AGswap| | | | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | |Clicky|ClkDn |ClkUp |ClkRst|
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_ortho_4x12(
|
||||
_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
|
||||
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, \
|
||||
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, BL_TOGG, BL_DEC, BL_INC, BL_FLICKER, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, CLICKY_TOGGLE, CLICKY_DOWN, CLICKY_UP, CLICKY_RESET \
|
||||
),
|
||||
|
||||
}; // end keymaps
|
||||
|
||||
// if backlighting is enabled, configure it on boot
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
void matrix_init_user(void) {
|
||||
// set to max
|
||||
backlight_level(BACKLIGHT_LEVELS);
|
||||
flicker_restore_level = get_backlight_level();
|
||||
|
||||
// if breathing happens to be compiled in, turn it off
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_disable();
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
void persistant_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
// handle the _ADJUST layer and custom keycodes:
|
||||
switch (keycode) {
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
case BL_FLICKER:
|
||||
if (record->event.pressed) {
|
||||
flicker_toggle();
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
#endif
|
||||
} // end switch case over custom keycodes
|
||||
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
if (flicker_enable) {
|
||||
if (record->event.pressed) {
|
||||
flicker_keydown();
|
||||
} else {
|
||||
flicker_keyup();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void encoder_update(bool clockwise) {
|
||||
if (clockwise) {
|
||||
register_code(KC_VOLU);
|
||||
unregister_code(KC_VOLU);
|
||||
} else {
|
||||
register_code(KC_VOLD);
|
||||
unregister_code(KC_VOLD);
|
||||
}
|
||||
}
|
||||
|
||||
// flicker implementation:
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
void flicker_toggle(void) {
|
||||
flicker_enable = !flicker_enable;
|
||||
}
|
||||
|
||||
void flicker_keydown(void) {
|
||||
// guard condition: only set the level to restore if the flicker is NOT already down
|
||||
if (!flicker_isdown) {
|
||||
flicker_restore_level = get_backlight_level();
|
||||
flicker_isdown = true;
|
||||
}
|
||||
|
||||
// calculate a random flicker level between min and max
|
||||
uint8_t flicker_level = (rand() % (flicker_max_levels - flicker_min_levels)) + flicker_min_levels;
|
||||
uint8_t level_to_set = flicker_level <= flicker_restore_level ? flicker_restore_level - flicker_level : 0;
|
||||
backlight_level(level_to_set);
|
||||
}
|
||||
|
||||
void flicker_keyup(void) {
|
||||
backlight_level(flicker_restore_level);
|
||||
flicker_isdown = false;
|
||||
}
|
||||
#endif
|
||||
@@ -1,19 +0,0 @@
|
||||
# Josh's 4x12 layout
|
||||
|
||||
Notable features:
|
||||
|
||||
* Esc is Ctrl on hold
|
||||
* Left space is `MOD_HYPER` on hold
|
||||
* Backspace is still backspace on `RAISE` and `LOWER`
|
||||
* Faux clicky controls are on the arrow keys on the `ADJUST` layer, and the backlight controls are directly above that
|
||||
* Backlight breathing is disabled; backlight flickering is implemented instead
|
||||
* Colemak and other layouts are thoroughly disabled
|
||||
* Rotary encoder controls media volume on base layer
|
||||
|
||||
This layout has been tested on:
|
||||
|
||||
* Let's Split (rev 2)
|
||||
* Let's Split Vitamins Included (rev 1)
|
||||
* Planck (rev 4)
|
||||
|
||||
It builds for the Planck rev 6 but has not been tested yet.
|
||||
@@ -1,26 +0,0 @@
|
||||
# none of my keyboards need LTO and it screws up I2C on my LSVI:
|
||||
EXTRAFLAGS:=$(filter-out -flto,$(EXTRAFLAGS))
|
||||
|
||||
# turning off backlighting and audio for the split keebs
|
||||
ifneq (,$(findstring lets_split,$(KEYBOARD)))
|
||||
BACKLIGHT_ENABLE = no
|
||||
BACKLIGHT_BREATHING = no
|
||||
AUDIO_ENABLE = no
|
||||
endif
|
||||
ifneq (,$(findstring vitamins_included,$(KEYBOARD)))
|
||||
BACKLIGHT_ENABLE = no
|
||||
BACKLIGHT_BREATHING = no
|
||||
AUDIO_ENABLE = no
|
||||
endif
|
||||
|
||||
# both my plancks use audio but only the rev4 has backlighting
|
||||
ifneq (,$(findstring planck,$(KEYBOARD)))
|
||||
ifneq (,$(findstring rev4,$(KEYBOARD)))
|
||||
BACKLIGHT_ENABLE = yes
|
||||
BACKLIGHT_BREATHING = no
|
||||
else
|
||||
BACKLIGHT_ENABLE = no
|
||||
BACKLIGHT_BREATHING = no
|
||||
endif
|
||||
AUDIO_ENABLE = yes
|
||||
endif
|
||||
@@ -1,3 +0,0 @@
|
||||
# ortho_4x12
|
||||
|
||||
LAYOUT_ortho_4x12
|
||||
@@ -1,75 +0,0 @@
|
||||
# Symbolic ortho 4x12 layout
|
||||
|
||||
## Features
|
||||
|
||||
### QWERTY based
|
||||
|
||||

|
||||
|
||||
* Default keymap
|
||||
* QWERTY layout
|
||||
* Hold and tap
|
||||
* `Left Ctrl` and `Tab`
|
||||
* Symmetric Modifiers
|
||||
* `Shift`
|
||||
* `Raise Layer`
|
||||
* `Lower Layer`
|
||||
* `GUI`
|
||||
|
||||
### symbol charactor layer
|
||||
|
||||

|
||||
|
||||
* Raise Layer
|
||||
* assigned symbolic(punctuation) characters
|
||||
* as could as possible, related neighbor keys
|
||||
* brackets
|
||||
* quotes
|
||||
* operators
|
||||
* slashes
|
||||
* related default layer keys
|
||||
* colons
|
||||
* exclamation and question
|
||||
* thus above features, easy learn keymapping
|
||||
* transparent all modifiers
|
||||
|
||||
### numbers and allows layer
|
||||
|
||||

|
||||
|
||||
* Lower Layer
|
||||
* entrust vim style arrows
|
||||
* also numkeys
|
||||
* additional, computer volume keys
|
||||
* transparent all modifiers
|
||||
* **changed 2018/09/04**
|
||||
* assign keys
|
||||
* Home
|
||||
* Page Down
|
||||
* Page Up
|
||||
* End
|
||||
* Print Screen
|
||||
|
||||
### Numpads and F key layer
|
||||
|
||||

|
||||
|
||||
* visibled when Raise and Lower layer visibled
|
||||
* F keys assigned left hand side
|
||||
* Numpads assigned right hand side
|
||||
* for that reason, override `RGUI` key
|
||||
* transparent mostly modifiers
|
||||
* visibled `Reset` key on both hands
|
||||
|
||||
|
||||
### Goals
|
||||
|
||||
* release a right little finger from symbols
|
||||
* entrust more symbols for a left hand
|
||||
* simple, minimal, easy learn
|
||||
* as soon as possible, don't disable any shortcuts
|
||||
|
||||
### suggestions or find issues
|
||||
|
||||
[post issues for my fork](https://github.com/leico/qmk_firmware/issues)
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
|
||||
/* Use I2C or Serial, not both */
|
||||
|
||||
#define USE_SERIAL
|
||||
// #define USE_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
//#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
#define EE_HANDS
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
|
||||
SONG(DVORAK_SOUND), \
|
||||
SONG(COLEMAK_SOUND) \
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,229 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _QWERTY 0
|
||||
#define _LOWER 1
|
||||
#define _RAISE 2
|
||||
#define _NEUTRAL 3
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
L_LOWER,
|
||||
R_LOWER,
|
||||
L_RAISE,
|
||||
R_RAISE
|
||||
};
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,------------------------------------------------------------------------------------.
|
||||
* | | | | | | || | | | | | |
|
||||
* | Esc | Q | W | E | R | T || Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+------++------+------+------+------+------+------|
|
||||
* |LCTL_T| | | | | || | | | | | |
|
||||
* | Tab | A | S | D | F | G || H | J | K | L | ; |Enter |
|
||||
* |------+------+------+------+------+------++------+------+------+------+------+------|
|
||||
* | | | | | | || | | | | | |
|
||||
* |Shift | Z | X | C | V | B || N | M | , | . | ! |Shift |
|
||||
* |------+------+------+------+------+------++------+------+------+------+------+------|
|
||||
* | | | | | | || | | | | | |
|
||||
* |LRaise| Alt | GUI | |LLower|Space ||Space |RLower| | GUI | Del |RRaise|
|
||||
* `------------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ortho_4x12( \
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
|
||||
LCTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_EXLM, KC_RSFT, \
|
||||
L_RAISE, KC_LALT, KC_LGUI, XXXXXXX, L_LOWER, KC_SPC, KC_SPC, R_LOWER, XXXXXXX, KC_RGUI, KC_DEL, R_RAISE \
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,------------------------------------------------------------------------------------.
|
||||
* | | | | | | || | | | | | |
|
||||
* | Esc | | & | { | } | % || \ | [ | ] | # | | Bksp |
|
||||
* |------+------+------+------+------+------++------+------+------+------+------+------|
|
||||
* |LCTL_T| | | | | || | | | | | |
|
||||
* | Tab | ~ | | | ( | ) | * || / | < | > | ' | : |Enter |
|
||||
* |------+------+------+------+------+------++------+------+------+------+------+------|
|
||||
* | | | | | | || | | | | | |
|
||||
* |Shift | ` | ^ | @ | $ | + || - | = | _ | " | ? |Shift |
|
||||
* |------+------+------+------+------+------++------+------+------+------+------+------|
|
||||
* | | | | | | || | | | | | |
|
||||
* |LRaise| Alt | GUI | |LLower|Space ||Space |RLower| | GUI | Del |RRaise|
|
||||
* `------------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_4x12( \
|
||||
_______, XXXXXXX, KC_AMPR, KC_LCBR, KC_RCBR, KC_PERC, KC_BSLS, KC_LBRC, KC_RBRC, KC_HASH, XXXXXXX, _______, \
|
||||
_______, KC_TILD, KC_PIPE, KC_LPRN, KC_RPRN, KC_ASTR, KC_SLSH, KC_LABK, KC_RABK, KC_DQUO, KC_COLN, _______, \
|
||||
_______, KC_GRV, KC_CIRC, KC_AT, KC_DLR, KC_PLUS, KC_MINS, KC_EQL, KC_UNDS, KC_QUOT, KC_QUES, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
),
|
||||
/* Lower
|
||||
* ,------------------------------------------------------------------------------------.
|
||||
* | | | | | | || | | | | | |
|
||||
* | Esc | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------++------+------+------+------+------+------|
|
||||
* |LCTL_T| | | | | || | | | | | |
|
||||
* | Tab | |VolDn |VolUp | Mute | || Left | Down | Up |Right | |Enter |
|
||||
* |------+------+------+------+------+------++------+------+------+------+------+------|
|
||||
* | | | | | | || | | | | | |
|
||||
* |Shift | | | | | PrSc || Home | PgDn | PgUp | End | |Shift |
|
||||
* |------+------+------+------+------+------++------+------+------+------+------+------|
|
||||
* | | | | | | || | | | | | |
|
||||
* |LRaise| Alt | GUI | |LLower|Space ||Space |RLower| | GUI | Del |RRaise|
|
||||
* `------------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_4x12( \
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
|
||||
_______, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, _______, \
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
),
|
||||
|
||||
/* Neutral
|
||||
* ,------------------------------------------------------------------------------------.
|
||||
* | | | | | | || | | | | | |
|
||||
* | Esc | F1 | F2 | F3 | F4 | || + | - | 1 | 2 | 3 | Bksp |
|
||||
* |------+------+------+------+------+------++------+------+------+------+------+------|
|
||||
* |LCTL_T| | | | | || | | | | | |
|
||||
* | Tab | F5 | F6 | F7 | F8 | || * | / | 4 | 5 | 6 |Enter |
|
||||
* |------+------+------+------+------+------++------+------+------+------+------+------|
|
||||
* | | | | | | || | | | | | |
|
||||
* |Shift | F9 | F10 | F11 | F12 | || . | , | 7 | 8 | 9 |Shift |
|
||||
* |------+------+------+------+------+------++------+------+------+------+------+------|
|
||||
* | | | | | | || | | | | | |
|
||||
* |LRaise| Alt | GUI |Reset |LLower|Space ||Space |RLower|Reset | 0 | Del |RRaise|
|
||||
* `------------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_NEUTRAL] = LAYOUT_ortho_4x12( \
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, KC_PPLS, KC_PMNS, KC_P1, KC_P2, KC_P3, _______, \
|
||||
_______, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, KC_PAST, KC_PSLS, KC_P4, KC_P5, KC_P6, _______, \
|
||||
_______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_PDOT, KC_COMM, KC_P7, KC_P8, KC_P9, _______, \
|
||||
_______, _______, _______, RESET, _______, _______, _______, _______, RESET, KC_P0, _______, _______ \
|
||||
)
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**** Raise Layer functions *****/
|
||||
|
||||
/* RaisePressed function */
|
||||
/* called RaiseSwitch */
|
||||
void RaisePressed ( keyevent_t *event, bool brother_state ){
|
||||
|
||||
if( brother_state ) { return; }
|
||||
|
||||
layer_on( _RAISE );
|
||||
update_tri_layer( _LOWER, _RAISE, _NEUTRAL );
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* RaiseReleased function */
|
||||
/* called RaiseSwitch */
|
||||
void RaiseReleased ( bool brother_state ){
|
||||
|
||||
if( brother_state ) { return; }
|
||||
|
||||
layer_off( _RAISE );
|
||||
update_tri_layer( _LOWER, _RAISE, _NEUTRAL );
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/* RaiseSwitch function */
|
||||
/* called process_record_user */
|
||||
bool RaiseSwitch ( keyrecord_t *record, bool *key_state, bool brother ){
|
||||
|
||||
if( record -> event.pressed ) {
|
||||
*key_state = true;
|
||||
RaisePressed( &(record -> event), brother );
|
||||
} else {
|
||||
*key_state = false;
|
||||
RaiseReleased( brother );
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**** Lower layer functions ****/
|
||||
|
||||
/* LowerPressed function */
|
||||
/* call from LowerSwitch */
|
||||
void LowerPressed ( bool brother_state ){
|
||||
|
||||
if( brother_state ) { return; }
|
||||
|
||||
layer_on( _LOWER );
|
||||
update_tri_layer(_LOWER, _RAISE, _NEUTRAL );
|
||||
return;
|
||||
}
|
||||
|
||||
/* LowerReleased function */
|
||||
/* call from LowerSwitch */
|
||||
void LowerReleased ( bool brother_state ){
|
||||
|
||||
if( brother_state ) { return; }
|
||||
|
||||
layer_off( _LOWER );
|
||||
update_tri_layer(_LOWER, _RAISE, _NEUTRAL );
|
||||
return ;
|
||||
}
|
||||
|
||||
/* LowerSwitch function */
|
||||
/* call from process_record_user */
|
||||
bool LowerSwitch ( keyrecord_t *record, bool *key_state, bool brother ){
|
||||
if ( record -> event.pressed ) {
|
||||
*key_state = true;
|
||||
LowerPressed( brother );
|
||||
} else {
|
||||
*key_state = false;
|
||||
LowerReleased( brother );
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**** process_record_user ****/
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
static bool l_lower = false;
|
||||
static bool r_lower = false;
|
||||
|
||||
static bool l_raise = false;
|
||||
static bool r_raise = false;
|
||||
|
||||
switch (keycode) {
|
||||
|
||||
|
||||
case L_LOWER : return LowerSwitch( record, &l_lower, r_lower ); break;
|
||||
case R_LOWER : return LowerSwitch( record, &r_lower, l_lower ); break;
|
||||
case L_RAISE : return RaiseSwitch( record, &l_raise, r_raise ); break;
|
||||
case R_RAISE : return RaiseSwitch( record, &r_raise, l_raise ); break;
|
||||
|
||||
default: break;
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include QMK_KEYBOARD_CONFIG_H
|
||||
#define SPACE_COUNT 3
|
||||
|
||||
#define TEMPLATE( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
|
||||
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
|
||||
K40, K41, K42, K44, K45, K46, K48, K49, K4B, K4C \
|
||||
) \
|
||||
LAYOUT_ortho_4x12( \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1D, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
|
||||
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
|
||||
K40, K41, K0D, K42, K44, K45, K45, K46, K48, K49, K4B, K4C \
|
||||
)
|
||||
|
||||
|
||||
#endif //CONFIG_USER_H
|
||||
@@ -1 +0,0 @@
|
||||
// This space intentionally left blank
|
||||
@@ -1,43 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#if defined(KEYBOARD_jj40)
|
||||
#undef BACKLIGHT_BREATHING
|
||||
#undef BACKLIGHT_LEVELS
|
||||
#undef BREATHING_PERIOD
|
||||
#define BACKLIGHT_BREATHING
|
||||
#define BACKLIGHT_LEVELS 3
|
||||
#define BREATHING_PERIOD 15
|
||||
#endif
|
||||
|
||||
//QMK DFU settings (ProMicro boards with QMK bootloader)
|
||||
// set top left key as bootloader mode escape key on Lets Split rev2
|
||||
#if defined(KEYBOARD_lets_split_rev2)
|
||||
#define QMK_LED B0
|
||||
#define QMK_ESC_OUTPUT F6 // usually COL
|
||||
#define QMK_ESC_INPUT D7 // usually ROW
|
||||
#define USE_SERIAL
|
||||
#undef USE_I2C
|
||||
#define EE_HANDS
|
||||
#endif
|
||||
|
||||
// set top left key as bootloader mode escape key on 4x4 48key layout
|
||||
#if defined(KEYBOARD_40percentclub_4x4) && !defined(PRO_MICRO)
|
||||
#define QMK_LED B0
|
||||
#define QMK_ESC_OUTPUT C6 // usually COL
|
||||
#define QMK_ESC_INPUT B2 // usually ROW
|
||||
#endif
|
||||
|
||||
// use alternate settings for 4x4 board using ProMicro instead of Micro
|
||||
// usage: make 4x4:wanleg PM=yes
|
||||
#if defined(KEYBOARD_40percentclub_4x4) && defined(PRO_MICRO)
|
||||
#define QMK_ESC_OUTPUT F4 // usually COL
|
||||
#define QMK_ESC_INPUT D1 // usually ROW
|
||||
#define QMK_LED B0
|
||||
|
||||
//need to undefine standard 4x4 array before defining alternate ProMicro array
|
||||
#undef MATRIX_ROW_PINS
|
||||
#undef MATRIX_COL_PINS
|
||||
#define MATRIX_ROW_PINS { D1, D0, D4, C6 }
|
||||
//last 4 elements of the column array are not broken out on a ProMicro (included only to preserve array structure)
|
||||
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5, B4, E6, D7, F0, B7, D6, F1 }
|
||||
#endif
|
||||
@@ -1,97 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "wanleg.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
#if defined(KEYBOARD_lets_split_rev2)
|
||||
[_GK] = LAYOUT_ortho_4x12_wrapper(
|
||||
_______________GherkinLike_0_______________,
|
||||
_______________GherkinLike_1_______________,
|
||||
_______________GherkinLike_2_______________,
|
||||
_______________GherkinLike_3_OneHand_______
|
||||
),
|
||||
[ONE] = LAYOUT_ortho_4x12_wrapper(
|
||||
_______________Qwerty_Row__0_______________,
|
||||
_______________Qwerty_Row__1_______________,
|
||||
_______________Qwerty_Row__2_______________,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, GHERKIN, SUBTER, SH_T(KC_SPC), SH_T(KC_SPC), SUPRA, KC_RGUI, KC_RALT, GHERKIN, KC_RCTL
|
||||
),
|
||||
[DIR] = LAYOUT_ortho_4x12_wrapper(
|
||||
_____________DIRECTIONS_Row__0_____________,
|
||||
_____________DIRECTIONS_Row__1_____________,
|
||||
_____________DIRECTIONS_Row__2_____________,
|
||||
_______, _______, ONEHAND, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
#elif defined(KEYBOARD_40percentclub_4x4)
|
||||
[_GK] = LAYOUT_ortho_4x12_wrapper(
|
||||
_______________GherkinLike_0_______________,
|
||||
_______________GherkinLike_1_______________,
|
||||
_______________GherkinLike_2_______________,
|
||||
TD(RST_TAP_DANCE), KC_LGUI, KC_LALT, NUMPAD, NUMBER, ETCETERA, KC_SPC,DIRECTION, KC_RGUI, KC_RALT, KC_DEL, KC_RCTL
|
||||
),
|
||||
|
||||
[PAD] = LAYOUT_ortho_4x4_wrapper(
|
||||
_______________NUMPAD_Row__0_______________,
|
||||
_______________NUMPAD_Row__1_______________,
|
||||
_______________NUMPAD_Row__2_______________,
|
||||
_______________NUMPAD_Row__3_______________
|
||||
),
|
||||
|
||||
#elif defined(KEYBOARD_jj40)
|
||||
[_GK] = LAYOUT_ortho_4x12_wrapper(
|
||||
_______________GherkinLike_0_______________,
|
||||
_______________GherkinLike_1_______________,
|
||||
_______________GherkinLike_2_______________,
|
||||
TD(RST_TAP_DANCE), BL_TOGG, BL_STEP, BL_BRTG, NUMBER, ETCETERA, KC_SPC,DIRECTION, KC_RGUI, KC_RALT, KC_DEL, KC_RCTL
|
||||
),
|
||||
|
||||
#else
|
||||
[_GK] = LAYOUT_ortho_4x12_wrapper(
|
||||
_______________GherkinLike_0_______________,
|
||||
_______________GherkinLike_1_______________,
|
||||
_______________GherkinLike_2_______________,
|
||||
_______________GherkinLike_3_______________
|
||||
),
|
||||
#endif
|
||||
[_QW] = LAYOUT_ortho_4x12_wrapper(
|
||||
_______________Qwerty_Row__0_______________,
|
||||
_______________Qwerty_Row__1_______________,
|
||||
_______________Qwerty_Row__2_______________,
|
||||
_______________Qwerty_Row__3_______________
|
||||
),
|
||||
|
||||
[SUP] = LAYOUT_ortho_4x12_wrapper(
|
||||
________________SUPRA_Row_0________________,
|
||||
________________SUPRA_Row_1________________,
|
||||
________________SUPRA_Row_2________________,
|
||||
________________SUPRA_Row_3________________
|
||||
),
|
||||
|
||||
[SUB] = LAYOUT_ortho_4x12_wrapper(
|
||||
_______________SUBTER_Row__0_______________,
|
||||
_______________SUBTER_Row__1_______________,
|
||||
_______________SUBTER_Row__2_______________,
|
||||
_______________SUBTER_Row__3_______________
|
||||
),
|
||||
|
||||
[NUM] = LAYOUT_ortho_4x12_wrapper(
|
||||
_______________NUMBERS_Row_0_______________,
|
||||
_______________NUMBERS_Row_1_______________,
|
||||
_______________NUMBERS_Row_2_______________,
|
||||
_______________NUMBERS_Row_3_______________
|
||||
),
|
||||
|
||||
[DIR] = LAYOUT_ortho_4x12_wrapper(
|
||||
_____________DIRECTIONS_Row__0_____________,
|
||||
_____________DIRECTIONS_Row__1_____________,
|
||||
_____________DIRECTIONS_Row__2_____________,
|
||||
_____________DIRECTIONS_Row__3_____________
|
||||
),
|
||||
|
||||
[ETC] = LAYOUT_ortho_4x12_wrapper(
|
||||
______________ETCETERA_Row__0______________,
|
||||
______________ETCETERA_Row__1______________,
|
||||
______________ETCETERA_Row__2______________,
|
||||
______________ETCETERA_Row__3______________
|
||||
),
|
||||
|
||||
};
|
||||
@@ -1,54 +0,0 @@
|
||||
# Let's Split Flashing
|
||||
(More information at `qmk_firmware/layouts/community/ortho_3x10/wanleg/readme.md`)
|
||||
## Make the QMK DFU .hex
|
||||
`make lets_split/rev2:wanleg:production dfu=qmk`
|
||||
|
||||
## Burning EEPROM settings and Firmware
|
||||
Navigate to the directory with your .hex file and the `eeprom-lefthand.eep` and `eeprom-righthand.eep` files in it.
|
||||
**Burn Left Side With QMK DFU and Firmware**
|
||||
`avrdude -b 19200 -c avrisp -p m32u4 -v -e -U lock:w:0x3F:m -U efuse:w:0xC3:m -U hfuse:w:0xD9:m -U lfuse:w:0x5E:m -U eeprom:w:eeprom-lefthand.eep -P comPORT -U flash:w:YOUR_production.hex:a`
|
||||
|
||||
**Burn Right Side With QMK DFU and Firmware**
|
||||
`avrdude -b 19200 -c avrisp -p m32u4 -v -e -U lock:w:0x3F:m -U efuse:w:0xC3:m -U hfuse:w:0xD9:m -U lfuse:w:0x5E:m -U eeprom:w:eeprom-righthand.eep -P comPORT -U flash:w:YOUR_production.hex:a`
|
||||
|
||||
Change `comPORT` to whatever port is used by the Arduino (e.g. `com11` in Windows or `/dev/ttyACM0` in Linux). Use Device Manager in Windows to find the port being used. Use `ls /dev/tty*` in Linux. Change `YOUR_production.hex` to whatever you've created in the previous step.
|
||||
|
||||
## Using QMK DFU
|
||||
Once QMK DFU is burned to your ProMicro, you can then flash subsequent hex files with
|
||||
`make lets_split/rev2:<keymap>:dfu dfu=qmk`
|
||||
The `dfu=qmk` conditional will set `BOOTLOADER = qmk-dfu` instead of `BOOTLOADER = caterina`
|
||||
|
||||
# Let's Split LEDs
|
||||
In `qmk_firmware/keyboards/lets_split/rev2/rev2.c`, replace contents with
|
||||
```
|
||||
#include "lets_split.h"
|
||||
|
||||
|
||||
#ifdef SSD1306OLED
|
||||
void led_set_kb(uint8_t usb_led) {
|
||||
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
|
||||
led_set_user(usb_led);
|
||||
}
|
||||
#endif
|
||||
|
||||
void matrix_init_kb(void) {
|
||||
|
||||
// // green led on
|
||||
// DDRD |= (1<<5);
|
||||
// PORTD &= ~(1<<5);
|
||||
|
||||
// // orange led on
|
||||
// DDRB |= (1<<0);
|
||||
// PORTB &= ~(1<<0);
|
||||
|
||||
//turn off LEDs on ProMicro
|
||||
DDRD &= ~(1<<5);
|
||||
PORTD &= ~(1<<5);
|
||||
|
||||
DDRB &= ~(1<<0);
|
||||
PORTB &= ~(1<<0);
|
||||
|
||||
matrix_init_user();
|
||||
};
|
||||
```
|
||||
to turn off LEDs
|
||||
@@ -1,10 +0,0 @@
|
||||
AUDIO_ENABLE = no
|
||||
SWAP_HANDS_ENABLE = no
|
||||
|
||||
ifeq ($(strip $(KEYBOARD)), lets_split/rev2)
|
||||
SWAP_HANDS_ENABLE = yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(KEYBOARD)), planck/rev6)
|
||||
AUDIO_ENABLE = yes
|
||||
endif
|
||||
@@ -1,32 +0,0 @@
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#define MIDI_BASIC
|
||||
|
||||
#define USE_SERIAL
|
||||
|
||||
#define EE_HANDS
|
||||
|
||||
#undef RGBLED_NUM
|
||||
#if defined(KEYBOARD_planck_rev5)
|
||||
#define RGBLED_NUM 10
|
||||
#define RGB_DI_PIN D1
|
||||
#elif defined(KEYBOARD_keebio_levinson_rev2)
|
||||
#define RGBLED_NUM 12
|
||||
#elif defined(KEYBOARD_lets_split_rev2)
|
||||
#define RGBLED_NUM 8
|
||||
#elif defined(KEYBOARD_jj40)
|
||||
#define RGBLED_NUM 5
|
||||
#else
|
||||
#define RGBLED_NUM 1
|
||||
#endif
|
||||
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
|
||||
#undef BACKLIGHT_LEVELS
|
||||
#define BACKLIGHT_LEVELS 8
|
||||
|
||||
#endif
|
||||
@@ -1,213 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
#include "eeconfig.h"
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _QWERTY 0
|
||||
#define _COLEMAK 1
|
||||
#define _DVORAK 2
|
||||
#define _LOWER 3
|
||||
#define _RAISE 4
|
||||
#define _ADJUST 16
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
DVORAK,
|
||||
LOWER,
|
||||
RAISE,
|
||||
ADJUST
|
||||
};
|
||||
|
||||
// Aliases to keep the keymap tidy
|
||||
#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped.
|
||||
#define RGB_SWR RGB_M_SW // Swirl Animation alias
|
||||
#define RGB_SNK RGB_M_SN // Snake Animation alias
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / | Shift|
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ortho_4x12 ( \
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,\
|
||||
KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
|
||||
),
|
||||
|
||||
/* Colemak
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_COLEMAK] = LAYOUT_ortho_4x12 ( \
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \
|
||||
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
|
||||
KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
|
||||
),
|
||||
|
||||
/* Dvorak
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | " | , | . | P | Y | F | G | C | R | L | / |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | O | E | U | I | D | H | T | N | S | - |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| ; | Q | J | K | X | B | M | W | V | Z | Shift|
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_DVORAK] = LAYOUT_ortho_4x12 ( \
|
||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, \
|
||||
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, \
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \
|
||||
KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Caps | | Mute | Vol- | Vol+ | | | _ | + | { | } | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | Prev | Play | Next | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_4x12 ( \
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
|
||||
KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
|
||||
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, \
|
||||
BL_STEP, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Caps | | Mute | Vol- | Vol+ | | | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | Prev | Play | Next | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_4x12 ( \
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
|
||||
KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, \
|
||||
BL_STEP, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | F11 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F12 |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | Reset|RGB PL|RGB BR|RGB RB|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* |RGB ON| MODE |RGB SW|RGB KN|RGB GR| HUE- | HUE+ | HUE- | SAT+ | SAT- | VAL+ | VAL- |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_ortho_4x12 ( \
|
||||
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 , \
|
||||
_______, RESET, RGB_M_P, RGB_M_B, RGB_M_R, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
|
||||
RGB_TOG, RGB_MOD, RGB_SWR, RGB_M_K, RGB_M_G, RGB_HUI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
)
|
||||
|
||||
|
||||
};
|
||||
|
||||
void persistent_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
void matrix_init_user(void) {
|
||||
#ifdef BOOTLOADER_CATERINA
|
||||
// This will disable the red LEDs on the ProMicros
|
||||
DDRD &= ~(1<<5);
|
||||
PORTD &= ~(1<<5);
|
||||
DDRB &= ~(1<<0);
|
||||
PORTB &= ~(1<<0);
|
||||
#endif
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
persistent_default_layer_set(1UL<<_QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
persistent_default_layer_set(1UL<<_COLEMAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
persistent_default_layer_set(1UL<<_DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
/* case BACKLIT:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_step();
|
||||
#endif
|
||||
} else {
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
return false;
|
||||
break; */
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1,95 +0,0 @@
|
||||
# Xyverz's 4x12 Ortho Keymap
|
||||
|
||||
## About this keymap:
|
||||
|
||||
I'm moving all my 4x12s to the same keymap since I pretty much use it across all of them anyway, regardless of whether they're split or not. Gotta get the `LAYOUT` lovin', yo.
|
||||
|
||||
This revision includes this documentation and introduction of the individual RGB mode keys in the `ADJUST` layer.
|
||||
|
||||
## Still to do:
|
||||
|
||||
* Enjoy this revision; figure out new things later.
|
||||
|
||||
### Qwerty layer
|
||||
|
||||
```
|
||||
,-----------------------------------------------------------------------------------.
|
||||
| Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
|------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
| Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
|------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
| Shift| Z | X | C | V | B | N | M | , | . | / | Shift|
|
||||
|------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
| Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI | Enter|
|
||||
`-----------------------------------------------------------------------------------'
|
||||
```
|
||||
|
||||
### Colemak layer
|
||||
|
||||
```
|
||||
,-----------------------------------------------------------------------------------.
|
||||
| Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
|
||||
|------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
| Esc | A | R | S | T | D | H | N | E | I | O | " |
|
||||
|------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
| Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
|
||||
|------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
| Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI | Enter|
|
||||
`-----------------------------------------------------------------------------------'
|
||||
```
|
||||
|
||||
### Dvorak layer
|
||||
|
||||
```
|
||||
,-----------------------------------------------------------------------------------.
|
||||
| Tab | " | , | . | P | Y | F | G | C | R | L | / |
|
||||
|------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
| Esc | A | O | E | U | I | D | H | T | N | S | - |
|
||||
|------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
| Shift| ; | Q | J | K | X | B | M | W | V | Z | Shift|
|
||||
|------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
| Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI | Enter|
|
||||
`-----------------------------------------------------------------------------------'
|
||||
```
|
||||
|
||||
### LOWER layer
|
||||
|
||||
```
|
||||
,-----------------------------------------------------------------------------------.
|
||||
| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
|
||||
|------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
| Caps | | Mute | Vol- | Vol+ | | | _ | + | { | } | | |
|
||||
|------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
| | | Prev | Play | Next | | | | | | | |
|
||||
|------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
| Brite| | Home | End | | Del | Ins | | PgUp | PgDN | | |
|
||||
`-----------------------------------------------------------------------------------'
|
||||
```
|
||||
|
||||
### RAISE layer
|
||||
|
||||
```
|
||||
,-----------------------------------------------------------------------------------.
|
||||
| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
|
||||
|------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
| Caps | | Mute | Vol- | Vol+ | | | - | = | [ | ] | \ |
|
||||
|------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
| | | Prev | Play | Next | | | | | | | |
|
||||
|------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
| Brite| | Home | End | | Del | Ins | | PgUp | PgDN | | |
|
||||
`-----------------------------------------------------------------------------------'
|
||||
```
|
||||
|
||||
### ADJUST layer
|
||||
|
||||
```
|
||||
,-----------------------------------------------------------------------------------.
|
||||
| F11 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F12 |
|
||||
|------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
| | Reset|RGB PL|RGB BR|RGB RB|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||
|------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
|RGB ON| MODE |RGB SW|RGB KN|RGB GR| HUE- | HUE+ | HUE- | SAT+ | SAT- | VAL+ | VAL- |
|
||||
|------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
| | | | | | | | | | | | |
|
||||
`-----------------------------------------------------------------------------------'
|
||||
```
|
||||
@@ -1,11 +0,0 @@
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
|
||||
ifeq ("$(KEYBOARD)","vitamins_included")
|
||||
RGBLIGHT_ENABLE = no
|
||||
else ifeq ($(strip $(KEYBOARD)), 40percentclub/4x4)
|
||||
RGBLIGHT_ENABLE = no
|
||||
else
|
||||
RGBLIGHT_ENABLE = yes
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user