Added button-press reporting, and eliminate rounding errors when rate approaches zero.