---
name: "SDL_GetKeyboards"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_GetKeyboards"
---

# SDL\_GetKeyboards(3)

Get a list of currently connected keyboards.

## NAME

SDL\_GetKeyboards - Get a list of currently connected keyboards.

## HEADER FILE

Defined in SDL3/SDL\_keyboard.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**SDL\_KeyboardID \* SDL\_GetKeyboards(int \*count);**

## DESCRIPTION

Note that this will include any device or virtual driver that includes keyboard functionality, including some mice, KVM switches, motherboard power buttons, etc. You should wait for input from a device before you consider it actively in use.

## FUNCTION PARAMETERS

- *count*

  a pointer filled in with the number of keyboards returned, may be NULL.

## RETURN VALUE

( **SDL\_KeyboardID**\
  \*) Returns a 0 terminated array of keyboards instance IDs or NULL on failure; call

**SDL\_GetError** () for more information. This should be freed with  **SDL\_free** () when it is no longer needed.

## THREAD SAFETY

This function should only be called on the main thread.

## AVAILABILITY

This function is available since SDL 3.2.0.

## SEE ALSO

**•**(3), [**SDL\_GetKeyboardNameForID**(3)](/SDL_GetKeyboardNameForID/3.md), **•**(3), [**SDL\_HasKeyboard**(3)](/SDL_HasKeyboard/3.md)
