]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/puck/keymaps/default/keymap.c
Merge branch 'master' into debounce_refactor
[qmk_firmware.git] / keyboards / puck / keymaps / default / keymap.c
1 #include QMK_KEYBOARD_H
2
3 #define _BL 0
4 #define _HL 1
5 #define _LL 2
6
7 enum keycodes {
8   LOW,
9   HIGH
10 };
11
12 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
13   /*
14   * Base Layer (Numbers)
15   */
16   [_BL] = LAYOUT(
17     KC_KP_7,    KC_KP_8,    KC_KP_9,
18     KC_KP_4,    KC_KP_5,    KC_KP_6,
19     KC_KP_1,    KC_KP_2,    KC_KP_3,
20     LOW,        KC_KP_0,    HIGH
21   ),
22   /*
23   * High Layer (Work)
24   */
25   [_HL] = LAYOUT(
26     KC_NUMLOCK,      KC_PAST,    KC_NO,
27     KC_PMNS,         KC_PENT,    KC_PPLS,
28     KC_NO,           KC_PSLS,    KC_NO,
29     KC_NO,           KC_PDOT,    KC_NO
30   ),
31   /*
32   * Low Layer (Media)
33   */
34   [_LL] = LAYOUT(
35     KC_NO,    KC_VOLU,    KC_NO,
36     KC_MPRV,  KC_MPLY,    KC_MNXT,
37     KC_NO,    KC_VOLD,    KC_NO,
38     KC_NO,    KC_NO,      KC_NO
39   ),
40 };
41
42 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
43   switch(keycode) {
44     case HIGH:
45       if (record->event.pressed) {
46         layer_on(_HL);
47       }else{
48         layer_off(_HL);
49         layer_off(_LL);
50       }
51       return false;
52       break;
53     case LOW:
54       if (record->event.pressed) {
55         layer_on(_LL);
56       }else{
57         layer_off(_LL);
58         layer_off(_HL);
59       }
60       return false;
61       break;
62   }
63   return true;
64 }