//-------------------------------------------------------------------------
/*
Copyright (C) 1997, 2005 - 3D Realms Entertainment

This file is part of Shadow Warrior version 1.2

Shadow Warrior is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

Original Source: 1997 - Frank Maddin and Jim Norwood
Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms
*/
//-------------------------------------------------------------------------

#ifndef KEYS_H

#define KEYS_H

#include "mytypes.h"

#define NUM_CODES     128

#define ESC    0x1B
#define ENTER  0x0D

#define KEYSC_ESC     1
#define KEYSC_1       2
#define KEYSC_2       3
#define KEYSC_3       4
#define KEYSC_4       5
#define KEYSC_5       6
#define KEYSC_6       7
#define KEYSC_7       8
#define KEYSC_8       9
#define KEYSC_9      10
#define KEYSC_0      11
#define KEYSC_DASH   12
#define KEYSC_EQUAL  13

#define KEYSC_BS     14
#define KEYSC_TAB    15
#define KEYSC_Q      16
#define KEYSC_W      17
#define KEYSC_E      18
#define KEYSC_R      19
#define KEYSC_T      20
#define KEYSC_Y      21
#define KEYSC_U      22
#define KEYSC_I      23
#define KEYSC_O      24
#define KEYSC_P      25
#define KEYSC_LBRACK 26
#define KEYSC_RBRACK 27
#define KEYSC_ENTER  28

#define KEYSC_CTRL   29
#define KEYSC_A      30
#define KEYSC_S      31
#define KEYSC_D      32
#define KEYSC_F      33
#define KEYSC_G      34
#define KEYSC_H      35
#define KEYSC_J      36
#define KEYSC_K      37
#define KEYSC_L      38
#define KEYSC_SEMI   39
#define KEYSC_QUOTE  40
#define KEYSC_BQUOTE 41
#define KEYSC_TILDE  41

#define KEYSC_LSHIFT 42
#define KEYSC_BSLASH 43
#define KEYSC_Z      44
#define KEYSC_X      45
#define KEYSC_C      46
#define KEYSC_V      47
#define KEYSC_B      48
#define KEYSC_N      49
#define KEYSC_M      50
#define KEYSC_COMMA  51
#define KEYSC_PERIOD 52
#define KEYSC_SLASH  53
#define KEYSC_RSHIFT 54
#define KEYSC_STAR   55

#define KEYSC_ALT    56
#define KEYSC_SPACE  57
#define KEYSC_CAPS   58

#define KEYSC_F1     59
#define KEYSC_F2     60
#define KEYSC_F3     61
#define KEYSC_F4     62
#define KEYSC_F5     63
#define KEYSC_F6     64
#define KEYSC_F7     65
#define KEYSC_F8     66
#define KEYSC_F9     67
#define KEYSC_F10    68

#define KEYSC_F11    0x57
#define KEYSC_F12    0x58

#define KEYSC_NUM    69
#define KEYSC_SCROLL 70

#define KEYSC_HOME   71
#define KEYSC_UP     72
#define KEYSC_PGUP   73
#define KEYSC_GMINUS 74
#define KEYSC_LEFT   75
#define KEYSC_KP5    76
#define KEYSC_RIGHT  77
#define KEYSC_GPLUS  78
#define KEYSC_END    79
#define KEYSC_DOWN   80
#define KEYSC_PGDN   81
#define KEYSC_INS    82
#define KEYSC_DEL    83

#define asc_Esc         27
#define asc_Enter       13
#define asc_Space       32

#endif
