Поскольку Microsoft Keyboard Layout Creator (MSKLC) 1.4 не работает должным образом, вы можете использовать следующее низкоуровневое решение, основанное на информации о немецком языке WinFAQ.
Создайте следующие два файла .reg
с выбранным вами текстовым редактором и поочередно выполните их, чтобы загрузить данные ключи / значения в реестр Windows:
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
Обратите внимание на обратный порядок LSB (младший значащий байт) и MSB (старший значащий байт) в пределах 2 байтов скан-кода, то есть little-endian. Обратите внимание также на символ обратной косой черты (\
) для продолжения строки.
Вы должны перезагрузить Windows/ перезагрузить компьютер, чтобы изменения вступили в силу.
Техническая информация
Scancode Map
:
┌──────────┬──────┬─────────────┬───────────────────────────────────────────────────┐
│ 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 | 0m 00 00 00 │ Header: mappings count[c] + 1 [for the trailer] │
│ 12 … s │ c×4 | LN¹HN²LO HO │
N ew /
вывода ld scancodes in little-endian byte order │
│ t … t+3 │ 4 | 00 00 00 00 │ Trailer (t = s + 1 = 12 + c × 4) │
└──────────┴──────┴─────────────┴───────────────────────────────────────────────────┘
¹ L ... младший байт, младший байт (LSB)
² H ... старший байт, старший значащий байт (MSB)
См. Следующие страницы / документы для сканирования кодов: