How to set a flag indicating TSF Component's compatibility?

    General discussion

  • Some sentences are mentiond by MSDN,as following "compatible with the Metro style apps must self-declare by setting a flag indicating this compatibility .This flag is provided by TSF in the TF_INPUTPROCESSORPROFILE structure and IMEs declare that they are compatible with Metro style apps by setting a flag provided by TSF in the TF_INPUTPROCESSORPROFILE structure and to declare an IME as compatible with Metro style apps, set the dwCaps field with TF_IPP_CAPS_IMMERSIVESUPPORT."

    Although MSDN told me to refer to the Sample IME for the details about how to set the Metro compatible flag for an IME, nothing is existed in fact.How should I do for the purposes above?

    Wednesday, June 13, 2012 8:13 AM

All replies

  • Maybe not so fast


    Thursday, June 14, 2012 11:13 AM
  • I have same question as cybupt. Anybody can help?
    Friday, July 20, 2012 1:34 AM
  • windows 8 will come. It is still hard to find any information about how to set this `dwCaps`.
    Monday, September 17, 2012 5:06 PM
  • When you search for TF_IPP_CAPS_IMMERSIVESUPPORT, this thread is the only one that comes up in which developers are trying to puzzle out the flag.  The documentation still says the same thing now that it said in June.  Took me a while to figure it out, so I thought I'd post here to save others the trouble.


    To indicate that your IME is compatible with Windows Store apps, call RegisterCategory with GUID_TFCAT_TIPCAP_IMMERSIVESUPPORT.

    You probably also have to implement ITfTextInputProcessorEx.  I am not sure if it is required, but I did this anyway.  This interface was previously required for the TSF capabilities introduced in Windows Vista.


    The MSDN documentation is very misleading. A text service developer cannot directly set the flag on the TF_INPUTPROCESSORPROFILE structure.  Instead, the structure is what is returned when someone else queries your text service's capabilities.  The documentation was written from the wrong side of the interface.

    Isn't it fun to work with TSF?  You've got the documentation, which was written in the Windows 2000 era.  You've got the step-by-step code samples that haven't been updated at all since Windows 2000.  New versions of Windows add on to the API, but the information is scattered.  There's an informative series of posts from 2007 on the TSF team blog (tsfaware) -- but since they're from 2007, they don't help with Windows 8.

    • Edited by Tao Yue Friday, November 30, 2012 5:51 AM
    Friday, November 30, 2012 4:59 AM