summaryrefslogtreecommitdiffhomepage
path: root/Touchpad.h
blob: 0474d04910fa474ef6e61cf33bf2cef87a15d03d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once

#include <libevdev/libevdev.h>

#include <optional>

class Touchpad
{
public:
  Touchpad();

  bool is_valid();

  bool event_available();

  input_event get_event();

  bool event_is_button1(const input_event& ev);
  bool event_is_button2(const input_event& ev);

private:
  libevdev* m_dev = nullptr;
  int m_fd;
  bool m_valid;

  std::optional<input_event> m_ev;
};