- a label describing the game action, potentially with a tooltip containing a detailed explanation
- a pushbutton for the first key mapping
- a pushbutton for the second key mapping
- a scrollbar to scroll through the various entries
Clicking on either pushbuttons would open a dialog to allow the user to specify the keyboard key, either a single key or a combination with shift, ctrl, and alt. Once the user has specified the keyboard keys to activate the action you can display those keys as the text of the pushbutton.
The dialog could contain checkboxes to specify whether the shift, ctrl, and alt keys should differentiate between the left and right keyboard keys. The dialog could also contain three pushbuttons: ok (accept the key combination), cancel (do not change anything), and clear (to unmap this game action).
Have a look at CEGUIBuildDialog for an example application that uses a scrollbar to change the data displayed on a layout similar to what I've described above. Just skip the code that animates an Ogre mesh and concentrate on the scrollbar.