#include "SDL_internal.h"
#ifndef SDL_keyboard_c_h_
#define SDL_keyboard_c_h_
#include "SDL_keymap_c.h"
#define SDL_GLOBAL_KEYBOARD_ID 0
#define SDL_DEFAULT_KEYBOARD_ID 1
extern bool SDL_InitKeyboard(void);
extern bool SDL_IsKeyboard(Uint16 vendor, Uint16 product, int num_keys);
extern void SDL_AddKeyboard(SDL_KeyboardID keyboardID, const char *name);
extern void SDL_RemoveKeyboard(SDL_KeyboardID keyboardID);
extern void SDL_SetKeymap(SDL_Keymap *keymap, bool send_event);
extern bool SDL_SetKeyboardFocus(SDL_Window *window);
extern void SDL_SendKeyboardUnicodeKey(Uint64 timestamp, Uint32 ch);
extern bool SDL_SendKeyboardKey(Uint64 timestamp, SDL_KeyboardID keyboardID, int rawcode, SDL_Scancode scancode, bool down);
extern bool SDL_SendKeyboardKeyIgnoreModifiers(Uint64 timestamp, SDL_KeyboardID keyboardID, int rawcode, SDL_Scancode scancode, bool down);
extern bool SDL_SendKeyboardKeyAutoRelease(Uint64 timestamp, SDL_Scancode scancode);
extern bool SDL_SendKeyboardKeyAndKeycode(Uint64 timestamp, SDL_KeyboardID keyboardID, int rawcode, SDL_Scancode scancode, SDL_Keycode keycode, bool down);
extern void SDL_ReleaseAutoReleaseKeys(void);
extern bool SDL_HardwareKeyboardKeyPressed(void);
extern void SDL_SendKeyboardText(const char *text);
extern void SDL_SendEditingText(const char *text, int start, int length);
extern void SDL_SendEditingTextCandidates(char **candidates, int num_candidates, int selected_candidate, bool horizontal);
extern void SDL_QuitKeyboard(void);
extern void SDL_ToggleModState(SDL_Keymod modstate, bool toggle);
#endif