SetMouseCapture: Difference between revisions
Document Map Editor, saved maps, static scene deployment and Lua APIs since 0.1.4 |
Release 0.1.4 BUILD133 / Protocol 36 and document authenticated event origin |
||
| Line 1: | Line 1: | ||
= setMouseCapture = | = setMouseCapture = | ||
'''Since 0.1.4 | '''Since 0.1.4.''' | ||
Client function: boolean setMouseCapture(boolean enabled [, boolean exclusiveInput = false]). | Client function: boolean setMouseCapture(boolean enabled [, boolean exclusiveInput = false]). | ||
| Line 10: | Line 10: | ||
<!-- map-editor014:start --> | <!-- map-editor014:start --> | ||
== Exclusive input for freecam (since 0.1.4 | == Exclusive input for freecam (since 0.1.4) == | ||
Use <code>setMouseCapture(true, true)</code> to request continuous character-input suppression together with relative mouse capture. The default second argument is false: existing <code>setMouseCapture(true)</code> calls remain look-only. | Use <code>setMouseCapture(true, true)</code> to request continuous character-input suppression together with relative mouse capture. The default second argument is false: existing <code>setMouseCapture(true)</code> calls remain look-only. | ||
Exclusive mode stops pre-existing character movement and holds this feature's own balanced movement/look locks plus viewport gate for the capture lease. It does not itself move a camera: acquire a scripted camera and use [[UpdateCameraPose]]. Bound keys owned by the mouse-owning resource can operate together (for example W+D+Shift); another resource's held keys, interactive GUI, native menus, loss of focus or readiness still suspend input. Wait for active state, clear held-key state on suspension and release with <code>setMouseCapture(false)</code>. Stop/disconnect/lease expiry release owned locks without resetting foreign locks. See [[Map editor]] for a complete resource using this mode. | Exclusive mode stops pre-existing character movement and holds this feature's own balanced movement/look locks plus viewport gate for the capture lease. It does not itself move a camera: acquire a scripted camera and use [[UpdateCameraPose]]. Bound keys owned by the mouse-owning resource can operate together (for example W+D+Shift); another resource's held keys, interactive GUI, native menus, loss of focus or readiness still suspend input. Wait for active state, clear held-key state on suspension and release with <code>setMouseCapture(false)</code>. Stop/disconnect/lease expiry release owned locks without resetting foreign locks. See [[Map editor]] for a complete resource using this mode. | ||
<!-- map-editor014:end --> | <!-- map-editor014:end --> | ||
Latest revision as of 20:41, 21 September 2026
setMouseCapture
Since 0.1.4.
Client function: boolean setMouseCapture(boolean enabled [, boolean exclusiveInput = false]).
See Mouse capture for the full contract, return values, lifecycle, limitations and examples.
Exclusive input for freecam (since 0.1.4)
Use setMouseCapture(true, true) to request continuous character-input suppression together with relative mouse capture. The default second argument is false: existing setMouseCapture(true) calls remain look-only.
Exclusive mode stops pre-existing character movement and holds this feature's own balanced movement/look locks plus viewport gate for the capture lease. It does not itself move a camera: acquire a scripted camera and use UpdateCameraPose. Bound keys owned by the mouse-owning resource can operate together (for example W+D+Shift); another resource's held keys, interactive GUI, native menus, loss of focus or readiness still suspend input. Wait for active state, clear held-key state on suspension and release with setMouseCapture(false). Stop/disconnect/lease expiry release owned locks without resetting foreign locks. See Map editor for a complete resource using this mode.