undead60m.c (1859B)
1 /* Copyright 2021 jfescobar18 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 17 #include "quantum.h" 18 bool encoder_update_kb(uint8_t index, bool clockwise) { 19 if (!encoder_update_user(index, clockwise)) { return false; } 20 if (index == 0) { 21 switch (get_highest_layer(layer_state)) { 22 case 0: /* Layer 1: Volume */ 23 if (clockwise) { 24 tap_code(KC_VOLD); 25 } else { 26 tap_code(KC_VOLU); 27 } 28 break; 29 case 1: /* Layer 2: Scroll */ 30 if (clockwise) { 31 tap_code(MS_WHLU); 32 } else { 33 tap_code(MS_WHLD); 34 } 35 break; 36 case 2: /* Layer 3: Change Track */ 37 if (clockwise) { 38 tap_code(KC_MPRV); 39 } else { 40 tap_code(KC_MNXT); 41 } 42 break; 43 case 3: /* Layer 4: Brightness */ 44 if (clockwise) { 45 tap_code(KC_BRID); 46 } else { 47 tap_code(KC_BRIU); 48 } 49 break; 50 default: /* Default: Volume */ 51 if (clockwise) { 52 tap_code(KC_VOLU); 53 } else { 54 tap_code(KC_VOLD); 55 } 56 break; 57 } 58 } 59 return true; 60 }