2
0

keymap.c 3.0 KB

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