Before beginning to use lignumCAD, we'll take a few moments to understand the user interface. The widgets are the usual type found in a modern graphical application. You can operate most of the user interface with either the mouse or the keyboard. Of course, you can activate buttons by clicking on them with the mouse. If you hover the mouse over most user interface elements, a small tool tip box will appear with a brief description of the element's function.
In addition to the mouse, you also have a couple of choices for using the keyboard:
Most widgets have the concept of keyboard focus. In general, if a widget has a dashed line around it or one of its subelements, then that widget has the keyboard focus. With two exceptions, you move the keyboard focus from widget to widget (called navigation) using the Tab key. The exceptions are the multiple line text entry widget and sets of radio buttons. Once the keyboard focus is in a multiple line text entry widget, pressing Tab simply inserts a tab character. You can use Shift+Tab to navigate out of a multiple line text entry widget. Also, if the focus enters a group of radio buttons, you must use the arrow keys to navigate between the different options. This also has the side effect of activating the radio button, so be a little careful with this.
Keyboard focus serves two purposes in lignumCAD: you can operate the widget (for example, if a button has keyboard focus, pressing the Space bar will activate the button; similarly, if a spin box has the keyboard focus, you can increase or decrease the value by using the Up and Down arrows), or you can ask for "What's This?" help. To bring up the "What's This?" help for the focused widget, you press the Shift+F1 key.
If the text in or near a widget has an underlined letter, then pressing Alt+underlined-letter will either activate that widget or move the keyboard focus to an adjacent widget. For example, on the first page of the New Model Wizard, pressing Alt+M, Alt+F, Alt+V, Alt+V, Alt+R and Alt+D will move the keyboard focus between the various data input fields, whereas pressing Alt+C will exit the dialog window, Alt+N will go to the next page, and Alt+H will bring up the help for the dialog.
[Note: this used to work, but not any more? An additional keyboard feature is supported by the Qt library. If you highlight a menu option, either with the mouse or by using the keyboard arrow keys, you can supply an accelerator key for that menu option. For example, on a Sketch page, you will create a number of rectangles. If you highlight the Tools|Rectangle menu option (by either dragging the mouse over it or by pressing Alt+T and then using the arrow keys to highlight it), you can then simply press the key you want to immediately activate this menu option. In this case, Ctrl+R is a good choice.]
If you have a key which looks like this: (and it is configured as the X Menu key, of course), you can activate the context menu for the user interface element which currently has the keyboard focus.
Dialogs in lignumCAD typically have two additional, common keyboard actions: pressing the Escape key will cancel the dialog (that is, any changes that have been made in the dialog will be forgotten and the model will not be modified) and pressing Enter will cause the default action to be taken. What's the default action? It depends on the dialog; in general, there will be a button which has a pronounced border (as Next does in the figure above). This border indicates the default action. Note that depending on the style of the Qt interface, the default action border can be either a solid line or deep recess. (As a final aside, you can select a user interface style for lignumCAD either by passing it the -style option on the command line, e.g., lignumCAD -style sgi , or by using Qt's qtconfig command.)
In the less standardized parts of lignumCAD's user interface, e.g., the geometry construction windows, the program (generally) follows a Select Operation/Select Target pattern. For example, to create a rectangle, you first select the Tools|Rectangle menu option. In the main window, the cursor will change shape to indicate that you are in rectangle creation mode. You then complete the creation of the rectangle by dragging it out to the desired size. Similarly, to create a dimension constraint between two edges, you select the Tools|Dimension menu option and then click on the two edges you want to relate. And, of course, since no rule is complete without an exception, to delete an object, you first select it and then execute the Cut command.