autohotkey를 이용한 UDF버튼 필요없는 사용자버튼 매핑
autohotkey 키매핑프로그램 상당히 유용한데 잘 안쓰시는지 저번에 올린건 반응이 없네요.. ㅠ.ㅜ
그래서 좀더 유용한거 다시~ ㅎㅎ
참고로 전 삼성 Q1울트라 N101 모델 사용하고 있습니다.
울트라 사용자들은 상당 UDF버튼을 눌러 각 그룹별로 사용자키에 키들을 할당해서 쓰는데
이게 인터넷, 영화, 게임 각각 설정해놓고 할때마다 UDF 버튼을 눌러 항목을 바꿔줘야 하니 상당히 불편하죠.
영화보는중 되감기 누르려는데 키설정 안되어있으면 멈춰서 윈도우나가서 바꾸고 다시 들어오고..
그래서 이래저래 만들어봤습니다.
설정 바꾸는것 없이 그냥 누르면 인터넷이냐 영화냐등등에 따라서 원하는 값으로 할수있습니다.
다시 말해 인터넷할땐 아래버튼이 스크롤다운인데 영화볼때 볼륨다운이 되는거죠.
내용이 길으니 그냥 천천히 읽어보세요.
===============================================================================================
SC178 up :: // 다이얼키버튼입니다.
Run, C:\WINDOWS\system32\osk.exe // 누르면 윈도우자체내장 화상키보드 실행합니다.
return // 원래있는 다이얼키가 편하시면 삭제요망
SC11A :: // avs 버튼입니다.
Run, C:\Program Files\The_KMPlayer\KMPlayer.exe // 누르면 kmp플레이어 실행합니다. 각자 경로 바꿔주세요.
return // 역시 원치않으시면 삭제
@::Esc // @ 버튼 누르면 esc 로 작동합니다.
-::Lwin // - 버튼 누르면 윈도우키로 작동합니다.
// 버튼 특성인지 연계동작은 안됨..
// 다른걸로 바꾸시거나 원치않으시면 삭제
^Numpad0::Send,{F10} //숫자키상태에서 컨트롤키와 1을 누르면 F1로 동작합니다.
^Numpad1::Send,{F1} //마찬가지로 컨트롤+2는 F2, 컨트롤+3은 F3..
^Numpad2::Send,{F2} //이건 뭐 쓰지않으면 키 자체에는 영향이 없으니까
^Numpad3::Send,{F3} //그냥 나둬도 좋으실듯..
^Numpad4::Send,{F4} //Send뒤에 다른 명령어 넣으시는것도 좋으실듯.
^Numpad5::Send,{F5}
^Numpad6::Send,{F6}
^Numpad7::Send,{F7}
^Numpad8::Send,{F8}
^Numpad9::Send,{F9}
#IfWinActive, ahk_class IEFrame //여기가 중요
#G::Send,{WheelDown} // IEFrame 이라는게 인터넷입니다. 웹마도 같더군요.
#H::Send,{Browser_Forward} // 활성창이 인터넷이면 각 버튼별로 할당된 값 실행
#J::Send,{WheelUp} // 앞으로, 뒤로, 휠다운, 휠업등
#k::Send,{Browser_Back}
#IfWinActive, ahk_class Winamp v1.x //이 녀석이 kmp플레이어 입니다.
#G::Send,{Down} // 활성창이 kmp플레이어면 각 버튼별로 할당된 값 실행
#H::Send,{Right} // 5초앞으로, 5초뒤로, 볼륨업, 볼륨다운
#J::Send,{Up}
#k::Send,{Left}
#IfWinActive, ahk_class GomPlayer1.x // 이 녀석은 곰플레이어
#G::Send,{Down} // 활성창이 곰플레이어면 각 버튼별로 할당된 값 실행
#H::Send,{Right} // kmp플레이어랑 마찬가지 입니다.
#J::Send,{Up}
#k::Send,{Left}
#IfWinActive // 이 녀석은 그외..
#G::Send,{WheelDown} // 즉 인터넷이나, kmp, 곰플등 설정된 값 이외에
#H::Send,{Browser_Forward} // 상황에서 적용되는 값입니다.
#J::Send,{WheelUp}
#k::Send,{Browser_Back}
===========================================================================================================
여기까지가 끝입니다.
왠지 어려워보이는데 한번 따라해보시길..
일단 UDF 실행해서 항목을 새로 만듭니다. 저는 autohotkey로 했습니다.
그리고 키값에 임의로 값을 넣는데 겹치면 안되니까 안쓰는 키로 넣어야합니다.
위에 소스에서 #이란건 윈도우키란 뜻입니다.
저같은 경우엔
윈도우키+J
윈도우키+K 윈도우키+H
윈도우키+G
이런식으로 할당했습니다. 윈도우에서 안쓰는키로 넣어야 작동합니다. 저랑 같이 하시는게 좋으실듯..
기존 UDF 설정 그대로 둔 상태에서 추가만 하세요.
위에 있는 내용중
#G::Send,{Down}
앞에 #이 윈도우키란뜻입니다.
윈도우키+G 면 다운이란 명령을 보내라 이런 뜻입니다.
# 윈키
! 알트
^ 컨트롤
+ 쉬프트
^G 면 컨트롤 + G 입니다.
여기까지 하셨으면 autohotkey를 설치합니다.
첨부해놓은 파일을 설치하면 아래 작업표시줄에 초록색 H 사각형 모양이 생겼을겁니다.
거기에 대고 마우스 우클릭하면 EDIT THIS SCRIPT 메뉴있는데 누르면 메모장이 뜹니다.
그 메모장안에 있는거 다 지우시고 첨부한 Ultra 텍스트파일 안에 있는 내용 복사하셔서
넣으신후 저장합니다. 그리고 다시 메뉴 누르면 있는 RELOAD THIS SCRIPT를 누르시면
위에 내용대로 실행됩니다. 그리고 시작메뉴에 autohotkey 넣으시면 다음부턴 그냥 되는거죠.
여기까지가 설치방법이고 사실은 제가 넣은 텍스트파일 내용도 본인에 맞게 먼저 수정해줘야합니다.
일단 kmp플레이어 경로 수정하셔야 하고
ahk_class IEFrame 요건 인터넷인데 아마도 다 똑같을것 같은데
곰플레이어나 kmp는 다를지도 모르니까 확인하셔야할듯..
다음은 원하는 실행프로그램 class 이름 확인하는 방법입니다.
autohotkey 메뉴를 누르시면 메뉴중에 WINDOW SPY 메뉴 누르시면 창이 뜹니다.
그 상태에서 원하시는 프로그램 실행시키고 WINDOW SPY 창 보시면 ahk_class xxxx 이런식으로
뜰겁니다. 그게 autohotkey에서 인식하는 프로그램 이름입니다.
그럼 그 이름 기억해놓으시고
#IfWinActive, ahk_class 클래스이름
#G::Send,{Down}
#H::Send,{Right}
#J::Send,{Up}
#k::Send,{Left}
이런식으로 수정하시거나 중간에 삽입시키면 됩니다.
삽입시키실땐 그외 실행하라고 한거 위쪽에 넣으셔야합니다.
휴.. 얼추 다 썼네요. 내용중 필요없는 부분은 지우시거나 바꾸세요. ㅎㅎ
명령에 활용할 키들은
http://www.autohotkey.com/docs/KeyList.htm
여기 보시면 그대로 쓸수있는 키들 이름 있습니다.
설명이 너무 어렵게 썼나 모르겠는데 더 자세히 하고 싶으시면 autohotkey 클럽 가입하셔서
공부 해보시기 바랍니다.
위에 내용에 대한 궁금증은 답글 달아주세요..
아는데까지는 설명드리겠습니다.
참고로 마메나 파이널번에서는 위에 내용 안먹힙니다.
그것때문에 하는건데.. ㅠ.ㅜ
하여간 할때마다 UDF버튼 눌러서 바꿀 필요없으니까 편합니다.
딜레이없이 잘 먹힙니다. ㅎㅎ