at master 1.2 kB view raw
1// Copyright 2023 QMK 2// SPDX-License-Identifier: GPL-2.0-or-later 3 4#include "process_tri_layer.h" 5#include "tri_layer.h" 6#include "action_layer.h" 7 8bool process_tri_layer(uint16_t keycode, keyrecord_t *record) { 9 switch (keycode) { 10 case QK_TRI_LAYER_LOWER: 11 if (record->event.pressed) { 12 layer_on(get_tri_layer_lower_layer()); 13 update_tri_layer(get_tri_layer_lower_layer(), get_tri_layer_upper_layer(), get_tri_layer_adjust_layer()); 14 } else { 15 layer_off(get_tri_layer_lower_layer()); 16 update_tri_layer(get_tri_layer_lower_layer(), get_tri_layer_upper_layer(), get_tri_layer_adjust_layer()); 17 } 18 return false; 19 case QK_TRI_LAYER_UPPER: 20 if (record->event.pressed) { 21 layer_on(get_tri_layer_upper_layer()); 22 update_tri_layer(get_tri_layer_lower_layer(), get_tri_layer_upper_layer(), get_tri_layer_adjust_layer()); 23 } else { 24 layer_off(get_tri_layer_upper_layer()); 25 update_tri_layer(get_tri_layer_lower_layer(), get_tri_layer_upper_layer(), get_tri_layer_adjust_layer()); 26 } 27 return false; 28 } 29 return true; 30}