강좌 / 팁

하드웨어 USB 키패드를 매크로 키패드로 사용하기

2023.01.02 00:25

지후빠 조회:1898 추천:15

안녕하세요? 이전 마우스편- https://windowsforum.kr/lecture/18830777 -에 이어 키보드편입니다.^^

 

윈도우나 앱에서 단축키 지정시 보통 2개 조합, 또는 3개 이상의 키 조합으로 되는데 한손으로 누르기 힘든 경우도 있습니다. 늘릴수 있는 갯수도 제한되는 것 같구요. 이 게시물은 USB 키보드나 키패드를 추가하여 매크로 전용으로 사용하여 단축키를 단순화 시키거나 갯수를 늘려 보는 것 입니다. 하단에 추가 키보드 없이 펑션키나 숫자키패드를 이용하는 방법도 있으니 여분 키보드 없이 사용하실 분도 참고해보십시오.

 

키보드나 마우스를 추가하여도 윈도우에서 같은 키는 같은 신호로 처리하기 때문에 입력장치를 구별되게 인식할 수 있는 SW가 필요합니다. 검색해보니 비행 시뮬레이션용으로 만들어졌다가 USB 장치들을 지원하게된 luamacros, HIDmacros가 있고, 드라이버 형태로 지원하는 interception이라는 것에 autohotinterception으로 wrapping하여 autohotkey를 이용하는 방법이 있는 것 같습니다.

 

예전에 노트북과 tenkeyless 키보드 사용시 같이 사용했던 Q'senn usb 키패드로 예를 들어 보겠습니다.

- Num Lock이 켜진 상태와 꺼진 상태의 28개 정도 키를 단일키로 매크로나 복잡한 키조합을 전송할 수 있음.

- 숫자키패드 윈도우 스캔 코드 (전채 스캔코드는 댓글에 첨부합니다.)

keypadcode.jpg

 

읽기 귀찮다 싶으시면 오토핫키를 사용하시는 분은 3번, 사용하지 않는 분은 2번으로 직행하십시오. ^^

 

keyboard-macro.zip

 

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에서 확인할 수도 있습니다. 장치를 특정하기 위해 장치관리자에서 사용중지시켜 볼 수 있습니다.

- 아래쪽은 각 키 버튼에 대한 실행할 예제를 몇가지 넣었습니다.

- 단점으로 해당 장치 전체가 점유되어 할당되지 않은 키는 동작하지 않습니다.(원래 키 입력도 안됨) 

hid-instance.jpg

 

2. HIDmacros ; https://www.hidmacros.eu/

- 1번 보다는 쉽고, 키 시퀀스 이용이나, vbscript나 jscript를 이용하여 매크로를 실행할 수 있습니다.

- 다운로드 ; https://www.hidmacros.eu/luamacros.zip , 설정탭에서 언어를 korean으로 바꾸십시오.

- Devices(장치) 탭에서 해당 장치를 선택후 Macros탭에서 New로 하나씩 key mapping이나 매크로 script를 지정합니다.

- '키보드 시퀀스 보내기'와 '프로그램 실행', '스크립트' 중에 실행 형태를 선택하여 설정합니다.

- '키보드 시퀀스 보내기'에 단축키나 문장을 넣을 수 있지만 문장 입력시 영문으로 설정하고 한글입력 모드이면 한글 전송이 됩니다.

- Num Lock Off 상태에서 스캔코드가 잘 못 입력됩니다. hidmacros.xml을 열어서 직접 수정해줍니다.

- luamacros와 다르게 설정된 키만 매크로로 실행되고 나머지 키는 원래 키로 동작합니다.

- autohotkey를 사용하지 않은 사용자에게는 좋은 선택이 될 것 같습니다.

hid-instance-1.jpg

hidmacros-1.jpg

hidmacros-2.jpg

 

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 파일 간단 설명

ahi-vid-pid.jpg

--- 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 

- 기능 하나하나가 버릴 것이 없이 알찬 유틸인 것 같습니다. 여기서는 상용구 사용하는 방법을 간단히 요약합니다.

- 먼저 옵션-액션-추가 합니다.

clcl-option-action-add.jpg

- 다음 뷰어-템플릿에서 적당히 구성합니다.

clcl-viewer-template-add.jpg

- 상용구 사용할 곳에서 해당 단축키 실행

clcl-action-popup.jpg

- 이런 상용구를 분야별로 만들어 사용할 수 있고,

  이처럼 추가하지 않고도 기본 alt+c 를 누르면 최근 클립보드 히스토리와 템플릿이 나타납니다.

clcl-action-popup-alt-c.jpg

- 또 액션에 추가하여 심플한 툴바로도 사용가능합니다.

clcl-toolbar.jpg

 

 

여분의 키보드나 한손 (게이밍) 키보드 등을 효율적으로 사용할 수 있을 것 같고, 전문 프로그램 사용하시는 분은 잘 세팅하면 유용할 것 같습니다. key mapping, macro program 등 다른 다양한 방법도 있겠지만 키조합 보다는 단일키를 활용해보자는 시도였습니다. ^^

 

늦어서... 생각나는 것 있으면 내일 더 추가하겠습니다. 간단히 쓰려고 시작한 것이 시간이 많이 걸리네요.ㅜㅜ

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
334 하드웨어| 메인보드 모델명 확인하기 [5] gooddew 3633 22 03-28
333 하드웨어| DIY 조립컴 10단계완성법 [8] 항해하는자 3920 21 06-08
332 하드웨어| BIOS, CMOS, UEFI 는 무엇인가? [15] gooddew 3888 19 12-31
331 하드웨어| VHDMAN 으로 순간 복구 구현하기 (UEFI) [9] gooddew 3128 19 10-18
330 하드웨어| [하드] 최신 리얼텍 오디오 드라이버 받는 방법(201901) [10] 깨블리 5712 16 01-11
» 하드웨어| USB 키패드를 매크로 키패드로 사용하기 [7] 지후빠 1898 15 01-02
328 하드웨어| 파워 서플라이 배선도 [10] DOS 6238 13 06-27
327 하드웨어| HDD Firmware 를 복사해서 데이터 복구하기 [4] gooddew 1951 13 05-09
326 하드웨어| 구형 메인보드에서 nvme SSD 사용하기 - BIOS [26] 디폴트 6141 12 02-05
325 하드웨어| USB 3.0 과 2.4GHz 간섭 문제 해결 - 동글을 연장선연결 [8] 메리아 2998 12 02-25
324 하드웨어| GIGABYTE BIOS 복구하기 [3] 밤이슬216 1820 11 03-12
323 하드웨어| 인텔 USB 3.0 에 대하여... (내용추가) [21] 디폴트 6632 10 10-10
322 하드웨어| 외장메모리 에러(Err) 포맷하지 않고 해결하기 [8] 단디해라 5067 10 07-20
321 하드웨어| 하드 디스크 PCB 전원부 수리하기 [10] gooddew 2925 9 06-21
320 하드웨어| VA모니터 잔상 없애는 방법 = 어느정도 효과 있습니다... [4] 우주선 3268 9 09-23
319 하드웨어| 하드 디스크의 파손된 커넥터 수리 방법 [8] gooddew 3614 9 05-16
318 하드웨어| 그래픽 카드 펌웨어 복구하기 [3] gooddew 2641 8 07-11
317 하드웨어| 노트북 BIOS 암호를 분실 했을 때 찾는 방법 [6] gooddew 3143 8 05-23
316 하드웨어| 하드디스크의 비밀아닌 비밀. [34] 5tar★8ros 6040 7 02-22
315 하드웨어| PE 드라이버를 준비하는 Tip [8] 집앞의_큰 4384 7 09-02
XE1.11.6 Layout1.4.8