# Managing user interaction

To create useful widgets, you need to collect information from users about the task at hand. For example, to fetch a route and timetables to a specific location by using public transportation, users need to enter the starting point and the destination. Some S60 devices rely on physical keys such as a five way navigation pad, a keypad, keyboard, and set of labeled soft keys for user input. Some S60 devices support stylus and finger touch screen input.

Users enter information by using screen controls, such as check boxes, radio buttons, text fields, and selection lists.

### Interacting through keypad

To make an application interactive to the mobile device user, you need to handle keypad input in the application, preferably by implementing the functionality in separate JavaScript files. This is in many ways similar to Web application development, but includes some aspects that are specific for the mobile device environment. The keypad input may include the following:

- Press softkeys.

  For more information, see Using softkeys.

- Navigate on the screen.

  For more information, see Navigating on screens.

- Type text or numbers.

  For more information, see Handling text input.

- Select items in lists.

  For more information, see Handling selection lists

- Press numeric keys for other purposes, such as controlling the features of a game.

Note: Web Runtime does not support the use of a full keyboard with the mobile device through a Bluetooth connection.

### Interacting through touch

Touch enables direct manipulation of content and objects, allowing for more natural interaction with the device. This means a completely different user experience and interaction style compared to using a hardware keypad. If the application supports S60 5th Edition devices, keep in mind that the devices might not have a hardware keyboard. Enable users to interact with the application through the touch screen:

- Creating touch controls

- Customizing screen controls

- Checking for touch support

- Providing tactile feedback for user actions

For more information about designing for touch devices, see S60 touch.

You can also use custom input methods, such as, strokes, gestures, and custom buttons. For more information, see Custom input methods.