Remote control menu

Since v1.6, the buttons on the remote control in landscape mode are configureable.

Apart from rearranging and renaming, you are now able to add new custom buttons.
These can either send a keypress to XBMC, execute a XBMC builtin, or execute a generic http command.

Keypress:

You can configure your buttons to send alphanumeric or special keys to XBMC (grouped for convenience).
Please note: These virtual keyboard events are sent to XBMC, not the underlying OS.
It isn't technically possible to send - for example - an "alt-tab" or "alt-enter" and have the OS switch apps or go fullscreen.

Otherwise your free to add any command you find in XBMCs keyboard controls.
You can even take this one step further: Add a key with some custom action to the keyboard section of keymap.xml, and refer to it.
For example, you could add

<keymap>
  <global>
    ...
    <keyboard>
      <h>AudioNextLanguage</h>
    </keyboard>
    ...
  </global>
  ...
</keymap>


to have your XBMC switch audio track upon pressing the "h" key, and then add a corresponding button to the remote.
Please refer to the XBMC wiki for further information.

Builtin:

I've added a few of XBMCs builtin commands for quicker access (those that don't require parameters). More complex commands can be added by binding them to keys as described above.
One special entry can be found here: "keyboard" doesn't do anything on the server side, but opens the ipads virtual keyboard.

Generic http:

This is mainly for addressing additional devices. For example if you've got a a/v receiver that's ethernet enabled and has a built in webserver and reacts to , you could enter something like http://[receiver ip]/VolumeUp (or whatever your receiver reacts to).
These commands are launch-and-forget, no response is checked.