@Override public void onStartInputView(EditorInfo editorInfo, boolean restarting) { if (restarting) { return; } // The initialCapsMode docs say that you should generally just take a non-zero value to mean // "start out in caps mode": // http://developer.android.com/reference/android/view/inputmethod/EditorInfo.html#initialCapsMode mode.setShifted(editorInfo.initialCapsMode != 0); if ((editorInfo.inputType & InputType.TYPE_MASK_CLASS) != InputType.TYPE_CLASS_TEXT) { mode.setNumeric(); } }
@Override public View onCreateInputView() { popupKeyboardView = new PopupKeyboardView(this); popupKeyboardWindow = new PopupWindow(popupKeyboardView); view = new ExactypeView(this); mode.addModeChangeListener(view); feedbackWindow = new FeedbackWindow(this, view); vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); return view; }
public void onKeyTapped(final char tappedKey) { popupKeyboardWindow.dismiss(); enqueue( new Runnable() { @Override public void run() { Timer timer = new Timer(); final InputConnection inputConnection = getCurrentInputConnection(); if (inputConnection == null) { return; } inputConnection.commitText(Character.toString(tappedKey), 1); Timber.d("PERF: Committing a char took %s", timer); LoggingUtils.logCustom( new CustomEvent(PERF_EVENT).putCustomAttribute("Commit char ms", timer.getMs())); } }); mode.register(ExactypeMode.Event.INSERT_CHAR); }
public void onKeyboardModeSwitchRequested() { mode.register(ExactypeMode.Event.NEXT_MODE); }
public void onLongPress(float x, float y) { feedbackWindow.show(x, y); mode.register(ExactypeMode.Event.LONG_PRESS); }