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!, clientsender: AnyObject!) -> BoolObjective C
- (BOOL)inputText:(NSString *)stringclient:(id)senderПараметры
stringКлюч вниз событие, которое является вводом текста клиентом.
senderОбъект клиента, отправляющий ключ вниз события.
Возвращаемое значение
YEStrueесли принят ввод; иначеNOfalse.Обсуждение
Метод ввода должен реализовать этот метод при использовании привязки клавиш (т.е. это реализует
didCommandBySelector:client:).Оператор импорта
Objective C
@import InputMethodKit;Swift
import InputMethodKitДоступность
Доступный в OS X v10.5 и позже.
-
Обрабатывает команду, сгенерированную пользовательским действием, таким как ввод определенных ключей или нажатие кнопки мыши.
Объявление
Swift
func didCommandBySelector(_aSelector: Selector, clientsender: AnyObject!) -> BoolObjective C
- (BOOL)didCommandBySelector:(SEL)aSelectorclient:(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 и позже.
См. также
-
Получает Unicode, код клавиши, генерировавший его, и любые флаги модификатора.
Объявление
Swift
func inputText(_string: String!, keykeyCode: Int, modifiersflags: Int, clientsender: AnyObject!) -> BoolObjective C
- (BOOL)inputText:(NSString *)stringkey:(NSInteger)keyCodemodifiers:(NSUInteger)flagsclient:(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!, clientsender: AnyObject!) -> BoolObjective C
- (BOOL)handleEvent:(NSEvent *)eventclient:(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 и позже.
-
Константы для ключей раньше искали информацию в информационном словаре.
Объявление
Objective C
const NSString *kIMKCommandMenuItemName; const NSString *kIMKCommandClientName;Константы
-
kIMKCommandMenuItemNamekIMKCommandMenuItemNameИспользуемый для поиска
NSMenuItemобъект, передающийся действиям пункта меню.Доступный в OS X v10.5 и позже.
-
kIMKCommandClientNamekIMKCommandClientNameИспользуемый для поиска объекта клиента; клиент соответствует IMKInputText и протоколам NSObject.
Доступный в OS X v10.5 и позже.
-
