keychron_qmk_firmware/quantum/tri_layer.h
2023-04-26 16:32:15 +08:00

60 lines
1.2 KiB
C

// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include <stdint.h>
#ifndef TRI_LAYER_LOWER_LAYER
# define TRI_LAYER_LOWER_LAYER 1
#endif
#ifndef TRI_LAYER_UPPER_LAYER
# define TRI_LAYER_UPPER_LAYER 2
#endif
#ifndef TRI_LAYER_ADJUST_LAYER
# define TRI_LAYER_ADJUST_LAYER 3
#endif
/**
* @brief Set the tri layer lower layer index
*
* @param layer
*/
void set_tri_layer_lower_layer(uint8_t layer);
/**
* @brief Set the tri layer upper layer index
*
* @param layer
*/
void set_tri_layer_upper_layer(uint8_t layer);
/**
* @brief Set the tri layer adjust layer index
*
* @param layer
*/
void set_tri_layer_adjust_layer(uint8_t layer);
/**
* @brief Set the tri layer indices
*
* @param lower
* @param upper
* @param adjust
*/
void set_tri_layer_layers(uint8_t lower, uint8_t upper, uint8_t adjust);
/**
* @brief Get the tri layer lower layer index
*
* @return uint8_t
*/
uint8_t get_tri_layer_lower_layer(void);
/**
* @brief Get the tri layer upper layer index
*
* @return uint8_t
*/
uint8_t get_tri_layer_upper_layer(void);
/**
* @brief Get the tri layer adjust layer index
*
* @return uint8_t
*/
uint8_t get_tri_layer_adjust_layer(void);