diff options
author | QMK Bot <hello@qmk.fm> | 2022-05-18 17:33:52 +0000 |
---|---|---|
committer | QMK Bot <hello@qmk.fm> | 2022-05-18 17:33:52 +0000 |
commit | 3904a6afbe41e35c231dc449e3e2fa839d7b35a9 (patch) | |
tree | e8df23b2fd6eb582c0f71e077b349d32557487cc /users/mtei/encoder_update_user.c | |
parent | 6503987c84994b2c6b5229db8b91c14d8bd11e41 (diff) | |
parent | 33d568e29b454e5ead83b9e7216bd807549cc9b6 (diff) |
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'users/mtei/encoder_update_user.c')
-rw-r--r-- | users/mtei/encoder_update_user.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/users/mtei/encoder_update_user.c b/users/mtei/encoder_update_user.c new file mode 100644 index 0000000000..67585e0345 --- /dev/null +++ b/users/mtei/encoder_update_user.c @@ -0,0 +1,33 @@ +// Copyright (c) 2022 Takeshi Ishii (mtei@github) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +/* weak reference */ __attribute__((weak)) +int get_encoder_over_count(void); + +bool encoder_update_user(uint8_t index, bool clockwise) { +#ifndef ENCODER_DETECT_OVER_SPEED + switch (index) { + /* Left side encoder */ + case 0: tap_code(clockwise ? KC_LEFT : KC_RGHT); break; + /* Right side encoder */ + case 1: tap_code(clockwise ? KC_DOWN : KC_UP); break; + } +#else + // Is there a get_encoder_over_count() in quantum/encoder.c + if (get_encoder_over_count != NULL) { + int enc_over = get_encoder_over_count(); + for (; enc_over > 0; enc_over--) { + tap_code(KC_MINUS); + } + } + switch (index) { + case 0: tap_code(clockwise ? KC_A : KC_B); break; + case 1: tap_code(clockwise ? KC_C : KC_D); break; + case 2: tap_code(clockwise ? KC_E : KC_F); break; + case 3: tap_code(clockwise ? KC_G : KC_H); break; + } +#endif + return true; +} |