[{{mminutes}}:{{sseconds}}] X
Пользователь приглашает вас присоединиться к открытой игре игре с друзьями .

Форум «Академия» / AutoHotKey и смена раскладки/языка

Arkaine Сообщение #1 27 апреля 2011 в 11:47
Маньяк
1
Как у вас выглядит скрипт для реализации сей функции?

Вот мой вариант, но он не работает:
SC138 & SC021::Send {LAlt down}{Shift down}{SC002}{LAlt up}{Shift up}
SC138 & SC020::Send {LAlt down}{Shift down}{SC003}{LAlt up}{Shift up}
SC138 & SC012::Send {LAlt down}{Shift down}{SC004}{LAlt up}{Shift up}


AHK у меня уже не в первый раз отказывается делать то, что должен был бы делать. Первые два языка переключаются, а третий не хочет.

Примечательно, что SC004 и по возрастающей до... я пока не проверял докуда, не работают.

Какие будут рекомендации? Возникла надобность добавления третьего языка, и вариант с переключением между языками не подходит.
Последний раз отредактировано 27 апреля 2011 в 12:19 пользователем Arkaine
stradetch Сообщение #2 27 апреля 2011 в 13:16
Маньяк
34
Как у вас выглядит скрипт для реализации сей функции?


CapsLock:: Send {LAlt Down}{Shift}{LAlt Up}
Arkaine Сообщение #3 27 апреля 2011 в 13:40
Маньяк
1
Такой вариант у меня тоже работал, но:
Возникла надобность добавления третьего языка, и вариант с переключением между языками не подходит.
Cheatah Сообщение #4 27 апреля 2011 в 13:53
Маньяк
16
А какая у вас ОС? В Win Vista и 7 можно настроить переключение на Ctrl+цифра, мне очень удобно, я вообще отключил стандартные Ctrl+Shift/Alt+Shift. В WinXP эта функция не так удобна, особенно если несколько раскладок используется (там Ctrl+Shift+цифра настраиваются).

А вообще гугление дает вот такую тему:
http://forum.script-coding.com/viewtopic.php?id=189

Не читали? Если прочитаете и разберетесь, выложите здесь готовое решение, пожалуйста.
Arkaine Сообщение #5 27 апреля 2011 в 15:12
Маньяк
1
Я пока заходил только на оф. сайт, и там был большой скрипт, который меня «напугал» своей громозкостью.

Чтож, я «погуглю», попробую разобраться с уже предоставленной информацией и в результате чего отпишусь.

P.S. Система — XP.
Последний раз отредактировано 27 апреля 2011 в 15:15 пользователем Arkaine
Arkaine Сообщение #6 27 апреля 2011 в 16:38
Маньяк
1
Код из этой ссылки работает, но откуда только брать эти «номера раскладок» (0x4090409 и 0x4190419)?
stradetch Сообщение #7 27 апреля 2011 в 16:46
Маньяк
34
Из реестра.
HKU.DEFAULTKeyboard LayoutPreload.
Здесь можно посмотреть коды установленных раскладок (какой код за какую отвечает можно поискать в гугле, либо определить опытным путём).
Знаю только 409 - английская, 419 - русская.
Последний раз отредактировано 27 апреля 2011 в 16:48 пользователем stradetch
Arkaine Сообщение #8 27 апреля 2011 в 17:19
Маньяк
1
Благодарю.

SC138 & SC021::SendMessage, 0x50,, 0x4090409,, A ; English
SC138 & SC020::SendMessage, 0x50,, 0x4190419,, A ; Russian
SC138 & SC012::SendMessage, 0x50,, 0x4220422,, A ; Ukrainian

«Номера раскладок» располгаюатся в этой директории (Win XP): "HKEY_CURRENT_USER\Keyboard Layout\Preload".

Всё работает. Правый Alt + F, D и E меняют языки соответственно.

Даже как-то стыдно, что не знал этого про реестр. Но да оно и логично, что раскладки так же должны располагаться в реестре, как и многое другое.
Arkaine Сообщение #9 27 апреля 2011 в 17:22
Маньяк
1
Вы мне помогли решить основной вопрос. Возможно, сможете помочь и с «побочным».

В чём может быть причина того, что не работают клавиши начиная с SC004 при модификаторах?
stradetch Сообщение #10 27 апреля 2011 в 21:40
Маньяк
34
Чтоб я ещё знал, что это за клавиши, никогда не менял по сканкоду.
Arkaine Сообщение #11 27 апреля 2011 в 22:13
Маньяк
1
«Цифровой ряд», начиная с клавиши 3.
Arkaine Сообщение #12 28 апреля 2011 в 18:20
Маньяк
1
Я добавил ещё несколько языков, и возникла проблема.

При смене языка на французский (раскладка AZER) частично перестаёт действовать скрипт AHK.

Игнорируется назначенная команда:
SC138::Return

Чтобы правый Alt, будучи нажатим сам по себе бездействовал, а не вылазил в File-Edt-View и т.д.

Update:

Да, быстро я решил проблему...

Дело оказалось в самой раскладке. В чём именно пока не выяснил, но стоило сменить её символы на символы «стандартной» QWER, как скрипт тут же заработал.
Последний раз отредактировано 28 апреля 2011 в 18:29 пользователем Arkaine
Arkaine Сообщение #13 29 апреля 2011 в 12:46
Маньяк
1
Дело было в наличии символов, вызываемых клавишами при модификаторах Alt+Ctrl.

Чтобы писать в форуме, нужно зарегистрироваться.


Связаться
Выделить
Выделите фрагменты страницы, относящиеся к вашему сообщению
Скрыть сведения
Скрыть всю личную информацию
Отмена