From 351355b3a769d2b584733ad0e8924dfe75939fb6 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Sun, 2 Apr 2023 13:28:10 +0200 Subject: Launcher activity: Input box For trying the keyboard without having to mess with an other app. --- srcs/juloo.keyboard2/LauncherActivity.java | 32 ++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'srcs') diff --git a/srcs/juloo.keyboard2/LauncherActivity.java b/srcs/juloo.keyboard2/LauncherActivity.java index 83217a8..d54ff60 100644 --- a/srcs/juloo.keyboard2/LauncherActivity.java +++ b/srcs/juloo.keyboard2/LauncherActivity.java @@ -7,20 +7,52 @@ import android.content.res.Configuration; import android.os.Build; import android.os.Bundle; import android.provider.Settings; +import android.view.KeyCharacterMap; +import android.view.KeyEvent; import android.view.View; import android.widget.Button; +import android.widget.EditText; +import android.widget.TextView; public class LauncherActivity extends Activity { + /** Text is replaced when receiving key events. */ + TextView _tryhere_text; + EditText _tryhere_area; + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.launcher_activity); + _tryhere_text = (TextView)findViewById(R.id.launcher_tryhere_text); + _tryhere_area = (EditText)findViewById(R.id.launcher_tryhere_area); + _tryhere_area.addOnUnhandledKeyEventListener( + this.new Tryhere_OnUnhandledKeyEventListener()); } public void launch_imesettings(View _btn) { startActivity(new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS)); } + + final class Tryhere_OnUnhandledKeyEventListener implements View.OnUnhandledKeyEventListener + { + public boolean onUnhandledKeyEvent(View v, KeyEvent ev) + { + // Key release of modifiers would erase interesting data + if (KeyEvent.isModifierKey(ev.getKeyCode())) + return false; + StringBuilder s = new StringBuilder(); + if (ev.isAltPressed()) s.append("Alt+"); + if (ev.isShiftPressed()) s.append("Shift+"); + if (ev.isCtrlPressed()) s.append("Ctrl+"); + if (ev.isMetaPressed()) s.append("Meta+"); + // s.append(ev.getDisplayLabel()); + String kc = KeyEvent.keyCodeToString(ev.getKeyCode()); + s.append(kc.replaceFirst("^KEYCODE_", "")); + _tryhere_text.setText(s.toString()); + return true; + } + } } -- cgit v1.2.3