diff options
author | Andrew Dunai <a@dun.ai> | 2020-05-09 09:59:50 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-08 23:59:50 -0700 |
commit | 1f7bbf279c925240630daacd3c29d51719112c3f (patch) | |
tree | d30db62ad04f34ad5043cc84afd5b733be4fd272 /keyboards/handwired/d48/taphold.c | |
parent | 803610a284ac886eaeb319b4a8d25ffbd2861152 (diff) | |
download | qmk_firmware-1f7bbf279c925240630daacd3c29d51719112c3f.tar.gz qmk_firmware-1f7bbf279c925240630daacd3c29d51719112c3f.zip |
[Keyboard] Added D48 keyboard (#8548)
* [Keyboard] Added D48 keyboard.
* Updated README.
* Cleanups.
* Moved d48 to handwired/
* Added link to build process album.
* Coding conventions cleanups.
* Added DS1307 RTC!
* Minor cleanups.
* Apply suggestions from code review
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Minor refactoring.
* Readme fix.
* Moved leftover keymap-specific code from keyboard space into keymap.
* Added encoder button pins to extra matrix row.
* Updated README, updated pinout & cleaned up the glcdfont
* Apply suggestions from code review
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Update config.h
* Apply suggestions from code review
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Added default keymap. Refactored existing keymap.
* Update keyboards/handwired/d48/README.md
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Apply suggestions from code review
Co-Authored-By: Joel Challis <git@zvecr.com>
* Minor alignment fix.
* Update keyboards/handwired/d48/glcdfont_d48.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
* Changes as per PR.
* Apply suggestions from code review
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Diffstat (limited to 'keyboards/handwired/d48/taphold.c')
-rw-r--r-- | keyboards/handwired/d48/taphold.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/keyboards/handwired/d48/taphold.c b/keyboards/handwired/d48/taphold.c new file mode 100644 index 0000000000..0b56a5a6a1 --- /dev/null +++ b/keyboards/handwired/d48/taphold.c @@ -0,0 +1,29 @@ +#include "taphold.h" + +bool taphold_process(uint16_t keycode, keyrecord_t *record) { + for (int i = 0; i < taphold_config_size; i++) { + taphold_t *config = &taphold_config[i]; + if (config->key == keycode && record->event.pressed) { + if (config->mode == TAPHOLD_LAYER) { + layer_on(config->longAction); + } else { + register_code(config->longAction); + } + config->time = timer_read32(); + config->keypos = record->event.key; + return false; + } else if (KEYEQ(record->event.key, config->keypos) && !record->event.pressed) { + if (config->mode == TAPHOLD_LAYER) { + layer_off(config->longAction); + } else { + unregister_code(config->longAction); + } + if (timer_elapsed32(config->time) < taphold_timeout) { + tap_code(config->shortAction); + } + config->keypos.row = 255; + return false; + } + } + return true; +} |