|Type||Topic||Plugin||Version||macOS||Windows||Linux||Console & Web||iOS|
|class||Mac||MBS MacOSX Plugin||12.5||Yes||No||No||Yes, macOS only||No|
Text input sources fall into three general categories:
- Keyboard input sources, including keyboard layouts, keyboard input methods and input modes
- Palette input sources, including the character palette, keyboard viewer, and private dictionary panels
- Ink input sources
Palette input sources and ink input source are categorized as non-keyboard input sources. However, palette input sources might still involve some keyboard interaction. Keyboard input methods can be mode-enabled (for instance, Kotoeri). Hence, they are potentially the parent of several input modes directly selectable in the user interface (for instance, hiragana, katakana, and romaji). With mode-enabled input methods, the parent input method is not directly selectable. Non-mode-enabled input methods are directly selectable.
Some input sources are provided and installed with OS X. Other input sources can be installed as third party products themselves or as part of the installation of certain applications. International Preferences displays a list of all visible installed input sources. You can use International Preferences to enable or disable most input sources that are intended to be visible in the user interface. Setup Assistant also enables some input sources. A separate user interface provides a way to enable ink input sources.
You can use some of the functions in Text Input Source Services to enable or disable input sources programmatically in your application. One keyboard input source must be enabled. Only one ink input source may be enabled. Multiple instances of other input source types may be enabled.
Some enabled input sources are invisible but programmatically selectable, such as ink. Some are visible but not programmatically selectable, such as mode-savvy parent input methods (these must be visible so that International Preferences can display the parent input method for a group of input modes).
Input modes can only be changed from disabled to enabled if their parent input method is enabled. Input modes can only be selected if they and their parent input method are enabled.
Exactly one keyboard input source is selected at any time: the current keyboard input source. Selecting a new keyboard input source deselects the previous keyboard input source. Multiple palette input sources may be selected. For instance, there may be one or more character palettes and one or more keyboard viewers selected in addition to the selected keyboard input source. Selecting or deselecting a palette (or ink) input source does not affect any other input source. Input methods that provide associated input palettes may programmatically deselect the palette when the input method is deselected, for example.
Text Input Source Source Services specifies modern, non-Script-Manager-based programming interfaces for operating on text input sources and performs the following functions:
- Finds information about text input sources
- Selects, enables, and disables text input sources
- Receives notifications about relevant changes in text input sources.
Available in OS X v10.5 and later.
- 2 properties
- 21 methods
- method BundleID as string
- method Category as string
- method Deselect
- method Disable
- method Enable
- method Icon as Variant
- method IconImageFile as folderitem
- method IconImageURL as string
- method InputModeID as string
- method IsASCIICapable as boolean
- method IsEnableCapable as boolean
- method IsEnabled as boolean
- method IsSelectCapable as boolean
- method IsSelected as boolean
- method LocalizedName as string
- method PropertyValue(key as string) as Variant
- method SelectIt
- method SetInputMethodKeyboardLayoutOverride
- method SourceID as string
- method SourceLanguages as string()
- method Type as string
- 37 shared methods
- shared method CreateASCIICapableInputSourceList as TextInputSourceMBS()
- shared method CreateInputSourceList(properties as dictionary, includeAllInstalled as boolean) as TextInputSourceMBS()
- shared method CurrentASCIICapableKeyboardInputSource as TextInputSourceMBS
- shared method CurrentASCIICapableKeyboardLayoutInputSource as TextInputSourceMBS
- shared method CurrentKeyboardInputSource as TextInputSourceMBS
- shared method CurrentKeyboardLayoutInputSource as TextInputSourceMBS
- shared method InputMethodKeyboardLayoutOverride as TextInputSourceMBS
- shared method InputSourceForLanguage(language as string) as TextInputSourceMBS
- shared method kTISCategoryInkInputSource as string
- shared method kTISCategoryKeyboardInputSource as string
- shared method kTISCategoryPaletteInputSource as string
- shared method kTISNotifyEnabledKeyboardInputSourcesChanged as string
- shared method kTISNotifySelectedKeyboardInputSourceChanged as string
- shared method kTISPropertyBundleID as string
- shared method kTISPropertyIconImageURL as string
- shared method kTISPropertyIconRef as string
- shared method kTISPropertyInputModeID as string
- shared method kTISPropertyInputSourceCategory as string
- shared method kTISPropertyInputSourceID as string
- shared method kTISPropertyInputSourceIsASCIICapable as string
- shared method kTISPropertyInputSourceIsEnableCapable as string
- shared method kTISPropertyInputSourceIsEnabled as string
- shared method kTISPropertyInputSourceIsSelectCapable as string
- shared method kTISPropertyInputSourceIsSelected as string
- shared method kTISPropertyInputSourceLanguages as string
- shared method kTISPropertyInputSourceType as string
- shared method kTISPropertyLocalizedName as string
- shared method kTISPropertyUnicodeKeyLayoutData as string
- shared method kTISTypeCharacterPalette as string
- shared method kTISTypeInk as string
- shared method kTISTypeKeyboardInputMethodModeEnabled as string
- shared method kTISTypeKeyboardInputMethodWithoutModes as string
- shared method kTISTypeKeyboardInputMode as string
- shared method kTISTypeKeyboardLayout as string
- shared method kTISTypeKeyboardViewer as string
- shared method RegisterInputSource(file as folderitem) as Integer
- shared method RegisterInputSource(URL as string) as Integer
This class has no sub classes.
Some examples which use this class:
The items on this page are in the following plugins: MBS MacOSX Plugin.
MBS Xojo Plugins