Язык

KeyEvent Класс

Определение

Объект, используемый для отчета о событиях ключа и кнопки.

[Android.Runtime.Register("android/view/KeyEvent", DoNotGenerateAcw=true)]
public class KeyEvent : Android.Views.InputEvent, IDisposable
[<Android.Runtime.Register("android/view/KeyEvent", DoNotGenerateAcw=true)>]
type KeyEvent = class
    inherit InputEvent
    interface IParcelable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Наследование
Атрибуты
Реализации

Комментарии

Объект, используемый для отчета о событиях ключа и кнопки.

Каждое нажатие клавиш описывается последовательностью ключевых событий. Нажатие клавиши начинается с события ключа.#ACTION_DOWN Если ключ хранится достаточно долго, что он повторяется, начальный вниз следует дополнительным ключевым событиям с #ACTION_DOWN и ненулевым значением для #getRepeatCount(). Последнее ключевое событие — это #ACTION_UP событие для ключа вверх. Если нажатие клавиши отменено, событие вверх ключа будет иметь набор флагов #FLAG_CANCELED .

Ключевые события обычно сопровождаются ключевым кодом (), кодом сканирования (#getKeyCode()#getScanCode()) и метаданным (#getMetaState()). Константы ключевого кода определяются в этом классе. Константы кода сканирования — это необработанные коды, полученные из ОС, поэтому не имеют общего значения для приложений, если они не интерпретированы с помощью KeyCharacterMap. Мета-состояния описывают нажатое состояние модификаторов ключей, таких как #META_SHIFT_ON или #META_ALT_ON.

Коды ключей обычно соответствуют одному к одному с отдельными ключами на входном устройстве. Многие сочетания ключей и ключей служат совершенно разными функциями на разных устройствах ввода, поэтому при интерпретации их необходимо соблюдать осторожность. Всегда используйте связанный KeyCharacterMap с устройством ввода при сопоставлении ключей с символами. Помните, что одновременно может быть несколько устройств ввода ключей, и каждая из них будет иметь собственную карту символов ключа.

Так как методы обратимого ввода могут использовать несколько и изобретательных способов ввода текста, нет никакой гарантии, что любое нажатие клавиши на мягкой клавиатуре создаст ключевое событие: это остается на усмотрение IME, и на самом деле отправка таких событий не рекомендуется. Вы никогда не должны полагаться на получение KeyEvents для любого ключа в методе обратимого ввода. В частности, программная клавиатура по умолчанию никогда не отправляет любое ключевое событие в любое приложение, ориентированное на Jelly Bean или более поздней версии, и будет отправлять события только для некоторых нажатий удаления и возврата ключей приложениям, предназначенным для Мороженого Сэндвич или более ранней версии. Помните, что другие методы ввода программного обеспечения никогда не могут отправлять ключевые события независимо от версии. Рекомендуется использовать действия редактора, например, если требуется определенное взаимодействие с программной клавиатурой, так как android.view.inputmethod.EditorInfo#IME_ACTION_DONE это дает пользователю больше видимости о том, как приложение будет реагировать на нажатия клавиш.

При взаимодействии с IME платформа может доставлять ключевые события с помощью специального действия #ACTION_MULTIPLE , указывающего, что один повторяющийся код ключа или последовательность символов для вставки.

Как правило, платформа не может гарантировать, что ключевые события, которые он предоставляет представлению, всегда представляют собой полные последовательности ключей, так как некоторые события могут быть удалены или изменены, содержащие представления перед их доставкой. Реализация представления должна быть готова к обработке #FLAG_CANCELED и должна терпеть аномальные ситуации, такие как получение нового #ACTION_DOWN без первого получения для предыдущего #ACTION_UP нажатия клавиши.

InputDevice Дополнительные сведения о том, как различные типы устройств ввода и источников представляют ключи и кнопки.

Java документации по android.view.KeyEvent.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Конструкторы

Имя. Описание
KeyEvent(Int64, Int64, KeyEventActions, Keycode, Int32, MetaKeyStates, Int32, Int32, KeyEventFlags, InputSourceType)

Создайте новое ключевое событие.

KeyEvent(Int64, Int64, KeyEventActions, Keycode, Int32, MetaKeyStates, Int32, Int32, KeyEventFlags)

Создайте новое ключевое событие.

KeyEvent(Int64, Int64, KeyEventActions, Keycode, Int32, MetaKeyStates, Int32, Int32)

Создайте новое ключевое событие.

KeyEvent(Int64, Int64, KeyEventActions, Keycode, Int32, MetaKeyStates)

Создайте новое ключевое событие.

KeyEvent(Int64, Int64, KeyEventActions, Keycode, Int32)

Создайте новое ключевое событие.

KeyEvent(Int64, String, Int32, KeyEventFlags)

Создайте новое ключевое событие для строки символов.

KeyEvent(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

KeyEvent(KeyEvent, Int64, Int32)
Устаревшие.

Скопируйте существующее событие ключа, изменив время и количество повторов.

KeyEvent(KeyEvent)

Сделайте точную копию существующего ключевого события.

KeyEvent(KeyEventActions, Keycode)

Создайте новое ключевое событие.

Поля

Имя. Описание
KeycodeAccessibility
Устаревшие.

Константа ключевого кода: ключ специальных возможностей системы.

KeycodeClose
Устаревшие.

Константа ключевого кода: AC Close.

KeycodeContextualInsert
Устаревшие.

Константа ключевого кода: контекстная вставка ключа.

KeycodeContextualQuery
Устаревшие.

Константа ключевого кода: ключ контекстного запроса.

KeycodeContextualSearch
Устаревшие.

Константа ключевого кода: ключ контекстного поиска.

KeycodeDemoApp1
Устаревшие.

Константа ключевого кода: демонстрационный ключ приложения #1.

KeycodeDemoApp2
Устаревшие.

Константа ключевого кода: демонстрационный ключ приложения #2.

KeycodeDemoApp3
Устаревшие.

Константа ключевого кода: демонстрационный ключ приложения #3.

KeycodeDemoApp4
Устаревшие.

Константа ключевого кода: демонстрационный ключ приложения #4.

KeycodeDictate
Устаревшие.

Константа ключевого кода: чтобы начать диктовать поле ввода

KeycodeDoNotDisturb
Устаревшие.

Константа ключевого кода: переключение режима "Не беспокоить".

KeycodeEmojiPicker
Устаревшие.

Константа ключевого кода: открытие средства выбора эмодзи.

KeycodeF13
Устаревшие.

Константа ключевого кода: клавиша F13.

KeycodeF14
Устаревшие.

Константа ключевого кода: клавиша F14.

KeycodeF15
Устаревшие.

Константа ключевого кода: клавиша F15.

KeycodeF16
Устаревшие.

Константа ключевого кода: клавиша F16.

KeycodeF17
Устаревшие.

Константа ключевого кода: клавиша F17.

KeycodeF18
Устаревшие.

Константа ключевого кода: клавиша F18.

KeycodeF19
Устаревшие.

Константа ключевого кода: клавиша F19.

KeycodeF20
Устаревшие.

Константа ключевого кода: клавиша F20.

KeycodeF21
Устаревшие.

Константа ключевого кода: клавиша F21.

KeycodeF22
Устаревшие.

Константа ключевого кода: клавиша F22.

KeycodeF23
Устаревшие.

Константа ключевого кода: клавиша F23.

KeycodeF24
Устаревшие.

Константа ключевого кода: клавиша F24.

KeycodeFeaturedApp1
Устаревшие.

Константа ключевого кода: компонентный ключ приложения #1.

KeycodeFeaturedApp2
Устаревшие.

Константа ключевого кода: компонентный ключ приложения #2.

KeycodeFeaturedApp3
Устаревшие.

Константа ключевого кода: ключ приложения с дополнительными функциями #3.

KeycodeFeaturedApp4
Устаревшие.

Константа ключевого кода: ключ приложения с дополнительными функциями #4.

KeycodeFullscreen
Устаревшие.

Константа ключевого кода: переключение полноэкранного режима (в текущем приложении).

KeycodeKeyboardBacklightDown
Устаревшие.

Константа ключевого кода: задний свет клавиатуры вниз.

KeycodeKeyboardBacklightToggle
Устаревшие.

Константа ключевого кода: переключатель заднего света клавиатуры.

KeycodeKeyboardBacklightUp
Устаревшие.

Константа ключевого кода: резервная копия клавиатуры.

KeycodeLock
Устаревшие.

Константа ключевого кода: блокировка экрана.

KeycodeMacro1
Устаревшие.

Константа ключевого кода: кнопка, использование которой можно настроить пользователем через систему.

KeycodeMacro2
Устаревшие.

Константа ключевого кода: кнопка, использование которой можно настроить пользователем через систему.

KeycodeMacro3
Устаревшие.

Константа ключевого кода: кнопка, использование которой можно настроить пользователем через систему.

KeycodeMacro4
Устаревшие.

Константа ключевого кода: кнопка, использование которой можно настроить пользователем через систему.

KeycodeNew
Устаревшие.

Константа ключевого кода: AC New.

KeycodePrint
Устаревшие.

Константа ключевого кода: для печати.

KeycodeRecentApps
Устаревшие.

Константа ключевого кода: открытие представления последних приложений (a).

KeycodeScreenshot
Устаревшие.

Константа ключевого кода: создание снимка экрана.

KeycodeStylusButtonPrimary
Устаревшие.

Константа ключевого кода: первичная кнопка в бочке пера.

KeycodeStylusButtonSecondary
Устаревшие.

Константа ключевого кода: вторичная кнопка на баррель пера.

KeycodeStylusButtonTail
Устаревшие.

Константа ключевого кода: кнопка в конце хвоста пера.

KeycodeStylusButtonTertiary
Устаревшие.

Константа ключевого кода: тертиарная кнопка на баррель пера.

KeycodeVideoApp1
Устаревшие.

Константа ключевого кода: ключ приложения видео #1.

KeycodeVideoApp2
Устаревшие.

Константа ключевого кода: ключ приложения видео #2.

KeycodeVideoApp3
Устаревшие.

Константа ключевого кода: ключ приложения видео #3.

KeycodeVideoApp4
Устаревшие.

Константа ключевого кода: ключ приложения видео #4.

KeycodeVideoApp5
Устаревшие.

Константа ключевого кода: ключ приложения видео #5.

KeycodeVideoApp6
Устаревшие.

Константа ключевого кода: ключ приложения видео #6.

KeycodeVideoApp7
Устаревшие.

Константа ключевого кода: ключ видео приложения #7.

KeycodeVideoApp8
Устаревшие.

Константа ключевого кода: ключ приложения видео #8.

MaxKeycode
Устаревшие.

Задает самый большой код ключа, определенный этим уровнем API.

Свойства

Имя. Описание
Action

Получите действие этого ключевого события.

Characters

Для специального #ACTION_MULTIPLE случая события с ключевым кодом #KEYCODE_UNKNOWNэто необработанная строка символов, связанных с событием.

Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Creator

Возвращает создателя пакета для экземпляров KeyEvent.

Device

Возвращает устройство, из которое произошло это событие.

(Унаследовано от InputEvent)
DeviceId

Возвращает идентификатор устройства, из которому произошло это событие. Идентификатор нуля указывает, что событие не произошло с физического устройства и сопоставляется с картой ключей по умолчанию. Другие числа являются произвольными и не должны зависеть от значений.

DisplayLabel

Возвращает первичный символ для этого ключа.

DownTime

Извлеките время последнего события уменьшения ключа в android.os.SystemClock#uptimeMillis базе времени.

EventTime

Извлеките время, которое произошло это событие, в android.os.SystemClock#uptimeMillis базе времени.

Flags

Возвращает флаги для этого ключевого события.

Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
HasNoModifiers

Возвращает значение true, если клавиши модификатора не нажимаются.

IsAltPressed

Возвращает нажатое состояние метаключа ALT.

IsCanceled

Для #ACTION_UP событий указывает, что событие отменено как показано #FLAG_CANCELED.

IsCapsLockOn

Возвращает заблокированное состояние метаключа CAPS LOCK.

IsCtrlPressed

Возвращает нажатое состояние метаключа CTRL.

IsFunctionPressed

Возвращает нажатое состояние метаключа FUNCTION.

IsLongPress

Для #ACTION_DOWN событий указывает, что событие отменено как показано #FLAG_LONG_PRESS.

IsMetaPressed

Возвращает нажатое состояние метаключа META.

IsNumLockOn

Возвращает заблокированное состояние метаключа NUM LOCK.

IsPrintingKey

Возвращает значение true, если этот ключ создает глиф.

IsScrollLockOn

Возвращает заблокированное состояние метаключа SCROLL LOCK.

IsShiftPressed

Возвращает нажатое состояние метаключа SHIFT.

IsSymPressed

Возвращает нажатое состояние метаключа SYM.

IsSystem

Это системный ключ? Системные ключи нельзя использовать для контекстных меню.

IsTracking

Для #ACTION_UP событий указывает, что событие по-прежнему отслеживается с начального события вниз, как показано #FLAG_TRACKING.

JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

Объект, используемый для отчета о событиях ключа и кнопки.

(Унаследовано от JavaObject)
JniPeerMembers

Возвращает метаданные однорангового узла JNI, используемые .NET для среды выполнения привязки Android.

KeyCharacterMap

Получает связанное KeyCharacterMap с устройством клавиатуры.

KeyCode

Получите код ключа ключевого события.

MaxKeyCode

Возвращает максимальный код ключей.

MetaState

Возвращает состояние мета-ключей.

ModifierMetaStateMask

Получает маску, содержащую все допустимые биты мета-состояния ключа модификатора.

Modifiers

Возвращает состояние ключей модификатора.

Number

Возвращает номер или символ, связанный с ключом.

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
RepeatCount

Получение числа повторов события.

ScanCode

Получение идентификатора ключа оборудования этого события ключа.

Source

Получает источник события.

ThresholdClass

Возвращает дескриптор класса JNI, используемый .NET для среды выполнения привязки Android.

ThresholdType

Возвращает управляемый тип, используемый средой выполнения привязки .NET для Android.

UnicodeChar

Возвращает символ Юникода, созданный указанным сочетанием состояния ключа и метаключа.

Методы

Имя. Описание
ChangeAction(KeyEvent, KeyEventActions)

Создайте новое ключевое событие, которое совпадает с заданным, но действие которого заменено заданным значением.

ChangeFlags(KeyEvent, KeyEventFlags)

Создайте новое ключевое событие, которое совпадает с заданным, но флаги которого заменяются заданным значением.

ChangeTimeRepeat(KeyEvent, Int64, Int32, KeyEventFlags)

Создайте новое ключевое событие, которое совпадает с заданным, но время события и число повторов заменяются заданным значением.

ChangeTimeRepeat(KeyEvent, Int64, Int32)

Создайте новое ключевое событие, которое совпадает с заданным, но время события и число повторов заменяются заданным значением.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Объект, используемый для отчета о событиях ключа и кнопки.

(Унаследовано от JavaObject)
DescribeContents()

Описать виды специальных объектов, содержащихся в маршалируемом представлении в этом маршалируемом представлении.

(Унаследовано от InputEvent)
Dispatch(KeyEvent+ICallback, KeyEvent+DispatcherState, Object)

Отправляет это ключевое событие получателю обратного вызова.

Dispatch(KeyEvent+ICallback)
Устаревшие.

Отправляет это ключевое событие получателю обратного вызова.

Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

Объект, используемый для отчета о событиях ключа и кнопки.

(Унаследовано от JavaObject)
Equals(Object)

Объект, используемый для отчета о событиях ключа и кнопки.

(Унаследовано от JavaObject)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
GetDeadChar(Int32, Int32)

Получите символ, созданный путем акцента на символ c.

GetHashCode()

Возвращает хэш-значение кода для объекта.

(Унаследовано от Object)
GetKeyData(KeyCharacterMap+KeyData)
Устаревшие.

Получение данных преобразования символов для заданного кода ключа.

GetMatch(Char[], Int32)
Устаревшие.

Получает первый символ кандидата, который может создать это ключевое событие с заданным состоянием мета.

GetMatch(Char[], MetaKeyStates)

Возвращает первый символ в массиве символов, который может быть создан указанным кодом ключа.

GetMatch(Char[])

Возвращает первый символ в массиве символов, который может быть создан указанным кодом ключа.

GetUnicodeChar(Int32)
Устаревшие.

Возвращает символ Юникода, созданный этим ключевым событием с заданным состоянием мета.

GetUnicodeChar(MetaKeyStates)

Возвращает символ Юникода, созданный указанным сочетанием состояния ключа и метаключа.

HasModifiers(MetaKeyStates)

Возвращает значение true, если нажимаются только указанные клавиши модификаторов.

IsFromSource(InputSourceType)

Определяет, является ли событие из заданного источника.

(Унаследовано от InputEvent)
IsGamepadButton(Keycode)

Возвращает значение true, если указанный код ключа является кнопкой геймпада.

IsMediaSessionKey(Int32)

Возвращает, будет ли этот ключ отправлен в нее android.media.session.MediaSession.Callback , если он не обработан.

IsModifierKey(Keycode)

Возвращает значение true, если этот код ключа является модификатором.

JavaFinalize()
Устаревшие.

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
KeyCodeFromString(String)

Получает код ключа по его символьным имени, например "KEYCODE_A" или эквивалентной числовой константе, например "29".

KeyCodeToString(Keycode)

Возвращает строку, представляющую символьное имя указанного ключевого кода, например "KEYCODE_A", "KEYCODE_DPAD_UP", или эквивалентную числовую константу, например "1001", если неизвестно.

MetaStateHasModifiers(MetaKeyStates, MetaKeyStates)

Возвращает значение true, если только указанные клавиши модификатора нажимаются в соответствии с заданным состоянием мета.

MetaStateHasNoModifiers(MetaKeyStates)

Возвращает значение true, если клавиши модификаторов не нажимаются в соответствии с указанным состоянием мета.

NormalizeMetaState(MetaKeyStates)

Нормализует указанное мета-состояние.

Notify()

Просыпается один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Объект, используемый для отчета о событиях ключа и кнопки.

(Унаследовано от JavaObject)
SetSource(InputSourceType)

Задает источник ввода, создающий это ключевое событие.

StartTracking()

Вызовите это во время Callback#onKeyDown , чтобы система отслеживала ключ через его окончательный вверх (возможно, включая длинную прессу).

ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

Неструктурировать этот объект в пакете "Посылка".

Явные реализации интерфейса

Имя. Описание
IJavaPeerable.Disposed()

Объект, используемый для отчета о событиях ключа и кнопки.

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

Объект, используемый для отчета о событиях ключа и кнопки.

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Объект, используемый для отчета о событиях ключа и кнопки.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Объект, используемый для отчета о событиях ключа и кнопки.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Объект, используемый для отчета о событиях ключа и кнопки.

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Объект, используемый для отчета о событиях ключа и кнопки.

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Объект, используемый для отчета о событиях ключа и кнопки.

Методы расширения

Имя. Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Объект, используемый для отчета о событиях ключа и кнопки.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к