Sujith Ramakrishnan | b5b86c1 | 2016-01-28 16:53:16 -0800 | [diff] [blame] | 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 | |
| 7 | namespace android { |
| 8 | |
| 9 | // Map the keys specified in virtual-remote.kl. |
| 10 | // Only specify the keys actually used in the layout here. |
| 11 | struct Key { |
| 12 | int linuxKeyCode; |
| 13 | int32_t androidKeyCode; |
| 14 | }; |
| 15 | |
| 16 | // List of all of the keycodes that the emote is capable of sending. |
| 17 | static 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_ |