Thanks a lot for the link

I've checked it out and it seems like it's going to be very useful, the other one you found as well. However it does seem to be a Windows thing and although the project will be going to Windows in the next stage, so that will be very helpful, currently being developed on Linux. Do you are anyone else have an idea of where I should be looking to either do this at a lower level (sort of, hardware code) or the same sort of thing on a Linux/Unix Box? (The only current coding/testing systems are running Slackware, Mandriva and Solaris).

Or, with the idea of it being lower level interfacing, writing scancodes directly to memory segments etc. Should I be looking at a language like assembler rather than C? (I hope not, cause I like C, the rest of the engine is in C and, well, assembler scares me)