//-------------------------------------------------------------------------
/*
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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, 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
