---
title: "KeyboardHandler | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs.maptiler.com/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# Class KeyboardHandler`Maptiler`

The `KeyboardHandler` allows the user to zoom, rotate, and pan the map using the following keyboard shortcuts:

-   `=` / `+`: Increase the zoom level by 1.
-   `Shift-=` / `Shift-+`: Increase the zoom level by 2.
-   `-`: Decrease the zoom level by 1.
-   `Shift--`: Decrease the zoom level by 2.
-   Arrow keys: Pan by 100 pixels.
-   `Shift+⇢`: Increase the rotation by 15 degrees.
-   `Shift+⇠`: Decrease the rotation by 15 degrees.
-   `Shift+⇡`: Increase the pitch by 10 degrees.
-   `Shift+⇣`: Decrease the pitch by 10 degrees.

#### Hierarchy ([View Summary](https://docs.maptiler.com/sdk-js/api-reference/hierarchy/#KeyboardHandler))

-   [KeyboardHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/)
    -   KeyboardHandler

##### Index

### Constructors[](#constructors)

[constructor](#constructor)

### Methods[](#methods)

[disable](#disable) [disableRotation](#disablerotation) [enable](#enable) [enableRotation](#enablerotation) [isActive](#isactive) [isEnabled](#isenabled) [keydown](#keydown) [reset](#reset)

## Constructors[](#constructors-1)

### `Maptiler`constructor[](#constructor)

-   new KeyboardHandler(map: [MapLibreMap](https://docs.maptiler.com/sdk-js/api-reference/classes/MapLibreMap/) | [Map](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/)): KeyboardHandler[](#constructorkeyboardhandler)
    
    #### Parameters
    
    -   map: [MapLibreMap](https://docs.maptiler.com/sdk-js/api-reference/classes/MapLibreMap/) | [Map](https://docs.maptiler.com/sdk-js/api-reference/classes/Map/)
    
    #### Returns KeyboardHandler
    
    Overrides [KeyboardHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/).[constructor](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/#constructor)
    

## Methods[](#methods-1)

### disable[](#disable)

-   disable(): void[](#disable-1)
    
    Disables the "keyboard rotate and zoom" interaction.
    
    #### Returns void
    
    #### Example[](#example)
    
    ```typescript
    map.keyboard.disable();
    ```
    
    Inherited from [KeyboardHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/).[disable](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/#disable)
    

### disableRotation[](#disablerotation)

-   disableRotation(): void[](#disablerotation-1)
    
    Disables the "keyboard pan/rotate" interaction, leaving the "keyboard zoom" interaction enabled.
    
    #### Returns void
    
    #### Example[](#example-1)
    
    ```typescript
    map.keyboard.disableRotation();
    ```
    
    Inherited from [KeyboardHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/).[disableRotation](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/#disablerotation)
    

### enable[](#enable)

-   enable(): void[](#enable-1)
    
    Enables the "keyboard rotate and zoom" interaction.
    
    #### Returns void
    
    #### Example[](#example-2)
    
    ```typescript
    map.keyboard.enable();
    ```
    
    Inherited from [KeyboardHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/).[enable](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/#enable)
    

### enableRotation[](#enablerotation)

-   enableRotation(): void[](#enablerotation-1)
    
    Enables the "keyboard pan/rotate" interaction.
    
    #### Returns void
    
    #### Example[](#example-3)
    
    ```typescript
    map.keyboard.enable();
    map.keyboard.enableRotation();
    ```
    
    Inherited from [KeyboardHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/).[enableRotation](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/#enablerotation)
    

### isActive[](#isactive)

-   isActive(): boolean[](#isactive-1)
    
    Returns true if the handler is enabled and has detected the start of a zoom/rotate gesture.
    
    #### Returns boolean
    
    `true` if the handler is enabled and has detected the start of a zoom/rotate gesture.
    
    Inherited from [KeyboardHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/).[isActive](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/#isactive)
    

### isEnabled[](#isenabled)

-   isEnabled(): boolean[](#isenabled-1)
    
    Returns a Boolean indicating whether the "keyboard rotate and zoom" interaction is enabled.
    
    #### Returns boolean
    
    `true` if the "keyboard rotate and zoom" interaction is enabled.
    
    Inherited from [KeyboardHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/).[isEnabled](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/#isenabled)
    

### keydown[](#keydown)

-   keydown(e: [KeyboardEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.KeyboardEvent/)): { cameraAnimation: (map: [MapLibreMap](https://docs.maptiler.com/sdk-js/api-reference/classes/MapLibreMap/)) \=> void }[](#keydown-1)
    
    #### Parameters
    
    -   e: [KeyboardEvent](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.KeyboardEvent/)
    
    #### Returns { cameraAnimation: (map: [MapLibreMap](https://docs.maptiler.com/sdk-js/api-reference/classes/MapLibreMap/)) \=> void }
    
    Inherited from [KeyboardHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/).[keydown](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/#keydown)
    

### reset[](#reset)

-   reset(): void[](#reset-1)
    
    `reset` can be called by the manager at any time and must reset everything to it's original state
    
    #### Returns void
    
    Inherited from [KeyboardHandler](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/).[reset](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.KeyboardHandler/#reset)
