---
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

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/#Externals.KeyboardHandler))

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

#### Implements

-   [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/)

##### 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)

### constructor[](#constructor)

-   new KeyboardHandler(map: [MapLibreMap](https://docs.maptiler.com/sdk-js/api-reference/classes/MapLibreMap/)): KeyboardHandler[](#constructorkeyboardhandler)
    
    #### Parameters
    
    -   map: [MapLibreMap](https://docs.maptiler.com/sdk-js/api-reference/classes/MapLibreMap/)
    
    #### Returns KeyboardHandler
    
    #### Internal[](#internal)
    

## Methods[](#methods-1)

### disable[](#disable)

-   disable(): void[](#disable-1)
    
    Disables the "keyboard rotate and zoom" interaction.
    
    #### Returns void
    
    #### Example[](#example)
    
    ```typescript
    map.keyboard.disable();
    ```
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[disable](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#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();
    ```
    

### enable[](#enable)

-   enable(): void[](#enable-1)
    
    Enables the "keyboard rotate and zoom" interaction.
    
    #### Returns void
    
    #### Example[](#example-2)
    
    ```typescript
    map.keyboard.enable();
    ```
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[enable](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#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();
    ```
    

### 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.
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[isActive](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#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.
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[isEnabled](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#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 }
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[keydown](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#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
    
    Implementation of [Handler](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/).[reset](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Handler/#reset)
