При запуске команды Convert line в taskbar появляется третья клавиатурная раскладка — ENG/US.
Конвертация только между двумя клавиатурными раскладками — ENG и RU.
Производится конвертация между тремя раскладками — ENG, RU и ENG/US.
Писал о них на Super User. Также. Вроде бы везде, где можно, убрал ENG/US.



Набираю слово в ошибочной клавиатурной раскладке → запускаю хоткеем (F10, менял на явно неиспользуемый Ctrl+Shift+Alt+F10 — получил аналогичное поведение) команду Convert line → получаю актуальное поведение, не желаемое.
!Unicode(✔), Mahou settings file
[Hotkeys]
HKCLKey=121
HKCLMods=Shift
HKCSKey=121
HKCSMods=Control
HKCLineKey=121
HKCLineMods=None
OnlyKeyLayoutSwicth=None
HKSymIgnKey=122
HKSymIgnMods=Shift + Control + Alt
HKConvertMore=122
HKConvertMoreMods=Shift + Control
[Locales]
locale1uId=1033
locale1Lang=English
locale2uId=1049
locale2Lang=Русский
LANGUAGE=EN
[Functions]
IconVisibility=True
CycleMode=True
EmulateLayoutSwitch=False
ELSType=0
CSSwitch=True
BlockCTRL=False
RePress=True
EatOneSpace=False
ReSelect=True
SymIgnModeEnabled=false
MoreTries=true
TriesCount=5
DisplayLang=false
DLRefreshRate=50
DLForeColor=#FFFFFF
DLBackColor=#000000
ExperimentalCSSwitch=false
Snippets=false
DTTOnChange=false
ScrollTip=false
UpdatesEnabled=true
Logging=true
[EnabledHotkeys]
HKCLEnabled=True
HKCSEnabled=True
HKCLineEnabled=True
HKSymIgnEnabled=true
[ExtCtrls]
UseExtCtrls=false
LCLocale=
LCLocaleName=
RCLocale=
RCLocaleName=
[Proxy]
ServerPort=
UserName=
Password=
[TTipUI]
Height=14
Width=24
Font=Georgia; 8pt
xpos=8
ypos=0
TransparentBack=false
[DoubleKey]
Use=false
Delay=350
Спасибо.
Вроде бы везде, где можно, убрал ENG/US
А еще есть:
Apply language settings to welcome screen, system accounts, new user accounts поменяйте ее на вашу кастомную раскладку.Let me set different input language for each app window И перезагрузитесь/выйдете из системы, и проверьте как работает.
Отключив CycleMode(Циклич. режим) можно достигнуть переключения только по выбранным в настройках раскладках.
P.S. Баг появляется только в Convert line? И при ручной смене раскладки появляется 3-я?
И перезагрузитесь/выйдете из системы, и проверьте как работает.
Сделано:


Отключив CycleMode(Циклич. режим) можно достигнуть переключения только по выбранным в настройках раскладках.
Снял галочку с CycleMode → выбирал как верхний, так и нижний English (1033) → всё равно раскладка переключается на ENG/US.

P.S. Баг появляется только в Convert line? И при ручной смене раскладки появляется 3-я?
При выключенном Mahou ENG/US у меня никогда не появляется. При включённом появляется и при ручной смене раскладок.
Спасибо.
Странно, у них одиннаковый UID? Именно поэтому при запросе смены появляется оригинальная раскладка ENG/US, интересно есть ли способ их различать?
А можете сделать свою кастомную раскладку не из English US а из другого?
Взял за основу дефолтный Colemak и убрал оттуда все хоткеи с Ctrl+Alt, потому что я использую их для других целей. Вот мои раскладки:
Редактировал через Microsoft Keyboard Layout Creator → не нашёл и не нагуглил, где там изменять ID.

Спасибо.
Странно, у меня прекрасно все работает, и 3-я не появляется.
Быть может все-таки что-то с раскладками?
P.S. Как же неудобно coleymak'ок писать после qwerty... 😆
@Kristinita У меня таки получилось воспроизвести ошибку, для ее исправления пойдите в настройки раскладок в параметрах, а дальше:

И здесь удалите другие раскладки, чтобы осталась только желаемая(:

До выше описанного в Mahou:
После:
не нашёл и не нагуглил, где там изменять ID.
Изменить ID раскладки не можно, т.к. это не совсем полонценная раскладка, а дополнение к раскладке на которой основана, здесь HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts можно поменять привязку к раскладке, найдите свою раскладку(должна быть в почти что в конце списка и должна заканчиваться на 409, т.к. за основу взят ENG/US), и папку переименуйте окончание на другой ID(HEX) например 419(Русская раскладка):

Теперь эта раскладка будет появляться в выборе раскладок у русского языка:

Но есть одно но, раскладка не будет переключаться по Alt+Shift а только по Win+Space(т.к. Alt+Shift меняет язык, а язык у обоих раскладок русский, поэтому ничего не меняется, а Win+Space меняет раскладку). В Mahou:
Насчет различения раскладок в Mahou, я думаю добавить натуральные названия раскладок(а не языков, как сейчас), после чего их можно будет легко визуально различить.
@Kristinita Нашел способ различать раскладки!! Нужно не сокращать ID(HWND & 0xffff), а использовать оригинальный(HWND) и тогда все будет ОК. В новом релизе будет вот так:
Готово: Mahou-v1.4.4.4.
Готово: Mahou-v1.4.4.4.
@Kristinita Ну а лучше последнюю версию(v1.4.4.9 на момент сообщения)
@BladeMight, спасибо! С этой проблемой вроде бы всё. Но привыкаю сейчас переключать раскладки левым Ctrl, и нередко получается, что хоткеи Ctrl+key непроизвольно нажимаются.

Можно и как-нибудь уменьшить время переключения раскладки?
Наверное, лучшее решение — переключать посредством CapsLock, поскольку это не служебная клавиша, однако так удобно её вместо BackSpace использовать — CapsLock::BackSpace в AutoHotkey.
Спасибо.
Можно и как-нибудь уменьшить время переключения раскладки?
При переключении Ctrl _не удерживается_, удерживаете его Вы, так что уменьшите время отпуска клавиши. Я пробовал очень быстро двумя руками, указательными пальцами - все нормально работает.
@BladeMight , переключаю сейчас раскладки клавишей Caps_Lock. Т.к. она не служебная, проблемы вроде бы исчезли. Единственная проблема — раньше я применял скрипт CapsLock::BackSpace, теперь придётся опять тянуться мизинцем до клавиши Backspace. На какую клавишу функция Backspace настроена лично у Вас?
И опубликуйте ответ здесь, чтобы как минимум 25 баллов от меня получить.
Спасибо.
На какую клавишу функция Backspace настроена лично у Вас?
У меня она не на что не настроена, Я пользуюсь самим Backspace и нажимаю на него безымянным пальцем, т.к. он почти всегда на нем или на Enter или на клавишах что вокруг них.
Но если хотите ближе то наверное удобно будет поставить на кнопку правые Alt, Win или Apps(Menu), т.к. они ближе, и не так часто используются как левые. И еще плюс можно быстро нажимать Ctrl + Backspace который назначен на одну из них.
Тип: Дополнительная информация 📓
Использую Mahou неделю после длительного перерыва.
В первые дни появлялся этот баг. Решался просто — что-нибудь ввожу и вызываю Convert last line. Однако баг возникал столь часто, что намного легче было не использовать Mahou.
Далее попробовал это решение → как ни странно, помогло. 4 дня проблема вообще не появлялась.
Вчера перезагрузил Windows → сегодня проблема возникла снова. Снова проделал то, что рекомендовали на Super User → пока баг не проявляется; посмотрим, что будет дальше.
Спасибо.
@Kristinita
Далее попробовал это решение
Можно побыстрее сделать на AHK гор. клавишу:
engLayout := 0x409 ; https://www.autoitscript.com/autoit3/docs/appendix/OSLangCodes.htm
#f7::
DllCall("User32.dll\UnloadKeyboardLayout", "UInt", engLayout)
return
ДеРегистрирует эту раскладку из системы, т.е. появилась английская раскладка, нажал Win+F7 - всё исчезла :)