Mouse actions for the 3D and XY windows are fully configurable. The keys Ctrl,
Alt and Shift can be combined with Left, Right and Middle buttons, and assigned
a command. Additionally, you can create multiple configurations that can be
switched between in BSP.
The configuration files can be found in the Settings directory, named
Bspmouse.cfg and Bspmou3d.cfg for XY and 3D windows, respectively.
To view current mouse configuration, right-click the XY or 3D window title bar
and select "Display Settings". Alternate configurations for the XY window are in
the "Mouse" submenu, while for the 3D window they are listed directly below
"Display Settings".
Format
The basic format of the configuration files is as follows:
[number of configurations]
[default configuration to use]
{
"name of config"
{ "Commands" "Mouse button" ["Ctrl" "Alt" "Shift"] }
... (additional commands)
}
... (additional configurations)
Name of Config
Name that is displayed in BSP.
Commands
This is a semicolon-separated list of commands that are to be performed by the
mouse action. It is important to note that this list is in order of priority. BSP will try
to perform each command in the list and it will stop when one of the commands
is handled.
For example, the default Left button commands for the XY windows is defined as
follows:
"CLIPPOINTDRAG;CAMERADRAG;EDGEDRAG;VERTEXDRAG;BRUSHDRAG;
FACEDRAG;MULTIFACEDRAG;NEWBRUSH"
BSP will first try to drag clip points and if the mouse lands on a clip point it will
stop here. If not, it will then try to move a camera. If there is no camera under the
mouse, it will try to drag the selected brush edge, and so on. Finally, if the last
command NEWBRUSH is hit and handled, it creates a new brush in your level.
Mouse Button
The mouse button is one of "Left", "Right" or "Middle"
Ctrl, Alt and Shift
These are optional modifier keys to require for the mouse action.
XY Commands (bspmouse.ini)
Commands that may or may not be handled:
NEWBRUSH
Draws a new brush in current entity
Handled if current entity is modifiable
FACEDRAG
Drags closest face(s)
Handled if one brush is selected and click is "outside" of brush
BRUSHDRAG
Drags selected brush(es)
Handled if one or more brushes selected and click is "inside" of brush
SHEAR
Shears closest face(s)
Handled if one brush is selected and click is "inside" or "outside" of brush
CURFACEDRAG
Drags current face
Handled if one brush selected
VERTEXDRAG
Vertex Manipulation
Handled if you click close enough to vertex (one brush only?)
ROTATE
Rotate selection
Handled if you click vertex and drag
CAMERADRAG
Drag camera
Handled if you click one of the camera icons
CLIPPOINTDRAG
Drag clip point
Handled if clipper is out and you click and drag one of the clip points
CLIPPLANEDRAG
Drag clip plane
Handled if clicked on whole clipper plane
ENTITYCONNECT
Connect entities (sets "targets")
Handled if you have one entity selected and you click on another entity
MULTIFACEDRAG
Drags faces that are "parallel" to closest face...
MULTIFACEDRAGSTRICT
Also drags faces that are "parallel" to closest face, but the faces must also be
"coincident" in plane, i.e. lined up next to each other, rather than just facing
same direction...
EDGEDRAG
If the mouse is placed over "two" points of a brush or adjacent brushes, the
common "edge" is dragged.
KNOB
Knobs are supplied for face dragging/shearing and vertex/edge manipulation,
and rotation...
OBJECTTOOL (NOT IMPLEMENTED!)
Brings up context sensitive menu for the clicked brush/entity...
Commands that are always handled:
SELECT
Select brush under click, hold to cycle, drag to select multiple
SELECTTOTAL
Same as select, but dragging requires total inclusion to select
ADDCLIPPOINT
Add a clip point
TEXTUREBRUSH
Apply current texture to whole brush
TEXTUREFACE
Apply current texture to clicked face (not very useful)
MOVECAMERA
Move camera to click location
CAMERADIRECTION
Sets the camera direction
3D Commands (bspmou3d.ini)
Commands that may or may not be handled:
SHIFT_TEXTURE
Drags S, T values of clicked face/ Handled if click is on texture...
STRETCH_TEXTURE
Drags Scale SX and SY of face
ROTATE_TEXTURE
Drag to Rotate texture on face
SELECT
Select/deselect brush under pointer
SELECTONE
Select a single brush at a time.
LIFTTEX
Selects clicked texture
LIFT&APPLY
Selects clicked texture and applies it to selected brushes
APPLYCURTEXTOBRUSH
Apply current texture to clicked brush
APPLYCURTEXTOFACE
Apply current texture to clicked face
CLICKFACEDRAG
Drag face under pointer
CLICKFACESHEAR
Shear face under pointer
DRAGBRUSHES
Drag brushes along normal of clicked face...
DRAGBRUSHESSIDE
Drag brushes sideways along clicked face (not along normal!)
SETCLIPPER
Uses clicked face to set the clip points.
SETCLIPPERINV
Like SETCLIPPER, but clipper is inverted.
EDGEDRAG
If you click on an edge of the selected brush, the edge can be
manipulated...Click in the selected brush...
Commands that are always handled:
MLOOK
Mouse look.
NAVIGATE
Use the mouse to move backwards and forwards, and to look left and right.
NAVIGATE_STRAFE
Like NAVIGATE, except left/right movements are strafed.