WinDom: scancode.h Source File

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- File List
- Globals

# scancode.h

Go to the documentation of this file.

    00001 /*
    00002  * WinDom: a high level GEM library
    00003  * Copyright (c) 1997-2006 windom authors (see AUTHORS file)
    00004  *
    00005  * This library is free software; you can redistribute it and/or
    00006  * modify it under the terms of the GNU Lesser General Public
    00007  * License as published by the Free Software Foundation; either
    00008  * version 2.1 of the License, or (at your option) any later version.
    00009  *
    00010  * This library is distributed in the hope that it will be useful,
    00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00013  * Lesser General Public License for more details.
    00014  *
    00015  * You should have received a copy of the GNU Lesser General Public
    00016  * License along with this library; if not, write to the Free Software
    00017  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
    00018  *
    00019  * $Source: /cvsroot/windom/windom/include/scancode.h,v $
    00020  *
    00021  * CVS info:
    00022  *   $Author: bercegeay $
    00023  *   $Date: 2006/01/03 14:46:23 $
    00024  *   $Revision: 1.4 $
    00025  */
    00026
    00027
    00028 #ifndef __SCANCODE__
    00029 #define __SCANCODE__
    00030
    00031 /* Main keyboard */
    00032 #define SC_ESC      0x01
    00033 #define SC_BACK     0x0E
    00034 #define SC_TAB      0x0F
    00035 #define SC_RETURN   0x1C
    00036 #define SC_DEL      0x53
    00037 #define SC_SPACE    0x39
    00038
    00039 /* Move keyboard */
    00040 #define SC_HELP     0x62
    00041 #define SC_UNDO     0x61
    00042 #define SC_INSERT   0x52
    00043 #define SC_HOME     0x47
    00044 #define SC_UPARW    0x48
    00045 #define SC_LFARW    0x4B
    00046 #define SC_DNARW    0x50
    00047 #define SC_DWARW SC_DNARW
    00048 #define SC_RTARW    0x4D
    00049
    00050 /* Numeric keyboard */
    00051 #define SC_LFPAR    0x63
    00052 #define SC_RTPAR    0x64
    00053 #define SC_SLASH    0x65
    00054 #define SC_STAR     0x66
    00055 #define SC_SEVEN    0x67
    00056 #define SC_EIGHT    0x68
    00057 #define SC_NINE     0x69
    00058 #define SC_MINUS    0x4A
    00059 #define SC_FOUR     0x6A
    00060 #define SC_FIVE     0x6B
    00061 #define SC_SIX      0x6C
    00062 #define SC_PLUS     0x4E
    00063 #define SC_ONE      0x6D
    00064 #define SC_TWO      0x6E
    00065 #define SC_THREE    0x6F
    00066 #define SC_ENTER    0x72
    00067 #define SC_ZERO     0x70
    00068 #define SC_POINT    0x71
    00069
    00070 /* Available with MagiC Mac and Magic PC */
    00071 #define SC_PGUP     0x49
    00072 #define SC_PGDN     0x51
    00073
    00074 /* Function keys */
    00075 #define SC_F1       0x3B
    00076 #define SC_F2       0x3C
    00077 #define SC_F3       0x3D
    00078 #define SC_F4       0x3E
    00079 #define SC_F5       0x3F
    00080 #define SC_F6       0x40
    00081 #define SC_F7       0x41
    00082 #define SC_F8       0x42
    00083 #define SC_F9       0x43
    00084 #define SC_F10      0x44
    00085 #define SC_F11      0x54
    00086 #define SC_F12      0x55
    00087 #define SC_F13      0x56
    00088 #define SC_F14      0x57
    00089 #define SC_F15      0x58
    00090 #define SC_F16      0x59
    00091 #define SC_F17      0x5A
    00092 #define SC_F18      0x5B
    00093 #define SC_F19      0x5C
    00094 #define SC_F20      0x5D
    00095
    00096 /*
    00097  * The previous definitions address the non ASCII
    00098  * keys of the Atari keyboard. We use only the first
    00099  * byte of scancodes (containing 2 bytes) because the
    00100  * the second one is always 0 (non ASCII keys).
    00101  *
    00102  * Other keys have a different scancode depending on
    00103  * the keyboard (country) type because a scancode identify
    00104  * a key location on a keyboard and not an ASCII value.
    00105  * For example, the key 'a' have as scancode 0x1E61 on
    00106  * english keyboard and 0x1061 on french keyboard
    00107  * ('a' is 0x61 in ASCII code).
    00108  *
    00109  * WinDom provides a function, keybd2ascii(), which can
    00110  * identify ascii value of a scancode (occuring with a
    00111  * keyboard event for example) even the control and
    00112  * alternate keys are depressed. It is very usefull to
    00113  * shortcut keys working on any type of keyboard.
    00114  */
    00115
    00116 #endif