This post was stolen from Ed Anderson.
On the Microsoft Surface (aka Windows RT) you can't run unsigned code, so we can't run the awesome ctrl2cap. Luckily, windows supports key remapping higher in the stack via the scan code mapper. I leave figuring out what exactly this powershell snippet is doing as an exercise to the reader. Simply run the following script from an admin power shell console and then reboot.
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\Keyboard Layout" -name "Scancode Map" -Value ([byte](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x1d,0x00,0x3a,0x00,0x00,0x00,0x00,0x00))