qmk_firmware

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

keymap.c (2394B)


      1 // Copyright 2022 makenova (@makenova)
      2 // SPDX-License-Identifier: GPL-2.0-or-later
      3 
      4 #include QMK_KEYBOARD_H
      5 
      6 // ctrl
      7 #define CTRL_S LCTL_T(KC_S)
      8 #define CTRL_L RCTL_T(KC_L)
      9 // alt
     10 #define ALT_D LALT_T(KC_D)
     11 #define ALT_K RALT_T(KC_K)
     12 //gui
     13 #define GUI_F LGUI_T(KC_F)
     14 #define GUI_J RGUI_T(KC_J)
     15 // shift
     16 #define SFT_A LSFT_T(KC_A)
     17 #define SFT_SCLN RSFT_T(KC_SCLN)
     18 // layers
     19 #define OS_SFT OSM(MOD_RSFT)
     20 #define OS_3 OSL(3)
     21 #define OS_4 OSL(4)
     22 #define LT1_SPC LT(1,KC_SPC)
     23 #define LT2_ESC LT(2,KC_ESC)
     24 
     25 #ifdef COMBO_ENABLE
     26 const uint16_t PROGMEM combo_bspc[] = {GUI_J, ALT_K,   COMBO_END};
     27 const uint16_t PROGMEM combo_ent[]  = {ALT_D, GUI_F,   COMBO_END};
     28 const uint16_t PROGMEM combo_tab[]  = {KC_C,  KC_V,    COMBO_END};
     29 const uint16_t PROGMEM combo_del[]  = {KC_M,  KC_COMM, COMBO_END};
     30 
     31 combo_t key_combos[] = {
     32   COMBO(combo_bspc,KC_BSPC), // 1
     33   COMBO(combo_ent,KC_ENT), // 2
     34   COMBO(combo_tab,KC_TAB), // 3
     35   COMBO(combo_del,KC_DEL), // 4
     36 };
     37 #endif
     38 
     39 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     40     LAYOUT(
     41     KC_Q,    KC_W,    KC_E,    KC_R,  KC_T,  KC_Y, KC_U,  KC_I,    KC_O,   KC_P,
     42     SFT_A,   CTRL_S,  ALT_D,   GUI_F, KC_G,  KC_H, GUI_J, ALT_K,   CTRL_L, SFT_SCLN,
     43     KC_Z,    KC_X,    KC_C,    KC_V,  KC_B,  KC_N, KC_M,  KC_COMM, KC_DOT, KC_SLSH,
     44     OS_4,    LT2_ESC, LT1_SPC, OS_3,  OS_SFT
     45     ),
     46     LAYOUT(
     47     KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,     KC_0,
     48     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP,   KC_RIGHT, KC_QUOT,
     49     KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_MINS, KC_EQL,   KC_TRNS,
     50     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
     51     ),
     52     LAYOUT(
     53     KC_EXLM,  KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
     54     KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END,  KC_DQUO,
     55     KC_TILDE, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS, KC_PIPE, KC_UNDS, KC_PLUS,  KC_TRNS,
     56     KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
     57     ),
     58     LAYOUT(
     59     KC_F1,   KC_F2,   KC_F3,    KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,    KC_F10,
     60     KC_F11,  KC_F12,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP,   KC_RIGHT, KC_TRNS,
     61     KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU,  KC_TRNS,
     62     QK_BOOT, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS
     63     )
     64 };