Indeed, I'm certainly concerned about the usage of millis() because I am aware of how a rollover could cause stuck buttons. Some implementations are smart so that the rollover could, at its worst, cause one noisy extra press, whereas, bad ones could cause completely stuck buttons requiring a device reset.
_________________________
Tony Fabris