# Juliet\include\Core\HAL\Keyboard\Keyboard

## Source Files
- Header: `Juliet\include\Core\HAL\Keyboard\Keyboard.h`

## AI Description
The `Keyboard.h` header file in the Juliet project is designed to provide a robust interface for handling keyboard input. It includes the necessary headers and defines structures to represent keys on the keyboard, such as their scan codes, key codes, and raw values.

The main purpose of this component is to facilitate easy access to keyboard state information within the Juliet framework. The `IsKeyDown` function allows developers to check if a specific key is currently pressed, while `GetKeyModState` provides the current state of modifier keys like Shift, Ctrl, and Alt. The `GetKeyCodeFromScanCode` function maps a scan code to its corresponding key code, which can be useful for applications that require precise control over keyboard input.

This component is crucial for any application that needs to interact with the user's keyboard, such as text entry, gaming, or automation tasks. By providing a clear and efficient interface, it enables developers to focus on the core functionality of their application without worrying about low-level keyboard interactions.

## Symbols

### Namespace `Juliet`

#### Classes, Structs & Unions
- `struct Key`

#### Enums
- `enum class KeyState`

#### Functions & Methods
- `extern JULIET_API bool IsKeyDown(ScanCode scanCode)`
- `extern JULIET_API KeyMod GetKeyModState()`
- `extern JULIET_API KeyCode GetKeyCodeFromScanCode(ScanCode scanCode, KeyMod keyModState)`

