BizHawk is a multi-system emulator written in C#. BizHawk provides nice features for casual gamers such as full screen, and joypad support in addition to full rerecording and debugging tools for all system cores.
I would like to add that most retro computers have different layouts compared to modern keyboards, and would all benefit from a virtual keyboard interface.
The Amstrad CPC has an different layout from modern keyboards and having this feature would have things much easier to tas.