]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/cospad/keymaps/default/keymap.c
[Keymap] update (mouse emulation, rev 6 compatibility) (#5696)
[qmk_firmware.git] / keyboards / cospad / keymaps / default / keymap.c
1 #include QMK_KEYBOARD_H
2 #include "led.h"
3
4 // Each layer gets a name for readability, which is then used in the keymap matrix below.
5 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
6 // Layer names don't all need to be of the same length, obviously, and you can also skip them
7 // entirely and just use numbers.
8 #define _BL 0
9 #define _FL 1
10
11 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
12   /* Keymap _BL: (Base Layer) Default Layer
13    * ,-------------------.
14    * |Esc |TAB | FN | BS |
15    * |----|----|----|----|
16    * | NL | /  | *  | -  |
17    * |----|----|----|----|
18    * | 7  | 8  | 9  |    |
19    * |----|----|----| +  |
20    * | 4  | 5  | 6  |    |
21    * |----|----|----|----|
22    * | 1  | 2  | 3  |    |
23    * |----|----|----| En |
24    * |   0     | .  |    |
25    * `-------------------'
26    */
27
28 [_BL] = LAYOUT_numpad_6x4(
29   KC_ESC,   KC_TAB,   MO(_FL),   KC_BSPC, \
30   KC_NLCK,  KC_PSLS,  KC_PAST,   KC_PMNS, \
31   KC_P7,    KC_P8,    KC_P9,              \
32   KC_P4,    KC_P5,    KC_P6,     KC_PPLS, \
33   KC_P1,    KC_P2,    KC_P3,              \
34   KC_P0,              KC_PDOT,   KC_PENT),
35
36   /* Keymap _FL: Function Layer
37    * ,-------------------.
38    * |RGBT|TAB | FN | BS |
39    * |----|----|----|----|
40    * |RGBM|RGBP|BTOG| -  |
41    * |----|----|----|----|
42    * |HUD |HUI |BON |    |
43    * |----|----|----| +  |
44    * |SAD |SAI |BOFF|    |
45    * |----|----|----|----|
46    * |VAD |VAS | 3  |    |
47    * |----|----|----| En |
48    * |   0     |RST |    |
49    * `-------------------'
50    */
51 [_FL] = LAYOUT_numpad_6x4(
52   RGB_TOG,  KC_TAB,   KC_TRNS,   KC_BSPC, \
53   RGB_MOD,  RGB_M_P,  BL_TOGG,   KC_PMNS, \
54   RGB_HUD,  RGB_HUI,  BL_ON,              \
55   RGB_SAD,  RGB_SAI,  BL_OFF,    KC_PPLS, \
56   RGB_VAD,  RGB_VAI,  KC_P3,              \
57   KC_P0,              RESET,     KC_PENT),
58 };
59
60 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
61    switch (keycode) {
62       case BL_TOGG:
63          if (record->event.pressed) {
64             cospad_bl_led_togg();
65          }
66          return false;
67       case BL_ON:
68          if (record->event.pressed) {
69             cospad_bl_led_on();
70          }
71          return false;
72       case BL_OFF:
73          if(record->event.pressed) {
74             cospad_bl_led_off();
75          }
76          return false;
77       default:
78          return true;
79    }
80 }