1

Тема: AHK: Выбор языка в зависимости от нажатой клавиши

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

2

Re: AHK: Выбор языка в зависимости от нажатой клавиши

В PuntoSwitcher-е это базовая возможность.

Жизнь стоит того чтобы не быть сволочью. (с) Разные Люди

3 (изменено: teadrinker, 2010-11-17 19:34:50)

Re: AHK: Выбор языка в зависимости от нажатой клавиши

Можно так:

~LShift::
~RShift::
   StartTime := A_TickCount
   KeyWait, % SubStr(A_ThisHotkey, 2)
   if (A_TickCount - StartTime) < 200
      SendMessage, WM_INPUTLANGCHANGEREQUEST := 0x50,
         , A_ThisHotkey = "~LShift" ? 0x4190419 : 0x4090409,, A
   Return

Кстати, я уже писал тебе подобный код, можно было и догадаться.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

4

Re: AHK: Выбор языка в зависимости от нажатой клавиши

teadrinker: я уже догадывался, не заработало. И этот не работает:(

5

Re: AHK: Выбор языка в зависимости от нажатой клавиши

У меня работает. А что происходит?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: Выбор языка в зависимости от нажатой клавиши

Не происходит ничего. Windows 7, может быть дело в версии АНК? У меня не L, а последняя обычная сборка

7

Re: AHK: Выбор языка в зависимости от нажатой клавиши

А так левым шифтом на русскую раскладку переключает?

~LShift::SendMessage, WM_INPUTLANGCHANGEREQUEST := 0x50,, 0x4190419,, A
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: AHK: Выбор языка в зависимости от нажатой клавиши

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

9

Re: AHK: Выбор языка в зависимости от нажатой клавиши

PuntoSwitcher установлен?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

10

Re: AHK: Выбор языка в зависимости от нажатой клавиши

Нет.

11

Re: AHK: Выбор языка в зависимости от нажатой клавиши

А в системе как язык переключается?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

12

Re: AHK: Выбор языка в зависимости от нажатой клавиши

альт+таб

13

Re: AHK: Выбор языка в зависимости от нажатой клавиши

Нужно попробовать в AHK_Lw. Обычный AHK уже год, как не поддерживается, в семёрке могут быть глюки. Да, в моём скрипте шифт нужно нажимать кратковременно, на всякий случай.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

14

Re: AHK: Выбор языка в зависимости от нажатой клавиши

Ещё можно попробовать Shift заменить на Ctrl.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

15

Re: AHK: Выбор языка в зависимости от нажатой клавиши

Заменил на ctrl, так проще, заодно решил проблему задевания правого шифта со времен Пунто. Спасибо за помощь.

16 (изменено: serzh82saratov, 2012-08-16 14:21:42)

Re: AHK: Выбор языка в зависимости от нажатой клавиши

SendMessage, WM_INPUTLANGCHANGEREQUEST := 0x50,, 0x4090409,, A. Везде работает хорошо. Но в окнах скриптов не срабатывает, ни горячей кнопкой, ни не посредственно запуском SendMessage. В чём может быть загвоздка? Работает только по системным кнопкам. Есть ли команда которая переключает ввод во всей системе, не только в активном окне?
Ahk_L 64 Win7

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

17

Re: AHK: Выбор языка в зависимости от нажатой клавиши

В случае с окном скрипта нужно отправлять сообщение главному окну скрипта (которое скрыто):

DetectHiddenWindows, On
SendMessage, WM_INPUTLANGCHANGEREQUEST := 0x50,, 0x4090409,, ahk_id %A_ScriptHwnd%
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

18

Re: AHK: Выбор языка в зависимости от нажатой клавиши

Спасибо Вам. Теперь работает.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui