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.

64 lines
1.7 KiB

  1. #include QMK_KEYBOARD_H
  2. #include "layers.h"
  3. #ifdef ENCODER_ENABLE
  4. bool encoder_update_user(uint8_t index, bool clockwise) {
  5. if (index == 0) {
  6. switch (get_highest_layer(layer_state)) {
  7. case WORKMAN:
  8. if (clockwise) {
  9. tap_code(KC_VOLU);
  10. } else {
  11. tap_code(KC_VOLD);
  12. }
  13. break;
  14. case SYMBOLS:
  15. case FN:
  16. if (clockwise) {
  17. tap_code(KC_PGDN);
  18. } else {
  19. tap_code(KC_PGUP);
  20. }
  21. break;
  22. case NAV:
  23. case RNAV:
  24. default:
  25. if (clockwise) {
  26. tap_code16(C(A(KC_RIGHT)));
  27. } else {
  28. tap_code16(C(A(KC_LEFT)));
  29. }
  30. break;
  31. }
  32. } else if (index == 1) {
  33. switch (get_highest_layer(layer_state)) {
  34. case WORKMAN:
  35. if (clockwise) {
  36. tap_code(KC_BRIU);
  37. } else {
  38. tap_code(KC_BRID);
  39. }
  40. break;
  41. case SYMBOLS:
  42. case FN:
  43. if (clockwise) {
  44. tap_code16(C(KC_RIGHT));
  45. } else {
  46. tap_code16(C(KC_LEFT));
  47. }
  48. break;
  49. case NAV:
  50. case RNAV:
  51. default:
  52. if (clockwise) {
  53. tap_code16(C(KC_TAB));
  54. } else {
  55. tap_code16(C(S(KC_TAB)));
  56. }
  57. break;
  58. }
  59. }
  60. return true;
  61. }
  62. #endif