Unit GlobalConst

From Ultibo.org
Revision as of 01:46, 26 September 2016 by Ultibo (Talk | contribs)

Jump to: navigation, search

Return to Unit Reference


Description


To be documented

Constants



Universal error constants ERROR_*
ERROR_SUCCESS = 0; Success
NO_ERROR = 0; Success
 
ERROR_INVALID_FUNCTION = 1; Invalid function
ERROR_FILE_NOT_FOUND = 2; The file cannot be found
ERROR_PATH_NOT_FOUND = 3; The path cannot be found
ERROR_TOO_MANY_OPEN_FILES = 4; Too many open files
ERROR_ACCESS_DENIED = 5; Access is denied
ERROR_INVALID_HANDLE = 6; Invalid handle}
ERROR_NOT_ENOUGH_MEMORY = DWORD(8); Not enough storage is available to process this command
 
ERROR_INVALID_ACCESS = 12; Invalid access
ERROR_INVALID_DATA = 13; The data is invalid
ERROR_OUTOFMEMORY = 14; Not enough memory is available
ERROR_INVALID_DRIVE = 15; Cannot find the drive specified
ERROR_CURRENT_DIRECTORY = 16; Current directory cannot be removed
ERROR_NOT_SAME_DEVICE = 17; Cannot move the file to a different disk drive
ERROR_NO_MORE_FILES = 18; There are no more files
ERROR_WRITE_PROTECT = 19; Media is write protected
ERROR_BAD_UNIT = 20; Cannot find the device specified
ERROR_NOT_READY = 21; The device is not ready
ERROR_BAD_COMMAND = 22; The device does not recognise the command
 
ERROR_WRITE_FAULT = 29; The device cannot be written to
ERROR_READ_FAULT = 30; The device cannot be read from
ERROR_GEN_FAILURE = 31; The device has failed
 
ERROR_NOT_SUPPORTED = 50; The request is not supported
 
ERROR_DEV_NOT_EXIST = 55; The device does not exist
 
ERROR_BAD_DEV_TYPE = 66; Invalid device type
 
ERROR_ALREADY_ASSIGNED = 85; The device name is already in use
ERROR_INVALID_PASSWORD = 86; Invalid pasword
ERROR_INVALID_PARAMETER = 87; Invalid parameter
 
ERROR_SEM_IS_SET = 102; The semaphore is in use and cannot be closed
ERROR_OPEN_FAILED = 110; The file or device could not be opened
ERROR_CALL_NOT_IMPLEMENTED = 120; The function is not currently implemented
ERROR_INSUFFICIENT_BUFFER = 122; The buffer passed is too small for the requested data
ERROR_WAIT_NO_CHILDREN = 128; There are no child processes to wait for
 
ERROR_NOT_LOCKED = 158; The entry is not locked
 
ERROR_LOCK_FAILED = 167; The lock operation failed
 
ERROR_ALREADY_EXISTS = 183; The file or object already exists
 
ERROR_ENVVAR_NOT_FOUND = 203; The environment variable could not be found
 
ERROR_LOCKED = 212; The entry is already locked
 
ERROR_MORE_DATA = 234; More data is available than the provided buffer
 
ERROR_WAIT_TIMEOUT = 258; The operation timed out
ERROR_NO_MORE_ITEMS = 259; No more items available
 
ERROR_NOT_OWNER = 288; The current thread is not the owner
 
ERROR_OPERATION_ABORTED = DWORD(995); The I/O operation has been aborted because of either a thread exit or an application request
ERROR_IO_INCOMPLETE = DWORD(996); Overlapped I/O event is not in a signaled state
ERROR_IO_PENDING = DWORD(997); Overlapped I/O operation is in progress
 
ERROR_CAN_NOT_COMPLETE = 1003; Cannot complete the function
 
ERROR_NOT_FOUND = 1168; The entry or device was not found
 
ERROR_INVALID_ACL = DWORD(1336); The access control list (ACL) structure is invalid
ERROR_INVALID_SID = DWORD(1337); The security ID structure is invalid
ERROR_INVALID_SECURITY_DESCR = DWORD(1338); The security descriptor structure is invalid
 
ERROR_TIMEOUT = 1460; The operation returned because the timeout expired
 
ERROR_FUNCTION_FAILED = 1627; The function call failed
 
Errors below here have no compatibility equivalent
ERROR_NOT_VALID = 1000001; The entry or device is not valid
ERROR_NOT_ASSIGNED = 1000002; The device is not assigned
ERROR_IN_USE = 1000003; The device is in use
ERROR_OPERATION_FAILED = 1000004; The operation failed
ERROR_NOT_OPEN = 1000005; The file or device is not open
ERROR_ALREADY_OPEN = 1000006; The file or device is already open
ERROR_WAIT_ABANDONED = 1000007; The operation was abandoned
ERROR_IN_PROGRESS = 1000008; An operation is already in progress
ERROR_RUNTIME_ERROR = 1000009; A run time occurred
ERROR_EXCEPTION = 1000010; An exception occurred
ERROR_NOT_PROCESSED = 1000011; The entry has not been processed
ERROR_NOT_COMPLETED = 1000012; The entry or operation has not completed
ERROR_NOT_COMPATIBLE = 1000013; The entry is not compatible for the operation
ERROR_CANCELLED = 1000014; The entry or operation has been cancelled
 
ERROR_UNKNOWN = $FFFFFFFF;  


Universal value constants INVALID_*
INVALID_HANDLE_VALUE = THandle(-1); DWORD(-1);
INVALID_FILE_SIZE = DWORD($FFFFFFFF);  
INVALID_SET_FILE_POINTER = DWORD(-1);  
INVALID_FILE_ATTRIBUTES = DWORD(-1);  


File position constants FILE_*
FILE_BEGIN = 0;  
FILE_CURRENT = 1;  
FILE_END = 2;  


File open/create constants CREATE_*
CREATE_NEW = 1;  
CREATE_ALWAYS = 2;  
OPEN_EXISTING = 3;  
OPEN_ALWAYS = 4;  
TRUNCATE_EXISTING = 5;  


File creation flag constants FILE_FLAG_*
FILE_FLAG_WRITE_THROUGH = DWORD($80000000);  
FILE_FLAG_OVERLAPPED = $40000000;  
FILE_FLAG_NO_BUFFERING = $20000000;  
FILE_FLAG_RANDOM_ACCESS = $10000000;  
FILE_FLAG_SEQUENTIAL_SCAN = $08000000;  
FILE_FLAG_DELETE_ON_CLOSE = $04000000;  
FILE_FLAG_BACKUP_SEMANTICS = $02000000;  
FILE_FLAG_POSIX_SEMANTICS = $01000000;  
FILE_FLAG_OPEN_REPARSE_POINT = $00200000;  
FILE_FLAG_OPEN_NO_RECALL = $00100000;  
FILE_FLAG_FIRST_PIPE_INSTANCE = $00080000;  


File attribute constants FILE_ATTRIBUTE_*
FILE_ATTRIBUTE_READONLY = $00000001;  
FILE_ATTRIBUTE_HIDDEN = $00000002;  
FILE_ATTRIBUTE_SYSTEM = $00000004;  
FILE_ATTRIBUTE_DIRECTORY = $00000010;  
FILE_ATTRIBUTE_ARCHIVE = $00000020;  
FILE_ATTRIBUTE_DEVICE = $00000040;  
FILE_ATTRIBUTE_NORMAL = $00000080;  
FILE_ATTRIBUTE_TEMPORARY = $00000100;  
FILE_ATTRIBUTE_SPARSE_FILE = $00000200;  
FILE_ATTRIBUTE_REPARSE_POINT = $00000400;  
FILE_ATTRIBUTE_COMPRESSED = $00000800;  
FILE_ATTRIBUTE_OFFLINE = $00001000;  
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = $00002000;  
FILE_ATTRIBUTE_ENCRYPTED = $00004000;  


Filesystem attribute constants FS_*
FS_CASE_SENSITIVE_SEARCH = $00000001;  
FS_CASE_PRESERVED_NAMES = $00000002;  
FS_UNICODE_ON_DISK = $00000004;  
FS_PERSISTENT_ACLS = $00000008;  
FS_FILE_COMPRESSION = $00000010;  
FS_VOLUME_QUOTAS = $00000020;  
FS_SUPPORTS_SPARSE_FILES = $00000040;  
FS_SUPPORTS_REPARSE_POINTS = $00000080;  
FS_SUPPORTS_REMOTE_STORAGE = $00000100;  
FS_VOLUME_IS_COMPRESSED = $00008000;  
FS_SUPPORTS_OBJECT_IDS = $00010000;  
FS_SUPPORTS_ENCRYPTION = $00020000;  
FS_NAMED_STREAMS = $00040000;  
FS_READ_ONLY_VOLUME = $00080000;  


Timeout constants INFINITE =*
INFINITE = LongWord(-1);  


TLS constants TLS_*
TLS_OUT_OF_INDEXES = DWORD($FFFFFFFF);  


Wait constants WAIT_*
WAIT_OBJECT_0 = ERROR_SUCCESS + 0;  
WAIT_ABANDONED = $00000080 + 0; STATUS_ABANDONED_WAIT_0
WAIT_ABANDONED_0 = $00000080 + 0; STATUS_ABANDONED_WAIT_0
WAIT_TIMEOUT = ERROR_WAIT_TIMEOUT;  
WAIT_FAILED = DWORD($FFFFFFFF);  
 
WAIT_IO_COMPLETION = $000000C0; STATUS_USER_APC
 
MAXIMUM_WAIT_OBJECTS = 64; Maximum number of wait objects


Thread state constants STILL_*
STILL_ACTIVE = ERROR_NO_MORE_ITEMS;  


TimeZone constants TIME_ZONE_*
TIME_ZONE_ID_INVALID = DWORD($FFFFFFFF);  


Universal key code constants KEY_CODE_*
Keyboard key codes are based on the Unicode standard with each key code mapped to the code point for that character (See http://unicode.org or http://unicode-table.com)
Keyboard keymaps map the scan code value to the key code value for the specific keyboard layout and include alternate mappings for Shift and AltGr
Non character codes for keys like Home, End, Arrows, F1..F24, Shift, Caps Lock etc are mapped in the Unicode Private Use Area (E000-F8FF)
These are the values reported in the KeyCode field of the TKeyboardData structure returned by the KeyboardRead function
 
Control Characters (0000-001F)
KEY_CODE_NONE = $0000; 0
KEY_CODE_BACKSPACE = $0008; 8
KEY_CODE_TAB = $0009; 9
KEY_CODE_ENTER = $000D; 13
KEY_CODE_ESCAPE = $001B; 27
KEY_CODE_DELETE = $007F; 127
 
Basic Latin Characters (0020-007F)
Punctuation
KEY_CODE_SPACE = $0020; 32
KEY_CODE_EXCLAMATION = $0021; 33
KEY_CODE_QUOTATION = $0022; 34
KEY_CODE_NUMBER = $0023; 35 (Hash / Pound)
KEY_CODE_DOLLAR = $0024; 36
KEY_CODE_PERCENT = $0025; 37
KEY_CODE_AMPERSAND = $0026; 38
KEY_CODE_APOSTROPHE = $0027; 39
KEY_CODE_LEFT_BRACKET = $0028; 40
KEY_CODE_RIGHT_BRACKET = $0029; 41
KEY_CODE_ASTERISK = $002A; 42
KEY_CODE_PLUS = $002B; 43
KEY_CODE_COMMA = $002C; 44
KEY_CODE_MINUS = $002D; 45
KEY_CODE_PERIOD = $002E; 46
KEY_CODE_SLASH = $002F; 47
 
Numerals
KEY_CODE_0 = $0030; 48
KEY_CODE_1 = $0031; 49
KEY_CODE_2 = $0032; 50
KEY_CODE_3 = $0033; 51
KEY_CODE_4 = $0034; 52
KEY_CODE_5 = $0035; 53
KEY_CODE_6 = $0036; 54
KEY_CODE_7 = $0037; 55
KEY_CODE_8 = $0038; 56
KEY_CODE_9 = $0039; 57
 
Punctuation
KEY_CODE_COLON = $003A; 58
KEY_CODE_SEMICOLON = $003B; 59
KEY_CODE_LESSTHAN = $003C; 60
KEY_CODE_EQUALS = $003D; 61
KEY_CODE_GREATERTHAN = $003E; 62
KEY_CODE_QUESTION = $003F; 63
KEY_CODE_AT = $0040; 64
 
Capital Characters
KEY_CODE_CAPITAL_A = $0041; 65
KEY_CODE_CAPITAL_B = $0042; 66
KEY_CODE_CAPITAL_C = $0043; 67
KEY_CODE_CAPITAL_D = $0044; 68
KEY_CODE_CAPITAL_E = $0045; 69
KEY_CODE_CAPITAL_F = $0046; 70
KEY_CODE_CAPITAL_G = $0047; 71
KEY_CODE_CAPITAL_H = $0048; 72
KEY_CODE_CAPITAL_I = $0049; 73
KEY_CODE_CAPITAL_J = $004A; 74
KEY_CODE_CAPITAL_K = $004B; 75
KEY_CODE_CAPITAL_L = $004C; 76
KEY_CODE_CAPITAL_M = $004D; 77
KEY_CODE_CAPITAL_N = $004E; 78
KEY_CODE_CAPITAL_O = $004F; 79
KEY_CODE_CAPITAL_P = $0050; 80
KEY_CODE_CAPITAL_Q = $0051; 81
KEY_CODE_CAPITAL_R= $0052; 82
KEY_CODE_CAPITAL_S = $0053; 83
KEY_CODE_CAPITAL_T = $0054; 84
KEY_CODE_CAPITAL_U = $0055; 85
KEY_CODE_CAPITAL_V = $0056; 86
KEY_CODE_CAPITAL_W = $0057; 87
KEY_CODE_CAPITAL_X = $0058; 88
KEY_CODE_CAPITAL_Y = $0059; 89
KEY_CODE_CAPITAL_Z = $005A; 90
 
Punctuation
KEY_CODE_LEFT_SQUARE = $005B; 91
KEY_CODE_BACKSLASH = $005C; 92
KEY_CODE_RIGHT_SQUARE = $005D; 93
KEY_CODE_CARET = $005E; 94 (Circumflex)
KEY_CODE_UNDERSCORE = $005F; 95
KEY_CODE_GRAVE = $0060; 96
 
Lowercase Characters
KEY_CODE_A = $0061; 97
KEY_CODE_B = $0062; 98
KEY_CODE_C = $0063; 99
KEY_CODE_D = $0064; 100
KEY_CODE_E = $0065; 101
KEY_CODE_F = $0066; 102
KEY_CODE_G = $0067; 103
KEY_CODE_H = $0068; 104
KEY_CODE_I = $0069; 105
KEY_CODE_J = $006A; 106
KEY_CODE_K = $006B; 107
KEY_CODE_L = $006C; 108
KEY_CODE_M = $006D; 109
KEY_CODE_N = $006E; 110
KEY_CODE_O = $006F; 111
KEY_CODE_P = $0070; 112
KEY_CODE_Q = $0071; 113
KEY_CODE_R = $0072; 114
KEY_CODE_S = $0073; 115
KEY_CODE_T = $0074; 116
KEY_CODE_U = $0075; 117
KEY_CODE_V = $0076; 118
KEY_CODE_W = $0077; 119
KEY_CODE_X = $0078; 120
KEY_CODE_Y = $0079; 121
KEY_CODE_Z = $007A; 122
 
Punctuation
KEY_CODE_LEFT_BRACE = $007B; 123 (Curly Bracket)
KEY_CODE_PIPE = $007C; 124 (Vertical Bar)
KEY_CODE_RIGHT_BRACE = $007D; 125 (Curly Bracket)
KEY_CODE_TILDE = $007E; 126
KEY_CODE_DELETE (See above)
 
Latin-1 Supplement Characters (0080-00FF)
KEY_CODE_INVERTED_EXCLAMATION = $00A1;  
KEY_CODE_CENT = $00A2;  
KEY_CODE_POUND = $00A3;  
KEY_CODE_CURRENCY = $00A4;  
KEY_CODE_YEN = $00A5;  
KEY_CODE_BROKEN_BAR = $00A6;  
KEY_CODE_SECTION = $00A7;  
KEY_CODE_DIAERESIS = $00A8;  
KEY_CODE_COPYRIGHT = $00A9;  
KEY_CODE_FEMININE = $00AA;  
KEY_CODE_LEFT_DOUBLE_ANGLE = $00AB;  
KEY_CODE_NOT = $00AC;  
KEY_CODE_REGISTERED = $00AE;  
KEY_CODE_MACRON = $00AF;  
KEY_CODE_DEGREE = $00B0;  
KEY_CODE_PLUS_MINUS = $00B1;  
KEY_CODE_SUPERSCRIPT_2 = $00B2;  
KEY_CODE_SUPERSCRIPT_3 = $00B3;  
KEY_CODE_ACUTE = $00B4;  
KEY_CODE_MICRO = $00B5;  
KEY_CODE_PILCROW = $00B6;  
KEY_CODE_MIDDLE_DOT = $00B7;  
KEY_CODE_CEDILLA = $00B8;  
KEY_CODE_SUPERSCRIPT_1 = $00B9;  
KEY_CODE_MASCULINE = $00BA;  
KEY_CODE_RIGHT_DOUBLE_ANGLE = $00BB;  
KEY_CODE_ONE_QUARTER = $00BC;  
KEY_CODE_ONE_HALF = $00BD;  
KEY_CODE_THREE_QUARTER = $00BE;  
KEY_CODE_INVERTED_QUESTION = $00BF;  
KEY_CODE_CAPITAL_GRAVE_A = $00C0;  
KEY_CODE_CAPITAL_ACUTE_A = $00C1;  
KEY_CODE_CAPITAL_CIRCUMFLEX_A = $00C2;  
KEY_CODE_CAPITAL_TILDE_A = $00C3;  
KEY_CODE_CAPITAL_DIAERESIS_A = $00C4;  
KEY_CODE_CAPITAL_RING_A = $00C5;  
KEY_CODE_CAPITAL_AE = $00C6;  
KEY_CODE_CAPITAL_CEDILLA_C = $00C7;  
KEY_CODE_CAPITAL_GRAVE_E = $00C8;  
KEY_CODE_CAPITAL_ACUTE_E = $00C9;  
KEY_CODE_CAPITAL_CIRCUMFLEX_E = $00CA;  
KEY_CODE_CAPITAL_DIAERESIS_E = $00CB;  
KEY_CODE_CAPITAL_GRAVE_I = $00CC;  
KEY_CODE_CAPITAL_ACUTE_I = $00CD;  
KEY_CODE_CAPITAL_CIRCUMFLEX_I = $00CE;  
KEY_CODE_CAPITAL_DIAERESIS_I = $00CF;  
KEY_CODE_CAPITAL_ETH = $00D0;  
KEY_CODE_CAPITAL_TILDE_N = $00D1;  
KEY_CODE_CAPITAL_GRAVE_O = $00D2;  
KEY_CODE_CAPITAL_ACUTE_O = $00D3;  
KEY_CODE_CAPITAL_CIRCUMFLEX_O = $00D4;  
KEY_CODE_CAPITAL_TILDE_O = $00D5;  
KEY_CODE_CAPITAL_DIAERESIS_O = $00D6;  
KEY_CODE_MULTIPLY = $00D7;  
KEY_CODE_CAPITAL_STROKE_O = $00D8;  
KEY_CODE_CAPITAL_GRAVE_U = $00D9;  
KEY_CODE_CAPITAL_ACUTE_U = $00DA;  
KEY_CODE_CAPITAL_CIRCUMFLEX_U = $00DB;  
KEY_CODE_CAPITAL_DIAERESIS_U = $00DC;  
KEY_CODE_CAPITAL_ACUTE_Y = $00DD;  
KEY_CODE_CAPITAL_THORN = $00DE;  
KEY_CODE_SHARP_S = $00DF;  
KEY_CODE_GRAVE_A = $00E0;  
KEY_CODE_ACUTE_A = $00E1;  
KEY_CODE_CIRCUMFLEX_A = $00E2;  
KEY_CODE_TILDE_A = $00E3;  
KEY_CODE_DIAERESIS_A = $00E4;  
KEY_CODE_RING_A = $00E5;  
KEY_CODE_AE = $00E6;  
KEY_CODE_CEDILLA_C = $00E7;  
KEY_CODE_GRAVE_E = $00E8;  
KEY_CODE_ACUTE_E = $00E9;  
KEY_CODE_CIRCUMFLEX_E = $00EA;  
KEY_CODE_DIAERESIS_E = $00EB;  
KEY_CODE_GRAVE_I = $00EC;  
KEY_CODE_ACUTE_I = $00ED;  
KEY_CODE_CIRCUMFLEX_I = $00EE;  
KEY_CODE_DIAERESIS_I = $00EF;  
KEY_CODE_ETH = $00F0;  
KEY_CODE_TILDE_N = $00F1;  
KEY_CODE_GRAVE_O = $00F2;  
KEY_CODE_ACUTE_O = $00F3;  
KEY_CODE_CIRCUMFLEX_O = $00F4;  
KEY_CODE_TILDE_O = $00F5;  
KEY_CODE_DIAERESIS_O = $00F6;  
KEY_CODE_DIVISION = $00F7;  
KEY_CODE_STROKE_O = $00F8;  
KEY_CODE_GRAVE_U = $00F9;  
KEY_CODE_ACUTE_U = $00FA;  
KEY_CODE_CIRCUMFLEX_U = $00FB;  
KEY_CODE_DIAERESIS_U = $00FC;  
KEY_CODE_ACUTE_Y = $00FD;  
KEY_CODE_THORN = $00FE;  
KEY_CODE_DIAERESIS_Y = $00FF;  
 
General Punctuation (2000-206F)
KEY_CODE_LEFT_QUOTE = $2018;  
KEY_CODE_RIGHT_QUOTE = $2019;  
 
Currency Symbols (20A0-20CF)
KEY_CODE_EURO = $20AC;  
 
Private Area (E000-F8FF)
Non Character Codes
KEY_CODE_CAPSLOCK = $E000;  
KEY_CODE_F1 = $E001;  
KEY_CODE_F2 = $E002;  
KEY_CODE_F3 = $E003;  
KEY_CODE_F4 = $E004;  
KEY_CODE_F5 = $E005;  
KEY_CODE_F6 = $E006;  
KEY_CODE_F7 = $E007;  
KEY_CODE_F8 = $E008;  
KEY_CODE_F9 = $E009;  
KEY_CODE_F10 = $E00A;  
KEY_CODE_F11 = $E00B;  
KEY_CODE_F12 = $E00C;  
KEY_CODE_PRINTSCREEN = $E00D;  
KEY_CODE_SCROLLLOCK = $E00E;  
KEY_CODE_PAUSE = $E00F;  
KEY_CODE_INSERT = $E010;  
KEY_CODE_HOME = $E011;  
KEY_CODE_PAGEUP = $E012;  
KEY_CODE_END = $E013;  
KEY_CODE_PAGEDN = $E014;  
KEY_CODE_RIGHT_ARROW = $E015;  
KEY_CODE_LEFT_ARROW = $E016;  
KEY_CODE_DOWN_ARROW = $E017;  
KEY_CODE_UP_ARROW = $E018;  
KEY_CODE_NUMLOCK = $E019;  
KEY_CODE_APPLICATION = $E01A;  
KEY_CODE_POWER = $E01B;  
KEY_CODE_F13 = $E01C;  
KEY_CODE_F14 = $E01D;  
KEY_CODE_F15 = $E01E;  
KEY_CODE_F16 = $E01F;  
KEY_CODE_F17 = $E020;  
KEY_CODE_F18 = $E021;  
KEY_CODE_F19 = $E022;  
KEY_CODE_F20 = $E023;  
KEY_CODE_F21 = $E024;  
KEY_CODE_F22 = $E025;  
KEY_CODE_F23 = $E026;  
KEY_CODE_F24 = $E027;  
KEY_CODE_EXECUTE = $E028;  
KEY_CODE_HELP = $E029;  
KEY_CODE_MENU = $E02A;  
KEY_CODE_SELECT = $E02B;  
KEY_CODE_STOP = $E02C;  
KEY_CODE_AGAIN = $E02D;  
KEY_CODE_UNDO = $E02E;  
KEY_CODE_CUT = $E02F;  
KEY_CODE_COPY = $E030;  
KEY_CODE_PASTE = $E031;  
KEY_CODE_FIND = $E032;  
KEY_CODE_MUTE = $E033;  
KEY_CODE_VOLUMEUP = $E034;  
KEY_CODE_VOLUMEDOWN = $E035;  
KEY_CODE_LOCKING_CAPSLOCK = $E036;  
KEY_CODE_LOCKING_NUMLOCK = $E037;  
KEY_CODE_LOCKING_SCROLLLOCK = $E038;  
KEY_CODE_INTERNATIONAL1 = $E039;  
KEY_CODE_INTERNATIONAL2 = $E03A;  
KEY_CODE_INTERNATIONAL3 = $E03B;  
KEY_CODE_INTERNATIONAL4 = $E03C;  
KEY_CODE_INTERNATIONAL5 = $E03D;  
KEY_CODE_INTERNATIONAL6 = $E03E;  
KEY_CODE_INTERNATIONAL7 = $E03F;  
KEY_CODE_INTERNATIONAL8 = $E040;  
KEY_CODE_INTERNATIONAL9 = $E041;  
KEY_CODE_LANG1 = $E042;  
KEY_CODE_LANG2 = $E043;  
KEY_CODE_LANG3 = $E044;  
KEY_CODE_LANG4 = $E045;  
KEY_CODE_LANG5 = $E046;  
KEY_CODE_LANG6 = $E047;  
KEY_CODE_LANG7 = $E048;  
KEY_CODE_LANG8 = $E049;  
KEY_CODE_LANG9 = $E04A;  
KEY_CODE_ALT_ERASE = $E04B;  
KEY_CODE_SYSREQ = $E04C;  
KEY_CODE_CANCEL = $E04D;  
KEY_CODE_CLEAR = $E04E;  
KEY_CODE_PRIOR = $E04F;  
KEY_CODE_RETURN = $E050;  
KEY_CODE_SEPARATOR = $E051;  
KEY_CODE_OUT = $E052;  
KEY_CODE_OPER = $E053;  
KEY_CODE_CLEAR_AGAIN = $E054;  
KEY_CODE_CRSEL_PROPS = $E055;  
KEY_CODE_EXSEL = $E056;  
KEY_CODE_00 = $E057;  
KEY_CODE_000 = $E058;  
KEY_CODE_THOUSANDS_SEPARATOR = $E059;  
KEY_CODE_DECIMAL_SEPARATOR = $E05A;  
KEY_CODE_CURRENCY_UNIT = $E05B;  
KEY_CODE_CURRENCY_SUBUNIT = $E05C;  
KEY_CODE_XOR = $E05D;  
KEY_CODE_MEM_STORE = $E05E;  
KEY_CODE_MEM_RECALL = $E05F;  
KEY_CODE_MEM_CLEAR = $E060;  
KEY_CODE_MEM_ADD = $E061;  
KEY_CODE_MEM_SUBTRACT = $E062;  
KEY_CODE_MEM_MULTIPLY = $E063;  
KEY_CODE_MEM_DIVIDE = $E064;  
KEY_CODE_CLEAR_ENTRY = $E065;  
KEY_CODE_BINARY = $E066;  
KEY_CODE_OCTAL = $E067;  
KEY_CODE_DECIMAL = $E068;  
KEY_CODE_HEX = $E069;  
KEY_CODE_CTRL = $E06A;  
KEY_CODE_SHIFT = $E06B;  
KEY_CODE_ALT = $E06C;  
KEY_CODE_GUI = $E06D;  
KEY_CODE_DOUBLE_AMPERSAND = $E06E;  
KEY_CODE_DOUBLE_PIPE = $E06F;  
KEY_CODE_CENTER = $E070;  
 
KEY_CODE_TRANSLATE_START = $0080; Key codes below this are direct characters in all code pages
KEY_CODE_PRIVATE_START = $E000; Key codes in this range are private area mappings for non character keys
KEY_CODE_PRIVATE_END = $F8FF;  


Universal scan code constants SCAN_CODE_*
Keyboard scan codes are based on the USB HID Usages (See Section 10 of the Universal Serial Bus HID Usage Tables v1.12)
These are the values reported in the ScanCode field of the TKeyboardData structure returned by the KeyboardRead function
Any keyboard driver supporting legacy keyboards (eg PC/AT or PS/2) should translate the reported codes to be compatible with this set
 
SCAN_CODE_NONE = 0; Reserved (no event indicated)
SCAN_CODE_ROLLOVER = 1; Keyboard ErrorRollOver


Type definitions


None defined

Public variables


None defined

Function declarations


None defined


Return to Unit Reference