;****************************************************************************
;                                                                           *
; THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY     *
; KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE       *
; IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR     *
; PURPOSE.                                                                  *
;                                                                           *
; Copyright (C) 1993-95  Microsoft Corporation.  All Rights Reserved.       *
;                                                                           *
;****************************************************************************

LIBRARY KEYBOARD

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

DESCRIPTION 'KEYBOARD (Enhanced keyboard):'

EXETYPE WINDOWS

CODE PRELOAD MOVEABLE
DATA PRELOAD MOVEABLE SINGLE

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

HEAPSIZE 1024

SEGMENTS
; Initialization once-only code
	_INIT PRELOAD MOVEABLE 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 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
    ToAscii     	@4
    AnsiToOem   	@5
    OemToAnsi   	@6

;*;
;*; MULTILINGUAL ENTRY POINTS
;*;
        InquireEx       @9	; DO NOT USE 8 - THIS WILL BE WEP
        ToAsciiEx       @10
        VkKeyScanEx     @11
        MapVirtualKeyEx @12
	NewTableEx	@13	;New for Windows 4.0
;	LoadOemAnsiXlat @14     ;New


; Routines for initializing keyboard tables


; 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

; codeview support
    GetBIOSKeyProc	@137

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


IMPORTS
;;    WinFlags		=	KERNEL.178	
    	CVWBREAK	= KERNEL.205
	GetThreadQueue	= KERNEL.464

