keymap.c (1994B)
1 // Copyright 2022 Kyle McCreery (@kylemccreery) 2 // SPDX-License-Identifier: GPL-2.0-or-later 3 4 #include QMK_KEYBOARD_H 5 6 // Defines names for use in layer keycodes and the keymap 7 enum layer_names { 8 _BASE, 9 _FN1, 10 _FN2, 11 _FN3 12 }; 13 14 /* Physical Layout: 15 * /-------------------\ 16 * |ENC| 1 | 2 | 3 |ENC| 17 * |---+---'---'---+---| 18 * | 4 | | 5 | 19 * |---| |---| 20 * | 6 | | 7 | 21 * |---| |---| 22 * | 8 | | 9 | 23 * \-----,---,---,-----/ 24 * | A | B | C | D | 25 * \---'---'---'---/ 26 * 27 * Keymap Layout: 28 * ENC, 1, 2, 3, ENC, 29 * 4, 5, 30 * 6, 7, 31 * 8, A, B, C, D, 9, 32 * 33 */ 34 35 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 36 [_BASE] = LAYOUT( 37 KC_MUTE, MO(_FN3), MO(_FN2), MO(_FN1), LGUI(KC_D), 38 MO(_FN2), KC_HOME, 39 MO(_FN3), KC_END, 40 MS_BTN3, DPI_FINE, 41 MS_BTN1, MS_BTN2, MS_BTN2, MS_BTN1 42 ), 43 [_FN1] = LAYOUT( 44 UG_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, TAP_TOG, 45 DPI_UP, TAP_UP, 46 DPI_DN, TAP_DN, 47 KC_TRNS, KC_TRNS, 48 KC_HOME, KC_PGUP, KC_PGDN, KC_END 49 ), 50 [_FN2] = LAYOUT( 51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_TOGG, 52 KC_TRNS, UG_NEXT, 53 KC_TRNS, UG_PREV, 54 KC_TRNS, KC_TRNS, 55 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS 56 ), 57 [_FN3] = LAYOUT( 58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 59 KC_TRNS, KC_TRNS, 60 KC_TRNS, KC_TRNS, 61 KC_TRNS, KC_TRNS, 62 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS 63 ) 64 };