keymap.c 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #include QMK_KEYBOARD_H
  2. #define _QWERTY 0
  3. #define _FN1 1
  4. #define _FN2 2
  5. #define KC_ KC_TRNS
  6. #define KC_X0 LT(_FN2, KC_CAPS)
  7. #define KC_X1 MO(_FN1)
  8. #define KC_X2 BL_STEP
  9. #define KC_X3 BL_BRTG
  10. #define KC_X4 BL_TOGG
  11. #define KC_X5 BL_INC
  12. #define KC_X6 BL_DEC
  13. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  14. [_QWERTY] = LAYOUT_kc(
  15. /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */
  16. ESC , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS,EQL , BSPC , INS ,PGUP,
  17. /*|----`----`----`----`----`----`----`----`----`----`----`----`----`--------| |----`----| */
  18. TAB , Q , W , E , R , T , Y , U , I , O , P ,LBRC,RBRC, BSLS , DEL ,PGDN,
  19. /*|------`----`----`----`----`----`----`----`----`----`----`----`----`------| `----`----' */
  20. X0 , A , S , D , F , G , H , J , K , L ,SCLN,QUOT, ENTER ,
  21. /*|-------`----`----`----`----`----`----`----`----`----`----`----`----------| ,----. */
  22. LSFT , Z , X , C , V , B , N , M ,COMM,DOT ,SLSH, RSFT , UP ,
  23. /*|---------`----`----`----`----`----`----`----`----`----`----`-------------.--|----|----. */
  24. LCTL ,LGUI ,LALT , SPACE , X1 ,RALT ,RCTL , LEFT,DOWN,RGHT
  25. /*`-----+-----+-----+------------------------------+------+-----+-----' `----+----+----' */
  26. ),
  27. [_FN1] = LAYOUT_kc(
  28. /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */
  29. GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,F12 , BSPC , ,HOME,
  30. /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--| |ins-`pgup| */
  31. , , UP , , , , , , ,PSCR,SLCK,PAUS, X2 , , ,END,
  32. /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---| `del-`pgdn' */
  33. X0 ,LEFT,DOWN,RGHT, , X6 , X5 , X4 , X3 , X2 ,HOME, , ,
  34. /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-| ,----. */
  35. , ,MPLY,MSTP,MPRV,MNXT,VOLD,VOLU,MUTE, ,END , , X5 ,
  36. /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-.--|-up-|----. */
  37. , , , , , , , X3 , X6 , X4
  38. /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-' `left+down+rght' */
  39. ),
  40. [_FN2] = LAYOUT_kc(
  41. /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */
  42. GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,F12 , BSPC , VOLU,HOME,
  43. /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--| |ins-`pgup| */
  44. , , , UP , , , , 7 , 8 , 9 , , , , , VOLD,END,
  45. /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---| `del-`pgdn' */
  46. , ,LEFT,DOWN,RGHT, , , 4 , 5 , 6 , , , ,
  47. /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-| ,----. */
  48. , , , , , , 0 , 1 , 2 , 3 , , , MUTE,
  49. /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-.--|-up-|----. */
  50. , , , , , , , MPRV,MPLY,MNXT
  51. /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-' `left+down+rght' */
  52. )
  53. };
  54. const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
  55. {
  56. // MACRODOWN only works in this function
  57. switch(id) {
  58. case 0:
  59. if (record->event.pressed) {
  60. register_code(KC_RSFT);
  61. } else {
  62. unregister_code(KC_RSFT);
  63. }
  64. break;
  65. }
  66. return MACRO_NONE;
  67. };