borrwoed a lot code from https://github.com/foriequal0/devterm_keyboard in order to optimize the trackball

This commit is contained in:
cuu
2021-12-16 20:41:37 +08:00
parent 1a1be01dbb
commit b1370d2124
18 changed files with 538 additions and 118 deletions

View File

@@ -0,0 +1,34 @@
#ifndef STATE_H
#define STATE_H
#include <bitset>
#include <array>
#include <USBComposite.h>
#include "debouncer.h"
enum class TrackballMode : uint8_t {
Wheel,
Mouse,
};
class State
{
public:
static const uint16_t MIDDLE_CLICK_TIMEOUT_MS = 0;
State();
void tick(uint8_t delta);
bool fn;
void pressMiddleClick();
bool releaseMiddleClick();
TrackballMode moveTrackball();
private:
bool middleClick;
Timeout<uint16_t, MIDDLE_CLICK_TIMEOUT_MS> middleClickTimeout;
};
#endif