Files
AnyPS5/docs/dev/debt/libSceImeDialog.md

3.3 KiB

libSceImeDialog technical debt

Silent stubs

  • sceImeDialogInit (libSceImeDialog) shows no dialog: the text is typed on the host keyboard, which ImeTextInput forwards from the game window through libSceIme while no IME panel is open. Text, Backspace, Delete, Left, Right, Home and End edit the text, Enter accepts it (end status 0) and Escape cancels (end status 1). The controller cannot type, the title, placeholder, type and options are not shown or applied, and line breaks cannot be typed. While the dialog runs, key presses do not reach the keyboard-to-pad bindings of PadInput

Unknown function info

  • sceImeDialogForTestFunction, sceImeDialogGetCurrentStarState, sceImeDialogInitInternal, sceImeDialogSetPanelPosition (libSceImeDialog) - their signatures follow shadPS4, not measured on a console. They are declared solely to resolve known imports, sceImeDialogForTestFunction without parameters and the others with shadPS4's parameters; this is not an ABI claim, and every call throws.

  • sceImeDialogForceClose (libSceImeDialog) - not measured on a PS5: its int (void) signature and behaviour follow shadPS4 (PS4). It closes a running or finished dialog, as sceImeDialogTerm does, without writing the typed text to the title's buffer, which shadPS4 updates while typing and this library only on Enter, and returns 0x80bc0107 with no dialog open, the NotInUse code of SharpProspero, while this library's sceImeDialogTerm returns 0x80bc0002 in the same state. Closes when: measured on a PS5

  • sceImeDialogInit, sceImeDialogGetStatus, sceImeDialogGetResult, sceImeDialogAbort, sceImeDialogTerm (libSceImeDialog) - the statuses (none 0, running 1, finished 2), the end statuses (ok 0, user canceled 1, aborted 2) and the errors of sceImeDialogInit for an open dialog (0x80bc0001), a null parameter (0x80bc0031), a maximum text length outside 1 to 2048 (0x80bc0016) and a null text buffer (0x80bc0017) follow shadPS4; none is measured on a PS5. A result, abort or term on a dialog that is not finished, running or open returns 0x80bc0002, where shadPS4 returns 0x80bc0105 to 0x80bc0107, and sceImeDialogTerm also closes a running dialog, which shadPS4 refuses. The text reaches the title's buffer only when Enter accepts it

  • The following pending declarations have unverified signatures and behavior; they are parameterless import-resolution declarations and throw through NotImplemented_nid_no_patch: sceImeDialogInitInternalWithSubInfo.