// libSceConvertKeycode: keyboard type query. sceConvertKeycodeGetVirtualKeycode has an unverified signature, so it // only logs its raw arguments and reports failure without writing through any pointer. #include #include "SceTypes.hpp" #include "HitLog.hpp" #include "prx/libc/include/General.hpp" namespace { constexpr int kErrInvalidAddress = static_cast(0x80BC0031u); constexpr int kErrInvalidUserId = static_cast(0x80BC0010u); } // namespace extern "C" { int APS5_VABI sceConvertKeycodeGetImeKeyboardType(int32_t user_id, uint32_t* type) { if (type == nullptr) return kErrInvalidAddress; if (user_id < 0) return kErrInvalidUserId; *type = 0; return 0; } int APS5_VABI sceConvertKeycodeGetVirtualKeycode(std::uint64_t a0, std::uint64_t a1, std::uint64_t a2, std::uint64_t a3) { APS5_HIT("CONVERTKEYCODE", "sceConvertKeycodeGetVirtualKeycode args 0x%llx 0x%llx 0x%llx 0x%llx -> error (signature unknown)", static_cast(a0), static_cast(a1), static_cast(a2), static_cast(a3)); return kErrInvalidAddress; } }