The documentation for KeyEvent.ACTION_MULTIPLE says:
\"multiple duplicate key events have occurred in a row, or a complex string is being delivered. If
I'm not sure, but I would think that ACTION_MULTIPLE would probably be triggered by actual buttons on a blutooth keyboard for instance. I think that the reason you're just getting ACTION_UP and ACTION_DOWN is because those are the pre-defined KeyEvents for your headset controls. I hope this helps. :)
Android's BaseMovementMethod includes code for handling ACTION_MULTIPLE
so presumably the event is generated for key auto-repeat when the user holds down an arrow key.