new WS ControlRequest data type
This commit is contained in:
parent
c176411512
commit
70e8b215cb
@ -29,6 +29,7 @@ export type WebSocketPayloads =
|
|||||||
| MemberListPayload
|
| MemberListPayload
|
||||||
| Member
|
| Member
|
||||||
| ControlPayload
|
| ControlPayload
|
||||||
|
| ControlRequestPayload
|
||||||
| ControlClipboardPayload
|
| ControlClipboardPayload
|
||||||
| ChatPayload
|
| ChatPayload
|
||||||
| ChatSendPayload
|
| ChatSendPayload
|
||||||
@ -111,6 +112,10 @@ export interface ControlPayload {
|
|||||||
id: string
|
id: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ControlRequestPayload {
|
||||||
|
keyboard_layout: string
|
||||||
|
}
|
||||||
|
|
||||||
export interface ControlTargetPayload {
|
export interface ControlTargetPayload {
|
||||||
id: string
|
id: string
|
||||||
target: string
|
target: string
|
||||||
|
@ -64,7 +64,7 @@ export const actions = actionTree(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!getters.hosting) {
|
if (!getters.hosting) {
|
||||||
$client.sendMessage(EVENT.CONTROL.REQUEST)
|
$client.sendMessage(EVENT.CONTROL.REQUEST, { keyboard_layout: accessor.settings.keyboard_layout })
|
||||||
} else {
|
} else {
|
||||||
$client.sendMessage(EVENT.CONTROL.RELEASE)
|
$client.sendMessage(EVENT.CONTROL.RELEASE)
|
||||||
}
|
}
|
||||||
|
@ -51,6 +51,11 @@ type Control struct {
|
|||||||
ID string `json:"id"`
|
ID string `json:"id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ControlRequest struct {
|
||||||
|
Event string `json:"event"`
|
||||||
|
KeyboardLayout string `json:"keyboard_layout"`
|
||||||
|
}
|
||||||
|
|
||||||
type ControlTarget struct {
|
type ControlTarget struct {
|
||||||
Event string `json:"event"`
|
Event string `json:"event"`
|
||||||
ID string `json:"id"`
|
ID string `json:"id"`
|
||||||
|
@ -31,9 +31,12 @@ func (h *MessageHandler) controlRelease(id string, session types.Session) error
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *MessageHandler) controlRequest(id string, session types.Session) error {
|
func (h *MessageHandler) controlRequest(id string, session types.Session, payload *message.ControlRequest) error {
|
||||||
// check for host
|
// check for host
|
||||||
if !h.sessions.HasHost() {
|
if !h.sessions.HasHost() {
|
||||||
|
// TODO: Keyboard Layout change.
|
||||||
|
h.logger.Warn().Msgf("should set keyboard to %s", payload.KeyboardLayout)
|
||||||
|
|
||||||
// set host
|
// set host
|
||||||
h.sessions.SetHost(id)
|
h.sessions.SetHost(id)
|
||||||
|
|
||||||
|
@ -76,7 +76,11 @@ func (h *MessageHandler) Message(id string, raw []byte) error {
|
|||||||
case event.CONTROL_RELEASE:
|
case event.CONTROL_RELEASE:
|
||||||
return errors.Wrapf(h.controlRelease(id, session), "%s failed", header.Event)
|
return errors.Wrapf(h.controlRelease(id, session), "%s failed", header.Event)
|
||||||
case event.CONTROL_REQUEST:
|
case event.CONTROL_REQUEST:
|
||||||
return errors.Wrapf(h.controlRequest(id, session), "%s failed", header.Event)
|
payload := &message.ControlRequest{}
|
||||||
|
return errors.Wrapf(
|
||||||
|
utils.Unmarshal(payload, raw, func() error {
|
||||||
|
return h.controlRequest(id, session, payload)
|
||||||
|
}), "%s failed", header.Event)
|
||||||
case event.CONTROL_GIVE:
|
case event.CONTROL_GIVE:
|
||||||
payload := &message.Control{}
|
payload := &message.Control{}
|
||||||
return errors.Wrapf(
|
return errors.Wrapf(
|
||||||
|
Reference in New Issue
Block a user