daily pastebin goal
17%
SHARE
TWEET

QMK kc60 keymap

a guest Jun 12th, 2016 144 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // This is the canonical layout file for the Quantum project. If you want to add another keyboard,
  2. // this is the style you want to emulate.
  3.  
  4. #include "kc60.h"
  5. #ifdef BACKLIGHT_ENABLE
  6.   #include "backlight.h"
  7. #endif
  8.  
  9. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  10.   [0] = KEYMAP( /* Basic QWERTY */
  11.       F(2),     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_BSPC,  \
  12.       KC_TAB,   KC_Q,     KC_W,     KC_E,    KC_R,     KC_T,     KC_Y,     KC_U,    KC_I,  KC_O,     KC_P,     KC_LBRC,  KC_RBRC,  KC_BSLS,  \
  13.       KC_LCTL,  KC_A,     KC_S,     KC_D,    KC_F,     KC_G,     KC_H,     KC_J,    KC_K,  KC_L,     KC_SCLN,  KC_QUOT,  KC_NO,    KC_ENT,   \
  14.       F(11),    KC_NO,    KC_Z,     KC_X,    KC_C,     KC_V,     KC_B,     KC_N,    KC_M,  KC_COMM,  KC_DOT,   KC_SLSH,  KC_NO,    KC_RSFT,  \
  15.       KC_LCTL,  KC_LGUI,  KC_LALT,                     F(1),                                         KC_RALT,  KC_RGUI,  F(0),     KC_RCTL),
  16.   [1] = KEYMAP( /* First Fn Layer */
  17.       KC_GRV,   KC_F1,    KC_F2,    KC_F3,   KC_F4,    KC_F5,    KC_F6,    KC_F7,   KC_F8,  KC_F9,      KC_F10,   KC_F11,   KC_F12,   KC_DEL,   \
  18.       KC_TAB,   KC_Q,     KC_UP,    KC_E,    KC_R,     KC_T,     KC_Y,     KC_U,    KC_INS, KC_O,       KC_PSCREEN,  KC_SLCK,  KC_PAUS,  KC_BSLS,  \
  19.       KC_CAPS,  KC_LEFT,  KC_DOWN,  KC_RGHT, KC_F,     KC_G,     KC_H,     KC_J,    KC_K,   LGUI(KC_L), KC_HOME,  KC_PGUP,  KC_NO,    KC_ENT,   \
  20.       KC_LSFT,  KC_NO,    KC_Z,     KC_X,    BL_DEC,   BL_TOGG,  BL_INC,   KC_N,    KC_M,   KC_COMM,    KC_END,   KC_PGDN,  KC_NO,    KC_RSFT,  \
  21.       KC_LCTL,  KC_LGUI,  KC_TRNS,                     KC_TRNS,                                         KC_RALT,  KC_RGUI,  KC_TRNS,  KC_RCTL),
  22.   [2] = KEYMAP( /* Mousekeys Layer */
  23.       KC_ESC,   KC_1,     KC_BTN3,  KC_TRNS, KC_4,     KC_5,     KC_6,     KC_P7,   KC_P8, KC_P9,    KC_0,     KC_MINS,  KC_EQL,   KC_BSPC,  \
  24.       KC_TAB,   KC_BTN1,  KC_MS_U,  KC_BTN2, KC_R,     KC_T,     KC_Y,     KC_P4,   KC_P5, KC_P6,    KC_NLCK,  KC_LBRC,  KC_RBRC,  KC_BSLS,  \
  25.       KC_WH_U,  KC_MS_L,  KC_MS_D,  KC_MS_R, KC_F,     KC_G,     KC_H,     KC_P1,   KC_P2, KC_P3,    KC_PPLS,  KC_PAST,  KC_NO,    KC_ENT,   \
  26.       KC_WH_D,  KC_NO,    KC_Z,     KC_X,    KC_C,     KC_V,     KC_B,     KC_N,    KC_P0, KC_COMM,  KC_PDOT,  KC_PSLS,  KC_NO,    KC_RSFT,  \
  27.       KC_LCTL,  KC_LGUI,  KC_LALT,                     KC_TRNS,                                      KC_RALT,  KC_RGUI,  KC_TRNS,  KC_RCTL),
  28.   [3] = KEYMAP( /* RGBLIGHT */
  29.       KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS, \
  30.       KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS, \
  31.       KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_NO,    KC_TRNS, \
  32.       KC_TRNS,  KC_NO,    F(3),     F(4),    F(5),     F(6),     F(7),     F(8),    F(9),    F(10),   KC_TRNS, KC_TRNS,  KC_NO,    KC_TRNS, \
  33.       KC_TRNS,  KC_TRNS,  KC_TRNS,                     KC_TRNS,                                       KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS),
  34.   [4] = KEYMAP( /* tilde - grave */
  35.       KC_GRV,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS, \
  36.       KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS, \
  37.       KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_NO,    KC_TRNS, \
  38.       KC_TRNS,  KC_NO,    KC_TRNS,  KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  KC_NO,    KC_TRNS, \
  39.       KC_TRNS,  KC_TRNS,  KC_TRNS,                     KC_TRNS,                                       KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS),
  40.      
  41. };
  42.  
  43. enum function_id {
  44.     RGBLED_TOGGLE,
  45.     RGBLED_STEP_MODE,
  46.     RGBLED_INCREASE_HUE,
  47.     RGBLED_DECREASE_HUE,
  48.     RGBLED_INCREASE_SAT,
  49.     RGBLED_DECREASE_SAT,
  50.     RGBLED_INCREASE_VAL,
  51.     RGBLED_DECREASE_VAL,
  52. };
  53.  
  54. const uint16_t PROGMEM fn_actions[] = {
  55.   [0]  = ACTION_LAYER_TOGGLE(2),
  56.   [1]  = ACTION_LAYER_TAP_KEY(1, KC_SPC),
  57.   [2]  = ACTION_LAYER_TAP_KEY(3, KC_ESC),
  58.   [3]  = ACTION_FUNCTION(RGBLED_TOGGLE),
  59.   [4]  = ACTION_FUNCTION(RGBLED_STEP_MODE),
  60.   [5]  = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
  61.   [6]  = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
  62.   [7]  = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
  63.   [8]  = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
  64.   [9]  = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
  65.   [10] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
  66.   [11] = ACTION_LAYER_MODS(4, MOD_LSFT),
  67. };
  68.  
  69.  
  70. void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
  71.   switch (id) {
  72.     case RGBLED_TOGGLE:
  73.       //led operations
  74.       if (record->event.pressed) {
  75.         rgblight_toggle();
  76.       }
  77.       break;
  78.     case RGBLED_INCREASE_HUE:
  79.       if (record->event.pressed) {
  80.         rgblight_increase_hue();
  81.       }
  82.       break;
  83.     case RGBLED_DECREASE_HUE:
  84.       if (record->event.pressed) {
  85.         rgblight_decrease_hue();
  86.       }
  87.       break;
  88.     case RGBLED_INCREASE_SAT:
  89.       if (record->event.pressed) {
  90.         rgblight_increase_sat();
  91.       }
  92.       break;
  93.     case RGBLED_DECREASE_SAT:
  94.       if (record->event.pressed) {
  95.         rgblight_decrease_sat();
  96.       }
  97.       break;
  98.       case RGBLED_INCREASE_VAL:
  99.         if (record->event.pressed) {
  100.           rgblight_increase_val();
  101.         }
  102.         break;
  103.       case RGBLED_DECREASE_VAL:
  104.         if (record->event.pressed) {
  105.           rgblight_decrease_val();
  106.         }
  107.         break;
  108.       case RGBLED_STEP_MODE:
  109.         if (record->event.pressed) {
  110.           rgblight_step();
  111.         }
  112.         break;
  113.   }
  114. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Pastebin PRO 'SUMMER SPECIAL'!
Get 60% OFF Pastebin PRO accounts!
 
Top