#ifndef _MYINKEY_CH

#define _MYINKEY_CH

#include "appevent.ch"
*******************************************************************************
* Cursor movement
*******************************************************************************
// Up arrow            | Strg+E
#define  K_UP           5
// Down arrow          | Strg+X
#define  K_DOWN        24
// Left arrow          | Strg+S
#define  K_LEFT        19
// Right arrow         | Strg+D
#define  K_RIGHT        4
// Page up             | Strg+R
#define  K_PGUP        18
// Page down           | Strg+C
#define  K_PGDN         3
// Home                | Strg+A
#define  K_HOME         1
// End                 | Strg+F
#define  K_END          6
                           ** Ctrl + cursor movement keys **

// Ctrl+up arrow
#define  K_C_UP    397
// Ctrl+down arrow
#define  K_C_DOWN  401
// Ctrl+left arrow     | Ctrl+Z
#define  K_C_LEFT   26
// Ctrl+right arrow    | Ctrl+B
#define  K_C_RIGHT   2
// Ctrl+page up        | Ctrl+-
#define  K_C_PGUP   31
// Ctrl+page down      | Ctrl+^
#define  K_C_PGDN   30
// Ctrl+home           | Ctrl+]
#define  K_C_HOME   29
// Ctrl+end            | Ctrl+W
#define  K_C_END    23
                           ** Alt + cursor movement keys **

// Alt+up arrow
#define  K_A_UP     408
// Alt+down arrow
#define  K_A_DOWN   416
// Alt+left arrow
#define  K_A_LEFT   411
// Alt+right arrow
#define  K_A_RIGHT  413
// Alt+page up
#define  K_A_PGUP   409
// Alt+page down
#define  K_A_PGDN   417
// Alt+home
#define  K_A_HOME   407
// Alt+end
#define  K_A_END    415

*******************************************************************************
* Keys for editing
*******************************************************************************

// Delete    | Ctrl+G
#define  K_DEL          7
// Back space| Ctrl+H
#define  K_BS           8
// Tab       | Ctrl+I
#define  K_TAB          9
// Insert    | Ctrl+V
#define  K_INS         22
// Shift-Tab
#define  K_S_TAB     271
                           ** Ctrl + keys for editing

// Ctrl+back space
#define  K_C_BS    127
// Ctrl+insert
#define  K_C_INS   402
// Ctrl+delete
#define  K_C_DEL   403
// Ctrl+tab
#define  K_C_TAB   404
                           ** Alt + keys for editing

// Alt+back space
#define  K_A_BS     270
// Alt+insert
#define  K_A_INS    418
// Alt+delete
#define  K_A_DEL    419
#define  K_A_TAB    #error ALT_TAB not available in OS/2

*******************************************************************************
* Miscellaneous keys
*******************************************************************************

// Enter  , Ctrl+M
#define  K_ENTER           13
// Return , Ctrl+M
#define  K_RETURN          13
// Esc    , Ctrl+[
#define  K_ESC             27
// Space bar
#define  K_SPACE           32
                           ** Ctrl + miscellaneous keys **

// Ctrl+Enter
#define  K_C_ENTER      10
// Ctrl+Return
#define  K_C_RETURN     10
// Ctrl+Return
#define  K_C_RET        10
// Ctrl+Print
#define  K_C_PRTSCR    379
// Ctrl+?
#define  K_C_QUESTION  309
                           ** Alt + miscellaneous keys **

// Alt+Enter
#define  K_A_ENTER      284
// Alt+Return
#define  K_A_RETURN     284
// Alt+Equals
#define  K_A_EQUALS     387
#define  K_A_ESC        #error ALT_ESC not available in OS/2

*******************************************************************************
* Keys codes for letters
*******************************************************************************
                       ** Ctrl+Letter keys **

// Ctrl+A | Home
#define  K_C_A   1
// Ctrl+B | Ctrl+Right arrow
#define  K_C_B   2
// Ctrl+C | Page down | Ctrl+ScrollLock
#define  K_C_C   3
// Ctrl+D | right arrow
#define  K_C_D   4
// Ctrl+E | up arrow
#define  K_C_E   5
// Ctrl+F | End
#define  K_C_F   6
// Ctrl+G | Delete
#define  K_C_G   7
// Ctrl+H | Backspace
#define  K_C_H   8
// Ctrl+I | Tab
#define  K_C_I   9
// Ctrl+J
#define  K_C_J  10
// Ctrl+K
#define  K_C_K  11
// Ctrl+L
#define  K_C_L  12
// Ctrl+M | Return
#define  K_C_M  13
// Ctrl+N
#define  K_C_N  14
// Ctrl+O
#define  K_C_O  15
// Ctrl+P
#define  K_C_P  16
// Ctrl+Q
#define  K_C_Q  17
// Ctrl+R | Page up
#define  K_C_R  18
// Ctrl+S | Left arrow
#define  K_C_S  19
// Ctrl+T
#define  K_C_T  20
// Ctrl+U
#define  K_C_U  21
// Ctrl+V | Insert
#define  K_C_V  22
// Ctrl+W | Ctrl+End
#define  K_C_W  23
// Ctrl+X | Down arrow
#define  K_C_X  24
// Ctrl+Y
#define  K_C_Y  25
// Ctrl+Z | Ctrl+left arrow
#define  K_C_Z  26
                       ** Alt+Letter keys **

#define  K_A_A  286
#define  K_A_B  304
#define  K_A_C  302
#define  K_A_D  288
#define  K_A_E  274
#define  K_A_F  289
#define  K_A_G  290
#define  K_A_H  291
#define  K_A_I  279
#define  K_A_J  292
#define  K_A_K  293
#define  K_A_L  294
#define  K_A_M  306
#define  K_A_N  305
#define  K_A_O  280
#define  K_A_P  281
#define  K_A_Q  272
#define  K_A_R  275
#define  K_A_S  287
#define  K_A_T  276
#define  K_A_U  278
#define  K_A_V  303
#define  K_A_W  273
#define  K_A_X  301
#define  K_A_Y  277
#define  K_A_Z  300
#define  K_A_1  376
#define  K_A_2  377
#define  K_A_3  378
#define  K_A_4  379
#define  K_A_5  380
#define  K_A_6  381
#define  K_A_7  382
#define  K_A_8  383
#define  K_A_9  384
#define  K_A_0  385

*******************************************************************************
* Function keys F1 - F12
*******************************************************************************

// F1 | Ctrl+Backslash
#define  K_F1        28
#define  K_F2        -1
#define  K_F3        -2
#define  K_F4        -3
#define  K_F5        -4
#define  K_F6        -5
#define  K_F7        -6
#define  K_F8        -7
#define  K_F9        -8
#define  K_F10       -9
#define  K_F11      -40
#define  K_F12      -41
                         ** Shift + Function keys

#define  K_S_F1    -10
#define  K_S_F2    -11
#define  K_S_F3    -12
#define  K_S_F4    -13
#define  K_S_F5    -14
#define  K_S_F6    -15
#define  K_S_F7    -16
#define  K_S_F8    -17
#define  K_S_F9    -18
#define  K_S_F10   -19
#define  K_S_F11   -42
#define  K_S_F12   -43
                         ** Ctrl + Function keys **
#define  K_C_F1  -20
#define  K_C_F2  -21
#define  K_C_F3  -22
#define  K_C_F4  -23
#define  K_C_F5  -24
#define  K_C_F6  -25
#define  K_C_F7  -26
#define  K_C_F8  -27
#define  K_C_F9  -28
#define  K_C_F10 -29
#define  K_C_F11 -44
#define  K_C_F12 -45
                         ** Alt + Function keys **
#define  K_A_F1   -30
#define  K_A_F2   -31
#define  K_A_F3   -32
#define  K_A_F4   -33
#define  K_A_F5   -34
#define  K_A_F6   -35
#define  K_A_F7   -36
#define  K_A_F8   -37
#define  K_A_F9   -38
#define  K_A_F10  -39
#define  K_A_F11  -46
#define  K_A_F12  -47

*******************************************************************************
* Keys in the numeric keypad
*******************************************************************************

#define  KP_C_5         399
#define  KP_C_SLASH     405
#define  KP_C_ASTERISK  406
#define  KP_C_MINUS     398
#define  KP_C_PLUS      400
#define  KP_A_5            5
#define  KP_A_SLASH      420
#define  KP_A_ASTERISK   311
#define  KP_A_MINUS      330
#define  KP_A_PLUS       334
#define  KP_A_ENTER      422


#endif                          // #ifndef _INKEY_CH

