keymap.c 2.5 KB

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