Skip to content

Commit 10c1bbc

Browse files
author
Oskari Leppäaho
committed
Fix number keys on password field
Unity ate the input events for Google Keyboard number keys on top of the keyboard on password fields.
1 parent 17bba8b commit 10c1bbc

3 files changed

Lines changed: 45 additions & 0 deletions

File tree

216 Bytes
Binary file not shown.

release/NativeEditPlugin/scripts/NativeEditBox.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,10 @@ void UpdateForceKeyeventForAndroid()
391391
{
392392
this.ForceSendKeydown_Android("enter");
393393
}
394+
else
395+
{
396+
this.ForceSendKeydown_Android(Input.inputString);
397+
}
394398
}
395399
}
396400
}

src/androidProj/nativeeditplugin/src/main/java/com/bkmin/android/EditBox.java

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,7 @@ public void OnForceAndroidKeyDown(String strKey)
463463
if (!this.isFocused()) return;
464464

465465
// Need to force fire key event of backspace and enter because Unity eats them and never return back to plugin.
466+
// Same happens on number keys on top of the keyboard with Google Keyboard on password fields.
466467
int keyCode = -1;
467468
if (strKey.equalsIgnoreCase("backspace"))
468469
{
@@ -472,6 +473,46 @@ else if (strKey.equalsIgnoreCase("enter"))
472473
{
473474
keyCode = KeyEvent.KEYCODE_ENTER;
474475
}
476+
else if (strKey.equals("0"))
477+
{
478+
keyCode = KeyEvent.KEYCODE_0;
479+
}
480+
else if (strKey.equals("1"))
481+
{
482+
keyCode = KeyEvent.KEYCODE_1;
483+
}
484+
else if (strKey.equals("2"))
485+
{
486+
keyCode = KeyEvent.KEYCODE_2;
487+
}
488+
else if (strKey.equals("3"))
489+
{
490+
keyCode = KeyEvent.KEYCODE_3;
491+
}
492+
else if (strKey.equals("4"))
493+
{
494+
keyCode = KeyEvent.KEYCODE_4;
495+
}
496+
else if (strKey.equals("5"))
497+
{
498+
keyCode = KeyEvent.KEYCODE_5;
499+
}
500+
else if (strKey.equals("6"))
501+
{
502+
keyCode = KeyEvent.KEYCODE_6;
503+
}
504+
else if (strKey.equals("7"))
505+
{
506+
keyCode = KeyEvent.KEYCODE_7;
507+
}
508+
else if (strKey.equals("8"))
509+
{
510+
keyCode = KeyEvent.KEYCODE_8;
511+
}
512+
else if (strKey.equals("9"))
513+
{
514+
keyCode = KeyEvent.KEYCODE_9;
515+
}
475516
if (keyCode > 0)
476517
{
477518
KeyEvent ke = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);

0 commit comments

Comments
 (0)