2022. 12. 20. AutoHotkey v2.0.0이 발표되었습니다.
AutoHotkey v2는 이전 버전과의 호환성을 희생하여 언어 및 명령 집합의 유용성과 편의성을 향상시키는 것을 목표로 합니다.
따라서 일반적으로 v1용으로 작성된 스크립트는 v2에서 변경하지 않으면 작동하지 않습니다.
구문은 훨씬 더 적은 단점과 함정으로 전반적으로 더 일관성이 있으며 기타 많은 개선이 이루어졌습니다.
상세 변경점은 다음 링크를 참조하세요 : https://www.autohotkey.com/docs/v2/v2-changes.htm
v2로 만든 스크립트는 아래와 같은 차이가 있는 모양이네요.
훌륭한 툴입니다.
상단 부분은 키대체, 하단 부분은 캡션락 키를 한/영 변환으로 사용하는 스크립트입니다.
캡스락 한영변환은 클리앙 댓글에서 본 스크립트인데 출처를 찾을 수가 없네요.간단하고 너무 잘 동작합니다.감사합니다.
ALT::return
!j:: SendInput {Down}
!k:: SendInput {Up}
!h:: SendInput {Left}
!l:: SendInput {Right}
!u:: SendInput {Home}
!i:: SendInput {End}
!d:: SendInput {Del}
!b:: SendInput {BS}
!m:: SendInput {Del}
!`;:: SendInput {PgDn}
!':: SendInput {PgUp}
^!h:: SendInput ^{Left}
^!l:: SendInput ^{Right}
+^!h:: SendInput ^+{Left}
+^!l:: SendInput ^+{Right}
+!j:: SendInput +{Down}
+!k:: SendInput +{Up}
+!u:: SendInput +{Home}
+!i:: SendInput +{End}
+!`;:: SendInput +{PgDn}
+!':: SendInput +{PgUp}
+!h:: SendInput +{Left}
+!l:: SendInput +{Right}
capslock::
KeyWait,capslock
if A_TimeSinceThisHotkey >= 250
SetCapsLockState, % (State:=!State) ? "On" : "Off"
else
Send, {vk15sc1F2}
return
/Vollago
https://www.clien.net/service/board/kin/10008815CLIEN
어쨌든 v2에서는 Caps Lock 키를 다른 방법으로 바꾼 상태에서 사용하도록 되어 있어서 약간 복잡하지만 저 위에 제가 적은 댓글의 첫번째 링크에 나와 있는 스크립트를 사용하면 되겠네요.
아 맞습니다.
다시 감사드리고 싶네요. 잘 쓰고 있습니다.
위 댓글에 적었듯이 v2 버전을 위한 CapsLock 관련 스크립트가 이미 있으니 그냥 그걸 사용하려고 생각했는데 동작이 안 되서 키 이름을 변경하고 마지막에 괄호가 빠진 것을 추가하고 해서 문제가 있어 보이는 부분을 수정했지만 여전히 길게 누르면 두가지 키가 동시에 동작할 때가 있는 것 같은 문제가 있어서 사용하기가 불편하네요.
그래서 제가 작성한 스크립트를 v2에서 동작하도록 적당히 수정해봤네요.
capslock::
{
try {
KeyWait "CapsLock"
if A_TimeSinceThisHotkey >= 300 ; in milliseconds.
SetCapsLockState !GetKeyState("CapsLock", "T")
else {
Send "{vk15}"
}
}
catch Error as err {
Send "{vk15}"
}
}
저는 윈도 11에서 시작 버튼을 마우스 오른쪽 버튼으로 눌러 메뉴에서 실행을 선택하여 표시된 실행 창에 shell:startup을 입력하고 확인을 눌러 시작 프로그램 폴더를 열고 시작 프로그램 폴더에 ahk 파일을 넣어 두니 잘 되는 것 같은데..
ahk 파일 위치가 강제되는게 싫으시면, AutoHotkey64.exe 파일의 바로가기를 만드시고
속성의 "대상" 뒷부분에 ahk 파일의 위치를 적어서 그 바로가기만 shell:startup 에 넣으시면 됩니다.
관리자 권한이 필요한 경우는 시작프로그램에 넣으면 잘 안 되서 작업스케줄러를 이용해야 합니다.
배치파일로 만들어 놓으면 나중에 사용하기 편하죠.
SCHTASKS /Create /f /ru administrators /tn 작업 이름 /sc ONLOGON /tr "작업 파일 경로" /rL HIGHEST
예) SCHTASKS /Create /f /ru administrators /tn 오토핫키 /sc ONLOGON /tr "c:\util\오토핫키\Autohotkey.exe" /rL HIGHEST
윈도우 설치시 제가 먼저 하는 작업인데 저는 시작 프로그램에 사용하는 프로그램을 추가하지 않고
Autohotkey.AHK 파일에 run 명령어로 프로그램들을 실행하는 방식을 사용합니다.