I'm working with BLE and trying to use Debouncer, along with PWM, to take a bus of inputs (buttons) and individually debounce them, run them through a onClick timer, and process the events as a click, a double-click (another single click before an alloted time, and a held-down button. I've looked at the Keypad software debouncing, and the components, but the problem, other than not having a set of specific events, is that for my application, I'm out of blocks, so I need to use TCPWM. In the future, I'd like to make it into a component as well. Any direction would be appreciated. As of now I do have a modified Keyboard/keypad matrix code that does provide the events and the button, but I'm hoping to develop it further, and hopefully using less resource.
I did and it's awesome! I've modified it to return which button and a Open, Click, Double-Click, Held, Released 'Button' type, since my app only uses 2-5 buttons, and not really in a matrix. The problem, with my app components needs, however, is that I've gotten to many 'Pre-Configured Blocks' , so I was hoping to switch out the Debounce_Timer with a TCPWM and hopefully solve that.