KeyEvent class - dart:html library (original) (raw)

A custom KeyboardEvent that attempts to eliminate cross-browser inconsistencies, and also provide both keyCode and charCode information for all key events (when such information can be determined).

KeyEvent tries to provide a higher level, more polished keyboard event information on top of the "raw" KeyboardEvent.

The mechanics of using KeyEvents is a little different from the underlyingKeyboardEvent. To use KeyEvents, you need to create a stream and then add KeyEvents to the stream, rather than using the EventTarget.dispatchEvent. Here's an example usage:

// Initialize a stream for the KeyEvents:
var stream = KeyEvent.keyPressEvent.forTarget(document.body);
// Start listening to the stream of KeyEvents.
stream.listen((keyEvent) =>
    window.console.log('KeyPress event detected ${keyEvent.charCode}'));
...
// Add a new KeyEvent of someone pressing the 'A' key to the stream so
// listeners can know a KeyEvent happened.
stream.add(new KeyEvent('keypress', keyCode: 65, charCode: 97));

This class is very much a work in progress, and we'd love to get information on how we can make this class work with as many international keyboards as possible. Bugs welcome!

Implemented types

Constructors

KeyEvent(String type, {Window? view, bool canBubble = true, bool cancelable = true, int keyCode = 0, int charCode = 0, int location = 1, bool ctrlKey = false, bool altKey = false, bool shiftKey = false, bool metaKey = false, EventTarget? currentTarget})

Programmatically create a new KeyEvent (and KeyboardEvent).

factory

KeyEvent.wrap(KeyboardEvent parent)

Construct a KeyEvent with parent as the event we're emulating.

Properties

altKeybool

Calculated value of whether the alt key is pressed is for this event.

no setteroverride

bubblesbool

no setterinherited

cancelablebool

no setterinherited

charCodeint

Calculated value of what the estimated charCode is for this event.

no setteroverride

codeString

no setteroverride

composedbool

no setterinherited

ctrlKeybool

True if the ctrl key is pressed during this event.

no setteroverride

currentTargetEventTarget?

The currently registered target for this event.

no setter

defaultPreventedbool

no setterinherited

detailint

no setteroverride

eventPhaseint

no setterinherited

hashCodeint

The hash code for this object.

no setterinherited

isComposedbool

no setter

isComposingbool

no setteroverride

isTrustedbool

no setterinherited

keyString

no setteroverride

keyCodeint

Calculated value of what the estimated keyCode is for this event.

no setteroverride

locationint

Accessor to the part of the keyboard that the key was pressed from (one of KeyLocation.STANDARD, KeyLocation.RIGHT, KeyLocation.LEFT, KeyLocation.NUMPAD, KeyLocation.MOBILE, KeyLocation.JOYSTICK).

no setteroverride

matchingTargetElement

A pointer to the element whose CSS selector matched within which an event was fired. If this Event was not associated with any Event delegation, accessing this value will throw an UnsupportedError.

no setterinherited

metaKeybool

True if the Meta (or Mac command) key is pressed during this event.

no setteroverride

pathList<Node>

This event's path, taking into account shadow DOM.

no setterinherited

repeatbool

no setteroverride

runtimeTypeType

A representation of the runtime type of the object.

no setterinherited

shiftKeybool

True if the shift key was pressed during this event.

no setteroverride

sourceCapabilitiesInputDeviceCapabilities?

no setteroverride

targetEventTarget?

no setterinherited

timeStampdouble

no setterinherited

typeString

no setterinherited

viewWindowBase?

no setteroverride

whichint

Calculated value of what the estimated keyCode is for this event.

no setteroverride

wrappedEvent

finalinherited

Methods

composedPath()→ List<EventTarget>

inherited

getModifierState(String keyArgument)→ bool

override

noSuchMethod(Invocation invocation)→ dynamic

Invoked when a nonexistent method or property is accessed.

inherited

preventDefault()→ void

inherited

stopImmediatePropagation()→ void

inherited

stopPropagation()→ void

inherited

toString()→ String

A string representation of this object.

inherited

Operators

operator ==(Object other)→ bool

The equality operator.

inherited

Static Properties

canUseDispatchEventbool

no setter

keyDownEventEventStreamProvider<KeyEvent>

Accessor to provide a stream of KeyEvents on the desired target.

getter/setter pair

keyPressEventEventStreamProvider<KeyEvent>

Accessor to provide a stream of KeyEvents on the desired target.

getter/setter pair

keyUpEventEventStreamProvider<KeyEvent>

Accessor to provide a stream of KeyEvents on the desired target.

getter/setter pair