keymap.c 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. #include "chocopad.h"
  2. #define _BASE 0
  3. #define _FN1 1
  4. #define _FN2 2
  5. // Fillers to make layering more clear
  6. #define KC_ KC_TRNS
  7. #define KC_XX KC_NO
  8. #define KC_L1 LT(1, KC_P0)
  9. #define KC_L2 LT(2, KC_SPC)
  10. #define KC_RST RESET
  11. #define KC_BSTP BL_STEP
  12. #define KC_RTOG RGB_TOG
  13. #define KC_RMOD RGB_MOD
  14. #define KC_RHUI RGB_HUI
  15. #define KC_RHUD RGB_HUD
  16. #define KC_RSAI RGB_SAI
  17. #define KC_RSAD RGB_SAD
  18. #define KC_RVAI RGB_VAI
  19. #define KC_RVAD RGB_VAD
  20. #define KC_MAC1 ADMIN
  21. #define KC_MAC2 SMSPC
  22. #define KC_M192 M192
  23. #define KC_M255 M255
  24. enum custom_keycodes {
  25. NUMPAD = SAFE_RANGE,
  26. ADMIN,
  27. SMSPC,
  28. M192,
  29. M255
  30. };
  31. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  32. [_BASE] = KC_KEYMAP(
  33. //,----+----+----+----.
  34. P7 , P8 , P9 ,BSPC,
  35. //|----+----+----+----|
  36. P4 , P5 , P6 ,TAB ,
  37. //|----+----+----+----|
  38. P1 , P2 , P3 ,PENT,
  39. //|----+----+----+----|
  40. L1 , L2 ,PDOT,PSLS
  41. //`----+----+----+----'
  42. ),
  43. [_FN1] = KC_KEYMAP(
  44. //,----+----+----+----.
  45. ESC ,MAC1,MAC2,DEL ,
  46. //|----+----+----+----|
  47. LEFT,DOWN, UP ,RGHT,
  48. //|----+----+----+----|
  49. M192,M255, XX , XX ,
  50. //|----+----+----+----|
  51. , XX , , XX
  52. //`----+----+----+----'
  53. ),
  54. [_FN2] = KC_KEYMAP(
  55. //,----+----+----+----.
  56. RST , XX , XX , XX ,
  57. //|----+----+----+----|
  58. RTOG,RHUI,RSAI,RVAI,
  59. //|----+----+----+----|
  60. RMOD,RHUD,RSAD,RVAD,
  61. //|----+----+----+----|
  62. BSTP, , XX , XX
  63. //`----+----+----+----'
  64. )
  65. };
  66. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  67. switch (keycode) {
  68. case ADMIN:
  69. if (record->event.pressed) {
  70. SEND_STRING("Administrator");
  71. }
  72. return false;
  73. break;
  74. case SMSPC:
  75. if (record->event.pressed) {
  76. SEND_STRING("Simspace1!");
  77. }
  78. return false;
  79. break;
  80. case M192:
  81. if (record->event.pressed) {
  82. SEND_STRING("192.168.");
  83. }
  84. return false;
  85. break;
  86. case M255:
  87. if (record->event.pressed) {
  88. SEND_STRING("255");
  89. }
  90. return false;
  91. break;
  92. }
  93. return true;
  94. };