feat: keyboard modes
This commit is contained in:
1 parent
69d6a51ad5
commit
f7f0619c39
3 files changed
+37
-2
No files matched your search
@@ -39,11 +39,44 @@ C_4JInput::EKeyboardResult CKeyboard::RequestKeyboard(LPCWSTR uiTitle, LPCWSTR u
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch (eMode)
|
||||||
|
{
|
||||||
|
//str1k3r - look at xam.h for the modes
|
||||||
|
case C_4JInput::EKeyboardMode_Numeric:
|
||||||
|
keyboardMode = VKBD_LATIN_NUMERIC;
|
||||||
|
break;
|
||||||
|
case C_4JInput::EKeyboardMode_Password:
|
||||||
|
keyboardMode = VKBD_LATIN_PASSWORD;
|
||||||
|
break;
|
||||||
|
//str1k3r - Alphabet and Full need multi lang support
|
||||||
|
case C_4JInput::EKeyboardMode_Alphabet:
|
||||||
|
keyboardMode = VKBD_LATIN_ALPHABET;
|
||||||
|
break;
|
||||||
|
case C_4JInput::EKeyboardMode_Full:
|
||||||
|
keyboardMode = VKBD_LATIN_FULL;
|
||||||
|
break;
|
||||||
|
case C_4JInput::EKeyboardMode_Alphabet_Extended:
|
||||||
|
keyboardMode = VKBD_LATIN_EXTENDED;
|
||||||
|
break;
|
||||||
|
case C_4JInput::EKeyboardMode_IP_Address:
|
||||||
|
keyboardMode = VKBD_LATIN_IP_ADDRESS;
|
||||||
|
break;
|
||||||
|
case C_4JInput::EKeyboardMode_Phone:
|
||||||
|
keyboardMode = VKBD_LATIN_PHONE;
|
||||||
|
break;
|
||||||
|
case C_4JInput::EKeyboardMode_Email:
|
||||||
|
keyboardMode = VKBD_LATIN_EMAIL;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
keyboardMode = VKBD_DEFAULT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
ZeroMemory(&KeyboardOverlap, sizeof(XOVERLAPPED));
|
ZeroMemory(&KeyboardOverlap, sizeof(XOVERLAPPED));
|
||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
DWORD result = XShowKeyboardUI(LockedProfile, 0, uiText, uiTitle, uiDesc, this->pwchResult, this->uiMaxChars, &KeyboardOverlap);
|
DWORD result = XShowKeyboardUI(LockedProfile, keyboardMode, uiText, uiTitle, uiDesc, this->pwchResult, this->uiMaxChars, &KeyboardOverlap);
|
||||||
if (result == ERROR_IO_PENDING)
|
if (result == ERROR_IO_PENDING)
|
||||||
break;
|
break;
|
||||||
if (result != ERROR_ACCESS_DENIED)
|
if (result != ERROR_ACCESS_DENIED)
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ private:
|
|||||||
C_4JInput::EKeyboardResult eState;
|
C_4JInput::EKeyboardResult eState;
|
||||||
|
|
||||||
int iPad;
|
int iPad;
|
||||||
|
int keyboardMode;
|
||||||
UINT uiMaxChars;
|
UINT uiMaxChars;
|
||||||
WCHAR *pwchResult;
|
WCHAR *pwchResult;
|
||||||
bool bActive;
|
bool bActive;
|
||||||
|
|||||||
@@ -65,7 +65,8 @@ public:
|
|||||||
EKeyboardMode_Full,
|
EKeyboardMode_Full,
|
||||||
EKeyboardMode_Alphabet_Extended,
|
EKeyboardMode_Alphabet_Extended,
|
||||||
EKeyboardMode_IP_Address,
|
EKeyboardMode_IP_Address,
|
||||||
EKeyboardMode_Phone
|
EKeyboardMode_Phone,
|
||||||
|
EKeyboardMode_Email
|
||||||
};
|
};
|
||||||
|
|
||||||
void Initialise( int iInputStateC, unsigned char ucMapC,unsigned char ucActionC, unsigned char ucMenuActionC );
|
void Initialise( int iInputStateC, unsigned char ucMapC,unsigned char ucActionC, unsigned char ucMenuActionC );
|
||||||
|
|||||||
Reference in new issue
Block a user