Home | History | Annotate | Download | only in android
      1 /* Copyright (C) 2009 The Android Open Source Project
      2 **
      3 ** This software is licensed under the terms of the GNU General Public
      4 ** License version 2, as published by the Free Software Foundation, and
      5 ** may be copied, distributed, and modified under those terms.
      6 **
      7 ** This program is distributed in the hope that it will be useful,
      8 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
      9 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     10 ** GNU General Public License for more details.
     11 */
     12 #ifndef ANDROID_KEYCODE_H
     13 #define ANDROID_KEYCODE_H
     14 
     15 #include "linux_keycodes.h"
     16 
     17 /* Keep it consistent with linux/input.h */
     18 typedef enum {
     19     kKeyCodeSoftLeft                = KEY_SOFT1,
     20     kKeyCodeSoftRight               = KEY_SOFT2,
     21     kKeyCodeHome                    = KEY_HOME,
     22     kKeyCodeBack                    = KEY_BACK,
     23     kKeyCodeCall                    = KEY_SEND,
     24     kKeyCodeEndCall                 = KEY_END,
     25     kKeyCode0                       = KEY_0,
     26     kKeyCode1                       = KEY_1,
     27     kKeyCode2                       = KEY_2,
     28     kKeyCode3                       = KEY_3,
     29     kKeyCode4                       = KEY_4,
     30     kKeyCode5                       = KEY_5,
     31     kKeyCode6                       = KEY_6,
     32     kKeyCode7                       = KEY_7,
     33     kKeyCode8                       = KEY_8,
     34     kKeyCode9                       = KEY_9,
     35     kKeyCodeStar                    = KEY_STAR,
     36     kKeyCodePound                   = KEY_SHARP,
     37     kKeyCodeDpadUp                  = KEY_UP,
     38     kKeyCodeDpadDown                = KEY_DOWN,
     39     kKeyCodeDpadLeft                = KEY_LEFT,
     40     kKeyCodeDpadRight               = KEY_RIGHT,
     41     kKeyCodeDpadCenter              = KEY_CENTER,
     42     kKeyCodeVolumeUp                = KEY_VOLUMEUP,
     43     kKeyCodeVolumeDown              = KEY_VOLUMEDOWN,
     44     kKeyCodePower                   = KEY_POWER,
     45     kKeyCodeCamera                  = KEY_CAMERA,
     46     kKeyCodeClear                   = KEY_CLEAR,
     47     kKeyCodeA                       = KEY_A,
     48     kKeyCodeB                       = KEY_B,
     49     kKeyCodeC                       = KEY_C,
     50     kKeyCodeD                       = KEY_D,
     51     kKeyCodeE                       = KEY_E,
     52     kKeyCodeF                       = KEY_F,
     53     kKeyCodeG                       = KEY_G,
     54     kKeyCodeH                       = KEY_H,
     55     kKeyCodeI                       = KEY_I,
     56     kKeyCodeJ                       = KEY_J,
     57     kKeyCodeK                       = KEY_K,
     58     kKeyCodeL                       = KEY_L,
     59     kKeyCodeM                       = KEY_M,
     60     kKeyCodeN                       = KEY_N,
     61     kKeyCodeO                       = KEY_O,
     62     kKeyCodeP                       = KEY_P,
     63     kKeyCodeQ                       = KEY_Q,
     64     kKeyCodeR                       = KEY_R,
     65     kKeyCodeS                       = KEY_S,
     66     kKeyCodeT                       = KEY_T,
     67     kKeyCodeU                       = KEY_U,
     68     kKeyCodeV                       = KEY_V,
     69     kKeyCodeW                       = KEY_W,
     70     kKeyCodeX                       = KEY_X,
     71     kKeyCodeY                       = KEY_Y,
     72     kKeyCodeZ                       = KEY_Z,
     73 
     74     kKeyCodeComma                   = KEY_COMMA,
     75     kKeyCodePeriod                  = KEY_DOT,
     76     kKeyCodeAltLeft                 = KEY_LEFTALT,
     77     kKeyCodeAltRight                = KEY_RIGHTALT,
     78     kKeyCodeCapLeft                 = KEY_LEFTSHIFT,
     79     kKeyCodeCapRight                = KEY_RIGHTSHIFT,
     80     kKeyCodeTab                     = KEY_TAB,
     81     kKeyCodeSpace                   = KEY_SPACE,
     82     kKeyCodeSym                     = KEY_COMPOSE,
     83     kKeyCodeExplorer                = KEY_WWW,
     84     kKeyCodeEnvelope                = KEY_MAIL,
     85     kKeyCodeNewline                 = KEY_ENTER,
     86     kKeyCodeDel                     = KEY_BACKSPACE,
     87     kKeyCodeGrave                   = 399,
     88     kKeyCodeMinus                   = KEY_MINUS,
     89     kKeyCodeEquals                  = KEY_EQUAL,
     90     kKeyCodeLeftBracket             = KEY_LEFTBRACE,
     91     kKeyCodeRightBracket            = KEY_RIGHTBRACE,
     92     kKeyCodeBackslash               = KEY_BACKSLASH,
     93     kKeyCodeSemicolon               = KEY_SEMICOLON,
     94     kKeyCodeApostrophe              = KEY_APOSTROPHE,
     95     kKeyCodeSlash                   = KEY_SLASH,
     96     kKeyCodeAt                      = KEY_EMAIL,
     97     kKeyCodeNum                     = KEY_NUM,
     98     kKeyCodeHeadsetHook             = KEY_HEADSETHOOK,
     99     kKeyCodeFocus                   = KEY_FOCUS,
    100     kKeyCodePlus                    = KEY_PLUS,
    101     kKeyCodeMenu                    = KEY_SOFT1,
    102     kKeyCodeNotification            = KEY_NOTIFICATION,
    103     kKeyCodeSearch                  = KEY_SEARCH,
    104     kKeyCodeTV                      = KEY_TV,
    105     kKeyCodeEPG                     = KEY_PROGRAM,
    106     kKeyCodeDVR                     = KEY_PVR,
    107     kKeyCodePrevious                = KEY_PREVIOUS,
    108     kKeyCodeNext                    = KEY_NEXT,
    109     kKeyCodePlay                    = KEY_PLAY,
    110     kKeyCodePause                   = KEY_PAUSE,
    111     kKeyCodeStop                    = KEY_STOP,
    112     kKeyCodeRewind                  = KEY_REWIND,
    113     kKeyCodeFastForward             = KEY_FASTFORWARD,
    114     kKeyCodeBookmarks               = KEY_BOOKMARKS,
    115     kKeyCodeCycleWindows            = KEY_CYCLEWINDOWS,
    116     kKeyCodeChannelUp               = KEY_CHANNELUP,
    117     kKeyCodeChannelDown             = KEY_CHANNELDOWN,
    118 
    119 } AndroidKeyCode;
    120 
    121 /* This function is used to rotate D-Pad keycodes, while leaving other ones
    122  * untouched. 'code' is the input keycode, which will be returned as is if
    123  * it doesn't correspond to a D-Pad arrow. 'rotation' is the number of
    124  * *clockwise* 90 degrees rotations to perform on D-Pad keys.
    125  *
    126  * Here are examples:
    127  *    android_keycode_rotate( kKeyCodeDpadUp, 1 )  => kKeyCodeDpadRight
    128  *    android_keycode_rotate( kKeyCodeDpadRight, 2 ) => kKeyCodeDpadLeft
    129  *    android_keycode_rotate( kKeyCodeDpadDown, 3 ) => kKeyCodeDpadRight
    130  *    android_keycode_rotate( kKeyCodeSpace, n ) => kKeyCodeSpace independent of n
    131  */
    132 extern AndroidKeyCode   android_keycode_rotate( AndroidKeyCode  code, int  rotation );
    133 
    134 #endif /* ANDROID_KEYCODE_H */
    135