changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > infra > home / annotate .config/kbd/moonlander/keymap.c

changeset 95: f69061a590da
parent: f82cb9ded8cf
author: Richard Westhaver <ellis@rwest.io>
date: Sat, 07 Sep 2024 22:40:44 -0400
permissions: -rw-r--r--
description: moonlander concessions
3
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
1
 #include QMK_KEYBOARD_H
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
2
 #include "version.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
3
 #include "keymap_french.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
4
 #include "keymap_spanish.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
5
 #include "keymap_hungarian.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
6
 #include "keymap_swedish.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
7
 // #include "keymap_br_abnt2.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
8
 #include "keymap_canadian_multilingual.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
9
 //#include "keymap_german_ch.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
10
 //#include "keymap_jp.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
11
 #include "keymap_korean.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
12
 #include "keymap_bepo.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
13
 #include "keymap_italian.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
14
 #include "keymap_slovenian.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
15
 #include "keymap_lithuanian_azerty.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
16
 #include "keymap_danish.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
17
 #include "keymap_norwegian.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
18
 #include "keymap_portuguese.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
19
 // #include "keymap_contributions.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
20
 #include "keymap_czech.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
21
 #include "keymap_romanian.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
22
 #include "keymap_russian.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
23
 #include "keymap_uk.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
24
 //#include "keymap_estonian.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
25
 //#include "keymap_belgian.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
26
 #include "keymap_us_international.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
27
 //#include "keymap_croatian.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
28
 //#include "keymap_turkish_q.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
29
 //#include "keymap_slovak.h"
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
30
 
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
31
 #define KC_MAC_UNDO LGUI(KC_Z)
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
32
 #define KC_MAC_CUT LGUI(KC_X)
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
33
 #define KC_MAC_COPY LGUI(KC_C)
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
34
 #define KC_MAC_PASTE LGUI(KC_V)
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
35
 #define KC_PC_UNDO LCTL(KC_Z)
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
36
 #define KC_PC_CUT LCTL(KC_X)
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
37
 #define KC_PC_COPY LCTL(KC_C)
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
38
 #define KC_PC_PASTE LCTL(KC_V)
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
39
 #define ES_LESS_MAC KC_GRAVE
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
40
 #define ES_GRTR_MAC LSFT(KC_GRAVE)
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
41
 #define ES_BSLS_MAC ALGR(KC_6)
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
42
 #define NO_PIPE_ALT KC_GRAVE
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
43
 #define NO_BSLS_ALT KC_EQUAL
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
44
 #define LSA_T(kc) MT(MOD_LSFT | MOD_LALT, kc)
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
45
 #define BP_NDSH_MAC ALGR(KC_8)
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
46
 #define SE_SECT_MAC ALGR(KC_6)
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
47
 #define MOON_LED_LEVEL LED_LEVEL
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
48
 
95
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
49
 enum custom_keycodes {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
50
   RGB_SLD = ML_SAFE_RANGE,
3
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
51
 };
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
52
 
95
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
53
 enum tap_dance_codes {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
54
   DANCE_0,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
55
   DANCE_1,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
56
   DANCE_2,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
57
   DANCE_3,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
58
   DANCE_4,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
59
   DANCE_5,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
60
   DANCE_6,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
61
   DANCE_7,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
62
   DANCE_8,
3
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
63
 };
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
64
 
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
65
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
95
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
66
   [0] = LAYOUT_moonlander(
3
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
67
     // 1			  
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
68
     KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL,
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
69
     KC_GRAVE, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
70
     // 2
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
71
     KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1),   
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
72
     TG(2), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
73
     // 3
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
74
     KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LALT,
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
75
     KC_ENT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOTE,
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
76
     // 4
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
77
     KC_LSFT, KC_Z ,KC_X, KC_C, KC_V, KC_B,  
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
78
     KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_BSPC,
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
79
     // 5
95
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
80
     KC_UP, KC_DOWN, KC_LBRC, KC_LPRN, KC_SPC, KC_LCTL,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
81
     KC_LALT, KC_SPC, KC_RPRN, KC_RBRC, KC_LEFT, KC_RIGHT,
3
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
82
     // 6
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
83
     A(KC_X), C(KC_C), KC_LGUI,
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
84
     ALT_T(KC_PASTE), RGB_MODE_FORWARD, QK_LOCK
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
85
   ),
95
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
86
   [1] = LAYOUT_moonlander(
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
87
     KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,                                 KC_PSCREEN,     KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
88
     KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,                                 KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
89
     KC_ESCAPE,      KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,                                                                 KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
90
     KC_LSHIFT,      KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,                                 KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_RSHIFT,      
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
91
     TT(2),          TD(DANCE_6),    KC_9,           KC_0,           KC_ENTER,       MO(4),                                                                                                          LT(4,KC_ENTER), KC_LEFT,        KC_DOWN,        KC_UP,          KC_RIGHT,       TT(3),          
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
92
     KC_LALT,        KC_SPACE,       KC_LCTRL,                       KC_DELETE,      KC_SPACE,       KC_BSPACE
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
93
   ),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
94
   [2] = LAYOUT_moonlander(
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
95
     KC_NUMLOCK,     KC_F1,          KC_F2,          KC_F3,          KC_F4,          KC_F5,          KC_F6,                                          KC_TRANSPARENT, KC_NUMLOCK,     KC_KP_SLASH,    KC_KP_ASTERISK, KC_NO,          KC_SCROLLLOCK,  KC_PAUSE,       
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
96
     KC_KP_DOT,      KC_KP_ASTERISK, KC_KP_PLUS,     KC_KP_7,        KC_KP_8,        KC_KP_9,        KC_F7,                                          KC_TRANSPARENT, KC_KP_7,        KC_KP_8,        KC_KP_9,        KC_KP_MINUS,    KC_PGUP,        KC_PGDOWN,      
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
97
     KC_TRANSPARENT, KC_KP_SLASH,    KC_KP_MINUS,    KC_KP_4,        KC_KP_5,        KC_KP_6,        KC_F8,                                                                          KC_TRANSPARENT, KC_KP_4,        KC_KP_5,        KC_KP_6,        KC_KP_PLUS,     KC_HOME,        KC_END,         
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
98
     TD(DANCE_7),    KC_F11,         KC_F12,         KC_KP_1,        KC_KP_2,        KC_KP_3,                                        KC_KP_1,        KC_KP_2,        KC_KP_3,        KC_KP_ENTER,    KC_TRANSPARENT, TD(DANCE_8),    
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
99
     KC_TRANSPARENT, KC_INSERT,      KC_F9,          KC_F10,         KC_KP_0,        KC_KP_ENTER,                                                                                                    CAPS_WORD,      KC_KP_0,        KC_KP_DOT,      KC_EQUAL,       KC_TRANSPARENT, TO(0),          
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
100
     MT(MOD_LALT, KC_PGUP),KC_SPACE,       MT(MOD_LCTL, KC_PGDOWN),                KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
101
   ),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
102
   [3] = LAYOUT_moonlander(
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
103
     KC_TRANSPARENT, KC_TRANSPARENT, KC_MS_ACCEL0,   KC_MS_ACCEL1,   KC_MS_ACCEL2,   KC_TRANSPARENT, KC_TRANSPARENT,                                 KC_TRANSPARENT, KC_TRANSPARENT, KC_AUDIO_MUTE,  KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, RESET,          
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
104
     KC_TRANSPARENT, KC_MS_BTN5,     KC_MS_WH_LEFT,  KC_MS_UP,       KC_MS_WH_RIGHT, KC_MS_WH_UP,    KC_TRANSPARENT,                                 KC_MS_WH_LEFT,  KC_TRANSPARENT, KC_AUDIO_VOL_DOWN,KC_AUDIO_VOL_UP,KC_TRANSPARENT, KC_MEDIA_PREV_TRACK,KC_MEDIA_NEXT_TRACK,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
105
     KC_TRANSPARENT, KC_MS_BTN4,     KC_MS_LEFT,     KC_MS_DOWN,     KC_MS_RIGHT,    KC_MS_WH_DOWN,  KC_TRANSPARENT,                                                                 KC_MS_WH_RIGHT, LCTL(LSFT(KC_LEFT)),LCTL(KC_LEFT),  LCTL(KC_RIGHT), LCTL(LSFT(KC_RIGHT)),KC_MEDIA_STOP,  KC_MEDIA_PLAY_PAUSE,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
106
     MT(MOD_LSFT, KC_LBRACKET),KC_TRANSPARENT, KC_MS_BTN1,     KC_MS_BTN3,     KC_MS_BTN2,     KC_TRANSPARENT,                                 KC_TRANSPARENT, LCTL(LSFT(KC_T)),LCTL(KC_PGUP),  LCTL(KC_PGDOWN),KC_TRANSPARENT, MT(MOD_RSFT, KC_RBRACKET),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
107
     TO(0),          TO(1),          LGUI(LCTL(KC_LEFT)),LGUI(LCTL(KC_RIGHT)),KC_TRANSPARENT, KC_ASTG,                                                                                                        KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
108
     KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,                 MT(MOD_RCTL, KC_INSERT),KC_SPACE,       KC_TRANSPARENT
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
109
   ),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
110
   [4] = LAYOUT_moonlander(
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
111
     KC_INSERT,      KC_LCBR,        KC_RCBR,        KC_LBRACKET,    KC_RBRACKET,    KC_MINUS,       KC_EQUAL,                                       KC_GRAVE,       KC_1,           KC_2,           KC_3,           KC_4,           KC_5,           KC_6,           
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
112
     KC_DELETE,      KC_Y,           KC_U,           KC_I,           KC_O,           KC_P,           KC_BSLASH,                                      KC_TAB,         KC_Q,           KC_W,           KC_E,           KC_R,           KC_T,           KC_7,           
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
113
     KC_BSPACE,      KC_H,           KC_J,           KC_K,           KC_L,           KC_SCOLON,      KC_QUOTE,                                                                       KC_ESCAPE,      KC_A,           KC_S,           KC_D,           KC_F,           KC_G,           KC_8,           
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
114
     KC_RSPC,        KC_N,           KC_M,           KC_COMMA,       KC_DOT,         KC_SLASH,                                       KC_Z,           KC_X,           KC_C,           KC_V,           KC_B,           KC_LSPO,        
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
115
     KC_ENTER,       KC_LEFT,        KC_DOWN,        KC_UP,          KC_RIGHT,       TO(0),                                                                                                          TO(0),          KC_LGUI,        KC_9,           KC_0,           KC_HOME,        KC_END,         
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
116
     OSM(MOD_LALT),  KC_SPACE,       OSM(MOD_LCTL),                  OSM(MOD_LCTL),  KC_SPACE,       OSM(MOD_LALT)
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
117
                           ),
3
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
118
   // [MACRO]
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
119
   // [LISP]
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
120
   // [CTL]
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
121
   // [CMD]
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
122
 };
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
123
 
95
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
124
 extern rgb_config_t rgb_matrix_config;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
125
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
126
 void keyboard_post_init_user(void) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
127
   rgb_matrix_enable();
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
128
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
129
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
130
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
131
 const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
132
     [0] = { {188,255,255}, {188,255,255}, {188,255,255}, {151,255,255}, {25,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {188,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {188,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {102,255,255}, {151,255,255}, {25,255,255}, {152,255,255}, {7,255,255}, {102,255,255}, {102,255,255}, {102,255,255}, {151,255,255}, {25,255,255}, {102,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {188,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {102,255,255}, {188,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {102,255,255}, {188,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {188,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {188,255,255}, {188,255,255}, {188,255,255}, {152,255,255}, {25,255,255}, {152,255,255}, {7,255,255} },
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
133
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
134
     [1] = { {188,255,255}, {188,255,255}, {188,255,255}, {188,255,255}, {0,245,245}, {102,255,255}, {151,255,255}, {25,255,255}, {151,255,255}, {25,255,255}, {102,255,255}, {25,255,255}, {25,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {151,255,255}, {25,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {25,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {102,255,255}, {151,255,255}, {25,255,255}, {151,255,255}, {0,245,245}, {102,255,255}, {102,255,255}, {102,255,255}, {151,255,255}, {0,245,245}, {102,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {25,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {102,255,255}, {25,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {102,255,255}, {25,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {25,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {188,255,255}, {188,255,255}, {188,255,255}, {151,255,255}, {25,255,255}, {151,255,255}, {25,255,255} },
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
135
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
136
     [2] = { {41,255,255}, {102,255,255}, {0,0,0}, {188,255,255}, {151,255,255}, {188,255,255}, {102,255,255}, {102,255,255}, {188,255,255}, {25,255,255}, {188,255,255}, {102,255,255}, {102,255,255}, {188,255,255}, {188,255,255}, {188,255,255}, {151,255,255}, {0,0,255}, {151,255,255}, {188,255,255}, {188,255,255}, {0,0,255}, {151,255,255}, {0,0,255}, {151,255,255}, {188,255,255}, {151,255,255}, {0,0,255}, {151,255,255}, {188,255,255}, {188,255,255}, {188,255,255}, {151,255,255}, {0,0,0}, {151,255,255}, {41,255,255}, {188,255,255}, {25,255,255}, {25,255,255}, {188,255,255}, {151,255,255}, {188,255,255}, {25,255,255}, {25,255,255}, {0,0,0}, {0,0,0}, {0,0,0}, {102,255,255}, {102,255,255}, {102,255,255}, {41,255,255}, {102,255,255}, {151,255,255}, {0,0,255}, {151,255,255}, {102,255,255}, {102,255,255}, {0,0,255}, {151,255,255}, {0,0,255}, {151,255,255}, {41,255,255}, {151,255,255}, {0,0,255}, {151,255,255}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {41,255,255} },
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
137
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
138
     [3] = { {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {151,255,255}, {0,0,0}, {25,255,255}, {25,255,255}, {0,0,0}, {25,255,255}, {0,245,245}, {188,255,255}, {74,255,255}, {25,255,255}, {188,255,255}, {0,245,245}, {74,255,255}, {74,255,255}, {25,255,255}, {188,255,255}, {0,245,245}, {188,255,255}, {74,255,255}, {25,255,255}, {0,0,0}, {0,0,0}, {188,255,255}, {188,255,255}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {41,255,255}, {41,255,255}, {0,245,245}, {0,245,245}, {0,0,0}, {152,255,255}, {0,0,0}, {0,245,245}, {255,245,245}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {151,255,255}, {25,255,255}, {0,0,0}, {0,0,0}, {41,255,255}, {74,255,255}, {25,255,255}, {0,0,0}, {41,255,255}, {41,255,255}, {74,255,255}, {25,255,255}, {0,0,0}, {0,0,0}, {0,0,0}, {151,255,255}, {0,0,0}, {0,0,0}, {188,255,255}, {188,255,255}, {0,0,0}, {0,0,0}, {151,255,255}, {0,0,0} },
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
139
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
140
     [4] = { {188,255,255}, {188,255,255}, {188,255,255}, {188,255,255}, {25,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {102,255,255}, {188,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {102,255,255}, {188,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {151,255,255}, {188,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {151,255,255}, {188,255,255}, {151,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {25,255,255}, {151,255,255}, {25,255,255}, {25,255,255}, {151,255,255}, {151,255,255}, {151,255,255}, {188,255,255}, {188,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {102,255,255}, {188,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {102,255,255}, {151,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {102,255,255}, {188,255,255}, {151,255,255}, {102,255,255}, {102,255,255}, {102,255,255}, {188,255,255}, {188,255,255}, {188,255,255}, {25,255,255}, {151,255,255}, {25,255,255}, {25,255,255} },
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
141
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
142
 };
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
143
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
144
 void set_layer_color(int layer) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
145
   for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
146
     HSV hsv = {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
147
       .h = pgm_read_byte(&ledmap[layer][i][0]),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
148
       .s = pgm_read_byte(&ledmap[layer][i][1]),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
149
       .v = pgm_read_byte(&ledmap[layer][i][2]),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
150
     };
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
151
     if (!hsv.h && !hsv.s && !hsv.v) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
152
         rgb_matrix_set_color( i, 0, 0, 0 );
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
153
     } else {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
154
         RGB rgb = hsv_to_rgb( hsv );
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
155
         float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
156
         rgb_matrix_set_color( i, f * rgb.r, f * rgb.g, f * rgb.b );
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
157
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
158
   }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
159
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
160
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
161
 void rgb_matrix_indicators_user(void) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
162
   if (rawhid_state.rgb_control) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
163
       return;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
164
   }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
165
   if (keyboard_config.disable_layer_led) { return; }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
166
   switch (biton32(layer_state)) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
167
     case 0:
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
168
       set_layer_color(0);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
169
       break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
170
     case 1:
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
171
       set_layer_color(1);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
172
       break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
173
     case 2:
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
174
       set_layer_color(2);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
175
       break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
176
     case 3:
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
177
       set_layer_color(3);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
178
       break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
179
     case 4:
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
180
       set_layer_color(4);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
181
       break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
182
    default:
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
183
     if (rgb_matrix_get_flags() == LED_FLAG_NONE)
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
184
       rgb_matrix_set_color_all(0, 0, 0);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
185
     break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
186
   }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
187
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
188
 
3
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
189
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
95
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
190
   switch (keycode) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
191
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
192
     case RGB_SLD:
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
193
         if (rawhid_state.rgb_control) {
3
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
194
             return false;
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
195
         }
95
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
196
         if (record->event.pressed) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
197
             rgblight_mode(1);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
198
         }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
199
         return false;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
200
   }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
201
   return true;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
202
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
203
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
204
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
205
 typedef struct {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
206
     bool is_press_action;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
207
     uint8_t step;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
208
 } tap;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
209
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
210
 enum {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
211
     SINGLE_TAP = 1,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
212
     SINGLE_HOLD,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
213
     DOUBLE_TAP,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
214
     DOUBLE_HOLD,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
215
     DOUBLE_SINGLE_TAP,
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
216
     MORE_TAPS
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
217
 };
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
218
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
219
 static tap dance_state[9];
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
220
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
221
 uint8_t dance_step(qk_tap_dance_state_t *state);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
222
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
223
 uint8_t dance_step(qk_tap_dance_state_t *state) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
224
     if (state->count == 1) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
225
         if (state->interrupted || !state->pressed) return SINGLE_TAP;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
226
         else return SINGLE_HOLD;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
227
     } else if (state->count == 2) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
228
         if (state->interrupted) return DOUBLE_SINGLE_TAP;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
229
         else if (state->pressed) return DOUBLE_HOLD;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
230
         else return DOUBLE_TAP;
3
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
231
     }
95
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
232
     return MORE_TAPS;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
233
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
234
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
235
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
236
 void on_dance_0(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
237
 void dance_0_finished(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
238
 void dance_0_reset(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
239
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
240
 void on_dance_0(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
241
     if(state->count == 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
242
         tap_code16(LCTL(KC_GRAVE));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
243
         tap_code16(LCTL(KC_GRAVE));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
244
         tap_code16(LCTL(KC_GRAVE));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
245
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
246
     if(state->count > 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
247
         tap_code16(LCTL(KC_GRAVE));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
248
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
249
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
250
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
251
 void dance_0_finished(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
252
     dance_state[0].step = dance_step(state);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
253
     switch (dance_state[0].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
254
         case SINGLE_TAP: register_code16(LCTL(KC_GRAVE)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
255
         case SINGLE_HOLD: register_code16(LCTL(KC_V)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
256
         case DOUBLE_TAP: register_code16(LCTL(KC_GRAVE)); register_code16(LCTL(KC_GRAVE)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
257
         case DOUBLE_SINGLE_TAP: tap_code16(LCTL(KC_GRAVE)); register_code16(LCTL(KC_GRAVE));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
258
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
259
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
260
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
261
 void dance_0_reset(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
262
     wait_ms(10);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
263
     switch (dance_state[0].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
264
         case SINGLE_TAP: unregister_code16(LCTL(KC_GRAVE)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
265
         case SINGLE_HOLD: unregister_code16(LCTL(KC_V)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
266
         case DOUBLE_TAP: unregister_code16(LCTL(KC_GRAVE)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
267
         case DOUBLE_SINGLE_TAP: unregister_code16(LCTL(KC_GRAVE)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
268
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
269
     dance_state[0].step = 0;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
270
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
271
 void on_dance_1(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
272
 void dance_1_finished(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
273
 void dance_1_reset(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
274
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
275
 void on_dance_1(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
276
     if(state->count == 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
277
         tap_code16(KC_9);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
278
         tap_code16(KC_9);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
279
         tap_code16(KC_9);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
280
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
281
     if(state->count > 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
282
         tap_code16(KC_9);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
283
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
284
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
285
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
286
 void dance_1_finished(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
287
     dance_state[1].step = dance_step(state);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
288
     switch (dance_state[1].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
289
         case SINGLE_TAP: register_code16(KC_9); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
290
         case SINGLE_HOLD: register_code16(LCTL(KC_X)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
291
         case DOUBLE_TAP: register_code16(KC_9); register_code16(KC_9); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
292
         case DOUBLE_SINGLE_TAP: tap_code16(KC_9); register_code16(KC_9);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
293
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
294
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
295
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
296
 void dance_1_reset(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
297
     wait_ms(10);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
298
     switch (dance_state[1].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
299
         case SINGLE_TAP: unregister_code16(KC_9); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
300
         case SINGLE_HOLD: unregister_code16(LCTL(KC_X)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
301
         case DOUBLE_TAP: unregister_code16(KC_9); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
302
         case DOUBLE_SINGLE_TAP: unregister_code16(KC_9); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
303
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
304
     dance_state[1].step = 0;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
305
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
306
 void on_dance_2(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
307
 void dance_2_finished(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
308
 void dance_2_reset(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
309
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
310
 void on_dance_2(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
311
     if(state->count == 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
312
         tap_code16(KC_0);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
313
         tap_code16(KC_0);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
314
         tap_code16(KC_0);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
315
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
316
     if(state->count > 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
317
         tap_code16(KC_0);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
318
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
319
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
320
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
321
 void dance_2_finished(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
322
     dance_state[2].step = dance_step(state);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
323
     switch (dance_state[2].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
324
         case SINGLE_TAP: register_code16(KC_0); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
325
         case SINGLE_HOLD: register_code16(LCTL(KC_C)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
326
         case DOUBLE_TAP: register_code16(KC_0); register_code16(KC_0); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
327
         case DOUBLE_SINGLE_TAP: tap_code16(KC_0); register_code16(KC_0);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
328
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
329
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
330
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
331
 void dance_2_reset(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
332
     wait_ms(10);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
333
     switch (dance_state[2].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
334
         case SINGLE_TAP: unregister_code16(KC_0); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
335
         case SINGLE_HOLD: unregister_code16(LCTL(KC_C)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
336
         case DOUBLE_TAP: unregister_code16(KC_0); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
337
         case DOUBLE_SINGLE_TAP: unregister_code16(KC_0); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
338
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
339
     dance_state[2].step = 0;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
340
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
341
 void on_dance_3(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
342
 void dance_3_finished(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
343
 void dance_3_reset(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
344
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
345
 void on_dance_3(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
346
     if(state->count == 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
347
         tap_code16(LALT(KC_SPACE));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
348
         tap_code16(LALT(KC_SPACE));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
349
         tap_code16(LALT(KC_SPACE));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
350
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
351
     if(state->count > 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
352
         tap_code16(LALT(KC_SPACE));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
353
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
354
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
355
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
356
 void dance_3_finished(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
357
     dance_state[3].step = dance_step(state);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
358
     switch (dance_state[3].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
359
         case SINGLE_TAP: register_code16(LALT(KC_SPACE)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
360
         case SINGLE_HOLD: register_code16(KC_LGUI); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
361
         case DOUBLE_TAP: register_code16(LALT(KC_SPACE)); register_code16(LALT(KC_SPACE)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
362
         case DOUBLE_SINGLE_TAP: tap_code16(LALT(KC_SPACE)); register_code16(LALT(KC_SPACE));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
363
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
364
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
365
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
366
 void dance_3_reset(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
367
     wait_ms(10);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
368
     switch (dance_state[3].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
369
         case SINGLE_TAP: unregister_code16(LALT(KC_SPACE)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
370
         case SINGLE_HOLD: unregister_code16(KC_LGUI); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
371
         case DOUBLE_TAP: unregister_code16(LALT(KC_SPACE)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
372
         case DOUBLE_SINGLE_TAP: unregister_code16(LALT(KC_SPACE)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
373
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
374
     dance_state[3].step = 0;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
375
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
376
 void on_dance_4(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
377
 void dance_4_finished(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
378
 void dance_4_reset(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
379
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
380
 void on_dance_4(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
381
     if(state->count == 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
382
         tap_code16(LGUI(KC_2));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
383
         tap_code16(LGUI(KC_2));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
384
         tap_code16(LGUI(KC_2));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
385
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
386
     if(state->count > 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
387
         tap_code16(LGUI(KC_2));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
388
     }
3
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
389
 }
95
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
390
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
391
 void dance_4_finished(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
392
     dance_state[4].step = dance_step(state);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
393
     switch (dance_state[4].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
394
         case SINGLE_TAP: register_code16(LGUI(KC_2)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
395
         case SINGLE_HOLD: layer_on(4); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
396
         case DOUBLE_TAP: register_code16(LGUI(KC_2)); register_code16(LGUI(KC_2)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
397
         case DOUBLE_SINGLE_TAP: tap_code16(LGUI(KC_2)); register_code16(LGUI(KC_2));
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
398
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
399
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
400
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
401
 void dance_4_reset(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
402
     wait_ms(10);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
403
     switch (dance_state[4].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
404
         case SINGLE_TAP: unregister_code16(LGUI(KC_2)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
405
         case SINGLE_HOLD: layer_off(4); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
406
         case DOUBLE_TAP: unregister_code16(LGUI(KC_2)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
407
         case DOUBLE_SINGLE_TAP: unregister_code16(LGUI(KC_2)); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
408
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
409
     dance_state[4].step = 0;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
410
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
411
 void on_dance_5(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
412
 void dance_5_finished(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
413
 void dance_5_reset(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
414
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
415
 void on_dance_5(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
416
     if(state->count == 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
417
         tap_code16(KC_PSCREEN);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
418
         tap_code16(KC_PSCREEN);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
419
         tap_code16(KC_PSCREEN);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
420
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
421
     if(state->count > 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
422
         tap_code16(KC_PSCREEN);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
423
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
424
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
425
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
426
 void dance_5_finished(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
427
     dance_state[5].step = dance_step(state);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
428
     switch (dance_state[5].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
429
         case SINGLE_TAP: register_code16(KC_PSCREEN); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
430
         case SINGLE_HOLD: register_code16(LGUI(LSFT(KC_S))); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
431
         case DOUBLE_TAP: register_code16(KC_PSCREEN); register_code16(KC_PSCREEN); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
432
         case DOUBLE_SINGLE_TAP: tap_code16(KC_PSCREEN); register_code16(KC_PSCREEN);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
433
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
434
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
435
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
436
 void dance_5_reset(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
437
     wait_ms(10);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
438
     switch (dance_state[5].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
439
         case SINGLE_TAP: unregister_code16(KC_PSCREEN); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
440
         case SINGLE_HOLD: unregister_code16(LGUI(LSFT(KC_S))); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
441
         case DOUBLE_TAP: unregister_code16(KC_PSCREEN); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
442
         case DOUBLE_SINGLE_TAP: unregister_code16(KC_PSCREEN); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
443
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
444
     dance_state[5].step = 0;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
445
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
446
 void dance_6_finished(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
447
 void dance_6_reset(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
448
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
449
 void dance_6_finished(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
450
     dance_state[6].step = dance_step(state);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
451
     switch (dance_state[6].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
452
         case SINGLE_TAP: layer_move(0); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
453
         case SINGLE_HOLD: layer_on(4); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
454
         case DOUBLE_TAP: layer_move(0); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
455
         case DOUBLE_SINGLE_TAP: layer_move(0); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
456
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
457
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
458
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
459
 void dance_6_reset(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
460
     wait_ms(10);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
461
     switch (dance_state[6].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
462
         case SINGLE_HOLD: layer_off(4); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
463
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
464
     dance_state[6].step = 0;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
465
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
466
 void on_dance_7(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
467
 void dance_7_finished(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
468
 void dance_7_reset(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
469
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
470
 void on_dance_7(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
471
     if(state->count == 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
472
         tap_code16(KC_LCBR);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
473
         tap_code16(KC_LCBR);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
474
         tap_code16(KC_LCBR);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
475
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
476
     if(state->count > 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
477
         tap_code16(KC_LCBR);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
478
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
479
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
480
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
481
 void dance_7_finished(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
482
     dance_state[7].step = dance_step(state);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
483
     switch (dance_state[7].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
484
         case SINGLE_TAP: register_code16(KC_LCBR); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
485
         case SINGLE_HOLD: register_code16(KC_LSHIFT); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
486
         case DOUBLE_TAP: register_code16(KC_LCBR); register_code16(KC_LCBR); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
487
         case DOUBLE_SINGLE_TAP: tap_code16(KC_LCBR); register_code16(KC_LCBR);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
488
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
489
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
490
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
491
 void dance_7_reset(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
492
     wait_ms(10);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
493
     switch (dance_state[7].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
494
         case SINGLE_TAP: unregister_code16(KC_LCBR); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
495
         case SINGLE_HOLD: unregister_code16(KC_LSHIFT); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
496
         case DOUBLE_TAP: unregister_code16(KC_LCBR); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
497
         case DOUBLE_SINGLE_TAP: unregister_code16(KC_LCBR); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
498
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
499
     dance_state[7].step = 0;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
500
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
501
 void on_dance_8(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
502
 void dance_8_finished(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
503
 void dance_8_reset(qk_tap_dance_state_t *state, void *user_data);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
504
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
505
 void on_dance_8(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
506
     if(state->count == 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
507
         tap_code16(KC_RCBR);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
508
         tap_code16(KC_RCBR);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
509
         tap_code16(KC_RCBR);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
510
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
511
     if(state->count > 3) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
512
         tap_code16(KC_RCBR);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
513
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
514
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
515
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
516
 void dance_8_finished(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
517
     dance_state[8].step = dance_step(state);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
518
     switch (dance_state[8].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
519
         case SINGLE_TAP: register_code16(KC_RCBR); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
520
         case SINGLE_HOLD: register_code16(KC_RSHIFT); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
521
         case DOUBLE_TAP: register_code16(KC_RCBR); register_code16(KC_RCBR); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
522
         case DOUBLE_SINGLE_TAP: tap_code16(KC_RCBR); register_code16(KC_RCBR);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
523
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
524
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
525
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
526
 void dance_8_reset(qk_tap_dance_state_t *state, void *user_data) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
527
     wait_ms(10);
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
528
     switch (dance_state[8].step) {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
529
         case SINGLE_TAP: unregister_code16(KC_RCBR); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
530
         case SINGLE_HOLD: unregister_code16(KC_RSHIFT); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
531
         case DOUBLE_TAP: unregister_code16(KC_RCBR); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
532
         case DOUBLE_SINGLE_TAP: unregister_code16(KC_RCBR); break;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
533
     }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
534
     dance_state[8].step = 0;
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
535
 }
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
536
 
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
537
 qk_tap_dance_action_t tap_dance_actions[] = {
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
538
         [DANCE_0] = ACTION_TAP_DANCE_FN_ADVANCED(on_dance_0, dance_0_finished, dance_0_reset),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
539
         [DANCE_1] = ACTION_TAP_DANCE_FN_ADVANCED(on_dance_1, dance_1_finished, dance_1_reset),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
540
         [DANCE_2] = ACTION_TAP_DANCE_FN_ADVANCED(on_dance_2, dance_2_finished, dance_2_reset),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
541
         [DANCE_3] = ACTION_TAP_DANCE_FN_ADVANCED(on_dance_3, dance_3_finished, dance_3_reset),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
542
         [DANCE_4] = ACTION_TAP_DANCE_FN_ADVANCED(on_dance_4, dance_4_finished, dance_4_reset),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
543
         [DANCE_5] = ACTION_TAP_DANCE_FN_ADVANCED(on_dance_5, dance_5_finished, dance_5_reset),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
544
         [DANCE_6] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_6_finished, dance_6_reset),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
545
         [DANCE_7] = ACTION_TAP_DANCE_FN_ADVANCED(on_dance_7, dance_7_finished, dance_7_reset),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
546
         [DANCE_8] = ACTION_TAP_DANCE_FN_ADVANCED(on_dance_8, dance_8_finished, dance_8_reset),
f69061a590da moonlander concessions
Richard Westhaver <ellis@rwest.io>
parents: 3
diff changeset
547
 };