core/vgui/vgui_key.h
Go to the documentation of this file.
00001 // This is core/vgui/vgui_key.h
00002 #ifndef vgui_key_h_
00003 #define vgui_key_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 // \file
00009 // \brief Enumeration of possible key strokes.
00010 
00011 #include <vcl_iosfwd.h>
00012 
00013 //: Enumeration of possible key strokes.
00014 enum vgui_key
00015 {
00016   vgui_KEY_NULL = 0,
00017   vgui_TAB='\t',
00018   vgui_NEWLINE='\n',
00019   vgui_RETURN='\r',
00020   vgui_ESC=27, /* */ vgui_ESCAPE=27,
00021   vgui_space=' ', // 32
00022   vgui_EXCLAM='!', // 33
00023   vgui_HASH='#', // 35
00024   vgui_DOLLAR='$', // 36
00025   vgui_PERCENT='%', // 37
00026   vgui_AMPERSAND='&', // 38
00027   vgui_STAR='*', // 42
00028   vgui_PLUS='+', // 43
00029   vgui_COMMA=',', // 44
00030   vgui_MINUS='-', // 45
00031   vgui_POINT='.', // 46
00032   vgui_SLASH='/', // 47
00033   vgui_LESS='<', // 60
00034   vgui_EQUALS='=', // 61
00035   vgui_GREATER='>', // 62
00036   vgui_QUESTION='?', // 63
00037   vgui_LEFTBRACKET='[', // 91
00038   vgui_RIGHTBRACKET=']', // 93
00039   vgui_CHAR_a='a', // 97
00040   vgui_CHAR_b='b', // 98
00041   vgui_CHAR_c='c', // 99
00042   vgui_CHAR_d='d', // 100
00043   vgui_CHAR_e='e', // 101
00044   vgui_CHAR_f='f', // 102
00045   vgui_CHAR_g='g', // 103
00046   vgui_CHAR_h='h', // 104
00047   vgui_CHAR_i='i', // 105
00048   vgui_CHAR_j='j', // 106
00049   vgui_CHAR_k='k', // 107
00050   vgui_CHAR_l='l', // 108
00051   vgui_CHAR_m='m', // 109
00052   vgui_CHAR_n='n', // 110
00053   vgui_CHAR_o='o', // 111
00054   vgui_CHAR_p='p', // 112
00055   vgui_CHAR_q='q', // 113
00056   vgui_CHAR_r='r', // 114
00057   vgui_CHAR_s='s', // 115
00058   vgui_CHAR_t='t', // 116
00059   vgui_CHAR_u='u', // 117
00060   vgui_CHAR_v='v', // 118
00061   vgui_CHAR_w='w', // 119
00062   vgui_CHAR_x='x', // 120
00063   vgui_CHAR_y='y', // 121
00064   vgui_CHAR_z='z', // 122
00065   vgui_LEFTBRACE='{', // 123
00066   vgui_RIGHTBRACE='}', // 125
00067   vgui_KEY_XXX=0x100, // non-ascii encoded keys below :
00068   vgui_F1, vgui_F2 , vgui_F3 , vgui_F4 , // function keys
00069   vgui_F5, vgui_F6 , vgui_F7 , vgui_F8 ,
00070   vgui_F9, vgui_F10, vgui_F11, vgui_F12,
00071   vgui_CURSOR_LEFT, vgui_CURSOR_UP, vgui_CURSOR_RIGHT, vgui_CURSOR_DOWN,  // cursor movement
00072   vgui_PAGE_UP, /* */ vgui_PGUP=vgui_PAGE_UP,
00073   vgui_PAGE_DOWN, /* */ vgui_PGDN = vgui_PAGE_DOWN,
00074   vgui_HOME, vgui_END,
00075   vgui_DELETE, vgui_INSERT  // other things
00076 };
00077 
00078 //: Given a letter character, this function returns the control character.
00079 //
00080 //  Use vgui_key_CTRL('a') or vgui_key_CTRL('A') to signify control+A.
00081 //  Note, the vgui_key in a vgui_event is always a lower case letter (see
00082 //  vgui_event.h), so don't compare event.key to a vgui_key_CTRL'ed letter.
00083 //  You may compare a vgui_key_CTRL'ed to an event.ascii_key.
00084 vgui_key vgui_key_CTRL(int character);
00085 
00086 vcl_ostream& operator<<(vcl_ostream& s, vgui_key k);
00087 
00088 #endif // vgui_key_h_