pencil.js
Version:
Nice modular interactive 2D drawing library.
158 lines (157 loc) • 4.19 kB
TypeScript
/**
* @module KeyboardEvent
*/
/**
* Keyboard event class
* @class
* @extends {module:BaseEvent}
*/
export default class KeyboardEvent {
/**
* @typedef {Object} KeyboardEvents
* @prop {String} down - Keyboard key pressed
* @prop {String} up - Keyboard key released
*/
/**
* Set of supported event name for easy access
* @example component.on(KeyboardEvent.events.up, () => console.log("User release a key"));
* @type {KeyboardEvents}
*/
static get events(): {
/**
* - Keyboard key pressed
*/
down: string;
/**
* - Keyboard key released
*/
up: string;
};
/**
* @typedef {Object} ArrowKeys
* @prop {String} up - Up arrow
* @prop {String} right - Right arrow
* @prop {String} down - Down arrow
* @prop {String} left - Left arrow
*/
/**
* @typedef {Object} KeyboardKeys
* @prop {String} backspace - Remove last character or return previous screen
* @prop {String} enter - Add line-break or validate entry
* @prop {String} delete - Remove character in front
* @prop {String} escape - Cancel or leave screen
* @prop {String} control - Modifying key (control)
* @prop {String} shift - Modifying key (uppercase)
* @prop {String} fn - Modifying key (function)
* @prop {ArrowKeys}
* @prop {String} tab - Next input or toggle focus
* @prop {String} alt - Modifying key (alternative)
* @prop {String} altGr - Modifying key (alternative grapheme)
* @prop {String} pageUp - Move up one page
* @prop {String} pageDown - Move down one page
* @prop {String} start - Go to start
* @prop {String} end - Go to end
* @prop {String} insert - Insert here or toggle insert mode
*/
/**
* Set of keys for easy access
* @example if (key === KeyboardEvent.keys.enter) {
* console.log("This is the enter key");
* }
* @type {KeyboardKeys}
*/
static get keys(): {
/**
* - Remove last character or return previous screen
*/
backspace: string;
/**
* - Add line-break or validate entry
*/
enter: string;
/**
* - Remove character in front
*/
delete: string;
/**
* - Cancel or leave screen
*/
escape: string;
/**
* - Modifying key (control)
*/
control: string;
/**
* - Modifying key (uppercase)
*/
shift: string;
/**
* - Modifying key (function)
*/
fn: string;
"": {
/**
* - Up arrow
*/
up: string;
/**
* - Right arrow
*/
right: string;
/**
* - Down arrow
*/
down: string;
/**
* - Left arrow
*/
left: string;
};
/**
* - Next input or toggle focus
*/
tab: string;
/**
* - Modifying key (alternative)
*/
alt: string;
/**
* - Modifying key (alternative grapheme)
*/
altGr: string;
/**
* - Move up one page
*/
pageUp: string;
/**
* - Move down one page
*/
pageDown: string;
/**
* - Go to start
*/
start: string;
/**
* - Go to end
*/
end: string;
/**
* - Insert here or toggle insert mode
*/
insert: string;
};
/**
* MouseEvent constructor
* @param {String} name - Name of the event
* @param {EventEmitter} target - Component concerned by the event
* @param {UIEvent} [event] - Original HTML event
* For the complete list of key values:
* https://developer.mozilla.org/en/docs/Web/API/KeyboardEvent/key/Key_Values
*/
constructor(name: string, target: EventEmitter, event?: UIEvent);
key: any;
/**
* @inheritDoc
*/
getModifier(): any;
}