]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/handwired/gamenum/keymaps/default/keymap.c
Add user-overridable callback for cancelling UCIS input (#5564)
[qmk_firmware.git] / keyboards / handwired / gamenum / keymaps / default / keymap.c
1 #include QMK_KEYBOARD_H
2
3
4 #define DEF 0
5 #define HDN 1
6 #define OSY 2
7
8 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
9   [DEF] = LAYOUT(
10     TO(HDN), KC_SLSH, KC_ASTR, KC_MINS, \
11     KC_7,    KC_8,    KC_9,    KC_PLUS, \
12     KC_4,    KC_5,    KC_6,             \
13     KC_1,    KC_2,    KC_3,             \
14     KC_0,             KC_DOT,  KC_ENT   \
15   ),
16   [HDN] = LAYOUT(
17     TO(OSY), KC_1,    KC_2,    KC_3,    \
18     KC_Q,    KC_W,    KC_E,    KC_R,    \
19     KC_A,    KC_S,    KC_D,             \
20     KC_Z,    KC_X,    KC_C,             \
21     KC_LSFT,          KC_LALT, KC_SPC   \
22   ),
23   [OSY] = LAYOUT(
24     KC_A,    KC_Q,    KC_1,    TO(DEF), \
25     KC_S,    KC_W,    KC_2,    KC_LALT, \
26     KC_D,    KC_E,    KC_3,             \
27     KC_F,    KC_R,    KC_4,             \
28     KC_SPC,           KC_T,    KC_TAB   \
29   )
30 };
31
32 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
33   return MACRO_NONE;
34 };
35
36
37 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
38   switch(keycode) {
39     case TO(HDN):
40       if (record->event.pressed) {
41         PORTC |= (1 << 6); // PC6 goes high
42       }
43
44       return true;
45
46     case TO(OSY):
47       if (record->event.pressed) {
48         PORTC &= ~(1 << 6); // PC6 goes high
49         PORTD |= (1<<4);
50       }
51
52       return true;
53
54     case TO(DEF):
55       if (record->event.pressed) {
56         PORTD &= ~(1 << 4); // PC6 goes high
57       }
58
59       return true;
60
61     default:
62       return true;
63   }
64 }