qmk_firmware

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

keymap.c (2362B)


      1 /* Copyright 2022 Ramon Imbao
      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 QMK_KEYBOARD_H
     18 
     19 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     20     /*
     21      * ┌───┬───┬───┬───┐
     22      * │F13│F14│F15│F16│
     23      * ├───┼───┼───┼───┤
     24      * │ - │ * │ / │Num│
     25      * ├───┼───┼───┼───┤
     26      * │   │ 7 │ 8 │ 9 │
     27      * │ + ├───┼───┤───│
     28      * │   │ 4 │ 5 │ 6 │
     29      * ├───┼───┼───┼───┤
     30      * │   │ 1 │ 2 │ 3 │
     31      * │Ent├───┼───┴───│
     32      * │   │ . │   0   │
     33      * └───┴───┴───────┘
     34      */
     35     [0] = LAYOUT_numpad_6x4_southpaw(
     36         KC_F13,  KC_F14,  KC_F15,  KC_F16,
     37         KC_PMNS, KC_PAST, KC_PSLS, KC_NUM,
     38         KC_PPLS, KC_P7,   KC_P8,   KC_P9,
     39                  KC_P4,   KC_P5,   KC_P6,
     40         KC_PENT, KC_P1,   KC_P2,   KC_P3,
     41                  KC_PDOT, KC_P0
     42     )
     43 };
     44 
     45 bool encoder_update_user(uint8_t index, bool clockwise) {
     46     if (index == 0) {
     47         if (clockwise) {
     48             tap_code_delay(KC_VOLU, 10);
     49         } else {
     50             tap_code_delay(KC_VOLD, 10);
     51         }
     52     } else if (index == 1) {
     53         if (clockwise) {
     54             tap_code_delay(KC_BRIU, 10);
     55         } else {
     56             tap_code_delay(KC_BRID, 10);
     57         }
     58     } else if (index == 2) {
     59         if (clockwise) {
     60             tap_code(KC_RGHT);
     61         } else {
     62             tap_code(KC_LEFT);
     63         }
     64     } else {
     65         if (clockwise) {
     66             tap_code(KC_PGDN);
     67         } else {
     68             tap_code(KC_PGUP);
     69         }
     70     }
     71 
     72     return false;
     73 }