segatools/swdcio/di-dev.h

31 lines
712 B
C
Raw Normal View History

2023-07-13 22:52:50 +00:00
#pragma once
#include <windows.h>
#include <dinput.h>
#include <stdint.h>
2024-09-30 18:23:28 +00:00
#include "swdcio/config.h"
2023-07-13 22:52:50 +00:00
union swdc_di_state {
DIJOYSTATE st;
uint8_t bytes[sizeof(DIJOYSTATE)];
};
2024-09-30 18:23:28 +00:00
HRESULT swdc_di_dev_init(
const struct swdc_di_config *cfg,
IDirectInputDevice8W *dev,
HWND wnd);
2023-07-13 22:52:50 +00:00
HRESULT swdc_di_dev_start(IDirectInputDevice8W *dev, HWND wnd);
HRESULT swdc_di_dev_poll(
IDirectInputDevice8W *dev,
HWND wnd,
union swdc_di_state *out);
2024-09-30 18:23:28 +00:00
HRESULT swdc_di_ffb_init(void);
void swdc_di_ffb_toggle(bool active);
void swdc_di_ffb_constant_force(uint8_t direction, uint8_t force);
void swdc_di_ffb_rumble(uint8_t force, uint8_t period);
void swdc_di_ffb_damper(uint8_t force);