qmk_firmware

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

keymap.c (6575B)


      1 #include QMK_KEYBOARD_H
      2 #include "keymap_japanese.h"
      3 
      4 
      5 #ifdef RGBLIGHT_ENABLE
      6 //Following line allows macro to read current RGB settings
      7 extern rgblight_config_t rgblight_config;
      8 #endif
      9 
     10 // Each layer gets a name for readability, which is then used in the keymap matrix below.
     11 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
     12 // Layer names don't all need to be of the same length, obviously, and you can also skip them
     13 // entirely and just use numbers.
     14 enum layer_number {
     15   _BASE = 0,
     16   _LOWER,
     17   _RAISE,
     18   _ADJUST,
     19 };
     20 
     21 enum custom_keycodes {
     22   RGBRST = SAFE_RANGE,
     23   LOWER,
     24   RAISE,
     25   KANJI,
     26 };
     27 
     28 // enum tapdances{
     29 //   TD_CODO = 0,
     30 //   TD_SLRO,
     31 // };
     32 
     33 // Layer Mode aliases
     34 #define KC_MLAD  MO(_ADJUST)
     35 
     36 // Base layer mod tap
     37 #define KC_A_SF  LSFT_T(KC_A)
     38 #define KC_Z_CT  LCTL_T(KC_Z)
     39 #define KC_X_AL  LALT_T(KC_X)
     40 #define KC_C_GU  LGUI_T(KC_C)
     41 #define KC_SSCT  RCTL_T(KC_SLSH)
     42 #define KC_ENSF  RSFT_T(KC_ENT)
     43 
     44 // Lower layer mod tap
     45 #define KC_F6SF  LSFT_T(KC_F6)
     46 #define KC_QUSF  RSFT_T(KC_QUOT)
     47 #define KC_11CT  LCTL_T(KC_F11)
     48 #define KC_12AL  LALT_T(KC_F12)
     49 
     50 // Layer tap
     51 #define KC_BSLO  LT(_LOWER, KC_BSPC)
     52 #define KC_SPRA  LT(_RAISE, KC_SPC)
     53 
     54 // Tap dance
     55 // #define KC_CODO  TD(TD_CODO)
     56 // #define KC_SLRO  TD(TD_SLRO)
     57 
     58 // tap_dance_action_t tap_dance_actions[] = {
     59 //   [TD_CODO] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_DOT),
     60 //   [TD_SLRO] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, JP_BSLS),
     61 // };
     62 
     63 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     64   [_BASE] = LAYOUT(
     65   //,---------------------------------------------------------------------------------------------------.
     66           KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,     KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,
     67   //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
     68        KC_A_SF,     KC_S,     KC_D,     KC_F,     KC_G,     KC_H,     KC_J,     KC_K,     KC_L,  KC_ENSF,
     69   //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
     70        KC_Z_CT,  KC_X_AL,  KC_C_GU,     KC_V,     KC_B,     KC_N,     KC_M,  KC_COMM,   KC_DOT,  KC_SSCT,
     71   //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'
     72                                                KC_BSLO,  KC_SPRA
     73   //                                        `---------|---------'
     74   ),
     75 
     76   [_LOWER] = LAYOUT(
     77   //,---------------------------------------------------------------------------------------------------.
     78          KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,  KC_MINS,   KC_EQL,  KC_LBRC,  KC_RBRC,  KC_BSLS,
     79   //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
     80        KC_F6SF,    KC_F7,    KC_F8,    KC_F9,   KC_F10,  XXXXXXX,  XXXXXXX,  XXXXXXX,  KC_SCLN,  KC_QUSF,
     81   //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
     82        KC_11CT,  KC_12AL,   KC_ESC,   KC_TAB,    KANJI,   KC_DEL,  XXXXXXX,  XXXXXXX,  JP_BSLS,   KC_GRV,
     83   //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'
     84                                                _______,  KC_MLAD
     85   //                                        `---------|---------'
     86   ),
     87 
     88   [_RAISE] = LAYOUT(
     89   //,---------------------------------------------------------------------------------------------------.
     90           KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_6,     KC_7,     KC_8,     KC_9,     KC_0,
     91   //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
     92        KC_LSFT,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  KC_LEFT,  KC_DOWN,    KC_UP,  KC_RGHT,  KC_LSFT,
     93   //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
     94        KC_LCTL,  KC_LALT,  KC_LGUI,  XXXXXXX,  XXXXXXX,  KC_MINS,  JP_BSLS,  KC_COMM,   KC_DOT,  KC_SSCT,
     95   //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'
     96                                                _______,  _______
     97   //                                        `---------|---------'
     98   ),
     99 
    100   [_ADJUST] = LAYOUT(
    101   //,---------------------------------------------------------------------------------------------------.
    102        QK_BOOT,   RGBRST,  AG_NORM,  AG_SWAP,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,   KC_INS,  KC_PSCR,
    103   //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
    104        UG_TOGG,  UG_HUEU,  UG_SATU,  UG_VALU,  XXXXXXX,  MS_LEFT,  MS_DOWN,  MS_UP,    MS_RGHT,  KC_NUM,
    105   //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
    106        UG_NEXT,  UG_HUED,  UG_SATD,  UG_VALD,  XXXXXXX,  MS_BTN1,  MS_BTN2,  XXXXXXX,  XXXXXXX,  XXXXXXX,
    107   //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'
    108                                                _______,  _______
    109   //                                        `---------|---------'
    110   )
    111 };
    112 
    113 uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
    114   switch (keycode) {
    115     case KC_BSLO:
    116       return TAPPING_LAYER_TERM;
    117     case KC_SPRA:
    118       return TAPPING_LAYER_TERM;
    119     default:
    120       return TAPPING_TERM;
    121   }
    122 }
    123 
    124 int RGB_current_mode;
    125 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    126 
    127   bool result = false;
    128   switch (keycode) {
    129     case KANJI:
    130       if (record->event.pressed) {
    131         if (keymap_config.swap_lalt_lgui == false) {
    132           register_code(KC_LNG2);
    133         } else {
    134           SEND_STRING(SS_LALT("`"));
    135         }
    136       } else {
    137         unregister_code(KC_LNG2);
    138       }
    139       break;
    140     #ifdef RGBLIGHT_ENABLE
    141       //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
    142       case QK_UNDERGLOW_MODE_NEXT:
    143           if (record->event.pressed) {
    144             rgblight_mode(RGB_current_mode);
    145             rgblight_step();
    146             RGB_current_mode = rgblight_config.mode;
    147           }
    148         break;
    149       case RGBRST:
    150           if (record->event.pressed) {
    151             eeconfig_update_rgblight_default();
    152             rgblight_enable();
    153             RGB_current_mode = rgblight_config.mode;
    154           }
    155         break;
    156     #endif
    157     default:
    158       result = true;
    159       break;
    160   }
    161 
    162   return result;
    163 }
    164 
    165 void keyboard_post_init_user(void) {
    166   #ifdef RGBLIGHT_ENABLE
    167     RGB_current_mode = rgblight_config.mode;
    168   #endif
    169 }