NotEnoughHotkeys
This is an Application to block input from a secondary keyboard and instead run custom defined Macros. Currently its ready for daily use. Its an alternative to LuaMacros. Newest Release
Features
- ✔ Distinguishing between keyboards
- ✔ Blocking input from certain keyboard
- ✔ GUI for creating custom macros to run apps or send other keystrokes
- ✔ Admin process support
- ✔ Enabling and disabling the hook
- ✔ Saving macros
- ➕ Creating macros for more than one extra keyboard
- ➕ Support for modifier keys (Ctrl, Shift, Alt)
- ➕ Support for double taps
- ➕ Maybe your ideas! Submit them as issues with the idea tag!
- ❌ Blocking Windows Key, Alt+Tab and State Keys (Caps Lock, Num Lock) because those are sent before RawInput gets anything
✔ = Implemented, ➕ = Scheduled implementation, ❌ = Most Likely not implementable
Building
Here are the steps to build the project:
- Set the Target Platform to x64.
- Build the
NotEnoughHotkeys
Project - Build the
NEHSubprocess
twice, one time withConstants.NEHHOOKDLL
set toNEHKbdhook.dll
and one time with it set toNEHKbdhookAdmin.dll
. Rename the Administrator one toNEHSubprocessAdmin.exe
- Place both Subprocess Executables into a
bin
folder which is in the same path as theNotEnoughHotkeys.exe
. - Build the
NEH_KbdHook
Project and place the Dll files twice into thebin
folder, one asNEHKbdhook.dll
and the other asNEHKbdhookAdmin.dll
You can check the newest release to see the folder structure.
Known Issues
- Keystrokes are not blocked in Windows Search or in the Windows Explorer search textbox only.
- Applications that use Global-Keyboard-Hooks for their Hotkeys still get input. The workaround is to assign Keys like F24 to your hotkey and then send F24 over NotEnoughHotkeys
- Windows Key, Alt+Tab and State Keys (Caps Lock, Num Lock) cannot be blocked.
- Games hook the keyboard on a lower level, so the keys won't be blocked in games.
Some notes
Icon made by Freepik from www.flaticon.com
Icon composition made by networkException, thanx for that
Good article on the topic: https://www.codeproject.com/Articles/716591/Combining-Raw-Input-and-keyboard-Hook-to-selective
More references:
https://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard