Buttons Settings Specification
The Buttons Settings application allows customization of the device's
hardware buttons.
The Buttons Settings application links applications, settings programs and
games installed on the device to hardware buttons on the device.
Status: RT
Use Cases
- Favorite Game
    
    A user plays SuperGame 2000 but does not use the email client.
    By using the Button Settings, they can
    change the operation associated with the "email" hardware button
    to launch the game.
 
- Quick Beam
    
    By default, pressing and holding the Contacts button will cause the
    user's businesscard to be beamed. The user can change this to instead
    create a new contact.
 
Features
- Invoke program: Any application, game or setting can be mapped to any
    available hardware button.
- Invoke service action: Any service action which takes no parameters and
    which has a Name is presented as an option for the hardware buttons.
- Press-and-hold: the "press" action and the "press and hold" action can
    be set independently.
- Device-specific button images: the images used for buttons are defined
    by device-specific image files.
- Device-specific default buttons: the default service actions for each
    button are defined by device-specific code.
Prerequisites
- Hardware: Device must have hardware buttons.