The Wit!P graphics server uses a 6-key mouse to interact with the 3D projection and viewing transforms and for menu- and atom-picking. The 6 keys that define the mapping of mouse events to functions ("mouse map") are
Ctrl (C) : the left or right control-key of the keyboardThe mouse map may be tailored through the set mouse and the set altobjkey commands. set mouse left and set mouse right commands may be used to chose between left and right mouse maps (c.f. the table below). set altobjkey shiftkey assigns the the "Shift" key to the "Object" key, set altobjkey altkey assigns the "Alt" key to the "Object" key. The "Object" key is used as a modifier in the translation and rotation functions.
Alt (A) : the left or right alt-key of the keyboard
Shift (S) : the left or right shift-key of the keyboard
Left (L) : mouse button 1 (by default the left mouse button)
Middle (M) : mouse button 2 (by default the middle mouse button)
Right (R) : mouse button 3 (by default the right mouse key
Object (O) : Alt or Shift, depending on "set altobjkey"
The command set mouse 2Buttons may be used to set up a standard map for button-deficient 2-button mice (although spending a few $ [or CHF, or DM, ...] on a 3-button mouse would be a better solution). There is no standard mouse map defined for 1-button mice.
The command set mouse show_map may be used to list the current mapping of mouse keys to functions.
The standard mouse-maps for 2 and 3 button mice set to left and right
are shown in the following table:
Function: | 3/left: | 3/right: | 2/left: | 2/right: | comment: | notes: |
Pick | L | R | L | R | menu and solicited atom/object pick | |
XYTrans | M | M | A | A | translation parallel to screen |
|
ZTrans | ML | MR | AL | AR | translation orthogonal to screen |
|
XYRot | R | L | R | L | rotation around axis in screen plane |
|
ZRot | RL | LR | RL | LR | rotation around axis orthogonal to screen |
|
Scale | RM | LM | AR | AL | increase/decrease scale | |
ViewDist | CRML | CLMR | ACRL | ACLR | change viewing distance (perspective) | |
BondRot | CRL | CLR | CRL | CLR | rotation around rotatable bond | |
SlabWidth | CRM | CLM | ACR | ACL | move "far" Z-clipping plane, depth-cue |
|
SlabPos | CML | CMR | ACL | ACR | move "far" and "near" Z-clipping planes |
|
AtomInfo | SL | SR | SL | SR | unsolicited pick: list name(s) of atom(s) | |
StereoSep | ACSM | ACSM | CSRL | CSLR | adjust left/right stereo separation | |
SetPivot | ASL | ASR | ASL | ASR | set center of "world" rotation | |
SetAltPivot | ASM | ASM | ASR | ASL | set center of object rotation | |
SelectAlt | ACL | ACR | CSR | CSL | select object for object rot./trans. | |
SelectMAlt | ACM | ACM | CSL | CSR | select object's parent for objectrot./trans. | |
LightXYTrans | ACSR | ACSL | ACSR | ACSL | move light source parallel to screen | |
LightZTrans | ACSML | ACSMR | ACS | ACS | move light source orthogonal to screen | |
LightRot | ACSRL | ACSLR | ACSRL | ACSLR | rotate light source position ortho. to screen | |
LightIntensity | ACSRM | ACSLM | ACSL | ACSR | adjust light intensity | |
LightAttenuation | ACSRML | ACSLMR | .n.a. | n.a. | adjust light attenuation |
|