Add support for inline software keyboard (#1868)
* Add background mode configuration to SoftwareKeyboardApplet * Add placeholder text generator for Software Keyboard in background mode * Add stub for GetIndirectLayerImageMap * Fix default state of DecidedCancel response * Add GUI text input to Software Keyboard in background mode * Fix graphical glitch when Inline Software Keyboard appears * Improve readability of InlineResponses class * Improve code styling and fix compiler warnings * Replace ServiceDisplay log class by ServiceVi * Replace static readonly by const * Add proper finalization to the keyboard applet in inline mode * Rename constants to start with uppercase * Fix inline keyboard not working with some games * Improve code readability * Fix code styling
This commit is contained in:
parent
b81f19613f
commit
e57b140429
10 changed files with 770 additions and 41 deletions
|
@ -1,4 +1,5 @@
|
|||
using Ryujinx.Common;
|
||||
using Ryujinx.Common.Logging;
|
||||
using Ryujinx.Cpu;
|
||||
using Ryujinx.HLE.HOS.Ipc;
|
||||
using Ryujinx.HLE.HOS.Kernel.Common;
|
||||
|
@ -238,6 +239,24 @@ namespace Ryujinx.HLE.HOS.Services.Vi.RootService
|
|||
return null;
|
||||
}
|
||||
|
||||
[Command(2450)]
|
||||
// GetIndirectLayerImageMap(s64 width, s64 height, u64 handle, nn::applet::AppletResourceUserId, pid) -> (s64, s64, buffer<bytes, 0x46>)
|
||||
public ResultCode GetIndirectLayerImageMap(ServiceCtx context)
|
||||
{
|
||||
// The size of the layer buffer should be an aligned multiple of width * height
|
||||
// because it was created using GetIndirectLayerImageRequiredMemoryInfo as a guide.
|
||||
|
||||
long layerBuffPosition = context.Request.ReceiveBuff[0].Position;
|
||||
long layerBuffSize = context.Request.ReceiveBuff[0].Size;
|
||||
|
||||
// Fill the layer with zeros.
|
||||
context.Memory.Fill((ulong)layerBuffPosition, (ulong)layerBuffSize, 0x00);
|
||||
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceVi);
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
[Command(2460)]
|
||||
// GetIndirectLayerImageRequiredMemoryInfo(u64 width, u64 height) -> (u64 size, u64 alignment)
|
||||
public ResultCode GetIndirectLayerImageRequiredMemoryInfo(ServiceCtx context)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue