Made 'tap(event)' aware of negative edge
Vastly simplified input handling