xdsc has been designed to minimize dependence on a mouse. Nearly every function can be accessed with one or two keystrokes, and the user's hands almost never need to leave the keyboard. The keyboard equivalent for any button is always the first letter of its label, and hitting this key has exactly the same action as pressing the button itself. Note that uppercase and lowercase letters can be distinct.
For example, the lowercase ``n'' and ``p'' keys are synonyms for the and buttons, for going to the next and previous transactions, while uppercase ``N'' and ``P'' stand for and , respectively.
If a button triggers a menu, the menu will appear and take focus. Hitting a key corresponding to the first letter of a menu entry will fire off that entry and pop down the menu. Any key which does not match a menu entry will abort the menu and pop it down without any action.
When a simple popup dialog box appears, such as , pressing ``Return'' will make it do its default action. You can abort a dialog box by pressing the ``Escape'' key. For complex dialog boxes, i.e., those with more than one text field, ``Return'' moves focus between the text fields and ``Ctrl-Return'' makes it do its default action.
The arrow keys can be used to move the text caret up and down in the upper text window. Pressing ``Return'' then reads whatever meeting or transaction the caret is sitting on.
Finally, in a way similar to rn, the space bar is bound to ``do the right thing''. If the user is reading a transaction, the space bar will scroll one page down. If at the end of a transaction, it moves to the next transaction, and if at the end of a meeting, it moves to the next changed meeting. If there are no further transactions to read, it does nothing. The ``Delete'' key performs the opposite functions.