]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/kbd66/keymaps/maartenwut/keymap.c
Merge branch 'master' of github.com:qmk/qmk_firmware into hf/shinydox
[qmk_firmware.git] / keyboards / kbd66 / keymaps / maartenwut / keymap.c
1 #include QMK_KEYBOARD_H
2
3 #define _MA 0
4 #define _GA 1
5 #define _FL 2
6 #define _AR 3
7
8 #define TRNS KC_TRNS
9 #define ______ KC_NO
10 #define trigger_time 400
11
12 #define LSHIFT OSM(MOD_LSFT)
13 #define SPACE LT(_AR, KC_SPC)
14
15 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 // Main Layer
17 [_MA] = LAYOUT_all(
18         KC_GESC,        KC_1,           KC_2,           KC_3,           KC_4,           KC_5,           KC_6,           KC_7,           KC_8,           KC_9,           KC_0,           KC_MINS,        KC_EQL,         ______,         KC_BSPC,        KC_MPLY,
19         KC_TAB,         KC_Q,           KC_W,           KC_E,           KC_R,           KC_T,           KC_Y,           KC_U,           KC_I,           KC_O,           KC_P,           KC_LBRC,        KC_RBRC,        KC_BSLS,                                KC_DEL,
20         KC_CAPS,        KC_A,           KC_S,           KC_D,           KC_F,           KC_G,           KC_H,           KC_J,           KC_K,           KC_L,           KC_SCLN,        KC_QUOT,                                KC_ENT,
21         LSHIFT,         TRNS,           KC_Z,           KC_X,           KC_C,           KC_V,           KC_B,           KC_N,           KC_M,           KC_COMM,        KC_DOT,         KC_SLSH,        KC_RSFT,    TRNS,               KC_UP,
22         KC_LCTL,        KC_LGUI,        KC_LALT,                                                        SPACE,                                  SPACE,                                                          KC_RALT,        KC_RCTRL,       MO(_FL),        KC_LEFT,        KC_DOWN,        KC_RGHT),
23
24 //Function Layer
25 [_FL] = LAYOUT_all(
26         KC_GRV,         KC_F1,          KC_F2,          KC_F3,          KC_F4,          KC_F5,          KC_F6,          KC_F7,          KC_F8,          KC_F9,          KC_F10,         KC_F11,         KC_F12,         TRNS,           RESET,          KC_PSCR,
27         TRNS,           ______,         ______,         ______,         TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,                                   ______,
28         TRNS,           ______,         ______,         ______,         TRNS,           TG(_GA),        TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,                                   TRNS,
29         TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           KC_VOLD,        KC_VOLU,        KC_MUTE,        TRNS,           TRNS,           KC_PGUP,
30         TRNS,           TRNS,           TRNS,                                                           TRNS,                                   TRNS,                                                           TRNS,           TRNS,           TRNS,           ______,         KC_PGDN,        ______),
31
32 //Arrow keys layer (space bar)
33 [_AR] = LAYOUT_all(
34         KC_GRV,         KC_F1,          KC_F2,          KC_F3,          KC_F4,          KC_F5,          KC_F6,          KC_F7,          KC_F8,          KC_F9,          KC_F10,         KC_F11,         KC_F12,         TRNS,           TRNS,           TRNS,
35         TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,                                   TRNS,
36         TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,                                   TRNS,
37         TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,
38         TRNS,           TRNS,           TRNS,                                                           TRNS,                                   TRNS,                                                           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS),
39
40 //Game layer (fn + g)
41 [_GA] = LAYOUT_all(
42         TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,
43         TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,                                   TRNS,
44         TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,                                   TRNS,
45         KC_LSFT,        TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,           TRNS,
46         TRNS,           TRNS,           TRNS,                                                           KC_SPC,                                 KC_SPC,                                                         TRNS,           TRNS,           MO(_FL),        TRNS,           TRNS,           TRNS),
47 };
48
49 void matrix_init_user() {
50         //Set led port to output
51         DDRB |= (1<<2);
52 }
53
54 void led_set_user(uint8_t usb_led) {
55         if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
56                 // Turn capslock on
57                 PORTB &= ~(1<<2);
58         } else {
59                 // Turn capslock off
60                 PORTB |= (1<<2);
61         }
62 }