import type { ICameraInput } from "../../Cameras/cameraInputsManager"; import type { FollowCamera } from "../../Cameras/followCamera"; /** * Manage the keyboard inputs to control the movement of a follow camera. * @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/customizingCameraInputs */ export declare class FollowCameraKeyboardMoveInput implements ICameraInput { /** * Defines the camera the input is attached to. */ camera: FollowCamera; /** * Defines the list of key codes associated with the up action (increase heightOffset) */ keysHeightOffsetIncr: number[]; /** * Defines the list of key codes associated with the down action (decrease heightOffset) */ keysHeightOffsetDecr: number[]; /** * Defines whether the Alt modifier key is required to move up/down (alter heightOffset) */ keysHeightOffsetModifierAlt: boolean; /** * Defines whether the Ctrl modifier key is required to move up/down (alter heightOffset) */ keysHeightOffsetModifierCtrl: boolean; /** * Defines whether the Shift modifier key is required to move up/down (alter heightOffset) */ keysHeightOffsetModifierShift: boolean; /** * Defines the list of key codes associated with the left action (increase rotationOffset) */ keysRotationOffsetIncr: number[]; /** * Defines the list of key codes associated with the right action (decrease rotationOffset) */ keysRotationOffsetDecr: number[]; /** * Defines whether the Alt modifier key is required to move left/right (alter rotationOffset) */ keysRotationOffsetModifierAlt: boolean; /** * Defines whether the Ctrl modifier key is required to move left/right (alter rotationOffset) */ keysRotationOffsetModifierCtrl: boolean; /** * Defines whether the Shift modifier key is required to move left/right (alter rotationOffset) */ keysRotationOffsetModifierShift: boolean; /** * Defines the list of key codes associated with the zoom-in action (decrease radius) */ keysRadiusIncr: number[]; /** * Defines the list of key codes associated with the zoom-out action (increase radius) */ keysRadiusDecr: number[]; /** * Defines whether the Alt modifier key is required to zoom in/out (alter radius value) */ keysRadiusModifierAlt: boolean; /** * Defines whether the Ctrl modifier key is required to zoom in/out (alter radius value) */ keysRadiusModifierCtrl: boolean; /** * Defines whether the Shift modifier key is required to zoom in/out (alter radius value) */ keysRadiusModifierShift: boolean; /** * Defines the rate of change of heightOffset. */ heightSensibility: number; /** * Defines the rate of change of rotationOffset. */ rotationSensibility: number; /** * Defines the rate of change of radius. */ radiusSensibility: number; private _keys; private _ctrlPressed; private _altPressed; private _shiftPressed; private _onCanvasBlurObserver; private _onKeyboardObserver; private _engine; private _scene; /** * Attach the input controls to a specific dom element to get the input from. * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault) */ attachControl(noPreventDefault?: boolean): void; /** * Detach the current controls from the specified dom element. */ detachControl(): void; /** * Update the current camera state depending on the inputs that have been used this frame. * This is a dynamically created lambda to avoid the performance penalty of looping for inputs in the render loop. */ checkInputs(): void; /** * Gets the class name of the current input. * @returns the class name */ getClassName(): string; /** * Get the friendly name associated with the input class. * @returns the input friendly name */ getSimpleName(): string; /** * Check if the pressed modifier keys (Alt/Ctrl/Shift) match those configured to * allow modification of the heightOffset value. * @returns true if modifier keys match */ private _modifierHeightOffset; /** * Check if the pressed modifier keys (Alt/Ctrl/Shift) match those configured to * allow modification of the rotationOffset value. * @returns true if modifier keys match */ private _modifierRotationOffset; /** * Check if the pressed modifier keys (Alt/Ctrl/Shift) match those configured to * allow modification of the radius value. * @returns true if modifier keys match */ private _modifierRadius; }