/* Copyright 2021-2022 Alin M Elena This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once #include "quantum.h" #define LAYOUT_ortho_4x12( \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 \ ) { \ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011 }, \ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111 }, \ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211 }, \ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 } \ } enum layer_names { _QW = 0, _LWR, _RSE, _ADJ }; static inline void led_lwr(const bool on) { #ifdef LED_NUM_LOCK_PIN writePin(LED_NUM_LOCK_PIN, on); #endif } static inline void led_rse(const bool on) { #ifdef LED_SCROLL_LOCK_PIN writePin(LED_SCROLL_LOCK_PIN, on); #endif } static inline void led_caps(const bool on) { #ifdef LED_CAPS_LOCK_PIN writePin(LED_CAPS_LOCK_PIN, !on); #endif } #ifdef ENCODER_ENABLE # define MEDIA_KEY_DELAY 10 static inline void my_encoders(const uint8_t index, const bool clockwise) { if (index == 0) { /* First encoder */ if (IS_LAYER_ON(_LWR)) { if (clockwise) { rgblight_decrease_val_noeeprom(); } else { rgblight_increase_val_noeeprom(); } } else if (IS_LAYER_ON(_RSE)) { if (clockwise) { rgblight_decrease_hue_noeeprom(); } else { rgblight_increase_hue_noeeprom(); } } else { if (clockwise) { tap_code_delay(KC_VOLD, MEDIA_KEY_DELAY); } else { tap_code_delay(KC_VOLU, MEDIA_KEY_DELAY); } } } } #endif