55DEFINE_GUID (CLSID_InputSwitchControl , 0xb9bc2a50 , 0x43c3 , 0x41aa , 0xa0 , 0x86 , 0x5d , 0xb1 , 0x4e , 0x18 , 0x4b , 0xae );
66DEFINE_GUID (IID_IInputSwitchControl , 0xb9bc2a50 , 0x43c3 , 0x41aa , 0xa0 , 0x82 , 0x5d , 0xb1 , 0x4e , 0x18 , 0x4b , 0xae );
77
8- enum __MIDL___MIDL_itf_inputswitchserver_0000_0000_0001
8+ typedef enum __MIDL___MIDL_itf_inputswitchserver_0000_0000_0001
99{
1010 ISCT_IDL_DESKTOP ,
1111 ISCT_IDL_TOUCHKEYBOARD ,
@@ -14,71 +14,73 @@ enum __MIDL___MIDL_itf_inputswitchserver_0000_0000_0001
1414 ISCT_IDL_SETTINGSPANE ,
1515 ISCT_IDL_OOBE ,
1616 ISCT_IDL_USEROOBE
17- };
17+ } INPUT_SWITCH_IDL_CLIENT_TYPE ;
1818
19- struct __MIDL___MIDL_itf_inputswitchserver_0000_0000_0002
19+ typedef struct __MIDL___MIDL_itf_inputswitchserver_0000_0000_0002
2020{
2121 int dummy ; // We don't need its contents
22- };
22+ } INPUT_SWITCH_IDL_PROFILE_DATA ;
2323
24- struct __MIDL___MIDL_itf_inputswitchserver_0000_0000_0003
24+ typedef struct __MIDL___MIDL_itf_inputswitchserver_0000_0000_0003
2525{
2626 WCHAR * pszTooltip ;
2727 HICON hIcon ;
2828 BOOL fDisabled ;
2929 BOOL fHidden ;
3030 WCHAR * pszIconGlyph ;
31- };
31+ } INPUT_SWITCH_IDL_IME_MODE_ITEM_DATA ;
3232
33- enum __MIDL___MIDL_itf_inputswitchserver_0000_0000_0004
33+ typedef enum __MIDL___MIDL_itf_inputswitchserver_0000_0000_0004
3434{
3535 INPUT_SWITCH_IDL_IME_CLICK_TYPE_LEFT ,
3636 INPUT_SWITCH_IDL_IME_CLICK_TYPE_RIGHT ,
3737 INPUT_SWITCH_IDL_IME_CLICK_TYPE_LEFT_DISABLED
38- };
38+ } INPUT_SWITCH_IDL_IME_CLICK_TYPE ;
3939
40- enum __MIDL___MIDL_itf_inputswitchserver_0000_0000_0005
40+ typedef enum __MIDL___MIDL_itf_inputswitchserver_0000_0000_0005
4141{
4242 INPUT_SWITCH_IDL_MODALITY_STANDARDKEYBOARD = 0x1 ,
4343 INPUT_SWITCH_IDL_MODALITY_SPLITKEYBOARD = 0x2 ,
4444 INPUT_SWITCH_IDL_MODALITY_CLASSICKEYBOARD = 0x4 ,
4545 INPUT_SWITCH_IDL_MODALITY_HANDWRITING = 0x8 ,
4646 INPUT_SWITCH_IDL_MODALITY_HIDE = 0x10 ,
4747 INPUT_SWITCH_IDL_MODALITY_ONEHANDEDKEYBOARD = 0x20 ,
48- };
48+ } INPUT_SWITCH_IDL_MODALITY ;
49+
50+ DEFINE_ENUM_FLAG_OPERATORS (INPUT_SWITCH_IDL_MODALITY );
4951
50- enum __MIDL___MIDL_itf_inputswitchserver_0000_0000_0006
52+ typedef enum __MIDL___MIDL_itf_inputswitchserver_0000_0000_0006
5153{
5254 INPUT_SWITCH_IDL_ALIGN_DEFAULT ,
5355 INPUT_SWITCH_IDL_ALIGN_RIGHT_EDGE ,
5456 INPUT_SWITCH_IDL_ALIGN_LEFT_EDGE ,
55- };
57+ } INPUT_SWITCH_IDL_ALIGNMENT ;
5658
57- enum __MIDL___MIDL_itf_inputswitchserver_0000_0000_0008
59+ typedef enum __MIDL___MIDL_itf_inputswitchserver_0000_0000_0008
5860{
5961 INPUT_SWITCH_IDL_CFOM_NO_OVERRIDE ,
6062 INPUT_SWITCH_IDL_CFOM_DESKTOP ,
6163 INPUT_SWITCH_IDL_CFOM_IMMERSIVE ,
62- };
64+ } INPUT_SWITCH_IDL_CFOM ;
6365
6466interface IInputSwitchCallback ;
6567
6668#ifdef __cplusplus
6769MIDL_INTERFACE ("b9bc2a50-43c3-41aa-a082-5db14e184bae" )
6870IInputSwitchControl : IUnknown
6971{
70- virtual HRESULT STDMETHODCALLTYPE Init (__MIDL___MIDL_itf_inputswitchserver_0000_0000_0001 ) = 0 ;
72+ virtual HRESULT STDMETHODCALLTYPE Init (INPUT_SWITCH_IDL_CLIENT_TYPE ) = 0 ;
7173 virtual HRESULT STDMETHODCALLTYPE SetCallback (IInputSwitchCallback * ) = 0 ;
7274 virtual HRESULT STDMETHODCALLTYPE ShowInputSwitch (const RECT * ) = 0 ;
7375 virtual HRESULT STDMETHODCALLTYPE GetProfileCount (UINT * , BOOL * ) = 0 ;
74- virtual HRESULT STDMETHODCALLTYPE GetCurrentProfile (__MIDL___MIDL_itf_inputswitchserver_0000_0000_0002 * ) = 0 ;
76+ virtual HRESULT STDMETHODCALLTYPE GetCurrentProfile (INPUT_SWITCH_IDL_PROFILE_DATA * ) = 0 ;
7577 virtual HRESULT STDMETHODCALLTYPE RegisterHotkeys () = 0 ;
76- virtual HRESULT STDMETHODCALLTYPE ClickImeModeItem (__MIDL___MIDL_itf_inputswitchserver_0000_0000_0004 , POINT , const RECT * ) = 0 ;
78+ virtual HRESULT STDMETHODCALLTYPE ClickImeModeItem (INPUT_SWITCH_IDL_IME_CLICK_TYPE , POINT , const RECT * ) = 0 ;
7779 virtual HRESULT STDMETHODCALLTYPE ForceHide () = 0 ;
78- virtual HRESULT STDMETHODCALLTYPE ShowTouchKeyboardInputSwitch (const RECT * , __MIDL___MIDL_itf_inputswitchserver_0000_0000_0006 , int , DWORD , __MIDL___MIDL_itf_inputswitchserver_0000_0000_0005 ) = 0 ;
80+ virtual HRESULT STDMETHODCALLTYPE ShowTouchKeyboardInputSwitch (const RECT * , INPUT_SWITCH_IDL_ALIGNMENT , int , DWORD , INPUT_SWITCH_IDL_MODALITY ) = 0 ;
7981 virtual HRESULT STDMETHODCALLTYPE GetContextFlags (DWORD * ) = 0 ;
80- virtual HRESULT STDMETHODCALLTYPE SetContextOverrideMode (__MIDL___MIDL_itf_inputswitchserver_0000_0000_0008 ) = 0 ;
81- virtual HRESULT STDMETHODCALLTYPE GetCurrentImeModeItem (__MIDL___MIDL_itf_inputswitchserver_0000_0000_0003 * ) = 0 ;
82+ virtual HRESULT STDMETHODCALLTYPE SetContextOverrideMode (INPUT_SWITCH_IDL_CFOM ) = 0 ;
83+ virtual HRESULT STDMETHODCALLTYPE GetCurrentImeModeItem (INPUT_SWITCH_IDL_IME_MODE_ITEM_DATA * ) = 0 ;
8284 virtual HRESULT STDMETHODCALLTYPE ActivateInputProfile (const WCHAR * ) = 0 ;
8385 virtual HRESULT STDMETHODCALLTYPE SetUserSid (const WCHAR * ) = 0 ;
8486};
@@ -90,19 +92,19 @@ typedef interface IInputSwitchControl IInputSwitchControl;
9092MIDL_INTERFACE ("b9bc2a50-43c3-41aa-a082-5db14e184bae" )
9193IInputSwitchControlSV2 : IUnknown
9294{
93- virtual HRESULT STDMETHODCALLTYPE Init (__MIDL___MIDL_itf_inputswitchserver_0000_0000_0001 ) = 0 ;
95+ virtual HRESULT STDMETHODCALLTYPE Init (INPUT_SWITCH_IDL_CLIENT_TYPE ) = 0 ;
9496 virtual HRESULT STDMETHODCALLTYPE SetCallback (IInputSwitchCallback * ) = 0 ;
9597 virtual HRESULT STDMETHODCALLTYPE ShowInputSwitch (const RECT * ) = 0 ;
9698 virtual HRESULT STDMETHODCALLTYPE GetProfileCount (UINT * , BOOL * ) = 0 ;
97- virtual HRESULT STDMETHODCALLTYPE GetCurrentProfile (__MIDL___MIDL_itf_inputswitchserver_0000_0000_0002 * ) = 0 ;
99+ virtual HRESULT STDMETHODCALLTYPE GetCurrentProfile (INPUT_SWITCH_IDL_PROFILE_DATA * ) = 0 ;
98100 virtual HRESULT STDMETHODCALLTYPE RegisterHotkeys () = 0 ;
99- virtual HRESULT STDMETHODCALLTYPE ClickImeModeItem (__MIDL___MIDL_itf_inputswitchserver_0000_0000_0004 , POINT , const RECT * ) = 0 ;
100- virtual HRESULT STDMETHODCALLTYPE ClickImeModeItemWithAnchor (__MIDL___MIDL_itf_inputswitchserver_0000_0000_0004 , IUnknown * ) = 0 ;
101+ virtual HRESULT STDMETHODCALLTYPE ClickImeModeItem (INPUT_SWITCH_IDL_IME_CLICK_TYPE , POINT , const RECT * ) = 0 ;
102+ virtual HRESULT STDMETHODCALLTYPE ClickImeModeItemWithAnchor (INPUT_SWITCH_IDL_IME_CLICK_TYPE , IUnknown * ) = 0 ;
101103 virtual HRESULT STDMETHODCALLTYPE ForceHide () = 0 ;
102- virtual HRESULT STDMETHODCALLTYPE ShowTouchKeyboardInputSwitch (const RECT * , __MIDL___MIDL_itf_inputswitchserver_0000_0000_0006 , int , DWORD , __MIDL___MIDL_itf_inputswitchserver_0000_0000_0005 ) = 0 ;
104+ virtual HRESULT STDMETHODCALLTYPE ShowTouchKeyboardInputSwitch (const RECT * , INPUT_SWITCH_IDL_ALIGNMENT , int , DWORD , INPUT_SWITCH_IDL_MODALITY ) = 0 ;
103105 virtual HRESULT STDMETHODCALLTYPE GetContextFlags (DWORD * ) = 0 ;
104- virtual HRESULT STDMETHODCALLTYPE SetContextOverrideMode (__MIDL___MIDL_itf_inputswitchserver_0000_0000_0008 ) = 0 ;
105- virtual HRESULT STDMETHODCALLTYPE GetCurrentImeModeItem (__MIDL___MIDL_itf_inputswitchserver_0000_0000_0003 * ) = 0 ;
106+ virtual HRESULT STDMETHODCALLTYPE SetContextOverrideMode (INPUT_SWITCH_IDL_CFOM ) = 0 ;
107+ virtual HRESULT STDMETHODCALLTYPE GetCurrentImeModeItem (INPUT_SWITCH_IDL_IME_MODE_ITEM_DATA * ) = 0 ;
106108 virtual HRESULT STDMETHODCALLTYPE ActivateInputProfile (const WCHAR * ) = 0 ;
107109 virtual HRESULT STDMETHODCALLTYPE SetUserSid (const WCHAR * ) = 0 ;
108110};
0 commit comments