Need table of key codes for android and presenter

Viewed 126568

Can someone point me to the list of key codes that come from getKeyCode() in numeric form so that for example if I look up 72 I see "]" and if I look up 24 I see "vol up".

I have been looking for an hour and the answer is not an ASCII table. That would be too easy...

I am getting key codes off my mouse-presenter and trying to intercept them. There is one key that puts out 57 and 117 that I cannot intercept and I wanted to decode it before asking a question about it but can't find the reference. I think 117 is shift but I don't know what 57 is. That key on the presenter takes me out of my app even if I intercept it.

13 Answers

I had to make my own JSON file to loop on the key codes for android devices

{
    "UNKNOWN": "0",
    "SOFT_LEFT": "1",
    "SOFT_RIGHT": "2",
    "HOME": "3",
    "BACK": "4",
    "CALL": "5",
    "ENDCALL": "6",
    "0": "7",
    "1": "8",
    "2": "9",
    "3": "10",
    "4": "11",
    "5": "12",
    "6": "13",
    "7": "14",
    "8": "15",
    "9": "16",
    "STAR": "17",
    "POUND": "18",
    "DPAD_UP": "19",
    "DPAD_DOWN": "20",
    "DPAD_LEFT": "21",
    "DPAD_RIGHT": "22",
    "DPAD_CENTER": "23",
    "VOLUME_UP": "24",
    "VOLUME_DOWN": "25",
    "POWER": "26",
    "CAMERA": "27",
    "CLEAR": "28",
    "A": "29",
    "B": "30",
    "C": "31",
    "D": "32",
    "E": "33",
    "F": "34",
    "G": "35",
    "H": "36",
    "I": "37",
    "J": "38",
    "K": "39",
    "L": "40",
    "M": "41",
    "N": "42",
    "O": "43",
    "P": "44",
    "Q": "45",
    "R": "46",
    "S": "47",
    "T": "48",
    "U": "49",
    "V": "50",
    "W": "51",
    "X": "52",
    "Y": "53",
    "Z": "54",
    "COMMA": "55",
    "PERIOD": "56",
    "ALT_LEFT": "57",
    "ALT_RIGHT": "58",
    "SHIFT_LEFT": "59",
    "SHIFT_RIGHT": "60",
    "TAB": "61",
    "SPACE": "62",
    "SYM": "63",
    "EXPLORER": "64",
    "ENVELOPE": "65",
    "ENTER": "66",
    "DEL": "67",
    "GRAVE": "68",
    "MINUS": "69",
    "EQUALS": "70",
    "LEFT_BRACKET": "71",
    "RIGHT_BRACKET": "72",
    "BACKSLASH": "73",
    "SEMICOLON": "74",
    "APOSTROPHE": "75",
    "SLASH": "76",
    "AT": "77",
    "NUM": "78",
    "HEADSETHOOK": "79",
    "PLUS": "81",
    "MENU": "82",
    "NOTIFICATION": "83",
    "SEARCH": "84",
    "MEDIA_PLAY_PAUSE": "85",
    "MEDIA_STOP": "86",
    "MEDIA_NEXT": "87",
    "MEDIA_PREVIOUS": "88",
    "MEDIA_REWIND": "89",
    "MEDIA_FAST_FORWARD": "90",
    "MUTE": "91",
    "PAGE_UP": "92",
    "PAGE_DOWN": "93",
    "BUTTON_A": "96",
    "BUTTON_B": "97",
    "BUTTON_C": "98",
    "BUTTON_X": "99",
    "BUTTON_Y": "100",
    "BUTTON_Z": "101",
    "BUTTON_L1": "102",
    "BUTTON_R1": "103",
    "BUTTON_L2": "104",
    "BUTTON_R2": "105",
    "BUTTON_THUMBL": "106",
    "BUTTON_THUMBR": "107",
    "BUTTON_START": "108",
    "BUTTON_SELECT": "109",
    "BUTTON_MODE": "110",
    "ESCAPE": "111",
    "FORWARD_DEL": "112",
    "CTRL_LEFT": "113",
    "CTRL_RIGHT": "114",
    "CAPS_LOCK": "115",
    "SCROLL_LOCK": "116",
    "META_LEFT": "117",
    "META_RIGHT": "118",
    "FUNCTION": "119",
    "SYSRQ": "120",
    "BREAK": "121",
    "MOVE_HOME": "122",
    "MOVE_END": "123",
    "INSERT": "124",
    "FORWARD": "125",
    "MEDIA_PLAY": "126",
    "MEDIA_PAUSE": "127",
    "MEDIA_CLOSE": "128",
    "MEDIA_EJECT": "129",
    "MEDIA_RECORD": "130",
    "F1": "131",
    "F2": "132",
    "F3": "133",
    "F4": "134",
    "F5": "135",
    "F6": "136",
    "F7": "137",
    "F8": "138",
    "F9": "139",
    "F10": "140",
    "F11": "141",
    "F12": "142",
    "NUM_LOCK": "143",
    "NUMPAD_0": "144",
    "NUMPAD_1": "145",
    "NUMPAD_2": "146",
    "NUMPAD_3": "147",
    "NUMPAD_4": "148",
    "NUMPAD_5": "149",
    "NUMPAD_6": "150",
    "NUMPAD_7": "151",
    "NUMPAD_8": "152",
    "NUMPAD_9": "153",
    "NUMPAD_DIVIDE": "154",
    "NUMPAD_MULTIPLY": "155",
    "NUMPAD_SUBTRACT": "156",
    "NUMPAD_ADD": "157",
    "NUMPAD_DOT": "158",
    "NUMPAD_COMMA": "159",
    "NUMPAD_ENTER": "160",
    "NUMPAD_EQUALS": "161",
    "NUMPAD_LEFT_PAREN": "162",
    "NUMPAD_RIGHT_PAREN": "163",
    "VOLUME_MUTE": "164",
    "INFO": "165",
    "CHANNEL_UP": "166",
    "CHANNEL_DOWN": "167",
    "ZOOM_IN": "168",
    "ZOOM_OUT": "169",
    "TV": "170",
    "WINDOW": "171",
    "GUIDE": "172",
    "DVR": "173",
    "BOOKMARK": "174",
    "CAPTIONS": "175",
    "SETTINGS": "176",
    "TV_POWER": "177",
    "TV_INPUT": "178",
    "STB_POWER": "179",
    "STB_INPUT": "180",
    "AVR_POWER": "181",
    "AVR_INPUT": "182",
    "PROG_RED": "183",
    "PROG_GREEN": "184",
    "PROG_YELLOW": "185",
    "PROG_BLUE": "186",
    "APP_SWITCH": "187",
    "BUTTON_1": "188",
    "BUTTON_2": "189",
    "BUTTON_3": "190",
    "BUTTON_4": "191",
    "BUTTON_5": "192",
    "BUTTON_6": "193",
    "BUTTON_7": "194",
    "BUTTON_8": "195",
    "BUTTON_9": "196",
    "BUTTON_10": "197",
    "BUTTON_11": "198",
    "BUTTON_12": "199",
    "BUTTON_13": "200",
    "BUTTON_14": "201",
    "BUTTON_15": "202",
    "BUTTON_16": "203",
    "LANGUAGE_SWITCH": "204",
    "MANNER_MODE": "205",
    "3D_MODE": "206",
    "CONTACTS": "207",
    "CALENDAR": "208",
    "MUSIC": "209",
    "CALCULATOR": "210",
    "ZENKAKU_HANKAKU": "211",
    "EISU": "212",
    "MUHENKAN": "213",
    "HENKAN": "214",
    "KATAKANA_HIRAGANA": "215",
    "YEN": "216",
    "RO": "217",
    "KANA": "218",
    "ASSIST": "219",
    "BRIGHTNESS_DOWN": "220",
    "BRIGHTNESS_UP": "221",
    "MEDIA_AUDIO_TRACK": "222",
    "SLEEP": "223",
    "WAKEUP": "224",
    "PAIRING": "225",
    "MEDIA_TOP_MENU": "226",
    "11": "227",
    "12": "228",
    "LAST_CHANNEL": "229",
    "TV_DATA_SERVICE": "230",
    "VOICE_ASSIST": "231",
    "TV_RADIO_SERVICE": "232",
    "TV_TELETEXT": "233",
    "TV_NUMBER_ENTRY": "234",
    "TV_TERRESTRIAL_ANALOG": "235",
    "TV_TERRESTRIAL_DIGITAL": "236",
    "TV_SATELLITE": "237",
    "TV_SATELLITE_BS": "238",
    "TV_SATELLITE_CS": "239",
    "TV_SATELLITE_SERVICE": "240",
    "TV_NETWORK": "241",
    "TV_ANTENNA_CABLE": "242",
    "TV_INPUT_HDMI_1": "243",
    "TV_INPUT_HDMI_2": "244",
    "TV_INPUT_HDMI_3": "245",
    "TV_INPUT_HDMI_4": "246",
    "TV_INPUT_COMPOSITE_1": "247",
    "TV_INPUT_COMPOSITE_2": "248",
    "TV_INPUT_COMPONENT_1": "249",
    "TV_INPUT_COMPONENT_2": "250",
    "TV_INPUT_VGA_1": "251",
    "TV_AUDIO_DESCRIPTION": "252",
    "TV_AUDIO_DESCRIPTION_MIX_UP": "253",
    "TV_AUDIO_DESCRIPTION_MIX_DOWN": "254",
    "TV_ZOOM_MODE": "255",
    "TV_CONTENTS_MENU": "256",
    "TV_MEDIA_CONTEXT_MENU": "257",
    "TV_TIMER_PROGRAMMING": "258",
    "HELP": "259",
    "NAVIGATE_PREVIOUS": "260",
    "NAVIGATE_NEXT": "261",
    "NAVIGATE_IN": "262",
    "NAVIGATE_OUT": "263",
    "STEM_PRIMARY": "264",
    "STEM_1": "265",
    "STEM_2": "266",
    "STEM_3": "267",
    "DPAD_UP_LEFT": "268",
    "DPAD_DOWN_LEFT": "269",
    "DPAD_UP_RIGHT": "270",
    "DPAD_DOWN_RIGHT": "271",
    "MEDIA_SKIP_FORWARD": "272",
    "MEDIA_SKIP_BACKWARD": "273",
    "MEDIA_STEP_FORWARD": "274",
    "MEDIA_STEP_BACKWARD": "275",
    "SOFT_SLEEP": "276",
    "CUT": "277",
    "COPY": "278",
    "PASTE": "279",
    "SYSTEM_NAVIGATION_UP": "280",
    "SYSTEM_NAVIGATION_DOWN": "281",
    "SYSTEM_NAVIGATION_LEFT": "282",
    "SYSTEM_NAVIGATION_RIGHT": "283",
    "KEYCODE_ALL_APPS": "284",
    "KEYCODE_REFRESH": "285",
    "KEYCODE_THUMBS_UP": "286",
    "KEYCODE_THUMBS_DOWN": "287"
}

Additionally, if you have the NDK installed, you can also find the listing in ${ndk_path}platforms\android-${api}\${architecture}\usr\include\android\keycodes.h.

I'm only mentioning it because I've found it simpler to navigate and read than the KeyEvent class or docs.

Here's an arraylist version for my JAVA friends Based on Shari Sharif's JSON answer

Couldn't paste full due to 30000 character limit on stack overflow

Full version: https://gist.github.com/omkar-tenkale/822bff6a19ad12a21bc2a2d24f6fc834

public static ArrayList<ArrayList<String>> getKeyEvents() {
        return new ArrayList<ArrayList<String>>() {
            {
                add(new ArrayList<String>() {{
                    add("UNKNOWN");
                    add("0");
                }});
                add(new ArrayList<String>() {{
                    add("SOFT_LEFT");
                    add("1");
                }});
                add(new ArrayList<String>() {{
                    add("SOFT_RIGHT");
                    add("2");
                }});
                add(new ArrayList<String>() {{
                    add("HOME");
                    add("3");
                }});
                add(new ArrayList<String>() {{
                    add("BACK");
                    add("4");
                }});
                add(new ArrayList<String>() {{
                    add("CALL");
                    add("5");
                }});
                add(new ArrayList<String>() {{
                    add("ENDCALL");
                    add("6");
                }});
                add(new ArrayList<String>() {{
                    add("0");
                    add("7");
                }});
                add(new ArrayList<String>() {{
                    add("1");
                    add("8");
                }});
                add(new ArrayList<String>() {{
                    add("2");
                    add("9");
                }});
                add(new ArrayList<String>() {{
                    add("3");
                    add("10");
                }});
                add(new ArrayList<String>() {{
                    add("4");
                    add("11");
                }});
                add(new ArrayList<String>() {{
                    add("5");
                    add("12");
                }});
                add(new ArrayList<String>() {{
                    add("6");
                    add("13");
                }});
                add(new ArrayList<String>() {{
                    add("7");
                    add("14");
                }});
                add(new ArrayList<String>() {{
                    add("8");
                    add("15");
                }});
                add(new ArrayList<String>() {{
                    add("9");
                    add("16");
                }});
                add(new ArrayList<String>() {{
                    add("STAR");
                    add("17");
                }});
                add(new ArrayList<String>() {{
                    add("POUND");
                    add("18");
                }});
                add(new ArrayList<String>() {{
                    add("DPAD_UP");
                    add("19");
                }});
                add(new ArrayList<String>() {{
                    add("DPAD_DOWN");
                    add("20");
                }});
                add(new ArrayList<String>() {{
                    add("DPAD_LEFT");
                    add("21");
                }});
                add(new ArrayList<String>() {{
                    add("DPAD_RIGHT");
                    add("22");
                }});
                add(new ArrayList<String>() {{
                    add("DPAD_CENTER");
                    add("23");
                }});
                add(new ArrayList<String>() {{
                    add("VOLUME_UP");
                    add("24");
                }});
                add(new ArrayList<String>() {{
                    add("VOLUME_DOWN");
                    add("25");
                }});
                add(new ArrayList<String>() {{
                    add("POWER");
                    add("26");
                }});
                add(new ArrayList<String>() {{
                    add("CAMERA");
                    add("27");
                }});
                add(new ArrayList<String>() {{
                    add("CLEAR");
                    add("28");
                }});
                add(new ArrayList<String>() {{
                    add("A");
                    add("29");
                }});
                add(new ArrayList<String>() {{
                    add("B");
                    add("30");
                }});
                add(new ArrayList<String>() {{
                    add("C");
                    add("31");
                }});
                add(new ArrayList<String>() {{
                    add("D");
                    add("32");
                }});
                add(new ArrayList<String>() {{
                    add("E");
                    add("33");
                }});
                add(new ArrayList<String>() {{
                    add("F");
                    add("34");
                }});
                add(new ArrayList<String>() {{
                    add("G");
                    add("35");
                }});
                add(new ArrayList<String>() {{
                    add("H");
                    add("36");
                }});
                add(new ArrayList<String>() {{
                    add("I");
                    add("37");
                }});
                add(new ArrayList<String>() {{
                    add("J");
                    add("38");
                }});
                add(new ArrayList<String>() {{
                    add("K");
                    add("39");
                }});
                add(new ArrayList<String>() {{
                    add("L");
                    add("40");
                }});
                add(new ArrayList<String>() {{
                    add("M");
                    add("41");
                }});
                add(new ArrayList<String>() {{
                    add("N");
                    add("42");
                }});
                add(new ArrayList<String>() {{
                    add("O");
                    add("43");
                }});
                add(new ArrayList<String>() {{
                    add("P");
                    add("44");
                }});
                add(new ArrayList<String>() {{
                    add("Q");
                    add("45");
                }});
                add(new ArrayList<String>() {{
                    add("R");
                    add("46");
                }});
                add(new ArrayList<String>() {{
                    add("S");
                    add("47");
                }});
                add(new ArrayList<String>() {{
                    add("T");
                    add("48");
                }});
                add(new ArrayList<String>() {{
                    add("U");
                    add("49");
                }});
                add(new ArrayList<String>() {{
                    add("V");
                    add("50");
                }});
                add(new ArrayList<String>() {{
                    add("W");
                    add("51");
                }});
                add(new ArrayList<String>() {{
                    add("X");
                    add("52");
                }});
                add(new ArrayList<String>() {{
                    add("Y");
                    add("53");
                }});
                add(new ArrayList<String>() {{
                    add("Z");
                    add("54");
                }});
                add(new ArrayList<String>() {{
                    add("COMMA");
                    add("55");
                }});
                add(new ArrayList<String>() {{
                    add("PERIOD");
                    add("56");
                }});
                add(new ArrayList<String>() {{
                    add("ALT_LEFT");
                    add("57");
                }});
                add(new ArrayList<String>() {{
                    add("ALT_RIGHT");
                    add("58");
                }});
                add(new ArrayList<String>() {{
                    add("SHIFT_LEFT");
                    add("59");
                }});
                add(new ArrayList<String>() {{
                    add("SHIFT_RIGHT");
                    add("60");
                }});
                add(new ArrayList<String>() {{
                    add("TAB");
                    add("61");
                }});
                add(new ArrayList<String>() {{
                    add("SPACE");
                    add("62");
                }});
                add(new ArrayList<String>() {{
                    add("SYM");
                    add("63");
                }});
                add(new ArrayList<String>() {{
                    add("EXPLORER");
                    add("64");
                }});
                add(new ArrayList<String>() {{
                    add("ENVELOPE");
                    add("65");
                }});
                add(new ArrayList<String>() {{
                    add("ENTER");
                    add("66");
                }});
                add(new ArrayList<String>() {{
                    add("DEL");
                    add("67");
                }});
                add(new ArrayList<String>() {{
                    add("GRAVE");
                    add("68");
                }});
                add(new ArrayList<String>() {{
                    add("MINUS");
                    add("69");
                }});
                add(new ArrayList<String>() {{
                    add("EQUALS");
                    add("70");
                }});
                add(new ArrayList<String>() {{
                    add("LEFT_BRACKET");
                    add("71");
                }});
                add(new ArrayList<String>() {{
                    add("RIGHT_BRACKET");
                    add("72");
                }});
                add(new ArrayList<String>() {{
                    add("BACKSLASH");
                    add("73");
                }});
                add(new ArrayList<String>() {{
                    add("SEMICOLON");
                    add("74");
                }});
                add(new ArrayList<String>() {{
                    add("APOSTROPHE");
                    add("75");
                }});
                add(new ArrayList<String>() {{
                    add("SLASH");
                    add("76");
                }});
                add(new ArrayList<String>() {{
                    add("AT");
                    add("77");
                }});
                add(new ArrayList<String>() {{
                    add("NUM");
                    add("78");
                }});
                add(new ArrayList<String>() {{
                    add("HEADSETHOOK");
                    add("79");
                }});
                add(new ArrayList<String>() {{
                    add("PLUS");
                    add("81");
                }});
                add(new ArrayList<String>() {{
                    add("MENU");
                    add("82");
                }});
                add(new ArrayList<String>() {{
                    add("NOTIFICATION");
                    add("83");
                }});
                add(new ArrayList<String>() {{
                    add("SEARCH");
                    add("84");
                }});
                add(new ArrayList<String>() {{
                    add("MEDIA_PLAY_PAUSE");
                    add("85");
                }});
                add(new ArrayList<String>() {{
                    add("MEDIA_STOP");
                    add("86");
                }});
                add(new ArrayList<String>() {{
                    add("MEDIA_NEXT");
                    add("87");
                }});
                add(new ArrayList<String>() {{
                    add("MEDIA_PREVIOUS");
                    add("88");
                }});
                add(new ArrayList<String>() {{
                    add("MEDIA_REWIND");
                    add("89");
                }});
                add(new ArrayList<String>() {{
                    add("MEDIA_FAST_FORWARD");
                    add("90");
                }});
                add(new ArrayList<String>() {{
                    add("MUTE");
                    add("91");
                }});
                add(new ArrayList<String>() {{
                    add("PAGE_UP");
                    add("92");
                }});
                add(new ArrayList<String>() {{
                    add("PAGE_DOWN");
                    add("93");
                }});
                add(new ArrayList<String>() {{
                    add("BUTTON_A");
                    add("96");
                }});
                add(new ArrayList<String>() {{
                    add("BUTTON_B");
                    add("97");
                }});
                add(new ArrayList<String>() {{
                    add("BUTTON_C");
                    add("98");
                }});
                add(new ArrayList<String>() {{
                    add("BUTTON_X");
                    add("99");
                }});
                add(new ArrayList<String>() {{
                    add("BUTTON_Y");
                    add("100");
                }});

most of guys above seem missing meta key codes so I help you out with full list of keycodes on regex. It is based on the source which is clearly updated by day. You can choose export -> plain text -> then copy it. enter image description here

Related