SetMouseCapture: Difference between revisions
Document upcoming 0.1.4 weapon confirmation and mouse camera APIs |
Release 0.1.4 BUILD133 / Protocol 36 and document authenticated event origin |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
= setMouseCapture = | = setMouseCapture = | ||
'''Since 0.1.4 | '''Since 0.1.4.''' | ||
Client function: boolean setMouseCapture(boolean enabled). | Client function: boolean setMouseCapture(boolean enabled [, boolean exclusiveInput = false]). | ||
See [[Mouse capture]] for the full contract, return values, lifecycle, limitations and examples. | See [[Mouse capture]] for the full contract, return values, lifecycle, limitations and examples. | ||
| Line 8: | Line 8: | ||
[[Category:Client Functions]] | [[Category:Client Functions]] | ||
[[Category:Lua Functions]] | [[Category:Lua Functions]] | ||
<!-- map-editor014:start --> | |||
== 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. | |||
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 --> | |||
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.