It's a good idea, and I like how you also created a browser preview.
However, it has a series of flaws:
-low resolution, I can literally count the pixels on my screen (1366x768)
-it lacks a feature to move and resize the elements, or at least it seems like so. Moving not only the entire keyboard and the mouse, but even the single keys, and resizing every individual item to your liking (making sure you can set your own value with numbers so you can make each key identical, for example) can make the difference between a cluttering and annoying overlay, and an useful one
-it lacks the majority of the keyboard: even with custom, I am stuck to use up to the 5TGB column of the keyboard. Left handed people like me can't show keystrokes, and also I can't show the other buttons. This program may be perfect for tutorials and such, but with the lack of Ctrl, Shift, Enter, Tab, and a bunch of other keys, you can't really show much. Anyone can understand you move forward because you are pressing W, not many can understand you auto-completed a command by pressing Tab, or executed a particular action because, for example, you have pressed Shift+R
As an extra:
I really don't like the way the keyboard was drawn, and I would like for the stuff to be more detailed and colored when pressed, not just points on them or a bit of offset. By allowing people to customize these elements (you may for example create a scalable spritesheet that people can customize) there is no such issue. Also, by allowing the capable ones to send you their customizations do you can put them in your site or directly in the program, you can benefit a variety and higher quality for the graphics of this overlay.