keymap.c 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. // Copyright 2025 Yiancar-Designs, Bit-Shifter
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include QMK_KEYBOARD_H
  4. enum my_keycodes {
  5. MACRO = QK_USER_0,
  6. QUOTE,
  7. CLRIN,
  8. SQUAR,
  9. CIRCL,
  10. TRIAN,
  11. DIAMO,
  12. WRITE,
  13. TTY,
  14. PLUSM,
  15. MODE,
  16. };
  17. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  18. switch (keycode) {
  19. case MACRO:
  20. if (record->event.pressed) {
  21. // when keycode MACRO is pressed
  22. SEND_STRING("Hyper7 is the best thing ever!");
  23. }
  24. break;
  25. case QUOTE:
  26. if (record->event.pressed) {
  27. // when keycode QUOTE is pressed
  28. SEND_STRING("\"\"" SS_TAP(X_LEFT));
  29. }
  30. break;
  31. case CLRIN:
  32. if (record->event.pressed) {
  33. // when keycode CLRIN is pressed
  34. SEND_STRING(SS_LCTL("a") SS_TAP(X_DEL));
  35. }
  36. break;
  37. case SQUAR:
  38. if (record->event.pressed) {
  39. // when keycode SQUAR is pressed
  40. SEND_STRING("I like squares");
  41. }
  42. break;
  43. case CIRCL:
  44. if (record->event.pressed) {
  45. // when keycode CIRCL is pressed
  46. SEND_STRING("I like circles");
  47. }
  48. break;
  49. case TRIAN:
  50. if (record->event.pressed) {
  51. // when keycode TRIAN is pressed
  52. SEND_STRING("I like the illuminati");
  53. }
  54. break;
  55. case DIAMO:
  56. if (record->event.pressed) {
  57. // when keycode DIAMO is pressed
  58. SEND_STRING("Everyone likes diamonds");
  59. }
  60. break;
  61. case WRITE:
  62. if (record->event.pressed) {
  63. // when keycode WRITE is pressed
  64. SEND_STRING(SS_LGUI("x") "notepad" SS_TAP(X_ENT));
  65. }
  66. break;
  67. case TTY:
  68. if (record->event.pressed) {
  69. // when keycode TTY is pressed
  70. SEND_STRING(SS_LGUI("x") "cmd" SS_TAP(X_ENT));
  71. }
  72. break;
  73. case PLUSM:
  74. if (record->event.pressed) {
  75. // when keycode PLUSM is pressed
  76. SEND_STRING("+-");
  77. }
  78. case MODE:
  79. if (record->event.pressed) {
  80. // when keycode MODE is pressed
  81. SEND_STRING("Mode");
  82. }
  83. }
  84. return true;
  85. };
  86. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  87. [0] = LAYOUT_modern(
  88. G(KC_F1), MACRO, RCS(KC_ESC), QUOTE, KC_INS, CLRIN, G(KC_D), C(KC_S), C(KC_C), A(KC_F4), KC_PAUS, C(KC_P), G(C(KC_Q)), LCA(KC_DEL),
  89. G(KC_X), KC_WHOM, G(KC_PAUS), C(KC_R), A(KC_TAB), SQUAR, CIRCL, TRIAN, DIAMO, C(KC_Y), LAG(KC_R), RCS(KC_ESC), G(KC_L), KC_CAPS,
  90. KC_F1, KC_F2, A(KC_F4), G(KC_R), KC_ESC, KC_QUES, KC_EXLM, KC_AT, KC_AT, KC_AT, KC_AT, KC_GRV, KC_GRV, KC_GRV, KC_GRV, KC_UNDS, KC_LABK, KC_RABK, KC_PIPE, KC_LCBR, KC_RCBR, C(KC_ENT), KC_CIRC, KC_PERC, KC_HASH, KC_DLR,
  91. KC_F3, KC_F4, C(KC_F), WRITE, LSFT(KC_N), PLUSM, KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NUBS, KC_LBRC, KC_RBRC, C(KC_Z), KC_PMNS, KC_PSLS, KC_PAST, KC_PMNS,
  92. KC_F5, KC_F6, C(KC_M), C(KC_Z), C(KC_V), C(KC_X), KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LCBR, KC_RCBR, KC_BSPC, KC_CLEAR, C(KC_HOME),KC_P7, KC_P8, KC_P9, KC_PPLS,
  93. KC_F7, KC_F8, C(KC_A), KC_F12, MO(1), MODE, KC_PGUP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_QUOT, KC_ENT, KC_HOME, KC_PGDN, KC_P4, KC_P5, KC_P6, KC_AMPR,
  94. KC_F9, KC_F10, TTY, G(KC_L), C(KC_HOME),KC_END, G(KC_DOT), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, G(KC_DOT), KC_UP, KC_LGUI, KC_P1, KC_P2, KC_P3, KC_EQL,
  95. KC_F11, KC_F12, KC_HOME, C(KC_END), C(KC_LEFT),C(KC_RGHT),G(KC_DOWN),KC_HYPR, KC_LALT, KC_SPC, KC_RGUI, KC_HYPR, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_P0, KC_PDOT, KC_ENTER
  96. ),
  97. [1] = LAYOUT_modern(
  98. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  99. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  100. _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  101. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  102. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  103. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  104. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
  105. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  106. ),
  107. };