AutoHotKey 2.0 CapsLock으로 한영전환 + 알림 추가 : 클리앙

4월 경에 Retaw님이 작성하셨던 글 https://www.clien.net/service/board/lecture/18685790CLIEN

에 보면 "캡스락 그리고 한영키가 작동할 때마다 모니터 한가운데에 알림을 띄워보면 어떨까 "라는 말씀을 하셨는데

한영키 보다는 캡스록이 동작했다는 표시가 필요해서

chatGPT의 도움을 받아서 아래와 같이 코드를 작성했습니다.

이미지를 넣을 수도 있는데,으로한영전환알림추가클리앙 이미지 만들기 귀찮고 경로 설정도 귀찮아서 우선 텍스트로 표시하도록 했습니다.


chatGPT가 자꾸 v1 코드를 집어넣으려고 해서 autohotkey documentation 링크를 계속 붙여주며 똑바로 하라고 갈궜네요.


그럼 도움이 되셨으면 좋겠습니다.


global myGui, isGuiVisible ; 전역 변수 선언 및 초기화isGuiVisible := false ; GUI 가시성을 추적하기 위한 플래그 변수; 프로그램 시작 시 GUI 객체를 생성myGui := Gui() ; GUI 객체 생성myGui.Opt("-SysMenu -Caption")myGui.SetFont("cBlue s32 q5 w700", "나눔스퀘어")myGui.Add("Text", "x35 y20", "CapsLock!") ; 표시할 텍스트 추가capslock:: {     global myGui, isGuiVisible ; 전역 변수 참조    ; GUI 표시 로직    While (GetKeyState("CapsLock", "P")) {  ; 키 눌림을 물리적으로 유지하는 동안        if (A_TimeSinceThisHotkey >= 300) {  ; 이 Hotkey 실행 후 300ms(0.3s) 지났다면            ; 텍스트 GUI 띄우기            if (!isGuiVisible) {  ; GUI가 보이지 않는 경우에만 Show 호출                myGui.Show("AutoSize Center") ; GUI 표시                isGuiVisible := true ; GUI 가시성을 true로 설정            }            SetCapsLockState !GetKeyState("CapsLock", "T") ; CapsLock 토글            KeyWait("CapsLock") ; 키 릴리즈까지 대기            myGui.Hide() ; 키 릴리즈 후 GUI 숨기기            isGuiVisible := false ; GUI 가시성을 false로 설정            Return ; Hotkey 종료        }    }    Send("{ vk15sc1F2}") ; 한영키 전달}


주석 2024-10-30 181228.png


팁과강좌