]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/planck/keymaps/vaire/keymap.c
[Keyboard] Add QMK configurator JSON for Alice PCB (#6397)
[qmk_firmware.git] / keyboards / planck / keymaps / vaire / keymap.c
1 #include QMK_KEYBOARD_H
2  #include "action_layer.h"
3
4
5 extern keymap_config_t keymap_config;
6
7 #define EXCEL_HOME LALT(KC_H)
8 #define EXCEL_COL LCTL(KC_SPC)
9 #define EXCEL_ROW LSFT(KC_SPC)
10 #define DESK_LEFT LCTL(LGUI(KC_LEFT))
11 #define WIN_LEFT LSFT(KC_TAB)
12 #define WIN_CLOSE LALT(KC_F4)
13 #define WIN_RIGHT KC_TAB
14 #define DESK_RIGHT LCTL(LGUI(KC_RGHT))
15 #define DOCS LGUI(KC_E)
16 #define SNAP_RIGHT LGUI(KC_RGHT)
17 #define SNAP_UP LGUI(KC_UP)
18 #define SNAP_LEFT LGUI(KC_LEFT)
19 #define SNAP_DOWN LGUI(KC_DOWN)
20 #define COPY LCTL(KC_C)
21 #define PASTE LCTL(KC_V)
22 #define CUT LCTL(KC_X)
23 #define UNDO LCTL(KC_Z)
24 #define FIND LCTL(KC_F)
25
26
27
28
29 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30
31
32
33   LAYOUT_planck_grid(
34     KC_ESC,     KC_Q,           KC_W,           KC_E,           KC_R,           KC_T,           KC_Y,           KC_U,           KC_I,           KC_O,           KC_P,           KC_BSPC, 
35     KC_TAB,     KC_A,           KC_S,           KC_D,           KC_F,           KC_G,           KC_H,           KC_J,           KC_K,           KC_L,           KC_SCLN,        KC_QUOT, 
36     KC_LSFT,    KC_Z,           KC_X,           KC_C,           KC_V,           KC_B,           KC_N,           KC_M,           KC_COMM,        KC_DOT,         KC_UP,          SFT_T(KC_ENT), 
37     MO(1),      KC_LCTL,        KC_LALT,        KC_LGUI,        MO(2),          LT(5,KC_ENT),   LT(4,KC_SPC),   MO(3),          KC_SLSH,        KC_LEFT,        KC_DOWN,        CTL_T(KC_RGHT)),
38
39   LAYOUT_planck_grid(
40     KC_ESC,     KC_NLCK,        LCTL(KC_SPC),   KC_UP,          LSFT(KC_SPC),   KC_DLR,         KC_EQL,         KC_P7,          KC_P8,          KC_P9,          KC_PPLS,        LCTL(KC_BSPC), 
41     KC_TAB,     FIND,           KC_LEFT,        KC_DOWN,        KC_RGHT,        KC_PERC,        KC_CIRC,        KC_P4,          KC_P5,          KC_P6,          KC_PMNS,        KC_BSLS, 
42     KC_LSFT,    UNDO,           CUT,            COPY,           PASTE,          EXCEL_HOME,     KC_PSCR,        KC_P1,          KC_P2,          KC_P3,          KC_PSLS,        KC_LSFT, 
43     KC_TRNS,    KC_LCTL,        KC_LALT,        KC_LGUI,        TO(1),          KC_ENT,         KC_SPC,         KC_PENT,        KC_P0,          KC_PDOT,        KC_PAST,        KC_LCTL),
44
45   LAYOUT_planck_grid(
46     KC_TILD,    KC_EXLM,        KC_AT,          KC_HASH,        KC_DLR,         KC_PERC,        KC_CIRC,        KC_AMPR,        KC_ASTR,        KC_LPRN,        KC_RPRN,        KC_DEL, 
47     KC_CAPS,    KC_F1,          KC_F2,          KC_F3,          KC_F4,          KC_F5,          KC_F6,          KC_UNDS,        KC_EQL,         KC_LT,          KC_GT,          KC_LPRN, 
48     KC_LSFT,    KC_F7,          KC_F8,          KC_F9,          KC_F10,         KC_F11,         KC_F12,         KC_MUTE,        KC_MPLY,        KC_MNXT,        KC_PGUP,        SFT_T(KC_VOLU), 
49     TO(0),      KC_LCTL,        KC_LALT,        KC_LGUI,        KC_TRNS,        KC_ENT,         KC_SPC,         MO(3),          KC_PSCR,        KC_MPRV,        KC_PGDOWN,      CTL_T(KC_VOLD)),
50
51   LAYOUT_planck_grid(
52     KC_TILD,    DESK_LEFT,      WIN_LEFT,       KC_F4,          WIN_RIGHT,      DESK_RIGHT,     DOCS,           SNAP_LEFT,      SNAP_UP,        SNAP_RIGHT,     SNAP_DOWN,      KC_DEL, 
53     KC_CAPS,    KC_QUOT,        KC_LBRC,        KC_LCBR,        KC_LPRN,        KC_BSLS,        KC_SLSH,        KC_RPRN,        KC_RCBR,        KC_RBRC,        KC_DQUO,        KC_QUOT, 
54     KC_PWR,     KC_SLEP,        KC_WAKE,        KC_HOME,        BL_BRTG,        BL_STEP,        KC_TRNS,        KC_CALC,        KC_LT,              KC_GT,          KC_COLON,           KC_LSFT, 
55     TO(0),      KC_LCTL,        KC_LALT,        KC_LGUI,        KC_LALT,        KC_LCTL,        KC_TRNS,        KC_TRNS,        AU_TOG,         MU_TOG,         MU_MOD,         LCTL(KC_RGHT)),
56
57   LAYOUT_planck_grid(
58     TO(0),      KC_LSCR,        WIN_LEFT,       KC_MS_WH_UP,    WIN_RIGHT,      KC_TRNS,        KC_TRNS,        KC_MS_BTN1,     KC_MS_U,        KC_MS_BTN2,     KC_TRNS,        KC_TRNS, 
59     KC_TRNS,    KC_INS,             KC_MS_WH_LEFT,  KC_MS_WH_DOWN,  KC_MS_WH_RIGHT, KC_TRNS,        KC_TRNS,            KC_MS_L,        KC_MS_D,        KC_MS_R,        KC_TRNS,        KC_TRNS, 
60     RESET,      KC_APP,             KC_MS_ACCEL0,   KC_MS_ACCEL0,   KC_MS_ACCEL0,   KC_TRNS,        KC_TRNS,            TO(0),          TO(1),          TO(2),          TO(3),          TO(4), 
61     TO(0),      KC_MENU,        KC_TRNS,        KC_TRNS,        KC_LALT,        KC_LCTL,        KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_LEFT,        KC_DOWN,        KC_RCTL),
62
63   LAYOUT_planck_grid(
64     KC_BSPC,    KC_P,           KC_O,           KC_I,           KC_U,           KC_Y,           KC_T,           KC_R,           KC_E,           KC_W,           KC_Q,            KC_BSPC, 
65     KC_TAB,     KC_SCLN,        KC_L,           KC_K,           KC_J,           KC_H,           KC_G,           KC_F,           KC_D,           KC_S,           KC_A,            KC_QUOT, 
66     KC_LSFT,    KC_ENT,         KC_DOT,             KC_COMM,        KC_M,           KC_N,           KC_B,               KC_V,           KC_C,              KC_X,                KC_Z,            SFT_T(KC_ENT), 
67     TO(0),      KC_LCTL,        KC_LALT,        KC_LGUI,        MO(2),          KC_TRNS,            KC_TRNS,            MO(3),          KC_SLSH,        KC_LEFT,        KC_DOWN,             LCTL(KC_RGHT)),
68  
69     
70
71 };
72
73
74 #ifdef AUDIO_ENABLE
75
76 void matrix_init_user(void)
77 {
78     set_voice(default_voice);
79     startup_user();
80     println("Matrix Init");
81 }
82
83 void led_set_user(uint8_t usb_led)
84 {
85     static uint8_t old_usb_led = 0;
86
87     _delay_ms(10); // gets rid of tick
88
89     if (!is_playing_notes())
90     {
91         if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK)))
92         {
93                 // If CAPS LK LED is turning on...
94                 PLAY_SONG(tone_caps_on);
95         }
96         else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK)))
97         {
98                 // If CAPS LK LED is turning off...
99                 PLAY_SONG(tone_caps_off);
100         }
101         else if ((usb_led & (1<<USB_LED_NUM_LOCK)) && !(old_usb_led & (1<<USB_LED_NUM_LOCK)))
102         {
103                 // If NUM LK LED is turning on...
104                 PLAY_SONG(tone_numlk_on);
105         }
106         else if (!(usb_led & (1<<USB_LED_NUM_LOCK)) && (old_usb_led & (1<<USB_LED_NUM_LOCK)))
107         {
108                 // If NUM LED is turning off...
109                 PLAY_SONG(tone_numlk_off);
110         }
111         else if ((usb_led & (1<<USB_LED_SCROLL_LOCK)) && !(old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
112         {
113                 // If SCROLL LK LED is turning on...
114                 PLAY_SONG(tone_scroll_on);
115         }
116         else if (!(usb_led & (1<<USB_LED_SCROLL_LOCK)) && (old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
117         {
118                 // If SCROLL LED is turning off...
119                 PLAY_SONG(tone_scroll_off);
120         }
121     }
122
123     old_usb_led = usb_led;
124 }
125
126
127 void startup_user()
128 {
129     _delay_ms(30); // gets rid of tick
130     PLAY_SONG(tone_my_startup);
131 }
132
133 void shutdown_user()
134 {
135     PLAY_SONG(tone_my_goodbye);
136     _delay_ms(3000);
137     stop_all_notes();
138 }
139
140 void audio_on_user(void)
141 {
142   PLAY_SONG(tone_audio_on);
143 }
144
145 void music_on_user(void)
146 {
147   PLAY_SONG(tone_music_on);
148 }
149
150 #endif /* AUDIO_ENABLE */