hyperenable allows ctrl+shift+alt+win (i.e. the Office key, or the hyper key), which is normally reserved by Windows, to be freely rebound. hyperenable does this by preemptively registering the hotkeys before explorer.exe can, and deregistering them afterwards. Run hyperenable.exe --help for cli options.
Start a Powershell instance with admin privileges.
To install
# to install
PS> Set-ExecutionPolicy Bypass -Scope Process -Force
PS> ./install.ps1 -action install -exe "./hyperenable.exe"To uninstall
# to uninstall
PS> Set-ExecutionPolicy Bypass -Scope Process -Force
PS> ./install.ps1 -action uninstallOptions
hyperenable comes with CLI options that control some aspects of its behavior.
Usage: hyperenable [--help] [--version] [--timeout INT] [--config PATH] [--request-exit]
Block default keybind registration attempts from Windows
Windows reserves certain hotkeys for its own use. These include the Office key (win+shift+ctrl+alt) among many others. To unbind these, hyperenable starts before explorer.exe and registers them before Windows can, like a domain squatter. After hyperenable exits, these keybinds can then rebound for your own use.
Optional arguments:
-h, --help shows help message and exits
-v, --version prints version information and exits
-t, --timeout INT seconds to wait to for explorer.exe to load. negative waits forever [default: 30]
-c, --config PATH read given config file that controls which keybinds are affected. this allows you to control which of Windows default keybinds are allowed and which ones hyperenable unbinds for you.
--request-exit unblock keybind registration attempts. a signal will be sent to a running instance of hyperenable to stop blocking keybinds. you normally do not need to call this yourself
Keybind registration attempts will be blocked until hyperenable is killed, timeout elapses, or stop signal is received, whichever happens first.
To use any of these CLI options, you need to edit the registry key at HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit. After installing hyperenable, you should see a hyperenable.exe entry appear in this value. Just add whatever CLI options you want, being careful to get the formatting right. Pay close attention to the delimiters: the delimters are commas, not semicolons. Also, there's a final trailing comma at the end. Be sure to get this right, or Windows won't start properly.
For an example config file, see example_config.yaml and read keys.hpp.
To rebind the freed hotkeys for yourself, you need to make sure hyperenable.exe has fully exited before rebinding.
- Install Visual Studio 2022. Make sure to include MSVC C++ x64/x86 build tools
- Install GNU Make
- Start Visual Studio 2022 developer prompt
cd ~/project_dirmake
Concept based on OfficeKeyFix.