#ifndef GLVIEW_KEYS_H
#define GLVIEW_KEYS_H
/*===========================================================================/

  GLView Keys for Mac OS X
  Copyright (C) 2004-2006 Karl Robillard

  These defines and macros are for GLV_EVENT_KEY_DOWN/UP events.

/===========================================================================*/


#define KEY_Grave        0x32
#define KEY_Escape       0x35
#define KEY_Space        0x31
#define KEY_Return       0x24
#define KEY_Tab          0x30
#define KEY_Back_Space   0x33
#define KEY_Print        0
#define KEY_Scroll_Lock  0
#define KEY_Pause        0
#define KEY_Num_Lock     0
#define KEY_Bracket_L    0x21
#define KEY_Bracket_R    0x1e
#define KEY_Minus        0x1b
#define KEY_Equal        0x18
#define KEY_Backslash    0x2a
#define KEY_Semicolon    0x29
#define KEY_Apostrophe   0x27
#define KEY_Comma        0x2b
#define KEY_Period       0x2f
#define KEY_Slash        0x2c

#define KEY_Left         0x7b
#define KEY_Right        0x7c
#define KEY_Up           0x7e
#define KEY_Down         0x7d
#define KEY_Insert       0x72
#define KEY_Delete       0x75
#define KEY_Home         0x73
#define KEY_End          0x77
#define KEY_Page_Up      0x74
#define KEY_Page_Down    0x79

#define KEY_KP_Up        0x5b
#define KEY_KP_Begin     0x57
#define KEY_KP_Left      0x56
#define KEY_KP_Right     0x58
#define KEY_KP_Home      0x59
#define KEY_KP_Down      0x54
#define KEY_KP_Page_Up   0x5c
#define KEY_KP_Page_Down 0x55
#define KEY_KP_End       0x53
#define KEY_KP_Insert    0x52
#define KEY_KP_Delete    0x41
#define KEY_KP_Enter     0x4c
#define KEY_KP_Divide    0x4b
#define KEY_KP_Multiply  0x43
#define KEY_KP_Add       0x45
#define KEY_KP_Separator 0
#define KEY_KP_Subtract  0x4e
#define KEY_KP_Decimal   0x41
#define KEY_KP_Equal     0x51

#define KEY_Caps_Lock    0xffe5
#define KEY_Shift_L      0xffe1
#define KEY_Shift_R      0xffe2
#define KEY_Control_L    0xffe3
#define KEY_Control_R    0xffe4
#define KEY_Alt_L        0xffe9
#define KEY_Alt_R        0xffea
#define KEY_Meta_L       0xffe7
#define KEY_Meta_R       0xffe8

#define KEY_0            0x1d
#define KEY_1            0x12
#define KEY_2            0x13
#define KEY_3            0x14
#define KEY_4            0x15
#define KEY_5            0x17
#define KEY_6            0x16
#define KEY_7            0x1a
#define KEY_8            0x1c
#define KEY_9            0x19

#define KEY_a            0x1b
#define KEY_b            0x0b
#define KEY_c            0x08
#define KEY_d            0x02
#define KEY_e            0x0e
#define KEY_f            0x03
#define KEY_g            0x05
#define KEY_h            0x04
#define KEY_i            0x22
#define KEY_j            0x26
#define KEY_k            0x28
#define KEY_l            0x25
#define KEY_m            0x2e
#define KEY_n            0x2d
#define KEY_o            0x1f
#define KEY_p            0x23
#define KEY_q            0x0c
#define KEY_r            0x0f
#define KEY_s            0x01
#define KEY_t            0x11
#define KEY_u            0x20
#define KEY_v            0x09
#define KEY_w            0x0d
#define KEY_x            0x07
#define KEY_y            0x10
#define KEY_z            0x06

#define KEY_F1           0x7a
#define KEY_F2           0x78
#define KEY_F3           0x63
#define KEY_F4           0x76
#define KEY_F5           0x60
#define KEY_F6           0x61
#define KEY_F7           0x62
#define KEY_F8           0x64
#define KEY_F9           0x65
#define KEY_F10          0x6d
#define KEY_F11          0x67
#define KEY_F12          0x6f
#define KEY_F13          0x69
#define KEY_F14          0x6b
#define KEY_F15          0x71


#define KEY_ASCII(e)        glv_ascii()


#endif //GLVIEW_KEYS_H
