You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
3.5 KiB

  1. /* Copyright 2019 Ryota Goto
  2. *
  3. * This program is free software: you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License as published by
  5. * the Free Software Foundation, either version 2 of the License, or
  6. * (at your option) any later version.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. *
  13. * You should have received a copy of the GNU General Public License
  14. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #include QMK_KEYBOARD_H
  17. // Defines the keycodes used by our macros in process_record_user
  18. enum custom_keycodes {
  19. MANUAL = SAFE_RANGE,
  20. SWPLURL
  21. };
  22. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  23. /*
  24. Layout
  25. K000 K001 K002 K003 K004 K005 K006 K007 K008 K009 K010 K011 K012 K013 K212 K014
  26. K100 K101 K102 K103 K104 K105 K106 K107 K108 K109 K110 K111 K112 K113 K114
  27. K200 K201 K202 K203 K204 K205 K206 K207 K208 K209 K210 K211 K213 K214
  28. K300 K301 K302 K303 K304 K305 K306 K307 K308 K309 K310 K311 K313 K314
  29. K400 K401 K402 K403 K405 K407 K409 K410 K411 K413 K414
  30. K212 = Split backspace (bound to Del by default)
  31. K403, K407 = Split space (bound to space by default)
  32. K405 = Main space
  33. */
  34. [0] = LAYOUT( /* Base */
  35. KC_ESC, 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_BSPC, KC_BSPC, KC_HOME,
  36. KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
  37. MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
  38. KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
  39. KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT
  40. ),
  41. [1] = LAYOUT( /* FN */
  42. RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, MANUAL,
  43. KC_CAPS, _______, KC_UP, _______, _______, _______, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_MPRV, KC_MPLY, KC_MNXT, _______, SWPLURL,
  44. _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_VOLD, KC_VOLU, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______,
  45. _______, KC_RCTL, KC_RGUI, KC_RALT, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, _______, _______, KC_PGUP, _______,
  46. _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
  47. )
  48. };
  49. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  50. switch (keycode) {
  51. case MANUAL:
  52. if (record->event.pressed) {
  53. // when keycode QMKBEST is pressed
  54. SEND_STRING("https://kb.ai03.me/redir/lunar/index.html");
  55. } else {
  56. // when keycode QMKBEST is released
  57. }
  58. break;
  59. case SWPLURL:
  60. if (record->event.pressed) {
  61. // when keycode QMKURL is pressed
  62. SEND_STRING("https://switchplate.co/collections/lunar-group-buy");
  63. } else {
  64. // when keycode QMKURL is released
  65. }
  66. break;
  67. }
  68. return true;
  69. }