FastX Client Api
Setup
You can programmatically send input to the remote session using the FastX Client Api. This is useful for integrators who need fine grained access to to FastX connection. Typical use cases include forcing default settings on a client, or building your own GUI interface.
Accessing the API
Add the following line in your HTML header
<script src='tools/client-api.js'></script>
Using the API
The header adds the FastX class to your global namespace.
<script>
var myIframe = document.getElementById('fastxIframe');
var fx = new FastX(myIframe);
fx.onready = function(e) {
fx.resize(window.innerWidth, window.innerHeight)
}
</script>
Api Callbacks
onmessage(e)
Emitted when any message gets sent.
onready(e)
Emitted when the protocol has finished its initial setup.
Api Commands
send(msg: string, body: object)
Generic function that will send arbitrary messages to the iframe. Typically not used
resize(width: number, height: number)
Send a resize request
keyboard(layout: number, type: number)
Change the keyboard layout. Refer to https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-language-pack-default-values for valid keyboard layouts
networkAutodetect(enabled: boolean)
Enable network autodetection
compression(current: number, min: number, max: number)
Set compression level (lower is blurrier)
frameRate(current: number, min: number, max: number)
Set the frame rate
frameWindow(current: number, min: number, max: number)
Set the number of interim frames before the server stops sending data
scaling(current: number, autoscale: boolean min: number, max: number)
Set the client side scaling. Autoscale lets the client determine it for you
mouseDown(flags: number, pos: Array<number:number>)
Send a mouse down event. Refer to https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons for flags. pos is an array of [x,y]
mouseUp(flags, pos)
Send a mouse up event. Refer to https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons for flags. pos is an array of [x,y]
mouseMove(pos)
Send a mouse move event. pos is an array of [x,y]
mouseWheel(delta, pos)
Send a mouse wheel. Negative delta is scroll up pos is an array of [x,y]
keyDown(code)
Send a keyboard down event. Refer to the code strings at https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values for a list of code values
keyUp(code)
Send a keyboard up event. Refer to the code strings at https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values for a list of code values
keyPress(code)
Shortcut for
fx.keyDown(code);
fx.keyUp(code);