forked from Dniel97/segatools
switched uint8_t -> bool in input, no pressure sense
This commit is contained in:
parent
1bc2fc141b
commit
c91ef4005a
@ -36,7 +36,7 @@ static HRESULT touch_handle_get_unit_board_ver(const struct touch_req *req);
|
|||||||
static HRESULT touch_handle_mystery1(const struct touch_req *req);
|
static HRESULT touch_handle_mystery1(const struct touch_req *req);
|
||||||
static HRESULT touch_handle_mystery2(const struct touch_req *req);
|
static HRESULT touch_handle_mystery2(const struct touch_req *req);
|
||||||
static HRESULT touch_handle_start_auto_scan(const struct touch_req *req);
|
static HRESULT touch_handle_start_auto_scan(const struct touch_req *req);
|
||||||
static void touch_res_auto_scan(const uint8_t *state);
|
static void touch_res_auto_scan(const bool *state);
|
||||||
|
|
||||||
uint8_t input_frame_count_0 = 0x7b;
|
uint8_t input_frame_count_0 = 0x7b;
|
||||||
uint8_t input_frame_count_1 = 0x7b;
|
uint8_t input_frame_count_1 = 0x7b;
|
||||||
@ -409,18 +409,18 @@ static HRESULT touch_handle_start_auto_scan(const struct touch_req *req)
|
|||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void touch_res_auto_scan(const uint8_t *state)
|
static void touch_res_auto_scan(const bool *state)
|
||||||
{
|
{
|
||||||
struct touch_input_frame frame0;
|
struct touch_input_frame frame0;
|
||||||
//struct touch_input_frame frame1;
|
//struct touch_input_frame frame1;
|
||||||
uint8_t data1[24] = { 0 };
|
uint8_t data[24] = { 0 };
|
||||||
uint8_t data2[9] = { 0x0d, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00 };
|
uint8_t data2[9] = { 0x0d, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00 };
|
||||||
|
|
||||||
frame0.cmd = 0x81;
|
frame0.cmd = 0x81;
|
||||||
frame0.count = input_frame_count_0++;
|
frame0.count = input_frame_count_0++;
|
||||||
input_frame_count_0 %= 0x7f;
|
input_frame_count_0 %= 0x7f;
|
||||||
// for now return no data
|
// for now return no data
|
||||||
memcpy(frame0.data1, data1, sizeof(data1));
|
memcpy(frame0.data1, data, sizeof(data));
|
||||||
memcpy(frame0.data2, data2, sizeof(data2));
|
memcpy(frame0.data2, data2, sizeof(data2));
|
||||||
frame0.checksum = 0;
|
frame0.checksum = 0;
|
||||||
frame0.checksum = calc_checksum(&frame0, sizeof(frame0));
|
frame0.checksum = calc_checksum(&frame0, sizeof(frame0));
|
||||||
|
@ -89,21 +89,21 @@ void mercury_io_touch_start(mercury_io_touch_callback_t callback)
|
|||||||
static unsigned int __stdcall mercury_io_touch_thread_proc(void *ctx)
|
static unsigned int __stdcall mercury_io_touch_thread_proc(void *ctx)
|
||||||
{
|
{
|
||||||
mercury_io_touch_callback_t callback;
|
mercury_io_touch_callback_t callback;
|
||||||
uint8_t pressure[240];
|
bool cellPressed[240];
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
callback = ctx;
|
callback = ctx;
|
||||||
|
|
||||||
while (!mercury_io_touch_stop_flag) {
|
while (!mercury_io_touch_stop_flag) {
|
||||||
for (i = 0 ; i < _countof(pressure) ; i++) {
|
for (i = 0 ; i < _countof(cellPressed) ; i++) {
|
||||||
if (GetAsyncKeyState(mercury_io_cfg.vk_cell[i]) & 0x8000) {
|
if (GetAsyncKeyState(mercury_io_cfg.vk_cell[i])) {
|
||||||
pressure[i] = 128;
|
cellPressed[i] = true;
|
||||||
} else {
|
} else {
|
||||||
pressure[i] = 0;
|
cellPressed[i] = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
callback(pressure);
|
callback(cellPressed);
|
||||||
Sleep(1);
|
Sleep(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ enum {
|
|||||||
MERCURY_IO_GAMEBTN_VOL_DOWN = 0x02,
|
MERCURY_IO_GAMEBTN_VOL_DOWN = 0x02,
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef void (*mercury_io_touch_callback_t)(const uint8_t *state);
|
typedef void (*mercury_io_touch_callback_t)(const bool *state);
|
||||||
/* Get the version of the Wacca IO API that this DLL supports. This
|
/* Get the version of the Wacca IO API that this DLL supports. This
|
||||||
function should return a positive 16-bit integer, where the high byte is
|
function should return a positive 16-bit integer, where the high byte is
|
||||||
the major version and the low byte is the minor version (as defined by the
|
the major version and the low byte is the minor version (as defined by the
|
||||||
|
Loading…
Reference in New Issue
Block a user