- Home /
Windows Phone 8.1 TouchKeyboard problem
Hi, I am developing an application for Windows Store / Windows Phone 8.1 (Unity platform Windows Store, SDK Phone 8.1) and I have a problem with touch keyboard. I used the approach described here: http://answers.unity3d.com/questions/746682/how-to-use-and-test-the-virtual-keyboard-in-window.html (with few changes). The keyboard.text property does not work for me, so I use Input.inputString.
It works fine, but the problem is, by default I can write only Capital letters, if I want to write small caps, I have to shift down before every letter. Then the keyboard writes small cap, but immediately changes back to Capitals. Does anyone knows the solution to this problem, or is this just a Unity bug? I am using Unity 4.5.5f1.
Code I use to process keyboard input:
// to display the keyboard
public void ShowOnScreenKeyboard()
{
m_ActiveTextInput = this;
TouchScreenKeyboard keyboard = TouchScreenKeyboard.Open(
m_Text,
TouchScreenKeyboardType.Default,
false,
false,
false,
false,
PlaceholderString);
keyboard.active = true;
StartCoroutine("ProcessOnscreenKeyboardInput", keyboard);
}
//coroutine that processes input
private IEnumerator ProcessOnscreenKeyboardInput(TouchScreenKeyboard keyboard)
{
m_TouchscreenKeyboard = keyboard;
string text = m_Text;
float startTime = Time.time;
keyboard.active = true;
//wait for keyboard activation - just for sure, but sometimes keyboard really did not activate on time
while(keyboard.done && Time.time - startTime < 1f)
{
yield return null;
}
while (keyboard != null && !keyboard.done && m_ActiveTextInput == this && keyboard.active == true)
{
if (Input.inputString.Length > 0)
{
foreach (char c in Input.inputString)
{
if (c == '\b' && text.Length > 0)
{
// backspace: remove last char
text = text.Substring(0, text.Length - 1);
}
else
{
// add any other char to the string
text += c;
}
}
}
SetText(text); // displays written text on screen
yield return new WaitForEndOfFrame();
}
}
Answer by chucky-w · Nov 18, 2014 at 02:16 PM
Found out, it is a Unity bug currently resolved in Unity 4.6 beta
Your answer
Follow this Question
Related Questions
UWP Deployment Error :: DEP0001 : Unexpected Error: -2146958844 2 Answers
Build Universal Windows 10 apps. 0 Answers
BuildPipeline.BuildPlayer windows phone 8.1 0 Answers
Cannot bind to the target method 0 Answers
Windows app Splash Screen 0 Answers