public override Android.Views.InputMethods.IInputConnection OnCreateInputConnection(Android.Views.InputMethods.EditorInfo outAttrs) { IInputConnection conn = base.OnCreateInputConnection(outAttrs); outAttrs.ImeOptions &= ~(ImeFlags.NoEnterAction); return(conn); }
public static void ActionChosen(InputAction action, IInputConnection inputConnection) { //Java.Lang.String str = new Java.Lang.String(e.Key.ToString()); //CurrentInputConnection.CommitText(str, 1); switch (action.Type) { case InputAction.ActionType.TypeCharacter: /* * mString += letter; * * mString = ModifyInput(mString); * * bool forceUpperNext = mString.Length == 0 || mString.EndsWith(". "); * // Switch to lower case after each letter (unless we're in capslock. Don't ever switch away from CapsLock until the user manually switches) * if (mMode != ArrangementMode.CapsLock) * { * mMode = forceUpperNext ? ArrangementMode.UpperCase : ArrangementMode.LowerCase; * } */ inputConnection.CommitText(action.Character.ToString(), 1); break; case InputAction.ActionType.Backspace: // Backspace inputConnection.SendKeyEvent(new KeyEvent(KeyEventActions.Down, Android.Views.Keycode.Del)); break; case InputAction.ActionType.DeleteWord: // Delete whole word // First remove any trailing spaces /* * while (mString.Length > 0 && mString[mString.Length - 1] == ' ') * { * mString = mString.Remove(mString.Length - 1); * } * * if (mString.Length > 0) * { * int lastSpace = mString.LastIndexOf(' '); * if (lastSpace == -1) * { * mString = string.Empty; * } * else * { * mString = mString.Substring(0, lastSpace) + ' '; * } * } */ break; } //KeyEvent ke = new KeyEvent(KeyEventActions.Down, e.Keycode); //CurrentInputConnection.SendKeyEvent(ke); }
public void ComitAutofill() { ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(ApplicationContext); string value = prefs.GetString("Passw0rd", "No_Autofill"); if (value != "No_Autofill") { ic = CurrentInputConnection; ic.CommitText(value, value.Length); } ISharedPreferencesEditor editor = prefs.Edit(); editor.PutString("Passw0rd", "No_Autofill"); editor.Apply(); }
public void OnKey([GeneratedEnum] Android.Views.Keycode primaryCode, [GeneratedEnum] Android.Views.Keycode [] keyCodes) { IInputConnection ic = CurrentInputConnection; switch ((int)primaryCode) { case (int)Android.Views.Keycode.Del: //ic.SendKeyEvent(new KeyEvent(KeyEventActions.Down,Android.Views.Keycode.Del)); ic.DeleteSurroundingText(1, 0); break; case -1: caps = !caps; keyboard.SetShifted(caps); kv.InvalidateAllKeys(); break; case (int)Android.Views.Keycode.Enter: ic.SendKeyEvent(new KeyEvent(KeyEventActions.Down, Android.Views.Keycode.Enter)); break; case (int)Android.Views.Keycode.Button9: try { onREC(); } catch (System.Exception ex) { Toast.MakeText(this, "PSVITA Connected", ToastLength.Long).Show(); Log.Info("Exception: ", ex.ToString()); } break; default: char code = (char)primaryCode; if (Character.IsLetter(code) && caps) { code = Character.ToUpperCase(code); } ic.CommitText(Java.Lang.String.ValueOf(code), 1); break; } }
public void OnKey([GeneratedEnum] Android.Views.Keycode primaryCode, [GeneratedEnum] Android.Views.Keycode[] keyCodes) { ic = CurrentInputConnection; if (ic == null) { return; } switch (primaryCode) { case Android.Views.Keycode.Del: string selectedText = ic.GetSelectedText(GetTextFlags.None); if (string.IsNullOrEmpty(selectedText)) { ic.DeleteSurroundingText(1, 0); } else { ic.CommitText("", 1); } break; case Android.Views.Keycode.Unknown: TextData.LastText = string.Empty; Intent intent = new Intent(); intent.SetClass(this, typeof(CameraActivity)); intent.SetFlags(ActivityFlags.NewTask); StartActivity(intent); break; default: char code = (char)primaryCode; ic.CommitText(code.ToString(), 1); break; } }
public TextBoxInputConnection(TextBoxView targetView, IInputConnection editableInputConnection) : base(targetView, fullEditor: true) { _textBoxView = targetView; _editableInputConnection = editableInputConnection as BaseInputConnection; }
public ZanyInputConnection(IInputConnection target, bool mutable) : base(target, mutable) { }
public CustomInputConnectionWrapper(IInputConnection target, bool mutable) : base(target, mutable) { }
private void keySystem(int a, int b, int c, int d, int e, int f, int g, int h) { ic = CurrentInputConnection; //DPAD + SEL STA if (a == btnU) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bUp); ic.SendKeyEvent(ks); } else { KeyEvent ks = new KeyEvent(KeyEventActions.Up, bUp); ic.SendKeyEvent(ks); } if (a == btnR) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bRi); ic.SendKeyEvent(ks); } else { KeyEvent ks = new KeyEvent(KeyEventActions.Up, bRi); ic.SendKeyEvent(ks); } if (a == btnD) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bDo); ic.SendKeyEvent(ks); } else { KeyEvent ks = new KeyEvent(KeyEventActions.Up, bDo); ic.SendKeyEvent(ks); } if (a == btnL) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bLe); ic.SendKeyEvent(ks); } else { KeyEvent ks = new KeyEvent(KeyEventActions.Up, bLe); ic.SendKeyEvent(ks); } if (a == btnSel) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bSe); ic.SendKeyEvent(ks); } else { KeyEvent ks = new KeyEvent(KeyEventActions.Up, bSe); ic.SendKeyEvent(ks); } if (a == btnSta) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bSt); ic.SendKeyEvent(ks); } else { KeyEvent ks = new KeyEvent(KeyEventActions.Up, bSt); ic.SendKeyEvent(ks); } //Combos (Dpad & Dpad + Sel or Sta) if (a == btnLU) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bLe); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bUp); ic.SendKeyEvent(kd); } if (a == btnLD) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bLe); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bDo); ic.SendKeyEvent(kd); } if (a == btnRU) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bRi); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bUp); ic.SendKeyEvent(kd); } if (a == btnRD) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bRi); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bDo); ic.SendKeyEvent(kd); } if (a == btnUSt) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bUp); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bSt); ic.SendKeyEvent(kd); } if (a == btnUSe) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bSe); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bUp); ic.SendKeyEvent(kd); } if (a == btnDSt) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bDo); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bSt); ic.SendKeyEvent(kd); } if (a == btnDSe) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bDo); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bSe); ic.SendKeyEvent(kd); } if (a == btnLSt) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bLe); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bSt); ic.SendKeyEvent(kd); } if (a == btnLSe) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bLe); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bSe); ic.SendKeyEvent(kd); } if (a == btnRSt) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bRi); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bSt); ic.SendKeyEvent(kd); } if (a == btnRSe) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bRi); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bSe); ic.SendKeyEvent(kd); } if (a == btnSeSt) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bSe); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bSt); ic.SendKeyEvent(kd); } //Triple (Dpad + Sel or Sta) if (a == btnLUSt) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bLe); ic.SendKeyEvent(ka); KeyEvent ks = new KeyEvent(KeyEventActions.Down, bSt); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bUp); ic.SendKeyEvent(kd); } if (a == btnLUSe) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bLe); ic.SendKeyEvent(ka); KeyEvent ks = new KeyEvent(KeyEventActions.Down, bSe); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bUp); ic.SendKeyEvent(kd); } if (a == btnLDSt) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bLe); ic.SendKeyEvent(ka); KeyEvent ks = new KeyEvent(KeyEventActions.Down, bDo); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bSt); ic.SendKeyEvent(kd); } if (a == btnLDSe) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bLe); ic.SendKeyEvent(ka); KeyEvent ks = new KeyEvent(KeyEventActions.Down, bSe); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bDo); ic.SendKeyEvent(kd); } if (a == btnRUSt) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bRi); ic.SendKeyEvent(ka); KeyEvent ks = new KeyEvent(KeyEventActions.Down, bUp); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bSt); ic.SendKeyEvent(kd); } if (a == btnRUSe) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bRi); ic.SendKeyEvent(ka); KeyEvent ks = new KeyEvent(KeyEventActions.Down, bUp); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bSe); ic.SendKeyEvent(kd); } if (a == btnRDSt) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bRi); ic.SendKeyEvent(ka); KeyEvent ks = new KeyEvent(KeyEventActions.Down, bDo); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bSt); ic.SendKeyEvent(kd); } if (a == btnRDSe) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bRi); ic.SendKeyEvent(ka); KeyEvent ks = new KeyEvent(KeyEventActions.Down, bDo); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bSe); ic.SendKeyEvent(kd); } //TCXS + L R if (b == 16) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bT); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, bT); ic.SendKeyEvent(ka); } if (b == 32) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bC); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, bC); ic.SendKeyEvent(ka); } if (b == 64) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bX); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, bX); ic.SendKeyEvent(ka); } if (b == 128) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bS); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, bS); ic.SendKeyEvent(ka); } if (b == 1) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bLt); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, bLt); ic.SendKeyEvent(ka); } if (b == 2) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bRt); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, bRt); ic.SendKeyEvent(ka); } if (b == btnXC) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bX); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bC); ic.SendKeyEvent(kd); } if (b == btnXS) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bX); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bS); ic.SendKeyEvent(kd); } if (b == btnCT) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bC); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bT); ic.SendKeyEvent(kd); } if (b == btnTS) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bT); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bS); ic.SendKeyEvent(kd); } if (b == btnXLt) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bX); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bLt); ic.SendKeyEvent(kd); } if (b == btnXRt) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bX); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bRt); ic.SendKeyEvent(kd); } if (b == btnCLt) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bC); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bLt); ic.SendKeyEvent(kd); } if (b == btnCRt) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bC); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bRt); ic.SendKeyEvent(kd); } if (b == btnTLt) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bT); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bLt); ic.SendKeyEvent(kd); } if (b == btnTRt) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bT); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bRt); ic.SendKeyEvent(kd); } if (b == btnSLt) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bS); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bLt); ic.SendKeyEvent(kd); } if (b == btnSRt) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bS); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bRt); ic.SendKeyEvent(kd); } if (b == btnLR) { KeyEvent ks = new KeyEvent(KeyEventActions.Down, bLt); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bRt); ic.SendKeyEvent(kd); } if (b == btnLRC) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bC); ic.SendKeyEvent(ka); KeyEvent ks = new KeyEvent(KeyEventActions.Down, bLt); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bRt); ic.SendKeyEvent(kd); } if (b == btnLRT) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bT); ic.SendKeyEvent(ka); KeyEvent ks = new KeyEvent(KeyEventActions.Down, bLt); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bRt); ic.SendKeyEvent(kd); } if (b == btnLRS) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bS); ic.SendKeyEvent(ka); KeyEvent ks = new KeyEvent(KeyEventActions.Down, bLt); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bRt); ic.SendKeyEvent(kd); } if (b == btnLRX) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, bX); ic.SendKeyEvent(ka); KeyEvent ks = new KeyEvent(KeyEventActions.Down, bLt); ic.SendKeyEvent(ks); KeyEvent kd = new KeyEvent(KeyEventActions.Down, bRt); ic.SendKeyEvent(kd); } //Analogs if (e <= 50 && e >= 0) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, aLl); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, aLl); ic.SendKeyEvent(ka); } if (e >= 200 && e <= 255) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, aLr); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, aLr); ic.SendKeyEvent(ka); } if (f <= 50 && f >= 0) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, aLu); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, aLu); ic.SendKeyEvent(ka); } if (f >= 200 && f <= 255) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, aLd); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, aLd); ic.SendKeyEvent(ka); } //Analogs if (g <= 50 && g >= 0) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, aRl); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, aRl); ic.SendKeyEvent(ka); } if (g >= 200 && g <= 255) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, aRr); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, aRr); ic.SendKeyEvent(ka); } if (h <= 50 && g >= 0) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, aRu); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, aRu); ic.SendKeyEvent(ka); } if (h >= 200 && h <= 255) { KeyEvent ka = new KeyEvent(KeyEventActions.Down, aRd); ic.SendKeyEvent(ka); } else { KeyEvent ka = new KeyEvent(KeyEventActions.Up, aRd); ic.SendKeyEvent(ka); } }
public KeyStrokeListener(EditorField view, IInputConnection target) : base(target, true) { this.view = view; }
public CustomInputConnection(IInputConnection target, bool mutable, NoCursorMovingEditText noCursorMovingEditText) : base(target, mutable) { this.noCursorMovingEditText = noCursorMovingEditText; }
public void OnKey([GeneratedEnum] Android.Views.Keycode primaryCode, [GeneratedEnum] Android.Views.Keycode[] keyCodes) //Main keyboard input method { ic = CurrentInputConnection; //to get current input connection switch (primaryCode) { case (Android.Views.Keycode.Del): selectedText = ic.GetSelectedText(0); if (string.IsNullOrEmpty(selectedText)) { ic.DeleteSurroundingText(1, 0); } else { ic.CommitText(string.Empty, 1); } break; case (Android.Views.Keycode.CapsLock): //To toggle caps lock if (!CapsFlag) //caps lock was off { CapsKeyboard = new Keyboard(this, Resource.Xml.caps_qwerty); kv.Keyboard = CapsKeyboard; kv.OnKeyboardActionListener = this; CapsFlag = true; } else //caps lock was already onon { kv.Keyboard = keyboard; kv.OnKeyboardActionListener = this; CapsFlag = false; } break; case (Android.Views.Keycode.S): //this is because ASCII value 115 for s is same as android enum for caps lock { ic.CommitText("s", 1); break; } case (Android.Views.Keycode.ButtonA): //this is because ASCII value 115 for s is same as android enum for caps lock { ic.CommitText("/", 1); break; } case (Android.Views.Keycode.C): //this is because ASCII value 115 for C (caps) is same as android enum for backspace { ic.CommitText("C", 1); break; } case (Android.Views.Keycode.Num3): //actually this is done sbutton handling , as i am using Code=10 for my done button, which is code for unused num3 { ic.PerformEditorAction(ImeAction.Send); ic.PerformEditorAction(ImeAction.Go); ic.PerformEditorAction(ImeAction.Done); SplSession.Close(); //closing spell check session break; } default: if ((int)primaryCode == 1115) { if (!SymbolsFlag) //symbol view was off { SymbolsKeyboard = new Keyboard(this, Resource.Xml.Symbols); kv.Keyboard = SymbolsKeyboard; kv.OnKeyboardActionListener = this; SymbolsFlag = true; } else //Symbol view was on { kv.Keyboard = keyboard; kv.OnKeyboardActionListener = this; SymbolsFlag = false; } break; } char code = (char)(primaryCode); ic.CommitText(code.ToString(), 1); // to provides the keystroke to input area according to ascai value of code break; } }