@@ -112,6 +112,8 @@ static void hid_pointer_event(DeviceState *dev,
QemuConsole *src,
[INPUT_BUTTON_LEFT] = 0x01,
[INPUT_BUTTON_RIGHT] = 0x02,
[INPUT_BUTTON_MIDDLE] = 0x04,
+ [INPUT_BUTTON_EXTRA] = 0x114,
+ [INPUT_BUTTON_SIDE] = 0x113,
};
HIDState *hs = (HIDState *)dev;
HIDPointerEvent *e;
@@ -386,6 +386,8 @@ static void ps2_mouse_event(DeviceState *dev,
QemuConsole *src,
[INPUT_BUTTON_LEFT] = MOUSE_EVENT_LBUTTON,
[INPUT_BUTTON_MIDDLE] = MOUSE_EVENT_MBUTTON,
[INPUT_BUTTON_RIGHT] = MOUSE_EVENT_RBUTTON,
+ [INPUT_BUTTON_EXTRA] = MOUSE_EVENT_EBUTTON,
+ [INPUT_BUTTON_SIDE] = MOUSE_EVENT_SBUTTON,
};
PS2MouseState *s = (PS2MouseState *)dev;
@@ -144,6 +144,8 @@ static const unsigned int
keymap_button[INPUT_BUTTON__MAX] = {
[INPUT_BUTTON_MIDDLE] = BTN_MIDDLE,
[INPUT_BUTTON_WHEELUP] = BTN_GEAR_UP,
[INPUT_BUTTON_WHEELDOWN] = BTN_GEAR_DOWN,
+ [INPUT_BUTTON_EXTRA] = BTN_EXTRA,
+ [INPUT_BUTTON_SIDE] = BTN_SIDE,
};
static const unsigned int axismap_rel[INPUT_AXIS__MAX] = {
@@ -1390,6 +1390,8 @@ static void hmp_mouse_button(Monitor *mon, const
QDict *qdict)
[INPUT_BUTTON_LEFT] = MOUSE_EVENT_LBUTTON,
[INPUT_BUTTON_MIDDLE] = MOUSE_EVENT_MBUTTON,
[INPUT_BUTTON_RIGHT] = MOUSE_EVENT_RBUTTON,
+ [INPUT_BUTTON_SIDE] = MOUSE_EVENT_SBUTTON,
+ [INPUT_BUTTON_EXTRA] = MOUSE_EVENT_EBUTTON,
};
int button_state = qdict_get_int(qdict, "button_state");
@@ -3667,7 +3667,7 @@
# x-input-send-event is promoted out of experimental status.
##
{ 'enum' : 'InputButton',
- 'data' : [ 'Left', 'Middle', 'Right', 'WheelUp', 'WheelDown' ] }
+ 'data' : [ 'Left', 'Middle', 'Right', 'WheelUp', 'WheelDown',
'WheelLeft', 'WheelRight', 'Side', 'Extra' ] }
##
# @InputAxis
@@ -212,6 +212,11 @@ static void input_linux_event_mouse(void *opaque)
case BTN_GEAR_DOWN:
qemu_input_queue_btn(NULL, INPUT_BUTTON_WHEELDOWN,
event.value);
+ case BTN_EXTRA:
+ qemu_input_queue_btn(NULL, INPUT_BUTTON_EXTRA, event.value);
+ break;
+ case BTN_SIDE:
+ qemu_input_queue_btn(NULL, INPUT_BUTTON_SIDE, event.value);
break;
};
break;