AutoHotkey вопрос.
В общем, я хотел бы видеть, когда CapsLock
нажатие одной key
будет производить Shift
+ key
На мой вопрос почти ответили в вопросе SuperUser здесь и посте AutoHotkey здесь.
С помощью там, что я могу достичь сейчас
- когда
CapsLock
, нажатие наa
приведет кA
, а также к другим буквам; - когда
CapsLock
, нажатие1
будет производить!
,2
будет производить@
, а также для других клавиш со смещенными символами, например-
=
;
Особая часть моего вопроса в том, что я хочу, чтобы такое поведение происходило с клавишами со стрелками.
Чтобы быть конкретным:
- когда
CapsLock
, нажатие клавиши со стрелкойRight
вызоветShift
+Right
, а также дляLeft
,Up
иDown
; - когда
CapsLock
, нажатиеCtrl
+Right
приведет кCtrl
+Shift
+Right
; - Фактически, я переназначил ключи с помощью
LAlt & L::Send {Right}
чтобыAlt
+L
создавал клавишу со стрелкойRight
. Теперь я хочу видеть, когдаCapsLock
,Alt
+L
будет производитьShift
+Right
.
Для вашей информации я выложил решение от Icarus с форума AutoHotkey здесь
#SingleInstance Force
Keys := "abcdefghijklmnopqrstuvwxyz1234567890-=[];'\,./"
Loop parse, keys
Hotkey $%A_LoopField%, PressKey
Return
PressKey:
StringReplace ThisHotkey, A_ThisHotkey, $
If( GetKeyState( "CAPSLOCK", "T" ) )
SendInput +%ThisHotkey%
Else
SendInput %ThisHotkey%
Return
ESC::ExitApp
Это работает для пункта 1 и пункта 2, но я не знаю, как адаптировать его для клавиш со стрелками для пунктов 3, 4 и 5. Я попытался добавить {Right}
к Keys
в приведенном выше сценарии, но это не сработает.
Любая помощь высоко ценится!