oblitum / Interception

The Interception API aims to build a portable programming interface that allows one to intercept and control a range of input devices.
http://oblita.com/interception
1.33k stars 271 forks source link

Understanding install-interception.exe, the interception library, and the interception header #40

Closed YenForYang closed 7 years ago

YenForYang commented 7 years ago

If it isn't too much of a hassle, I was wondering if I could glean some "intuition" on the 3 players above (in the title of the issue). I'm admittedly new to this whole driver building thing, and since microsoft hasn't exactly stuck with WDK 7.1 (I'm on Windows 10, btw), it hasn't been exactly any easier for me to get a hold of what's going on (though I have managed to build the necessary pieces using WDK 7--haven't figured out how to use WDK 10). All in all though, I just want to learn a thing or two.

So, to be more clear and ask more specific questions, I would like to know first what install-interception does--I don't need the source code of it or anything, I just want to know why it needs to be installed first, and whether or not it needs to be installed for every PC that runs, say, the caps2esc.exe I just built.

In addition, since I don't get what the installer does, I would not know--as a matter of course--why the Interception API library (interception.dll) still needs to be kept around at the end of everything. (So It may or may not be necessary to clarify what interception.dll does after explaining the installer above.) Nonetheless, I still do want to ask if there is any (easy) way to embed the necessary dependencies (like interception.dll) in the exe (e.g. caps2esc) so that the files are kept together.

I don't think you really need to explain what the header (or library, I guess) does, I've just tagged it along in case things get more "involved". Knowledge of what a library/header does is really not particular/unique to this project, so there is really no reason for you to explain it unless it becomes relevant to understanding Interception from a broader perspective.

I think most of the issues stem from the fact that there isn't much documentation (at all, other than your website) on this seemingly very powerful driver. If only there was sufficient documentation...


EDIT: I'm appending a tl;dr question bulleted format + miscellaneous questions

(I really do wish there were a "README" for this kind of stuff):

oblitum commented 7 years ago