#pragma once #include #include #include #include "api.h" namespace rawinput { class RawInputManager; } enum ButtonAnalogType { BAT_NONE = 0, BAT_POSITIVE = 1, BAT_NEGATIVE = 2, BAT_HS_UP = 3, BAT_HS_UPRIGHT = 4, BAT_HS_RIGHT = 5, BAT_HS_DOWNRIGHT = 6, BAT_HS_DOWN = 7, BAT_HS_DOWNLEFT = 8, BAT_HS_LEFT = 9, BAT_HS_UPLEFT = 10, BAT_HS_NEUTRAL = 11, BAT_MIDI_CTRL_PRECISION = 12, BAT_MIDI_CTRL_SINGLE = 13, BAT_MIDI_CTRL_ONOFF = 14, BAT_MIDI_PITCH_DOWN = 15, BAT_MIDI_PITCH_UP = 16, }; extern const char *ButtonAnalogTypeStr[]; class Button { private: std::vector