keymap.c 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include QMK_KEYBOARD_H
  2. // Tap Dance Declarations
  3. enum {
  4. TD_SCAPS = 0
  5. };
  6. #define SCAPS_LG TD(TD_SCAPS)
  7. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  8. [0] = LAYOUT(
  9. KC_GESC, 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_PSCR, \
  10. LCTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, KC_INS, \
  11. SCAPS_LG, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(2), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_DEL, \
  12. KC_APP, KC_LGUI, KC_LALT, MO(1), LT(1,KC_SPC), KC_BSPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
  13. ),
  14. [1] = LAYOUT(
  15. 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_PAUS, \
  16. _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, KC_SCLN, KC_BSLS, KC_MUTE, \
  17. _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_MPLY, \
  18. _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END \
  19. ),
  20. [2] = LAYOUT(
  21. _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RESET, \
  22. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
  23. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,\
  24. _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT \
  25. )
  26. };
  27. void matrix_init_user(void) {
  28. // set CapsLock LED to output and low
  29. setPinOutput(F6);
  30. writePinLow(F6);
  31. // set NumLock LED to output and low
  32. setPinOutput(F5);
  33. writePinLow(F5);
  34. // set ScrollLock LED to output and low
  35. setPinOutput(F4);
  36. writePinLow(F4);
  37. }
  38. layer_state_t layer_state_set_user(layer_state_t state)
  39. {
  40. writePin(F4, (state & 0x1));
  41. writePin(F5, (state & 0x2));
  42. writePin(F6, (state & 0x4));
  43. return state;
  44. }
  45. // Tap Dance Definitions
  46. qk_tap_dance_action_t tap_dance_actions[] = {
  47. // double tap for caps
  48. [TD_SCAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
  49. };