qmk_firmware

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

keymap.c (5823B)


      1 #include QMK_KEYBOARD_H
      2 #include "debug.h"
      3 #include "action_layer.h"
      4 #include "version.h"
      5 
      6 
      7 #include "keymap_german.h"
      8 
      9 #include "keymap_nordic.h"
     10 
     11 
     12 
     13 enum custom_keycodes {
     14   PLACEHOLDER = SAFE_RANGE, // can always be here
     15   EPRM,
     16   VRSN,
     17   RGB_SLD,
     18 
     19 };
     20 
     21 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     22 
     23   [0] = LAYOUT_ergodox(KC_EQUAL,KC_1,KC_2,KC_3,KC_4,KC_5,LCTL(KC_MINUS),KC_DELETE,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_LBRC,KC_BSPC,KC_A,KC_S,KC_D,KC_F,KC_G,SC_LSPO,CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,HYPR_T(KC_NO),LT(1,KC_GRAVE),KC_QUOTE,LALT(KC_LSFT),KC_LEFT,KC_RIGHT,ALT_T(KC_APPLICATION),KC_LGUI,KC_HOME,KC_SPACE,KC_UNDS,KC_END,LCTL(KC_EQUAL),KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINUS,KC_RBRC,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLS,KC_H,ALT_T(KC_J),KC_K,KC_L,LT(2,KC_SCLN),GUI_T(KC_QUOTE),MEH_T(KC_NO),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SC_RSPC,KC_UP,KC_DOWN,KC_LBRC,KC_RBRC,TT(1),KC_LALT,CTL_T(KC_ESCAPE),KC_PGUP,KC_PGDN,LT(1,KC_TAB),KC_ENTER),
     24 
     25   [1] = LAYOUT_ergodox(KC_TRANSPARENT,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(KC_W),KC_LBRC,KC_RBRC,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(KC_PGUP),LCTL(KC_PGDN),UG_NEXT,KC_TRANSPARENT,KC_TRANSPARENT,UG_VALD,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_F12,KC_AMPR,KC_UNDS,KC_MINUS,KC_SCLN,KC_PLUS,KC_TRANSPARENT,KC_TRANSPARENT,KC_PIPE,KC_AT,KC_EQUAL,KC_PERC,KC_BSLS,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,UG_TOGG,RGB_SLD,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,UG_HUEU),
     26 
     27   [2] = LAYOUT_ergodox(KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,MS_UP,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,MS_LEFT,MS_DOWN,MS_RGHT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,MS_BTN1,MS_BTN2,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MEDIA_PLAY_PAUSE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MEDIA_PREV_TRACK,KC_MEDIA_NEXT_TRACK,KC_TRANSPARENT,KC_TRANSPARENT,KC_AUDIO_VOL_UP,KC_AUDIO_VOL_DOWN,KC_AUDIO_MUTE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_WWW_BACK),
     28 
     29 };
     30 
     31 void matrix_init_user(void) {
     32 #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_COLOR_LAYER_0)
     33   rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0);
     34 #endif
     35 };
     36 
     37 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
     38   switch (keycode) {
     39     // dynamically generate these.
     40     case EPRM:
     41       if (record->event.pressed) {
     42         eeconfig_init();
     43       }
     44       return false;
     45     case VRSN:
     46       if (record->event.pressed) {
     47         SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
     48       }
     49       return false;
     50 #ifdef RGBLIGHT_ENABLE
     51     case RGB_SLD:
     52       if (record->event.pressed) {
     53         rgblight_mode(1);
     54       }
     55       return false;
     56 #endif
     57 
     58   }
     59   return true;
     60 }
     61 
     62 layer_state_t layer_state_set_user(layer_state_t state) {
     63 
     64     uint8_t layer = get_highest_layer(layer_state);
     65 
     66     ergodox_board_led_off();
     67     ergodox_right_led_1_off();
     68     ergodox_right_led_2_off();
     69     ergodox_right_led_3_off();
     70     switch (layer) {
     71       case 0:
     72         #ifdef RGBLIGHT_ENABLE
     73           #ifdef RGBLIGHT_COLOR_LAYER_0
     74           rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0);
     75           #else
     76           rgblight_init();
     77           #endif
     78         #endif
     79         break;
     80       case 1:
     81         ergodox_right_led_1_on();
     82         #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_COLOR_LAYER_1)
     83           rgblight_setrgb(RGBLIGHT_COLOR_LAYER_1);
     84         #endif
     85         break;
     86       case 2:
     87         ergodox_right_led_2_on();
     88         #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_COLOR_LAYER_2)
     89           rgblight_setrgb(RGBLIGHT_COLOR_LAYER_2);
     90         #endif
     91         break;
     92       case 3:
     93         ergodox_right_led_3_on();
     94         #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_COLOR_LAYER_3)
     95           rgblight_setrgb(RGBLIGHT_COLOR_LAYER_3);
     96         #endif
     97         break;
     98       case 4:
     99         ergodox_right_led_1_on();
    100         ergodox_right_led_2_on();
    101         #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_COLOR_LAYER_4)
    102           rgblight_setrgb(RGBLIGHT_COLOR_LAYER_4);
    103         #endif
    104         break;
    105       case 5:
    106         ergodox_right_led_1_on();
    107         ergodox_right_led_3_on();
    108         #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_COLOR_LAYER_5)
    109           rgblight_setrgb(RGBLIGHT_COLOR_LAYER_5);
    110         #endif
    111         break;
    112       case 6:
    113         ergodox_right_led_2_on();
    114         ergodox_right_led_3_on();
    115         #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_COLOR_LAYER_6)
    116           rgblight_setrgb(RGBLIGHT_COLOR_LAYER_6);
    117         #endif
    118         break;
    119       case 7:
    120         ergodox_right_led_1_on();
    121         ergodox_right_led_2_on();
    122         ergodox_right_led_3_on();
    123         #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_COLOR_LAYER_7)
    124           rgblight_setrgb(RGBLIGHT_COLOR_LAYER_6);
    125         #endif
    126         break;
    127       default:
    128         break;
    129     }
    130 
    131     return state;
    132 };