summaryrefslogtreecommitdiff
path: root/keyboards/keebio/iris/keymaps/xyverz/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/keebio/iris/keymaps/xyverz/keymap.c')
-rw-r--r--keyboards/keebio/iris/keymaps/xyverz/keymap.c113
1 files changed, 46 insertions, 67 deletions
diff --git a/keyboards/keebio/iris/keymaps/xyverz/keymap.c b/keyboards/keebio/iris/keymaps/xyverz/keymap.c
index 53bf32ac36..cc120c1585 100644
--- a/keyboards/keebio/iris/keymaps/xyverz/keymap.c
+++ b/keyboards/keebio/iris/keymaps/xyverz/keymap.c
@@ -1,23 +1,26 @@
#include QMK_KEYBOARD_H
-#include "action_layer.h"
-#include "eeconfig.h"
extern keymap_config_t keymap_config;
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
+
+enum layer_names {
+ _DVORAK,
+ _QWERTY,
+ _COLEMAK,
+ _WOW,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
enum custom_keycodes {
- QWERTY = SAFE_RANGE,
+ DVORAK = SAFE_RANGE,
+ QWERTY,
COLEMAK,
- DVORAK,
+ WOW,
LOWER,
RAISE,
- ADJUST,
+ ADJUST
};
#define KC_____ KC_TRNS
@@ -28,10 +31,23 @@ enum custom_keycodes {
#define KC_QWRT QWERTY
#define KC_CLMK COLEMAK
#define KC_DVRK DVORAK
+#define KC_WOW WOW
#define KC_BSLT ALT_T(KC_BSPC)
+#define ADJUST MO(_ADJUST)
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_DVORAK] = LAYOUT_kc (
+ GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSLS,
+ TAB ,QUOT,COMM,DOT , P , Y , F , G , C , R , L ,SLSH,
+ ESC , A , O , E , U , I , D , H , T , N , S ,MINS,
+ LSFT,SCLN, Q , J , K , X ,LOWR, RASE, B , M , W , V , Z ,RSFT,
+ LCTL,BSLT,LGUI, ENT ,SPC ,LALT
+ ),
+
[_QWERTY] = LAYOUT_kc (
EQL , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS,
TAB , Q , W , E , R , T , Y , U , I , O , P ,BSLS,
@@ -48,12 +64,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LCTL,BSPC,LGUI, ENT ,SPC ,LALT
),
- [_DVORAK] = LAYOUT_kc (
+ [_WOW] = LAYOUT_kc (
GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSLS,
TAB ,QUOT,COMM,DOT , P , Y , F , G , C , R , L ,SLSH,
ESC , A , O , E , U , I , D , H , T , N , S ,MINS,
- LSFT,SCLN, Q , J , K , X ,LOWR, RASE, B , M , W , V , Z ,RSFT,
- LCTL,BSLT,LGUI, ENT ,SPC ,LALT
+ LSFT,SCLN, Q , J , K , X ,LALT, RGUI, B , M , W , V , Z ,RSFT,
+ LOWR,BSPC,LCTL, ENT ,SPC ,RASE
),
[_LOWER] = LAYOUT_kc (
@@ -75,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_kc (
F11 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F12 ,
____,RST ,____,____,____,____, ____,____,____,____,____,____,
- ____,____,____,____,____,____, ____,QWRT,CLMK,DVRK,____,____,
+ ____,____,____,____,____,____, ____,QWRT,CLMK,DVRK,WOW ,____,
____,____,____,____,____,____,____, ____,____,____,____,____,____,____,
____,____,____, ____,____,____
)
@@ -86,76 +102,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float tone_qwerty[][2] = SONG(QWERTY_SOUND);
#endif
-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) {
// This will disable the red LEDs on the ProMicros
- DDRD &= ~(1<<5);
- PORTD &= ~(1<<5);
- DDRB &= ~(1<<0);
- PORTB &= ~(1<<0);
+ setPinOutput(D5);
+ writePinLow(D5);
+ setPinOutput(B0);
+ writePinLow(B0);
};
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
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);
+ set_single_persistent_default_layer(_DVORAK);
}
return false;
- break;
- case LOWER:
+ case COLEMAK:
if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ set_single_persistent_default_layer(_COLEMAK);
}
return false;
- break;
- case RAISE:
+ case QWERTY:
if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ set_single_persistent_default_layer(_QWERTY);
}
return false;
- break;
- case ADJUST:
+ case WOW:
if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
+ set_single_persistent_default_layer(_WOW);
}
return false;
- break;
}
return true;
-}
+} \ No newline at end of file