qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

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 }