51 lines
1.5 KiB
C++
51 lines
1.5 KiB
C++
#pragma once
|
|
|
|
#include "4J_Input.h"
|
|
#include <sysutil/sysutil_common.h> // cellSysutilRegisterCallback
|
|
#include <sysutil/sysutil_oskdialog.h > // cellOskDialogUnloadAsync
|
|
#include <sysutil/sysutil_oskdialog_ext.h> // cellOskDialogExtRegisterKeyboardEventHookCallback
|
|
#include <sysutil/sysutil_sysparam.h> // cellSysutilGetSystemParamInt
|
|
#include <cell/sysmodule.h> // SYS_MEMORY_CONTAINER_ID_INVALID
|
|
|
|
class CKeyboard
|
|
{
|
|
public:
|
|
// PIEBOT: m_iMode is supposed to be using eKeyboardProcessState
|
|
// I'll leave that work to someone else.
|
|
enum eKeyboardProcessState
|
|
{
|
|
};
|
|
|
|
CKeyboard();
|
|
|
|
void Tick();
|
|
void GetText(uint16_t *UTF16String);
|
|
EKeyboardResult RequestKeyboard(LPCWSTR Title, LPCWSTR Text, DWORD dwPad, UINT uiMaxChars, int( *Func)(LPVOID,const bool),LPVOID lpParam,C_4JInput::EKeyboardMode eMode);
|
|
void DestroyKeyboard();
|
|
|
|
void register_osk_callback();
|
|
static bool OSK_KeyhookCallback(CellOskDialogKeyMessage *keyMessage, unsigned int *action, void *pActionInfo);
|
|
static void KeyboardEventsCallback(uint64_t status, uint64_t param, CKeyboard* userdata);
|
|
void SetKeyboardLanguage();
|
|
|
|
void SetMode(int mode);
|
|
CKeyboard *GetInstance();
|
|
int GetMode();
|
|
private:
|
|
int m_iMode;
|
|
|
|
int (*m_pFunc)(LPVOID, const bool);
|
|
LPVOID m_lpParam;
|
|
CellOskDialogParam m_pDialogParam;
|
|
float m_fX;
|
|
float m_fY;
|
|
CellOskDialogInputFieldInfo inputFieldInfo;
|
|
|
|
CellOskDialogCallbackReturnParam m_pDialogReturn;
|
|
uint16_t *m_pText[513];
|
|
|
|
int m_iLanguage;
|
|
|
|
CKeyboard *m_pInstance;
|
|
int m_pTickCountdown;
|
|
}; |