No documentation for TextInputSource and InputMethodKit Info.plist keys

Number:rdar://11327265 Date Originated:2012-04-26
Status:Open Resolved:
Product:Tech Note/Q&A Product Version:OS X 10.7
Classification:Other Bug Reproducible:N/A
Custom keyboard layouts as described in TN2056 can have an intended language associated with them; this feature enables, for example, Lion's press-and-hold for accented characters feature. However, this fact is only documented in TextInputSources.h, not in TN2056 or indeed anywhere on

This information is also necessary for developing new input methods, which have a more complicated set of available Info.plist keys. These are not even documented in InputMethodKit's header files, and there is no online reference for this. The only documentation for these keys is in the deprecated TextServices.h header, and it is not clear how many of them are still respected by the current text input system.

The NumberInput_IMKit sample project has examples of how most of the keys are used, but it does not explain what all of the keys do or what the possible values are, and seems to misuse some of them. (For example, the tsInputModePrimaryInScriptKey and tsInputModeDefaultStateKey values are set to true for every input mode in the final iteration of the project.)

Even copying the TextInputSources.h comments into a Tech Note or a new section of TN2056 would be an absolute improvement over the current situation. In the long term, it would be nice to properly document all possible TS/TIS Info.plist keys.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!