|  |  |  | 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