@xeokit/xeokit-sdk
Version:
3D BIM IFC Viewer SDK for AEC engineering applications. Open Source JavaScript Toolkit based on pure WebGL for top performance, real-world coordinates and full double precision
165 lines (154 loc) • 3.77 kB
TypeScript
import { Component } from "../Component";
/**
* @desc Meditates mouse, touch and keyboard events for various interaction controls.
*
* Ordinarily, you would only use this component as a utility to help manage input events and state for your
* own custom input handlers.
*
* * Located at {@link Scene#input}
*/
export declare class Input extends Component {
KEY_BACKSPACE: number;
KEY_TAB: number;
KEY_ENTER: number;
KEY_SHIFT: number;
KEY_CTRL: number;
KEY_ALT: number;
KEY_PAUSE_BREAK: number;
KEY_CAPS_LOCK: number;
KEY_ESCAPE: number;
KEY_PAGE_UP: number;
KEY_PAGE_DOWN: number;
KEY_END: number;
KEY_HOME: number;
KEY_LEFT_ARROW: number;
KEY_UP_ARROW: number;
KEY_RIGHT_ARROW: number;
KEY_DOWN_ARROW: number;
KEY_INSERT: number;
KEY_DELETE: number;
KEY_NUM_0: number;
KEY_NUM_1: number;
KEY_NUM_2: number;
KEY_NUM_3: number;
KEY_NUM_4: number;
KEY_NUM_5: number;
KEY_NUM_6: number;
KEY_NUM_7: number;
KEY_NUM_8: number;
KEY_NUM_9: number;
KEY_A: number;
KEY_B: number;
KEY_C: number;
KEY_D: number;
KEY_E: number;
KEY_F: number;
KEY_G: number;
KEY_H: number;
KEY_I: number;
KEY_J: number;
KEY_K: number;
KEY_L: number;
KEY_M: number;
KEY_N: number;
KEY_O: number;
KEY_P: number;
KEY_Q: number;
KEY_R: number;
KEY_S: number;
KEY_T: number;
KEY_U: number;
KEY_V: number;
KEY_W: number;
KEY_X: number;
KEY_Y: number;
KEY_Z: number;
KEY_LEFT_WINDOW: number;
KEY_RIGHT_WINDOW: number;
KEY_SELECT_KEY: number;
KEY_NUMPAD_0: number;
KEY_NUMPAD_1: number;
KEY_NUMPAD_2: number;
KEY_NUMPAD_3: number;
KEY_NUMPAD_4: number;
KEY_NUMPAD_5: number;
KEY_NUMPAD_6: number;
KEY_NUMPAD_7: number;
KEY_NUMPAD_8: number;
KEY_NUMPAD_9: number;
KEY_MULTIPLY: number;
KEY_ADD: number;
KEY_SUBTRACT: number;
KEY_DECIMAL_POINT: number;
KEY_DIVIDE: number;
KEY_F1: number;
KEY_F2: number;
KEY_F3: number;
KEY_F4: number;
KEY_F5: number;
KEY_F6: number;
KEY_F7: number;
KEY_F8: number;
KEY_F9: number;
KEY_F10: number;
KEY_F11: number;
KEY_F12: number;
KEY_NUM_LOCK: number;
KEY_SCROLL_LOCK: number;
KEY_SEMI_COLON: number;
KEY_EQUAL_SIGN: number;
KEY_COMMA: number;
KEY_DASH: number;
KEY_PERIOD: number;
KEY_FORWARD_SLASH: number;
KEY_GRAVE_ACCENT: number;
KEY_OPEN_BRACKET: number;
KEY_BACK_SLASH: number;
KEY_CLOSE_BRACKET: number;
KEY_SINGLE_QUOTE: number;
KEY_SPACE: number;
MOUSE_LEFT_BUTTON: number;
MOUSE_MIDDLE_BUTTON: number;
MOUSE_RIGHT_BUTTON: number;
element: HTMLCanvasElement;
altDown: boolean;
ctrlDown: boolean;
mouseDownLeft: boolean;
mouseDownMiddle: boolean;
mouseDownRight: boolean;
keyDown: boolean[];
enabled: boolean;
keyboardEnabled: boolean;
mouseover: boolean;
mouseCanvasPos: number[];
/**
* Sets whether input handlers are enabled.
*/
setEnabled(enable: boolean): void;
/**
* Gets whether input handlers are enabled.
*/
getEnabled(): boolean
/**
* Sets whether or not keyboard input is enabled.
*/
setKeyboardEnabled(enable: boolean): void;
/**
* Gets whether keyboard input is enabled.
*/
getKeyboardEnabled(): boolean;
/**
* Fires on mouse events
* @param event The loaded event
* @param callback Called fired on the event
* @param scope Scope for the callback
*/
on(event: "mousedown" | "mouseup" | "mouseclicked" | "dblclick", callback: (canvasCoords: number[]) => void, scope?: any): string;
/**
* Fires on keyboard events
* @param event The loaded event
* @param callback Called fired on the event
* @param scope Scope for the callback
*/
on(event: "keydown" | "keyup", callback: (keyCode: number) => void, scope?: any): string;
}