#include "clientkeyeventmessage.h"
#include "clientglobals.h"
#include <QKeyEvent>
#include <QIODevice>

ClientKeyEventMessage::ClientKeyEventMessage() :
        ClientMessageBase()
{
    m_event.isPressed = 0;
    m_event.scanCode = 0;
    m_event.xkey = 0;
}

void ClientKeyEventMessage::writeBytes( QIODevice *device ) const
{
        writeUint8(device, 4);
        writeBool(device, m_event.isPressed);
        writeUint16(device, 0 );
        writeUint32(device, m_event.xkey );
}

void ClientKeyEventMessage::setKeyEvent( const KeyEvent &event )
{
    m_event = event;
}

KeyEvent ClientKeyEventMessage::keyEvent() const
{
    return m_event;
}

QDebug operator <<( QDebug in, ClientKeyEventMessage & message )
{
        in << QString("Client key event message. XKey: %1, Scancode: %2, Pressed: %3")
                .arg(message.keyEvent().xkey,4,16)
                .arg(message.keyEvent().scanCode,4,16)
                .arg(message.keyEvent().isPressed);
        return in;
}

