keymap.c (1780B)
1 /* Copyright 2023 @ Keychron (https://www.keychron.com) 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 // clang-format off 20 21 enum layers { 22 BASE, 23 FUNC 24 }; 25 26 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 27 [BASE] = LAYOUT_numpad_6x5( 28 KC_MUTE, MO(FUNC), KC_ESC, KC_BSPC, KC_TAB, 29 _______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, 30 _______, KC_P7, KC_P8, KC_P9, KC_PPLS, 31 _______, KC_P4, KC_P5, KC_P6, 32 _______, KC_P1, KC_P2, KC_P3, KC_PENT, 33 _______, KC_P0, KC_PDOT), 34 35 [FUNC] = LAYOUT_numpad_6x5( 36 RM_TOGG, _______, KC_MUTE, KC_VOLD, KC_VOLU, 37 _______, RM_NEXT, RM_VALU, RM_HUEU, KC_DEL, 38 _______, RM_PREV, RM_VALD, RM_HUED, _______, 39 _______, RM_SATU, RM_SPDU, KC_MPRV, 40 _______, RM_SATD, RM_SPDD, KC_MPLY, _______, 41 _______, RM_TOGG, KC_MNXT), 42 }; 43 44 #if defined(ENCODER_MAP_ENABLE) 45 const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { 46 [BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, 47 [FUNC] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }, 48 }; 49 #endif // ENCODER_MAP_ENABLE