qmk_firmware

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

keymap.c (7338B)


      1 // Copyright 2025 Yiancar-Designs, Bit-Shifter
      2 // SPDX-License-Identifier: GPL-2.0-or-later
      3 #include QMK_KEYBOARD_H
      4 
      5 enum my_keycodes {
      6     MACRO = QK_USER_0,
      7     QUOTE,
      8     CLRIN,
      9     SQUAR,
     10     CIRCL,
     11     TRIAN,
     12     DIAMO,
     13     WRITE,
     14     TTY,
     15     PLUSM,
     16     MODE,
     17 };
     18 
     19 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     20     switch (keycode) {
     21     case MACRO:
     22         if (record->event.pressed) {
     23             // when keycode MACRO is pressed
     24             SEND_STRING("Hyper7 is the best thing ever!");
     25         }
     26         break;
     27     case QUOTE:
     28         if (record->event.pressed) {
     29             // when keycode QUOTE is pressed
     30             SEND_STRING("\"\"" SS_TAP(X_LEFT));
     31         }
     32         break;
     33     case CLRIN:
     34         if (record->event.pressed) {
     35             // when keycode CLRIN is pressed
     36             SEND_STRING(SS_LCTL("a") SS_TAP(X_DEL));
     37         }
     38         break;
     39     case SQUAR:
     40         if (record->event.pressed) {
     41             // when keycode SQUAR is pressed
     42             SEND_STRING("I like squares");
     43         }
     44         break;
     45     case CIRCL:
     46         if (record->event.pressed) {
     47             // when keycode CIRCL is pressed
     48             SEND_STRING("I like circles");
     49         }
     50         break;
     51     case TRIAN:
     52         if (record->event.pressed) {
     53             // when keycode TRIAN is pressed
     54             SEND_STRING("I like the illuminati");
     55         }
     56         break;
     57     case DIAMO:
     58         if (record->event.pressed) {
     59             // when keycode DIAMO is pressed
     60             SEND_STRING("Everyone likes diamonds");
     61         }
     62         break;
     63     case WRITE:
     64         if (record->event.pressed) {
     65             // when keycode WRITE is pressed
     66             SEND_STRING(SS_LGUI("x") "notepad" SS_TAP(X_ENT));
     67         }
     68         break;
     69     case TTY:
     70         if (record->event.pressed) {
     71             // when keycode TTY is pressed
     72             SEND_STRING(SS_LGUI("x") "cmd" SS_TAP(X_ENT));
     73         }
     74         break;
     75     case PLUSM:
     76         if (record->event.pressed) {
     77             // when keycode PLUSM is pressed
     78             SEND_STRING("+-");
     79         }
     80     case MODE:
     81         if (record->event.pressed) {
     82             // when keycode MODE is pressed
     83             SEND_STRING("Mode");
     84         }
     85     }
     86     return true;
     87 };
     88 
     89 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     90     [0] = LAYOUT_modern(
     91         G(KC_F1),             MACRO,                RCS(KC_ESC),          QUOTE,                KC_INS,               CLRIN,                G(KC_D),              C(KC_S),              C(KC_C),              A(KC_F4),             KC_PAUS,              C(KC_P),              G(C(KC_Q)),           LCA(KC_DEL),
     92         G(KC_X),              KC_WHOM,              G(KC_PAUS),           C(KC_R),              A(KC_TAB),            SQUAR,                CIRCL,                TRIAN,                DIAMO,                C(KC_Y),              LAG(KC_R),            RCS(KC_ESC),          G(KC_L),              KC_CAPS,
     93         KC_F1,     KC_F2,     A(KC_F4),  G(KC_R),   KC_ESC,               KC_QUES,   KC_EXLM,   KC_AT,     KC_AT,     KC_AT,     KC_AT,     KC_GRV,    KC_GRV,    KC_GRV,    KC_GRV,    KC_UNDS,   KC_LABK,   KC_RABK,   KC_PIPE,   KC_LCBR,   KC_RCBR,   C(KC_ENT),            KC_CIRC,   KC_PERC,   KC_HASH,   KC_DLR,
     94         KC_F3,     KC_F4,     C(KC_F),   WRITE,     LSFT(KC_N),           PLUSM,     KC_TILD,   KC_1,      KC_2,      KC_3,      KC_4,      KC_5,      KC_6,      KC_7,      KC_8,      KC_9,      KC_0,      KC_MINS,   KC_EQL,    KC_NUBS,   KC_LBRC,   KC_RBRC,   C(KC_Z),   KC_PMNS,   KC_PSLS,   KC_PAST,   KC_PMNS,
     95         KC_F5,     KC_F6,     C(KC_M),   C(KC_Z),   C(KC_V),   C(KC_X),              KC_TAB,    KC_Q,      KC_W,      KC_E,      KC_R,      KC_T,      KC_Y,      KC_U,      KC_I,      KC_O,      KC_P,      KC_LCBR,   KC_RCBR,   KC_BSPC,              KC_CLEAR,  C(KC_HOME),KC_P7,     KC_P8,     KC_P9,     KC_PPLS,
     96         KC_F7,     KC_F8,     C(KC_A),   KC_F12,    MO(1),                MODE,      KC_PGUP,   KC_A,      KC_S,      KC_D,      KC_F,      KC_G,      KC_H,      KC_J,      KC_K,      KC_L,      KC_COLN,   KC_QUOT,              KC_ENT,    KC_HOME,   KC_PGDN,   KC_P4,     KC_P5,     KC_P6,     KC_AMPR,
     97         KC_F9,     KC_F10,    TTY,       G(KC_L),   C(KC_HOME),KC_END,    G(KC_DOT), KC_LSFT,   KC_Z,      KC_X,      KC_C,      KC_V,      KC_B,      KC_N,      KC_M,      KC_COMM,   KC_DOT,    KC_SLSH,   KC_RSFT,              G(KC_DOT), KC_UP,     KC_LGUI,              KC_P1,     KC_P2,     KC_P3,     KC_EQL,
     98         KC_F11,    KC_F12,    KC_HOME,   C(KC_END), C(KC_LEFT),C(KC_RGHT),G(KC_DOWN),KC_HYPR,   KC_LALT,                                               KC_SPC,                                                KC_RGUI,  KC_HYPR,    KC_RALT,   KC_LEFT,   KC_DOWN,   KC_RGHT,   KC_DEL,    KC_P0,     KC_PDOT,   KC_ENTER
     99     ),
    100     [1] = LAYOUT_modern(
    101         _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,
    102         _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,              _______,
    103         _______,   _______,   _______,   _______,   QK_BOOT,              _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,              _______,   _______,   _______,   _______,
    104 
    105         _______,   _______,   _______,   _______,   _______,              _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,
    106         _______,   _______,   _______,   _______,   _______,   _______,              _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,              _______,   _______,   _______,   _______,   _______,   _______,
    107         _______,   _______,   _______,   _______,   _______,              _______,   _______,              _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,              _______,   _______,   _______,   _______,   _______,
    108         _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,              _______,   _______,   _______,              _______,   _______,   _______,   _______,
    109         _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,                                               _______,                                               _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______
    110     ),
    111 };