하드웨어 USB 키패드를 매크로 키패드로 사용하기
2023.01.02 00:25
안녕하세요? 이전 마우스편- https://windowsforum.kr/lecture/18830777 -에 이어 키보드편입니다.^^
윈도우나 앱에서 단축키 지정시 보통 2개 조합, 또는 3개 이상의 키 조합으로 되는데 한손으로 누르기 힘든 경우도 있습니다. 늘릴수 있는 갯수도 제한되는 것 같구요. 이 게시물은 USB 키보드나 키패드를 추가하여 매크로 전용으로 사용하여 단축키를 단순화 시키거나 갯수를 늘려 보는 것 입니다. 하단에 추가 키보드 없이 펑션키나 숫자키패드를 이용하는 방법도 있으니 여분 키보드 없이 사용하실 분도 참고해보십시오.
키보드나 마우스를 추가하여도 윈도우에서 같은 키는 같은 신호로 처리하기 때문에 입력장치를 구별되게 인식할 수 있는 SW가 필요합니다. 검색해보니 비행 시뮬레이션용으로 만들어졌다가 USB 장치들을 지원하게된 luamacros, HIDmacros가 있고, 드라이버 형태로 지원하는 interception이라는 것에 autohotinterception으로 wrapping하여 autohotkey를 이용하는 방법이 있는 것 같습니다.
예전에 노트북과 tenkeyless 키보드 사용시 같이 사용했던 Q'senn usb 키패드로 예를 들어 보겠습니다.
- Num Lock이 켜진 상태와 꺼진 상태의 28개 정도 키를 단일키로 매크로나 복잡한 키조합을 전송할 수 있음.
- 숫자키패드 윈도우 스캔 코드 (전채 스캔코드는 댓글에 첨부합니다.)
읽기 귀찮다 싶으시면 오토핫키를 사용하시는 분은 3번, 사용하지 않는 분은 2번으로 직행하십시오. ^^
1. luamacros ; https://github.com/me2d13/luamacros
- PE에서 WinXShell 에서 보았던 lua code를 사용하네요. https://www.lua.org/
- 다운로드 ; http://www.hidmacros.eu/luamacros.zip
- 특이하게 lua를 모르면 사용하지 말라고 합니다. HIDmacros 사용하라고...
- 단순한 key mapping만 할 것이라면, 생소하지만 검색으로 lua code 조금씩 찾아가며 설정할 수 있을 것 같습니다.
- sample script 첨부함; https://gist.github.com/trevren11/a4099bfc650643de6aaff223a046851a 참고하였습니다.
- 실행하는 방법은 LuaMacros.exe를 실행하여 스크립트를 열어서 화살표를 눌러 실행하는 방법과, LuaMacros.exe -r "스크립트.lua" 형식으로 자동 실행할 수 있습니다.
- 스크립트 상부에 lmc.minimizeToTray = true 와 lmc_minimize() 는 실행시 최소화되고 트레이로 보내라는 것이고 첫줄은 TTS라서 지워도 됩니다.
- lmc_device_set_name('MACROS', '55A2BC') 부분의 55A2BC 부분을 자신의 USB 장치에 맞춰서 설정하여야 합니다.
- 그림처럼 장치관리자에서 확인할 수 있고 두번째로 소개할 HIDmacros의 Devices에서 확인할 수도 있습니다. 장치를 특정하기 위해 장치관리자에서 사용중지시켜 볼 수 있습니다.
- 아래쪽은 각 키 버튼에 대한 실행할 예제를 몇가지 넣었습니다.
- 단점으로 해당 장치 전체가 점유되어 할당되지 않은 키는 동작하지 않습니다.(원래 키 입력도 안됨)
2. HIDmacros ; https://www.hidmacros.eu/
- 1번 보다는 쉽고, 키 시퀀스 이용이나, vbscript나 jscript를 이용하여 매크로를 실행할 수 있습니다.
- 다운로드 ; https://www.hidmacros.eu/HidMacros.zip , 설정탭에서 언어를 korean으로 바꾸십시오.
- Devices(장치) 탭에서 해당 장치를 선택후 Macros탭에서 New로 하나씩 key mapping이나 매크로 script를 지정합니다.
- '키보드 시퀀스 보내기'와 '프로그램 실행', '스크립트' 중에 실행 형태를 선택하여 설정합니다.
- '키보드 시퀀스 보내기'에 단축키나 문장을 넣을 수 있지만 문장 입력시 영문으로 설정하고 한글입력 모드이면 한글 전송이 됩니다.
- Num Lock Off 상태에서 스캔코드가 잘 못 입력됩니다. hidmacros.xml을 열어서 직접 수정해줍니다.
- luamacros와 다르게 설정된 키만 매크로로 실행되고 나머지 키는 원래 키로 동작합니다.
- autohotkey를 사용하지 않은 사용자에게는 좋은 선택이 될 것 같습니다.
3. AutoHotInterception ; https://github.com/evilC/AutoHotInterception
- 먼저 Interception 드라이버 설치 후 재부팅, Autohotkey에서 AutoHotInterception.ahk를 include하여 사용합니다.
3-1 Interception ; https://github.com/oblitum/Interception
--- 다운로드 ; https://github.com/oblitum/Interception/releases/download/v1.0.1/Interception.zip
3-1 AHI 다운로드 ; https://github.com/evilC/AutoHotInterception/releases/download/v0.8.0/AutoHotInterception.zip
--- 관리자 권한으로 드라이버 설치 ; install-interception.exe /install, 제거는 /uninstall, 재부팅 필요합니다.
3-3 설치 편하시도록 첨부파일에 필수 파일만 추려서 넣었습니다. 압축 풀고 driver-install-and-unblock.bat을 실행하십시오.
3-4 AHI 사용한 첨부 ahk 파일 간단 설명
--- monitor.ahk 실행하여 자신에 맞는 VID /PID를 확인하여 ahk스크립트 GetKeyboardId(0x173D, 0x0001, 1) 부분을 수정하십시오.
--- Left-Mouse-Buttons-Swap.ahk ; https://windowsforum.kr/lecture/18830777 에 소개한 것으로 AHI 기본 사용법 파악용.
--- Qsenn-numpad.ahk : 큐센 숫자키패드를 대상으로 설정하는 예제입니다.
3-5 AHI와 무관한 AHK 스크립트 첨부 파일 설명
--- F1-F12-LongPress.ahk : 펑션키를 짧게 누르면 원래의 기능, 조금 길게 누르면 설정된 프로그램을 실행합니다.
--- NumLockOff.ahk : NumLock off 상태에서 숫자키패들 0~9.을 단축키로 사용합니다.
위 예제들에 대해서는 몇 가지만 설명드립니다. 편집기로 열어보면 대충 뭘하는지 알 수 있습니다.
- Left-Mouse-Buttons-Swap.ahk는 개념 이해에 대한 참고만 하십시오. 실사용은 어렵습니다. 일주일전쯤 올린 마우스편을 참고...
- Qsenn-numpad.ahk에서 BS 짧게 누르면 멀티창에서 ctrl+{f4}로 해당창을 닫고, 좀 길게 누르면 alt+{f4}로 해당 앱을 종료합니다.
--- 크롬을 예로 들면 BS 짧게 누르면 탭닫기, 길게누르면 크롬 종료
--- +키에 복사, -키에 잘라내기, Enter에 붙여넣기, *에 미디어 재생/정지, /에 mute 등
- NumLockOff.ahk에서 NumpadEnd키는 clcl클립보드 "옵션-액션"에서 템플릿중 댓글용 상용구를 모아두고 사용할 수 있는 예제입니다.
--- Qsenn-numpad.ahk와 NumLockOff.ahk에서 ins에 ctrl+z 실행취소, del에 ctrl+y 다시실행, 앞뒤 이동, 볼륨조절 등
4. 클립보드 유틸 CLCL 소개
- 위 NumLockOff.ahk에 단축키 설정되어 있는 것과 관련되어 있어서 조금 설명드립니다.
- 관련 게시물들을 올린적이 있습니다. https://windowsforum.kr/lecture/16357131 , https://windowsforum.kr/data/7635265
- 기능 하나하나가 버릴 것이 없이 알찬 유틸인 것 같습니다. 여기서는 상용구 사용하는 방법을 간단히 요약합니다.
- 먼저 옵션-액션-추가 합니다.
- 다음 뷰어-템플릿에서 적당히 구성합니다.
- 상용구 사용할 곳에서 해당 단축키 실행
- 이런 상용구를 분야별로 만들어 사용할 수 있고,
이처럼 추가하지 않고도 기본 alt+c 를 누르면 최근 클립보드 히스토리와 템플릿이 나타납니다.
- 또 액션에 추가하여 심플한 툴바로도 사용가능합니다.
여분의 키보드나 한손 (게이밍) 키보드 등을 효율적으로 사용할 수 있을 것 같고, 전문 프로그램 사용하시는 분은 잘 세팅하면 유용할 것 같습니다. key mapping, macro program 등 다른 다양한 방법도 있겠지만 키조합 보다는 단일키를 활용해보자는 시도였습니다. ^^
늦어서... 생각나는 것 있으면 내일 더 추가하겠습니다. 간단히 쓰려고 시작한 것이 시간이 많이 걸리네요.ㅜㅜ
댓글 [7]
-
지후빠 2023.01.02 00:33
-
cungice 2023.01.02 08:47
수고 많으셨습니다. 감사합니다.
-
지후빠 2023.01.02 17:40
감사합니다.^^
-
왕초보 2023.01.02 14:46
덕분에 새로운것을 이런것이 있다는것도 배우게 되었습니다
웃음이 가득한 하루가 되시길 바랍니다
-
지후빠 2023.01.02 17:41
조금씩 바꿔가며 사용하는 것을 정리 차원에서 올렸습니다. 감사합니다.^^
-
XCOPY 2023.01.02 20:19
이거 잘 하면 생명을 불어 넣어줄수 있겠는데요...
꼭 한번 해봐야 할 일이 생긴듯 합니다.
새해 선물 정말 감사합니다.
지후빠님도 올 한해 좋은 일 가득 하시고 대박 나시길 간곡히 부탁드립니다.
제일 좋은것은 건강입니다요.....
-
지후빠 2023.01.03 13:58
감사합니다.^^ 새해 건강하십시오.~.~
여분 키보드 없으면 F1~F12 설정하는 것도 나름 괜찮은 것 같습니다.ㅋ~
윈도우 키보드 스캔코드이고 숫자키패드의 "-" 스캔코드는 109입니다.
108- 출처; http://reipc.com/3190386
이런 여분의 키보드 있으시면 활용을...