# DHS.DLL (Decal Hotkey System) ## Origin Factored out of the old **DecalInput.DLL** — the hotkey registration, detection, and dispatch logic was extracted into its own COM server. ## Binary Facts - Size: **139 KB** - Type: COM in-process server (DLL) - Standard 4 COM exports: `DllCanUnloadNow`, `DllGetClassObject`, `DllRegisterServer`, `DllUnregisterServer` ## What It Does Manages hotkey bindings for Decal plugins — registering key combinations, detecting when they are pressed, and firing events to the appropriate plugin. This was previously part of DecalInput's responsibilities. ## Reconstruction Notes - **COMPARE WITH:** The old source files: - `Native/DecalInput/Hotkey.cpp` - `Native/DecalInput/Hotkey.h` The DHS module almost certainly started as a copy of that hotkey code, then was expanded and wrapped in its own COM server. - **LOOK AT:** `Managed/Decal.Interop.DHS/` for the COM interface definitions this DLL must implement. That directory contains **13 decompiled C# files**. - **Strategy:** Start by extracting the hotkey-related classes from the old `DecalInput` source, then wrap them in the COM interfaces defined by the interop assembly. The delta between old `Hotkey.cpp` and the new interop interfaces will show what was added/changed.