Legacy Mac OS X Reference Library Apple Developer Connection

Legacy Documentclose button

Important: NSInputManager is deprecated in Mac OS X v10.6 and later. Its replacement is NSTextInputContext class, described in NSTextInputContext Class Reference. To create input methods, use the Input Method Kit, described in Input Method Kit Framework Reference.


NSInputManager Class Reference (Not Recommended)

Inherits from
Conforms to
Framework
/System/Library/Frameworks/AppKit.framework
Availability
Available in Mac OS X v10.0 and later.
Companion guide
Declared in
NSInputManager.h

Important: NSInputManager is deprecated in Mac OS X v10.6 and later. Its replacement is NSTextInputContext class, described in NSTextInputContext Class Reference. To create input methods, use the Input Method Kit, described in Input Method Kit Framework Reference.

Overview

NSInputManager is one of the three players in the Cocoa text input management system. The input manager acts as a proxy between "NSInputServer" and text views. You never have to instantiate or subclass NSInputManager, and unless you are implementing a text view that does not inherit from NSTextView, you never have to directly access its methods either.

If an application needs more complex text handling than the standard Cocoa text view classes can provide, then it will use its own text view class that implements the NSTextInput protocol, and that class will call NSInputManager’s methods. The current input manager’s input server will call some of the text view’s NSTextInput protocol methods.

The wantsToDelayTextChangeNotifications, wantsToHandleMouseEvents, and wantsToInterpretAllKeystrokes methods call methods of the same names on the input manager’s current input server and return the result.

Adopted Protocols

NSTextInput

Tasks

Creating Input Managers

Getting Active Input Manager

Handling Events

Getting Input Server Information

Deprecated

Class Methods

currentInputManager

The current input manager is the one that has been chosen to handle keyboard events at the time this method is called.

+ (NSInputManager *)currentInputManager

Discussion

Don’t cache the return value, because the user can switch to a different input manager at any time.

Availability
Declared In
NSInputManager.h

cycleToNextInputLanguage:

Deprecated.

+ (void)cycleToNextInputLanguage:(id)sender

Availability
Declared In
NSInputManager.h

cycleToNextInputServerInLanguage:

Deprecated.

+ (void)cycleToNextInputServerInLanguage:(id)sender

Availability
Declared In
NSInputManager.h

Instance Methods

handleMouseEvent:

- (BOOL)handleMouseEvent:(NSEvent *)theMouseEvent

Discussion

Forwards a mouse event passed in theMouseEvent to the input server. If wantsToHandleMouseEvents returns YES, then the text view must forward all mouse events that occur within it. As usual, a return value of NO means that the text view should proceed with handling the event.

For additional information see the NSInputServerMouseTracker class.

Availability
  • Available in Mac OS X v10.0 and later.
Declared In
NSInputManager.h

markedTextAbandoned:

The input server must abandon whatever it was doing with marked text.

- (void)markedTextAbandoned:(id)client

Discussion

The NSTextView object client calls this when the user clicks outside the marked text (anywhere other than the beginning of marked text, the end of marked text, or in between), then NSTextView promotes the marked text to normal text as if it had been inserted. A custom text view is free to choose not to keep the marked text.

Availability
  • Available in Mac OS X v10.0 and later.
See Also
Declared In
NSInputManager.h

markedTextSelectionChanged:client:

The user clicked at the beginning of marked text, the end of marked text, or in between, or the user made a selection within the marked text in the client text view.

- (void)markedTextSelectionChanged:(NSRange)newSel client:(id)client

Discussion

The range newSel is relative to the beginning of the marked text.

Availability
  • Available in Mac OS X v10.0 and later.
See Also
Declared In
NSInputManager.h

wantsToHandleMouseEvents

Returns YES if the sender should forward all mouse events within the text view to the input server.

- (BOOL)wantsToHandleMouseEvents

Availability
  • Available in Mac OS X v10.0 and later.
See Also
Declared In
NSInputManager.h


Last updated: 2008-10-21

Did this document help you? Yes It's good, but... Not helpful...