Пользователь
0,2
рейтинг
18 августа 2014 в 12:10

Возвращение работоспособности переключения раскладки через правый Alt + Shift без применения посторонних программ

Как известно, после одного из обновлений в Windows 7 исчезла возможность переключить раскладку с русской на английскую нажатием комбинации 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
Майоров Павел @mayorovp
карма
55,7
рейтинг 0,2
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (50)

  • +9
    Теперь я знаю как минимум одного человека, который не по Ctrl + Shift раскладку переключает
    • +2
      Уже двух. Я тоже раньше только по Alt+Shift переключал (правда, сейчас на Caps переделал).
    • +1
      А что в этом удивительного? Нормальное и удобное переключение.
      • +10
        если слишком спешить и отпустить Alt раньше прожима шифта, то можно вызвать виндошное меню приложения и долго не понимать почему скачут менюшки и окошки.
        • –7
          Не знал о таком. На линухе не вопроизводится…
          • +3
            не помню уже как на линуксе, но в винде Alt вызывает главное меню приложения. А дальше, в вызванном меню все «подчеркнутые» буквы в пунктах меню срабатывают как hotkey без нажатого alt'а. В результате пока печатаешь, в зависимости от нажатых букв, можно вызвать меню "File" например, а в нем «Exit», а там и «Don't save» и пробел.
            Могу ошибаться, но в старых виндах нажатие несуществующей горячей кнопки не приводило к выходу из меню, поэтому можно было печатая, сделать все что угодно, но не напечатать :). В ХР и выше помоему приводило просто к «ding» и потере одного символа
            • –3
              Попробовал. Просто нажатие Alt ни к чему не приводит. Нужна полная комбинация Alt+xxx для срабатывания. При таком поведении нет проблем с использованием Alt для смены раскладки.
        • +1
          А я с ctrl + shift так и не смог подружиться, потому что привык этим сочетанием в тестовых редакторах слова целиком обводить… И если не нажать кнопку с стрелкой, то сменится раскладка. Так что тут дело привычки.
          ps: Кстати ни разу за все время не отпускал альт, раньше шифта.
          • 0
            На самом деле, CTRL+Shift и Alt+Shift в некоторых ситуациях не эквивалентны. Например, в меню Пуск можно, вводя буквы, как и во многих других местах быстро перемещаться к начинающимся на них пунктам. Если надо будет тут переключить раскладку, то Alt+Shift вышибает из меню Пуск, а CTRL+Shift нет.

            Правда так было на XP, а сейчас в относительно новых Windows вроде именно в Пуск такой проблемы уже нет, но наверняка где-то ещё осталось.
        • +1
          После того как я понял (в 1997), что слишком часто прыгаю по словам с помощью LCtrl-LShift-Стрелки, а это часто вместо или вместе с нужным действием переключает язык, я осознал, что LAlt-LShift — то, что дохтур прописал.

          Вредность эффекта выскакивания в меню окна значительно меньше, чем вредность эффекта начать печатать не в той раскладке.

          Нынче, даже имея CapsLock для этого, я всё равно не позволяю оставаться LCtrl+LShift переключателем.
    • +2
      Т.е. вы хотите сказать, что CapsLock вы используете для чего-то более полезного, чем переключение раскладки?
      • +1
        Я вообще Caps Lock не использую, и понимаю, что мог бы использовать его для переключения раскладок, но Ctrl + Shift я использую ещё с Win95, а привычки это такое дело которое нельзя просто так взять и поменять.
        • 0
          Можно. Нужно просто перетерпеть несколько дней дискомфорта и все наладится. Сам долго плевался, когда переезжал с Linux'a на Mac, потом просто категорически отказался от использования старых shortcut'ов и через несколько дней дискомфорт пропал.
    • +2
      Alt+Shift — дефолтный способ переключения раскладки в Windows.
      Не вижу ничего странного что людей, которые переключают раскладку таким образом, совсем не мало.
  • +3
    c win8 стал переключать так же как и на MacOS по command+space и это еще удобнее
    • 0
      Это гораздо неудобнее, чем по Caps Lock. Но стоит отметить, что если часто прыгаешь между OS X и Windows, то это плюс.
      • 0
        Лично я использую life hack с двумя разными клавиатурами для OS X и Windows. В итоге ощущения разные и клавиатурные команды практически не путаются. Хотя не могу сказать, что и на одной и той же клавиатуре я часто путаюсь. Но ко всему прочему клавиатура Mac для Windows совсем убога, так что во многом смена клавиатуры практически функциональная необходимость. Только вот для ноутбуков это решение не очень подходит. :-(
        • 0
          Спасибо за идею! Попробую менять клавиатуры, т.к. я очень часто путаю сочетания на одной клавиатуре с разными ОС.
    • 0
      По-моему это вообще неудобно. Особенно первое время — постоянное пробелы ставятся…
  • +1
    Переключаюсь alt+shift
    Только с левым — имха удобнее.
    • 0
      Мышь держать надо, а то вдруг убежит! или Вы левша/тачпадник?
      • +1
        Чего? Правая рука на мыши. Левой меняешь. (может вы по ту сторону экрана монитора сидите? )))
        Не знаю когда нужно переключить раскладку чтоб правая была на мыши. Обычно при переключении очевидно что человек набирает текст. Только если Вы не одним пальцем набираете текст.
        • 0
          пардон, понедельниковый тупняк. Я че-то подумал, что статья о фиксе левого альтшифта, а только сейчас прочел, что на самом деле правый :)
  • 0
    кстати ТС — у меня 7ка и отлично переключает правый alt.
    Может какое-то обновление конкретное возможность ограничила?
    • 0
      Я проверял на 4х независимых компьютерах (два дома, два на работе). Разумеется, это было вполне конкретное обновление. Но не устанавливать обновления — это еще хуже, чем сидеть с двумя левыми альтами )
      • 0
        ну тогда надо бы указать что это в конкретном обновлении.
        А то я стало быть перепугался)
        • 0
          Как известно, после одного из обновлений в Windows 7 исчезла
          • 0
            Да я имею ввиду номер обновления.
            • 0
              Там дальше написана причина, по которой номер этого обновления никто не знает :) Я вот два дня назад внезапно осознал, что у меня раскладка не переключается уже 1-3 месяца…
            • +4
              Это обновление KB2970228. Фишка его в том, что на русские, татарские, башкирские и саха раскладки оно приносит недавно утверждённый и добавленный в Unicode 7.0 символ рубля — ₽. В частности, русские раскладки поломались потому, что по AltGr+8 теперь должен вводиться этот самый символ, ну а AltGr повесили на правый Alt.

              Удалить обновление можно следующей командой в диалоге «Выполнить» (WinKey+R):
              wusa.exe /uninstall /kb:2970228
              Только вот оно потом снова подкачивается, так что надо явно вручную потом отключить его установку.

              Раскладку я обычно переключаю по LeftAlt+RightShift (Alt левым большим пальцем, а Shift правым мизинцем), что, на мой взгляд, является оптимальным вариантом в режиме десятипальцевой печати, тогда как тот же CTRL+Shift предполагает поднятие и перемещение кисти. Это обновление убило меня скорей тем, что поломало Alt+Tab с правым Alt, вот за это, действительно, я бы руки оторвал.

              Вообще, на мой взгляд, символ рубля надо было вешать на Shift+8, просто сделать разделение, что по LeftShift+8 вводится символ рубля, а по RightShift+8 — звёздочки. Как мне кажется, это было бы удобнее и менее деструктивно. Ну или можно было бы не переназначать RightAlt на AltGr, а рубль просто вводить CTRL+Alt+8. Всё равно вряд ли его будут часто использовать, потому что никто об этом символе в раскладке и не знает.

              К слову, для редактирования клавиатурных раскладок есть специальное приложение Microsoft Keyboard Layout Creator, так что если у кого есть желание, то можно переделать очень многое, а потом распространять в виде инсталляционного файла.
              • –1
                Ну или можно было бы не переназначать RightAlt на AltGr
                Скажу вам по секрету: они и не переназначали его, так было задолго до этого обновления. RAlt работает как AltGr даже в английской раскладке, видимо пока на него ничего не назначено — то комбинации требующие «простого» Alt не ломаются.
                • 0
                  Скажу вам по секрету: они и не переназначали его, так было задолго до этого обновления.


                  Не знаю, что вы хотели сказать, но до этого обновления RightAlt посылал в систему Alt, а после, даже при отдельном нажатии, посылает CTRL+Alt. Именно это я и имел ввиду.

                  В итоге, по RightAlt не открывается меню, ломаются абсолютно все команды с Alt (Alt+Tab, Alt+F4 и др.), зато начинают срабатывать все горячие клавиши вызова CTRL+Alt+X, заданные через диалог «Свойства».

                  Я вообще в целом считаю идею с назначением на AltGr каких-либо элементов ввода не самой удачной в контексте того, что на Alt завязано очень многое в модели клавиатурного управления Windows. К сожалению, на многих раскладках это уже стало практикой, а теперь докатилось и до стандартной русской. Лучше бы ограничивались введением разделения реакций на правый и левый Shift.

                  Вообще всё это много говорит о русском отделении Microsoft, которые, по всей вероятности, и принимали это решение. Люди явно плохо знают отдельные принципы операционной системы, потому что концептуально Windows та OS, которая предполагает наличие полноценного клавиатурного управления, и ломать эту функциональность последнее дело.
                  • 0
                    Попрошу обратить внимание, что в английской раскладке все эти команды по-прежнему работают, несмотря на то, что RAlt точно так же посылает Ctrl+Alt.
                    • –1
                      Вы ошибаетесь, эта фишка относится к конкретной клавиатуре конкретного языка ввода. KB2970228 модифицировало только три русские клавиатуры, две татарские, одну башкирскую и одну для саха. В раскладке стандартного американского английского RightAlt в систему посылает Alt, а не CTRL+Alt. Можете мне поверить, потому что с тем кто и куда что посылает я постоянно имею дело, так что и изменения заметил в первые секунды после обновления.

                      Кстати, по-моему KB2970228 в правом AltGr посылает теперь левый CTRL, что уж совсем странно.
  • –1
    Спасибо, надо поменять
    • 0
      Вы имеете в виду вариант «переключать мышкой» или вот эту настройку? Подскажите, куда тут надо ткнуть, чтобы правый альт заработал.
      Скрытый текст
      • 0
        UPD: спасибо, что изменили свой комментарий после того, как я на него ответил.
        PS оригинальный комментарий был таким (сохранился на почте):
        В панели задач это переключается. Зачем реестр?
  • 0
    Моя история о раскладках (оффтопик):
    Оффтопик
    Когда то сложно было с ctrl-shift так как нужно было держать в уму какая сейчас стоит расладка, особенно когда нужно было 3 языка.
    Поставил Ctrl-1 — Английский, Ctrl-2 Русский, Ctrl-3 Украинский.
    Было очень удобно, так как просто переключаешься на нужную тебе сейчас раскладку не думая о том, какая стоит сейчас.
    Все друзья подсели!

    Захотелось перейти на Linux… Пытался сделать там такое же, но только KDE так может, все другие DE нет…
    В итоге перешел на мак.
    Там все просто, кроме того, для переключения использую Fn-Number, так что не теряется функциональность как на Windows с Ctrl.
    В общем на Маке я обрел спокойствие!

    Надеюсь кому то будет полезно!

    • +5
      выбираем_ОС_по_переключению_раскладки.txt
  • +5
    Этот глюк пошел после обновления, добавляющего символ рубля (KB2970228) из-за мапа этого самого рубля через Ctrl+RAlt+8 вроде б.
    Просто удалите обновление и проблема решена.
  • –6
    спасибо, Господи, что я выбрал Мак
    • +1
      спасибо, Господи, что я выбрал Мак


      Да-да, где многие клавиатурные команды перестают работать, когда мы переходим с английского на русский ввод, а раскладка не сохраняется отдельно для каждого окна, переключаясь туда-сюда глобально по всей системе. Про эрганомику стандартной русской раскладки Apple лучше вообще не вспоминать, один ввод точки, которая нужна постоянно при наборе текста, двухклавишной командой чего стоит.

      Я сейчас сам сижу за iMac, но ввод и редактирование текста в контексте разных мелочей — это далеко не сильная сторона OS X, так что давайте лучше не будем…
      • –4
        каждому — своё
      • –1
        1. Системные настройки — Источники ввода — Автоматически переключаться на источник ввода документа, для переключения раскладки по приложениям (даже по документам)
        2. Системные настройки — Источники ввода — + (добавить) — Русская-ПК вернет все кнопки как на PC, или например поставить другую раскладку, например от Бирмана

        Хотя лично мне удобнее единый язык для всей системы. Еще бы W8 научилась включать английский по умолчанию для окон паролей, как это делает osx.
        • 0
          При активной Русской ПК не будут работать некоторые клавиатурные команды. Например, CMD-Щ, причём Apple это ошибкой не считают и рекомендуют ставить Русскую Apple и жрать кактус. Ну а некоторые команды под нелатиницей в принципе не работают независимо от типа раскладки, требуя обязательно латиницу. По, прости господи, локобилити (удобству локализации) Apple отстали от всех остальных лет на 15-20. К сожалению, сказывается тяжёлое наследие локального бренда, который был развит в нескольких странах, а во многих других, как раз зачастую с нелатинской письменностью, долгие годы оставался экзотикой. В переводах у них до сих пор такие перлы можно найти, например, «Shift» в отдельных местах обозначается как «Сдвиг», да и многие другие вещи переведены не традиционным образом, хотя есть уже устоявшиеся русскоязычные соответствия. Аналогичные проблемы есть и на других языках. В своё время, лет 5-6 назад, Apple даже относительно централизовано собирали отзывы пользователей, чтобы улучшить переводы некоторых утилит, что для них вообще-то нехарактерно.

          В общем можно любить или не любить Apple, но проблемы с локализациями и многоязычной работой в их продуктах — это объективная реальность.
          • 0
            Простите что так долго с ответом.
            Правда стало интересно искал где не работает cmd+щ. Нашел, что плохо работает alt+shift+cmd+v (вставка с согласованием стиля), что нет нужного символа в русской-пк (например буквы ё, на US клавиатуре), но с указанной вами ошибки не нашел в системных приложениях.

            И скажите, вам правда нужна икона что бы ее любить или не любить?
  • –12
    Opera и Ctrl+Shift — феноменальная популярность в странах СНГ.
    Ясно, что оба говно и стали популярными только из-за понтового менталитета.
  • 0
    Существует ли (хотя бы теоретически) способ переключать раскладку с помощью CapsLock?
  • +1
    В Win10 тоже работает.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.