qmk_firmware

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

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 };