alf45tar / PedalinoMini

Wireless and Bluetooth MIDI Foot Controller
GNU General Public License v3.0
479 stars 84 forks source link

ENHANCEMENT: Detecting simultaneous press/hold of 2 buttons? #372

Closed MiqViq closed 1 year ago

MiqViq commented 1 year ago

Does PedalinoMini detect simultaneous press/hold of 2 buttons? I think it could be a very useful feature to have.

And thanks for your hard work on this project!

-MiqViq

alf45tar commented 1 year ago

No, it doesn't.

alf45tar commented 1 year ago

Just released version 3.0.0 which includes simultaneous press.

bobvc133 commented 1 year ago

Just released version 3.0.0 which includes simultaneous press.

Simultaneous pressing is like using pressing, long pressing, repeated pressing and other actions on the same button at the same time. Because of the difference in the response time of the pressing and the reason for the asynchrony, it is easy to perform the pressing action first, and the probability of misoperation very high

alf45tar commented 1 year ago

You are right. Simultaneous pressing is not exactly simultaneous because it is quite impossible by a human to be so precise but the implementation take care of it. Two buttons are considered simultaneous pressed if the second is pressed within 50 ms (PED_SIMULTANEOUS_GAP) from the first. The actions linked to single press of first button are delayed up to 50 ms waiting the second button press. Singles press actions of both buttons never happen if they are pressed with maximum 50 ms of difference. Of course if you are not fast enough single press actions are triggered. Increasing PED_SIMULTANEOUS_GAP give user more time but it delays the actions on single press. Actions delay do not happen if the button is not involved in any simultaneous control.