1

Тема: AHK: 3 клавиши вместо 2 возможных

Так вот, мне интересно как с помощью ahk сделать 3 клавиши вместо 2 ?
Например:
F1 & F2::F5
А мне нужно примерно вот так:
F1 & F2 & F3::F5
Но, постоянно выдаёт ошибку Invalid key. Можно ли как то всё же сделать 3 клавиши?

2

Re: AHK: 3 клавиши вместо 2 возможных

Можно при нажатии третей клавиши проверять, удерживаются ли первая и вторая.

3 (изменено: AdcB, 2018-07-25 17:27:13)

Re: AHK: 3 клавиши вместо 2 возможных

ypppu, а как это сделать?


Я хочу чтобы можно было и большими писать, например при зажатом шифте.
; 1
AppsKey & vk51::send q
AppsKey & vk57::send w
AppsKey & vk45::send e
AppsKey & vk52::send r
AppsKey & vk54::send t
AppsKey & vk59::send y
AppsKey & vk55::send u
AppsKey & vk49::send i
AppsKey & vk4F::send o
AppsKey & vk50::send p
; 2
AppsKey & vk41::send a
AppsKey & vk53::send s
AppsKey & vk44::send d
AppsKey & vk46::send f
AppsKey & vk47::send g
AppsKey & vk48::send h
AppsKey & vk4A::send j
AppsKey & vk4B::send k
AppsKey & vk4C::send l
; 3
AppsKey & vk5A::send z
AppsKey & vk58::send x
AppsKey & vk43::send c
AppsKey & vk56::send v
AppsKey & vk42::send b
AppsKey & vk4E::send n
AppsKey & vk4D::send m

4

Re: AHK: 3 клавиши вместо 2 возможных

Код должен быть оформлен тегом code, спойлер его не заменяет!

5 (изменено: AdcB, 2018-07-25 17:29:23)

Re: AHK: 3 клавиши вместо 2 возможных

ypppu, исправил. Но всё же, как это сделать?

ypppu пишет:

Можно при нажатии третей клавиши проверять, удерживаются ли первая и вторая.

6

Re: AHK: 3 клавиши вместо 2 возможных

AppsKey & vk51::send q
AppsKey & vk57::send w
AppsKey & vk45::send e
AppsKey & vk52::send r
AppsKey & vk54::send t
AppsKey & vk59::send y
AppsKey & vk55::send u
AppsKey & vk49::send i
AppsKey & vk4F::send o
AppsKey & vk50::send p


#IF GetKeyState("RCtrl", "P")
AppsKey & vk51::send Q
AppsKey & vk57::send W
AppsKey & vk45::send E
AppsKey & vk52::send R
AppsKey & vk54::send T
AppsKey & vk59::send Y
AppsKey & vk55::send U
AppsKey & vk49::send I
AppsKey & vk4F::send O
AppsKey & vk50::send P

7

Re: AHK: 3 клавиши вместо 2 возможных

ypppu, Спасибо! Работает.

8 (изменено: AdcB, 2018-07-25 18:03:02)

Re: AHK: 3 клавиши вместо 2 возможных

В итоге получилось вот так:


#NoTrayIcon

;NumPad

AppsKey & pause::Numpad9
AppsKey & ScrollLock::Numpad8
AppsKey & PrintScreen::Numpad7
AppsKey & Ins::Numpad4
AppsKey & Home::Numpad5
AppsKey & PgUp::Numpad6
AppsKey & Del::Numpad1
AppsKey & End::Numpad2
AppsKey & PgDn::Numpad3
AppsKey & \::Numpad0

;F13-F24

AppsKey & f1::F13
AppsKey & f2::F14
AppsKey & f3::F15
AppsKey & f4::F16
AppsKey & f5::F17
AppsKey & f6::F18
AppsKey & f7::F19
AppsKey & f8::F20 
AppsKey & f9::F21
AppsKey & f10::F22
AppsKey & f11::F23
AppsKey & f12::F24

; 1 

AppsKey & vk51::send q
AppsKey & vk57::send w
AppsKey & vk45::send e
AppsKey & vk52::send r
AppsKey & vk54::send t
AppsKey & vk59::send y
AppsKey & vk55::send u
AppsKey & vk49::send i
AppsKey & vk4F::send o
AppsKey & vk50::send p

; 2

AppsKey & vk41::send a
AppsKey & vk53::send s
AppsKey & vk44::send d
AppsKey & vk46::send f
AppsKey & vk47::send g
AppsKey & vk48::send h
AppsKey & vk4A::send j
AppsKey & vk4B::send k
AppsKey & vk4C::send l

; 3

AppsKey & vk5A::send z
AppsKey & vk58::send x
AppsKey & vk43::send c 
AppsKey & vk56::send v
AppsKey & vk42::send b
AppsKey & vk4E::send n
AppsKey & vk4D::send m

; CAPS

#IF GetKeyState("Shift", "P")

; 1 Caps

AppsKey & vk51::send Q
AppsKey & vk57::send W
AppsKey & vk45::send E
AppsKey & vk52::send R
AppsKey & vk54::send T
AppsKey & vk59::send Y
AppsKey & vk55::send U
AppsKey & vk49::send I
AppsKey & vk4F::send O
AppsKey & vk50::send P

; 2 Caps

AppsKey & vk41::send A
AppsKey & vk53::send S
AppsKey & vk44::send D
AppsKey & vk46::send F
AppsKey & vk47::send G
AppsKey & vk48::send H
AppsKey & vk4A::send J
AppsKey & vk4B::send K
AppsKey & vk4C::send L

; 3 Caps

AppsKey & vk5A::send Z 
AppsKey & vk58::send X
AppsKey & vk43::send C
AppsKey & vk56::send V
AppsKey & vk42::send B
AppsKey & vk4E::send N
AppsKey & vk4D::send M

9 (изменено: AdcB, 2018-07-25 18:15:39)

Re: AHK: 3 клавиши вместо 2 возможных

ypppu, появилась ещё одна проблема - Не работают заглавные английские X и M.
Работает только X и только с левым шифтом.

10

Re: AHK: 3 клавиши вместо 2 возможных

Не знаю, возможно одна из программ, запущенных на компьютере, перехватывает Shift, X, M.

11 (изменено: stealzy, 2018-07-25 20:39:27)

Re: AHK: 3 клавиши вместо 2 возможных

AdcB, смотрите фокус:

; * нужна, чтобы AppsKey вызывалась / не вызывалась в сочетаниях с модификаторами,
; например Shift+Apps (расширенное контекстное меню в проводнике).
*AppsKey::Return  ; Нажатие клавиши будет посылаться в момент ее отжатияия,
*AppsKey Up::
	If (A_PriorKey = "AppsKey")  ; если в период м/у ее зажатием и отпусканием не были нажаты какие-либо еще клавиши.
		Send {Blind}{AppsKey}  ; Blind сохраняет зажатые клавиши зажатыми. Например, без этой опции вместо при нажатии Shift+Apps будет послано просто Apps.
	Return

#IF GetKeyState("AppsKey", "P")

	;NumPad
	pause::Numpad9
	ScrollLock::Numpad8
	PrintScreen::Numpad7
	Ins::Numpad4
	Home::Numpad5
	PgUp::Numpad6
	Del::Numpad1
	End::Numpad2
	PgDn::Numpad3
	\::Numpad0

	;F13-F24
	f1::F13
	f2::F14
	f3::F15
	f4::F16
	f5::F17
	f6::F18
	f7::F19
	f8::F20 
	f9::F21
	f10::F22
	f11::F23
	f12::F24

#IF

http://forum.script-coding.com/viewtopic.php?id=11195

12

Re: AHK: 3 клавиши вместо 2 возможных

stealzy, Круто! Буду знать, действительно классный способ, так AppsKey не блочится.

13

Re: AHK: 3 клавиши вместо 2 возможных

ypppu пишет:

Не знаю, возможно одна из программ, запущенных на компьютере, перехватывает Shift, X, M.

Я подключил ещё одну клавиатуру, зажал на основной AppsKey, а на другой зажал шифт и стал нажимать X и M, работает. Может не программа?

14 (изменено: AdcB, 2018-07-26 16:49:31)

Re: AHK: 3 клавиши вместо 2 возможных

stealzy, да действительно..
https://ibb.co/e1Z2To AppsKey & LShift
https://ibb.co/muNYZT AppsKey & RShift
https://ibb.co/dS0y18 AppsKey & RAlt
https://ibb.co/gv9rM8 AppsKey & RCtrl