C

Qt Quick Ultralite Automotive Cluster Demo

// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
#ifndef HMI_INPUT_EVENT_H
#define HMI_INPUT_EVENT_H

#include <qul/eventqueue.h>
#include <qul/object.h>

struct HMIInputEvent : Qul::Object
{
    enum Key {
        HMI_BTN_UP,
        HMI_BTN_DOWN,
        HMI_BTN_LEFT,
        HMI_BTN_RIGHT,
        HMI_BTN_CENTER,

        HMI_KNOB_TURN_LEFT,
        HMI_KNOB_TURN_RIGHT,
        HMI_KNOB_CENTER,

        HMI_UNKNOWN
    };
    enum Type { KeyPress, KeyRelease };

    HMIInputEvent(Key key_, Type type_)
        : key(key_)
        , type(type_)
    {}

    HMIInputEvent()
        : key(HMI_UNKNOWN)
        , type(KeyPress)
    {}

    Key key;
    Type type;
};
#endif // HMI_INPUT_EVENT_H