qmk_firmware

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

rev3.c (1478B)


      1 /* Copyright 2021 Danny Nguyen <danny@keeb.io>
      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 #include "split_util.h"
     19 
     20 void matrix_init_kb(void) {
     21     gpio_set_pin_output(CAPS_LOCK_LED_PIN);
     22     matrix_init_user();
     23 }
     24 
     25 bool led_update_kb(led_t led_state) {
     26     // Only update if left half
     27     if (led_update_user(led_state) && isLeftHand) {
     28         gpio_write_pin(CAPS_LOCK_LED_PIN, !led_state.caps_lock);
     29     }
     30     return true;
     31 }
     32 
     33 #ifdef ENCODER_ENABLE
     34 bool encoder_update_kb(uint8_t index, bool clockwise) {
     35     if (!encoder_update_user(index, clockwise)) { return false; }
     36     if (index == 0) {
     37         if (clockwise) {
     38             tap_code(KC_PGDN);
     39         } else {
     40             tap_code(KC_PGUP);
     41         }
     42     } else if (index == 1) {
     43         if (clockwise) {
     44             tap_code(KC_VOLU);
     45         } else {
     46             tap_code(KC_VOLD);
     47         }
     48     }
     49     return false;
     50 }
     51 #endif