mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
232 lines
5.4 KiB
232 lines
5.4 KiB
/*[
|
|
*
|
|
* SoftPC-AT revision 3.0
|
|
*
|
|
* Title : Definitions for MS-Windows keyboard driver functions.
|
|
*
|
|
* Description : This file contains the definitions for msw_keybd.c.
|
|
*
|
|
* Author : Jerry Sexton
|
|
*
|
|
* Notes :
|
|
*
|
|
]*/
|
|
|
|
/* SccsID[]="@(#)msw_keybd.h 1.2 08/10/92 Copyright Insignia Solutions Ltd."; */
|
|
|
|
/*
|
|
=========================================================================
|
|
Macros.
|
|
=========================================================================
|
|
*/
|
|
|
|
/* Null pointers. */
|
|
#define TINY_NULL ((TINY *) 0)
|
|
|
|
/* General definitions. */
|
|
#define NO_NUMLOCK 0
|
|
#define NUMLOCK 1
|
|
|
|
/* Virtual keys. */
|
|
|
|
#define VK_LBUTTON 0x01
|
|
#define VK_RBUTTON 0x02
|
|
#define VK_CANCEL 0x03
|
|
|
|
/* 4..7 undefined */
|
|
|
|
#define VK_BACK 0x08
|
|
#define VK_TAB 0x09
|
|
|
|
/* 0x0a .. 0x0b undefined */
|
|
|
|
#define VK_CLEAR 0x0c
|
|
#define VK_RETURN 0x0d
|
|
|
|
#define VK_SHIFT 0x10
|
|
#define VK_CONTROL 0x11
|
|
#define VK_MENU 0x12
|
|
#define VK_PAUSE 0x13
|
|
#define VK_CAPITAL 0x14
|
|
/* 0x15..0x1a */
|
|
#define VK_ESCAPE 0x1b
|
|
/* 0x1c..0x1f */
|
|
#define VK_SPACE 0x20
|
|
#define VK_PRIOR 0x21 /* page up */
|
|
#define VK_NEXT 0x22 /* page down */
|
|
#define VK_END 0x23
|
|
#define VK_HOME 0x24
|
|
#define VK_LEFT 0x25
|
|
#define VK_UP 0x26
|
|
#define VK_RIGHT 0x27
|
|
#define VK_DOWN 0x28
|
|
#define VK_SELECT 0x29
|
|
#define VK_PRINT 0x2a
|
|
#define VK_EXECUTE 0x2b
|
|
#define VK_SNAPSHOT 0x2c /* Printscreen key.. */
|
|
|
|
#define VK_INSERT 0x2d
|
|
#define VK_DELETE 0x2e
|
|
#define VK_HELP 0x2f
|
|
#define VK_0 0x30
|
|
#define VK_1 0x31
|
|
#define VK_2 0x32
|
|
#define VK_3 0x33
|
|
#define VK_4 0x34
|
|
#define VK_5 0x35
|
|
#define VK_6 0x36
|
|
#define VK_7 0x37
|
|
#define VK_8 0x38
|
|
#define VK_9 0x39
|
|
/* 0x40 */
|
|
#define VK_A 0x41
|
|
#define VK_B 0x42
|
|
#define VK_C 0x43
|
|
#define VK_D 0x44
|
|
#define VK_E 0x45
|
|
#define VK_F 0x46
|
|
#define VK_G 0x47
|
|
#define VK_H 0x48
|
|
#define VK_I 0x49
|
|
#define VK_J 0x4a
|
|
#define VK_K 0x4b
|
|
#define VK_L 0x4c
|
|
#define VK_M 0x4d
|
|
#define VK_N 0x4e
|
|
#define VK_O 0x4f
|
|
#define VK_P 0x50
|
|
#define VK_Q 0x51
|
|
#define VK_R 0x52
|
|
#define VK_S 0x53
|
|
#define VK_T 0x54
|
|
#define VK_U 0x55
|
|
#define VK_V 0x56
|
|
#define VK_W 0x57
|
|
#define VK_X 0x58
|
|
#define VK_Y 0x59
|
|
#define VK_Z 0x5a
|
|
/* 0x5b..0x5f */
|
|
#define VK_NUMPAD0 0x60
|
|
#define VK_NUMPAD1 0x61
|
|
#define VK_NUMPAD2 0x62
|
|
#define VK_NUMPAD3 0x63
|
|
#define VK_NUMPAD4 0x64
|
|
#define VK_NUMPAD5 0x65
|
|
#define VK_NUMPAD6 0x66
|
|
#define VK_NUMPAD7 0x67
|
|
#define VK_NUMPAD8 0x68
|
|
#define VK_NUMPAD9 0x69
|
|
#define VK_MULTIPLY 0x6a
|
|
#define VK_ADD 0x6b
|
|
#define VK_SEPARATER 0x6c
|
|
#define VK_SUBTRACT 0x6d
|
|
#define VK_DECIMAL 0x6e
|
|
#define VK_DIVIDE 0x6f
|
|
|
|
#define VK_F1 0x70
|
|
#define VK_F2 0x71
|
|
#define VK_F3 0x72
|
|
#define VK_F4 0x73
|
|
#define VK_F5 0x74
|
|
#define VK_F6 0x75
|
|
#define VK_F7 0x76
|
|
#define VK_F8 0x77
|
|
#define VK_F9 0x78
|
|
#define VK_F10 0x79
|
|
#define VK_F11 0x7a
|
|
#define VK_F12 0x7b
|
|
#define VK_F13 0x7c
|
|
#define VK_F14 0x7d
|
|
#define VK_F15 0x7e
|
|
#define VK_F16 0x7f
|
|
|
|
#define VK_OEM_F17 0x80
|
|
#define VK_OEM_F18 0x81
|
|
#define VK_OEM_F19 0x82
|
|
#define VK_OEM_F20 0x83
|
|
#define VK_OEM_F21 0x84
|
|
#define VK_OEM_F22 0x85
|
|
#define VK_OEM_F23 0x86
|
|
#define VK_OEM_F24 0x87
|
|
|
|
/* 0x88..0x8f unassigned */
|
|
|
|
#define VK_NUMLOCK 0x90
|
|
#define VK_OEM_SCROLL 0x91 /* ScrollLock */
|
|
|
|
/* 0x92..0xb9 unassigned */
|
|
|
|
#define VK_OEM_1 0xba /* ';:' for US */
|
|
#define VK_OEM_PLUS 0xbb /* '+' any country */
|
|
#define VK_OEM_COMMA 0xbc /* ',' any country */
|
|
#define VK_OEM_MINUS 0xbd /* '-' any country */
|
|
#define VK_OEM_PERIOD 0xbe /* '.' any country */
|
|
#define VK_OEM_2 0xbf /* '/?' for US */
|
|
#define VK_OEM_3 0xc0 /* '`~' for US */
|
|
|
|
/* 0xc1..0xda unassigned */
|
|
|
|
#define VK_OEM_4 0xdb /* '[{' for US */
|
|
#define VK_OEM_5 0xdc /* '\|' for US */
|
|
#define VK_OEM_6 0xdd /* ']}' for US */
|
|
#define VK_OEM_7 0xde /* ''"' for US */
|
|
#define VK_OEM_8 0xdf
|
|
|
|
/* codes various extended or enhanced keyboards */
|
|
#define VK_F17 0xe0 /* F17 key on ICO, win 2.xx */
|
|
#define VK_F18 0xe1 /* F18 key on ICO, win 2.xx */
|
|
|
|
#define VK_OEM_102 0xe2 /* "<>" or "\|" on RT 102-key kbd. */
|
|
|
|
#define VK_ICO_HELP 0xe3 /* Help key on ICO */
|
|
#define VK_ICO_00 0xe4 /* 00 key on ICO */
|
|
|
|
/* E5h unassigned */
|
|
|
|
#define VK_ICO_CLEAR 0xe6 */
|
|
|
|
/* E7h .. E8h unassigned */
|
|
|
|
/* Nokia/Ericsson definitions */
|
|
|
|
#define VK_ERICSSON_BASE 0xe8
|
|
|
|
#define VK_OEM_RESET (VK_ERICSSON_BASE + 1) /* e9 */
|
|
#define VK_OEM_JUMP (VK_ERICSSON_BASE + 2) /* ea */
|
|
#define VK_OEM_PA1 (VK_ERICSSON_BASE + 3) /* eb */
|
|
#define VK_OEM_PA2 (VK_ERICSSON_BASE + 4) /* ec */
|
|
#define VK_OEM_PA3 (VK_ERICSSON_BASE + 5) /* ed */
|
|
#define VK_OEM_WSCTRL (VK_ERICSSON_BASE + 6) /* ee */
|
|
#define VK_OEM_CUSEL (VK_ERICSSON_BASE + 7) /* ef */
|
|
#define VK_OEM_ATTN (VK_ERICSSON_BASE + 8) /* f0 */
|
|
#define VK_OEM_FINNISH (VK_ERICSSON_BASE + 9) /* f1 */
|
|
#define VK_OEM_COPY (VK_ERICSSON_BASE + 10) /* f2 */
|
|
#define VK_OEM_AUTO (VK_ERICSSON_BASE + 11) /* f3 */
|
|
#define VK_OEM_ENLW (VK_ERICSSON_BASE + 12) /* f4 */
|
|
#define VK_OEM_BACKTAB (VK_ERICSSON_BASE + 13) /* f5 */
|
|
|
|
|
|
/* F6h..FEh unassigned. */
|
|
|
|
/* Defines for inquireData structure. */
|
|
#define BEGINRANGE1 255
|
|
#define ENDRANGE1 254
|
|
#define BEGINRANGE2 255
|
|
#define ENDRANGE2 254
|
|
#define TO_ASCII_STATE_SIZE 4
|
|
|
|
/*
|
|
=========================================================================
|
|
Keyboard driver structure definitions.
|
|
=========================================================================
|
|
*/
|
|
typedef struct tagKBINFO
|
|
{
|
|
UTINY Begin_First_Range;
|
|
UTINY End_First_Range;
|
|
UTINY Begin_Second_Range;
|
|
UTINY End_Second_Range;
|
|
SHORT StateSize; /* size of ToAscii state block. */
|
|
} KBINFO;
|
|
|
|
#define INTEL_KBINFO_SIZE 6 /* Size of KBINFO structure in INTEL. */
|