# React Hotkeys Hook Documentation > Complete documentation for react-hotkeys-hook - A React hook for handling keyboard shortcuts in a declarative way. This file contains links to documentation sections following the llmstxt.org standard. ## Table of Contents - [Quick Start](https://johannesklauss.github.io/docs/intro): Get up and running with keyboard shortcuts in under a minute. - [Installation](https://johannesklauss.github.io/docs/documentation/installation): Install the package using your preferred package manager: - [Basic Usage](https://johannesklauss.github.io/docs/documentation/useHotkeys/basic-usage): The `useHotkeys` hook lets you listen to keyboard shortcuts declaratively and run a callback when the user presses the specified key combination. - [Disable/Enable Hotkeys](https://johannesklauss.github.io/docs/documentation/useHotkeys/disable-hotkeys): So far we have covered registering hotkeys, scoping them to components, and preventing stale state. But hotkeys are active by default. Sometimes yo... - [Keyboard Layouts](https://johannesklauss.github.io/docs/documentation/useHotkeys/ignore-layouts): Keyboard shortcuts behave differently depending on the user's keyboard layout. By default, `react-hotkeys-hook` listens to the physical key code — ... - [Scoping Hotkeys](https://johannesklauss.github.io/docs/documentation/useHotkeys/scoping-hotkeys): In the previous section we used two keystrokes in two different examples (`ctrl+shift+a+c` and `shift+c`). - [Callback Dependencies](https://johannesklauss.github.io/docs/documentation/useHotkeys/setting-callback-dependencies): The callback you pass to `useHotkeys` is memoized automatically inside the hook to prevent unnecessary re-renders. - [Advanced Usage](https://johannesklauss.github.io/docs/documentation/advanced-usage): It can be hard to remember whether the left arrow key is called `ArrowLeft` or `LeftArrow`. The `ts-key-enum` library provides TypeScript enums for... - [Grouping Hotkeys together](https://johannesklauss.github.io/docs/documentation/hotkeys-provider): `HotkeysProvider` lets you group hotkeys into named scopes. This is useful when you want to disable or enable a whole group of hotkeys at once — fo... - [isHotkeyPressed](https://johannesklauss.github.io/docs/documentation/is-hotkey-pressed): `isHotkeyPressed` lets you check whether a specific key or key combination is currently being held down. This is useful when you need to know modif... - [Using TypeScript](https://johannesklauss.github.io/docs/documentation/typescript): :::tip Works out of the box! - [useRecordHotkeys](https://johannesklauss.github.io/docs/documentation/use-record-hotkeys): `useRecordHotkeys` lets you capture whatever keys the user presses. This is useful for building custom keyboard shortcut settings — for example, le... - [isHotkeyPressed](https://johannesklauss.github.io/docs/api/is-hotkey-pressed): Function signature: - [useHotkeys](https://johannesklauss.github.io/docs/api/use-hotkeys): Function signature: - [useRecordHotkeys](https://johannesklauss.github.io/docs/api/use-record-hotkeys): Function signature: - [Migrate from 4.x to 5.x](https://johannesklauss.github.io/docs/migrate-to-5): Version 5 introduces a few breaking changes. This guide walks you through updating your code.