![]() |
![]() |
![]() |
Spice-GTK Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Signals |
#include <channel-inputs.h> struct SpiceInputsChannel; struct SpiceInputsChannelClass; enum SpiceInputsLock; void spice_inputs_motion (SpiceInputsChannel *channel
,gint dx
,gint dy
,gint button_state
); void spice_inputs_position (SpiceInputsChannel *channel
,gint x
,gint y
,gint display
,gint button_state
); void spice_inputs_button_press (SpiceInputsChannel *channel
,gint button
,gint button_state
); void spice_inputs_button_release (SpiceInputsChannel *channel
,gint button
,gint button_state
); void spice_inputs_key_press (SpiceInputsChannel *channel
,guint scancode
); void spice_inputs_key_press_and_release (SpiceInputsChannel *channel
,guint scancode
); void spice_inputs_key_release (SpiceInputsChannel *channel
,guint scancode
); void spice_inputs_set_key_locks (SpiceInputsChannel *channel
,guint locks
);
Spice supports sending keyboard key events and keyboard leds
synchronization. The key events are sent using
spice_inputs_key_press()
and spice_inputs_key_release()
using PC AT
scancode.
Guest keyboard leds state can be manipulated with
spice_inputs_set_key_locks()
. When key lock change, a notification
is emitted with "inputs-modifiers" signal.
struct SpiceInputsChannel;
The SpiceInputsChannel struct is opaque and should not be accessed directly.
struct SpiceInputsChannelClass { SpiceChannelClass parent_class; /* signals */ void (*inputs_modifiers)(SpiceChannel *channel); };
Class structure for SpiceInputsChannel.
SpiceChannelClass |
Parent class. |
Signal class handler for the "inputs-modifiers" signal. |
typedef enum { SPICE_INPUTS_SCROLL_LOCK = (1 << 0), SPICE_INPUTS_NUM_LOCK = (1 << 1), SPICE_INPUTS_CAPS_LOCK = (1 << 2) } SpiceInputsLock;
void spice_inputs_motion (SpiceInputsChannel *channel
,gint dx
,gint dy
,gint button_state
);
Change mouse position (used in SPICE_MOUSE_MODE_CLIENT).
|
delta X mouse coordinates |
|
delta Y mouse coordinates |
|
SPICE_MOUSE_BUTTON_MASK flags |
void spice_inputs_position (SpiceInputsChannel *channel
,gint x
,gint y
,gint display
,gint button_state
);
Change mouse position (used in SPICE_MOUSE_MODE_CLIENT).
|
X mouse coordinates |
|
Y mouse coordinates |
|
display channel id |
|
SPICE_MOUSE_BUTTON_MASK flags |
void spice_inputs_button_press (SpiceInputsChannel *channel
,gint button
,gint button_state
);
Press a mouse button.
|
a SPICE_MOUSE_BUTTON |
|
SPICE_MOUSE_BUTTON_MASK flags |
void spice_inputs_button_release (SpiceInputsChannel *channel
,gint button
,gint button_state
);
Release a button.
|
a SPICE_MOUSE_BUTTON |
|
SPICE_MOUSE_BUTTON_MASK flags |
void spice_inputs_key_press (SpiceInputsChannel *channel
,guint scancode
);
Press a key.
|
a PC AT key scancode |
void spice_inputs_key_press_and_release (SpiceInputsChannel *channel
,guint scancode
);
Press and release a key event atomically (in the same message).
|
a PC AT key scancode |
Since 0.13
void spice_inputs_key_release (SpiceInputsChannel *channel
,guint scancode
);
Release a key.
|
a PC AT key scancode |
void spice_inputs_set_key_locks (SpiceInputsChannel *channel
,guint locks
);
Set the keyboard locks on the guest (Caps, Num, Scroll..)
|
SpiceInputsLock modifiers flags |
"key-modifiers"
property"key-modifiers" gint : Read
Guest keyboard lock/led state.
Allowed values: >= 0
Default value: 0
"inputs-modifiers"
signalvoid user_function (SpiceInputsChannel *spiceinputschannel,
gpointer user_data) : Run First