]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/handwired/gamenum/keymaps/default/keymap.c
Merge branch 'master' into debounce_refactor
[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     KC_FN0,  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     KC_FN1,  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,    KC_FN2,  \
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
33 const uint16_t PROGMEM fn_actions[] = {
34                 [0] = ACTION_LAYER_SET(HDN, ON_PRESS),
35                 [1] = ACTION_LAYER_SET(OSY, ON_PRESS),
36                 [2] = ACTION_LAYER_SET(DEF, ON_PRESS),
37 };
38
39 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
40   return MACRO_NONE;
41 };
42
43
44 bool process_record_user (uint16_t keycode, keyrecord_t *record) {
45   switch(keycode) {
46   case KC_FN0:
47     if (record->event.pressed) {
48       PORTC |= (1 << 6); // PC6 goes high
49     }
50     break;
51   case KC_FN1:
52     if (record->event.pressed) {
53       PORTC &= ~(1 << 6); // PC6 goes high
54       PORTD |= (1<<4);
55     }
56     break;
57   case KC_FN2:
58     if (record->event.pressed) {
59       PORTD &= ~(1 << 4); // PC6 goes high
60     }
61     break;
62   }
63   return true;
64 }