2016-12-20 22:15:13 +00:00
|
|
|
/**
|
|
|
|
* The value for the "var" attribute of feature tag in disco-info packets.
|
|
|
|
*/
|
|
|
|
export const DISCO_REMOTE_CONTROL_FEATURE
|
|
|
|
= "http://jitsi.org/meet/remotecontrol";
|
|
|
|
|
|
|
|
/**
|
2017-06-22 21:28:57 +00:00
|
|
|
* Types of remote-control events.
|
2017-01-19 23:19:58 +00:00
|
|
|
* @readonly
|
|
|
|
* @enum {string}
|
2016-12-20 22:15:13 +00:00
|
|
|
*/
|
2017-06-22 21:28:57 +00:00
|
|
|
export const EVENTS = {
|
2016-12-20 22:15:13 +00:00
|
|
|
mousemove: "mousemove",
|
|
|
|
mousedown: "mousedown",
|
|
|
|
mouseup: "mouseup",
|
|
|
|
mousedblclick: "mousedblclick",
|
|
|
|
mousescroll: "mousescroll",
|
|
|
|
keydown: "keydown",
|
2016-12-28 00:46:55 +00:00
|
|
|
keyup: "keyup",
|
|
|
|
permissions: "permissions",
|
2017-06-22 21:28:57 +00:00
|
|
|
start: "start",
|
2016-12-28 00:46:55 +00:00
|
|
|
stop: "stop",
|
|
|
|
supported: "supported"
|
|
|
|
};
|
|
|
|
|
2017-06-22 21:28:57 +00:00
|
|
|
/**
|
|
|
|
* Types of remote-control requests.
|
|
|
|
* @readonly
|
|
|
|
* @enum {string}
|
|
|
|
*/
|
|
|
|
export const REQUESTS = {
|
|
|
|
start: "start"
|
|
|
|
};
|
|
|
|
|
2016-12-28 00:46:55 +00:00
|
|
|
/**
|
|
|
|
* Actions for the remote control permission events.
|
2017-01-19 23:19:58 +00:00
|
|
|
* @readonly
|
|
|
|
* @enum {string}
|
2016-12-28 00:46:55 +00:00
|
|
|
*/
|
|
|
|
export const PERMISSIONS_ACTIONS = {
|
|
|
|
request: "request",
|
|
|
|
grant: "grant",
|
2017-01-06 01:18:07 +00:00
|
|
|
deny: "deny",
|
|
|
|
error: "error"
|
2016-12-20 22:15:13 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
2017-06-22 21:28:57 +00:00
|
|
|
* The type of remote control messages.
|
2016-12-20 22:15:13 +00:00
|
|
|
*/
|
2017-06-22 21:28:57 +00:00
|
|
|
export const REMOTE_CONTROL_MESSAGE_NAME = "remote-control";
|
2017-01-19 23:19:58 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* The remote control event.
|
|
|
|
* @typedef {object} RemoteControlEvent
|
2017-06-22 21:28:57 +00:00
|
|
|
* @property {EVENTS | REQUESTS} type - the type of the message
|
|
|
|
* @property {number} x - avaibale for type === mousemove only. The new x
|
2017-01-19 23:19:58 +00:00
|
|
|
* coordinate of the mouse
|
2017-06-22 21:28:57 +00:00
|
|
|
* @property {number} y - For mousemove type - the new y
|
2017-01-19 23:19:58 +00:00
|
|
|
* coordinate of the mouse and for mousescroll - represents the vertical
|
|
|
|
* scrolling diff value
|
2017-06-22 21:28:57 +00:00
|
|
|
* @property {number} button - 1(left), 2(middle) or 3 (right). Supported by
|
2017-01-19 23:19:58 +00:00
|
|
|
* mousedown, mouseup and mousedblclick types.
|
|
|
|
* @property {KEYS} key - Represents the key related to the event. Supported by
|
|
|
|
* keydown and keyup types.
|
|
|
|
* @property {KEYS[]} modifiers - Represents the modifier related to the event.
|
|
|
|
* Supported by keydown and keyup types.
|
|
|
|
* @property {PERMISSIONS_ACTIONS} action - Supported by type === permissions.
|
|
|
|
* Represents the action related to the permissions event.
|
|
|
|
*
|
|
|
|
* Optional properties. Supported for permissions event for action === request:
|
|
|
|
* @property {string} userId - The user id of the participant that has sent the
|
|
|
|
* request.
|
|
|
|
* @property {string} userJID - The full JID in the MUC of the user that has
|
|
|
|
* sent the request.
|
|
|
|
* @property {string} displayName - the displayName of the participant that has
|
|
|
|
* sent the request.
|
|
|
|
* @property {boolean} screenSharing - true if the SS is started for the local
|
|
|
|
* participant and false if not.
|
|
|
|
*/
|