Most visited

Recently visited

Added in API level 1

KeyEvent

public class KeyEvent
extends InputEvent implements Parcelable

java.lang.Object
   ↳ android.view.InputEvent
     ↳ android.view.KeyEvent


Object used to report key and button events.

Each key press is described by a sequence of key events. A key press starts with a key event with ACTION_DOWN. If the key is held sufficiently long that it repeats, then the initial down is followed additional key events with ACTION_DOWN and a non-zero value for getRepeatCount(). The last key event is a ACTION_UP for the key up. If the key press is canceled, the key up event will have the FLAG_CANCELED flag set.

Key events are generally accompanied by a key code (getKeyCode()), scan code (getScanCode()) and meta state (getMetaState()). Key code constants are defined in this class. Scan code constants are raw device-specific codes obtained from the OS and so are not generally meaningful to applications unless interpreted using the KeyCharacterMap. Meta states describe the pressed state of key modifiers such as META_SHIFT_ON or META_ALT_ON.

Key codes typically correspond one-to-one with individual keys on an input device. Many keys and key combinations serve quite different functions on different input devices so care must be taken when interpreting them. Always use the KeyCharacterMap associated with the input device when mapping keys to characters. Be aware that there may be multiple key input devices active at the same time and each will have its own key character map.

As soft input methods can use multiple and inventive ways of inputting text, there is no guarantee that any key press on a soft keyboard will generate a key event: this is left to the IME's discretion, and in fact sending such events is discouraged. You should never rely on receiving KeyEvents for any key on a soft input method. In particular, the default software keyboard will never send any key event to any application targetting Jelly Bean or later, and will only send events for some presses of the delete and return keys to applications targetting Ice Cream Sandwich or earlier. Be aware that other software input methods may never send key events regardless of the version. Consider using editor actions like IME_ACTION_DONE if you need specific interaction with the software keyboard, as it gives more visibility to the user as to how your application will react to key presses.

When interacting with an IME, the framework may deliver key events with the special action ACTION_MULTIPLE that either specifies that single repeated key code or a sequence of characters to insert.

In general, the framework cannot guarantee that the key events it delivers to a view always constitute complete key sequences since some events may be dropped or modified by containing views before they are delivered. The view implementation should be prepared to handle FLAG_CANCELED and should tolerate anomalous situations such as receiving a new ACTION_DOWN without first having received an ACTION_UP for the prior key press.

Refer to InputDevice for more information about how different kinds of input devices and sources represent keys and buttons.

Summary

Nested classes

interface KeyEvent.Callback

 

class KeyEvent.DispatcherState

Use with dispatch(Callback, DispatcherState, Object) for more advanced key dispatching, such as long presses. 

Constants

int ACTION_DOWN

getAction() value: the key has been pressed down.

int ACTION_MULTIPLE

getAction() value: multiple duplicate key events have occurred in a row, or a complex string is being delivered.

int ACTION_UP

getAction() value: the key has been released.

int FLAG_CANCELED

When associated with up key events, this indicates that the key press has been canceled.

int FLAG_CANCELED_LONG_PRESS

Set when a key event has FLAG_CANCELED set because a long press action was executed while it was down.

int FLAG_EDITOR_ACTION

This mask is used for compatibility, to identify enter keys that are coming from an IME whose enter key has been auto-labelled "next" or "done".

int FLAG_FALLBACK

Set when a key event has been synthesized to implement default behavior for an event that the application did not handle.

int FLAG_FROM_SYSTEM

This mask is set if an event was known to come from a trusted part of the system.

int FLAG_KEEP_TOUCH_MODE

This mask is set if we don't want the key event to cause us to leave touch mode.

int FLAG_LONG_PRESS

This flag is set for the first key repeat that occurs after the long press timeout.

int FLAG_SOFT_KEYBOARD

This mask is set if the key event was generated by a software keyboard.

int FLAG_TRACKING

Set for ACTION_UP when this event's key code is still being tracked from its initial down.

int FLAG_VIRTUAL_HARD_KEY

This key event was generated by a virtual (on-screen) hard key area.

int FLAG_WOKE_HERE

This constant was deprecated in API level 20. This flag will never be set by the system since the system consumes all wake keys itself.

int KEYCODE_0

Key code constant: '0' key.

int KEYCODE_1

Key code constant: '1' key.

int KEYCODE_11

Key code constant: '11' key.

int KEYCODE_12

Key code constant: '12' key.

int KEYCODE_2

Key code constant: '2' key.

int KEYCODE_3

Key code constant: '3' key.

int KEYCODE_3D_MODE

Key code constant: 3D Mode key.

int KEYCODE_4

Key code constant: '4' key.

int KEYCODE_5

Key code constant: '5' key.

int KEYCODE_6

Key code constant: '6' key.

int KEYCODE_7

Key code constant: '7' key.

int KEYCODE_8

Key code constant: '8' key.

int KEYCODE_9

Key code constant: '9' key.

int KEYCODE_A

Key code constant: 'A' key.

int KEYCODE_ALT_LEFT

Key code constant: Left Alt modifier key.

int KEYCODE_ALT_RIGHT

Key code constant: Right Alt modifier key.

int KEYCODE_APOSTROPHE

Key code constant: ''' (apostrophe) key.

int KEYCODE_APP_SWITCH

Key code constant: App switch key.

int KEYCODE_ASSIST

Key code constant: Assist key.

int KEYCODE_AT

Key code constant: '@' key.

int KEYCODE_AVR_INPUT

Key code constant: A/V Receiver input key.

int KEYCODE_AVR_POWER

Key code constant: A/V Receiver power key.

int KEYCODE_B

Key code constant: 'B' key.

int KEYCODE_BACK

Key code constant: Back key.

int KEYCODE_BACKSLASH

Key code constant: '\' key.

int KEYCODE_BOOKMARK

Key code constant: Bookmark key.

int KEYCODE_BREAK

Key code constant: Break / Pause key.

int KEYCODE_BRIGHTNESS_DOWN

Key code constant: Brightness Down key.

int KEYCODE_BRIGHTNESS_UP

Key code constant: Brightness Up key.

int KEYCODE_BUTTON_1

Key code constant: Generic Game Pad Button #1.

int KEYCODE_BUTTON_10

Key code constant: Generic Game Pad Button #10.

int KEYCODE_BUTTON_11

Key code constant: Generic Game Pad Button #11.

int KEYCODE_BUTTON_12

Key code constant: Generic Game Pad Button #12.

int KEYCODE_BUTTON_13

Key code constant: Generic Game Pad Button #13.

int KEYCODE_BUTTON_14

Key code constant: Generic Game Pad Button #14.

int KEYCODE_BUTTON_15

Key code constant: Generic Game Pad Button #15.

int KEYCODE_BUTTON_16

Key code constant: Generic Game Pad Button #16.

int KEYCODE_BUTTON_2

Key code constant: Generic Game Pad Button #2.

int KEYCODE_BUTTON_3

Key code constant: Generic Game Pad Button #3.

int KEYCODE_BUTTON_4

Key code constant: Generic Game Pad Button #4.

int KEYCODE_BUTTON_5

Key code constant: Generic Game Pad Button #5.

int KEYCODE_BUTTON_6

Key code constant: Generic Game Pad Button #6.

int KEYCODE_BUTTON_7

Key code constant: Generic Game Pad Button #7.

int KEYCODE_BUTTON_8

Key code constant: Generic Game Pad Button #8.

int KEYCODE_BUTTON_9

Key code constant: Generic Game Pad Button #9.

int KEYCODE_BUTTON_A

Key code constant: A Button key.

int KEYCODE_BUTTON_B

Key code constant: B Button key.

int KEYCODE_BUTTON_C

Key code constant: C Button key.

int KEYCODE_BUTTON_L1

Key code constant: L1 Button key.

int KEYCODE_BUTTON_L2

Key code constant: L2 Button key.

int KEYCODE_BUTTON_MODE

Key code constant: Mode Button key.

int KEYCODE_BUTTON_R1

Key code constant: R1 Button key.

int KEYCODE_BUTTON_R2

Key code constant: R2 Button key.

int KEYCODE_BUTTON_SELECT

Key code constant: Select Button key.

int KEYCODE_BUTTON_START

Key code constant: Start Button key.

int KEYCODE_BUTTON_THUMBL

Key code constant: Left Thumb Button key.

int KEYCODE_BUTTON_THUMBR

Key code constant: Right Thumb Button key.

int KEYCODE_BUTTON_X

Key code constant: X Button key.

int KEYCODE_BUTTON_Y

Key code constant: Y Button key.

int KEYCODE_BUTTON_Z

Key code constant: Z Button key.

int KEYCODE_C

Key code constant: 'C' key.

int KEYCODE_CALCULATOR

Key code constant: Calculator special function key.

int KEYCODE_CALENDAR

Key code constant: Calendar special function key.

int KEYCODE_CALL

Key code constant: Call key.

int KEYCODE_CAMERA

Key code constant: Camera key.

int KEYCODE_CAPS_LOCK

Key code constant: Caps Lock key.

int KEYCODE_CAPTIONS

Key code constant: Toggle captions key.

int KEYCODE_CHANNEL_DOWN

Key code constant: Channel down key.

int KEYCODE_CHANNEL_UP

Key code constant: Channel up key.

int KEYCODE_CLEAR

Key code constant: Clear key.

int KEYCODE_COMMA

Key code constant: ',' key.

int KEYCODE_CONTACTS

Key code constant: Contacts special function key.

int KEYCODE_COPY

Key code constant: Copy key.

int KEYCODE_CTRL_LEFT

Key code constant: Left Control modifier key.

int KEYCODE_CTRL_RIGHT

Key code constant: Right Control modifier key.

int KEYCODE_CUT

Key code constant: Cut key.

int KEYCODE_D

Key code constant: 'D' key.

int KEYCODE_DEL

Key code constant: Backspace key.

int KEYCODE_DPAD_CENTER

Key code constant: Directional Pad Center key.

int KEYCODE_DPAD_DOWN

Key code constant: Directional Pad Down key.

int KEYCODE_DPAD_DOWN_LEFT

Key code constant: Directional Pad Down-Left

int KEYCODE_DPAD_DOWN_RIGHT

Key code constant: Directional Pad Down-Right

int KEYCODE_DPAD_LEFT

Key code constant: Directional Pad Left key.

int KEYCODE_DPAD_RIGHT

Key code constant: Directional Pad Right key.

int KEYCODE_DPAD_UP

Key code constant: Directional Pad Up key.

int KEYCODE_DPAD_UP_LEFT

Key code constant: Directional Pad Up-Left

int KEYCODE_DPAD_UP_RIGHT

Key code constant: Directional Pad Up-Right

int KEYCODE_DVR

Key code constant: DVR key.

int KEYCODE_E

Key code constant: 'E' key.

int KEYCODE_EISU

Key code constant: Japanese alphanumeric key.

int KEYCODE_ENDCALL

Key code constant: End Call key.

int KEYCODE_ENTER

Key code constant: Enter key.

int KEYCODE_ENVELOPE

Key code constant: Envelope special function key.

int KEYCODE_EQUALS

Key code constant: '=' key.

int KEYCODE_ESCAPE

Key code constant: Escape key.

int KEYCODE_EXPLORER

Key code constant: Explorer special function key.

int KEYCODE_F

Key code constant: 'F' key.

int KEYCODE_F1

Key code constant: F1 key.

int KEYCODE_F10

Key code constant: F10 key.

int KEYCODE_F11

Key code constant: F11 key.

int KEYCODE_F12

Key code constant: F12 key.

int KEYCODE_F2

Key code constant: F2 key.

int KEYCODE_F3

Key code constant: F3 key.

int KEYCODE_F4

Key code constant: F4 key.

int KEYCODE_F5

Key code constant: F5 key.

int KEYCODE_F6

Key code constant: F6 key.

int KEYCODE_F7

Key code constant: F7 key.

int KEYCODE_F8

Key code constant: F8 key.

int KEYCODE_F9

Key code constant: F9 key.

int KEYCODE_FOCUS

Key code constant: Camera Focus key.

int KEYCODE_FORWARD

Key code constant: Forward key.

int KEYCODE_FORWARD_DEL

Key code constant: Forward Delete key.

int KEYCODE_FUNCTION

Key code constant: Function modifier key.

int KEYCODE_G

Key code constant: 'G' key.

int KEYCODE_GRAVE

Key code constant: '`' (backtick) key.

int KEYCODE_GUIDE

Key code constant: Guide key.

int KEYCODE_H

Key code constant: 'H' key.

int KEYCODE_HEADSETHOOK

Key code constant: Headset Hook key.

int KEYCODE_HELP

Key code constant: Help key.

int KEYCODE_HENKAN

Key code constant: Japanese conversion key.

int KEYCODE_HOME

Key code constant: Home key.

int KEYCODE_I

Key code constant: 'I' key.

int KEYCODE_INFO

Key code constant: Info key.

int KEYCODE_INSERT

Key code constant: Insert key.

int KEYCODE_J

Key code constant: 'J' key.

int KEYCODE_K

Key code constant: 'K' key.

int KEYCODE_KANA

Key code constant: Japanese kana key.

int KEYCODE_KATAKANA_HIRAGANA

Key code constant: Japanese katakana / hiragana key.

int KEYCODE_L

Key code constant: 'L' key.

int KEYCODE_LANGUAGE_SWITCH

Key code constant: Language Switch key.

int KEYCODE_LAST_CHANNEL

Key code constant: Last Channel key.

int KEYCODE_LEFT_BRACKET

Key code constant: '[' key.

int KEYCODE_M

Key code constant: 'M' key.

int KEYCODE_MANNER_MODE

Key code constant: Manner Mode key.

int KEYCODE_MEDIA_AUDIO_TRACK

Key code constant: Audio Track key.

int KEYCODE_MEDIA_CLOSE

Key code constant: Close media key.

int KEYCODE_MEDIA_EJECT

Key code constant: Eject media key.

int KEYCODE_MEDIA_FAST_FORWARD

Key code constant: Fast Forward media key.

int KEYCODE_MEDIA_NEXT

Key code constant: Play Next media key.

int KEYCODE_MEDIA_PAUSE

Key code constant: Pause media key.

int KEYCODE_MEDIA_PLAY

Key code constant: Play media key.

int KEYCODE_MEDIA_PLAY_PAUSE

Key code constant: Play/Pause media key.

int KEYCODE_MEDIA_PREVIOUS

Key code constant: Play Previous media key.

int KEYCODE_MEDIA_RECORD

Key code constant: Record media key.

int KEYCODE_MEDIA_REWIND

Key code constant: Rewind media key.

int KEYCODE_MEDIA_SKIP_BACKWARD

Key code constant: Skip backward media key.

int KEYCODE_MEDIA_SKIP_FORWARD

Key code constant: Skip forward media key.

int KEYCODE_MEDIA_STEP_BACKWARD

Key code constant: Step backward media key.

int KEYCODE_MEDIA_STEP_FORWARD

Key code constant: Step forward media key.

int KEYCODE_MEDIA_STOP

Key code constant: Stop media key.

int KEYCODE_MEDIA_TOP_MENU

Key code constant: Media Top Menu key.

int KEYCODE_MENU

Key code constant: Menu key.

int KEYCODE_META_LEFT

Key code constant: Left Meta modifier key.

int KEYCODE_META_RIGHT

Key code constant: Right Meta modifier key.

int KEYCODE_MINUS

Key code constant: '-'.

int KEYCODE_MOVE_END

Key code constant: End Movement key.

int KEYCODE_MOVE_HOME

Key code constant: Home Movement key.

int KEYCODE_MUHENKAN

Key code constant: Japanese non-conversion key.

int KEYCODE_MUSIC

Key code constant: Music special function key.

int KEYCODE_MUTE

Key code constant: Mute key.

int KEYCODE_N

Key code constant: 'N' key.

int KEYCODE_NAVIGATE_IN

Key code constant: Navigate in key.

int KEYCODE_NAVIGATE_NEXT

Key code constant: Navigate to next key.

int KEYCODE_NAVIGATE_OUT

Key code constant: Navigate out key.

int KEYCODE_NAVIGATE_PREVIOUS

Key code constant: Navigate to previous key.

int KEYCODE_NOTIFICATION

Key code constant: Notification key.

int KEYCODE_NUM

Key code constant: Number modifier key.

int KEYCODE_NUMPAD_0

Key code constant: Numeric keypad '0' key.

int KEYCODE_NUMPAD_1

Key code constant: Numeric keypad '1' key.

int KEYCODE_NUMPAD_2

Key code constant: Numeric keypad '2' key.

int KEYCODE_NUMPAD_3

Key code constant: Numeric keypad '3' key.

int KEYCODE_NUMPAD_4

Key code constant: Numeric keypad '4' key.

int KEYCODE_NUMPAD_5

Key code constant: Numeric keypad '5' key.

int KEYCODE_NUMPAD_6

Key code constant: Numeric keypad '6' key.

int KEYCODE_NUMPAD_7

Key code constant: Numeric keypad '7' key.

int KEYCODE_NUMPAD_8

Key code constant: Numeric keypad '8' key.

int KEYCODE_NUMPAD_9

Key code constant: Numeric keypad '9' key.

int KEYCODE_NUMPAD_ADD

Key code constant: Numeric keypad '+' key (for addition).

int KEYCODE_NUMPAD_COMMA

Key code constant: Numeric keypad ',' key (for decimals or digit grouping).

int KEYCODE_NUMPAD_DIVIDE

Key code constant: Numeric keypad '/' key (for division).

int KEYCODE_NUMPAD_DOT

Key code constant: Numeric keypad '.' key (for decimals or digit grouping).

int KEYCODE_NUMPAD_ENTER

Key code constant: Numeric keypad Enter key.

int KEYCODE_NUMPAD_EQUALS

Key code constant: Numeric keypad '=' key.

int KEYCODE_NUMPAD_LEFT_PAREN

Key code constant: Numeric keypad '(' key.

int KEYCODE_NUMPAD_MULTIPLY

Key code constant: Numeric keypad '*' key (for multiplication).

int KEYCODE_NUMPAD_RIGHT_PAREN

Key code constant: Numeric keypad ')' key.

int KEYCODE_NUMPAD_SUBTRACT

Key code constant: Numeric keypad '-' key (for subtraction).

int KEYCODE_NUM_LOCK

Key code constant: Num Lock key.

int KEYCODE_O

Key code constant: 'O' key.

int KEYCODE_P

Key code constant: 'P' key.

int KEYCODE_PAGE_DOWN

Key code constant: Page Down key.

int KEYCODE_PAGE_UP

Key code constant: Page Up key.

int KEYCODE_PAIRING

Key code constant: Pairing key.

int KEYCODE_PASTE

Key code constant: Paste key.

int KEYCODE_PERIOD

Key code constant: '.' key.

int KEYCODE_PICTSYMBOLS

Key code constant: Picture Symbols modifier key.

int KEYCODE_PLUS

Key code constant: '+' key.

int KEYCODE_POUND

Key code constant: '#' key.

int KEYCODE_POWER

Key code constant: Power key.

int KEYCODE_PROG_BLUE

Key code constant: Blue "programmable" key.

int KEYCODE_PROG_GREEN

Key code constant: Green "programmable" key.

int KEYCODE_PROG_RED

Key code constant: Red "programmable" key.

int KEYCODE_PROG_YELLOW

Key code constant: Yellow "programmable" key.

int KEYCODE_Q

Key code constant: 'Q' key.

int KEYCODE_R

Key code constant: 'R' key.

int KEYCODE_RIGHT_BRACKET

Key code constant: ']' key.

int KEYCODE_RO

Key code constant: Japanese Ro key.

int KEYCODE_S

Key code constant: 'S' key.

int KEYCODE_SCROLL_LOCK

Key code constant: Scroll Lock key.

int KEYCODE_SEARCH

Key code constant: Search key.

int KEYCODE_SEMICOLON

Key code constant: ';' key.

int KEYCODE_SETTINGS

Key code constant: Settings key.

int KEYCODE_SHIFT_LEFT

Key code constant: Left Shift modifier key.

int KEYCODE_SHIFT_RIGHT

Key code constant: Right Shift modifier key.

int KEYCODE_SLASH

Key code constant: '/' key.

int KEYCODE_SLEEP

Key code constant: Sleep key.

int KEYCODE_SOFT_LEFT

Key code constant: Soft Left key.

int KEYCODE_SOFT_RIGHT

Key code constant: Soft Right key.

int KEYCODE_SOFT_SLEEP

Key code constant: put device to sleep unless a wakelock is held.

int KEYCODE_SPACE

Key code constant: Space key.

int KEYCODE_STAR

Key code constant: '*' key.

int KEYCODE_STB_INPUT

Key code constant: Set-top-box input key.

int KEYCODE_STB_POWER

Key code constant: Set-top-box power key.

int KEYCODE_STEM_1

Key code constant: Generic stem key 1 for Wear

int KEYCODE_STEM_2

Key code constant: Generic stem key 2 for Wear

int KEYCODE_STEM_3

Key code constant: Generic stem key 3 for Wear

int KEYCODE_STEM_PRIMARY

Key code constant: Primary stem key for Wear Main power/reset button on watch.

int KEYCODE_SWITCH_CHARSET

Key code constant: Switch Charset modifier key.

int KEYCODE_SYM

Key code constant: Symbol modifier key.

int KEYCODE_SYSRQ

Key code constant: System Request / Print Screen key.

int KEYCODE_T

Key code constant: 'T' key.

int KEYCODE_TAB

Key code constant: Tab key.

int KEYCODE_TV

Key code constant: TV key.

int KEYCODE_TV_ANTENNA_CABLE

Key code constant: Antenna/Cable key.

int KEYCODE_TV_AUDIO_DESCRIPTION

Key code constant: Audio description key.

int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN

Key code constant: Audio description mixing volume down key.

int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP

Key code constant: Audio description mixing volume up key.

int KEYCODE_TV_CONTENTS_MENU

Key code constant: Contents menu key.

int KEYCODE_TV_DATA_SERVICE

Key code constant: TV data service key.

int KEYCODE_TV_INPUT

Key code constant: TV input key.

int KEYCODE_TV_INPUT_COMPONENT_1

Key code constant: Component #1 key.

int KEYCODE_TV_INPUT_COMPONENT_2

Key code constant: Component #2 key.

int KEYCODE_TV_INPUT_COMPOSITE_1

Key code constant: Composite #1 key.

int KEYCODE_TV_INPUT_COMPOSITE_2

Key code constant: Composite #2 key.

int KEYCODE_TV_INPUT_HDMI_1

Key code constant: HDMI #1 key.

int KEYCODE_TV_INPUT_HDMI_2

Key code constant: HDMI #2 key.

int KEYCODE_TV_INPUT_HDMI_3

Key code constant: HDMI #3 key.

int KEYCODE_TV_INPUT_HDMI_4

Key code constant: HDMI #4 key.

int KEYCODE_TV_INPUT_VGA_1

Key code constant: VGA #1 key.

int KEYCODE_TV_MEDIA_CONTEXT_MENU

Key code constant: Media context menu key.

int KEYCODE_TV_NETWORK

Key code constant: Toggle Network key.

int KEYCODE_TV_NUMBER_ENTRY

Key code constant: Number entry key.

int KEYCODE_TV_POWER

Key code constant: TV power key.

int KEYCODE_TV_RADIO_SERVICE

Key code constant: Radio key.

int KEYCODE_TV_SATELLITE

Key code constant: Satellite key.

int KEYCODE_TV_SATELLITE_BS

Key code constant: BS key.

int KEYCODE_TV_SATELLITE_CS

Key code constant: CS key.

int KEYCODE_TV_SATELLITE_SERVICE

Key code constant: BS/CS key.

int KEYCODE_TV_TELETEXT

Key code constant: Teletext key.

int KEYCODE_TV_TERRESTRIAL_ANALOG

Key code constant: Analog Terrestrial key.

int KEYCODE_TV_TERRESTRIAL_DIGITAL

Key code constant: Digital Terrestrial key.

int KEYCODE_TV_TIMER_PROGRAMMING

Key code constant: Timer programming key.

int KEYCODE_TV_ZOOM_MODE

Key code constant: Zoom mode key.

int KEYCODE_U

Key code constant: 'U' key.

int KEYCODE_UNKNOWN

Key code constant: Unknown key code.

int KEYCODE_V

Key code constant: 'V' key.

int KEYCODE_VOICE_ASSIST

Key code constant: Voice Assist key.

int KEYCODE_VOLUME_DOWN

Key code constant: Volume Down key.

int KEYCODE_VOLUME_MUTE

Key code constant: Volume Mute key.

int KEYCODE_VOLUME_UP

Key code constant: Volume Up key.

int KEYCODE_W

Key code constant: 'W' key.

int KEYCODE_WAKEUP

Key code constant: Wakeup key.

int KEYCODE_WINDOW

Key code constant: Window key.

int KEYCODE_X

Key code constant: 'X' key.

int KEYCODE_Y

Key code constant: 'Y' key.

int KEYCODE_YEN

Key code constant: Japanese Yen key.

int KEYCODE_Z

Key code constant: 'Z' key.

int KEYCODE_ZENKAKU_HANKAKU

Key code constant: Japanese full-width / half-width key.

int KEYCODE_ZOOM_IN

Key code constant: Zoom in key.

int KEYCODE_ZOOM_OUT

Key code constant: Zoom out key.

int MAX_KEYCODE

This constant was deprecated in API level 3. There are now more than MAX_KEYCODE keycodes. Use getMaxKeyCode() instead.

int META_ALT_LEFT_ON

This mask is used to check whether the left ALT meta key is pressed.

int META_ALT_MASK

This mask is a combination of META_ALT_ON, META_ALT_LEFT_ON and META_ALT_RIGHT_ON.

int META_ALT_ON

This mask is used to check whether one of the ALT meta keys is pressed.

int META_ALT_RIGHT_ON

This mask is used to check whether the right the ALT meta key is pressed.

int META_CAPS_LOCK_ON

This mask is used to check whether the CAPS LOCK meta key is on.

int META_CTRL_LEFT_ON

This mask is used to check whether the left CTRL meta key is pressed.

int META_CTRL_MASK

This mask is a combination of META_CTRL_ON, META_CTRL_LEFT_ON and META_CTRL_RIGHT_ON.

int META_CTRL_ON

This mask is used to check whether one of the CTRL meta keys is pressed.

int META_CTRL_RIGHT_ON

This mask is used to check whether the right CTRL meta key is pressed.

int META_FUNCTION_ON

This mask is used to check whether the FUNCTION meta key is pressed.

int META_META_LEFT_ON

This mask is used to check whether the left META meta key is pressed.

int META_META_MASK

This mask is a combination of META_META_ON, META_META_LEFT_ON and META_META_RIGHT_ON.

int META_META_ON

This mask is used to check whether one of the META meta keys is pressed.

int META_META_RIGHT_ON

This mask is used to check whether the right META meta key is pressed.

int META_NUM_LOCK_ON

This mask is used to check whether the NUM LOCK meta key is on.

int META_SCROLL_LOCK_ON

This mask is used to check whether the SCROLL LOCK meta key is on.

int META_SHIFT_LEFT_ON

This mask is used to check whether the left SHIFT meta key is pressed.

int META_SHIFT_MASK

This mask is a combination of META_SHIFT_ON, META_SHIFT_LEFT_ON and META_SHIFT_RIGHT_ON.

int META_SHIFT_ON

This mask is used to check whether one of the SHIFT meta keys is pressed.

int META_SHIFT_RIGHT_ON

This mask is used to check whether the right SHIFT meta key is pressed.

int META_SYM_ON

This mask is used to check whether the SYM meta key is pressed.

Inherited constants

From interface android.os.Parcelable

Fields

public static final Creator<KeyEvent> CREATOR

Inherited fields

From class android.view.InputEvent

Public constructors

KeyEvent(int action, int code)

Create a new key event.

KeyEvent(long downTime, long eventTime, int action, int code, int repeat)

Create a new key event.

KeyEvent(long downTime, long eventTime, int action, int code, int repeat, int metaState)

Create a new key event.

KeyEvent(long downTime, long eventTime, int action, int code, int repeat, int metaState, int deviceId, int scancode)

Create a new key event.

KeyEvent(long downTime, long eventTime, int action, int code, int repeat, int metaState, int deviceId, int scancode, int flags)

Create a new key event.

KeyEvent(long downTime, long eventTime, int action, int code, int repeat, int metaState, int deviceId, int scancode, int flags, int source)

Create a new key event.

KeyEvent(long time, String characters, int deviceId, int flags)

Create a new key event for a string of characters.

KeyEvent(KeyEvent origEvent)

Make an exact copy of an existing key event.

KeyEvent(KeyEvent origEvent, long eventTime, int newRepeat)

This constructor was deprecated in API level 5. Use changeTimeRepeat(KeyEvent, long, int) instead.

Public methods

static KeyEvent changeAction(KeyEvent event, int action)

Create a new key event that is the same as the given one, but whose action is replaced with the given value.

static KeyEvent changeFlags(KeyEvent event, int flags)

Create a new key event that is the same as the given one, but whose flags are replaced with the given value.

static KeyEvent changeTimeRepeat(KeyEvent event, long eventTime, int newRepeat, int newFlags)

Create a new key event that is the same as the given one, but whose event time and repeat count are replaced with the given value.

static KeyEvent changeTimeRepeat(KeyEvent event, long eventTime, int newRepeat)

Create a new key event that is the same as the given one, but whose event time and repeat count are replaced with the given value.

final boolean dispatch(KeyEvent.Callback receiver, KeyEvent.DispatcherState state, Object target)

Deliver this key event to a KeyEvent.Callback interface.

final boolean dispatch(KeyEvent.Callback receiver)

This method was deprecated in API level 5. Use dispatch(Callback, DispatcherState, Object) instead.

final int getAction()

Retrieve the action of this key event.

final String getCharacters()

For the special case of a ACTION_MULTIPLE event with key code of KEYCODE_UNKNOWN, this is a raw string of characters associated with the event.

static int getDeadChar(int accent, int c)

Get the character that is produced by putting accent on the character c.

final int getDeviceId()

Gets the id for the device that this event came from.

char getDisplayLabel()

Gets the primary character for this key.

final long getDownTime()

Retrieve the time of the most recent key down event, in the uptimeMillis() time base.

final long getEventTime()

Retrieve the time this event occurred, in the uptimeMillis() time base.

final int getFlags()

Returns the flags for this key event.

final KeyCharacterMap getKeyCharacterMap()

Gets the KeyCharacterMap associated with the keyboard device.

final int getKeyCode()

Retrieve the key code of the key event.

boolean getKeyData(KeyCharacterMap.KeyData results)

This method was deprecated in API level 11. instead use getDisplayLabel(), getNumber() or getUnicodeChar(int).

char getMatch(char[] chars, int metaState)

Gets the first character in the character array that can be generated by the specified key code.

char getMatch(char[] chars)

Gets the first character in the character array that can be generated by the specified key code.

static int getMaxKeyCode()

Returns the maximum keycode.

final int getMetaState()

Returns the state of the meta keys.

static int getModifierMetaStateMask()

Gets a mask that includes all valid modifier key meta state bits.

final int getModifiers()

Returns the state of the modifier keys.

char getNumber()

Gets the number or symbol associated with the key.

final int getRepeatCount()

Retrieve the repeat count of the event.

final int getScanCode()

Retrieve the hardware key id of this key event. These values are not reliable and vary from device to device.

final int getSource()

Gets the source of the event.

int getUnicodeChar(int metaState)

Gets the Unicode character generated by the specified key and meta key state combination.

int getUnicodeChar()

Gets the Unicode character generated by the specified key and meta key state combination.

final boolean hasModifiers(int modifiers)

Returns true if only the specified modifiers keys are pressed.

final boolean hasNoModifiers()

Returns true if no modifier keys are pressed.

final boolean isAltPressed()

Returns the pressed state of the ALT meta key.

final boolean isCanceled()

For ACTION_UP events, indicates that the event has been canceled as per FLAG_CANCELED.

final boolean isCapsLockOn()

Returns the locked state of the CAPS LOCK meta key.

final boolean isCtrlPressed()

Returns the pressed state of the CTRL meta key.

final boolean isFunctionPressed()

Returns the pressed state of the FUNCTION meta key.

static final boolean isGamepadButton(int keyCode)

Returns true if the specified keycode is a gamepad button.

final boolean isLongPress()

For ACTION_DOWN events, indicates that the event has been canceled as per FLAG_LONG_PRESS.

final boolean isMetaPressed()

Returns the pressed state of the META meta key.

static boolean isModifierKey(int keyCode)

Returns true if this key code is a modifier key.

final boolean isNumLockOn()

Returns the locked state of the NUM LOCK meta key.

boolean isPrintingKey()

Returns true if this key produces a glyph.

final boolean isScrollLockOn()

Returns the locked state of the SCROLL LOCK meta key.

final boolean isShiftPressed()

Returns the pressed state of the SHIFT meta key.

final boolean isSymPressed()

Returns the pressed state of the SYM meta key.

final boolean isSystem()

Is this a system key? System keys can not be used for menu shortcuts.

final boolean isTracking()

For ACTION_UP events, indicates that the event is still being tracked from its initial down event as per FLAG_TRACKING.

static int keyCodeFromString(String symbolicName)

Gets a keycode by its symbolic name such as "KEYCODE_A" or an equivalent numeric constant such as "1001".

static String keyCodeToString(int keyCode)

Returns a string that represents the symbolic name of the specified keycode such as "KEYCODE_A", "KEYCODE_DPAD_UP", or an equivalent numeric constant such as "1001" if unknown.

static boolean metaStateHasModifiers(int metaState, int modifiers)

Returns true if only the specified modifier keys are pressed according to the specified meta state.

static boolean metaStateHasNoModifiers(int metaState)

Returns true if no modifiers keys are pressed according to the specified meta state.

static int normalizeMetaState(int metaState)

Normalizes the specified meta state.

final void setSource(int source)

Modifies the source of the event.

final void startTracking()

Call this during onKeyDown(int, KeyEvent) to have the system track the key through its final up (possibly including a long press).

String toString()

Returns a string representation of the object.

void writeToParcel(Parcel out, int flags)

Flatten this object in to a Parcel.

Inherited methods

From class android.view.InputEvent
From class java.lang.Object
From interface android.os.Parcelable

Constants

ACTION_DOWN

Added in API level 1
int ACTION_DOWN

getAction() value: the key has been pressed down.

Constant Value: 0 (0x00000000)

ACTION_MULTIPLE

Added in API level 1
int ACTION_MULTIPLE

getAction() value: multiple duplicate key events have occurred in a row, or a complex string is being delivered. If the key code is not {#link KEYCODE_UNKNOWN then the {#link getRepeatCount() method returns the number of times the given key code should be executed. Otherwise, if the key code is KEYCODE_UNKNOWN, then this is a sequence of characters as returned by getCharacters().

Constant Value: 2 (0x00000002)

ACTION_UP

Added in API level 1
int ACTION_UP

getAction() value: the key has been released.

Constant Value: 1 (0x00000001)

FLAG_CANCELED

Added in API level 5
int FLAG_CANCELED

When associated with up key events, this indicates that the key press has been canceled. Typically this is used with virtual touch screen keys, where the user can slide from the virtual key area on to the display: in that case, the application will receive a canceled up event and should not perform the action normally associated with the key. Note that for this to work, the application can not perform an action for a key until it receives an up or the long press timeout has expired.

Constant Value: 32 (0x00000020)

FLAG_CANCELED_LONG_PRESS

Added in API level 5
int FLAG_CANCELED_LONG_PRESS

Set when a key event has FLAG_CANCELED set because a long press action was executed while it was down.

Constant Value: 256 (0x00000100)

FLAG_EDITOR_ACTION

Added in API level 3
int FLAG_EDITOR_ACTION

This mask is used for compatibility, to identify enter keys that are coming from an IME whose enter key has been auto-labelled "next" or "done". This allows TextView to dispatch these as normal enter keys for old applications, but still do the appropriate action when receiving them.

Constant Value: 16 (0x00000010)

FLAG_FALLBACK

Added in API level 11
int FLAG_FALLBACK

Set when a key event has been synthesized to implement default behavior for an event that the application did not handle. Fallback key events are generated by unhandled trackball motions (to emulate a directional keypad) and by certain unhandled key presses that are declared in the key map (such as special function numeric keypad keys when numlock is off).

Constant Value: 1024 (0x00000400)

FLAG_FROM_SYSTEM

Added in API level 3
int FLAG_FROM_SYSTEM

This mask is set if an event was known to come from a trusted part of the system. That is, the event is known to come from the user, and could not have been spoofed by a third party component.

Constant Value: 8 (0x00000008)

FLAG_KEEP_TOUCH_MODE

Added in API level 3
int FLAG_KEEP_TOUCH_MODE

This mask is set if we don't want the key event to cause us to leave touch mode.

Constant Value: 4 (0x00000004)

FLAG_LONG_PRESS

Added in API level 5
int FLAG_LONG_PRESS

This flag is set for the first key repeat that occurs after the long press timeout.

Constant Value: 128 (0x00000080)

FLAG_SOFT_KEYBOARD

Added in API level 3
int FLAG_SOFT_KEYBOARD

This mask is set if the key event was generated by a software keyboard.

Constant Value: 2 (0x00000002)

FLAG_TRACKING

Added in API level 5
int FLAG_TRACKING

Set for ACTION_UP when this event's key code is still being tracked from its initial down. That is, somebody requested that tracking started on the key down and a long press has not caused the tracking to be canceled.

Constant Value: 512 (0x00000200)

FLAG_VIRTUAL_HARD_KEY

Added in API level 5
int FLAG_VIRTUAL_HARD_KEY

This key event was generated by a virtual (on-screen) hard key area. Typically this is an area of the touchscreen, outside of the regular display, dedicated to "hardware" buttons.

Constant Value: 64 (0x00000040)

FLAG_WOKE_HERE

Added in API level 1
int FLAG_WOKE_HERE

This constant was deprecated in API level 20.
This flag will never be set by the system since the system consumes all wake keys itself.

This mask is set if the device woke because of this key event.

Constant Value: 1 (0x00000001)

KEYCODE_0

Added in API level 1
int KEYCODE_0

Key code constant: '0' key.

Constant Value: 7 (0x00000007)

KEYCODE_1

Added in API level 1
int KEYCODE_1

Key code constant: '1' key.

Constant Value: 8 (0x00000008)

KEYCODE_11

Added in API level 21
int KEYCODE_11

Key code constant: '11' key.

Constant Value: 227 (0x000000e3)

KEYCODE_12

Added in API level 21
int KEYCODE_12

Key code constant: '12' key.

Constant Value: 228 (0x000000e4)

KEYCODE_2

Added in API level 1
int KEYCODE_2

Key code constant: '2' key.

Constant Value: 9 (0x00000009)

KEYCODE_3

Added in API level 1
int KEYCODE_3

Key code constant: '3' key.

Constant Value: 10 (0x0000000a)

KEYCODE_3D_MODE

Added in API level 14
int KEYCODE_3D_MODE

Key code constant: 3D Mode key. Toggles the display between 2D and 3D mode.

Constant Value: 206 (0x000000ce)

KEYCODE_4

Added in API level 1
int KEYCODE_4

Key code constant: '4' key.

Constant Value: 11 (0x0000000b)

KEYCODE_5

Added in API level 1
int KEYCODE_5

Key code constant: '5' key.

Constant Value: 12 (0x0000000c)

KEYCODE_6

Added in API level 1
int KEYCODE_6

Key code constant: '6' key.

Constant Value: 13 (0x0000000d)

KEYCODE_7

Added in API level 1
int KEYCODE_7

Key code constant: '7' key.

Constant Value: 14 (0x0000000e)

KEYCODE_8

Added in API level 1
int KEYCODE_8

Key code constant: '8' key.

Constant Value: 15 (0x0000000f)

KEYCODE_9

Added in API level 1
int KEYCODE_9

Key code constant: '9' key.

Constant Value: 16 (0x00000010)

KEYCODE_A

Added in API level 1
int KEYCODE_A

Key code constant: 'A' key.

Constant Value: 29 (0x0000001d)

KEYCODE_ALT_LEFT

Added in API level 1
int KEYCODE_ALT_LEFT

Key code constant: Left Alt modifier key.

Constant Value: 57 (0x00000039)

KEYCODE_ALT_RIGHT

Added in API level 1
int KEYCODE_ALT_RIGHT

Key code constant: Right Alt modifier key.

Constant Value: 58 (0x0000003a)

KEYCODE_APOSTROPHE

Added in API level 1
int KEYCODE_APOSTROPHE

Key code constant: ''' (apostrophe) key.

Constant Value: 75 (0x0000004b)

KEYCODE_APP_SWITCH

Added in API level 11
int KEYCODE_APP_SWITCH

Key code constant: App switch key. Should bring up the application switcher dialog.

Constant Value: 187 (0x000000bb)

KEYCODE_ASSIST

Added in API level 16
int KEYCODE_ASSIST

Key code constant: Assist key. Launches the global assist activity. Not delivered to applications.

Constant Value: 219 (0x000000db)

KEYCODE_AT

Added in API level 1
int KEYCODE_AT

Key code constant: '@' key.

Constant Value: 77 (0x0000004d)

KEYCODE_AVR_INPUT

Added in API level 11
int KEYCODE_AVR_INPUT

Key code constant: A/V Receiver input key. On TV remotes, switches the input mode on an external A/V Receiver.

Constant Value: 182 (0x000000b6)

KEYCODE_AVR_POWER

Added in API level 11
int KEYCODE_AVR_POWER

Key code constant: A/V Receiver power key. On TV remotes, toggles the power on an external A/V Receiver.

Constant Value: 181 (0x000000b5)

KEYCODE_B

Added in API level 1
int KEYCODE_B

Key code constant: 'B' key.

Constant Value: 30 (0x0000001e)

KEYCODE_BACK

Added in API level 1
int KEYCODE_BACK

Key code constant: Back key.

Constant Value: 4 (0x00000004)

KEYCODE_BACKSLASH

Added in API level 1
int KEYCODE_BACKSLASH

Key code constant: '\' key.

Constant Value: 73 (0x00000049)

KEYCODE_BOOKMARK

Added in API level 11
int KEYCODE_BOOKMARK

Key code constant: Bookmark key. On some TV remotes, bookmarks content or web pages.

Constant Value: 174 (0x000000ae)

KEYCODE_BREAK

Added in API level 11
int KEYCODE_BREAK

Key code constant: Break / Pause key.

Constant Value: 121 (0x00000079)

KEYCODE_BRIGHTNESS_DOWN

Added in API level 18
int KEYCODE_BRIGHTNESS_DOWN

Key code constant: Brightness Down key. Adjusts the screen brightness down.

Constant Value: 220 (0x000000dc)

KEYCODE_BRIGHTNESS_UP

Added in API level 18
int KEYCODE_BRIGHTNESS_UP

Key code constant: Brightness Up key. Adjusts the screen brightness up.

Constant Value: 221 (0x000000dd)

KEYCODE_BUTTON_1

Added in API level 12
int KEYCODE_BUTTON_1

Key code constant: Generic Game Pad Button #1.

Constant Value: 188 (0x000000bc)

KEYCODE_BUTTON_10

Added in API level 12
int KEYCODE_BUTTON_10

Key code constant: Generic Game Pad Button #10.

Constant Value: 197 (0x000000c5)

KEYCODE_BUTTON_11

Added in API level 12
int KEYCODE_BUTTON_11

Key code constant: Generic Game Pad Button #11.

Constant Value: 198 (0x000000c6)

KEYCODE_BUTTON_12

Added in API level 12
int KEYCODE_BUTTON_12

Key code constant: Generic Game Pad Button #12.

Constant Value: 199 (0x000000c7)

KEYCODE_BUTTON_13

Added in API level 12
int KEYCODE_BUTTON_13

Key code constant: Generic Game Pad Button #13.

Constant Value: 200 (0x000000c8)

KEYCODE_BUTTON_14

Added in API level 12
int KEYCODE_BUTTON_14

Key code constant: Generic Game Pad Button #14.

Constant Value: 201 (0x000000c9)

KEYCODE_BUTTON_15

Added in API level 12
int KEYCODE_BUTTON_15

Key code constant: Generic Game Pad Button #15.

Constant Value: 202 (0x000000ca)

KEYCODE_BUTTON_16

Added in API level 12
int KEYCODE_BUTTON_16

Key code constant: Generic Game Pad Button #16.

Constant Value: 203 (0x000000cb)

KEYCODE_BUTTON_2

Added in API level 12
int KEYCODE_BUTTON_2

Key code constant: Generic Game Pad Button #2.

Constant Value: 189 (0x000000bd)

KEYCODE_BUTTON_3

Added in API level 12
int KEYCODE_BUTTON_3

Key code constant: Generic Game Pad Button #3.

Constant Value: 190 (0x000000be)

KEYCODE_BUTTON_4

Added in API level 12
int KEYCODE_BUTTON_4

Key code constant: Generic Game Pad Button #4.

Constant Value: 191 (0x000000bf)

KEYCODE_BUTTON_5

Added in API level 12
int KEYCODE_BUTTON_5

Key code constant: Generic Game Pad Button #5.

Constant Value: 192 (0x000000c0)

KEYCODE_BUTTON_6

Added in API level 12
int KEYCODE_BUTTON_6

Key code constant: Generic Game Pad Button #6.

Constant Value: 193 (0x000000c1)

KEYCODE_BUTTON_7

Added in API level 12
int KEYCODE_BUTTON_7

Key code constant: Generic Game Pad Button #7.

Constant Value: 194 (0x000000c2)

KEYCODE_BUTTON_8

Added in API level 12
int KEYCODE_BUTTON_8

Key code constant: Generic Game Pad Button #8.

Constant Value: 195 (0x000000c3)

KEYCODE_BUTTON_9

Added in API level 12
int KEYCODE_BUTTON_9

Key code constant: Generic Game Pad Button #9.

Constant Value: 196 (0x000000c4)

KEYCODE_BUTTON_A

Added in API level 9
int KEYCODE_BUTTON_A

Key code constant: A Button key. On a game controller, the A button should be either the button labeled A or the first button on the bottom row of controller buttons.

Constant Value: 96 (0x00000060)

KEYCODE_BUTTON_B

Added in API level 9
int KEYCODE_BUTTON_B

Key code constant: B Button key. On a game controller, the B button should be either the button labeled B or the second button on the bottom row of controller buttons.

Constant Value: 97 (0x00000061)

KEYCODE_BUTTON_C

Added in API level 9
int KEYCODE_BUTTON_C

Key code constant: C Button key. On a game controller, the C button should be either the button labeled C or the third button on the bottom row of controller buttons.

Constant Value: 98 (0x00000062)

KEYCODE_BUTTON_L1

Added in API level 9
int KEYCODE_BUTTON_L1

Key code constant: L1 Button key. On a game controller, the L1 button should be either the button labeled L1 (or L) or the top left trigger button.

Constant Value: 102 (0x00000066)

KEYCODE_BUTTON_L2

Added in API level 9
int KEYCODE_BUTTON_L2

Key code constant: L2 Button key. On a game controller, the L2 button should be either the button labeled L2 or the bottom left trigger button.

Constant Value: 104 (0x00000068)

KEYCODE_BUTTON_MODE

Added in API level 9
int KEYCODE_BUTTON_MODE

Key code constant: Mode Button key. On a game controller, the button labeled Mode.

Constant Value: 110 (0x0000006e)

KEYCODE_BUTTON_R1

Added in API level 9
int KEYCODE_BUTTON_R1

Key code constant: R1 Button key. On a game controller, the R1 button should be either the button labeled R1 (or R) or the top right trigger button.

Constant Value: 103 (0x00000067)

KEYCODE_BUTTON_R2

Added in API level 9
int KEYCODE_BUTTON_R2

Key code constant: R2 Button key. On a game controller, the R2 button should be either the button labeled R2 or the bottom right trigger button.

Constant Value: 105 (0x00000069)

KEYCODE_BUTTON_SELECT

Added in API level 9
int KEYCODE_BUTTON_SELECT

Key code constant: Select Button key. On a game controller, the button labeled Select.

Constant Value: 109 (0x0000006d)

KEYCODE_BUTTON_START

Added in API level 9
int KEYCODE_BUTTON_START

Key code constant: Start Button key. On a game controller, the button labeled Start.

Constant Value: 108 (0x0000006c)

KEYCODE_BUTTON_THUMBL

Added in API level 9
int KEYCODE_BUTTON_THUMBL

Key code constant: Left Thumb Button key. On a game controller, the left thumb button indicates that the left (or only) joystick is pressed.

Constant Value: 106 (0x0000006a)

KEYCODE_BUTTON_THUMBR

Added in API level 9
int KEYCODE_BUTTON_THUMBR

Key code constant: Right Thumb Button key. On a game controller, the right thumb button indicates that the right joystick is pressed.

Constant Value: 107 (0x0000006b)

KEYCODE_BUTTON_X

Added in API level 9
int KEYCODE_BUTTON_X

Key code constant: X Button key. On a game controller, the X button should be either the button labeled X or the first button on the upper row of controller buttons.

Constant Value: 99 (0x00000063)

KEYCODE_BUTTON_Y

Added in API level 9
int KEYCODE_BUTTON_Y

Key code constant: Y Button key. On a game controller, the Y button should be either the button labeled Y or the second button on the upper row of controller buttons.

Constant Value: 100 (0x00000064)

KEYCODE_BUTTON_Z

Added in API level 9
int KEYCODE_BUTTON_Z

Key code constant: Z Button key. On a game controller, the Z button should be either the button labeled Z or the third button on the upper row of controller buttons.

Constant Value: 101 (0x00000065)

KEYCODE_C

Added in API level 1
int KEYCODE_C

Key code constant: 'C' key.

Constant Value: 31 (0x0000001f)

KEYCODE_CALCULATOR

Added in API level 15
int KEYCODE_CALCULATOR

Key code constant: Calculator special function key. Used to launch a calculator application.

Constant Value: 210 (0x000000d2)

KEYCODE_CALENDAR

Added in API level 15
int KEYCODE_CALENDAR

Key code constant: Calendar special function key. Used to launch a calendar application.

Constant Value: 208 (0x000000d0)

KEYCODE_CALL

Added in API level 1
int KEYCODE_CALL

Key code constant: Call key.

Constant Value: 5 (0x00000005)

KEYCODE_CAMERA

Added in API level 1
int KEYCODE_CAMERA

Key code constant: Camera key. Used to launch a camera application or take pictures.

Constant Value: 27 (0x0000001b)

KEYCODE_CAPS_LOCK

Added in API level 11
int KEYCODE_CAPS_LOCK

Key code constant: Caps Lock key.

Constant Value: 115 (0x00000073)

KEYCODE_CAPTIONS

Added in API level 11
int KEYCODE_CAPTIONS

Key code constant: Toggle captions key. Switches the mode for closed-captioning text, for example during television shows.

Constant Value: 175 (0x000000af)

KEYCODE_CHANNEL_DOWN

Added in API level 11
int KEYCODE_CHANNEL_DOWN

Key code constant: Channel down key. On TV remotes, decrements the television channel.

Constant Value: 167 (0x000000a7)

KEYCODE_CHANNEL_UP

Added in API level 11
int KEYCODE_CHANNEL_UP

Key code constant: Channel up key. On TV remotes, increments the television channel.

Constant Value: 166 (0x000000a6)

KEYCODE_CLEAR

Added in API level 1
int KEYCODE_CLEAR

Key code constant: Clear key.

Constant Value: 28 (0x0000001c)

KEYCODE_COMMA

Added in API level 1
int KEYCODE_COMMA

Key code constant: ',' key.

Constant Value: 55 (0x00000037)

KEYCODE_CONTACTS

Added in API level 15
int KEYCODE_CONTACTS

Key code constant: Contacts special function key. Used to launch an address book application.

Constant Value: 207 (0x000000cf)

KEYCODE_COPY

Added in API level 24
int KEYCODE_COPY

Key code constant: Copy key.

Constant Value: 278 (0x00000116)

KEYCODE_CTRL_LEFT

Added in API level 11
int KEYCODE_CTRL_LEFT

Key code constant: Left Control modifier key.

Constant Value: 113 (0x00000071)

KEYCODE_CTRL_RIGHT

Added in API level 11
int KEYCODE_CTRL_RIGHT

Key code constant: Right Control modifier key.

Constant Value: 114 (0x00000072)

KEYCODE_CUT

Added in API level 24
int KEYCODE_CUT

Key code constant: Cut key.

Constant Value: 277 (0x00000115)

KEYCODE_D

Added in API level 1
int KEYCODE_D

Key code constant: 'D' key.

Constant Value: 32 (0x00000020)

KEYCODE_DEL

Added in API level 1
int KEYCODE_DEL

Key code constant: Backspace key. Deletes characters before the insertion point, unlike KEYCODE_FORWARD_DEL.

Constant Value: 67 (0x00000043)

KEYCODE_DPAD_CENTER

Added in API level 1
int KEYCODE_DPAD_CENTER

Key code constant: Directional Pad Center key. May also be synthesized from trackball motions.

Constant Value: 23 (0x00000017)

KEYCODE_DPAD_DOWN

Added in API level 1
int KEYCODE_DPAD_DOWN

Key code constant: Directional Pad Down key. May also be synthesized from trackball motions.

Constant Value: 20 (0x00000014)

KEYCODE_DPAD_DOWN_LEFT

Added in API level 24
int KEYCODE_DPAD_DOWN_LEFT

Key code constant: Directional Pad Down-Left

Constant Value: 269 (0x0000010d)

KEYCODE_DPAD_DOWN_RIGHT

Added in API level 24
int KEYCODE_DPAD_DOWN_RIGHT

Key code constant: Directional Pad Down-Right

Constant Value: 271 (0x0000010f)

KEYCODE_DPAD_LEFT

Added in API level 1
int KEYCODE_DPAD_LEFT

Key code constant: Directional Pad Left key. May also be synthesized from trackball motions.

Constant Value: 21 (0x00000015)

KEYCODE_DPAD_RIGHT

Added in API level 1
int KEYCODE_DPAD_RIGHT

Key code constant: Directional Pad Right key. May also be synthesized from trackball motions.

Constant Value: 22 (0x00000016)

KEYCODE_DPAD_UP

Added in API level 1
int KEYCODE_DPAD_UP

Key code constant: Directional Pad Up key. May also be synthesized from trackball motions.

Constant Value: 19 (0x00000013)

KEYCODE_DPAD_UP_LEFT

Added in API level 24
int KEYCODE_DPAD_UP_LEFT

Key code constant: Directional Pad Up-Left

Constant Value: 268 (0x0000010c)

KEYCODE_DPAD_UP_RIGHT

Added in API level 24
int KEYCODE_DPAD_UP_RIGHT

Key code constant: Directional Pad Up-Right

Constant Value: 270 (0x0000010e)

KEYCODE_DVR

Added in API level 11
int KEYCODE_DVR

Key code constant: DVR key. On some TV remotes, switches to a DVR mode for recorded shows.

Constant Value: 173 (0x000000ad)

KEYCODE_E

Added in API level 1
int KEYCODE_E

Key code constant: 'E' key.

Constant Value: 33 (0x00000021)

KEYCODE_EISU

Added in API level 16
int KEYCODE_EISU

Key code constant: Japanese alphanumeric key.

Constant Value: 212 (0x000000d4)

KEYCODE_ENDCALL

Added in API level 1
int KEYCODE_ENDCALL

Key code constant: End Call key.

Constant Value: 6 (0x00000006)

KEYCODE_ENTER

Added in API level 1
int KEYCODE_ENTER

Key code constant: Enter key.

Constant Value: 66 (0x00000042)

KEYCODE_ENVELOPE

Added in API level 1
int KEYCODE_ENVELOPE

Key code constant: Envelope special function key. Used to launch a mail application.

Constant Value: 65 (0x00000041)

KEYCODE_EQUALS

Added in API level 1
int KEYCODE_EQUALS

Key code constant: '=' key.

Constant Value: 70 (0x00000046)

KEYCODE_ESCAPE

Added in API level 11
int KEYCODE_ESCAPE

Key code constant: Escape key.

Constant Value: 111 (0x0000006f)

KEYCODE_EXPLORER

Added in API level 1
int KEYCODE_EXPLORER

Key code constant: Explorer special function key. Used to launch a browser application.

Constant Value: 64 (0x00000040)

KEYCODE_F

Added in API level 1
int KEYCODE_F

Key code constant: 'F' key.

Constant Value: 34 (0x00000022)

KEYCODE_F1

Added in API level 11
int KEYCODE_F1

Key code constant: F1 key.

Constant Value: 131 (0x00000083)

KEYCODE_F10

Added in API level 11
int KEYCODE_F10

Key code constant: F10 key.

Constant Value: 140 (0x0000008c)

KEYCODE_F11

Added in API level 11
int KEYCODE_F11

Key code constant: F11 key.

Constant Value: 141 (0x0000008d)

KEYCODE_F12

Added in API level 11
int KEYCODE_F12

Key code constant: F12 key.

Constant Value: 142 (0x0000008e)

KEYCODE_F2

Added in API level 11
int KEYCODE_F2

Key code constant: F2 key.

Constant Value: 132 (0x00000084)

KEYCODE_F3

Added in API level 11
int KEYCODE_F3

Key code constant: F3 key.

Constant Value: 133 (0x00000085)

KEYCODE_F4

Added in API level 11
int KEYCODE_F4

Key code constant: F4 key.

Constant Value: 134 (0x00000086)

KEYCODE_F5

Added in API level 11
int KEYCODE_F5

Key code constant: F5 key.

Constant Value: 135 (0x00000087)

KEYCODE_F6

Added in API level 11
int KEYCODE_F6

Key code constant: F6 key.

Constant Value: 136 (0x00000088)

KEYCODE_F7

Added in API level 11
int KEYCODE_F7

Key code constant: F7 key.

Constant Value: 137 (0x00000089)

KEYCODE_F8

Added in API level 11
int KEYCODE_F8

Key code constant: F8 key.

Constant Value: 138 (0x0000008a)

KEYCODE_F9

Added in API level 11
int KEYCODE_F9

Key code constant: F9 key.

Constant Value: 139 (0x0000008b)

KEYCODE_FOCUS

Added in API level 1
int KEYCODE_FOCUS

Key code constant: Camera Focus key. Used to focus the camera.

Constant Value: 80 (0x00000050)

KEYCODE_FORWARD

Added in API level 11
int KEYCODE_FORWARD

Key code constant: Forward key. Navigates forward in the history stack. Complement of KEYCODE_BACK.

Constant Value: 125 (0x0000007d)

KEYCODE_FORWARD_DEL

Added in API level 11
int KEYCODE_FORWARD_DEL

Key code constant: Forward Delete key. Deletes characters ahead of the insertion point, unlike KEYCODE_DEL.

Constant Value: 112 (0x00000070)

KEYCODE_FUNCTION

Added in API level 11
int KEYCODE_FUNCTION

Key code constant: Function modifier key.

Constant Value: 119 (0x00000077)

KEYCODE_G

Added in API level 1
int KEYCODE_G

Key code constant: 'G' key.

Constant Value: 35 (0x00000023)

KEYCODE_GRAVE

Added in API level 1
int KEYCODE_GRAVE

Key code constant: '`' (backtick) key.

Constant Value: 68 (0x00000044)

KEYCODE_GUIDE

Added in API level 11
int KEYCODE_GUIDE

Key code constant: Guide key. On TV remotes, shows a programming guide.

Constant Value: 172 (0x000000ac)

KEYCODE_H

Added in API level 1
int KEYCODE_H

Key code constant: 'H' key.

Constant Value: 36 (0x00000024)

KEYCODE_HEADSETHOOK

Added in API level 1
int KEYCODE_HEADSETHOOK

Key code constant: Headset Hook key. Used to hang up calls and stop media.

Constant Value: 79 (0x0000004f)

KEYCODE_HELP

Added in API level 21
int KEYCODE_HELP

Key code constant: Help key.

Constant Value: 259 (0x00000103)

KEYCODE_HENKAN

Added in API level 16
int KEYCODE_HENKAN

Key code constant: Japanese conversion key.

Constant Value: 214 (0x000000d6)

KEYCODE_HOME

Added in API level 1
int KEYCODE_HOME

Key code constant: Home key. This key is handled by the framework and is never delivered to applications.

Constant Value: 3 (0x00000003)

KEYCODE_I

Added in API level 1
int KEYCODE_I

Key code constant: 'I' key.

Constant Value: 37 (0x00000025)

KEYCODE_INFO

Added in API level 11
int KEYCODE_INFO

Key code constant: Info key. Common on TV remotes to show additional information related to what is currently being viewed.

Constant Value: 165 (0x000000a5)

KEYCODE_INSERT

Added in API level 11
int KEYCODE_INSERT

Key code constant: Insert key. Toggles insert / overwrite edit mode.

Constant Value: 124 (0x0000007c)

KEYCODE_J

Added in API level 1
int KEYCODE_J

Key code constant: 'J' key.

Constant Value: 38 (0x00000026)

KEYCODE_K

Added in API level 1
int KEYCODE_K

Key code constant: 'K' key.

Constant Value: 39 (0x00000027)

KEYCODE_KANA

Added in API level 16
int KEYCODE_KANA

Key code constant: Japanese kana key.

Constant Value: 218 (0x000000da)

KEYCODE_KATAKANA_HIRAGANA

Added in API level 16
int KEYCODE_KATAKANA_HIRAGANA

Key code constant: Japanese katakana / hiragana key.

Constant Value: 215 (0x000000d7)

KEYCODE_L

Added in API level 1
int KEYCODE_L

Key code constant: 'L' key.

Constant Value: 40 (0x00000028)

KEYCODE_LANGUAGE_SWITCH

Added in API level 14
int KEYCODE_LANGUAGE_SWITCH

Key code constant: Language Switch key. Toggles the current input language such as switching between English and Japanese on a QWERTY keyboard. On some devices, the same function may be performed by pressing Shift+Spacebar.

Constant Value: 204 (0x000000cc)

KEYCODE_LAST_CHANNEL

Added in API level 21
int KEYCODE_LAST_CHANNEL

Key code constant: Last Channel key. Goes to the last viewed channel.

Constant Value: 229 (0x000000e5)

KEYCODE_LEFT_BRACKET

Added in API level 1
int KEYCODE_LEFT_BRACKET

Key code constant: '[' key.

Constant Value: 71 (0x00000047)

KEYCODE_M

Added in API level 1
int KEYCODE_M

Key code constant: 'M' key.

Constant Value: 41 (0x00000029)

KEYCODE_MANNER_MODE

Added in API level 14
int KEYCODE_MANNER_MODE

Key code constant: Manner Mode key. Toggles silent or vibrate mode on and off to make the device behave more politely in certain settings such as on a crowded train. On some devices, the key may only operate when long-pressed.

Constant Value: 205 (0x000000cd)

KEYCODE_MEDIA_AUDIO_TRACK

Added in API level 19
int KEYCODE_MEDIA_AUDIO_TRACK

Key code constant: Audio Track key. Switches the audio tracks.

Constant Value: 222 (0x000000de)

KEYCODE_MEDIA_CLOSE

Added in API level 11
int KEYCODE_MEDIA_CLOSE

Key code constant: Close media key. May be used to close a CD tray, for example.

Constant Value: 128 (0x00000080)

KEYCODE_MEDIA_EJECT

Added in API level 11
int KEYCODE_MEDIA_EJECT

Key code constant: Eject media key. May be used to eject a CD tray, for example.

Constant Value: 129 (0x00000081)

KEYCODE_MEDIA_FAST_FORWARD

Added in API level 3
int KEYCODE_MEDIA_FAST_FORWARD

Key code constant: Fast Forward media key.

Constant Value: 90 (0x0000005a)

KEYCODE_MEDIA_NEXT

Added in API level 3
int KEYCODE_MEDIA_NEXT

Key code constant: Play Next media key.

Constant Value: 87 (0x00000057)

KEYCODE_MEDIA_PAUSE

Added in API level 11
int KEYCODE_MEDIA_PAUSE

Key code constant: Pause media key.

Constant Value: 127 (0x0000007f)

KEYCODE_MEDIA_PLAY

Added in API level 11
int KEYCODE_MEDIA_PLAY

Key code constant: Play media key.

Constant Value: 126 (0x0000007e)

KEYCODE_MEDIA_PLAY_PAUSE

Added in API level 3
int KEYCODE_MEDIA_PLAY_PAUSE

Key code constant: Play/Pause media key.

Constant Value: 85 (0x00000055)

KEYCODE_MEDIA_PREVIOUS

Added in API level 3
int KEYCODE_MEDIA_PREVIOUS

Key code constant: Play Previous media key.

Constant Value: 88 (0x00000058)

KEYCODE_MEDIA_RECORD

Added in API level 11
int KEYCODE_MEDIA_RECORD

Key code constant: Record media key.

Constant Value: 130 (0x00000082)

KEYCODE_MEDIA_REWIND

Added in API level 3
int KEYCODE_MEDIA_REWIND

Key code constant: Rewind media key.

Constant Value: 89 (0x00000059)

KEYCODE_MEDIA_SKIP_BACKWARD

Added in API level 23
int KEYCODE_MEDIA_SKIP_BACKWARD

Key code constant: Skip backward media key.

Constant Value: 273 (0x00000111)

KEYCODE_MEDIA_SKIP_FORWARD

Added in API level 23
int KEYCODE_MEDIA_SKIP_FORWARD

Key code constant: Skip forward media key.

Constant Value: 272 (0x00000110)

KEYCODE_MEDIA_STEP_BACKWARD

Added in API level 23
int KEYCODE_MEDIA_STEP_BACKWARD

Key code constant: Step backward media key. Steps media backward, one frame at a time.

Constant Value: 275 (0x00000113)

KEYCODE_MEDIA_STEP_FORWARD

Added in API level 23
int KEYCODE_MEDIA_STEP_FORWARD

Key code constant: Step forward media key. Steps media forward, one frame at a time.

Constant Value: 274 (0x00000112)

KEYCODE_MEDIA_STOP

Added in API level 3
int KEYCODE_MEDIA_STOP

Key code constant: Stop media key.

Constant Value: 86 (0x00000056)

KEYCODE_MEDIA_TOP_MENU

Added in API level 21
int KEYCODE_MEDIA_TOP_MENU

Key code constant: Media Top Menu key. Goes to the top of media menu.

Constant Value: 226 (0x000000e2)

KEYCODE_MENU

Added in API level 1
int KEYCODE_MENU

Key code constant: Menu key.

Constant Value: 82 (0x00000052)

KEYCODE_META_LEFT

Added in API level 11
int KEYCODE_META_LEFT

Key code constant: Left Meta modifier key.

Constant Value: 117 (0x00000075)

KEYCODE_META_RIGHT

Added in API level 11
int KEYCODE_META_RIGHT

Key code constant: Right Meta modifier key.

Constant Value: 118 (0x00000076)

KEYCODE_MINUS

Added in API level 1
int KEYCODE_MINUS

Key code constant: '-'.

Constant Value: 69 (0x00000045)

KEYCODE_MOVE_END

Added in API level 11
int KEYCODE_MOVE_END

Key code constant: End Movement key. Used for scrolling or moving the cursor around to the end of a line or to the bottom of a list.

Constant Value: 123 (0x0000007b)

KEYCODE_MOVE_HOME

Added in API level 11
int KEYCODE_MOVE_HOME

Key code constant: Home Movement key. Used for scrolling or moving the cursor around to the start of a line or to the top of a list.

Constant Value: 122 (0x0000007a)

KEYCODE_MUHENKAN

Added in API level 16
int KEYCODE_MUHENKAN

Key code constant: Japanese non-conversion key.

Constant Value: 213 (0x000000d5)

KEYCODE_MUSIC

Added in API level 15
int KEYCODE_MUSIC

Key code constant: Music special function key. Used to launch a music player application.

Constant Value: 209 (0x000000d1)

KEYCODE_MUTE

Added in API level 3
int KEYCODE_MUTE

Key code constant: Mute key. Mutes the microphone, unlike KEYCODE_VOLUME_MUTE.

Constant Value: 91 (0x0000005b)

KEYCODE_N

Added in API level 1
int KEYCODE_N

Key code constant: 'N' key.

Constant Value: 42 (0x0000002a)

KEYCODE_NAVIGATE_IN

Added in API level 23
int KEYCODE_NAVIGATE_IN

Key code constant: Navigate in key. Activates the item that currently has focus or expands to the next level of a navigation hierarchy.

Constant Value: 262 (0x00000106)

KEYCODE_NAVIGATE_NEXT

Added in API level 23
int KEYCODE_NAVIGATE_NEXT

Key code constant: Navigate to next key. Advances to the next item in an ordered collection of items.

Constant Value: 261 (0x00000105)

KEYCODE_NAVIGATE_OUT

Added in API level 23
int KEYCODE_NAVIGATE_OUT

Key code constant: Navigate out key. Backs out one level of a navigation hierarchy or collapses the item that currently has focus.

Constant Value: 263 (0x00000107)

KEYCODE_NAVIGATE_PREVIOUS

Added in API level 23
int KEYCODE_NAVIGATE_PREVIOUS

Key code constant: Navigate to previous key. Goes backward by one item in an ordered collection of items.

Constant Value: 260 (0x00000104)

KEYCODE_NOTIFICATION

Added in API level 1
int KEYCODE_NOTIFICATION

Key code constant: Notification key.

Constant Value: 83 (0x00000053)

KEYCODE_NUM

Added in API level 1
int KEYCODE_NUM

Key code constant: Number modifier key. Used to enter numeric symbols. This key is not Num Lock; it is more like KEYCODE_ALT_LEFT and is interpreted as an ALT key by MetaKeyKeyListener.

Constant Value: 78 (0x0000004e)

KEYCODE_NUMPAD_0

Added in API level 11
int KEYCODE_NUMPAD_0

Key code constant: Numeric keypad '0' key.

Constant Value: 144 (0x00000090)

KEYCODE_NUMPAD_1

Added in API level 11
int KEYCODE_NUMPAD_1

Key code constant: Numeric keypad '1' key.

Constant Value: 145 (0x00000091)

KEYCODE_NUMPAD_2

Added in API level 11
int KEYCODE_NUMPAD_2

Key code constant: Numeric keypad '2' key.

Constant Value: 146 (0x00000092)

KEYCODE_NUMPAD_3

Added in API level 11
int KEYCODE_NUMPAD_3

Key code constant: Numeric keypad '3' key.

Constant Value: 147 (0x00000093)

KEYCODE_NUMPAD_4

Added in API level 11
int KEYCODE_NUMPAD_4

Key code constant: Numeric keypad '4' key.

Constant Value: 148 (0x00000094)

KEYCODE_NUMPAD_5

Added in API level 11
int KEYCODE_NUMPAD_5

Key code constant: Numeric keypad '5' key.

Constant Value: 149 (0x00000095)

KEYCODE_NUMPAD_6

Added in API level 11
int KEYCODE_NUMPAD_6

Key code constant: Numeric keypad '6' key.

Constant Value: 150 (0x00000096)

KEYCODE_NUMPAD_7

Added in API level 11
int KEYCODE_NUMPAD_7

Key code constant: Numeric keypad '7' key.

Constant Value: 151 (0x00000097)

KEYCODE_NUMPAD_8

Added in API level 11
int KEYCODE_NUMPAD_8

Key code constant: Numeric keypad '8' key.

Constant Value: 152 (0x00000098)

KEYCODE_NUMPAD_9

Added in API level 11
int KEYCODE_NUMPAD_9

Key code constant: Numeric keypad '9' key.

Constant Value: 153 (0x00000099)

KEYCODE_NUMPAD_ADD

Added in API level 11
int KEYCODE_NUMPAD_ADD

Key code constant: Numeric keypad '+' key (for addition).

Constant Value: 157 (0x0000009d)

KEYCODE_NUMPAD_COMMA

Added in API level 11
int KEYCODE_NUMPAD_COMMA

Key code constant: Numeric keypad ',' key (for decimals or digit grouping).

Constant Value: 159 (0x0000009f)

KEYCODE_NUMPAD_DIVIDE

Added in API level 11
int KEYCODE_NUMPAD_DIVIDE

Key code constant: Numeric keypad '/' key (for division).

Constant Value: 154 (0x0000009a)

KEYCODE_NUMPAD_DOT

Added in API level 11
int KEYCODE_NUMPAD_DOT

Key code constant: Numeric keypad '.' key (for decimals or digit grouping).

Constant Value: 158 (0x0000009e)

KEYCODE_NUMPAD_ENTER

Added in API level 11
int KEYCODE_NUMPAD_ENTER

Key code constant: Numeric keypad Enter key.

Constant Value: 160 (0x000000a0)

KEYCODE_NUMPAD_EQUALS

Added in API level 11
int KEYCODE_NUMPAD_EQUALS

Key code constant: Numeric keypad '=' key.

Constant Value: 161 (0x000000a1)

KEYCODE_NUMPAD_LEFT_PAREN

Added in API level 11
int KEYCODE_NUMPAD_LEFT_PAREN

Key code constant: Numeric keypad '(' key.

Constant Value: 162 (0x000000a2)

KEYCODE_NUMPAD_MULTIPLY

Added in API level 11
int KEYCODE_NUMPAD_MULTIPLY

Key code constant: Numeric keypad '*' key (for multiplication).

Constant Value: 155 (0x0000009b)

KEYCODE_NUMPAD_RIGHT_PAREN

Added in API level 11
int KEYCODE_NUMPAD_RIGHT_PAREN

Key code constant: Numeric keypad ')' key.

Constant Value: 163 (0x000000a3)

KEYCODE_NUMPAD_SUBTRACT

Added in API level 11
int KEYCODE_NUMPAD_SUBTRACT

Key code constant: Numeric keypad '-' key (for subtraction).

Constant Value: 156 (0x0000009c)

KEYCODE_NUM_LOCK

Added in API level 11
int KEYCODE_NUM_LOCK

Key code constant: Num Lock key. This is the Num Lock key; it is different from KEYCODE_NUM. This key alters the behavior of other keys on the numeric keypad.

Constant Value: 143 (0x0000008f)

KEYCODE_O

Added in API level 1
int KEYCODE_O

Key code constant: 'O' key.

Constant Value: 43 (0x0000002b)

KEYCODE_P

Added in API level 1
int KEYCODE_P

Key code constant: 'P' key.

Constant Value: 44 (0x0000002c)

KEYCODE_PAGE_DOWN

Added in API level 9
int KEYCODE_PAGE_DOWN

Key code constant: Page Down key.

Constant Value: 93 (0x0000005d)

KEYCODE_PAGE_UP

Added in API level 9
int KEYCODE_PAGE_UP

Key code constant: Page Up key.

Constant Value: 92 (0x0000005c)

KEYCODE_PAIRING

Added in API level 21
int KEYCODE_PAIRING

Key code constant: Pairing key. Initiates peripheral pairing mode. Useful for pairing remote control devices or game controllers, especially if no other input mode is available.

Constant Value: 225 (0x000000e1)

KEYCODE_PASTE

Added in API level 24
int KEYCODE_PASTE

Key code constant: Paste key.

Constant Value: 279 (0x00000117)

KEYCODE_PERIOD

Added in API level 1
int KEYCODE_PERIOD

Key code constant: '.' key.

Constant Value: 56 (0x00000038)

KEYCODE_PICTSYMBOLS

Added in API level 9
int KEYCODE_PICTSYMBOLS

Key code constant: Picture Symbols modifier key. Used to switch symbol sets (Emoji, Kao-moji).

Constant Value: 94 (0x0000005e)

KEYCODE_PLUS

Added in API level 1
int KEYCODE_PLUS

Key code constant: '+' key.

Constant Value: 81 (0x00000051)

KEYCODE_POUND

Added in API level 1
int KEYCODE_POUND

Key code constant: '#' key.

Constant Value: 18 (0x00000012)

KEYCODE_POWER

Added in API level 1
int KEYCODE_POWER

Key code constant: Power key.

Constant Value: 26 (0x0000001a)

KEYCODE_PROG_BLUE

Added in API level 11
int KEYCODE_PROG_BLUE

Key code constant: Blue "programmable" key. On TV remotes, acts as a contextual/programmable key.

Constant Value: 186 (0x000000ba)

KEYCODE_PROG_GREEN

Added in API level 11
int KEYCODE_PROG_GREEN

Key code constant: Green "programmable" key. On TV remotes, actsas a contextual/programmable key.

Constant Value: 184 (0x000000b8)

KEYCODE_PROG_RED

Added in API level 11
int KEYCODE_PROG_RED

Key code constant: Red "programmable" key. On TV remotes, acts as a contextual/programmable key.

Constant Value: 183 (0x000000b7)

KEYCODE_PROG_YELLOW

Added in API level 11
int KEYCODE_PROG_YELLOW

Key code constant: Yellow "programmable" key. On TV remotes, acts as a contextual/programmable key.

Constant Value: 185 (0x000000b9)

KEYCODE_Q

Added in API level 1
int KEYCODE_Q

Key code constant: 'Q' key.

Constant Value: 45 (0x0000002d)

KEYCODE_R

Added in API level 1
int KEYCODE_R

Key code constant: 'R' key.

Constant Value: 46 (0x0000002e)

KEYCODE_RIGHT_BRACKET

Added in API level 1
int KEYCODE_RIGHT_BRACKET

Key code constant: ']' key.

Constant Value: 72 (0x00000048)

KEYCODE_RO

Added in API level 16
int KEYCODE_RO

Key code constant: Japanese Ro key.

Constant Value: 217 (0x000000d9)

KEYCODE_S

Added in API level 1
int KEYCODE_S

Key code constant: 'S' key.

Constant Value: 47 (0x0000002f)

KEYCODE_SCROLL_LOCK

Added in API level 11
int KEYCODE_SCROLL_LOCK

Key code constant: Scroll Lock key.

Constant Value: 116 (0x00000074)

KEYCODE_SEARCH

Added in API level 1
int KEYCODE_SEARCH

Key code constant: Search key.

Constant Value: 84 (0x00000054)

KEYCODE_SEMICOLON

Added in API level 1
int KEYCODE_SEMICOLON

Key code constant: ';' key.

Constant Value: 74 (0x0000004a)

KEYCODE_SETTINGS

Added in API level 11
int KEYCODE_SETTINGS

Key code constant: Settings key. Starts the system settings activity.

Constant Value: 176 (0x000000b0)

KEYCODE_SHIFT_LEFT

Added in API level 1
int KEYCODE_SHIFT_LEFT

Key code constant: Left Shift modifier key.

Constant Value: 59 (0x0000003b)

KEYCODE_SHIFT_RIGHT

Added in API level 1
int KEYCODE_SHIFT_RIGHT

Key code constant: Right Shift modifier key.

Constant Value: 60 (0x0000003c)

KEYCODE_SLASH

Added in API level 1
int KEYCODE_SLASH

Key code constant: '/' key.

Constant Value: 76 (0x0000004c)

KEYCODE_SLEEP

Added in API level 20
int KEYCODE_SLEEP

Key code constant: Sleep key. Puts the device to sleep. Behaves somewhat like KEYCODE_POWER but it has no effect if the device is already asleep.

Constant Value: 223 (0x000000df)

KEYCODE_SOFT_LEFT

Added in API level 1
int KEYCODE_SOFT_LEFT

Key code constant: Soft Left key. Usually situated below the display on phones and used as a multi-function feature key for selecting a software defined function shown on the bottom left of the display.

Constant Value: 1 (0x00000001)

KEYCODE_SOFT_RIGHT

Added in API level 1
int KEYCODE_SOFT_RIGHT

Key code constant: Soft Right key. Usually situated below the display on phones and used as a multi-function feature key for selecting a software defined function shown on the bottom right of the display.

Constant Value: 2 (0x00000002)

KEYCODE_SOFT_SLEEP

Added in API level 24
int KEYCODE_SOFT_SLEEP

Key code constant: put device to sleep unless a wakelock is held.

Constant Value: 276 (0x00000114)

KEYCODE_SPACE

Added in API level 1
int KEYCODE_SPACE

Key code constant: Space key.

Constant Value: 62 (0x0000003e)

KEYCODE_STAR

Added in API level 1
int KEYCODE_STAR

Key code constant: '*' key.

Constant Value: 17 (0x00000011)

KEYCODE_STB_INPUT

Added in API level 11
int KEYCODE_STB_INPUT

Key code constant: Set-top-box input key. On TV remotes, switches the input mode on an external Set-top-box.

Constant Value: 180 (0x000000b4)

KEYCODE_STB_POWER

Added in API level 11
int KEYCODE_STB_POWER

Key code constant: Set-top-box power key. On TV remotes, toggles the power on an external Set-top-box.

Constant Value: 179 (0x000000b3)

KEYCODE_STEM_1

Added in API level 24
int KEYCODE_STEM_1

Key code constant: Generic stem key 1 for Wear

Constant Value: 265 (0x00000109)

KEYCODE_STEM_2

Added in API level 24
int KEYCODE_STEM_2

Key code constant: Generic stem key 2 for Wear

Constant Value: 266 (0x0000010a)

KEYCODE_STEM_3

Added in API level 24
int KEYCODE_STEM_3

Key code constant: Generic stem key 3 for Wear

Constant Value: 267 (0x0000010b)

KEYCODE_STEM_PRIMARY

Added in API level 24
int KEYCODE_STEM_PRIMARY

Key code constant: Primary stem key for Wear Main power/reset button on watch.

Constant Value: 264 (0x00000108)

KEYCODE_SWITCH_CHARSET

Added in API level 9
int KEYCODE_SWITCH_CHARSET

Key code constant: Switch Charset modifier key. Used to switch character sets (Kanji, Katakana).

Constant Value: 95 (0x0000005f)

KEYCODE_SYM

Added in API level 1
int KEYCODE_SYM

Key code constant: Symbol modifier key. Used to enter alternate symbols.

Constant Value: 63 (0x0000003f)

KEYCODE_SYSRQ

Added in API level 11
int KEYCODE_SYSRQ

Key code constant: System Request / Print Screen key.

Constant Value: 120 (0x00000078)

KEYCODE_T

Added in API level 1
int KEYCODE_T

Key code constant: 'T' key.

Constant Value: 48 (0x00000030)

KEYCODE_TAB

Added in API level 1
int KEYCODE_TAB

Key code constant: Tab key.

Constant Value: 61 (0x0000003d)

KEYCODE_TV

Added in API level 11
int KEYCODE_TV

Key code constant: TV key. On TV remotes, switches to viewing live TV.

Constant Value: 170 (0x000000aa)

KEYCODE_TV_ANTENNA_CABLE

Added in API level 21
int KEYCODE_TV_ANTENNA_CABLE

Key code constant: Antenna/Cable key. Toggles broadcast input source between antenna and cable.

Constant Value: 242 (0x000000f2)

KEYCODE_TV_AUDIO_DESCRIPTION

Added in API level 21
int KEYCODE_TV_AUDIO_DESCRIPTION

Key code constant: Audio description key. Toggles audio description off / on.

Constant Value: 252 (0x000000fc)

KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN

Added in API level 21
int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN

Key code constant: Audio description mixing volume down key. Lessen audio description volume as compared with normal audio volume.

Constant Value: 254 (0x000000fe)

KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP

Added in API level 21
int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP

Key code constant: Audio description mixing volume up key. Louden audio description volume as compared with normal audio volume.

Constant Value: 253 (0x000000fd)

KEYCODE_TV_CONTENTS_MENU

Added in API level 21
int KEYCODE_TV_CONTENTS_MENU

Key code constant: Contents menu key. Goes to the title list. Corresponds to Contents Menu (0x0B) of CEC User Control Code

Constant Value: 256 (0x00000100)

KEYCODE_TV_DATA_SERVICE

Added in API level 21
int KEYCODE_TV_DATA_SERVICE

Key code constant: TV data service key. Displays data services like weather, sports.

Constant Value: 230 (0x000000e6)

KEYCODE_TV_INPUT

Added in API level 11
int KEYCODE_TV_INPUT

Key code constant: TV input key. On TV remotes, switches the input on a television screen.

Constant Value: 178 (0x000000b2)

KEYCODE_TV_INPUT_COMPONENT_1

Added in API level 21
int KEYCODE_TV_INPUT_COMPONENT_1

Key code constant: Component #1 key. Switches to component video input #1.

Constant Value: 249 (0x000000f9)

KEYCODE_TV_INPUT_COMPONENT_2

Added in API level 21
int KEYCODE_TV_INPUT_COMPONENT_2

Key code constant: Component #2 key. Switches to component video input #2.

Constant Value: 250 (0x000000fa)

KEYCODE_TV_INPUT_COMPOSITE_1

Added in API level 21
int KEYCODE_TV_INPUT_COMPOSITE_1

Key code constant: Composite #1 key. Switches to composite video input #1.

Constant Value: 247 (0x000000f7)

KEYCODE_TV_INPUT_COMPOSITE_2

Added in API level 21
int KEYCODE_TV_INPUT_COMPOSITE_2

Key code constant: Composite #2 key. Switches to composite video input #2.

Constant Value: 248 (0x000000f8)

KEYCODE_TV_INPUT_HDMI_1

Added in API level 21
int KEYCODE_TV_INPUT_HDMI_1

Key code constant: HDMI #1 key. Switches to HDMI input #1.

Constant Value: 243 (0x000000f3)

KEYCODE_TV_INPUT_HDMI_2

Added in API level 21
int KEYCODE_TV_INPUT_HDMI_2

Key code constant: HDMI #2 key. Switches to HDMI input #2.

Constant Value: 244 (0x000000f4)

KEYCODE_TV_INPUT_HDMI_3

Added in API level 21
int KEYCODE_TV_INPUT_HDMI_3

Key code constant: HDMI #3 key. Switches to HDMI input #3.

Constant Value: 245 (0x000000f5)

KEYCODE_TV_INPUT_HDMI_4

Added in API level 21
int KEYCODE_TV_INPUT_HDMI_4

Key code constant: HDMI #4 key. Switches to HDMI input #4.

Constant Value: 246 (0x000000f6)

KEYCODE_TV_INPUT_VGA_1

Added in API level 21
int KEYCODE_TV_INPUT_VGA_1

Key code constant: VGA #1 key. Switches to VGA (analog RGB) input #1.

Constant Value: 251 (0x000000fb)

KEYCODE_TV_MEDIA_CONTEXT_MENU

Added in API level 21
int KEYCODE_TV_MEDIA_CONTEXT_MENU

Key code constant: Media context menu key. Goes to the context menu of media contents. Corresponds to Media Context-sensitive Menu (0x11) of CEC User Control Code.

Constant Value: 257 (0x00000101)

KEYCODE_TV_NETWORK

Added in API level 21
int KEYCODE_TV_NETWORK

Key code constant: Toggle Network key. Toggles selecting broacast services.

Constant Value: 241 (0x000000f1)

KEYCODE_TV_NUMBER_ENTRY

Added in API level 21
int KEYCODE_TV_NUMBER_ENTRY

Key code constant: Number entry key. Initiates to enter multi-digit channel nubmber when each digit key is assigned for selecting separate channel. Corresponds to Number Entry Mode (0x1D) of CEC User Control Code.

Constant Value: 234 (0x000000ea)

KEYCODE_TV_POWER

Added in API level 11
int KEYCODE_TV_POWER

Key code constant: TV power key. On TV remotes, toggles the power on a television screen.

Constant Value: 177 (0x000000b1)

KEYCODE_TV_RADIO_SERVICE

Added in API level 21
int KEYCODE_TV_RADIO_SERVICE

Key code constant: Radio key. Toggles TV service / Radio service.

Constant Value: 232 (0x000000e8)

KEYCODE_TV_SATELLITE

Added in API level 21
int KEYCODE_TV_SATELLITE

Key code constant: Satellite key. Switches to digital satellite broadcast service.

Constant Value: 237 (0x000000ed)

KEYCODE_TV_SATELLITE_BS

Added in API level 21
int KEYCODE_TV_SATELLITE_BS

Key code constant: BS key. Switches to BS digital satellite broadcasting service available in Japan.

Constant Value: 238 (0x000000ee)

KEYCODE_TV_SATELLITE_CS

Added in API level 21
int KEYCODE_TV_SATELLITE_CS

Key code constant: CS key. Switches to CS digital satellite broadcasting service available in Japan.

Constant Value: 239 (0x000000ef)

KEYCODE_TV_SATELLITE_SERVICE

Added in API level 21
int KEYCODE_TV_SATELLITE_SERVICE

Key code constant: BS/CS key. Toggles between BS and CS digital satellite services.

Constant Value: 240 (0x000000f0)

KEYCODE_TV_TELETEXT

Added in API level 21
int KEYCODE_TV_TELETEXT

Key code constant: Teletext key. Displays Teletext service.

Constant Value: 233 (0x000000e9)

KEYCODE_TV_TERRESTRIAL_ANALOG

Added in API level 21
int KEYCODE_TV_TERRESTRIAL_ANALOG

Key code constant: Analog Terrestrial key. Switches to analog terrestrial broadcast service.

Constant Value: 235 (0x000000eb)

KEYCODE_TV_TERRESTRIAL_DIGITAL

Added in API level 21
int KEYCODE_TV_TERRESTRIAL_DIGITAL

Key code constant: Digital Terrestrial key. Switches to digital terrestrial broadcast service.

Constant Value: 236 (0x000000ec)

KEYCODE_TV_TIMER_PROGRAMMING

Added in API level 21
int KEYCODE_TV_TIMER_PROGRAMMING

Key code constant: Timer programming key. Goes to the timer recording menu. Corresponds to Timer Programming (0x54) of CEC User Control Code.

Constant Value: 258 (0x00000102)

KEYCODE_TV_ZOOM_MODE

Added in API level 21
int KEYCODE_TV_ZOOM_MODE

Key code constant: Zoom mode key. Changes Zoom mode (Normal, Full, Zoom, Wide-zoom, etc.)

Constant Value: 255 (0x000000ff)

KEYCODE_U

Added in API level 1
int KEYCODE_U

Key code constant: 'U' key.

Constant Value: 49 (0x00000031)

KEYCODE_UNKNOWN

Added in API level 1
int KEYCODE_UNKNOWN

Key code constant: Unknown key code.

Constant Value: 0 (0x00000000)

KEYCODE_V

Added in API level 1
int KEYCODE_V

Key code constant: 'V' key.

Constant Value: 50 (0x00000032)

KEYCODE_VOICE_ASSIST

Added in API level 21
int KEYCODE_VOICE_ASSIST

Key code constant: Voice Assist key. Launches the global voice assist activity. Not delivered to applications.

Constant Value: 231 (0x000000e7)

KEYCODE_VOLUME_DOWN

Added in API level 1
int KEYCODE_VOLUME_DOWN

Key code constant: Volume Down key. Adjusts the speaker volume down.

Constant Value: 25 (0x00000019)

KEYCODE_VOLUME_MUTE

Added in API level 11
int KEYCODE_VOLUME_MUTE

Key code constant: Volume Mute key. Mutes the speaker, unlike KEYCODE_MUTE. This key should normally be implemented as a toggle such that the first press mutes the speaker and the second press restores the original volume.

Constant Value: 164 (0x000000a4)

KEYCODE_VOLUME_UP

Added in API level 1
int KEYCODE_VOLUME_UP

Key code constant: Volume Up key. Adjusts the speaker volume up.

Constant Value: 24 (0x00000018)

KEYCODE_W

Added in API level 1
int KEYCODE_W

Key code constant: 'W' key.

Constant Value: 51 (0x00000033)

KEYCODE_WAKEUP

Added in API level 20
int KEYCODE_WAKEUP

Key code constant: Wakeup key. Wakes up the device. Behaves somewhat like KEYCODE_POWER but it has no effect if the device is already awake.

Constant Value: 224 (0x000000e0)

KEYCODE_WINDOW

Added in API level 11
int KEYCODE_WINDOW

Key code constant: Window key. On TV remotes, toggles picture-in-picture mode or other windowing functions.

Constant Value: 171 (0x000000ab)

KEYCODE_X

Added in API level 1
int KEYCODE_X

Key code constant: 'X' key.

Constant Value: 52 (0x00000034)

KEYCODE_Y

Added in API level 1
int KEYCODE_Y

Key code constant: 'Y' key.

Constant Value: 53 (0x00000035)

KEYCODE_YEN

Added in API level 16
int KEYCODE_YEN

Key code constant: Japanese Yen key.

Constant Value: 216 (0x000000d8)

KEYCODE_Z

Added in API level 1
int KEYCODE_Z

Key code constant: 'Z' key.

Constant Value: 54 (0x00000036)

KEYCODE_ZENKAKU_HANKAKU

Added in API level 16
int KEYCODE_ZENKAKU_HANKAKU

Key code constant: Japanese full-width / half-width key.

Constant Value: 211 (0x000000d3)

KEYCODE_ZOOM_IN

Added in API level 11
int KEYCODE_ZOOM_IN

Key code constant: Zoom in key.

Constant Value: 168 (0x000000a8)

KEYCODE_ZOOM_OUT

Added in API level 11
int KEYCODE_ZOOM_OUT

Key code constant: Zoom out key.

Constant Value: 169 (0x000000a9)

MAX_KEYCODE

Added in API level 1
int MAX_KEYCODE

This constant was deprecated in API level 3.
There are now more than MAX_KEYCODE keycodes. Use getMaxKeyCode() instead.

Constant Value: 84 (0x00000054)

META_ALT_LEFT_ON

Added in API level 1
int META_ALT_LEFT_ON

This mask is used to check whether the left ALT meta key is pressed.

See also:

Constant Value: 16 (0x00000010)

META_ALT_MASK

Added in API level 11
int META_ALT_MASK

This mask is a combination of META_ALT_ON, META_ALT_LEFT_ON and META_ALT_RIGHT_ON.

Constant Value: 50 (0x00000032)

META_ALT_ON

Added in API level 1
int META_ALT_ON

This mask is used to check whether one of the ALT meta keys is pressed.

See also:

Constant Value: 2 (0x00000002)

META_ALT_RIGHT_ON

Added in API level 1
int META_ALT_RIGHT_ON

This mask is used to check whether the right the ALT meta key is pressed.

See also:

Constant Value: 32 (0x00000020)

META_CAPS_LOCK_ON

Added in API level 11
int META_CAPS_LOCK_ON

This mask is used to check whether the CAPS LOCK meta key is on.

See also:

Constant Value: 1048576 (0x00100000)

META_CTRL_LEFT_ON

Added in API level 11
int META_CTRL_LEFT_ON

This mask is used to check whether the left CTRL meta key is pressed.

See also:

Constant Value: 8192 (0x00002000)

META_CTRL_MASK

Added in API level 11
int META_CTRL_MASK

This mask is a combination of META_CTRL_ON, META_CTRL_LEFT_ON and META_CTRL_RIGHT_ON.

Constant Value: 28672 (0x00007000)

META_CTRL_ON

Added in API level 11
int META_CTRL_ON

This mask is used to check whether one of the CTRL meta keys is pressed.

See also:

Constant Value: 4096 (0x00001000)

META_CTRL_RIGHT_ON

Added in API level 11
int META_CTRL_RIGHT_ON

This mask is used to check whether the right CTRL meta key is pressed.

See also:

Constant Value: 16384 (0x00004000)

META_FUNCTION_ON

Added in API level 11
int META_FUNCTION_ON

This mask is used to check whether the FUNCTION meta key is pressed.

See also:

Constant Value: 8 (0x00000008)

META_META_LEFT_ON

Added in API level 11
int META_META_LEFT_ON

This mask is used to check whether the left META meta key is pressed.

See also:

Constant Value: 131072 (0x00020000)

META_META_MASK

Added in API level 11
int META_META_MASK

This mask is a combination of META_META_ON, META_META_LEFT_ON and META_META_RIGHT_ON.

Constant Value: 458752 (0x00070000)

META_META_ON

Added in API level 11
int META_META_ON

This mask is used to check whether one of the META meta keys is pressed.

See also:

Constant Value: 65536 (0x00010000)

META_META_RIGHT_ON

Added in API level 11
int META_META_RIGHT_ON

This mask is used to check whether the right META meta key is pressed.

See also:

Constant Value: 262144 (0x00040000)

META_NUM_LOCK_ON

Added in API level 11
int META_NUM_LOCK_ON

This mask is used to check whether the NUM LOCK meta key is on.

See also:

Constant Value: 2097152 (0x00200000)

META_SCROLL_LOCK_ON

Added in API level 11
int META_SCROLL_LOCK_ON

This mask is used to check whether the SCROLL LOCK meta key is on.

See also:

Constant Value: 4194304 (0x00400000)

META_SHIFT_LEFT_ON

Added in API level 1
int META_SHIFT_LEFT_ON

This mask is used to check whether the left SHIFT meta key is pressed.

See also:

Constant Value: 64 (0x00000040)

META_SHIFT_MASK

Added in API level 11
int META_SHIFT_MASK

This mask is a combination of META_SHIFT_ON, META_SHIFT_LEFT_ON and META_SHIFT_RIGHT_ON.

Constant Value: 193 (0x000000c1)

META_SHIFT_ON

Added in API level 1
int META_SHIFT_ON

This mask is used to check whether one of the SHIFT meta keys is pressed.

See also:

Constant Value: 1 (0x00000001)

META_SHIFT_RIGHT_ON

Added in API level 1
int META_SHIFT_RIGHT_ON

This mask is used to check whether the right SHIFT meta key is pressed.

See also:

Constant Value: 128 (0x00000080)

META_SYM_ON

Added in API level 1
int META_SYM_ON

This mask is used to check whether the SYM meta key is pressed.

See also:

Constant Value: 4 (0x00000004)

Fields

CREATOR

Added in API level 1
Creator<KeyEvent> CREATOR

Public constructors

KeyEvent

Added in API level 1
KeyEvent (int action, 
                int code)

Create a new key event.

Parameters
action int: Action code: either ACTION_DOWN, ACTION_UP, or ACTION_MULTIPLE.
code int: The key code.

KeyEvent

Added in API level 1
KeyEvent (long downTime, 
                long eventTime, 
                int action, 
                int code, 
                int repeat)

Create a new key event.

Parameters
downTime long: The time (in uptimeMillis()) at which this key code originally went down.
eventTime long: The time (in uptimeMillis()) at which this event happened.
action int: Action code: either ACTION_DOWN, ACTION_UP, or ACTION_MULTIPLE.
code int: The key code.
repeat int: A repeat count for down events (> 0 if this is after the initial down) or event count for multiple events.

KeyEvent

Added in API level 1
KeyEvent (long downTime, 
                long eventTime, 
                int action, 
                int code, 
                int repeat, 
                int metaState)

Create a new key event.

Parameters
downTime long: The time (in uptimeMillis()) at which this key code originally went down.
eventTime long: The time (in uptimeMillis()) at which this event happened.
action int: Action code: either ACTION_DOWN, ACTION_UP, or ACTION_MULTIPLE.
code int: The key code.
repeat int: A repeat count for down events (> 0 if this is after the initial down) or event count for multiple events.
metaState int: Flags indicating which meta keys are currently pressed.

KeyEvent

Added in API level 1
KeyEvent (long downTime, 
                long eventTime, 
                int action, 
                int code, 
                int repeat, 
                int metaState, 
                int deviceId, 
                int scancode)

Create a new key event.

Parameters
downTime long: The time (in uptimeMillis()) at which this key code originally went down.
eventTime long: The time (in uptimeMillis()) at which this event happened.
action int: Action code: either ACTION_DOWN, ACTION_UP, or ACTION_MULTIPLE.
code int: The key code.
repeat int: A repeat count for down events (> 0 if this is after the initial down) or event count for multiple events.
metaState int: Flags indicating which meta keys are currently pressed.
deviceId int: The device ID that generated the key event.
scancode int: Raw device scan code of the event.

KeyEvent

Added in API level 1
KeyEvent (long downTime, 
                long eventTime, 
                int action, 
                int code, 
                int repeat, 
                int metaState, 
                int deviceId, 
                int scancode, 
                int flags)

Create a new key event.

Parameters
downTime long: The time (in uptimeMillis()) at which this key code originally went down.
eventTime long: The time (in uptimeMillis()) at which this event happened.
action int: Action code: either ACTION_DOWN, ACTION_UP, or ACTION_MULTIPLE.
code int: The key code.
repeat int: A repeat count for down events (> 0 if this is after the initial down) or event count for multiple events.
metaState int: Flags indicating which meta keys are currently pressed.
deviceId int: The device ID that generated the key event.
scancode int: Raw device scan code of the event.
flags int: The flags for this key event

KeyEvent

Added in API level 9
KeyEvent (long downTime, 
                long eventTime, 
                int action, 
                int code, 
                int repeat, 
                int metaState, 
                int deviceId, 
                int scancode, 
                int flags, 
                int source)

Create a new key event.

Parameters
downTime long: The time (in uptimeMillis()) at which this key code originally went down.
eventTime long: The time (in uptimeMillis()) at which this event happened.
action int: Action code: either ACTION_DOWN, ACTION_UP, or ACTION_MULTIPLE.
code int: The key code.
repeat int: A repeat count for down events (> 0 if this is after the initial down) or event count for multiple events.
metaState int: Flags indicating which meta keys are currently pressed.
deviceId int: The device ID that generated the key event.
scancode int: Raw device scan code of the event.
flags int: The flags for this key event
source int: The input source such as SOURCE_KEYBOARD.

KeyEvent

Added in API level 3
KeyEvent (long time, 
                String characters, 
                int deviceId, 
                int flags)

Create a new key event for a string of characters. The key code, action, repeat count and source will automatically be set to KEYCODE_UNKNOWN, ACTION_MULTIPLE, 0, and SOURCE_KEYBOARD for you.

Parameters
time long: The time (in uptimeMillis()) at which this event occured.
characters String: The string of characters.
deviceId int: The device ID that generated the key event.
flags int: The flags for this key event

KeyEvent

Added in API level 3
KeyEvent (KeyEvent origEvent)

Make an exact copy of an existing key event.

Parameters
origEvent KeyEvent

KeyEvent

Added in API level 1
KeyEvent (KeyEvent origEvent, 
                long eventTime, 
                int newRepeat)

This constructor was deprecated in API level 5.
Use changeTimeRepeat(KeyEvent, long, int) instead.

Copy an existing key event, modifying its time and repeat count.

Parameters
origEvent KeyEvent: The existing event to be copied.
eventTime long: The new event time (in uptimeMillis()) of the event.
newRepeat int: The new repeat count of the event.

Public methods

changeAction

Added in API level 3
KeyEvent changeAction (KeyEvent event, 
                int action)

Create a new key event that is the same as the given one, but whose action is replaced with the given value.

Parameters
event KeyEvent: The existing event to be copied. This is not modified.
action int: The new action code of the event.
Returns
KeyEvent

changeFlags

Added in API level 3
KeyEvent changeFlags (KeyEvent event, 
                int flags)

Create a new key event that is the same as the given one, but whose flags are replaced with the given value.

Parameters
event KeyEvent: The existing event to be copied. This is not modified.
flags int: The new flags constant.
Returns
KeyEvent

changeTimeRepeat

Added in API level 5
KeyEvent changeTimeRepeat (KeyEvent event, 
                long eventTime, 
                int newRepeat, 
                int newFlags)

Create a new key event that is the same as the given one, but whose event time and repeat count are replaced with the given value.

Parameters
event KeyEvent: The existing event to be copied. This is not modified.
eventTime long: The new event time (in uptimeMillis()) of the event.
newRepeat int: The new repeat count of the event.
newFlags int: New flags for the event, replacing the entire value in the original event.
Returns
KeyEvent

changeTimeRepeat

Added in API level 3
KeyEvent changeTimeRepeat (KeyEvent event, 
                long eventTime, 
                int newRepeat)

Create a new key event that is the same as the given one, but whose event time and repeat count are replaced with the given value.

Parameters
event KeyEvent: The existing event to be copied. This is not modified.
eventTime long: The new event time (in uptimeMillis()) of the event.
newRepeat int: The new repeat count of the event.
Returns
KeyEvent

dispatch

Added in API level 5
boolean dispatch (KeyEvent.Callback receiver, 
                KeyEvent.DispatcherState state, 
                Object target)

Deliver this key event to a KeyEvent.Callback interface. If this is an ACTION_MULTIPLE event and it is not handled, then an attempt will be made to deliver a single normal event.

Parameters
receiver KeyEvent.Callback: The Callback that will be given the event.
state KeyEvent.DispatcherState: State information retained across events.
target Object: The target of the dispatch, for use in tracking.
Returns
boolean The return value from the Callback method that was called.

dispatch

Added in API level 1
boolean dispatch (KeyEvent.Callback receiver)

This method was deprecated in API level 5.
Use dispatch(Callback, DispatcherState, Object) instead.

Parameters
receiver KeyEvent.Callback
Returns
boolean

getAction

Added in API level 1
int getAction ()

Retrieve the action of this key event. May be either ACTION_DOWN, ACTION_UP, or ACTION_MULTIPLE.

Returns
int The event action: ACTION_DOWN, ACTION_UP, or ACTION_MULTIPLE.

getCharacters

Added in API level 3
String getCharacters ()

For the special case of a ACTION_MULTIPLE event with key code of KEYCODE_UNKNOWN, this is a raw string of characters associated with the event. In all other cases it is null.

Returns
String Returns a String of 1 or more characters associated with the event.

getDeadChar

Added in API level 1
int getDeadChar (int accent, 
                int c)

Get the character that is produced by putting accent on the character c. For example, getDeadChar('`', 'e') returns è.

Parameters
accent int
c int
Returns
int

getDeviceId

Added in API level 1
int getDeviceId ()

Gets the id for the device that this event came from. An id of zero indicates that the event didn't come from a physical device and maps to the default keymap. The other numbers are arbitrary and you shouldn't depend on the values.

Returns
int The device id.

getDisplayLabel

Added in API level 1
char getDisplayLabel ()

Gets the primary character for this key. In other words, the label that is physically printed on it.

Returns
char The display label character, or 0 if none (eg. for non-printing keys).

getDownTime

Added in API level 1
long getDownTime ()

Retrieve the time of the most recent key down event, in the uptimeMillis() time base. If this is a down event, this will be the same as getEventTime(). Note that when chording keys, this value is the down time of the most recently pressed key, which may not be the same physical key of this event.

Returns
long Returns the most recent key down time, in the uptimeMillis() time base

getEventTime

Added in API level 1
long getEventTime ()

Retrieve the time this event occurred, in the uptimeMillis() time base.

Returns
long Returns the time this event occurred, in the uptimeMillis() time base.

getFlags

Added in API level 1
int getFlags ()

Returns the flags for this key event.

Returns
int

See also:

getKeyCharacterMap

Added in API level 11
KeyCharacterMap getKeyCharacterMap ()

Gets the KeyCharacterMap associated with the keyboard device.

Returns
KeyCharacterMap The associated key character map.
Throws
KeyCharacterMap.UnavailableException} if the key character map could not be loaded because it was malformed or the default key character map is missing from the system.

See also:

getKeyCode

Added in API level 1
int getKeyCode ()

Retrieve the key code of the key event. This is the physical key that was pressed, not the Unicode character.

Returns
int The key code of the event.

getKeyData

Added in API level 1
boolean getKeyData (KeyCharacterMap.KeyData results)

This method was deprecated in API level 11.
instead use getDisplayLabel(), getNumber() or getUnicodeChar(int).

Get the character conversion data for a given key code.

Parameters
results KeyCharacterMap.KeyData: A KeyCharacterMap.KeyData instance that will be filled with the results.
Returns
boolean True if the key was mapped. If the key was not mapped, results is not modified.

getMatch

Added in API level 1
char getMatch (char[] chars, 
                int metaState)

Gets the first character in the character array that can be generated by the specified key code. If there are multiple choices, prefers the one that would be generated with the specified meta key modifier state.

Parameters
chars char: The array of matching characters to consider.
metaState int: The preferred meta key modifier state.
Returns
char The matching associated character, or 0 if none.

getMatch

Added in API level 1
char getMatch (char[] chars)

Gets the first character in the character array that can be generated by the specified key code.

This is a convenience function that returns the same value as getMatch(chars, 0).

Parameters
chars char: The array of matching characters to consider.
Returns
char The matching associated character, or 0 if none.

getMaxKeyCode

Added in API level 3
int getMaxKeyCode ()

Returns the maximum keycode.

Returns
int

getModifierMetaStateMask

Added in API level 11
int getModifierMetaStateMask ()

Gets a mask that includes all valid modifier key meta state bits.

For the purposes of this function, KEYCODE_CAPS_LOCK, KEYCODE_SCROLL_LOCK, and KEYCODE_NUM_LOCK are not considered modifier keys. Consequently, the mask specifically excludes META_CAPS_LOCK_ON, META_SCROLL_LOCK_ON and META_NUM_LOCK_ON.

Returns
int The modifier meta state mask which is a combination of META_SHIFT_ON, META_SHIFT_LEFT_ON, META_SHIFT_RIGHT_ON, META_ALT_ON, META_ALT_LEFT_ON, META_ALT_RIGHT_ON, META_CTRL_ON, META_CTRL_LEFT_ON, META_CTRL_RIGHT_ON, META_META_ON, META_META_LEFT_ON, META_META_RIGHT_ON, META_SYM_ON, META_FUNCTION_ON.

getModifiers

Added in API level 13
int getModifiers ()

Returns the state of the modifier keys.

For the purposes of this function, KEYCODE_CAPS_LOCK, KEYCODE_SCROLL_LOCK, and KEYCODE_NUM_LOCK are not considered modifier keys. Consequently, this function specifically masks out META_CAPS_LOCK_ON, META_SCROLL_LOCK_ON and META_NUM_LOCK_ON.

The value returned consists of the meta state (from getMetaState()) normalized using normalizeMetaState(int) and then masked with getModifierMetaStateMask() so that only valid modifier bits are retained.

Returns
int An integer in which each bit set to 1 represents a pressed modifier key.

See also:

getNumber

Added in API level 1
char getNumber ()

Gets the number or symbol associated with the key.

The character value is returned, not the numeric value. If the key is not a number, but is a symbol, the symbol is retuned.

This method is intended to to support dial pads and other numeric or symbolic entry on keyboards where certain keys serve dual function as alphabetic and symbolic keys. This method returns the number or symbol associated with the key independent of whether the user has pressed the required modifier.

For example, on one particular keyboard the keys on the top QWERTY row generate numbers when ALT is pressed such that ALT-Q maps to '1'. So for that keyboard when getNumber() is called with KEYCODE_Q it returns '1' so that the user can type numbers without pressing ALT when it makes sense.

Returns
char The associated numeric or symbolic character, or 0 if none.

getRepeatCount

Added in API level 1
int getRepeatCount ()

Retrieve the repeat count of the event. For both key up and key down events, this is the number of times the key has repeated with the first down starting at 0 and counting up from there. For multiple key events, this is the number of down/up pairs that have occurred.

Returns
int The number of times the key has repeated.

getScanCode

Added in API level 1
int getScanCode ()

Retrieve the hardware key id of this key event. These values are not reliable and vary from device to device.

Mostly this is here for debugging purposes.

Returns
int

getSource

Added in API level 9
int getSource ()

Gets the source of the event.

Returns
int The event source or SOURCE_UNKNOWN if unknown.

getUnicodeChar

Added in API level 1
int getUnicodeChar (int metaState)

Gets the Unicode character generated by the specified key and meta key state combination.

Returns the Unicode character that the specified key would produce when the specified meta bits (see MetaKeyKeyListener) were active.

Returns 0 if the key is not one that is used to type Unicode characters.

If the return value has bit COMBINING_ACCENT set, the key is a "dead key" that should be combined with another to actually produce a character -- see getDeadChar(int, int) -- after masking with COMBINING_ACCENT_MASK.

Parameters
metaState int: The meta key modifier state.
Returns
int The associated character or combining accent, or 0 if none.

getUnicodeChar

Added in API level 1
int getUnicodeChar ()

Gets the Unicode character generated by the specified key and meta key state combination.

Returns the Unicode character that the specified key would produce when the specified meta bits (see MetaKeyKeyListener) were active.

Returns 0 if the key is not one that is used to type Unicode characters.

If the return value has bit COMBINING_ACCENT set, the key is a "dead key" that should be combined with another to actually produce a character -- see getDeadChar(int, int) -- after masking with COMBINING_ACCENT_MASK.

Returns
int The associated character or combining accent, or 0 if none.

hasModifiers

Added in API level 11
boolean hasModifiers (int modifiers)

Returns true if only the specified modifiers keys are pressed. Returns false if a different combination of modifier keys are pressed.

For the purposes of this function, KEYCODE_CAPS_LOCK, KEYCODE_SCROLL_LOCK, and KEYCODE_NUM_LOCK are not considered modifier keys. Consequently, this function ignores META_CAPS_LOCK_ON, META_SCROLL_LOCK_ON and META_NUM_LOCK_ON.

If the specified modifier mask includes directional modifiers, such as META_SHIFT_LEFT_ON, then this method ensures that the modifier is pressed on that side. If the specified modifier mask includes non-directional modifiers, such as META_SHIFT_ON, then this method ensures that the modifier is pressed on either side. If the specified modifier mask includes both directional and non-directional modifiers for the same type of key, such as META_SHIFT_ON and META_SHIFT_LEFT_ON, then this method throws an illegal argument exception.

Parameters
modifiers int: The meta state of the modifier keys to check. May be a combination of modifier meta states as defined by getModifierMetaStateMask(). May be 0 to ensure that no modifier keys are pressed.
Returns
boolean True if only the specified modifier keys are pressed.
Throws
IllegalArgumentException if the modifiers parameter contains invalid modifiers

See also:

hasNoModifiers

Added in API level 11
boolean hasNoModifiers ()

Returns true if no modifier keys are pressed.

For the purposes of this function, KEYCODE_CAPS_LOCK, KEYCODE_SCROLL_LOCK, and KEYCODE_NUM_LOCK are not considered modifier keys. Consequently, this function ignores META_CAPS_LOCK_ON, META_SCROLL_LOCK_ON and META_NUM_LOCK_ON.

The meta state is normalized prior to comparison using normalizeMetaState(int).

Returns
boolean True if no modifier keys are pressed.

See also:

isAltPressed

Added in API level 1
boolean isAltPressed ()

Returns the pressed state of the ALT meta key.

Returns
boolean true if the ALT key is pressed, false otherwise

See also:

isCanceled

Added in API level 5
boolean isCanceled ()

For ACTION_UP events, indicates that the event has been canceled as per FLAG_CANCELED.

Returns
boolean

isCapsLockOn

Added in API level 11
boolean isCapsLockOn ()

Returns the locked state of the CAPS LOCK meta key.

Returns
boolean true if the CAPS LOCK key is on, false otherwise

See also:

isCtrlPressed

Added in API level 11
boolean isCtrlPressed ()

Returns the pressed state of the CTRL meta key.

Returns
boolean true if the CTRL key is pressed, false otherwise

See also:

isFunctionPressed

Added in API level 11
boolean isFunctionPressed ()

Returns the pressed state of the FUNCTION meta key.

Returns
boolean true if the FUNCTION key is pressed, false otherwise

See also:

isGamepadButton

Added in API level 12
boolean isGamepadButton (int keyCode)

Returns true if the specified keycode is a gamepad button.

Parameters
keyCode int
Returns
boolean True if the keycode is a gamepad button, such as KEYCODE_BUTTON_A.

isLongPress

Added in API level 5
boolean isLongPress ()

For ACTION_DOWN events, indicates that the event has been canceled as per FLAG_LONG_PRESS.

Returns
boolean

isMetaPressed

Added in API level 11
boolean isMetaPressed ()

Returns the pressed state of the META meta key.

Returns
boolean true if the META key is pressed, false otherwise

See also:

isModifierKey

Added in API level 1
boolean isModifierKey (int keyCode)

Returns true if this key code is a modifier key.

For the purposes of this function, KEYCODE_CAPS_LOCK, KEYCODE_SCROLL_LOCK, and KEYCODE_NUM_LOCK are not considered modifier keys. Consequently, this function return false for those keys.

Parameters
keyCode int
Returns
boolean True if the key code is one of KEYCODE_SHIFT_LEFT KEYCODE_SHIFT_RIGHT, KEYCODE_ALT_LEFT, KEYCODE_ALT_RIGHT, KEYCODE_CTRL_LEFT, KEYCODE_CTRL_RIGHT, KEYCODE_META_LEFT, or KEYCODE_META_RIGHT, KEYCODE_SYM, KEYCODE_NUM, KEYCODE_FUNCTION.

isNumLockOn

Added in API level 11
boolean isNumLockOn ()

Returns the locked state of the NUM LOCK meta key.

Returns
boolean true if the NUM LOCK key is on, false otherwise

See also:

isPrintingKey

Added in API level 1
boolean isPrintingKey ()

Returns true if this key produces a glyph.

Returns
boolean True if the key is a printing key.

isScrollLockOn

Added in API level 11
boolean isScrollLockOn ()

Returns the locked state of the SCROLL LOCK meta key.

Returns
boolean true if the SCROLL LOCK key is on, false otherwise

See also:

isShiftPressed

Added in API level 1
boolean isShiftPressed ()

Returns the pressed state of the SHIFT meta key.

Returns
boolean true if the SHIFT key is pressed, false otherwise

See also:

isSymPressed

Added in API level 1
boolean isSymPressed ()

Returns the pressed state of the SYM meta key.

Returns
boolean true if the SYM key is pressed, false otherwise

See also:

isSystem

Added in API level 1
boolean isSystem ()

Is this a system key? System keys can not be used for menu shortcuts.

Returns
boolean

isTracking

Added in API level 5
boolean isTracking ()

For ACTION_UP events, indicates that the event is still being tracked from its initial down event as per FLAG_TRACKING.

Returns
boolean

keyCodeFromString

Added in API level 12
int keyCodeFromString (String symbolicName)

Gets a keycode by its symbolic name such as "KEYCODE_A" or an equivalent numeric constant such as "1001".

Parameters
symbolicName String: The symbolic name of the keycode.
Returns
int The keycode or KEYCODE_UNKNOWN if not found.

See also:

keyCodeToString

Added in API level 12
String keyCodeToString (int keyCode)

Returns a string that represents the symbolic name of the specified keycode such as "KEYCODE_A", "KEYCODE_DPAD_UP", or an equivalent numeric constant such as "1001" if unknown.

Parameters
keyCode int: The key code.
Returns
String The symbolic name of the specified keycode.

See also:

metaStateHasModifiers

Added in API level 11
boolean metaStateHasModifiers (int metaState, 
                int modifiers)

Returns true if only the specified modifier keys are pressed according to the specified meta state. Returns false if a different combination of modifier keys are pressed.

For the purposes of this function, KEYCODE_CAPS_LOCK, KEYCODE_SCROLL_LOCK, and KEYCODE_NUM_LOCK are not considered modifier keys. Consequently, this function ignores META_CAPS_LOCK_ON, META_SCROLL_LOCK_ON and META_NUM_LOCK_ON.

If the specified modifier mask includes directional modifiers, such as META_SHIFT_LEFT_ON, then this method ensures that the modifier is pressed on that side. If the specified modifier mask includes non-directional modifiers, such as META_SHIFT_ON, then this method ensures that the modifier is pressed on either side. If the specified modifier mask includes both directional and non-directional modifiers for the same type of key, such as META_SHIFT_ON and META_SHIFT_LEFT_ON, then this method throws an illegal argument exception.

Parameters
metaState int: The meta state to consider.
modifiers int: The meta state of the modifier keys to check. May be a combination of modifier meta states as defined by getModifierMetaStateMask(). May be 0 to ensure that no modifier keys are pressed.
Returns
boolean True if only the specified modifier keys are pressed.
Throws
IllegalArgumentException if the modifiers parameter contains invalid modifiers

See also:

metaStateHasNoModifiers

Added in API level 11
boolean metaStateHasNoModifiers (int metaState)

Returns true if no modifiers keys are pressed according to the specified meta state.

For the purposes of this function, KEYCODE_CAPS_LOCK, KEYCODE_SCROLL_LOCK, and KEYCODE_NUM_LOCK are not considered modifier keys. Consequently, this function ignores META_CAPS_LOCK_ON, META_SCROLL_LOCK_ON and META_NUM_LOCK_ON.

The meta state is normalized prior to comparison using normalizeMetaState(int).

Parameters
metaState int: The meta state to consider.
Returns
boolean True if no modifier keys are pressed.

See also:

normalizeMetaState

Added in API level 11
int normalizeMetaState (int metaState)

Normalizes the specified meta state.

The meta state is normalized such that if either the left or right modifier meta state bits are set then the result will also include the universal bit for that modifier.

If the specified meta state contains META_ALT_LEFT_ON then the result will also contain META_ALT_ON in addition to META_ALT_LEFT_ON and the other bits that were specified in the input. The same is process is performed for shift, control and meta.

If the specified meta state contains synthetic meta states defined by MetaKeyKeyListener, then those states are translated here and the original synthetic meta states are removed from the result. META_CAP_LOCKED is translated to META_CAPS_LOCK_ON. META_ALT_LOCKED is translated to META_ALT_ON. META_SYM_LOCKED is translated to META_SYM_ON.

Undefined meta state bits are removed.

Parameters
metaState int: The meta state.
Returns
int The normalized meta state.

setSource

Added in API level 12
void setSource (int source)

Modifies the source of the event.

Parameters
source int: The new source.

startTracking

Added in API level 5
void startTracking ()

Call this during onKeyDown(int, KeyEvent) to have the system track the key through its final up (possibly including a long press). Note that only one key can be tracked at a time -- if another key down event is received while a previous one is being tracked, tracking is stopped on the previous event.

toString

Added in API level 1
String toString ()

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

writeToParcel

Added in API level 1
void writeToParcel (Parcel out, 
                int flags)

Flatten this object in to a Parcel.

Parameters
out Parcel: The Parcel in which the object should be written.
flags int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.

Hooray!