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