LIBRARY KEYBOARD

; ============================================================
; ANY CHANGES TO KBD.DEF SHOULD ALSO BE MADE IN THE FOLLOWING:
;	KBDNOKIA.DEF KBDHP.DEF KBDOLI.DEF
;	(except for SetSpeed)
; ============================================================

; Copyright (C) 1989 by Microsoft Corporation

DESCRIPTION 'KEYBOARD (Enhanced keyboard):'

EXETYPE WINDOWS

; (use LINK4 default stub, not WINSTUB)

CODE PRELOAD FIXED
DATA PRELOAD FIXED SINGLE

; ============================================================
; ANY CHANGES TO KBD.DEF SHOULD ALSO BE MADE IN THE FOLLOWING:
;	KBDNOKIA.DEF KBDHP.DEF KBDOLI.DEF
; ============================================================

SEGMENTS
; Initialization once-only code
	_INIT PRELOAD FIXED DISCARDABLE

; Translation tables
	_TABS LOADONCALL FIXED DISCARDABLE

; NewTable()'s and GetCSAlias()'s segment
	_NEWTAB PRELOAD FIXED DISCARDABLE

; OemKeyScan's segment
        _OEMSC LOADONCALL DISCARDABLE

; VkKeyScan's segment
        _VKKSC LOADONCALL DISCARDABLE

; SetSpeed's segment
        _SETSP PRELOAD FIXED DISCARDABLE

; GetKeyboardType's segment
        _GETTYPE LOADONCALL DISCARDABLE

; MapVirtualKey's segment
        _MAPVK LOADONCALL DISCARDABLE

; GetKeyNameText's segment
        _GETNAME LOADONCALL DISCARDABLE

; ============================================================
; ANY CHANGES TO KBD.DEF SHOULD ALSO BE MADE IN THE FOLLOWING:
;	KBDNOKIA.DEF KBDHP.DEF KBDOLI.DEF
;	(except for SetSpeed)
; ============================================================

EXPORTS
    Inquire     	@1	;Internal
    Enable      	@2	;Internal
    Disable     	@3	;Internal
    ToAscii     	@4
    AnsiToOem   	@5
    OemToAnsi   	@6

; Special call for setting keyboard repeat speed on AT-type keyboards
; (omit in Olivetti M24 and NOKIA drivers, since they're not for AT keyboards)
    SetSpeed    	@7	;Internal

; Special call for OS/2 Compatibility box
; (omit in Olivetti M24 drivers)
    ScreenSwitchEnable  @100	;Internal

; Routines for initializing keyboard tables

    GetTableSeg		@126	;Internal
    NewTable		@127	;Internal

; Special call for WIN386 WINOLDAP
; (omit in Olivetti M24 drivers, since they're 8086 only)
    OEMKeyScan  	@128

; Special ASCII to virtual keycode routine
    VkKeyScan		@129

; Return keyboard type number, etc.
    GetKeyboardType	@130

; Return translations VK-> scancode, scancode-> VK, VK-> ASCII.
    MapVirtualKey	@131

; Return code page of current Oem/Ansi translation tables.
    GetKBCodePage	@132

; Get name string for key
    GetKeyNameText	@133

; Translate routines
    AnsiToOemBuff   	@134
    OemToAnsiBuff   	@135

; Enable SysReq trap
    EnableKBSysReq	@136	;Internal

; codeview support
    GetBIOSKeyProc	@137

    WEP				;Internal

; ============================================================
; ANY CHANGES TO KBD.DEF SHOULD ALSO BE MADE IN THE FOLLOWING:
;	KBDNOKIA.DEF KBDHP.DEF KBDOLI.DEF
; ============================================================


IMPORTS
    CVWBREAK		=	KERNEL.205
