2
0

keymap.c 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #include QMK_KEYBOARD_H
  2. extern keymap_config_t keymap_config;
  3. #define _NP 0
  4. #define _L1 1
  5. #define _L2 2
  6. // Fillers to make layering more clear
  7. #define _______ KC_TRNS
  8. #define XXXXXXX KC_NO
  9. enum custom_keycodes {
  10. NUMPAD = SAFE_RANGE,
  11. ADMIN,
  12. SMSPC1,
  13. STR192,
  14. STR255
  15. };
  16. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  17. /* Numpad
  18. * ,-----------------------.
  19. * | 7 | 8 | 9 |Bksp |
  20. * |-----`-----`-----`-----|
  21. * | 4 | 5 | 6 | Tab |
  22. * |-----`-----`-----`-----|
  23. * | 1 | 2 | 3 |Enter|
  24. * |-----`-----`-----`-----|
  25. * | 0 |Space| . | / |
  26. * `-----`-----`-----`-----'
  27. * | L1 | L2 | | | Layer hold
  28. */
  29. [_NP] = LAYOUT_ortho_4x4( /* Numpad */
  30. KC_P7, KC_P8, KC_P9, KC_BSPC, \
  31. KC_P4, KC_P5, KC_P6, KC_TAB, \
  32. KC_P1, KC_P2, KC_P3, KC_PENT, \
  33. LT(1, KC_P0), LT(2, KC_SPC), KC_PDOT, KC_PSLS
  34. ),
  35. /* L1
  36. * ,-----------------------.
  37. * |Reset| | | Del |
  38. * |-----`-----`-----`-----|
  39. * | Left| Down| Up |Right|
  40. * |-----`-----`-----`-----|
  41. * | 192.| 255 | | |
  42. * |-----`-----`-----`-----|
  43. * |_____| LED | . | |
  44. * `-----`-----`-----`-----'
  45. */
  46. [_L1] = LAYOUT_ortho_4x4( /* LAYER 1 */
  47. RESET, XXXXXXX, XXXXXXX, KC_DEL, \
  48. KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
  49. STR192, STR255, XXXXXXX, XXXXXXX, \
  50. _______, BL_STEP, _______, XXXXXXX
  51. ),
  52. /* L2
  53. * ,-----------------------.
  54. * | | | str | str |
  55. * |-----`-----`-----`-----|
  56. * | | | | |
  57. * |-----`-----`-----`-----|
  58. * | | | | |
  59. * |-----`-----`-----`-----|
  60. * | |_____| | |
  61. * `-----`-----`-----`-----'
  62. */
  63. [_L2] = LAYOUT_ortho_4x4( /* LAYER 2 */
  64. XXXXXXX, XXXXXXX, ADMIN, SMSPC1, \
  65. XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
  66. XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
  67. XXXXXXX, _______, XXXXXXX, XXXXXXX
  68. )
  69. };
  70. void persistent_default_layer_set(uint16_t default_layer) {
  71. eeconfig_update_default_layer(default_layer);
  72. default_layer_set(default_layer);
  73. }
  74. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  75. switch (keycode) {
  76. case ADMIN:
  77. if (record->event.pressed) {
  78. SEND_STRING("Administrator");
  79. }
  80. return false;
  81. break;
  82. case SMSPC1:
  83. if (record->event.pressed) {
  84. SEND_STRING("Simspace1!");
  85. }
  86. return false;
  87. break;
  88. case STR192:
  89. if (record->event.pressed) {
  90. SEND_STRING("192.168.");
  91. }
  92. return false;
  93. break;
  94. case STR255:
  95. if (record->event.pressed) {
  96. SEND_STRING("255");
  97. }
  98. return false;
  99. break;
  100. }
  101. return true;
  102. };