[wip] emit per button/input events