com_android_server_tv_TvKeys.h revision b5b86c11008422ac4bf5af5fed736f04ebbaa858
1#ifndef ANDROIDTVREMOTE_SERVICE_JNI_KEYS_H_ 2#define ANDROIDTVREMOTE_SERVICE_JNI_KEYS_H_ 3 4#include <android/keycodes.h> 5#include <linux/input.h> 6 7namespace android { 8 9// Map the keys specified in virtual-remote.kl. 10// Only specify the keys actually used in the layout here. 11struct Key { 12 int linuxKeyCode; 13 int32_t androidKeyCode; 14}; 15 16// List of all of the keycodes that the emote is capable of sending. 17static Key KEYS[] = { 18 // Volume Control 19 { KEY_VOLUMEDOWN, AKEYCODE_VOLUME_DOWN }, 20 { KEY_VOLUMEUP, AKEYCODE_VOLUME_UP }, 21 { KEY_MUTE, AKEYCODE_VOLUME_MUTE }, 22 { KEY_MUTE, AKEYCODE_MUTE }, 23 24 { KEY_POWER, AKEYCODE_POWER }, 25 { KEY_HOMEPAGE, AKEYCODE_HOME }, 26 { KEY_BACK, AKEYCODE_BACK }, 27 28 // Media Control 29 { KEY_PLAYPAUSE, AKEYCODE_MEDIA_PLAY_PAUSE }, 30 { KEY_PLAY, AKEYCODE_MEDIA_PLAY }, 31 { KEY_PAUSECD, AKEYCODE_MEDIA_PAUSE }, 32 { KEY_NEXTSONG, AKEYCODE_MEDIA_NEXT }, 33 { KEY_PREVIOUSSONG, AKEYCODE_MEDIA_PREVIOUS }, 34 { KEY_STOPCD, AKEYCODE_MEDIA_STOP }, 35 { KEY_RECORD, AKEYCODE_MEDIA_RECORD }, 36 { KEY_REWIND, AKEYCODE_MEDIA_REWIND }, 37 { KEY_FASTFORWARD, AKEYCODE_MEDIA_FAST_FORWARD }, 38 39 // TV Control 40 { KEY_0, AKEYCODE_0 }, 41 { KEY_1, AKEYCODE_1 }, 42 { KEY_2, AKEYCODE_2 }, 43 { KEY_3, AKEYCODE_3 }, 44 { KEY_4, AKEYCODE_4 }, 45 { KEY_5, AKEYCODE_5 }, 46 { KEY_6, AKEYCODE_6 }, 47 { KEY_7, AKEYCODE_7 }, 48 { KEY_8, AKEYCODE_8 }, 49 { KEY_9, AKEYCODE_9 }, 50 { KEY_BACKSPACE, AKEYCODE_DEL }, 51 { KEY_ENTER, AKEYCODE_ENTER}, 52 { KEY_CHANNELUP, AKEYCODE_CHANNEL_UP }, 53 { KEY_CHANNELDOWN, AKEYCODE_CHANNEL_DOWN }, 54 55 // Old School TV Controls 56 { KEY_F1, AKEYCODE_F1 }, 57 { KEY_F2, AKEYCODE_F2 }, 58 { KEY_F3, AKEYCODE_F3 }, 59 { KEY_F4, AKEYCODE_F4 }, 60 { KEY_F5, AKEYCODE_F5 }, 61 { KEY_F6, AKEYCODE_F6 }, 62 { KEY_F7, AKEYCODE_F7 }, 63 { KEY_F8, AKEYCODE_F8 }, 64 { KEY_F9, AKEYCODE_F9 }, 65 { KEY_F10, AKEYCODE_F10 }, 66 { KEY_F11, AKEYCODE_F11 }, 67 { KEY_F12, AKEYCODE_F12 }, 68 { KEY_FN_F1, AKEYCODE_F1 }, 69 { KEY_FN_F2, AKEYCODE_F2 }, 70 { KEY_FN_F3, AKEYCODE_F3 }, 71 { KEY_FN_F4, AKEYCODE_F4 }, 72 { KEY_FN_F5, AKEYCODE_F5 }, 73 { KEY_FN_F6, AKEYCODE_F6 }, 74 { KEY_FN_F7, AKEYCODE_F7 }, 75 { KEY_FN_F8, AKEYCODE_F8 }, 76 { KEY_FN_F9, AKEYCODE_F9 }, 77 { KEY_FN_F10, AKEYCODE_F10 }, 78 { KEY_FN_F11, AKEYCODE_F11 }, 79 { KEY_FN_F12, AKEYCODE_F12 }, 80 { KEY_TV, AKEYCODE_TV }, 81 { KEY_RED, AKEYCODE_PROG_RED }, 82 { KEY_GREEN, AKEYCODE_PROG_GREEN }, 83 { KEY_YELLOW, AKEYCODE_PROG_YELLOW }, 84 { KEY_BLUE, AKEYCODE_PROG_BLUE }, 85 86 { KEY_FAVORITES, AKEYCODE_BUTTON_MODE}, 87 { KEY_WWW, AKEYCODE_EXPLORER }, 88 { KEY_MENU, AKEYCODE_MENU }, 89 { KEY_INFO, AKEYCODE_INFO }, 90 { KEY_EPG, AKEYCODE_GUIDE }, 91 { KEY_TEXT, AKEYCODE_TV_TELETEXT }, 92 { KEY_SUBTITLE, AKEYCODE_CAPTIONS }, 93 { KEY_PVR, AKEYCODE_DVR}, 94 { KEY_AUDIO, AKEYCODE_MEDIA_AUDIO_TRACK}, 95 { KEY_OPTION, AKEYCODE_SETTINGS}, 96 97 // Gamepad buttons 98 { KEY_UP, AKEYCODE_DPAD_UP }, 99 { KEY_DOWN, AKEYCODE_DPAD_DOWN }, 100 { KEY_LEFT, AKEYCODE_DPAD_LEFT }, 101 { KEY_RIGHT, AKEYCODE_DPAD_RIGHT }, 102 { KEY_SELECT, AKEYCODE_DPAD_CENTER }, 103 { BTN_A, AKEYCODE_BUTTON_A }, 104 { BTN_B, AKEYCODE_BUTTON_B }, 105 { BTN_X, AKEYCODE_BUTTON_X }, 106 { BTN_Y, AKEYCODE_BUTTON_Y }, 107 108 { KEY_SEARCH, AKEYCODE_SEARCH }, 109}; 110 111} // namespace android 112 113#endif // SERVICE_JNI_KEYS_H_ 114