keymap.c 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #include QMK_KEYBOARD_H
  2. extern keymap_config_t keymap_config;
  3. // Each layer gets a name for readability, which is then used in the keymap matrix below.
  4. // The underscores don't mean anything - you can have a layer called STUFF or any other name.
  5. // Layer names don't all need to be of the same length, obviously, and you can also skip them
  6. // entirely and just use numbers.
  7. #define _BASE 0
  8. #define _FN1 1
  9. #define _FN2 2
  10. enum custom_keycodes {
  11. QWERTY = SAFE_RANGE,
  12. };
  13. #define KC_ KC_TRNS
  14. #define _______ KC_TRNS
  15. #define XXXXXXX KC_NO
  16. #define KC_FN1 LT(_FN1, KC_NO)
  17. #define KC_FN2 LT(_FN2, KC_NO)
  18. #define KC_SPFN LT(_FN1, KC_SPACE)
  19. #define KC_RST RESET
  20. #define KC_DBUG DEBUG
  21. #define KC_RTOG RGB_TOG
  22. #define KC_RMOD RGB_MOD
  23. #define KC_RHUI RGB_HUI
  24. #define KC_RHUD RGB_HUD
  25. #define KC_RSAI RGB_SAI
  26. #define KC_RSAD RGB_SAD
  27. #define KC_RVAI RGB_VAI
  28. #define KC_RVAD RGB_VAD
  29. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  30. [_BASE] = LAYOUT_kc(
  31. //,----+----+----+----+----+----|----+----+----+----+----+----+----.
  32. TAB , Q , W , E , R , T , Y , U , I , O , P , DEL,BSPC,
  33. //|----`----`----`----`----`----|----`----`----`----`----`----`----|
  34. ESC , A , S , D , F , G , H , J , K , L ,QUOT, SCLN ,
  35. //|-----`----`----`----`----`----|----`----`----`----`----`--------|
  36. LSFT , Z , X , C , V , B , N , M ,COMM,DOT ,SLSH, PGUP ,
  37. //|-------`----`----`----`----`----|----`----`----`----`----`------|
  38. LCTL ,LALT, FN1, ,ENTER , SPACE , FN2 , HOME, END , PGDN
  39. //`-----+----+-----+-------------|--------+-----+-----+-----+------'
  40. ),
  41. [_FN1] = LAYOUT_kc(
  42. //,----+----+----+----+----+----|----+----+----+----+----+----+----.
  43. GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , , ,
  44. //|----`----`----`----`----`----|----`----`----`----`----`----`----|
  45. DEL , F1 ,F2 , F3 , F4 , F5 , F6 ,MINS, EQL,LBRC,RBRC, BSLS ,
  46. //|-----`----`----`----`----`----|----`----`----`----`----`--------|
  47. , F7 , F8 , F9 , F10, F11, F12, , , , UP , ,
  48. //|-------`----`----`----`----`----|----`----`----`----`----`------|
  49. , , , , , ,RGUI,LEFT ,DOWN ,RIGHT
  50. //`-----+----+-----+-------------|--------+-----+-----+-----+------'
  51. ),
  52. [_FN2] = LAYOUT_kc(
  53. //,----+----+----+----+----+----|----+----+----+----+----+----+----.
  54. TILD,EXLM, AT ,HASH,DLR ,PERC,CIRC,AMPR,ASTR,LPRN,RPRN, , ,
  55. //|----`----`----`----`----`----|----`----`----`----`----`----`----|
  56. DEL ,RHUI,RSAI,RVAI, , , ,UNDS,PLUS,LCBR,RCBR, PIPE ,
  57. //|-----`----`----`----`----`----|----`----`----`----`----`--------|
  58. ,RHUD,RSAD,RVAD, , ,VOLU,VOLD, , , UP , ,
  59. //|-------`----`----`----`----`----|----`----`----`----`----`------|
  60. ,RTOG,RMOD , , , , , LEFT, DOWN, RIGHT
  61. //`-----+----+-----+-------------|--------+-----+-----+-----+------'
  62. )
  63. };