summaryrefslogtreecommitdiff
path: root/quantum/tri_layer.h
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/tri_layer.h')
-rw-r--r--quantum/tri_layer.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/quantum/tri_layer.h b/quantum/tri_layer.h
new file mode 100644
index 0000000000..3341ebffb2
--- /dev/null
+++ b/quantum/tri_layer.h
@@ -0,0 +1,59 @@
1// Copyright 2023 QMK
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include <stdint.h>
5
6#ifndef TRI_LAYER_LOWER_LAYER
7# define TRI_LAYER_LOWER_LAYER 1
8#endif
9#ifndef TRI_LAYER_UPPER_LAYER
10# define TRI_LAYER_UPPER_LAYER 2
11#endif
12#ifndef TRI_LAYER_ADJUST_LAYER
13# define TRI_LAYER_ADJUST_LAYER 3
14#endif
15
16/**
17 * @brief Set the tri layer lower layer index
18 *
19 * @param layer
20 */
21void set_tri_layer_lower_layer(uint8_t layer);
22/**
23 * @brief Set the tri layer upper layer index
24 *
25 * @param layer
26 */
27void set_tri_layer_upper_layer(uint8_t layer);
28/**
29 * @brief Set the tri layer adjust layer index
30 *
31 * @param layer
32 */
33void set_tri_layer_adjust_layer(uint8_t layer);
34/**
35 * @brief Set the tri layer indices
36 *
37 * @param lower
38 * @param upper
39 * @param adjust
40 */
41void set_tri_layer_layers(uint8_t lower, uint8_t upper, uint8_t adjust);
42/**
43 * @brief Get the tri layer lower layer index
44 *
45 * @return uint8_t
46 */
47uint8_t get_tri_layer_lower_layer(void);
48/**
49 * @brief Get the tri layer upper layer index
50 *
51 * @return uint8_t
52 */
53uint8_t get_tri_layer_upper_layer(void);
54/**
55 * @brief Get the tri layer adjust layer index
56 *
57 * @return uint8_t
58 */
59uint8_t get_tri_layer_adjust_layer(void);