summaryrefslogtreecommitdiffstats
path: root/keyboards/ckeys/thedora/keymaps/default/keymap.c
blob: 783475eb0a40ede956fd37e69ce94588ca3ee9ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#include QMK_KEYBOARD_H

enum layers {
  _BASE,                // base layer
  _MUSIC,               // music mode
  _MIDI,                // midi mode
  _MOUSE,               // mouse keys
  _ADMIN                // admin duties
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

//           ┌─────────┬─────────┬─────────┬─────────┬─────────┐
//           │         │         │         │         │         │
//           │    7    │    8    │    9    │    /    │  ADMIN  │
//  ROTORY   │         │         │         │         │         │
//  RIGHT:   ├─────────┼─────────┼─────────┼─────────┼─────────┤
//  VOL UP   │         │         │         │         │         │
//           │    4    │    5    │    6    │    *    │  MOUSE  │
//  ROTORY   │         │         │         │         │         │
//  LEFT:    ├─────────┼─────────┼─────────┼─────────┼─────────┤
//  VOL DOWN │         │         │         │         │         │
//           │    1    │    2    │    3    │    -    │  MIDI   │
//           │         │         │         │         │         │
// ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
// │  TOGGLE │         │         │         │         │         │
// │  MUSIC  │    0    │    .    │    =    │    +    │  MUSIC  │
// │         │         │         │         │         │         │
// └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘

  [_BASE] = LAYOUT(
    KC_KP_7, KC_KP_8,   KC_KP_9,     KC_PSLS, MO(_ADMIN), MU_TOG,
    KC_KP_4, KC_KP_5,   KC_KP_6,     KC_PAST, TG(_MOUSE),
    KC_KP_1, KC_KP_2,   KC_KP_3,     KC_PMNS, TG(_MIDI),
    KC_KP_0, KC_KP_DOT, KC_KP_EQUAL, KC_PPLS, MO(_MUSIC)
  ),

// MUSIC LAYER
 //          ┌─────────┬─────────┬─────────┬─────────┬─────────┐
 //          │         │         │         │         │         │
 //          │         │         │         │         │         │
 // ROTORY   │         │         │         │         │         │
 // RIGHT:   ├─────────┼─────────┼─────────┼─────────┼─────────┤
 // PAGE UP  │         │         │         │         │         │
 //          │         │         │         │         │         │
 // ROTORY   │         │         │         │         │         │
 // LEFT:    ├─────────┼─────────┼─────────┼─────────┼─────────┤
 // PAGE DOWN│         │         │         │         │         │
 //          │         │         │         │  MODE   │         │
 //          │         │         │         │         │         │
 //┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
 //│         │         │         │         │         │         │
 //│         │ RECORD  │  STOP   │         │  PLAY   │         │
 //│         │         │         │         │         │         │
 //└─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘

  [_MUSIC] = LAYOUT(
    _______, _______, _______, _______, _______, _______,
    _______, _______, _______, _______, _______,
    _______, _______, _______, _______, MU_MOD,
    KC_LCTL, KC_LALT, _______, KC_LGUI, _______
  ),

// MIDI LAYER
//           ┌─────────┬─────────┬─────────┬─────────┬─────────┐
//           │         │         │         │         │         │
//           │   D♯    │    E    │    F    │   F♯    │    G    │
//  ROTORY   │         │         │         │         │         │
//  RIGHT:   ├─────────┼─────────┼─────────┼─────────┼─────────┤
//  PAGE UP  │         │         │         │         │         │
//           │   A♯    │    B    │    C    │   C♯    │    D    │
//  ROTORY   │         │         │         │         │         │
//  LEFT:    ├─────────┼─────────┼─────────┼─────────┼─────────┤
//  PAGE DOWN│         │         │         │         │         │
//           │    F    │   F♯    │    G    │   G♯    │    A    │
//           │         │         │         │         │         │
// ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
// │         │         │         │         │         │         │
// │         │    C    │   C♯    │    D    │   D♯    │    E    │
// │         │         │         │         │         │         │
// └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘

  [_MIDI] = LAYOUT(
    MI_Ds_3, MI_E_3,  MI_F_3, MI_Fs_3, MI_G_3, _______,
    MI_As_2, MI_B_2,  MI_C_3, MI_Cs_3, MI_D_3,
    MI_F_2,  MI_Fs_2, MI_G_2, MI_Gs_2, TG(_MIDI),
    MI_C_2,  MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2
  ),

// MOUSE LAYER
//           ┌─────────┬─────────┬─────────┬─────────┬─────────┐
//           │         │         │         │         │         │
//           │  BTN 5  │         │  WHEEL  │         │         │
//  ROTORY   │         │         │   UP    │         │         │
//  RIGHT:   ├─────────┼─────────┼─────────┼─────────┼─────────┤
//  PAGE DOWN│         │         │         │         │         │
//           │         │  LEFT   │  MOUSE  │  RIGHT  │         │
//  ROTORY   │         │  CLICK  │   UP    │  CLICK  │         │
//  LEFT:    ├─────────┼─────────┼─────────┼─────────┼─────────┤
//  PAGE UP  │         │         │         │         │         │
//           │  BTN 4  │  MOUSE  │  MOUSE  │  MOUSE  │         │
//           │         │  LEFT   │  DOWN   │  RIGHT  │         │
// ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
// │         │         │         │         │         │         │
// │         │  BTN 3  │  WHEEL  │  WHEEL  │  WHEEL  │         │
// │         │         │  LEFT   │  DOWN   │  RIGHT  │         │
// └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘

  [_MOUSE] = LAYOUT(
    KC_MS_BTN5, _______,       KC_MS_WH_UP,   _______,        _______,    _______,
    _______,    KC_MS_BTN1,    KC_MS_UP,      KC_MS_BTN2,     TG(_MOUSE),
    KC_MS_BTN4, KC_MS_LEFT,    KC_MS_DOWN,    KC_MS_RIGHT,    _______,
    KC_MS_BTN3, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, _______
  ),

// ADMIN LAYER
//           ┌─────────┬─────────┬─────────┬─────────┬─────────┐
//           │         │         │         │         │         │
//           │  RESET  │         │         │         │         │
//  ROTORY   │         │         │         │         │         │
//  RIGHT:   ├─────────┼─────────┼─────────┼─────────┼─────────┤
//  PAGE UP  │         │         │         │         │         │
//           │    4    │    5    │    6    │    *    │         │
//  ROTORY   │         │         │         │         │         │
//  LEFT:    ├─────────┼─────────┼─────────┼─────────┼─────────┤
//  PAGE DOWN│         │         │         │         │         │
//           │    1    │    2    │    3    │         │         │
//           │         │         │         │         │         │
// ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
// │         │         │         │         │         │         │
// │         │    0    │    .    │    =    │         │         │
// │         │         │         │         │         │         │
// └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘

  [_ADMIN] = LAYOUT(
    RESET,   _______, _______, _______, TG(_ADMIN), _______,
    _______, _______, _______, _______, _______,
    _______, _______, _______, _______, _______,
    _______, _______, _______, _______, _______
  ),
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  return true;
};

bool encoder_update_user(uint8_t index, bool clockwise) {
  if (index == 0) { /* First encoder */
    if (clockwise) {
      tap_code(KC_PGDN);
    } else {
      tap_code(KC_PGUP);
    }
  }
    return true;
}