Since Microsoft Keyboard Layout Creator (MSKLC) 1.4 fails to work properly you can use the following low-level solution that is derived from information on (German) WinFAQ.
Create the following two .reg
files with a text editor of your choice and execute them alternately to load the given keys/values into your Windows' Registry:
HKLM^SYS^CCS^CTRL^Kbd_Layout^Scancode_Map#Swap_R-Win_R-Alt.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:\
00,00,00,00,\
00,00,00,00,\
03,00,00,00,\
38,e0,5c,e0,\
5c,e0,38,e0,\
00,00,00,00
HKLM^SYS^CCS^CTRL^Kbd_Layout^Scancode_Map#Reset.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:\
00,00,00,00,\
00,00,00,00,\
01,00,00,00,\
00,00,00,00
Note the reversed order of LSB (least significant byte) and MSB (most significant byte) within the 2 bytes of a scancode, a.k.a. little-endian. Note also the backslash character (\
) for line continuation.
You have to restart Windows/reboot your machine for a change of mappings to take effect.
Technical Background Info
Scancode Map
entry:
Bytes |
Size |
Values |
Description |
0 … 3 |
4 |
00 00 00 00 |
Header: Version info, always all 0 |
4 … 7 |
4 |
00 00 00 00 |
Header: Flags, always all 0 |
8 … 11 |
4 |
LM¹HM²00 00 |
Header: M appings count (c) + 1 (for the trailer) in little-endian byte order, i.e. at least 01 00 00 00 |
12 … s |
c × 4 |
LN¹HN²LO HO |
N ew / O ld scancodes in little-endian byte order (s = 11 + c × 4) |
t … t+3 |
4 |
00 00 00 00 |
Trailer (t = s + 1 = 12 + c × 4) |
¹ L ... low byte, least significant byte (LSB)
² H ... high byte, most significant byte (MSB)
See the following pages/documents for scancodes:
UPDATE
MSKBLC works with Windows' DPI Settings of 100 % only (see Sam Arutuk's answer to my question Any ideas why Microsoft Keyboard Layout Creator 1.4 refuses to work properly on my Windows 7 Professional 64-Bit?):

Apparently the
keys can't be remapped.