diff options
Diffstat (limited to 'Touchpad.cpp')
-rw-r--r-- | Touchpad.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Touchpad.cpp b/Touchpad.cpp index 073fbde..5fe6bf4 100644 --- a/Touchpad.cpp +++ b/Touchpad.cpp @@ -36,6 +36,9 @@ bool Touchpad::is_valid() bool Touchpad::event_available() { + if (!m_valid) { + return false; + } struct pollfd fds{}; fds.fd = m_fd; fds.events = POLLIN; @@ -65,10 +68,10 @@ input_event Touchpad::get_event() bool Touchpad::event_is_button1(const input_event& ev) { - return ev.type == EV_KEY && ev.code == BTN_LEFT; + return ev.type == EV_KEY && ev.code == BTN_LEFT && ev.value == 0; // Press down } bool Touchpad::event_is_button2(const input_event& ev) { - return ev.type == EV_KEY && ev.code == BTN_RIGHT; + return ev.type == EV_KEY && ev.code == BTN_RIGHT && ev.value == 0; // Press down } |