/*
 * Copyright (c) 2011-2012 Wind River Systems, Inc. 
 *
 * The right to copy, distribute, modify or otherwise make use
 * of this software may be licensed only pursuant to the terms
 * of an applicable Wind River license agreement. 
 */

/* 
DESCRIPTION
   
This file provides a Qt VxWorks keyboard driver.
*/

#ifndef QKBD_VXWORKS_H
#define QKBD_VXWORKS_H

#include <QtCore/qobject.h>
#include <QtGui/qkbd_qws.h>

#ifndef QT_NO_QWS_KEYBOARD

#ifndef QT_NO_QWS_KBD_VXWORKS

QT_BEGIN_HEADER

QT_BEGIN_NAMESPACE

QT_MODULE(Gui)

class QSocketNotifier;

class Q_GUI_EXPORT QWSVxWorksKeyboardHandler : public QObject, public QWSKeyboardHandler
{
    Q_OBJECT
public:
    explicit QWSVxWorksKeyboardHandler(const QString& = QString());
    virtual ~QWSVxWorksKeyboardHandler();

    virtual bool filterInputEvent(quint16 &input_code, qint32 &input_value);

private Q_SLOTS:
    void readKbdData();

private:
    QSocketNotifier *kbdNotifier;
    QString         keyboardDevice;
};

QT_END_NAMESPACE

QT_END_HEADER

#endif /* QT_NO_QWS_KBD_VXWORKS */

#endif /* QT_NO_QWS_KEYBOARD */

#endif /* QKBD_VXWORKS_H */
