I want to make a project which detects my mouse clicks and repeats them, I want it to draw a smiley face in mspaint

I know I can use Robot to create events outside of window(please say how it does it... there must be a way to click outside of window without the robot...) but I want to record my clicks in paint to be recorded so I can put it into format that the Robot can mimic:

move mouse here, click
move mouse here, click
move mouse here, click
and until the smiley face is fully drawn

Everything works well except I cannot 'detect' key events outside the 'Component'

I could theoretically make invisible canvas (to pretend-draw), but I don't know how to do that either(please tell me as this would help a lot when I make my game screen recorder like hypercam)

This is not an assignment... this is just something I wanna test out and understand, It's fundamental to understand how to handle outside-frame environment at times(especially for making programs like hypercam))

So the main questions are:
How to produce a key event|mouse event outside of the awt component
How to record clicks/key presses outside of window
How to create an 'invisible' window that works exactly like a window and takes up the whole screen but isn't visible(illusion of being unable to click/type)

Some readers may be concerned that I might be using this to record sensetive information, I will argue because I can just download a keylogger/mouselogger to do that... That's not my goal and it definately not what I'm trying to accomplish. What I am trying to accomplish is to record clicks so they can be repeated by the Robot to automate tasks and make jobs easier, and to try making a program like hypercam(not movie generator but just constant screenshot taking at a certain position)
---- I have only wrote the above because I know that this thread will quickly think that i am going to use it for 'evil'. Therefore may risk this thread being closed, and I am very curious on this subject... so I had to write the above to defend my purpose.

Thanks in advance, and sorry for the long explanation of the reasons i'm making this program, I don't want this thread to be closed unanswered.