Have you tried the system’s keyboard palette (Keyboard Viewer)? It’s not so bad, but doesn’t feature “sticky” modifier keys so you can’t enter a command key shortcut for example.