logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

keymap.c (1994B)


  1. // Copyright 2022 Kyle McCreery (@kylemccreery)
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include QMK_KEYBOARD_H
  4. // Defines names for use in layer keycodes and the keymap
  5. enum layer_names {
  6. _BASE,
  7. _FN1,
  8. _FN2,
  9. _FN3
  10. };
  11. /* Physical Layout:
  12. * /-------------------\
  13. * |ENC| 1 | 2 | 3 |ENC|
  14. * |---+---'---'---+---|
  15. * | 4 | | 5 |
  16. * |---| |---|
  17. * | 6 | | 7 |
  18. * |---| |---|
  19. * | 8 | | 9 |
  20. * \-----,---,---,-----/
  21. * | A | B | C | D |
  22. * \---'---'---'---/
  23. *
  24. * Keymap Layout:
  25. * ENC, 1, 2, 3, ENC,
  26. * 4, 5,
  27. * 6, 7,
  28. * 8, A, B, C, D, 9,
  29. *
  30. */
  31. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  32. [_BASE] = LAYOUT(
  33. KC_MUTE, MO(_FN3), MO(_FN2), MO(_FN1), LGUI(KC_D),
  34. MO(_FN2), KC_HOME,
  35. MO(_FN3), KC_END,
  36. KC_BTN3, DPI_FINE,
  37. KC_BTN1, KC_BTN2, KC_BTN2, KC_BTN1
  38. ),
  39. [_FN1] = LAYOUT(
  40. UG_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, TAP_TOG,
  41. DPI_UP, TAP_UP,
  42. DPI_DN, TAP_DN,
  43. KC_TRNS, KC_TRNS,
  44. KC_HOME, KC_PGUP, KC_PGDN, KC_END
  45. ),
  46. [_FN2] = LAYOUT(
  47. KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_TOGG,
  48. KC_TRNS, UG_NEXT,
  49. KC_TRNS, UG_PREV,
  50. KC_TRNS, KC_TRNS,
  51. KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
  52. ),
  53. [_FN3] = LAYOUT(
  54. KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
  55. KC_TRNS, KC_TRNS,
  56. KC_TRNS, KC_TRNS,
  57. KC_TRNS, KC_TRNS,
  58. KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
  59. )
  60. };