9#ifndef LIBEVDEVXX_TYPE_HPP
10#define LIBEVDEVXX_TYPE_HPP
20#include <libevdev/libevdev.h>
22#include "detail/NumberBase.hpp"
28 public detail::NumberBase<std::uint16_t, Type> {
30 using Base = detail::NumberBase<std::uint16_t, Type>;
43 Type(std::uint16_t number) :
47 throw std::invalid_argument{
"invalid event type number"};
56 std::size_t* pos =
nullptr);
99 inline constexpr const Type Type::x{EV_ ## y}
112 DEFINE(ff_status, FF_STATUS);
#define DEFINE(x, y)
Definition: Type.hpp:98
static const Type syn
Definition: Type.hpp:81
static const Type rep
Definition: Type.hpp:89
static const Type rel
Definition: Type.hpp:83
constexpr Type() noexcept=default
static constexpr Type max() noexcept
Definition: Type.hpp:62
static const Type pwr
Definition: Type.hpp:91
static const Type key
Definition: Type.hpp:82
static Type parse(std::string_view name, std::size_t *pos=nullptr)
static const Type msc
Definition: Type.hpp:85
static const Type sw
Definition: Type.hpp:86
static const Type ff_status
Definition: Type.hpp:92
static const Type led
Definition: Type.hpp:87
static const Type ff
Definition: Type.hpp:90
static const Type abs
Definition: Type.hpp:84
static const Type snd
Definition: Type.hpp:88
static constexpr std::uint16_t count() noexcept
Definition: Type.hpp:72
The namespace of libevdevxx.
Definition: AbsInfo.hpp:20
std::string to_string(const AbsInfo &info)
std::ostream & operator<<(std::ostream &out, const AbsInfo &info)