OSK: allow device input during interception

This commit is contained in:
Megamouse 2022-04-19 22:30:20 +02:00
parent 9adab801ac
commit 0ff293707a
11 changed files with 89 additions and 93 deletions

View file

@ -304,9 +304,19 @@ error_code cellKbRead(u32 port_no, vm::ptr<CellKbData> data)
return CELL_KB_ERROR_NO_DEVICE;
KbData& current_data = handler.GetData(port_no);
data->led = current_data.led;
data->mkey = current_data.mkey;
data->len = std::min<s32>(CELL_KB_MAX_KEYCODES, current_data.len);
if (current_info.is_null_handler || (current_info.info & CELL_KB_INFO_INTERCEPTED))
{
data->led = 0;
data->mkey = 0;
data->len = 0;
}
else
{
data->led = current_data.led;
data->mkey = current_data.mkey;
data->len = std::min<s32>(CELL_KB_MAX_KEYCODES, current_data.len);
}
if (current_data.len > 0)
{