qmk_firmware

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

keymap.c (4377B)


      1 /* Copyright 2021 Obosob <obosob@riseup.net>
      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 
     17 #include QMK_KEYBOARD_H
     18 
     19 #define HM_A    LSFT_T(KC_A)
     20 #define HM_S    LT(5,KC_S)
     21 #define HM_D    LT(1,KC_D)
     22 #define HM_F    LT(3,KC_F)
     23 
     24 #define HM_J    LT(4,KC_J)
     25 #define HM_K    LT(2,KC_K)
     26 #define HM_L    LT(6,KC_L)
     27 #define HM_SCLN LSFT_T(KC_SCLN)
     28 
     29 #define MT_X    LCTL_T(KC_X)
     30 #define MT_C    LALT_T(KC_C)
     31 #define MT_SPC  LT(7,KC_SPC)
     32 #define MT_COMM LALT_T(KC_COMM)
     33 #define MT_DOT  LCTL_T(KC_DOT)
     34 
     35 #define CTL_ALT LCTL(KC_LALT)
     36 #define CT_AL_S LCA(KC_LSFT)
     37 
     38 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     39 	[0] = LAYOUT_split_3x5_2(
     40 KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P, 
     41 HM_A,    HM_S,    HM_D,    HM_F,    KC_G,    KC_H,    HM_J,    HM_K,    HM_L,    HM_SCLN, 
     42 KC_Z,    MT_X,    MT_C,    KC_V,    KC_B,    KC_N,    KC_M,    MT_COMM, MT_DOT,  KC_SLSH, 
     43                            KC_P0,   KC_BSPC, MT_SPC,  KC_P1
     44                         ),
     45 	[1] = LAYOUT_split_3x5_2(
     46 _______, _______, _______, _______, _______, _______, MS_BTN1, MS_WHLU, MS_BTN2, _______, 
     47 _______, MS_BTN2, XXXXXXX, MS_BTN1, _______, _______, MS_LEFT, MS_DOWN, MS_UP,   MS_RGHT, 
     48 _______, _______, _______, _______, _______, _______, MS_WHLL, MS_WHLD, MS_WHLR, _______, 
     49                            _______, _______, _______, _______
     50                         ),
     51 	[2] = LAYOUT_split_3x5_2(
     52 _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, 
     53 KC_LEFT, KC_UP,   KC_DOWN, KC_RGHT, _______, _______, KC_LGUI, XXXXXXX, CTL_ALT, CT_AL_S, 
     54 _______, KC_HOME, KC_PGDN, KC_END,  _______, _______, _______, _______, _______, _______, 
     55                            _______, _______, _______, _______
     56                         ),
     57 	[3] = LAYOUT_split_3x5_2(
     58 _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PIPE, KC_QUOT, _______, 
     59 KC_CIRC, KC_ASTR, KC_AMPR, XXXXXXX, _______, KC_HASH, KC_TILD, KC_SLSH, KC_DQUO, KC_DLR, 
     60 _______, _______, _______, _______, _______, _______, KC_MINS, KC_BSLS, KC_GRV,  _______, 
     61                            _______, _______, _______, _______
     62                     ),
     63 	[4] = LAYOUT_split_3x5_2(
     64 _______, KC_COLN, KC_LT,   KC_GT,   KC_SCLN, _______, _______, _______, _______, _______, 
     65 KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, KC_AT,   _______, XXXXXXX, KC_EQL,  KC_PLUS, KC_PERC, 
     66 _______, KC_EXLM, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______, _______, 
     67                            KC_VOLD, _______, _______, KC_VOLU
     68                         ),
     69 	[5] = LAYOUT_split_3x5_2(
     70 _______, _______, _______, _______, _______, _______, KC_F7,   KC_F8,   KC_F9,   KC_F10, 
     71 _______, XXXXXXX, CTL_ALT, _______, _______, _______, KC_F4,   KC_F5,   KC_F6,   KC_F11, 
     72 _______, _______, _______, _______, _______, _______, KC_F1,   KC_F2,   KC_F3,   KC_F12, 
     73                            _______, _______, _______, _______
     74                         ),
     75 	[6] = LAYOUT_split_3x5_2(
     76 KC_PSLS, KC_7,    KC_8,    KC_9,    KC_PPLS, _______, _______, _______, _______, _______, 
     77 KC_0,    KC_1,    KC_2,    KC_3,    KC_PMNS, _______, _______, _______, XXXXXXX, _______, 
     78 KC_PAST, KC_4,    KC_5,    KC_6,    KC_PEQL, _______, _______, _______, _______, _______, 
     79                            _______, _______, _______, _______
     80                         ),
     81 #undef  MT_COMM
     82 #define MT_COMM RALT_T(KC_COMM)
     83 #undef  MT_DOT
     84 #define MT_DOT  RCTL_T(KC_DOT)
     85 	[7] = LAYOUT_split_3x5_2(
     86 _______, _______, KC_COLN, KC_ESC,  _______, _______, _______, _______, _______, KC_DEL, 
     87 _______, KC_PERC, KC_SLSH, KC_ENT,  _______, DF(1),   KC_LGUI, _______, _______, _______, 
     88 _______, _______, _______, KC_EXLM, _______, DF(0),   _______, MT_COMM, MT_DOT,  QK_BOOT, 
     89                            _______, KC_TAB,  XXXXXXX, _______
     90                     )
     91 };
     92