KeyEvent Класс

Определение

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

[Android.Runtime.Register("android/view/KeyEvent", DoNotGenerateAcw=true)]
public class KeyEvent : Android.Views.InputEvent, IDisposable, Java.Interop.IJavaPeerable
[<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 ключа вверх. Если нажатие клавиши отменено, для события key up будет #FLAG_CANCELED установлен флаг .

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

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

Так как методы мягкого ввода могут использовать несколько и изобретательных способов ввода текста, нет никакой гарантии, что любое нажатие клавиши на мягкой клавиатуре приведет к возникновению события клавиши: это остается на усмотрение IME, и на самом деле отправка таких событий не рекомендуется. Никогда не следует полагаться на получение keyEvents для любого ключа в методе мягкого ввода. В частности, программная клавиатура по умолчанию никогда не отправляет события клавиши в любое приложение, предназначенное для Jelly Bean или более поздней версии, а также отправляет события только для некоторых нажатий клавиш удаления и возврата в приложения, предназначенные для Ice Cream Sandwich или более ранних версий. Имейте в виду, что другие методы ввода программного обеспечения никогда не могут отправлять ключевые события независимо от версии. Рассмотрите возможность использования действий редактора, например android.view.inputmethod.EditorInfo#IME_ACTION_DONE , если требуется определенное взаимодействие с программной клавиатурой, так как это дает пользователю больше информации о том, как приложение будет реагировать на нажатия клавиш.

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

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

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

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

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

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

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

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

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

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

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

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

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

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

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

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

KeyEvent(Int64, String, Int32, KeyEventFlags)

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

KeyEvent(IntPtr, JniHandleOwnership)

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

KeyEvent(KeyEvent)

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

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

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

KeyEvent(KeyEventActions, Keycode)

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

Поля

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

Константа кода ключа: демонстрация ключа приложения No 1.

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

Константа кода ключа: демонстрация ключа приложения No 2.

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

Константа кода ключа: демонстрация ключа приложения No3.

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

Константа кода ключа: демонстрация ключа приложения No 4.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Этот элемент устарел.

Свойства

Action

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

Characters

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

Class

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

(Унаследовано от Object)
Creator
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 событий указывает, что событие по-прежнему отслеживается из исходного события down согласно #FLAG_TRACKING.

JniIdentityHashCode

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

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

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

KeyCharacterMap

Возвращает объект , связанный KeyCharacterMap с устройством клавиатуры.

KeyCode

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

MaxKeyCode

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

MetaState

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

ModifierMetaStateMask

Возвращает маску, содержащую все допустимые биты метагосударства клавиш модификатора.

Modifiers

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

Number

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

PeerReference

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

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

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

ScanCode

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

Source

Добавляемое

ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

UnicodeChar

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

Методы

ChangeAction(KeyEvent, KeyEventActions)

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

ChangeFlags(KeyEvent, KeyEventFlags)

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

ChangeTimeRepeat(KeyEvent, Int64, Int32)

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

ChangeTimeRepeat(KeyEvent, Int64, Int32, KeyEventFlags)

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

Clone()

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

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

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

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

Добавьте это ключевое событие в интерфейс KeyEvent Callback .

Dispose()

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

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

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

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

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

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

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

GetHashCode()

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

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

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

GetMatch(Char[])

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

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

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

GetMatch(Char[], MetaKeyStates)

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

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)
SetSource(InputSourceType)

Добавляемое

StartTracking()

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

ToArray<T>()

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

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

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

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

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

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

Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.><

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

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

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

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

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

Разведите этот объект в плоскую структуру в объект Parcel.

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

IJavaPeerable.Disposed()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

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