Yeah I'm not sure whether they should be merged either, I think it comes down to preference.������ Maybe Vincent or Alexandre should decide.

About using the union in hardware_msg_data, you're right, I didn't notice that and I'll deduplicate that.

On Tue, Jul 23, 2019 at 3:50 AM R������mi Bernon <rbernon@codeweavers.com> wrote:
On Sat, 2019-06-29 at 22:26 -0400, Derek Lesho wrote:
> Signed-off-by: Derek Lesho <dereklesho52@Gmail.com>
> ---
>������ server/protocol.def | 28 ++++++++++++++++++++++++++++
>������ server/queue.c������ ������ ������ | 41 +++++++++++++++++++++++++++++++++++++++++
>������ server/trace.c������ ������ ������ | 21 +++++++++++++++++++++
>������ tools/make_requests |������ 1 +
>������ 4 files changed, 91 insertions(+)
>
> diff --git a/server/protocol.def b/server/protocol.def
> index 8b8a8a1512..3a6a202f49 100644
> --- a/server/protocol.def
> +++ b/server/protocol.def
> @@ -358,6 +358,29 @@ typedef union
>������ ������ ������ } hw;
>������ } hw_input_t;
>������
> +typedef union
> +{
> +������ ������ int type;
> +������ ������ struct
> +������ ������ {
> +������ ������ ������ ������ int type;������ ������ ������ ������ ������ ������ ������ ������ ������ ������ ������/* RIM_TYPEMOUSE */
> +������ ������ ������ ������ int x;������ ������ ������ ������ ������ ������ ������ ������ ������ ������ ������ ������ /* relative x movement */
> +������ ������ ������ ������ int y;������ ������ ������ ������ ������ ������ ������ ������ ������ ������ ������ ������ /* relative y movement */
> +������ ������ ������ ������ unsigned short button_flags;������ /* mouse button */
> +������ ������ ������ ������ unsigned short button_data;������ ������/* event details */
> +������ ������ } mouse;
> +������ ������ struct
> +������ ������ {
> +������ ������ ������ ������ int type; /* RIM_TYPEKEYBOARD */
> +������ ������ ������ ������ /* TODO: fill this in if/when necessary */
> +������ ������ } kbd;
> +������ ������ struct
> +������ ������ {
> +������ ������ ������ ������ int type; /* RIM_TYPEHID */
> +������ ������ ������ ������ /* TODO: fill this in if/when necessary */
> +������ ������ } hid;
> +} hw_rawinput_t;

I'm still wondering if it should be merged with hw_input_t or not and
use the same send_hardware_message request for raw inputs and normal
inputs, but in any case this union should at least be used for the
rawinput field in struct hardware_msg_data (with the kbd fields added)
instead of duplicating it.
--
R������mi Bernon <rbernon@codeweavers.com>