2 #include "action_layer.h"
6 #define _______ KC_TRNS
12 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14 KC_FN0, KC_SLSH, KC_ASTR, KC_MINS, \
15 KC_7, KC_8, KC_9, KC_PLUS, \
18 KC_0, KC_DOT, KC_ENT \
21 KC_FN1, KC_1, KC_2, KC_3, \
22 KC_Q, KC_W, KC_E, KC_R, \
25 KC_LSFT, KC_LALT, KC_SPC \
28 KC_A, KC_Q, KC_1, KC_FN2, \
29 KC_S, KC_W, KC_2, KC_LALT, \
32 KC_SPC, KC_T, KC_TAB \
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),
43 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
48 bool process_record_user (uint16_t keycode, keyrecord_t *record) {
51 if (record->event.pressed) {
52 PORTC |= (1 << 6); // PC6 goes high
56 if (record->event.pressed) {
57 PORTC &= ~(1 << 6); // PC6 goes high
62 if (record->event.pressed) {
63 PORTD &= ~(1 << 4); // PC6 goes high