This goes in the right direction, although it is still limited to the layouts provided by the manufacturer (and I could not find different country layouts), and it still requires changing some hardware parts whenever I change the layouts. The same I could achieve by just plugging a different keyboard. But it would be much nicer to have the keyboard appearance changed by software as soon as the layout is changed.
I also found this, but I could not find much on the status of the project:
http://www.microsoft.com/appliedscience ... /uist.aspx