keymap.c (3372B)
1 /* Copyright 2019 Ryota Goto 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 // Defines the keycodes used by our macros in process_record_user 19 enum custom_keycodes { 20 MANUAL = SAFE_RANGE, 21 SWPLURL 22 }; 23 24 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 25 26 /* 27 28 Layout 29 30 K000 K001 K002 K003 K004 K005 K006 K007 K008 K009 K010 K011 K012 K013 K212 K014 31 K100 K101 K102 K103 K104 K105 K106 K107 K108 K109 K110 K111 K112 K113 K114 32 K200 K201 K202 K203 K204 K205 K206 K207 K208 K209 K210 K211 K213 K214 33 K300 K301 K302 K303 K304 K305 K306 K307 K308 K309 K310 K311 K313 K314 34 K400 K401 K402 K403 K405 K407 K409 K410 K411 K413 K414 35 36 K212 = Split backspace (bound to Del by default) 37 K403, K407 = Split space (bound to space by default) 38 K405 = Main space 39 40 */ 41 42 [0] = LAYOUT( /* Base */ 43 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_HOME, 44 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, 45 MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, 46 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN, 47 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT 48 ), 49 [1] = LAYOUT( /* FN */ 50 QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, MANUAL, 51 KC_CAPS, _______, KC_UP, _______, _______, _______, KC_NUM, KC_P7, KC_P8, KC_P9, KC_MPRV, KC_MPLY, KC_MNXT, _______, SWPLURL, 52 _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_VOLD, KC_VOLU, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, 53 _______, KC_RCTL, KC_RGUI, KC_RALT, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, _______, _______, KC_PGUP, _______, 54 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END 55 ) 56 }; 57 58 bool process_record_user(uint16_t keycode, keyrecord_t *record) { 59 switch (keycode) { 60 case MANUAL: 61 if (record->event.pressed) { 62 SEND_STRING("https://kb.ai03.me/redir/lunar/index.html"); 63 } 64 break; 65 case SWPLURL: 66 if (record->event.pressed) { 67 SEND_STRING("https://switchplate.co/collections/lunar-group-buy"); 68 } 69 break; 70 } 71 return true; 72 }