qmk_firmware

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

keymap.c (6905B)


      1 // Copyright 2018-2022 Nick Brassel (@tzarc)
      2 // SPDX-License-Identifier: GPL-2.0-or-later
      3 #include QMK_KEYBOARD_H
      4 #include "theme_djinn_default.h"
      5 
      6 // Layer definitions
      7 enum { _QWERTY, _LOWER, _RAISE, _ADJUST };
      8 
      9 //----------------------------------------------------------
     10 // Key map
     11 
     12 // clang-format off
     13 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     14     [_QWERTY] = LAYOUT(
     15         KC_ESC,   KC_1,   KC_2,    KC_3,    KC_4,      KC_5,    KC_GRV,                              KC_DEL,  KC_6,     KC_7,      KC_8,    KC_9,    KC_0,    KC_BSPC,
     16         KC_TAB,   KC_Q,   KC_W,    KC_E,    KC_R,      KC_T,    KC_LBRC,                             KC_RBRC, KC_Y,     KC_U,      KC_I,    KC_O,    KC_P,    KC_BSLS,
     17         KC_LCTL,  KC_A,   KC_S,    KC_D,    KC_F,      KC_G,    KC_HOME,                             KC_PGUP, KC_H,     KC_J,      KC_K,    KC_L,    KC_SCLN, KC_QUOT,
     18         KC_LSFT,  KC_Z,   KC_X,    KC_C,    KC_V,      KC_B,    KC_END,                              KC_PGDN, KC_N,     KC_M,      KC_COMM, KC_DOT,  KC_SLSH, KC_ENT,
     19                                    KC_LGUI, MO(_LOWER),KC_SPC,  KC_NO,                               KC_NO,   KC_SPC,   MO(_RAISE),KC_LALT,
     20                                                                       RM_PREV,               RM_NEXT,
     21                                                        KC_UP,                                                 KC_UP,
     22                                             KC_LEFT,   _______, KC_RIGHT,                            KC_LEFT, _______, KC_RIGHT,
     23                                                        KC_DOWN,                                               KC_DOWN
     24     ),
     25     [_LOWER] = LAYOUT(
     26         KC_F12,  KC_F1,   KC_F2,   KC_F3,   KC_F4,     KC_F5,   _______,                             _______, KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,
     27         _______, _______, KC_UP,   _______, _______,   _______, _______,                             _______, _______, _______, _______, _______, _______, _______,
     28         _______, KC_LEFT, KC_DOWN, KC_RIGHT,_______,   _______, _______,                             _______, _______, _______, _______, _______, _______, _______,
     29         _______, _______, _______, _______, _______,   _______, _______,                             _______, _______, _______, _______, _______, _______, _______,
     30                                    _______, _______,   _______, _______,                             _______, _______, _______, _______,
     31                                                                       BL_DOWN,               BL_UP, 
     32                                                      _______,                                               _______,
     33                                             _______,   _______, _______,                             _______, _______, _______,
     34                                                      _______,                                               _______
     35     ),
     36     [_RAISE] = LAYOUT(
     37         KC_F12, KC_F1,   KC_F2,    KC_F3,   KC_F4,     KC_F5,   _______,                             _______, KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,
     38         _______,_______, KC_UP,    _______, _______,   _______, _______,                             _______, _______, _______, _______, _______, _______, _______,
     39         _______,KC_LEFT, KC_DOWN,  KC_RIGHT,_______,   KC_UNDS, KC_NO,                               KC_NO,   KC_EQL,  _______, _______, _______, _______, _______,
     40         _______, _______, _______, _______, _______,   KC_MINS, KC_NO,                               KC_NO,   KC_PLUS, _______, _______, _______, _______, _______,
     41                                    _______, _______,   _______, _______,                             _______, _______, _______, _______,
     42                                                                       _______,               _______,
     43                                                      _______,                                               _______,
     44                                             _______,   _______, _______,                             _______, _______, _______,
     45                                                      _______,                                               _______
     46     ),
     47     [_ADJUST] = LAYOUT(
     48         _______, KC_CAPS, KC_NUM,  KC_SCRL, _______,   _______, _______,                             _______, _______, _______, _______, DB_TOGG, EE_CLR,  QK_BOOT,
     49         _______, _______, _______, _______, _______,   _______, _______,                             _______, _______, _______, _______, _______, _______, _______,
     50         _______, _______, _______, _______, _______,   _______, _______,                             _______, _______, _______, _______, _______, _______, _______,
     51         _______, _______, _______, _______, _______,   _______, _______,                             _______, _______, _______, _______, _______, _______, _______,
     52                                    _______, _______,   _______, _______,                             _______, _______, _______, _______,
     53                                                                       _______,               _______,
     54                                                      _______,                                               _______,
     55                                             _______,   _______, _______,                             _______, _______, _______,
     56                                                      _______,                                               _______
     57     )
     58 };
     59 // clang-format on
     60 
     61 //----------------------------------------------------------
     62 // Encoder map
     63 
     64 // clang-format off
     65 const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
     66     [_QWERTY] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
     67     [_LOWER]  = { ENCODER_CCW_CW(RM_HUED, RM_HUEU), ENCODER_CCW_CW(RM_SATD, RM_SATU)  },
     68     [_RAISE]  = { ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(RM_SPDD, RM_SPDU)  },
     69     [_ADJUST] = { ENCODER_CCW_CW(RM_PREV, RM_NEXT), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) },
     70 };
     71 // clang-format on
     72 
     73 //----------------------------------------------------------
     74 // Layer naming
     75 
     76 const char *current_layer_name(void) {
     77     switch (get_highest_layer(layer_state)) {
     78         case _QWERTY:
     79             return "qwerty";
     80         case _LOWER:
     81             return "lower";
     82         case _RAISE:
     83             return "raise";
     84         case _ADJUST:
     85             return "adjust";
     86     }
     87     return "unknown";
     88 }
     89 
     90 //----------------------------------------------------------
     91 // Overrides
     92 
     93 void keyboard_post_init_user(void) {
     94     // Initialise the theme
     95     theme_init();
     96 
     97     void keyboard_post_init_display(void);
     98     keyboard_post_init_display();
     99 }
    100 
    101 void housekeeping_task_user(void) {
    102     // Update kb_state so we can send to slave
    103     theme_state_update();
    104 
    105     // Data sync from master to slave
    106     theme_state_sync();
    107 }