Purely educational project. Multiple implementations and input types where tested simultaneously, don't expect a clean solution or any documentation.
- http://oblita.com/interception
- http://www.pinvoke.net/default.aspx/user32.systemparametersinfo
- http://www.pinvoke.net/default.aspx/user32/getwindowrect.html
- https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-systemparametersinfoa
- https://docs.microsoft.com/en-us/windows/desktop/api/winuser/ns-winuser-tagmsllhookstruct#LLMHF_INJECTED
- https://github.com/factormystic/FMUtils.KeyboardHook
- https://github.com/gmamaladze/globalmousekeyhook
- https://github.com/jasonpang/Interceptor
- https://github.com/justcoding121/Windows-User-Action-Hook
- https://github.com/kirmir/GlobalHotKey
- https://github.com/oblitum/Interception
- https://github.com/rickyah/ini-parser
- https://stackoverflow.com/questions/10134310/how-to-cancel-a-task-in-await
- https://stackoverflow.com/questions/12796148/system-threading-timer-in-c-sharp-it-seems-to-be-not-working-it-runs-very-fast
- https://stackoverflow.com/questions/29942437/removing-the-delay-after-keydown-event
- https://stackoverflow.com/questions/7222384/what-could-cause-mouse-clicks-sent-by-postmessage-to-be-ignored
- https://stackoverflow.com/questions/7402146/cpu-friendly-infinite-loop
- https://stackoverflow.com/questions/803242/understanding-events-and-event-handlers-in-c-sharp
- https://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard