Implementation of KEYBOARD.DRV (code mostly taken from previous
[wine/multimedia.git] / include / keyboard.h
blob26049b14620f4923535c067957dc4689260f7ed3
1 /*
2 * KEYBOARD driver interface
4 * Copyright 1998 Ulrich Weigand
5 */
7 #ifndef __WINE_KEYBOARD_H
8 #define __WINE_KEYBOARD_H
10 #pragma pack(1)
11 typedef struct _KBINFO
13 BYTE Begin_First_Range;
14 BYTE End_First_Range;
15 BYTE Begin_Second_Range;
16 BYTE End_Second_Range;
17 WORD StateSize;
18 } KBINFO, *LPKBINFO;
19 #pragma pack(4)
21 typedef VOID (CALLBACK *LPKEYBD_EVENT_PROC)(BYTE,BYTE,DWORD,DWORD);
23 WORD WINAPI KEYBOARD_Inquire(LPKBINFO kbInfo);
24 VOID WINAPI KEYBOARD_Enable(LPKEYBD_EVENT_PROC lpKeybEventProc,
25 LPBYTE lpKeyState);
26 VOID WINAPI KEYBOARD_Disable(VOID);
28 /* Wine internals */
30 extern void KEYBOARD_HandleEvent( WND *pWnd, XKeyEvent *event );
31 extern void KEYBOARD_UpdateState( void );
33 #define WINE_KEYBDEVENT_MAGIC ( ('K'<<24)|('E'<<16)|('Y'<<8)|'B' )
34 typedef struct _WINE_KEYBDEVENT
36 DWORD magic;
37 DWORD posX;
38 DWORD posY;
39 DWORD time;
41 } WINE_KEYBDEVENT;
43 #endif /* __WINE_KEYBOARD_H */