Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы InputMethodKit ссылка на протокол IMKServerInput

Опции
Развертывание Target:

На этой странице
Язык:

IMKServerInput

IMKServerInput неофициальный протокол, определяющий методы для получения текстовых событий. Это - преднамеренно не формальный протокол, потому что существует три способа получить события. Метод ввода выбирает один из следующих подходов и реализует надлежащие методы:

  • Привязка клавиш. В этом подходе система пытается отобразить каждое ключевое вниз событие на метод действия, который реализовал метод ввода. Если успешный (найденный метод действия), системные вызовы didCommandBySelector:client:. Если неуспешный (метод действия, не найденный), системные вызовы inputText:client:. Для этого подхода необходимо реализовать inputText:client: и didCommandBySelector:client:.

  • Текстовые данные только. В этом подходе Вы решили получить все ключевые события без привязки клавиш, и затем распаковать соответствующие текстовые данные. Ключевые события разломаны на Unicodes, код клавиши, генерировавший их и флаги модификатора. Эти данные тогда отправляются в inputText:key:modifiers:client: метод, который необходимо реализовать.

  • Обработайте все события. В этом подходе Вы получаете события непосредственно от менеджера Text Services как NSEvent объекты. Необходимо реализовать handleEvent:client: метод.

Наследование


Не применимый

Соответствует


Не применимый

Оператор импорта


Swift

import InputMethodKit

Objective C

@import InputMethodKit;

Доступность


Доступный в OS X v10.5 и позже.
  • Ключ дескрипторов вниз события, не отображающиеся на метод действия.

    Объявление

    Swift

    func inputText(_ string: String!, client sender: AnyObject!) -> Bool

    Objective C

    - (BOOL)inputText:(NSString *)string client:(id)sender

    Параметры

    string

    Ключ вниз событие, которое является вводом текста клиентом.

    sender

    Объект клиента, отправляющий ключ вниз события.

    Возвращаемое значение

    YEStrue если принят ввод; иначе NOfalse.

    Обсуждение

    Метод ввода должен реализовать этот метод при использовании привязки клавиш (т.е. это реализует didCommandBySelector:client:).

    Оператор импорта

    Objective C

    @import InputMethodKit;

    Swift

    import InputMethodKit

    Доступность

    Доступный в OS X v10.5 и позже.

  • Обрабатывает команду, сгенерированную пользовательским действием, таким как ввод определенных ключей или нажатие кнопки мыши.

    Объявление

    Swift

    func didCommandBySelector(_ aSelector: Selector, client sender: AnyObject!) -> Bool

    Objective C

    - (BOOL)didCommandBySelector:(SEL)aSelector client:(id)sender

    Параметры

    aSelector

    Действие связало с ключом вниз событие. Селектор может быть действием, указанным в словаре метода ввода ключей и действий (т.е. действие, определенное для метода ввода) или один из NSResponder методы действия такой как insertNewline: или deleteBackward:. По определению такие методы действия не возвращают значение.

    sender

    Объект клиента, отправляющий ключ вниз событие.

    Возвращаемое значение

    YEStrue если обрабатывается команда; NOfalse если не обрабатывается команда. Если не обработанный, событие передает клиенту.

    Обсуждение

    Когда система связывает ключ вниз событие к методу действия, этот метод вызывают. При реализации этого метода, необходимо протестировать, если является надлежащим вызвать метод действия прежде фактически вызвать его, потому что вызов метода действия подразумевает, что Вы соглашаетесь обработать команду. Предположим, что Вы реализовали версию insertNewline: это завершает сеанс преобразования и отправляет полностью преобразованный текст клиенту. Однако, если Вы, буфер преобразования пуст, Вы хотите, чтобы приложение получило клавишу Return, инициировавшую вызов к insertNewline:. В этом случае, когда didCommandBySelector:client: вызывается необходимо протестировать буфер прежде, чем вызвать реализацию insertNewline:. Если буфер пуст, возвратиться NOfalse указать, что клавиша Return должна быть передана приложению. Если буфер не пуст, вызвать insertNewline: и затем возвратитесь YEStrue как результат didCommandBySelector:client:.

    Оператор импорта

    Objective C

    @import InputMethodKit;

    Swift

    import InputMethodKit

    Доступность

    Доступный в OS X v10.5 и позже.

    См. также

    – inputText:client:

  • Получает Unicode, код клавиши, генерировавший его, и любые флаги модификатора.

    Объявление

    Swift

    func inputText(_ string: String!, key keyCode: Int, modifiers flags: Int, client sender: AnyObject!) -> Bool

    Objective C

    - (BOOL)inputText:(NSString *)string key:(NSInteger)keyCode modifiers:(NSUInteger)flags client:(id)sender

    Параметры

    string

    Ввод текста клиентом.

    keyCode

    Код клавиши для связанного Unicode.

    flags

    Флаги модификатора.

    sender

    Объект клиента.

    Возвращаемое значение

    YEStrue если принят ввод; иначе NOfalse.

    Оператор импорта

    Objective C

    @import InputMethodKit;

    Swift

    import InputMethodKit

    Доступность

    Доступный в OS X v10.5 и позже.

  • Ключ дескрипторов вниз и события от нажатия мыши.

    Объявление

    Swift

    func handleEvent(_ event: NSEvent!, client sender: AnyObject!) -> Bool

    Objective C

    - (BOOL)handleEvent:(NSEvent *)event client:(id)sender

    Параметры

    event

    Событие для обработки.

    sender

    Объект клиента, отправляющий событие.

    Возвращаемое значение

    YEStrue если обрабатывается событие; иначе NOfalse.

    Оператор импорта

    Objective C

    @import InputMethodKit;

    Swift

    import InputMethodKit

    Доступность

    Доступный в OS X v10.5 и позже.

  • Сообщает контроллеру, что должен фиксироваться состав.

    Объявление

    Swift

    func commitComposition(_ sender: AnyObject!)

    Objective C

    - (void)commitComposition:(id)sender

    Параметры

    sender

    Объект клиента, запрашивающий метод ввода фиксировать состав.

    Обсуждение

    Если метод ввода реализует этот метод, его вызывают, когда клиент хочет закончить сеанс состава сразу. Типичный ответ должен был бы вызвать insertText метод клиента и затем очищает любые буферы на сеанс и переменные. После получения этого сообщения метод ввода должен считать данный сеанс состава законченным.

    Оператор импорта

    Objective C

    @import InputMethodKit;

    Swift

    import InputMethodKit

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвратите текущую составленную строку.

    Объявление

    Swift

    func composedString(_ sender: AnyObject!) -> AnyObject!

    Objective C

    - (id)composedString:(id)sender

    Параметры

    sender

    Объект клиента, запрашивающий строку.

    Возвращаемое значение

    Текущая составленная строка, которая может быть NSString или NSAttributedString объект. Возвращенный объект должен быть автовыпущенным объектом.

    Обсуждение

    Составленная строка относится к буферу, который метод ввода обычно поддерживает для зеркального отражения текста, содержавшегося в активной встроенной области. Это вызывают составленной строкой для отражения факта, что метод ввода составил строку путем преобразования символов, введенных пользователем. Кроме того, используя термин составленная строка упрощает дифференцироваться между буфером метода ввода и текстом в активной встроенной области, которую видит пользователь.

    Оператор импорта

    Objective C

    @import InputMethodKit;

    Swift

    import InputMethodKit

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвратите строку, состоящую из предсоставленных unicode символов.

    Объявление

    Swift

    func originalString(_ sender: AnyObject!) -> NSAttributedString!

    Objective C

    - (NSAttributedString *)originalString:(id)sender

    Параметры

    sender

    Объект клиента, запрашивающий исходную строку.

    Возвращаемое значение

    Исходная строка предсоставленных unicode символов. Если метод ввода хранит исходный входной текст, он возвращает тот текст. Возвращаемое значение является приписанной строкой так, чтобы метод ввода мог восстановить изменения, которые они внесли в шрифт и другие атрибуты, при необходимости. Возвращенный объект должен быть автовыпущенным объектом.

    Оператор импорта

    Objective C

    @import InputMethodKit;

    Swift

    import InputMethodKit

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвращает массив кандидатов.

    Объявление

    Swift

    func candidates(_ sender: AnyObject!) -> [AnyObject]!

    Objective C

    - (NSArray *)candidates:(id)sender

    Параметры

    sender

    Объект клиента, запрашивающий кандидатов.

    Возвращаемое значение

    Массив кандидатов. Возвращенный массив должен быть автовыпущенным объектом.

    Обсуждение

    Метод ввода должен искать свою в настоящее время составленную строку и возвратить список строк кандидата, на которые могла бы отобразиться та строка.

    Оператор импорта

    Objective C

    @import InputMethodKit;

    Swift

    import InputMethodKit

    Доступность

    Доступный в OS X v10.5 и позже.

  • Константы для ключей раньше искали информацию в информационном словаре.

    Объявление

    Swift

    var kIMKCommandMenuItemName: NSString! var kIMKCommandClientName: NSString!

    Objective C

    const NSString *kIMKCommandMenuItemName; const NSString *kIMKCommandClientName;

    Константы

    • kIMKCommandMenuItemName

      kIMKCommandMenuItemName

      Используемый для поиска NSMenuItem объект, передающийся действиям пункта меню.

      Доступный в OS X v10.5 и позже.

    • kIMKCommandClientName

      kIMKCommandClientName

      Используемый для поиска объекта клиента; клиент соответствует IMKInputText и протоколам NSObject.

      Доступный в OS X v10.5 и позже.