Generic Devices: Report repeated events even if monitored bytes don't change

If the button is being pressed while the wheel is still being turned, you'll want to act on both and you'll also want to be sure to call bttGetNextEvenWithoutChange() as you want to keep being notified about the wheel. So using if .. else ... else ... is generally a bad idea for buttons which aren't mutually exclusive, as multiple things could be happening at the same time and events would get lost.

The solution is to store the previous report and, in case of buttons, only act on changes. See Generic Devices: Philips Footcontrol ACC2330 for an example.

1 Like