13 namespace duds {
namespace os {
namespace linux {
32 public std::enable_shared_from_this<EvdevInput>
42 libevdev *
dev =
nullptr;
81 static std::shared_ptr<EvdevInput>
make(
const std::string &path) {
82 return std::make_shared<EvdevInput>(path);
107 void open(
const std::string &path);
111 std::string
name()
const;
165 int value(
unsigned int et,
unsigned int ec)
const {
208 const input_absinfo *
absInfo(
unsigned int absEc)
const;
231 const InputSignal::slot_type &slot,
232 boost::signals2::connect_position at = boost::signals2::at_back
234 return defReceiver.connect(slot, at);
243 const InputSignal::group_type &group,
244 const InputSignal::slot_type &slot,
245 boost::signals2::connect_position at = boost::signals2::at_back
247 return defReceiver.connect(group, slot, at);
256 const InputSignal::extended_slot_type &slot,
257 boost::signals2::connect_position at = boost::signals2::at_back
259 return defReceiver.connect_extended(slot, at);
268 const InputSignal::group_type &group,
269 const InputSignal::extended_slot_type &slot,
270 boost::signals2::connect_position at = boost::signals2::at_back
272 return defReceiver.connect_extended(group, slot, at);
281 const InputSignal::group_type &group
283 defReceiver.disconnect(group);
291 template<
typename Slot>
293 defReceiver.disconnect(slotFunc);
299 defReceiver.disconnect_all_slots();
Responds to a poll event.
std::shared_ptr< EvdevInput > EvdevInputSptr
A shared pointer to a EvdevInput object.
A simple C++ interface to using Linux's epoll functions.
std::shared_ptr< InputHandlers > InputHandlersSptr
Shared pointer to a InputHandlers class.
boost::signals2::signal< void(EventTypeCode etc, std::int32_t value)> InputSignal
The signal type that will handle input events.
Combines an event type and an event code, as defined by libevdev, for the purpose of using a combinat...