qmk_firmware

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

keymap.c (3349B)


      1 /*
      2 Copyright 2021 Evelien Dekkers
      3 
      4 This program is free software: you can redistribute it and/or modify
      5 it under the terms of the GNU General Public License as published by
      6 the Free Software Foundation, either version 2 of the License, or
      7 (at your option) any later version.
      8 
      9 This program is distributed in the hope that it will be useful,
     10 but WITHOUT ANY WARRANTY; without even the implied warranty of
     11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     12 GNU General Public License for more details.
     13 
     14 You should have received a copy of the GNU General Public License
     15 along with this program.  If not, see <http://www.gnu.org/licenses/>.
     16 */
     17 
     18 #include QMK_KEYBOARD_H
     19 
     20 // Each layer gets a name for readability, which is then used in the keymap matrix below.
     21 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
     22 // Layer names don't all need to be of the same length, obviously, and you can also skip them
     23 // entirely and just use numbers.
     24 
     25 #define _MA 0 //Main layer
     26 #define _FN 1 //Fn
     27 #define _FN1 2 //Fn1
     28 #define _PN 3 //Pn
     29 
     30 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     31 [_MA] = LAYOUT_split_space(
     32   KC_ESC,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,     KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,     KC_DEL,   KC_BSPC,
     33   KC_TAB,   KC_A,     KC_S,     KC_D,     KC_F,     KC_G,     KC_H,     KC_J,     KC_K,     KC_L,     KC_SCLN,            KC_ENT,
     34   KC_LSFT,            KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,     KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_RSFT,  MO(_FN1),
     35   KC_LCTL,  KC_LGUI,  KC_LALT,  MO(_PN),            KC_SPC,             KC_SPC,             MO(_FN),  KC_RALT,  KC_APP,   KC_RCTL),
     36  
     37 [_FN] = LAYOUT_split_space(
     38   _______,  KC_VOLD,  KC_VOLU,  KC_MUTE,  QK_BOOT,  _______,  KC_CALC,  KC_PGUP,  KC_UP,    KC_PGDN,  KC_PSCR,  KC_SCRL,  KC_PAUS,
     39   KC_CAPS,  KC_MPRV,  KC_MPLY,  KC_MNXT,  _______,  _______,  KC_HOME,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_INS,             _______,
     40   _______,            _______,  _______,  _______,  _______,  _______,  _______,  BL_TOGG,  BL_DOWN,  BL_UP,    _______,  _______,
     41   _______,  _______,  _______,  _______,            _______,            _______,            _______,  _______,  _______,  _______),
     42  
     43 [_FN1] = LAYOUT_split_space(
     44   KC_GRV,   KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,
     45   KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     KC_MINS,            KC_EQL,
     46   _______,            _______,  _______,  _______,  _______,  KC_QUOT,  KC_SLSH,  KC_LBRC,  KC_RBRC,  KC_BSLS,  KC_RSFT,  _______,
     47   _______,  _______,  _______,  _______,            _______,            _______,            _______,  _______,  _______,  _______),
     48  
     49 [_PN] = LAYOUT_split_space(
     50   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
     51   RM_TOGG,  RM_HUEU,  RM_SATU,  RM_VALU,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
     52   RM_NEXT,            RM_HUED,  RM_SATD,  RM_VALD,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
     53   _______,  _______,  _______,  _______,            _______,            _______,            _______,  _______,  _______,  QK_BOOT),
     54 };