Using a directive to broadcast keyboard input instead of hackily using a controller