#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include "scanservices_utils.h" static const char kDevInput[] = "/dev/input/event0"; #define MAX_EVENTS 10 namespace huagao { class Keyboard { public: Keyboard(std::function buttonevent); ~Keyboard(); void init(); private: int mInputFd; int mEpId; struct epoll_event ev; struct epoll_event events[MAX_EVENTS]; std::thread pollthread; char buffer[sizeof(input_event)]; void poll(); void doInput(const epoll_event *ev); bool b_run =false; bool b_lowpwoer = false; private: std::function m_event; }; } // namespace huagao