VollRahm / NotEnoughHotkeys

This is an Application to block input from a secondary keyboard and instead run custom defined Macros

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

  1. Set the Target Platform to x64.
  2. Build the NotEnoughHotkeys Project
  3. Build the NEHSubprocess twice, one time with Constants.NEHHOOKDLL set to NEHKbdhook.dll and one time with it set to NEHKbdhookAdmin.dll. Rename the Administrator one to NEHSubprocessAdmin.exe
  4. Place both Subprocess Executables into a bin folder which is in the same path as the NotEnoughHotkeys.exe.
  5. Build the NEH_KbdHook Project and place the Dll files twice into the bin folder, one as NEHKbdhook.dll and the other as NEHKbdhookAdmin.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

About

This is an Application to block input from a secondary keyboard and instead run custom defined Macros

License:MIT License


Languages

Language:C# 98.0%Language:C++ 1.3%Language:C 0.7%