[WIP] Add evdev dispatcher pointer + keyboard

Why don't you use our macro for this?