示例#1
0
STDAPI CTextService::OnPreservedKey(ITfContext *pContext, REFGUID rguid, BOOL *pfEaten)
{

    if (IsEqualGUID(rguid, GUID_PRESERVEDKEY_BURGLISH))
    {
        //BOOL fOpen = _IsKeyboardOpen();
        //_SetKeyboardOpen(fOpen ? FALSE : TRUE);
		burmese.isPhoneticInput = !burmese.isPhoneticInput;
		_SetKeyboardOpen(burmese.isPhoneticInput ? TRUE : FALSE);
		burmese.isTypeWriterInput = FALSE;
        *pfEaten = TRUE;
    }
	else if (IsEqualGUID(rguid, GUID_PRESERVEDKEY_BURMESE)){
		burmese.isTypeWriterInput = !burmese.isTypeWriterInput;
		_SetKeyboardOpen(burmese.isTypeWriterInput ? TRUE : FALSE);
		burmese.isPhoneticInput = FALSE;
		*pfEaten = TRUE;
	}
    else
    {
        *pfEaten = FALSE;
    }

    return S_OK;
}
示例#2
0
STDAPI CTextService::OnPreservedKey(ITfContext *pic, REFGUID rguid, BOOL *pfEaten)
{
	if(pic == NULL || pfEaten == NULL)
	{
		return E_INVALIDARG;
	}

	BOOL fOpen = _IsKeyboardOpen();

	if(IsEqualGUID(rguid, c_guidPreservedKeyOn))
	{
		if(fOpen)
		{
			//入力途中のシーケンスはそのまま確定
			_InvokeKeyHandler(pic, 0, 0, SKK_ENTER);
			_ClearComposition();
			postbuf.clear();
		}
		else
		{
			_UpdateLanguageBar();
		}
		inputmode = im_disable;
		_SetKeyboardOpen(TRUE);
		*pfEaten = TRUE;
	}
	else if(IsEqualGUID(rguid, c_guidPreservedKeyOff))
	{
		if(fOpen)
		{
			_InvokeKeyHandler(pic, 0, 0, SKK_ENTER);
			_ClearComposition();
			postbuf.clear();
		}
		else
		{
			_UpdateLanguageBar();
		}
		_SetKeyboardOpen(FALSE);
		*pfEaten = TRUE;
	}
	else
	{
		*pfEaten = FALSE;
	}

	return S_OK;
}
示例#3
0
STDAPI CTextService::OnPreservedKey(ITfContext *pic, REFGUID rguid, BOOL *pfEaten)
{
	if(pic == NULL || pfEaten == NULL)
	{
		return E_INVALIDARG;
	}

	BOOL fOpen = _IsKeyboardOpen();

	if(IsEqualGUID(rguid, c_guidPreservedKeyOn))
	{
		if(!fOpen)
		{
			inputmode = im_disable;

			_SetKeyboardOpen(TRUE);
		}
		else
		{
			_UpdateLanguageBar();
		}

		*pfEaten = TRUE;
	}
	else if(IsEqualGUID(rguid, c_guidPreservedKeyOff))
	{
		if(fOpen)
		{
			_ClearComposition();

			_SetKeyboardOpen(FALSE);
		}
		else
		{
			_UpdateLanguageBar();
		}

		*pfEaten = TRUE;
	}
	else
	{
		*pfEaten = FALSE;
	}

	return S_OK;
}
示例#4
0
STDAPI CTextService::ActivateEx(ITfThreadMgr *ptim, TfClientId tid, DWORD dwFlags)
{
	//_wsetlocale(LC_ALL, L"JPN");

	_CreateConfigPath();
	
	_pThreadMgr = ptim;
	_pThreadMgr->AddRef();
	_ClientId = tid;
	
	if(!_InitThreadMgrEventSink())
	{
		goto exit;
	}

	if(!_InitCompartmentEventSink())
	{
		goto exit;
	}

	if(!_InitLanguageBar())
	{
		goto exit;
	}

	if(!_InitKeyEventSink())
	{
		goto exit;
	}

	_LoadPreservedKey();

	if(!_InitPreservedKey())
	{
		goto exit;
	}

	if(!_InitFunctionProvider())
	{
		goto exit;
	}

	_SetKeyboardOpen(TRUE);
	_KeyboardOpenCloseChanged();

	return S_OK;

exit:
	Deactivate();
	return E_FAIL;
}
STDAPI CTextService::OnPreservedKey(ITfContext *pContext, REFGUID rguid, BOOL *pfEaten)
{

    if (IsEqualGUID(rguid, GUID_PRESERVEDKEY_ONOFF))
    {
        BOOL fOpen = _IsKeyboardOpen();
        _SetKeyboardOpen(fOpen ? FALSE : TRUE);
        *pfEaten = TRUE;
    }
    else
    {
        *pfEaten = FALSE;
    }

    return S_OK;
}
示例#6
0
STDAPI CTextService::OnPreservedKey(ITfContext *pic, REFGUID rguid, BOOL *pfEaten)
{
	if(IsEqualGUID(rguid, c_guidPreservedKeyOnOff))
	{
		BOOL fOpen = _IsKeyboardOpen();
		if(!fOpen)
		{
			inputmode = im_disable;
		}
		else
		{
			_ClearComposition();
		}
		_SetKeyboardOpen(fOpen ? FALSE : TRUE);
		*pfEaten = TRUE;
	}
	else
	{
		*pfEaten = FALSE;
	}

	return S_OK;
}