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.
285 lines
11 KiB
285 lines
11 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992-2000.
|
|
//
|
|
// File: softkbd.idl
|
|
//
|
|
// Contents: ISoftKbd declarations.
|
|
//
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
cpp_quote("//=--------------------------------------------------------------------------=")
|
|
cpp_quote("// softkbd.h")
|
|
cpp_quote("")
|
|
cpp_quote("")
|
|
cpp_quote("// ISoftKbd declarations.")
|
|
cpp_quote("")
|
|
cpp_quote("//=--------------------------------------------------------------------------=")
|
|
cpp_quote("// (C) Copyright 1995-2000 Microsoft Corporation. All Rights Reserved.")
|
|
cpp_quote("//")
|
|
cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
|
|
cpp_quote("// ANY KIND, EITHER EXPRESSED OR TFPLIED, INCLUDING BUT NOT LIMITED TO")
|
|
cpp_quote("// THE TFPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
|
|
cpp_quote("// PARTICULAR PURPOSE.")
|
|
cpp_quote("//=--------------------------------------------------------------------------=")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("#ifndef SOFTKBD_DEFINED")
|
|
cpp_quote("#define SOFTKBD_DEFINED")
|
|
cpp_quote("")
|
|
cpp_quote("#include <windows.h>")
|
|
cpp_quote("")
|
|
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
import "msctf.idl";
|
|
|
|
cpp_quote("#define SOFTKBD_US_STANDARD 1")
|
|
cpp_quote("#define SOFTKBD_US_ENHANCE 2")
|
|
cpp_quote("#define SOFTKBD_EURO_STANDARD 3")
|
|
cpp_quote("#define SOFTKBD_EURO_ENHANCE 4")
|
|
cpp_quote("#define SOFTKBD_JPN_STANDARD 5")
|
|
cpp_quote("#define SOFTKBD_JPN_ENHANCE 6")
|
|
cpp_quote("")
|
|
cpp_quote("#define SOFTKBD_CUSTOMIZE_BEGIN 100")
|
|
cpp_quote("")
|
|
cpp_quote("#define SOFTKBD_NO_MORE 0")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("#define SOFTKBD_SHOW 0x00000001")
|
|
cpp_quote("#define SOFTKBD_DONT_SHOW_ALPHA_BLEND 0x80000000")
|
|
cpp_quote("")
|
|
// =-------------------------------------------------------------------------=
|
|
//
|
|
// T Y P E D E F I N I T I O N
|
|
//
|
|
// =-------------------------------------------------------------------------=
|
|
|
|
/* Logical Font */
|
|
#define LF_FACESIZE 32
|
|
|
|
cpp_quote( "#ifndef _WINGDI_")
|
|
typedef [uuid(8849aa7d-f739-4dc0-bc61-ac48908af060)] struct LOGFONTA
|
|
{
|
|
LONG lfHeight;
|
|
LONG lfWidth;
|
|
LONG lfEscapement;
|
|
LONG lfOrientation;
|
|
LONG lfWeight;
|
|
BYTE lfItalic;
|
|
BYTE lfUnderline;
|
|
BYTE lfStrikeOut;
|
|
BYTE lfCharSet;
|
|
BYTE lfOutPrecision;
|
|
BYTE lfClipPrecision;
|
|
BYTE lfQuality;
|
|
BYTE lfPitchAndFamily;
|
|
CHAR lfFaceName[LF_FACESIZE];
|
|
} LOGFONTA;
|
|
typedef [uuid(f8c6fe8a-b112-433a-be87-eb970266ec4b)] struct LOGFONTW
|
|
{
|
|
LONG lfHeight;
|
|
LONG lfWidth;
|
|
LONG lfEscapement;
|
|
LONG lfOrientation;
|
|
LONG lfWeight;
|
|
BYTE lfItalic;
|
|
BYTE lfUnderline;
|
|
BYTE lfStrikeOut;
|
|
BYTE lfCharSet;
|
|
BYTE lfOutPrecision;
|
|
BYTE lfClipPrecision;
|
|
BYTE lfQuality;
|
|
BYTE lfPitchAndFamily;
|
|
WCHAR lfFaceName[LF_FACESIZE];
|
|
} LOGFONTW;
|
|
#ifdef UNICODE
|
|
typedef LOGFONTW LOGFONT;
|
|
#else
|
|
typedef LOGFONTA LOGFONT;
|
|
#endif // UNICODE
|
|
cpp_quote( "#endif")
|
|
|
|
cpp_quote("")
|
|
cpp_quote("#if 0")
|
|
typedef [uuid(f0a544c0-1281-4e32-8bf7-a6e012e980d4)] UINT_PTR HKL;
|
|
cpp_quote("#endif")
|
|
cpp_quote("")
|
|
cpp_quote("")
|
|
|
|
typedef [uuid(432ec152-51bf-43ca-8f86-50a7e230a069)] DWORD KEYID;
|
|
|
|
// COLORTYPE
|
|
|
|
typedef [uuid(5f46a703-f012-46db-8cda-294e994786e8)] enum {
|
|
|
|
bkcolor = 0 ,
|
|
UnSelForeColor = 1,
|
|
UnSelTextColor = 2,
|
|
SelForeColor = 3,
|
|
SelTextColor = 4,
|
|
Max_color_Type = 5
|
|
|
|
} COLORTYPE;
|
|
|
|
|
|
// TYPEMODE
|
|
|
|
typedef [uuid(711c6200-587a-46ef-9647-5a83638bac00)] enum {
|
|
|
|
ClickMouse = 0,
|
|
Hover = 1,
|
|
Scanning = 2
|
|
|
|
} TYPEMODE;
|
|
|
|
// TITLEBAR_TYPE
|
|
|
|
typedef [uuid(10b50da7-ce0b-4b83-827f-30c50c9bc5b9)] enum {
|
|
|
|
TITLEBAR_NONE = 0,
|
|
TITLEBAR_GRIPPER_HORIZ_ONLY = 1,
|
|
TITLEBAR_GRIPPER_VERTI_ONLY = 2,
|
|
TITLEBAR_GRIPPER_BUTTON = 3
|
|
|
|
} TITLEBAR_TYPE;
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(3CB00755-7536-4B0A-A213-572EFCAF93CD),
|
|
|
|
helpstring("ISoftKbd Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ISoftKbd : IUnknown
|
|
{
|
|
[helpstring("method Initialize")] HRESULT Initialize();
|
|
[helpstring("method EnumStandardSoftKeyBoard")] HRESULT EnumSoftKeyBoard([in] LANGID langid, [out] DWORD *lpdwKeyboard);
|
|
[helpstring("method SelectStandardSoftKeyboard")] HRESULT SelectSoftKeyboard([in] DWORD dwKeyboardId);
|
|
[helpstring("method CreateSoftKeyboardLayoutFromXMLFile")] HRESULT CreateSoftKeyboardLayoutFromXMLFile([in, string] WCHAR *lpszKeyboardDesFile, [in] INT szFileStrLen,[out] DWORD *pdwLayoutCookie);
|
|
[helpstring("method CreateSoftKeyboardLayoutFromResource")] HRESULT CreateSoftKeyboardLayoutFromResource([in, string] WCHAR *lpszResFile,[in, string] WCHAR *lpszResType, [in, string] WCHAR *lpszXMLResString,[out] DWORD *lpdwLayoutCookie);
|
|
[helpstring("method ShowSoftKeyboard")] HRESULT ShowSoftKeyboard([in] INT iShow);
|
|
[helpstring("method SetKeyboardLabelText")] HRESULT SetKeyboardLabelText([in] HKL hKl);
|
|
[helpstring("method SetKeyboardLabelTextCombination")] HRESULT SetKeyboardLabelTextCombination([in] DWORD nModifierCombination);
|
|
[helpstring("method CreateSoftKeyboardWindow")] HRESULT CreateSoftKeyboardWindow([in] HWND hOwner, [in] TITLEBAR_TYPE Titlebar_type, [in] INT xPos, [in] INT yPos, [in] INT width, [in] INT height );
|
|
[helpstring("method DestroySoftKeyboardWindow")] HRESULT DestroySoftKeyboardWindow();
|
|
[helpstring("method GetSoftKeyboardPosSize")] HRESULT GetSoftKeyboardPosSize([out] POINT *lpStartPoint, [out] WORD *lpwidth, [out] WORD *lpheight);
|
|
[helpstring("method GetSoftKeyboardColors")] HRESULT GetSoftKeyboardColors([in] COLORTYPE colorType, [out] COLORREF *lpColor);
|
|
[helpstring("method GetSoftKeyboardTypeMode")] HRESULT GetSoftKeyboardTypeMode([out] TYPEMODE *lpTypeMode);
|
|
[helpstring("method GetSoftKeyboardTextFont")] HRESULT GetSoftKeyboardTextFont([out] LOGFONTW *pLogFont);
|
|
[helpstring("method SetSoftKeyboardPosSize")] HRESULT SetSoftKeyboardPosSize([in] POINT StartPoint, [in] WORD width, [in] WORD height);
|
|
[helpstring("method SetSoftKeyboardColors")] HRESULT SetSoftKeyboardColors([in] COLORTYPE colorType, [in] COLORREF Color);
|
|
[helpstring("method SetSoftKeyboardTypeMode")] HRESULT SetSoftKeyboardTypeMode([in] TYPEMODE TypeMode);
|
|
[helpstring("method SetSoftKeyboardTextFont")] HRESULT SetSoftKeyboardTextFont([in] LOGFONTW *pLogFont);
|
|
[helpstring("method ShowKeysForKeyScanMode")] HRESULT ShowKeysForKeyScanMode([in] KEYID *lpKeyID, [in] INT iKeyNum, [in] BOOL fHighL);
|
|
[helpstring("method AdviseSoftKeyboardEventSink")] HRESULT AdviseSoftKeyboardEventSink([in] DWORD dwKeyboardId,[in] REFIID riid, [in, iid_is(riid)] IUnknown *punk, [out] DWORD *pdwCookie);
|
|
[helpstring("method UnadviseSoftKeyboardEventSink")] HRESULT UnadviseSoftKeyboardEventSink([in] DWORD dwCookie);
|
|
|
|
};
|
|
|
|
|
|
[
|
|
object,
|
|
uuid(3ea2bb1d-66e7-47f7-8795-cc03d388f887),
|
|
|
|
helpstring("ISoftKeyboardEventSink Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ISoftKeyboardEventSink : IUnknown
|
|
{
|
|
[helpstring("method OnKeySelection")] HRESULT OnKeySelection([in] KEYID KeySelected, [in, string] WCHAR *lpwszLabel );
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(e4283da5-d425-4f97-8b6a-061a03556e95),
|
|
|
|
helpstring("ISoftKbdWindowEventSink Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ISoftKbdWindowEventSink : IUnknown
|
|
{
|
|
[helpstring("method OnWindowClose")] HRESULT OnWindowClose( );
|
|
[helpstring("method OnWindowMove")] HRESULT OnWindowMove([in] int xWnd,[in]int yWnd, [in] int width, [in] int height);
|
|
};
|
|
|
|
cpp_quote("#define SOFTKBD_TYPE_US_STANDARD 1")
|
|
cpp_quote("#define SOFTKBD_TYPE_US_SYMBOL 10")
|
|
|
|
//
|
|
// ITfFnSoftKbd
|
|
//
|
|
// Implemented by TIP.
|
|
// interface.
|
|
// This derives from ITfFunction.
|
|
//
|
|
[
|
|
object,
|
|
uuid(e7342d48-573f-4f22-9181-41938b2529c2),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITfFnSoftKbd : ITfFunction
|
|
{
|
|
|
|
[helpstring("method GetSoftKbdLayoutId")] HRESULT GetSoftKbdLayoutId([in] DWORD dwLayoutType, [out] DWORD *lpdwLayoutId);
|
|
[helpstring("method SetActiveLayoutId")] HRESULT SetActiveLayoutId([in] DWORD dwLayoutId );
|
|
[helpstring("method SetSoftKbdOnOff")] HRESULT SetSoftKbdOnOff([in] BOOL fOn );
|
|
[helpstring("method SetSoftKbdPosSize")] HRESULT SetSoftKbdPosSize([in] POINT StartPoint, [in] WORD width, [in] WORD height);
|
|
[helpstring("method SetSoftKbdColors")] HRESULT SetSoftKbdColors([in] COLORTYPE colorType, [in] COLORREF Color);
|
|
[helpstring("method GetActiveLayoutId")] HRESULT GetActiveLayoutId([out] DWORD *lpdwLayoutId );
|
|
[helpstring("method GetSoftKbdOnOff")] HRESULT GetSoftKbdOnOff([out] BOOL *lpfOn );
|
|
[helpstring("method GetSoftKbdPosSize")] HRESULT GetSoftKbdPosSize([out]POINT *lpStartPoint, [out] WORD *lpwidth, [out] WORD *lpheight);
|
|
[helpstring("method GetSoftKbdColors")] HRESULT GetSoftKbdColors([in] COLORTYPE colorType, [out] COLORREF *lpColor);
|
|
|
|
}
|
|
|
|
//
|
|
// ITfSoftKbdRegistry
|
|
//
|
|
// Implemented in softkbd.dll
|
|
// Other TIP can call this interface to Enable or Disable softkbd TIP.
|
|
//
|
|
|
|
[
|
|
object,
|
|
uuid(f5f31f14-fdf0-4d29-835a-46adfe743b78),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITfSoftKbdRegistry : IUnknown
|
|
{
|
|
[helpstring("method Enable Softkbd TIP")] HRESULT EnableSoftkbd(LANGID langid);
|
|
[helpstring("method Disable Softkbd TIP")] HRESULT DisableSoftkbd(LANGID langid);
|
|
}
|
|
|
|
// =-------------------------------------------------------------------------=
|
|
//
|
|
// C L S I D / I I D D E F I N I T I O N
|
|
//
|
|
// =-------------------------------------------------------------------------=
|
|
|
|
cpp_quote("")
|
|
|
|
cpp_quote("DEFINE_GUID( IID_ISoftKbd, 0x3CB00755, 0x7536, 0x4B0A, 0xA2, 0x13, 0x57, 0x2E, 0xFC, 0xAF, 0x93, 0xCD );")
|
|
|
|
cpp_quote("DEFINE_GUID( IID_ISoftKeyboardEventSink,0x3ea2bb1d, 0x66e7, 0x47f7, 0x87, 0x95, 0xcc, 0x03, 0xd3, 0x88, 0xf8, 0x87 );")
|
|
|
|
cpp_quote("DEFINE_GUID( IID_ITfFnSoftKbd, 0xe7342d48, 0x573f, 0x4f22, 0x91, 0x81, 0x41, 0x93, 0x8b, 0x25, 0x29, 0xc2);")
|
|
|
|
cpp_quote("DEFINE_GUID( IID_ISoftKbdWindowEventSink, 0xe4283da5,0xd425,0x4f97,0x8b, 0x6a,0x06, 0x1a, 0x03, 0x55, 0x6e, 0x95);")
|
|
|
|
cpp_quote("DEFINE_GUID( IID_ITfSoftKbdRegistry, 0xf5f31f14, 0xfdf0, 0x4d29, 0x83, 0x5a, 0x46, 0xad, 0xfe, 0x74, 0x3b, 0x78);")
|
|
|
|
cpp_quote("DEFINE_GUID( CLSID_SoftKbd,0x1B1A897E, 0xFBEE, 0x41CF, 0x8C, 0x48,0x9B, 0xF7, 0x64, 0xF6, 0x2B, 0x8B);")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("DEFINE_GUID( CLSID_SoftkbdIMX, 0xf89e9e58, 0xbd2f, 0x4008, 0x9a, 0xc2, 0x0f, 0x81, 0x6c, 0x09, 0xf4, 0xee);")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("DEFINE_GUID( CLSID_SoftkbdRegistry, 0x6a49950e, 0xce8a, 0x4ef7, 0x88, 0xb4, 0x9d, 0x11, 0x23, 0x66, 0x51, 0x1c );")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("#endif // SOFTKBD_DEFINED")
|