keymap.c 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /* Copyright 2019 Danny Nguyen <danny@keeb.io>
  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. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  18. /*
  19. | Knob 1: Vol Dn/Up | | Knob 2: Page Dn/Up |
  20. | Press: Mute | Home | Press: Play/Pause |
  21. | Hold: Layer 2 | Up | RGB Mode |
  22. | Left | Down | Right |
  23. */
  24. [0] = LAYOUT(
  25. KC_MUTE, KC_HOME, KC_MPLY,
  26. MO(1) , KC_UP , RGB_MOD,
  27. KC_LEFT, KC_DOWN, KC_RGHT
  28. ),
  29. /*
  30. | RESET | N/A | Media Stop |
  31. | Held: Layer 2 | Home | RGB Mode |
  32. | Media Previous | End | Media Next |
  33. */
  34. [1] = LAYOUT(
  35. RESET , BL_STEP, KC_STOP,
  36. _______, KC_HOME, RGB_MOD,
  37. KC_MPRV, KC_END , KC_MNXT
  38. ),
  39. };
  40. void encoder_update_user(uint8_t index, bool clockwise) {
  41. if (index == 0) {
  42. if (clockwise) {
  43. tap_code(KC_VOLU);
  44. } else {
  45. tap_code(KC_VOLD);
  46. }
  47. }
  48. else if (index == 1) {
  49. if (clockwise) {
  50. tap_code(KC_PGDN);
  51. } else {
  52. tap_code(KC_PGUP);
  53. }
  54. }
  55. }