private static long release(long state, int what, long mask, long pressed, long released , long used, android.view.KeyEvent @event) { switch (@event.getKeyCharacterMap().getModifierBehavior()) { case android.view.KeyCharacterMap.MODIFIER_BEHAVIOR_CHORDED_OR_TOGGLED: { if ((state & used) != 0) { state &= ~mask; } else { if ((state & pressed) != 0) { state |= what | released; } } break; } default: { state &= ~mask; break; } } return(state); }
private static void dispatchKeyEvent(android.view.InputHandler inputHandler, android.view.KeyEvent @event, long finishedToken) { android.view.InputQueue.FinishedCallback finishedCallback = android.view.InputQueue .FinishedCallback.obtain(finishedToken); inputHandler.handleKey(@event, finishedCallback); }
public override bool onKeyUp(int keyCode, android.view.KeyEvent @event) { bool a = mLetters.onKeyUp(keyCode, @event); bool b = mDigits.onKeyUp(keyCode, @event); return(a || b); }
public override bool onKeyDown(android.view.View view, android.text.Editable content , int keyCode, android.view.KeyEvent @event) { bool handled; switch (keyCode) { case android.view.KeyEvent.KEYCODE_DEL: { handled = backspace(view, content, keyCode, @event); break; } case android.view.KeyEvent.KEYCODE_FORWARD_DEL: { handled = forwardDelete(view, content, keyCode, @event); break; } default: { handled = false; break; } } if (handled) { adjustMetaAfterKeypress(content); } return(base.onKeyDown(view, content, keyCode, @event)); }
public virtual bool onKeyOther(android.view.View view, android.text.Editable content , android.view.KeyEvent @event) { if (@event.getAction() != android.view.KeyEvent.ACTION_MULTIPLE || @event.getKeyCode () != android.view.KeyEvent.KEYCODE_UNKNOWN) { // Not something we are interested in. return(false); } int selectionStart = android.text.Selection.getSelectionStart(content); int selectionEnd = android.text.Selection.getSelectionEnd(content); if (selectionEnd < selectionStart) { int temp = selectionEnd; selectionEnd = selectionStart; selectionStart = temp; } java.lang.CharSequence text = java.lang.CharSequenceProxy.Wrap(@event.getCharacters ()); if (text == null) { return(false); } content.replace(selectionStart, selectionEnd, text); return(true); }
public override bool dispatchKeyEvent(android.view.KeyEvent @event) { if (@event.getKeyCode() == android.view.KeyEvent.KEYCODE_MENU) { if (@event.getAction() == android.view.KeyEvent.ACTION_DOWN && @event.getRepeatCount () == 0) { removeCallbacks(this); postDelayed(this, android.view.ViewConfiguration.getLongPressTimeout()); } else { if (@event.getAction() == android.view.KeyEvent.ACTION_UP) { if (mMenuBeingLongpressed) { // It was in cycle mode, so reset it (will also remove us // from being called back) setCycleShortcutCaptionMode(false); return(true); } else { // Just remove us from being called back removeCallbacks(this); } } } } // Fall through to normal processing too return(base.dispatchKeyEvent(@event)); }
public virtual bool onKeyOther(android.widget.TextView widget, android.text.Spannable text, android.view.KeyEvent @event) { int movementMetaState = getMovementMetaState(text, @event); int keyCode = @event.getKeyCode(); if (keyCode != android.view.KeyEvent.KEYCODE_UNKNOWN && @event.getAction() == android.view.KeyEvent .ACTION_MULTIPLE) { int repeat = @event.getRepeatCount(); bool handled = false; { for (int i = 0; i < repeat; i++) { if (!handleMovementKey(widget, text, keyCode, movementMetaState, @event)) { break; } handled = true; } } if (handled) { android.text.method.MetaKeyKeyListener.adjustMetaAfterKeypress(text); android.text.method.MetaKeyKeyListener.resetLockedMeta(text); } return handled; } return false; }
// no super to call through to private void release(android.text.Editable content, object what, android.view.KeyEvent @event) { int current = content.getSpanFlags(what); switch (@event.getKeyCharacterMap().getModifierBehavior()) { case android.view.KeyCharacterMap.MODIFIER_BEHAVIOR_CHORDED_OR_TOGGLED: { if (current == USED) { content.removeSpan(what); } else { if (current == PRESSED) { content.setSpan(what, 0, 0, RELEASED); } } break; } default: { content.removeSpan(what); break; } } }
private android.text.method.KeyListener getKeyListener(android.view.KeyEvent @event ) { android.view.KeyCharacterMap kmap = @event.getKeyCharacterMap(); int kind = kmap.getKeyboardType(); if (kind == android.view.KeyCharacterMap.ALPHA) { return(android.text.method.QwertyKeyListener.getInstance(mAutoText, mAutoCap)); } else { if (kind == android.view.KeyCharacterMap.NUMERIC) { return(android.text.method.MultiTapKeyListener.getInstance(mAutoText, mAutoCap)); } else { if (kind == android.view.KeyCharacterMap.FULL || kind == android.view.KeyCharacterMap .SPECIAL_FUNCTION) { // We consider special function keyboards full keyboards as a workaround for // devices that do not have built-in keyboards. Applications may try to inject // key events using the built-in keyboard device id which may be configured as // a special function keyboard using a default key map. Ideally, as of Honeycomb, // these applications should be modified to use KeyCharacterMap.VIRTUAL_KEYBOARD. return(android.text.method.QwertyKeyListener.getInstanceForFullKeyboard()); } } } return(android.text.method.TextKeyListener.NullKeyListener.getInstance()); }
/// <summary>Checks an arbitrary input event.</summary> /// <remarks>Checks an arbitrary input event.</remarks> /// <param name="event">The event.</param> /// <param name="nestingLevel"> /// The nesting level: 0 if called from the base class, /// or 1 from a subclass. If the event was already checked by this consistency verifier /// at a higher nesting level, it will not be checked again. Used to handle the situation /// where a subclass dispatching method delegates to its superclass's dispatching method /// and both dispatching methods call into the consistency verifier. /// </param> public void onInputEvent(android.view.InputEvent @event, int nestingLevel) { if (@event is android.view.KeyEvent) { android.view.KeyEvent keyEvent = (android.view.KeyEvent)@event; onKeyEvent(keyEvent, nestingLevel); } else { android.view.MotionEvent motionEvent = (android.view.MotionEvent)@event; if (motionEvent.isTouchEvent()) { onTouchEvent(motionEvent, nestingLevel); } else { if ((motionEvent.getSource() & android.view.InputDevice.SOURCE_CLASS_TRACKBALL) != 0) { onTrackballEvent(motionEvent, nestingLevel); } else { onGenericMotionEvent(motionEvent, nestingLevel); } } } }
public override bool onKeyDown(int keyCode, android.view.KeyEvent @event) { if (isEnabled()) { int progress = getProgress(); switch (keyCode) { case android.view.KeyEvent.KEYCODE_DPAD_LEFT: { if (progress <= 0) { break; } setProgress(progress - mKeyProgressIncrement, true); onKeyChange(); return(true); } case android.view.KeyEvent.KEYCODE_DPAD_RIGHT: { if (progress >= getMax()) { break; } setProgress(progress + mKeyProgressIncrement, true); onKeyChange(); return(true); } } } return(base.onKeyDown(keyCode, @event)); }
/// <summary> /// Gets the meta state used for movement using the modifiers tracked by the text /// buffer as well as those present in the key event. /// </summary> /// <remarks> /// Gets the meta state used for movement using the modifiers tracked by the text /// buffer as well as those present in the key event. /// The movement meta state excludes the state of locked modifiers or the SHIFT key /// since they are not used by movement actions (but they may be used for selection). /// </remarks> /// <param name="buffer">The text buffer.</param> /// <param name="event">The key event.</param> /// <returns>The keyboard meta states used for movement.</returns> protected internal virtual int getMovementMetaState(android.text.Spannable buffer , android.view.KeyEvent @event) { // We ignore locked modifiers and SHIFT. int metaState = (@event.getMetaState() | android.text.method.MetaKeyKeyListener.getMetaState (buffer)) & ~(android.text.method.MetaKeyKeyListener.META_ALT_LOCKED | android.text.method.MetaKeyKeyListener .META_SYM_LOCKED); return android.view.KeyEvent.normalizeMetaState(metaState) & ~android.view.KeyEvent .META_SHIFT_MASK; }
public virtual bool performShortcut(int keyCode, android.view.KeyEvent @event, int flags) { [email protected] item = findItemWithShortcut(keyCode, @event ); if (item == null) { return(false); } return(item.invoke()); }
public virtual bool onKey(android.view.View v, int keyCode, android.view.KeyEvent @event) { if (@event.getAction() == android.view.KeyEvent.ACTION_UP && keyCode == android.view.KeyEvent .KEYCODE_MENU) { dismiss(); return(true); } return(false); }
public virtual bool shouldOverrideKeyEvent(android.webkit.WebView arg0, android.view.KeyEvent arg1) { global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv; if (!IsClrObject) { return(@__env.CallBooleanMethod(this.JvmHandle, global::android.webkit.WebViewClient._shouldOverrideKeyEvent10686, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1))); } else { return(@__env.CallNonVirtualBooleanMethod(this.JvmHandle, global::android.webkit.WebViewClient.staticClass, global::android.webkit.WebViewClient._shouldOverrideKeyEvent10686, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1))); } }
protected override int lookup(android.view.KeyEvent arg0, android.text.Spannable arg1) { global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv; if (!IsClrObject) { return(@__env.CallIntMethod(this.JvmHandle, global::android.text.method.DialerKeyListener._lookup8058, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1))); } else { return(@__env.CallNonVirtualIntMethod(this.JvmHandle, global::android.text.method.DialerKeyListener.staticClass, global::android.text.method.DialerKeyListener._lookup8058, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1))); } }
bool android.view.Menu.performShortcut(int arg0, android.view.KeyEvent arg1, int arg2) { global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv; if (!IsClrObject) { return(@__env.CallBooleanMethod(this.JvmHandle, global::android.view.SubMenu_._performShortcut9028, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2))); } else { return(@__env.CallNonVirtualBooleanMethod(this.JvmHandle, global::android.view.SubMenu_.staticClass, global::android.view.SubMenu_._performShortcut9028, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2))); } }
public virtual void onUnhandledKeyEvent(android.webkit.WebView arg0, android.view.KeyEvent arg1) { global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv; if (!IsClrObject) { @__env.CallVoidMethod(this.JvmHandle, global::android.webkit.WebViewClient._onUnhandledKeyEvent10687, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1)); } else { @__env.CallNonVirtualVoidMethod(this.JvmHandle, global::android.webkit.WebViewClient.staticClass, global::android.webkit.WebViewClient._onUnhandledKeyEvent10687, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1)); } }
public virtual bool executeKeyEvent(android.view.KeyEvent arg0) { global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv; if (!IsClrObject) { return(@__env.CallBooleanMethod(this.JvmHandle, global::android.widget.ScrollView._executeKeyEvent11866, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0))); } else { return(@__env.CallNonVirtualBooleanMethod(this.JvmHandle, global::android.widget.ScrollView.staticClass, global::android.widget.ScrollView._executeKeyEvent11866, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0))); } }
void android.view.inputmethod.InputMethodSession.dispatchKeyEvent(int arg0, android.view.KeyEvent arg1, android.view.inputmethod.InputMethodSession_EventCallback arg2) { global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv; if (!IsClrObject) { @__env.CallVoidMethod(this.JvmHandle, global::android.view.inputmethod.InputMethodSession_._dispatchKeyEvent10252, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2)); } else { @__env.CallNonVirtualVoidMethod(this.JvmHandle, global::android.view.inputmethod.InputMethodSession_.staticClass, global::android.view.inputmethod.InputMethodSession_._dispatchKeyEvent10252, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2)); } }
bool android.view.Menu.isShortcutKey(int arg0, android.view.KeyEvent arg1) { global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv; if (!IsClrObject) { return(@__env.CallBooleanMethod(this.JvmHandle, global::android.view.ContextMenu_._isShortcutKey8692, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1))); } else { return(@__env.CallNonVirtualBooleanMethod(this.JvmHandle, global::android.view.ContextMenu_.staticClass, global::android.view.ContextMenu_._isShortcutKey8692, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1))); } }
public override bool onKeyUp(int arg0, android.view.KeyEvent arg1) { global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv; if (!IsClrObject) { return(@__env.CallBooleanMethod(this.JvmHandle, global::android.widget.Gallery._onKeyUp11315, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1))); } else { return(@__env.CallNonVirtualBooleanMethod(this.JvmHandle, global::android.widget.Gallery.staticClass, global::android.widget.Gallery._onKeyUp11315, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1))); } }
public override bool dispatchKeyEvent(android.view.KeyEvent arg0) { global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv; if (!IsClrObject) { return(@__env.CallBooleanMethod(this.JvmHandle, global::android.widget.TabHost._dispatchKeyEvent12023, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0))); } else { return(@__env.CallNonVirtualBooleanMethod(this.JvmHandle, global::android.widget.TabHost.staticClass, global::android.widget.TabHost._dispatchKeyEvent12023, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0))); } }
public virtual bool sendKeyEvent(android.view.KeyEvent arg0) { global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv; if (!IsClrObject) { return(@__env.CallBooleanMethod(this.JvmHandle, global::android.view.inputmethod.BaseInputConnection._sendKeyEvent10092, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0))); } else { return(@__env.CallNonVirtualBooleanMethod(this.JvmHandle, global::android.view.inputmethod.BaseInputConnection.staticClass, global::android.view.inputmethod.BaseInputConnection._sendKeyEvent10092, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0))); } }
public virtual bool onKeyDown(android.widget.TextView widget, android.text.Spannable text, int keyCode, android.view.KeyEvent @event) { int movementMetaState = getMovementMetaState(text, @event); bool handled = handleMovementKey(widget, text, keyCode, movementMetaState, @event ); if (handled) { android.text.method.MetaKeyKeyListener.adjustMetaAfterKeypress(text); android.text.method.MetaKeyKeyListener.resetLockedMeta(text); } return handled; }
private bool onContainerKey(android.view.KeyEvent @event) { int keyCode = @event.getKeyCode(); if (isInterestingKey(keyCode)) { if (keyCode == android.view.KeyEvent.KEYCODE_BACK) { if (@event.getAction() == android.view.KeyEvent.ACTION_DOWN && @event.getRepeatCount () == 0) { if (mOwnerView != null) { android.view.KeyEvent.DispatcherState ds = mOwnerView.getKeyDispatcherState(); if (ds != null) { ds.startTracking(@event, this); } } return(true); } else { if (@event.getAction() == android.view.KeyEvent.ACTION_UP && @event.isTracking() && [email protected]()) { setVisible(false); return(true); } } } else { dismissControlsDelayed(ZOOM_CONTROLS_TIMEOUT); } // Let the container handle the key return(false); } else { android.view.ViewRootImpl viewRoot = getOwnerViewRootImpl(); if (viewRoot != null) { viewRoot.dispatchKey(@event); } // We gave the key to the owner, don't let the container handle this key return(true); } }
public bool onKey(android.view.View v, int keyCode, android.view.KeyEvent @event) { switch (keyCode) { case android.view.KeyEvent.KEYCODE_DPAD_CENTER: case android.view.KeyEvent.KEYCODE_DPAD_LEFT: case android.view.KeyEvent.KEYCODE_DPAD_RIGHT: case android.view.KeyEvent.KEYCODE_DPAD_UP: case android.view.KeyEvent.KEYCODE_DPAD_DOWN: case android.view.KeyEvent.KEYCODE_ENTER: { return(false); } } this._enclosing.mTabContent.requestFocus(android.view.View.FOCUS_FORWARD); return(this._enclosing.mTabContent.dispatchKeyEvent(@event)); }
public override bool dispatchKeyEvent(android.view.KeyEvent @event) { bool handled = base.dispatchKeyEvent(@event); // unhandled key ups change focus to tab indicator for embedded activities // when there is nothing that will take focus from default focus searching if (!handled && (@event.getAction() == android.view.KeyEvent.ACTION_DOWN) && (@event .getKeyCode() == android.view.KeyEvent.KEYCODE_DPAD_UP) && (mCurrentView != null ) && (mCurrentView.isRootNamespace()) && (mCurrentView.hasFocus()) && (mCurrentView .findFocus().focusSearch(android.view.View.FOCUS_UP) == null)) { mTabWidget.getChildTabViewAt(mCurrentTab).requestFocus(); playSoundEffect(android.view.SoundEffectConstants.NAVIGATION_UP); return(true); } return(handled); }
/// <summary> /// Notifies the verifier that a given event was unhandled and the rest of the /// trace for the event should be ignored. /// </summary> /// <remarks> /// Notifies the verifier that a given event was unhandled and the rest of the /// trace for the event should be ignored. /// This method should only be called if the event was previously checked by /// the consistency verifier using /// <see cref="onInputEvent(InputEvent, int)">onInputEvent(InputEvent, int)</see> /// and other methods. /// </remarks> /// <param name="event">The event.</param> /// <param name="nestingLevel"> /// The nesting level: 0 if called from the base class, /// or 1 from a subclass. If the event was already checked by this consistency verifier /// at a higher nesting level, it will not be checked again. Used to handle the situation /// where a subclass dispatching method delegates to its superclass's dispatching method /// and both dispatching methods call into the consistency verifier. /// </param> public void onUnhandledEvent(android.view.InputEvent @event, int nestingLevel) { if (nestingLevel != mLastNestingLevel) { return; } if (mRecentEventsUnhandled != null) { mRecentEventsUnhandled[mMostRecentEventIndex] = true; } if (@event is android.view.KeyEvent) { android.view.KeyEvent keyEvent = (android.view.KeyEvent)@event; int deviceId = keyEvent.getDeviceId(); int source = keyEvent.getSource(); int keyCode = keyEvent.getKeyCode(); android.view.InputEventConsistencyVerifier.KeyState state = findKeyState(deviceId , source, keyCode, false); if (state != null) { state.unhandled = true; } } else { android.view.MotionEvent motionEvent = (android.view.MotionEvent)@event; if (motionEvent.isTouchEvent()) { mTouchEventStreamUnhandled = true; } else { if ((motionEvent.getSource() & android.view.InputDevice.SOURCE_CLASS_TRACKBALL) != 0) { if (mTrackballDown) { mTrackballUnhandled = true; } } } } }
private bool backspaceOrForwardDelete(android.view.View view, android.text.Editable content, int keyCode, android.view.KeyEvent @event, bool isForwardDelete) { // Ensure the key event does not have modifiers except ALT or SHIFT. if (!android.view.KeyEvent.metaStateHasNoModifiers(@event.getMetaState() & ~(android.view.KeyEvent .META_SHIFT_MASK | android.view.KeyEvent.META_ALT_MASK))) { return(false); } // If there is a current selection, delete it. if (deleteSelection(view, content)) { return(true); } // Alt+Backspace or Alt+ForwardDelete deletes the current line, if possible. if (@event.isAltPressed() || getMetaState(content, META_ALT_ON) == 1) { if (deleteLine(view, content)) { return(true); } } // Delete a character. int start = android.text.Selection.getSelectionEnd(content); int end; if (isForwardDelete || @event.isShiftPressed() || getMetaState(content, META_SHIFT_ON ) == 1) { end = android.text.TextUtils.getOffsetAfter(content, start); } else { end = android.text.TextUtils.getOffsetBefore(content, start); } if (start != end) { content.delete(System.Math.Min(start, end), System.Math.Max(start, end)); return(true); } return(false); }