keymap.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include QMK_KEYBOARD_H
  2. enum encoder_names {
  3. _LEFT,
  4. _RIGHT,
  5. _MIDDLE,
  6. };
  7. enum layer_names {
  8. _ZERO,
  9. _ONE,
  10. _TWO,
  11. _THREE
  12. };
  13. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  14. [_ZERO] = LAYOUT(
  15. KC_MPLY, KC_HOME, KC_MUTE,
  16. MO(1), KC_UP, RGB_MOD,
  17. KC_LEFT, KC_DOWN, KC_RGHT
  18. ),
  19. [_ONE] = LAYOUT(
  20. RESET, BL_STEP, KC_STOP,
  21. _______, KC_HOME, RGB_MOD,
  22. KC_MPRV, KC_END , KC_MNXT
  23. ),
  24. [_TWO] = LAYOUT(
  25. _______, _______, _______,
  26. _______, _______, _______,
  27. _______, _______, _______
  28. ),
  29. [_THREE] = LAYOUT(
  30. _______, _______, _______,
  31. _______, _______, _______,
  32. _______, _______, _______
  33. )
  34. };
  35. bool encoder_update_user(uint8_t index, bool clockwise) {
  36. if (index == _LEFT) {
  37. if (clockwise) {
  38. tap_code(KC_VOLU);
  39. } else {
  40. tap_code(KC_VOLD);
  41. }
  42. }
  43. else if (index == _MIDDLE) {
  44. if (clockwise) {
  45. tap_code(KC_DOWN);
  46. } else {
  47. tap_code(KC_UP);
  48. }
  49. }
  50. else if (index == _RIGHT) {
  51. if (clockwise) {
  52. tap_code(KC_PGDN);
  53. } else {
  54. tap_code(KC_PGUP);
  55. }
  56. }
  57. return true;
  58. }