mirror of
https://github.com/CTCaer/hekate
synced 2024-12-22 19:31:12 +00:00
nyx: input: add Sio support (for Hoag)
This commit is contained in:
parent
54b054c940
commit
7df76bff4a
1 changed files with 29 additions and 5 deletions
|
@ -473,7 +473,7 @@ static bool _jc_virt_mouse_read(lv_indev_data_t *data)
|
||||||
gfx_con_getpos(&gfx_con.savedx, &gfx_con.savedy);
|
gfx_con_getpos(&gfx_con.savedx, &gfx_con.savedy);
|
||||||
gfx_con_setpos(32, 630);
|
gfx_con_setpos(32, 630);
|
||||||
gfx_con.fntsz = 8;
|
gfx_con.fntsz = 8;
|
||||||
gfx_printf("x: %4X, y: %4X | b: %06X | bt: %d %0d | cx: %03X - %03x, cy: %03X - %03x",
|
gfx_printf("x: %4X, y: %4X | b: %06X | bt: %d %d | cx: %03X - %03x, cy: %03X - %03x",
|
||||||
jc_pad->lstick_x, jc_pad->lstick_y, jc_pad->buttons,
|
jc_pad->lstick_x, jc_pad->lstick_y, jc_pad->buttons,
|
||||||
jc_pad->batt_info_l, jc_pad->batt_info_r,
|
jc_pad->batt_info_l, jc_pad->batt_info_r,
|
||||||
jc_drv_ctx.cx_min, jc_drv_ctx.cx_max, jc_drv_ctx.cy_min, jc_drv_ctx.cy_max);
|
jc_drv_ctx.cx_min, jc_drv_ctx.cx_max, jc_drv_ctx.cy_min, jc_drv_ctx.cy_max);
|
||||||
|
@ -497,9 +497,21 @@ static bool _jc_virt_mouse_read(lv_indev_data_t *data)
|
||||||
if (jc_pad->lstick_y <= jc_drv_ctx.cy_max && jc_pad->lstick_y >= jc_drv_ctx.cy_min)
|
if (jc_pad->lstick_y <= jc_drv_ctx.cy_max && jc_pad->lstick_y >= jc_drv_ctx.cy_min)
|
||||||
jc_drv_ctx.pos_y += 0;
|
jc_drv_ctx.pos_y += 0;
|
||||||
else if (jc_pad->lstick_y > jc_drv_ctx.cy_max)
|
else if (jc_pad->lstick_y > jc_drv_ctx.cy_max)
|
||||||
jc_drv_ctx.pos_y -= ((jc_pad->lstick_y - jc_drv_ctx.cy_max) / 30);
|
{
|
||||||
|
s16 val = (jc_pad->lstick_y - jc_drv_ctx.cy_max) / 30;
|
||||||
|
// Hoag has inverted Y axis.
|
||||||
|
if (jc_pad->sio_mode)
|
||||||
|
val *= -1;
|
||||||
|
jc_drv_ctx.pos_y -= val;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
jc_drv_ctx.pos_y += ((jc_drv_ctx.cy_min - jc_pad->lstick_y) / 30);
|
{
|
||||||
|
s16 val = (jc_drv_ctx.cy_min - jc_pad->lstick_y) / 30;
|
||||||
|
// Hoag has inverted Y axis.
|
||||||
|
if (jc_pad->sio_mode)
|
||||||
|
val *= -1;
|
||||||
|
jc_drv_ctx.pos_y += val;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -513,9 +525,21 @@ static bool _jc_virt_mouse_read(lv_indev_data_t *data)
|
||||||
if (jc_pad->rstick_y <= jc_drv_ctx.cy_max && jc_pad->rstick_y >= jc_drv_ctx.cy_min)
|
if (jc_pad->rstick_y <= jc_drv_ctx.cy_max && jc_pad->rstick_y >= jc_drv_ctx.cy_min)
|
||||||
jc_drv_ctx.pos_y += 0;
|
jc_drv_ctx.pos_y += 0;
|
||||||
else if (jc_pad->rstick_y > jc_drv_ctx.cy_max)
|
else if (jc_pad->rstick_y > jc_drv_ctx.cy_max)
|
||||||
jc_drv_ctx.pos_y -= ((jc_pad->rstick_y - jc_drv_ctx.cy_max) / 30);
|
{
|
||||||
|
s16 val = (jc_pad->rstick_y - jc_drv_ctx.cy_max) / 30;
|
||||||
|
// Hoag has inverted Y axis.
|
||||||
|
if (jc_pad->sio_mode)
|
||||||
|
val *= -1;
|
||||||
|
jc_drv_ctx.pos_y -= val;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
jc_drv_ctx.pos_y += ((jc_drv_ctx.cy_min - jc_pad->rstick_y) / 30);
|
{
|
||||||
|
s16 val = (jc_drv_ctx.cy_min - jc_pad->rstick_y) / 30;
|
||||||
|
// Hoag has inverted Y axis.
|
||||||
|
if (jc_pad->sio_mode)
|
||||||
|
val *= -1;
|
||||||
|
jc_drv_ctx.pos_y += val;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure value inside screen limits.
|
// Ensure value inside screen limits.
|
||||||
|
|
Loading…
Reference in a new issue