mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-08-08 11:33:03 +00:00
inputs: handle SPICE_MSGC_INPUTS_KEY_SCANCODE
Handle SPICE_MSGC_INPUTS_KEY_SCANCODE message, allowing arbitrary keyboard scancode sequence.
This commit is contained in:
parent
bd10d502f8
commit
560d8b0135
@ -26,6 +26,7 @@
|
||||
#include <errno.h>
|
||||
#include <spice/macros.h>
|
||||
#include <spice/vd_agent.h>
|
||||
#include <spice/protocol.h>
|
||||
|
||||
#include "common/marshaller.h"
|
||||
#include "common/messages.h"
|
||||
@ -327,6 +328,14 @@ static int inputs_channel_handle_parsed(RedChannelClient *rcc, uint32_t size, ui
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SPICE_MSGC_INPUTS_KEY_SCANCODE: {
|
||||
uint32_t i;
|
||||
uint8_t *code = (uint8_t *)buf;
|
||||
for (i = 0; i < size; i++) {
|
||||
kbd_push_scan(keyboard, code[i]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SPICE_MSGC_INPUTS_MOUSE_MOTION: {
|
||||
SpiceMsgcMouseMotion *mouse_motion = (SpiceMsgcMouseMotion *)buf;
|
||||
|
||||
@ -618,6 +627,7 @@ void inputs_init(void)
|
||||
client_cbs.migrate = inputs_migrate;
|
||||
red_channel_register_client_cbs(&g_inputs_channel->base, &client_cbs);
|
||||
|
||||
red_channel_set_cap(&g_inputs_channel->base, SPICE_INPUTS_CAP_KEY_SCANCODE);
|
||||
reds_register_channel(&g_inputs_channel->base);
|
||||
|
||||
if (!(key_modifiers_timer = core->timer_add(key_modifiers_sender, NULL))) {
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 2c55c9d0c6a5752a16f5e22667196b461c85d4c8
|
||||
Subproject commit 86e286ba2003c206e700fd70ec67c1cf4ac8d8a6
|
||||
Loading…
Reference in New Issue
Block a user