Как известно, после одного из обновлений в Windows 7, Windows 8, Windows Server 2008 R2, Windows Server 2012, исчезла возможность переключить раскладку с русской на английскую нажатием комбинации RAlt+Shift. Ситуация осложняется тем, что в обратную сторону оба альта по-прежнему работают, из-за чего некоторые очень долго не понимали, почему иногда раскладка перестает переключаться.
 
Наверное, ситуацию может исправить Punto Switcher. Возможно, есть еще 20 программ, которые может использовать человек, привыкший переключать раскладку только правой рукой, и не желающий переучиваться по велению Microsoft. Но ставить на каждый компьютер, домашний, рабочий, а также всем знакомым, новую программу — не самый удобный способ.
 
Решение я предлагаю простое — перемапить правый альт на левый. Теперь windows будет думать, что на клавиатуре находятся два левых альта — и ни одного правого. Это можно сделать при помощи значения Scancode Map в ключе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
 
Тут есть одна сложность: формат бинарный, и без редактора может обойтись разве что человек, которому совсем нечего делать. Для редактирования я взял программу SharpKeys. Но, поскольку я обещал, что решение будет использовать только реестр без посторонних программ, результатом работы этой программы я сейчас и поделюсь.
 
Решение.
 
Вот решение для простой замены правого альта на левый. Не буду писать, что означает написанное ниже, потому что этот пост не является учебником по работе с реестром.
пост не является учебником по работе с реестром.
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,02,00,00,00,38,00,38,e0,00,00,00,00
 
У этого решения есть один недостаток: раньше правый альт работал как модификатор AltGr, и кто-то им мог пользоваться.
Если вы использовали AltGr по его прямому назначению достаточно редко — то можно в дальнейшем нажимать Alt+Control для достижения той же цели. Но если хочется AltGr одной кнопкой — то надо найти какую-нибудь другую ненужную кнопку, которой можно пожертвовать. Тут я предлагаю еще два варианта.
 
Вариант второй — заставить работать левый альт как правый (да, это нарушит переключение раскладки левой рукой).
 
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,38,00,38,00,38,e0,00,00,00,00
 
Вариант третий — заставить работать правый WinKey как правый альт.
 
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,38,00,38,e0,00,00,00,00
 
Есть еще и четвертый вариант, это удалить обновления Windows из-за которых возможность смены языка правым alt shift перестало работать.
 
Обновления, которые Microsoft рекомендует удалить:
 
2982791 — MS14-045: Description of the security update for kernel-mode drivers: August 12, 2014 
2970228 — Update to support the new currency symbol for the Russian ruble in Windows
2975719 — August 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
2975331 — August 2014 update rollup for Windows RT, Windows 8, and Windows Server 2012
 
Обновления, которые не дают переключать раскладку RAlt+Shift:
 
В Windows 7 — KB2970228
В Windows 8 — KB2975331
В Windows 8.1 — KB2975719
 
Удалить обновления можно через Центр обновлений Windows. Метод опробован на себе и работает.

+2