FuncDoodle
Loading...
Searching...
No Matches
Keybinds.h File Reference

Keyboard input system including key masks, shortcuts, and keybind registry. More...

#include <vector>
#include <cstring>
#include <filesystem>
#include <imgui.h>
#include <map>
#include <optional>

Go to the source code of this file.

Classes

class  FuncDoodle::KeyMask
 Bitmask representing a set of ImGui keys. More...
class  FuncDoodle::Shortcut
 Keyboard shortcut definition (key + mods). More...
class  FuncDoodle::ShortcutWithUser
 Stores a default shortcut and an optional user-defined one. More...
class  FuncDoodle::KeybindsRegistry
 Stores and persists all keybinds used in FuncDoodle (default + user-defined). More...

Namespaces

namespace  FuncDoodle
 The FuncDoodle C++ namespace.

Variables

constexpr int FuncDoodle::KEY_MASK_SIZE = (ImGuiKey_NamedKey_END + 63) / 64
 Number of 64-bit slots required to store all named ImGui keys.

Detailed Description

Keyboard input system including key masks, shortcuts, and keybind registry.

This file defines the input abstraction layer used by FuncDoodle for handling keyboard shortcuts and user-configurable bindings.

It includes:

  • KeyMask: a bitmask representation of ImGui keys for efficient combination handling
  • Shortcut: a key + modifier combination representing an action trigger
  • ShortcutWithUser: a default shortcut with optional user override
  • KeybindsRegistry: system for registering, storing, and persisting keybinds

Keybinds are stored and loaded from disk (keybinds.toml) and support user overrides over default application bindings.

Note
This system is tightly integrated with ImGui input handling.