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; }
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; }
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; }
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; }
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; }