keymap.c (1594B)
1 /* Copyright 2018 Yiancar 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 #include QMK_KEYBOARD_H 17 18 enum custom_keycodes { 19 KC_P00 = SAFE_RANGE 20 }; 21 22 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 23 [0] = LAYOUT_ortho_5x4( 24 TG(1), KC_PSLS, KC_PAST, KC_PMNS, 25 KC_P7, KC_P8, KC_P9, KC_PPLS, 26 KC_P4, KC_P5, KC_P6, KC_PPLS, 27 KC_P1, KC_P2, KC_P3, KC_PENT, 28 KC_P0, KC_P00, KC_PDOT, KC_PENT), 29 30 [1] = LAYOUT_ortho_5x4( 31 _______, _______, _______, _______, 32 KC_HOME, KC_UP, KC_PGUP, _______, 33 KC_LEFT, XXXXXXX, KC_RGHT, _______, 34 KC_END, KC_DOWN, KC_PGDN, _______, 35 KC_INS, XXXXXXX, KC_DEL, _______) 36 }; 37 38 bool process_record_user(uint16_t keycode, keyrecord_t *record) { 39 if (record->event.pressed) { 40 switch(keycode) { 41 case KC_P00: 42 // types Numpad 0 twice 43 SEND_STRING(SS_TAP(X_KP_0) SS_TAP(X_KP_0)); 44 return false; 45 } 46 } 47 return true; 48 };