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.
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.
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/>.
16 #include QMK_KEYBOARD_H
24 // Defines the keycodes used by our macros in process_record_user
25 enum custom_keycodes {
30 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 [_BASE] = LAYOUT_ortho_4x4(
33 KC_PGUP, KC_HOME, KC_UP, KC_END , \
34 KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, \
35 MO(_FN2), KC_VOLU, KC_MPLY, KC_MPRV, \
36 MO(_FN1), KC_VOLD, KC_MUTE, KC_MNXT \
38 [_FN1] = LAYOUT_ortho_4x4(
39 KC_ESC, KC_P7, KC_P8, KC_P9, \
40 KC_TAB, KC_P4, KC_P5, KC_P6, \
41 KC_ENT, KC_P1, KC_P2, KC_P3, \
42 _______, KC_P0, KC_P0, KC_DOT \
44 [_FN2] = LAYOUT_ortho_4x4(
45 RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \
46 RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, \
47 _______, _______, _______, RESET, \
48 BL_STEP, _______, QMKBEST, QMKURL \
53 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
56 if (record->event.pressed) {
57 // when keycode QMKBEST is pressed
58 SEND_STRING("QMK is the best thing ever!");
60 // when keycode QMKBEST is released
64 if (record->event.pressed) {
65 // when keycode QMKURL is pressed
66 SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
68 // when keycode QMKURL is released