Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Keyboard<EmptyEvents>

Type parameters

  • EmptyEvents: EventName

Hierarchy

  • Typed<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>
    • Keyboard

Index

Constructors

constructor

Properties

Private _delay

_delay: number = 10

Private _keyboardListeners

_keyboardListeners: Map<any, any> = new Map()

shortcut

shortcut: Emittery = new Emittery()

Static listenerAdded

listenerAdded: keyof symbol

Fires when an event listener was added.

An object with listener and eventName (if on or off was used) is provided as event data.

example
import Emittery = require('emittery');

const emitter = new Emittery();

emitter.on(Emittery.listenerAdded, ({listener, eventName}) => {
console.log(listener);
//=> data => {}

console.log(eventName);
//=> '🦄'
});

emitter.on('🦄', data => {
// Handle data
});

Static listenerRemoved

listenerRemoved: keyof symbol

Fires when an event listener was removed.

An object with listener and eventName (if on or off was used) is provided as event data.

example
import Emittery = require('emittery');

const emitter = new Emittery();

const off = emitter.on('🦄', data => {
// Handle data
});

emitter.on(Emittery.listenerRemoved, ({listener, eventName}) => {
console.log(listener);
//=> data => {}

console.log(eventName);
//=> '🦄'
});

off();

Accessors

delay

  • get delay(): number
  • set delay(value: number): void

Methods

anyEvent

  • anyEvent(): AsyncIterableIterator<[EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>, { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>]]>
  • Returns AsyncIterableIterator<[EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>, { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>]]>

bindMethods

  • bindMethods(target: object, methodNames?: keyof string[]): void
  • Bind the given methodNames, or all Emittery methods if methodNames is not defined, into the target object.

    example
    import Emittery = require('emittery');
    
    const object = {};
    
    new Emittery().bindMethods(object);
    
    object.emit('event');

    Parameters

    • target: object
    • Optional methodNames: keyof string[]

    Returns void

clearListeners

  • clearListeners(eventName?: EventName): void
  • Clear all event listeners on the instance.

    If eventName is given, only the listeners for that event are cleared.

    Parameters

    • Optional eventName: EventName

    Returns void

down

emit

  • emit<Name>(eventName: Name, eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]): Promise<void>
  • emit<Name>(eventName: Name): Promise<void>
  • Type parameters

    • Name: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>

    Parameters

    • eventName: Name
    • eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]

    Returns Promise<void>

  • Type parameters

    • Name: EmptyEvents

    Parameters

    • eventName: Name

    Returns Promise<void>

emitSerial

  • emitSerial<Name>(eventName: Name, eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]): Promise<void>
  • emitSerial<Name>(eventName: Name): Promise<void>
  • Type parameters

    • Name: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>

    Parameters

    • eventName: Name
    • eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]

    Returns Promise<void>

  • Type parameters

    • Name: EmptyEvents

    Parameters

    • eventName: Name

    Returns Promise<void>

events

  • events<Name>(eventName: Name): AsyncIterableIterator<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]>
  • Type parameters

    • Name: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>

    Parameters

    • eventName: Name

    Returns AsyncIterableIterator<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]>

listenerCount

  • listenerCount(eventName?: EventName): number
  • The number of listeners for the eventName or all events if not specified.

    Parameters

    • Optional eventName: EventName

    Returns number

off

  • off<Name>(eventName: Name, listener: (eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]) => void): void
  • off<Name>(eventName: Name, listener: () => void): void
  • Type parameters

    • Name: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>

    Parameters

    • eventName: Name
    • listener: (eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]) => void
        • (eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]): void
        • Parameters

          • eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]

          Returns void

    Returns void

  • Type parameters

    • Name: EmptyEvents

    Parameters

    • eventName: Name
    • listener: () => void
        • (): void
        • Returns void

    Returns void

offAny

  • offAny(listener: (eventName: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }> | EmptyEvents, eventData?: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>]) => void): void
  • Parameters

    • listener: (eventName: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }> | EmptyEvents, eventData?: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>]) => void
        • (eventName: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }> | EmptyEvents, eventData?: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>]): void
        • Parameters

          • eventName: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }> | EmptyEvents
          • Optional eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>]

          Returns void

    Returns void

on

  • on<Name>(eventName: Name, listener: (eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]) => void): Emittery.UnsubscribeFn
  • on<Name>(eventName: Name, listener: () => void): Emittery.UnsubscribeFn
  • Type parameters

    • Name: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>

    Parameters

    • eventName: Name
    • listener: (eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]) => void
        • (eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]): void
        • Parameters

          • eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]

          Returns void

    Returns Emittery.UnsubscribeFn

  • Type parameters

    • Name: EmptyEvents

    Parameters

    • eventName: Name
    • listener: () => void
        • (): void
        • Returns void

    Returns Emittery.UnsubscribeFn

onAny

  • onAny(listener: (eventName: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }> | EmptyEvents, eventData?: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>]) => void): Emittery.UnsubscribeFn
  • Parameters

    • listener: (eventName: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }> | EmptyEvents, eventData?: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>]) => void
        • (eventName: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }> | EmptyEvents, eventData?: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>]): void
        • Parameters

          • eventName: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }> | EmptyEvents
          • Optional eventData: { down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>]

          Returns void

    Returns Emittery.UnsubscribeFn

once

  • once<Name>(eventName: Name): Promise<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]>
  • once<Name>(eventName: Name): Promise<void>
  • Type parameters

    • Name: EventNameFromDataMap<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }>

    Parameters

    • eventName: Name

    Returns Promise<{ down: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; press: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean }; up: { alt: boolean; code: number; ctrl: boolean; key: string; meta: boolean; shift: boolean } }[Name]>

  • Type parameters

    • Name: EmptyEvents

    Parameters

    • eventName: Name

    Returns Promise<void>

press

type

  • type(string: string, __namedParameters?: { interval: number }): void
  • Parameters

    • string: string
    • Default value __namedParameters: { interval: number } = {interval: 0,}
      • interval: number

    Returns void

up

Static mixin

  • mixin(emitteryPropertyName: string, methodNames?: keyof string[]): Function
  • In TypeScript, it returns a decorator which mixins Emittery as property emitteryPropertyName and methodNames, or all Emittery methods if methodNames is not defined, into the target class.

    example
    import Emittery = require('emittery');
    
    @Emittery.mixin('emittery')
    class MyClass {}
    
    const instance = new MyClass();
    
    instance.emit('event');

    Parameters

    • emitteryPropertyName: string
    • Optional methodNames: keyof string[]

    Returns Function

Generated using TypeDoc