Модифицированная клавиша в любых комбинациях Topic is solved

Помощь в написании скриптов
Araks
Posts: 5
Joined: 04 Aug 2022, 10:55

Модифицированная клавиша в любых комбинациях

Post by Araks » 04 Aug 2022, 10:58

Здравствуйте.
У меня есть такой код:

Code: Select all

>!sc17::Send {vk26} ; RAlt + i => up
Как сделать чтобы это сочетание всегда работало как стрелка вверх, в том числе с другими модификаторами?

Например при нажании RShift + RAlt + i срабатывало Rshift + Up

Araks
Posts: 5
Joined: 04 Aug 2022, 10:55

Re: Модифицированная клавиша в любых комбинациях

Post by Araks » 05 Aug 2022, 03:38

Чтобы моя команда всегда была клавишей Up,
Например:
RAlt + i сработало как Up
Shift + RAlt + i сработало как Shift +Up
Ctrl + Shift + RAlt + i сработало как Ctrl + Shift +Up
Ctrl + Shift + LAlt + RAlt + i сработало как Ctrl + Shift + LAlt +Up.
Т.е. с любыми комбинациями

mcl
Posts: 355
Joined: 04 May 2018, 16:35

Re: Модифицированная клавиша в любых комбинациях

Post by mcl » 06 Aug 2022, 12:49

Модификатор для хоткея „звёздочка“ означает, что хоткей сработает независимо от того, нажаты ли какие-либо клавиши-модификаторы (Ctrl, Alt, Shift). Blind-режим отправляет нажатие клавиши, не отжимая уже нажатые клавиши-модификаторы.

Code: Select all

*SC017::Send {Blind}{VK26}
UPD: Внимательно прочитав ваше сообщение, я понял, что это не совсем то, что вам нужно. Вот более точный вариант:

Code: Select all

#If (GetKeyState("RAlt", "P") == 1)
*i::Send {Blind}{RAlt Up}{Up}
#If
github://oGDIp - GDI+ wrapper for AHK v1.1

Araks
Posts: 5
Joined: 04 Aug 2022, 10:55

Re: Модифицированная клавиша в любых комбинациях

Post by Araks » 08 Aug 2022, 03:38

@mcl Спасибо вам огромное. Сделал для всех стрелок.

Code: Select all

#If (GetKeyState("RAlt", "P") == 1)
	if %A_ThisHotKey% == i
		*i::Send {Blind}{RAlt Up}{Up}
	if %A_ThisHotKey% == k
		*k::Send {Blind}{RAlt Up}{Down}
	if %A_ThisHotKey% == j
		*j::Send {Blind}{RAlt Up}{Left}
	if %A_ThisHotKey% == l
		*l::Send {Blind}{RAlt Up}{Right}
#If
Проблема в том что работает только для английской раскладки. Можете подсказать как сделать чтобы в русской раскладке тоже работало?

Araks
Posts: 5
Joined: 04 Aug 2022, 10:55

Re: Модифицированная клавиша в любых комбинациях

Post by Araks » 08 Aug 2022, 04:10

Как я понял в русской раскладке игнорируется Ctrl.

Araks
Posts: 5
Joined: 04 Aug 2022, 10:55

Re: Модифицированная клавиша в любых комбинациях

Post by Araks » 08 Aug 2022, 05:59

В общем проблема не работы с Ctrl была в том, что в русской раскладке вместо RAlt => AltGr (по сути Ctrl + RAlt).
Через программу Microsoft Keyboard Layout Creator создал раскладку русскую раскладку без AltGr и всё заработало.

Post Reply

Return to “Помощь”