Use markdown-style tables instead of <table>

Much easier to read in plaintext
This commit is contained in:
Samuel Mannehed 2017-10-12 15:00:55 +02:00
parent df4653826d
commit f5d40c6a4b
1 changed files with 142 additions and 433 deletions

View File

@ -72,431 +72,154 @@ callback event name, and the callback function.
## 2.1 Mouse Module
<table>
<tr>
<td colspan=5><em>Configuration Attributes</em></td>
</tr>
<tr>
<th>name</th> <th>type</th> <th>mode</th> <th>default</th>
<th>description</th>
</tr>
<tr>
<td>target</td> <td>DOM</td> <td>WO</td> <td>document</td>
<td>DOM element that captures mouse input</td>
</tr>
<tr>
<td>focused</td> <td>bool</td> <td>RW</td> <td>true</td>
<td>Capture and send mouse clicks/movement</td>
</tr>
<tr>
<td>touchButton</td> <td>int</td> <td>RW</td> <td>1</td>
<td>Button mask (1, 2, 4) for which click to send on touch
devices. 0 means ignore clicks.</td>
</tr>
<tr><td colspan=5>&nbsp;</td></tr>
<tr>
<td colspan=5><em>Methods</em></td>
</tr>
<tr>
<th>name</th><th colspan=3>parameters</th><th>description</th>
</tr>
<tr>
<td>grab</td> <td colspan=3>()</td>
<td>Begin capturing mouse events</td>
</tr>
<tr>
<td>ungrab</td> <td colspan=3>()</td>
<td>Stop capturing mouse events</td>
</tr>
<tr><td colspan=5>&nbsp;</td></tr>
<tr>
<td colspan=5><em>Callbacks</em></td>
</tr>
<tr>
<th>name</th><th colspan=3>parameters</th><th>description</th>
</tr>
<tr>
<td>onMouseButton</td> <td colspan=3>(x, y, down, bmask)</td>
<td>Handler for mouse button click/release</td>
</tr>
<tr>
<td>onMouseMove</td> <td colspan=3>(x, y)</td>
<td>Handler for mouse movement</td>
</tr>
</table>
### 2.1.1 Configuration Attributes
| name | type | mode | default | description
| ----------- | ---- | ---- | -------- | ------------
| target | DOM | WO | document | DOM element that captures mouse input
| focused | bool | RW | true | Capture and send mouse clicks/movement
| touchButton | int | RW | 1 | Button mask (1, 2, 4) for which click to send on touch devices. 0 means ignore clicks.
### 2.1.2 Methods
| name | parameters | description
| ------ | ---------- | ------------
| grab | () | Begin capturing mouse events
| ungrab | () | Stop capturing mouse events
### 2.1.2 Callbacks
| name | parameters | description
| ------------- | ------------------- | ------------
| onMouseButton | (x, y, down, bmask) | Handler for mouse button click/release
| onMouseMove | (x, y) | Handler for mouse movement
## 2.2 Keyboard Module
<table>
<tr>
<td colspan=5><em>Configuration Attributes</em></td>
</tr>
<tr>
<th>name</th> <th>type</th> <th>mode</th> <th>default</th>
<th>description</th>
</tr>
<tr>
<td>target</td> <td>DOM</td> <td>WO</td> <td>document</td>
<td>DOM element that captures keyboard input</td>
</tr>
<tr>
<td>focused</td> <td>bool</td> <td>RW</td> <td>document</td>
<td>Capture and send mouse key events</td>
</tr>
<tr><td colspan=5>&nbsp;</td></tr>
<tr>
<td colspan=5><em>Methods</em></td>
</tr>
<tr>
<th>name</th><th colspan=3>parameters</th><th>description</th>
</tr>
<tr>
<td>grab</td> <td colspan=3>()</td>
<td>Begin capturing keyboard events</td>
</tr>
<tr>
<td>ungrab</td> <td colspan=3>()</td>
<td>Stop capturing keyboard events</td>
</tr>
<tr><td colspan=5>&nbsp;</td></tr>
<tr>
<td colspan=5><em>Callbacks</em></td>
</tr>
<tr>
<th>name</th><th colspan=3>parameters</th><th>description</th>
</tr>
<tr>
<td>onKeyPress</td> <td colspan=3>(keysym, code, down)</td>
<td>Handler for key press/release</td>
</tr>
</table>
### 2.2.1 Configuration Attributes
| name | type | mode | default | description
| ------- | ---- | ---- | -------- | ------------
| target | DOM | WO | document | DOM element that captures keyboard input
| focused | bool | RW | true | Capture and send key events
### 2.2.2 Methods
| name | parameters | description
| ------ | ---------- | ------------
| grab | () | Begin capturing keyboard events
| ungrab | () | Stop capturing keyboard events
### 2.2.3 Callbacks
| name | parameters | description
| ---------- | -------------------- | ------------
| onKeyPress | (keysym, code, down) | Handler for key press/release
## 2.3 Display Module
<table>
<tr>
<td colspan=5><em>Configuration Attributes</em></td>
</tr>
<tr>
<th>name</th> <th>type</th> <th>mode</th> <th>default</th>
<th>description</th>
</tr>
<tr>
<td>target</td> <td>DOM</td> <td>WO</td> <td></td>
<td>Canvas element for rendering</td>
</tr>
<tr>
<td>context</td> <td>raw</td> <td>RO</td> <td></td>
<td>Canvas 2D context for rendering</td>
</tr>
<tr>
<td>logo</td> <td>raw</td> <td>RW</td> <td></td>
<td>Logo to display when cleared: {"width": width, "height": height, "type": mime-type, "data": data}</td>
</tr>
<tr>
<td>scale</td> <td>float</td> <td>RW</td> <td>1.0</td>
<td>Display area scale factor 0.0 - 1.0</td>
</tr>
<tr>
<td>viewport</td> <td>bool</td> <td>RW</td> <td>false</td>
<td>Use viewport clipping</td>
</tr>
<tr>
<td>width</td> <td>int</td> <td>RO</td> <td></td>
<td>Display area width</td>
</tr>
<tr>
<td>height</td> <td>int</td> <td>RO</td> <td></td>
<td>Display area height</td>
</tr>
<tr>
<td>render_mode</td> <td>str</td> <td>RO</td> <td>''</td>
<td>Canvas rendering mode</td>
</tr>
<tr>
<td>prefer_js</td> <td>str</td> <td>RW</td> <td></td>
<td>Prefer JavaScript over canvas methods</td>
</tr>
<tr>
<td>cursor_uri</td> <td>raw</td> <td>RW</td> <td></td>
<td>Can we render cursor using data URI</td>
</tr>
<tr><td colspan=5>&nbsp;</td></tr>
<tr>
<td colspan=5><em>Methods</em></td>
</tr>
<tr>
<th>name</th><th colspan=3>parameters</th><th>description</th>
</tr>
<tr>
<td>viewportChangePos</td> <td colspan=3>(deltaX, deltaY)</td>
<td>Move the viewport relative to the current location</td>
</tr>
<tr>
<td>viewportChangeSize</td> <td colspan=3>(width, height)</td>
<td>Change size of the viewport</td>
</tr>
<tr>
<td>absX</td> <td colspan=3>(x)</td>
<td>Return X relative to the remote display</td>
</tr>
<tr>
<td>absY</td> <td colspan=3>(y)</td>
<td>Return Y relative to the remote display</td>
</tr>
<tr>
<td>resize</td> <td colspan=3>(width, height)</td>
<td>Set width and height</td>
</tr>
<tr>
<td>flip</td> <td colspan=3>(from_queue)</td>
<td>Update the visible canvas with the contents of the rendering canvas</td>
</tr>
<tr>
<td>clear</td> <td colspan=3>()</td>
<td>Clear the display (show logo if set)</td>
</tr>
<tr>
<td>pending</td> <td colspan=3>()</td>
<td>Check if there are waiting items in the render queue</td>
</tr>
<tr>
<td>flush</td> <td colspan=3>()</td>
<td>Resume processing the render queue unless it's empty</td>
</tr>
<tr>
<td>fillRect</td> <td colspan=3>(x, y, width, height, color, from_queue)</td>
<td>Draw a filled in rectangle</td>
</tr>
<tr>
<td>copyImage</td> <td colspan=3>(old_x, old_y, new_x, new_y, width, height, from_queue)</td>
<td>Copy a rectangular area</td>
</tr>
<tr>
<td>imageRect</td> <td colspan=3>(x, y, mime, arr)</td>
<td>Draw a rectangle with an image</td>
</tr>
<tr>
<td>startTile</td> <td colspan=3>(x, y, width, height, color)</td>
<td>Begin updating a tile</td>
</tr>
<tr>
<td>subTile</td> <td colspan=3>(tile, x, y, w, h, color)</td>
<td>Update a sub-rectangle within the given tile</td>
</tr>
<tr>
<td>finishTile</td> <td colspan=3>()</td>
<td>Draw the current tile to the display</td>
</tr>
<tr>
<td>blitImage</td> <td colspan=3>(x, y, width, height, arr, offset, from_queue)</td>
<td>Blit pixels (of R,G,B,A) to the display</td>
</tr>
<tr>
<td>blitRgbImage</td> <td colspan=3>(x, y, width, height, arr, offset, from_queue)</td>
<td>Blit RGB encoded image to display</td>
</tr>
<tr>
<td>blitRgbxImage</td> <td colspan=3>(x, y, width, height, arr, offset, from_queue)</td>
<td>Blit RGBX encoded image to display</td>
</tr>
<tr>
<td>drawImage</td> <td colspan=3>(img, x, y)</td>
<td>Draw image and track damage</td>
</tr>
<tr>
<td>changeCursor</td> <td colspan=3>(pixels, mask, hotx, hoty, w, h)</td>
<td>Change cursor appearance</td>
</tr>
<tr>
<td>defaultCursor</td> <td colspan=3>()</td>
<td>Restore default cursor appearance</td>
</tr>
<tr>
<td>disableLocalCursor</td> <td colspan=3>()</td>
<td>Disable local (client-side) cursor</td>
</tr>
<tr>
<td>clippingDisplay</td> <td colspan=3>()</td>
<td>Check if the remote display is larger than the client display</td>
</tr>
<tr>
<td>autoscale</td> <td colspan=3>(containerWidth, containerHeight, downscaleOnly)</td>
<td>Scale the display</td>
</tr>
<tr><td colspan=5>&nbsp;</td></tr>
<tr>
<td colspan=5><em>Callbacks</em></td>
</tr>
<tr>
<th>name</th><th colspan=3>parameters</th><th>description</th>
</tr>
<tr>
<td>onFlush</td> <td colspan=3>()</td>
<td>A display flush has been requested and we are now ready to resume FBU processing</td>
</tr>
</table>
### 2.3.1 Configuration Attributes
| name | type | mode | default | description
| ----------- | ----- | ---- | ------- | ------------
| target | DOM | WO | | Canvas element for rendering
| context | raw | RO | | Canvas 2D context for rendering
| logo | raw | RW | | Logo to display when cleared: {"width": width, "height": height, "type": mime-type, "data": data}
| scale | float | RW | 1.0 | Display area scale factor 0.0 - 1.0
| viewport | bool | RW | false | Use viewport clipping
| width | int | RO | | Display area width
| height | int | RO | | Display area height
| render_mode | str | RO | '' | Canvas rendering mode
| prefer_js | str | RW | | Prefer JavaScript over canvas methods
| cursor_uri | raw | RW | | Can we render cursor using data URI
### 2.3.2 Methods
| name | parameters | description
| ------------------ | ------------------------------------------------------- | ------------
| viewportChangePos | (deltaX, deltaY) | Move the viewport relative to the current location
| viewportChangeSize | (width, height) | Change size of the viewport
| absX | (x) | Return X relative to the remote display
| absY | (y) | Return Y relative to the remote display
| resize | (width, height) | Set width and height
| flip | (from_queue) | Update the visible canvas with the contents of the rendering canvas
| clear | () | Clear the display (show logo if set)
| pending | () | Check if there are waiting items in the render queue
| flush | () | Resume processing the render queue unless it's empty
| fillRect | (x, y, width, height, color, from_queue) | Draw a filled in rectangle
| copyImage | (old_x, old_y, new_x, new_y, width, height, from_queue) | Copy a rectangular area
| imageRect | (x, y, mime, arr) | Draw a rectangle with an image
| startTile | (x, y, width, height, color) | Begin updating a tile
| subTile | (tile, x, y, w, h, color) | Update a sub-rectangle within the given tile
| finishTile | () | Draw the current tile to the display
| blitImage | (x, y, width, height, arr, offset, from_queue) | Blit pixels (of R,G,B,A) to the display
| blitRgbImage | (x, y, width, height, arr, offset, from_queue) | Blit RGB encoded image to display
| blitRgbxImage | (x, y, width, height, arr, offset, from_queue) | Blit RGBX encoded image to display
| drawImage | (img, x, y) | Draw image and track damage
| changeCursor | (pixels, mask, hotx, hoty, w, h) | Change cursor appearance
| defaultCursor | () | Restore default cursor appearance
| disableLocalCursor | () | Disable local (client-side) cursor
| clippingDisplay | () | Check if the remote display is larger than the client display
| autoscale | (containerWidth, containerHeight, downscaleOnly) | Scale the display
### 2.3.3 Callbacks
| name | parameters | description
| ------- | ---------- | ------------
| onFlush | () | A display flush has been requested and we are now ready to resume FBU processing
## 2.4 RFB Module
<table>
<tr>
<td colspan=5><em>Configuration Attributes</em></td>
</tr>
<tr>
<th>name</th> <th>type</th> <th>mode</th> <th>default</th>
<th>description</th>
</tr>
<tr>
<td>target</td> <td>DOM</td> <td>WO</td> <td>null</td>
<td>Canvas element for rendering (passed to Display and Mouse)</td>
</tr>
<tr>
<td>focusContainer</td> <td>DOM</td> <td>WO</td> <td>document</td>
<td>DOM element that captures keyboard input (passed to Keyboard)</td>
</tr>
<tr>
<td>encrypt</td> <td>bool</td> <td>RW</td> <td>false</td>
<td>Use TLS/SSL encryption</td>
</tr>
<tr>
<td>local_cursor</td> <td>bool</td> <td>RW</td> <td>false</td>
<td>Request locally rendered cursor</td>
</tr>
<tr>
<td>shared</td> <td>bool</td> <td>RW</td> <td>true</td>
<td>Request shared VNC mode</td>
</tr>
<tr>
<td>view_only</td> <td>bool</td> <td>RW</td> <td>false</td>
<td>Disable client mouse/keyboard</td>
</tr>
<tr>
<td>xvp_password_sep</td> <td>str</td> <td>RW</td> <td>'@'</td>
<td>Separator for XVP password fields</td>
</tr>
<tr>
<td>disconnectTimeout</td> <td>int</td> <td>RW</td> <td>3</td>
<td>Time (in seconds) to wait for disconnection</td>
</tr>
<tr>
<td>wsProtocols</td> <td>arr</td> <td>RW</td> <td>['binary']</td>
<td>Protocols to use in the WebSocket connection</td>
</tr>
<tr>
<td>repeaterID</td> <td>str</td> <td>RW</td> <td>''</td>
<td>UltraVNC RepeaterID to connect to</td>
</tr>
<tr>
<td>viewportDrag</td> <td>bool</td> <td>RW</td> <td>false</td>
<td>Move the viewport on mouse drags</td>
</tr>
<tr><td colspan=5>&nbsp;</td></tr>
<tr>
<td colspan=5><em>Methods</em></td>
</tr>
<tr>
<th>name</th><th colspan=3>parameters</th><th>description</th>
</tr>
<tr>
<td>connect</td> <td colspan=3>(host, port, password, path)</td>
<td>Connect to the given host:port/path. Optional password and path.</td>
</tr>
<tr>
<td>disconnect</td> <td colspan=3>()</td>
<td>Disconnect</td>
</tr>
<tr>
<td>sendPassword</td> <td colspan=3>(passwd)</td>
<td>Send password after onPasswordRequired callback</td>
</tr>
<tr>
<td>sendCtrlAltDel</td> <td colspan=3>()</td>
<td>Send Ctrl-Alt-Del key sequence</td>
</tr>
<tr>
<td>xvpOp</td> <td colspan=3>(ver, op)</td>
<td>Send a XVP operation (2=shutdown, 3=reboot, 4=reset)</td>
</tr>
<tr>
<td>xvpShutdown</td> <td colspan=3>()</td>
<td>Send XVP shutdown.</td>
</tr>
<tr>
<td>xvpReboot</td> <td colspan=3>()</td>
<td>Send XVP reboot.</td>
</tr>
<tr>
<td>xvpReset</td> <td colspan=3>()</td>
<td>Send XVP reset.</td>
</tr>
<tr>
<td>sendKey</td> <td colspan=3>(keysym, down)</td>
<td>Send a key press event. If down not specified, send a down and up event.</td>
</tr>
<tr>
<td>clipboardPasteFrom</td> <td colspan=3>(text)</td>
<td>Send a clipboard paste event</td>
</tr>
<tr>
<td>requestDesktopSize</td> <td colspan=3>(width, height)</td>
<td>Send a request to change the remote desktop size.</td>
</tr>
<tr><td colspan=5>&nbsp;</td></tr>
<tr>
<td colspan=5><em>Callbacks</em></td>
</tr>
<tr>
<th>name</th><th colspan=3>parameters</th><th>description</th>
</tr>
<tr>
<td>onUpdateState</td> <td colspan=3>(rfb, state, oldstate)</td>
<td>Connection state change (see details below)</td>
</tr>
<tr>
<td>onNotification</td> <td colspan=3>(rfb, msg, level, options)</td>
<td>Notification for the UI (optional options)</td>
</tr>
<tr>
<td>onDisconnected</td> <td colspan=3>(rfb, reason)</td>
<td>Disconnection finished with an optional reason. No reason specified means normal disconnect.</td>
</tr>
<tr>
<td>onPasswordRequired</td> <td colspan=3>(rfb, msg)</td>
<td>VNC password is required (use sendPassword), optionally comes with a message.</td>
</tr>
<tr>
<td>onClipboard</td> <td colspan=3>(rfb, text)</td>
<td>RFB clipboard contents received</td>
</tr>
<tr>
<td>onBell</td> <td colspan=3>(rfb)</td>
<td>RFB Bell message received</td>
</tr>
<tr>
<td>onFBUReceive</td> <td colspan=3>(rfb, fbu)</td>
<td>RFB FBU received but not yet processed (see details below)</td>
</tr>
<tr>
<td>onFBUComplete</td> <td colspan=3>(rfb, fbu)</td>
<td>RFB FBU received and processed (see details below)</td>
</tr>
<tr>
<td>onFBResize</td> <td colspan=3>(rfb, width, height)</td>
<td>Frame buffer (remote desktop) size changed</td>
</tr>
<tr>
<td>onDesktopName</td> <td colspan=3>(rfb, name)</td>
<td>VNC desktop name recieved</td>
</tr>
<tr>
<td>onXvpInit</td> <td colspan=3>(version)</td>
<td>XVP extensions active for this connection.</td>
</tr>
</table>
### 2.4.1 Configuration Attributes
| name | type | mode | default | description
| ----------------- | ---- | ---- | ---------- | ------------
| target | DOM | WO | null | Canvas element for rendering (passed to Display and Mouse)
| focusContainer | DOM | WO | document | DOM element that captures keyboard input (passed to Keyboard)
| encrypt | bool | RW | false | Use TLS/SSL encryption
| local_cursor | bool | RW | false | Request locally rendered cursor
| shared | bool | RW | true | Request shared VNC mode
| view_only | bool | RW | false | Disable client mouse/keyboard
| xvp_password_sep | str | RW | '@' | Separator for XVP password fields
| disconnectTimeout | int | RW | 3 | Time (in seconds) to wait for disconnection
| wsProtocols | arr | RW | ['binary'] | Protocols to use in the WebSocket connection
| repeaterID | str | RW | '' | UltraVNC RepeaterID to connect to
| viewportDrag | bool | RW | false | Move the viewport on mouse drags
### 2.4.2 Methods
| name | parameters | description
| ------------------ | ---------------------------- | ------------
| connect | (host, port, password, path) | Connect to the given host:port/path. Optional password and path.
| disconnect | () | Disconnect
| sendPassword | (passwd) | Send password after onPasswordRequired callback
| sendCtrlAltDel | () | Send Ctrl-Alt-Del key sequence
| xvpOp | (ver, op) | Send a XVP operation (2=shutdown, 3=reboot, 4=reset)
| xvpShutdown | () | Send XVP shutdown.
| xvpReboot | () | Send XVP reboot.
| xvpReset | () | Send XVP reset.
| sendKey | (keysym, down) | Send a key press event. If down not specified, send a down and up event.
| clipboardPasteFrom | (text) | Send a clipboard paste event
| requestDesktopSize | (width, height) | Send a request to change the remote desktop size.
### 2.4.3 Callbacks
| name | parameters | description
| ------------------ | -------------------------- | ------------
| onUpdateState | (rfb, state, oldstate) | Connection state change (see details below)
| onNotification | (rfb, msg, level, options) | Notification for the UI (optional options)
| onDisconnected | (rfb, reason) | Disconnection finished with an optional reason. No reason specified means normal disconnect.
| onPasswordRequired | (rfb, msg) | VNC password is required (use sendPassword), optionally comes with a message.
| onClipboard | (rfb, text) | RFB clipboard contents received
| onBell | (rfb) | RFB Bell message received
| onFBUReceive | (rfb, fbu) | RFB FBU received but not yet processed (see details below)
| onFBUComplete | (rfb, fbu) | RFB FBU received and processed (see details below)
| onFBResize | (rfb, width, height) | Frame buffer (remote desktop) size changed
| onDesktopName | (rfb, name) | VNC desktop name recieved
| onXvpInit | (version) | XVP extensions active for this connection.
__RFB onUpdateState callback details__
@ -505,26 +228,12 @@ The RFB module has an 'onUpdateState' callback that is invoked after
the noVNC connection state changes. Here is a list of the states that
are reported.
<table>
<tr>
<td colspan=2><em>Connection States</em></td>
</tr>
<tr>
<th>state</th> <th>description</th>
</tr>
<tr>
<td>connecting</td> <td>starting to connect</td>
</tr>
<tr>
<td>connected</td> <td>connected normally</td>
</tr>
<tr>
<td>disconnecting</td> <td>starting to disconnect</td>
</tr>
<tr>
<td>disconnected</td> <td>disconnected - permanent end-state for this RFB object</td>
</tr>
</table>
| connection state | description
| ---------------- | ------------
| connecting | starting to connect
| connected | connected normally
| disconnecting | starting to disconnect
| disconnected | disconnected - permanent end-state for this RFB object
__RFB onFBUReceive and on FBUComplete callback details__