Now attaching imported DLLs of a winelib executable.
[wine/hacks.git] / include / keyboard.h
blob189ded25e12dfa81a22ab0d73ad73c28b56e042a
1 /*
2 * KEYBOARD driver interface
4 * Copyright 1998 Ulrich Weigand
5 */
7 #ifndef __WINE_KEYBOARD_H
8 #define __WINE_KEYBOARD_H
10 #include "windef.h"
12 struct DIDEVICEOBJECTDATA;
14 #include "pshpack1.h"
15 typedef struct _KBINFO
17 BYTE Begin_First_Range;
18 BYTE End_First_Range;
19 BYTE Begin_Second_Range;
20 BYTE End_Second_Range;
21 WORD StateSize;
22 } KBINFO, *LPKBINFO;
23 #include "poppack.h"
25 typedef VOID (CALLBACK *LPKEYBD_EVENT_PROC)(BYTE,BYTE,DWORD,DWORD);
27 WORD WINAPI KEYBOARD_Inquire(LPKBINFO kbInfo);
28 VOID WINAPI KEYBOARD_Enable(LPKEYBD_EVENT_PROC lpKeybEventProc,
29 LPBYTE lpKeyState);
30 VOID WINAPI KEYBOARD_Disable(VOID);
32 /* Wine internals */
34 #define WINE_KEYBOARD_CONFIG_AUTO_REPEAT 0x00000001
35 typedef struct tagKEYBOARD_CONFIG {
36 BOOL auto_repeat;
37 } KEYBOARD_CONFIG;
39 typedef struct tagKEYBOARD_DRIVER {
40 void (*pInit)(void);
41 WORD (*pVkKeyScan)(CHAR);
42 UINT16 (*pMapVirtualKey)(UINT16, UINT16);
43 INT16 (*pGetKeyNameText)(LONG, LPSTR, INT16);
44 INT16 (*pToAscii)(UINT16, UINT16, LPBYTE, LPVOID, UINT16);
45 BOOL (*pGetBeepActive)(void);
46 void (*pSetBeepActive)(BOOL);
47 void (*pBeep)(void);
48 BOOL (*pGetDIState)(DWORD, LPVOID);
49 BOOL (*pGetDIData)(BYTE *, DWORD, struct DIDEVICEOBJECTDATA *, LPDWORD, DWORD);
50 void (*pGetKeyboardConfig)(KEYBOARD_CONFIG *);
51 void (*pSetKeyboardConfig)(KEYBOARD_CONFIG *, DWORD);
52 } KEYBOARD_DRIVER;
54 extern KEYBOARD_DRIVER *KEYBOARD_Driver;
56 extern BOOL KEYBOARD_GetBeepActive(void);
57 extern void KEYBOARD_SetBeepActive(BOOL bActivate);
58 extern void KEYBOARD_Beep(void);
60 extern void KEYBOARD_SendEvent(BYTE bVk, BYTE bScan, DWORD dwFlags, DWORD posX, DWORD posY, DWORD time);
62 #define WINE_KEYBDEVENT_MAGIC ( ('K'<<24)|('E'<<16)|('Y'<<8)|'B' )
63 typedef struct _WINE_KEYBDEVENT
65 DWORD magic;
66 DWORD posX;
67 DWORD posY;
68 DWORD time;
70 } WINE_KEYBDEVENT;
72 #endif /* __WINE_KEYBOARD_H */