]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c
Keyboard: Shuffle keyboards into thevankeyboards directory (#3895)
[qmk_firmware.git] / keyboards / thevankeyboards / minivan / keymaps / tong92 / keymap.c
1 //Author: tong92 <tong92power@gmail.com>
2 #include QMK_KEYBOARD_H
3
4 #ifdef BACKLIGHT_ENABLE
5   #include "backlight.h"
6 #endif
7
8 extern keymap_config_t keymap_config;
9
10 enum tv44_layers {
11   _WINDOW,
12   _MAC,
13   _LOWER,
14   _RAISE,
15   _WINDOW_SHORTCUT,
16   _MAC_SHORTCUT,
17   _MOUSE
18 };
19
20 enum tv44_keycodes {
21   WINDOW = SAFE_RANGE,
22   MAC,
23   MOUSE,
24   BACKLIT,
25   EXT_MOUSE
26 };
27
28 // Fillers to make layering more clear
29 #define _______ KC_TRNS
30 #define LOWER F(_LOWER)
31 #define RAISE F(_RAISE)
32 #define XXXXXXX KC_NO
33 #define WINDOW_SHORTCUT MO(_WINDOW_SHORTCUT)
34 #define MAC_SHORTCUT MO(_MAC_SHORTCUT)
35
36 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37
38 /* Window - Qwerty
39  * ,--------------------------------------------------------------------------.
40  * | Tab  |  Q  |  W  |  E  |  R  |  T  |  Y  |  U  |  I  |  O  |  P  |  Bksp |
41  * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
42  * | Ctrl  |  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  |  ;  | Enter|
43  * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
44  * | Shift  |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  | /   |Shift|
45  * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
46  * | Ft   |  GUI  | Alt  | Space/LOWER | Space/RAISE |  '   |  [  |  ]  | Alt |
47  * `--------------------------------------------------------------------------'
48  */
49 [_WINDOW] = LAYOUT_arrow(
50 KC_TAB, KC_Q,   KC_W,   KC_E, KC_R,   KC_T,   KC_Y,   KC_U, KC_I,   KC_O,   KC_P,   KC_BSPC,
51 KC_LCTL,KC_A,   KC_S,   KC_D, KC_F,   KC_G,   KC_H,   KC_J, KC_K,   KC_L,   KC_SCLN,KC_ENT,
52 KC_LSFT,KC_Z,   KC_X,   KC_C, KC_V,   KC_B,   KC_N,   KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,
53 WINDOW_SHORTCUT,    KC_LGUI,KC_LALT,              LOWER,  RAISE,        KC_QUOT,KC_LBRC,KC_RBRC,KC_RALT
54 ),
55 /* Mac - Qwerty
56  * ,--------------------------------------------------------------------------.
57  * | Tab  |  Q  |  W  |  E  |  R  |  T  |  Y  |  U  |  I  |  O  |  P  |  Bksp |
58  * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
59  * | Cmd   |  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  |  ;  | Enter|
60  * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
61  * | Shift  |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  | /   |Shift|
62  * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
63  * | Ft   |  Alt | Ctrl  | Space/LOWER | Space/RAISE |  '   |  [  |  ]  | Alt |
64  * `--------------------------------------------------------------------------'
65  */
66 [_MAC] = LAYOUT_arrow(
67 KC_TAB, KC_Q,   KC_W,   KC_E, KC_R,   KC_T,   KC_Y,   KC_U, KC_I,   KC_O,   KC_P,   KC_BSPC,
68 KC_LGUI,KC_A,   KC_S,   KC_D, KC_F,   KC_G,   KC_H,   KC_J, KC_K,   KC_L,   KC_SCLN,KC_ENT,
69 KC_LSFT,KC_Z,   KC_X,   KC_C, KC_V,   KC_B,   KC_N,   KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,
70 MAC_SHORTCUT,    KC_LALT, KC_LCTRL,              LOWER,  RAISE,        KC_QUOT,KC_LBRC,KC_RBRC,KC_RALT
71 ),
72 /* LOWER
73  * ,--------------------------------------------------------------------------.
74  * |  `   |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  0  |       |
75  * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
76  * |       |  F1 |  F2 |  F3 |  F4 |  F5 |  F6 |  -  |  +  |  [  |  ]  |   \  |
77  * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
78  * |        |  F7 |  F8 |  F9 | F10 | F11 | F12 |     | HOME| PgUp|  UP | PgDo|
79  * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
80  * |      |       |      |             |             |  END | LEFT| Down|RIGHT|
81  * `--------------------------------------------------------------------------'
82  */
83 [_LOWER] = LAYOUT_arrow(
84 KC_GRV, KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,   KC_9,   KC_0,   _______,
85 _______,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  KC_MINS,KC_PLUS,KC_LBRC,KC_RBRC,KC_BSLS,
86 _______,KC_F7,  KC_F8,  KC_F9,  KC_F10, KC_F11, KC_F12, XXXXXXX,KC_HOME,KC_PGUP,KC_UP  ,KC_PGDN,
87 XXXXXXX,_______,_______,                _______,XXXXXXX,        KC_END, KC_LEFT,KC_DOWN,KC_RIGHT
88 ),
89 /* RAISE
90  * ,--------------------------------------------------------------------------.
91  * |  ~   |  !  |  @  |  #  |  $  |  %  |  ^  |  &  |  *  |  (  |  )  |       |
92  * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
93  * |       |  F1 |  F2 |  F3 |  F4 |  F5 |  F6 |  _  |  =  |  {  |  }  |   |  |
94  * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
95  * |        |  F7 |  F8 |  F9 | F10 | F11 | F12 |     | HOME| PgUp|  UP | PgDo|
96  * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
97  * |      |       |      |             |             |  END | LEFT| Down|RIGHT|
98  * `--------------------------------------------------------------------------'
99  */
100 [_RAISE] = LAYOUT_arrow(
101 KC_TILD,KC_EXLM,KC_AT,  KC_HASH,KC_DLR, KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,_______,
102 _______,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  KC_UNDS,KC_EQL, KC_LCBR,KC_RCBR,KC_PIPE,
103 _______,KC_F7,  KC_F8,  KC_F9,  KC_F10, KC_F11, KC_F12, _______,KC_HOME,KC_PGUP,KC_UP  ,KC_PGDN,
104 XXXXXXX,_______,_______,                _______,_______,        KC_END, KC_LEFT,KC_DOWN,KC_RIGHT
105 ),
106 /* Window Shortcut
107  * ,--------------------------------------------------------------------------.
108  * |  ESC |WinOf|WinUp|     |     |Sh+Ca|     | PgUp| UP  | PgDo|PrtSc| DELET |
109  * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
110  * |       |WinLe|WinDo|WinRi|     |Al+Ca|CapsL| LEFT| DOWN|RIGHT|     |      |
111  * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
112  * |        |WinLW|WinRW|     |     |Ct+Ca|ScroL| HOME|     | END |     | Ctrl|
113  * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
114  * |      | DeskL | DeskR| Task Manager|    DeskX    | MOUSE|     |     | LED |
115  * `--------------------------------------------------------------------------'
116  */
117 [_WINDOW_SHORTCUT] = LAYOUT_arrow(
118 KC_ESC ,LALT(KC_F4)        ,LGUI(KC_UP)         ,XXXXXXX       ,XXXXXXX,S(KC_CAPS)         ,XXXXXXX          ,KC_PGUP,KC_UP  ,KC_PGDN ,KC_PSCR,KC_DELT,
119 _______,LGUI(KC_LEFT)      ,LGUI(KC_DOWN)       ,LGUI(KC_RIGHT),XXXXXXX,LALT(KC_CAPS)      ,KC_CAPS          ,KC_LEFT,KC_DOWN,KC_RIGHT,XXXXXXX,XXXXXXX,
120 _______,LGUI(LSFT(KC_LEFT)),LGUI(LSFT(KC_RIGHT)),XXXXXXX       ,XXXXXXX,LCTL(KC_CAPS)      ,KC_SLCK          ,KC_HOME,XXXXXXX,KC_END  ,XXXXXXX,KC_RCTL,
121 _______,LGUI(LCTL(KC_LEFT)),LGUI(LCTL(KC_RIGHT)),                       LCTL(LALT(KC_DELT)),LGUI(LCTL(KC_F4)),        MOUSE  ,XXXXXXX ,XXXXXXX,BACKLIT
122 ),
123 /* Mac Shortcut
124  * ,--------------------------------------------------------------------------.
125  * |  ESC |CmdUp|CmdDo|     |     |     |     | PgUp| UP  | PgDo|PrtSc| DELET |
126  * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
127  * |       |WBlkL|WBlkR|     |ScrFu|     |CapsL| LEFT| DOWN|RIGHT|     |      |
128  * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
129  * |        |BlckL|BlckR|     |     |     |     | HOME|     | END |     | Ctrl|
130  * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
131  * |      |       |      |             |             | MOUSE|     |     | LED |
132  * `--------------------------------------------------------------------------'
133  */
134 [_MAC_SHORTCUT] = LAYOUT_arrow(
135 KC_ESC ,LGUI(KC_UP)        ,LGUI(KC_DOWN)         ,XXXXXXX       ,XXXXXXX,XXXXXXX         ,XXXXXXX          ,KC_PGUP,KC_UP  ,KC_PGDN ,KC_PSCR,KC_DELT,
136 _______,LALT(LSFT(KC_LEFT))      ,LALT(LSFT(KC_RIGHT))       ,XXXXXXX,LGUI(LCTL(KC_F)),XXXXXXX      ,KC_CAPS          ,KC_LEFT,KC_DOWN,KC_RIGHT,XXXXXXX,XXXXXXX,
137 _______,LGUI(LSFT(KC_LEFT)),LGUI(LSFT(KC_RIGHT)),XXXXXXX       ,XXXXXXX,XXXXXXX     ,XXXXXXX          ,KC_HOME,XXXXXXX,KC_END  ,XXXXXXX,KC_RCTL,
138 _______,_______,_______, _______,_______,        MOUSE  ,XXXXXXX ,XXXXXXX,BACKLIT
139 ),
140 /* MOUSE
141  * ,--------------------------------------------------------------------------.
142  * |      |     |     |Mo_Up|     |     |     |M_WhL|M_WhU|M_WhR|     | RESET |
143  * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
144  * |       |     |Mo_Le|Mo_Do|Mo_Ri|     |     |M_Bt1|M_WhD|M_Bt2|     |      |
145  * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
146  * |        |     |     |     |     |     |     |M_AC0|M_AC1|M_AC2|     |WINDO|
147  * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
148  * |      |      |      | GO_DEFAULT  |  GO_DEFAULT |       |     |     | MAC |
149  * `--------------------------------------------------------------------------'
150  */
151 [_MOUSE] = LAYOUT_arrow(
152 XXXXXXX,XXXXXXX,XXXXXXX,KC_MS_U,XXXXXXX,XXXXXXX,XXXXXXX,KC_WH_L,KC_WH_U,KC_WH_R,XXXXXXX,RESET,
153 XXXXXXX,XXXXXXX,KC_MS_L,KC_MS_D,KC_MS_R,XXXXXXX,XXXXXXX,KC_BTN1,KC_WH_D,KC_BTN2,XXXXXXX,XXXXXXX,
154 XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_ACL0,KC_ACL1,KC_ACL2,XXXXXXX,WINDOW,
155 XXXXXXX,XXXXXXX,XXXXXXX,                EXT_MOUSE,EXT_MOUSE,        XXXXXXX,XXXXXXX,XXXXXXX,MAC
156 )
157 };
158
159 const uint16_t PROGMEM fn_actions[] = {
160  [_LOWER] = ACTION_LAYER_TAP_KEY(_LOWER, KC_SPC),
161  [_RAISE] = ACTION_LAYER_TAP_KEY(_RAISE, KC_SPC)
162 };
163
164 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
165   switch(keycode) {
166     case WINDOW:
167       if (record->event.pressed) {
168         set_single_persistent_default_layer(_WINDOW);
169       }
170       return false;
171       break;
172     case MAC:
173       if (record->event.pressed) {
174         set_single_persistent_default_layer(_MAC);
175       }
176       return false;
177       break;
178     case BACKLIT:
179       if (record->event.pressed) {
180         #ifdef BACKLIGHT_ENABLE
181           backlight_step();
182         #endif
183       }
184       return false;
185       break;
186     case MOUSE:
187       if (record->event.pressed) {
188         layer_on(_MOUSE);
189       }
190       return false;
191       break;
192     case EXT_MOUSE:
193       if (record->event.pressed) {
194         layer_off(_MOUSE);
195         layer_off(_WINDOW_SHORTCUT);
196         layer_off(_MAC_SHORTCUT);
197       }
198       return false;
199       break;
200   }
201   return true;
202 };
203