summaryrefslogtreecommitdiffhomepage
path: root/Touchpad.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Touchpad.cpp')
-rw-r--r--Touchpad.cpp7
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
}