NSInputManager provides the complete
implementation of sophisticated text input
management, including customizable keybinding
processing, multi-client support, and advanced
text composition capabilities.
Creates a string description of a keystroke for
configuration files. This method converts an
actual keystroke into a string that can be used in
keybinding files. Useful for Preferences
applications that need to capture user
keystrokes and save them to configuration.
character: The character component of
the keystroke modifiers: The modifier flags (pass 0 to
ignore modifiers) Returns: String
representation suitable for keybinding files
Parses a key string into
character and modifier components. Parses
a key as found in a keybinding file (e.g.,
'Control-f' or 'Control-Shift-LeftArrow'). key:
String representation of the keystroke character:
Pointer to store the parsed character
modifiers: Pointer to store the parsed modifier
flags Returns: YES if the key
could be parsed successfully, NO
otherwise
Processes an array of keyboard events for the
specified client. eventArray: Array of
NSEvent objects representing keyboard input client:
The text input client that should receive
processed input
Initializes an input manager with specified
input server and host. inputServerName: Name of the
input server to use hostName: Host name for
distributed input server communication Returns:
An initialized NSInputManager instance
Loads keybindings from a configuration file. This
method can be called explicitly by applications to
load application-specific keybindings for use by the
input manager. fullPath: Full path to the keybinding
configuration file
Notifies the manager that marked text has been
abandoned. client: The client where
marked text was abandoned Not implemented (as of 2026-02-09).
Please help us by producing an implementation of
this and donating it to the GNUstep project.
Notifies the manager of marked text selection
changes. newSel: The new selection range within
marked text client: The client where
selection changed Not implemented (as of 2026-02-09).
Please help us by producing an implementation of
this and donating it to the GNUstep project.
Sets flag to quote the next keystroke literally.
Normally bound to Control-q. The next keystroke
will be inserted as literal text rather than being
interpreted through the keybinding system.
Resets the internal state of the input manager.
Normally bound to Control-g (regardless of
context), but also automatically called whenever
the current client changes. Clears pending keystrokes
and returns to the root keybinding context.
Returns whether the manager wants to delay text
change notifications. Returns: YES to
delay notifications during processing,
NO for immediate notifications
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
The NSTextInput protocol defines the interface that
text-capable objects must implement to work with
input managers. This protocol enables sophisticated
text input processing including marked text composition
and character-level interaction.
Returns attributed substring from the specified
range. theRange: The range of text to retrieve
Returns: NSAttributedString containing the text
and attributes
Returns rectangle for the specified character
range. theRange: The character range to get
rectangle for Returns: NSRect bounding the
specified character range
Sets marked text with a selected range for
composition. aString: The string or attributed
string to mark selRange: The selected range within
the marked text