At least you need to modify the script to capture al events with:
# If mouse has more then one event, comment out what is not needed
event0 = InputDevice('/dev/input/event0')
event1 = InputDevice('/dev/input/event1')
event2 = InputDevice('/dev/input/event2')
event3 = InputDevice('/dev/input/event3')
for device in event0, event1, event2, event3:
asyncio.ensure_future(print_events(device))
Is this a clean install or some residue from the IR experience?
It might that triggerhappy is intercepting something.
The latter I can’t advise, as I never even looked at Triggerhappy.