From c2146ffe697cbfb7f4eba8790808caecc3226684 Mon Sep 17 00:00:00 2001 From: Eric Seidel Date: Fri, 7 Aug 2015 11:26:01 -0700 Subject: [PATCH] Make it possible to type numbers in Sky I must be holding it wrong. This seems excessively low level for what we're trying to do. Partial fix for https://github.com/domokit/sky_engine/issues/466 @abarth --- .../mojo/keyboard/InputConnectionAdaptor.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/services/keyboard/src/org/chromium/mojo/keyboard/InputConnectionAdaptor.java b/services/keyboard/src/org/chromium/mojo/keyboard/InputConnectionAdaptor.java index 42bdd57f180..a3cdc61a02f 100644 --- a/services/keyboard/src/org/chromium/mojo/keyboard/InputConnectionAdaptor.java +++ b/services/keyboard/src/org/chromium/mojo/keyboard/InputConnectionAdaptor.java @@ -4,7 +4,10 @@ package org.chromium.mojo.keyboard; +import java.lang.StringBuilder; + import android.view.View; +import android.view.KeyEvent; import android.view.inputmethod.BaseInputConnection; import android.view.inputmethod.CompletionInfo; import android.view.inputmethod.CorrectionInfo; @@ -71,4 +74,14 @@ public class InputConnectionAdaptor extends BaseInputConnection { mClient.setSelection(start, end); return super.setSelection(start, end); } + + // Number keys come through as key events instead of commitText!? + @Override + public boolean sendKeyEvent(KeyEvent event) { + if (event.getAction() == KeyEvent.ACTION_UP) { + // 1 appears to always be the value for newCursorPosition? + mClient.commitText(String.valueOf(event.getNumber()), 1); + } + return super.sendKeyEvent(event); + } }