Instance Property


The characters generated by a key event as if no modifier key (except for Shift) applies.


var charactersIgnoringModifiers: String? { get }


Raises an NSInternalInconsistencyException if accessed on a non-key event.

This property is set to the non-modifier key character pressed for dead keys, such as Option-e. For example, Option-e (no shift key) returns an “e" for this method, whereas the characters property returns an empty string.

This property is useful for determining “basic” key values in a hardware-independent manner, enabling such features as keyboard equivalents defined in terms of modifier keys plus character keys. For example, to determine if the user typed Alt-S, you don’t have to know whether Alt-S generates a German double ess, an integral sign, or a section symbol. You simply examine the string contained by this property along with the event’s modifier flags, checking for “s” and NSAlternateKeyMask.

For a list of constants corresponding to commonly-used Unicode characters, see NSText.

See Also

Getting Key Event Information

class var modifierFlags: NSEvent.ModifierFlags

Returns the currently pressed modifier flags.

struct NSEvent.ModifierFlags

Flags that represent key states in an event object.

class var keyRepeatDelay: TimeInterval

Returns the length of time a key must be held down in order to generate the first key repeat event.

class var keyRepeatInterval: TimeInterval

Returns the length between subsequent key repeat events being posted.

var characters: String?

The characters associated with a key-up or key-down event.

var isARepeat: Bool

A Boolean value that indicates whether the key event is a repeat.

var keyCode: UInt16

The virtual key code for the keyboard key associated with a key event.