logo

qmk_firmware

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

keymap.c (2349B)


  1. /* Copyright 2022 Ramon Imbao
  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. * ┌───┬───┬───┬───┐
  20. * │F13│F14│F15│F16│
  21. * ├───┼───┼───┼───┤
  22. * │Num│ / │ * │ - │
  23. * ├───┼───┼───┼───┤
  24. * │ 7 │ 8 │ 9 │ │
  25. * ├───┼───┼───┤ + │
  26. * │ 4 │ 5 │ 6 │ │
  27. * ├───┼───┼───┼───┤
  28. * │ 1 │ 2 │ 3 │ │
  29. * ├───┴───┼───┤Ent│
  30. * │ 0 │ . │ │
  31. * └───────┴───┴───┘
  32. */
  33. [0] = LAYOUT_numpad_6x4(
  34. KC_F13, KC_F14, KC_F15, KC_F16,
  35. KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
  36. KC_P7, KC_P8, KC_P9,
  37. KC_P4, KC_P5, KC_P6, KC_PPLS,
  38. KC_P1, KC_P2, KC_P3,
  39. KC_P0, KC_PDOT, KC_PENT
  40. )
  41. };
  42. bool encoder_update_user(uint8_t index, bool clockwise) {
  43. if (index == 0) {
  44. if (clockwise) {
  45. tap_code_delay(KC_VOLU, 10);
  46. } else {
  47. tap_code_delay(KC_VOLD, 10);
  48. }
  49. } else if (index == 1) {
  50. if (clockwise) {
  51. tap_code_delay(KC_BRIU, 10);
  52. } else {
  53. tap_code_delay(KC_BRID, 10);
  54. }
  55. } else if (index == 2) {
  56. if (clockwise) {
  57. tap_code(KC_RGHT);
  58. } else {
  59. tap_code(KC_LEFT);
  60. }
  61. } else {
  62. if (clockwise) {
  63. tap_code(KC_PGDN);
  64. } else {
  65. tap_code(KC_PGUP);
  66. }
  67. }
  68. return false;
  69. }