keymap.c (2349B)
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( 36 KC_F13, KC_F14, KC_F15, KC_F16, 37 KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, 38 KC_P7, KC_P8, KC_P9, 39 KC_P4, KC_P5, KC_P6, KC_PPLS, 40 KC_P1, KC_P2, KC_P3, 41 KC_P0, KC_PDOT, KC_PENT 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 }