aboutsummaryrefslogtreecommitdiff
path: root/users/brandonschlack/brandonschlack.h
diff options
context:
space:
mode:
Diffstat (limited to 'users/brandonschlack/brandonschlack.h')
-rw-r--r--users/brandonschlack/brandonschlack.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/users/brandonschlack/brandonschlack.h b/users/brandonschlack/brandonschlack.h
new file mode 100644
index 000000000..d7dbc0ea4
--- /dev/null
+++ b/users/brandonschlack/brandonschlack.h
@@ -0,0 +1,83 @@
1/* Copyright 2020 Brandon Schlack
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19#include "version.h"
20#include "eeprom.h"
21#include "process_records.h"
22#ifdef TAP_DANCE_ENABLE
23# include "tap_dances.h"
24#endif // TAP_DANCE_ENABLE
25#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
26# include "rgb_bs.h"
27#endif
28
29/* TODO Layer Names */
30enum bs_layers {
31 _BASE = 0,
32 _M1 = 1,
33 _M2 = 2,
34 _M3 = 3,
35 _M4 = 4,
36 _FN1 = 5,
37 _M1_FN1 = 6,
38 _M2_FN1 = 7,
39 _M3_FN1 = 8,
40 _M4_FN1 = 9,
41 _FN2 = 10,
42 _M1_FN2 = 11,
43 _M2_FN2 = 12,
44 _M3_FN2 = 13,
45 _M4_FN2 = 14,
46 _ADJUST = 15 // 15: Change keyboard settings
47};
48
49#define _LOWER _FN1
50#define _RAISE _FN2
51
52/* TODO User EECONFIG */
53typedef union {
54 uint32_t raw;
55 struct {
56 bool rgb_layer_change :1;
57 uint8_t rgb_theme :4;
58 };
59} user_config_t;
60extern user_config_t user_config;
61
62void matrix_init_keymap(void);
63void keyboard_post_init_keymap(void);
64void shutdown_keymap(void);
65void suspend_power_down_keymap(void);
66void suspend_wakeup_init_keymap(void);
67void matrix_scan_keymap(void);
68layer_state_t default_layer_state_set_keymap(layer_state_t state);
69layer_state_t layer_state_set_keymap(layer_state_t state);
70bool led_update_keymap(led_t led_state);
71
72#ifdef STOPLIGHT_LED
73typedef struct {
74 bool is_active :1;
75 uint8_t index :7;
76 uint16_t timer :16;
77} stoplight_led_t;
78
79void led_stoplight_start(void);
80void led_stoplight_set(pin_t pin);
81void led_stoplight_end(void);
82void matrix_scan_led_stoplight(void);
83#endif