잘못된 형식의 이미지 링크입니다.
이것저것 단축키를 많이 사용하는 사람이라면 어느 순간 한 키보드로는 타이핑을 하고 다른 키보드로는 모디파이어 키 없이
단일 키로만 미리 설정해놓은 단축키를 누르면 더 편리하겠다는 생각을 한 번쯤은 해봤을 것입니다.
물론 좋은 생각이지만 안타깝게도 윈도우 자체에서 사용할 수 없는 방법입니다.
섣불리 생각대로 그냥 키보드 하나 추가해서 그 키보드의 A 키에 그림판 실행 단축키를 설정하면 어떤 키보드의 A 키를 눌러도
그림판만 계속 실행되니 A나 ㅁ을 입력할 수 없게 됩니다.
윈도우 자체로는 키보드별로 키 매핑을 하거나 단축키를 설정할 수 있는 방법을 지원하지 않습니다.
이건 KeyTweak,SharpKeys 같은 키 매핑을 할 수 있는 프로그램에서도 안 됩니다.
키보드별로 키 매핑을 할 수 있는 메뉴조차 없고 그냥 연결한 모든 키보드에 키 매핑이 되어버립니다.
HotkeyP , LeoMoon HotKeyZ 같은 단축키 설정 프로그램을 사용해도 마찬가지입니다.
그런데 대부분의 맥 유저들은 이미 아시겠지만 맥에는 키보드별로 키 매핑을 하거나 단축키를 설정할 수 있는
Karabiner-Elements , ControllerMate 같은 프로그램들이 존재합니다.
그러니 윈도우를 멀리하고 맥을 사용하면 됩니다.
농담이고요.
윈도우 자체에서 안 되니 해당 용도로 사용하기 위해 매크로 키보드를 구입하는 사람들도 있습니다.
이런 키보드들은 전용 소프트웨어도 지원하고 스트림 덱 같은 장비는 LCD까지도 지원합니다.
그 밖에 분문에 일일이 언급하기 힘든 다양한 매크로 키보드나 관련 장비가 존재합니다.
해당 용도로 사용하기 위해 질문을 해도 매크로 키보드나 관련 장비를 구매해서 사용하라는 답변만 달립니다.
그런데 문제는 가격입니다.
물론 개인 차가 있겠지만 용도에 비해 가격이 비싸다고 생각해서 구매를 망설이는 사람들도 많고
아예 대체 방법을 찾아 사용하는 사람들도 존재합니다.저 역시 그렇습니다.
최대한 저렴한 방식으로 키보드를 직접 만들어 사용하기도 하고
손재주가 없거나 만들기 귀찮은 사람들은 남은 스마트폰이나 태블릿을 활용할 수 있는 Touch Portal 앱을 사용하기도 하고
아예 7인치 정도의 터치스크린을 구매해서 사용하기도 합니다.
그런데 일반 키보드를 사용해서 키보드별로 키 매핑을 하거나 단축키를 설정할 수 있는 프로그램이
윈도우에도 이미 있습니다.따라서 저는 프로그램을 사용하기로 했습니다.
물론 하드웨어를 이용하면 전용 소프트웨어가 있으니 필요한 기능을 쉽게 설정할 수 있고
소프트웨어로 스캔할 수 없는 FN 키도 매핑을 할 수 있습니다.아예 하드웨어 자체에 세팅 값을 저장할 수도 있고
또 일부 장비는 LED나 LCD를 지원해서 보기에도 이쁩니다.특정 장비는 일반 키보드에서 지원하지 않는 키나 버튼,다이얼도
존재합니다.게임을 많이 하는 사람들은 매크로 차단 걱정 없이 사용할 수도 있죠.
그 밖에 여러 가지 이유로 하드웨어를 구매하는 사람들도 많습니다.
하지만 저는 일반 키보드, 심지어 다이소 5,000원짜리 키보드를 매크로 키보드처럼 사용할 수 있다면
반대로 매크로 키보드나 관련 장비를 굳이 구매할 필요가 없다고 생각했습니다.
오히려 프로그램 사용 이후에 지극히 제 관점에서는 해당 용도에 필요한 하드웨어에 대한 관심이 뚝 떨어졌습니다.
나중에 게임 매크로 정도 사용하면 혹시 필요할지 모르겠으나 저는 싱글 게임만 하기 때문에 그런 일은 없을 것 같고
집에 남는 일반 키보드들이 이미 있기 때문에 돈이 거의 들지 않아 오히려 좋았으며
현재도 매우 만족하며 잘 사용하고 있습니다.
따라서 저는 해당 용도로 꼭 하드웨어가 필요하지 않은 사람들을 위해 소프트웨어를 소개하겠습니다.
이 프로그램 방식에 적합한 최적의 사용자는 노트북에 이미 USB 일반 키보드를 연결해서 사용하고 있는 사람들입니다.
특히 노트북 일부 키가 고장 나서 수리 대신 USB 일반 키보드를 연결해서 사용하고 있다면 대개 노트북 키보드는 놀고
USB 일반 키보드만 사용하고 있을 텐데요.노트북 키보드도 고장 난 키를 제외한 나머지 키들을 모디파이어 키 없이
단일 키만 눌러서 단축키 용도로 다시 활용할 수 있습니다.
잘못된 형식의 이미지 링크입니다.
잘못된 형식의 이미지 링크입니다.
무려 14개의 키보드에 1,000개의 이모티콘을 부여해 사용하는 Tom Scott
(이 정도면 듀얼 모니터에 아이콘 가득 채운 사람보다 오히려 찾기 힘든 게 아닐지;;)
잘못된 형식의 이미지 링크입니다.
http://www.hidmacros.eu/download.php
Hid Macros
키보드별로 키 매핑을 하거나 단축키를 설정할 수 있는 윈도우용 프로그램입니다.
해당 용도의 영상이나 게시물을 보면 대부분 이 프로그램을 추천합니다.
DIY 사이트로 유명한 instructables나 조작 키가 많이 필요한 비행 시뮬레이터 포럼에서도 추천하는 글이 있었으며
한국어 웹에서도 소수의 유저에 의해 추천 사용기가 검색됩니다.
참고로 100% 프리웨어이며 설치 과정이 필요 없는 무설치 프로그램입니다.
단 프로그램 최초 실행시에 레지 관련 에러가 나는데 우클릭후 관리자 권한으로 실행하면 해결됩니다.
한국에서는 별로 유명하지 않은 것 같은데 신기하게도 프로그램 자체에서 한국어를 지원했습니다.
잘못된 형식의 이미지 링크입니다.
장치란을 보면 현재 컴퓨터에 연결된 키보드를 구분해서 인식해주는 것을 알 수 있습니다.
잘못된 형식의 이미지 링크입니다.
참고로 도움말에 없는 Win 키는 #를 입력해서 사용하면 됩니다.
예를 들어 Win + 1 키는 #1 입니다.
잘못된 형식의 이미지 링크입니다.
개인적인 생각이지만 많은 사람들이 이 프로그램을 추천하는 이유가 프리웨어에 도움말만 읽어보면 쉽게 사용할 수 있는
GUI 방식의 직관적인 프로그램 구조가 한몫했다고 봅니다.
사진처럼 2번째 키보드에서 C를 누르면 클리앙으로 접속됩니다.물론 1번째 키보드의 C는 문자 입력만 되고요.
키보드별로 개별 인식하여 단일 키에 자주 사용하는 프로그램 실행, 자주 가는 사이트 접속 기능을 만들거나
모디파이어 키 없이 키 매핑하는 단순한 작업 정도는 대부분의 사람들이 쉽게 설정해서 사용할 수 있습니다.
그런데 사용해본 결과 큰 문제는 되지 않지만 Hid Macros에 몇 가지 단점이 존재합니다.
먼저 모디파이어 조합의 단축키는 스캔할 수 없으며 따라서 이러한 키들은 키보드별로 개별 인식하지 않습니다.
오로지 단일 키만 스캔이 가능합니다.
그런데 이건 이해가 갑니다.모디파이어 조합의 단축키는 이미 키보드 시퀀스 보내기를 통해서 단일 키로 매핑해서 사용할 수 있으며
애초에 일반 키보드를 추가하고 모디파이어 키 없이 단일 키만 눌러서 더 편리하게 사용하는 게 원래 목적이니깐요.
Hid Macros 유저들도 이 점에 대해서는 크게 개의치 않는 듯 했습니다.
또한 Pause 키와 Win 키 , Alt 키 , Caps Lock 키는 사용할 수 없습니다.
제가 해당 키에 사용해 본 결과 아예 안 먹히고 Win 키의 경우에는 시작 메뉴가 나타납니다.
비록 저 키들에 매핑은 못 하지만 알파벳 A ~ Z 키만 사용해도 26키를 추가해서 사용할 수 있습니다.
26키로 부족하다면 숫자 키,기능 키를 활용하면 총 48키를 사용할 수 있습니다.
텐키나 다른 키까지 활용하면 최소 60키 이상은 사용할 수 있겠죠.60키까지 사용하는 사람도 아마 별로 없을 겁니다.
20키도 안 되는 일반 키패드만 추가해서 사용하는 사람도 있습니다.
그러니 딱히 문제는 안 됩니다.
마지막으로 한글 상용구는 사용이 안 되고 고급 유저를 위한 스크립트 기능은 부족합니다.
사실 한글 상용구가 안 되는 건 영어권 제작자가 만든 프로그램에서 흔히 볼 수 있는 문제입니다.
아무튼 둘 다 오토핫키 같은 프로그램을 이용해서 스크립트를 미리 짜놓고 키보드 시퀀스 보내기를 활용하면
약간 번거로울 뿐 해결은 됩니다.
일부 유저도 이미 그런 방식으로 Hid Macros을 사용하고 있습니다.
이렇게 일부 단점이 존재하지만 큰 문제는 아니라서 쓸만한 프로그램입니다.
하드웨어 장비 없이 일반 키보드를 추가해서 타이핑에 지장 없이 단일 키로 단축키를 사용할 수 있고
게다가 프리웨어에 무설치 프로그램입니다.
남는 일반 키보드가 있다면 지금 테스트해보세요.어차피 손해 볼 것 없습니다.
하지만 저는 Hid Macros의 대안을 찾기로 했습니다.만약 대안을 못 찾았다면 아마도 Hid Macros을 계속 사용했을 것입니다.
저는 이미 오토핫키를 사용하고 있기 때문에 오토핫키 포럼에서 검색해 비슷한 프로그램이 있는지 확인해봤습니다.
하드웨어 대신 프로그램을 선택한 이유 중 하나가 오토핫키 때문이기도 했습니다.
있긴 있더군요.
제가 현재 사용하고 있는 프로그램은 Interception 드라이버를 활용해서 오토핫키에서 키보드별로 키 매핑을 하거나
단축키를 설정할 수 있는 프로그램입니다.Hid Macros 프로그램에서 나타난 단점도 없고 강력합니다.
하지만 Hid Macros처럼 그냥 실행해서 단순히 설정만 하는게 아니라 드라이버를 설치해야 되고 적용법도 약간 복잡합니다
또 프리웨어인 Hid Macros와 달리 이 드라이버는 비상업적 용도로만 사용 가능합니다.
오토핫키를 사용하기 때문에 코딩은 기본이고요.
따라서 일반인은 프리웨어에 사용하기 쉬운 Hid Macros를 사용하길 추천드리며 밑의 내용은 패스하셔도 됩니다.
https://github.com/oblitum/Interception/releases/tag/v1.0.1
Interception 드라이버
Interception.zip을 다운받아 압축 해제합니다.
Interception\command line installer 폴더에 install-interception.exe라는 파일이 있으며 그냥 실행하면
매개 변수가 나옵니다.
따라서 install-interception.exe /install을 입력해서 설치를 합니다.
반대로 제거는 install-interception.exe /uninstall를 입력하면 됩니다.
드라이버 설치 성공이 되면 재부팅을 한 번 해줍니다.
https://github.com/evilC/AutoHotInterception/releases
AutoHotInterception
AutoHotInterception.zip을 다운받아 압축 해제합니다.
Interception\library\x64\interception.dll 파일을 AutoHotInterception\Lib\x64 폴더로 복사 혹은 이동시켜 줍니다.
AutoHotInterception\Lib\x64 폴더의 문서 파일을 봐도 알 수 있습니다.
x86 폴더도 같은 방법으로 복사 혹은 이동시켜 줍니다.
그리고 AutoHotInterception\Lib 폴더의 Unblocker.ps1 파일을 우클릭하여 파워쉘을 실행시켜 줍니다.(필수 아님)
여기까지는 위 AHI 사이트 설명대로 쉽게 따라할 수 있습니다.
잘못된 형식의 이미지 링크입니다.
AutoHotInterception 폴더의 Monitor.ahk를 실행하면 위 사진과 같은 프로그램이 실행됩니다.
저는 키보드 2개가 연결된 상태이기 때문에 ID:2까지만 나옵니다.
ID: 1에 체크하고 아무 키나 눌러 줍니다.하단에 키 값이 표시되면 그 키보드가 ID1 키보드입니다.
하단에 키 값이 표시되지 않으면 다른 키보드가 ID1 키보드라는 이야기겠죠.
따라서 키보드가 3개 이상이라면 모를까 굳이 ID2에 또 체크하고 키 값을 알아낼 필요는 없습니댜.
Copy 버튼이 ID별로 2개인데 하단의 Copy 버튼을 클릭하면 키보드 PID 핸들 값을 클립 보드에 복사할 수 있습니다.
이제 핵심인 Context Example.ahk를 편집합니다.
잘못된 형식의 이미지 링크입니다.
원본 스크립트
잘못된 형식의 이미지 링크입니다.
제가 사용중인 스크립트
원본에 없는 Menu,Tray,icon, 아이콘 경로
이 스크립트를 실행시 설정한 아이콘으로 트레이 아이콘을 표시합니다.오토핫키 다중 스크립트 사용시 필수입니다.
다음 줄은 AutoHotInterception\Lib\AutoHotInterception.ahk 파일의 실제 경로를 입력합니다.
id1 := AHI.GetKeyboardIdFromHandle("XXX")
원본의 id1 := AHI.GetKeyboardId에 FromHandle("XXX")를 추가적으로 입력하고
XXX는 앞서 Copy 버튼으로 복사한 키보드 PID 핸들값을 붙여넣기하면 됩니다.
id2도 마찬가지입니다.
원본의 cm1 := AHI.CreateContextManager(id1)에서 숫자만 변경해서 다음줄에 붙여넣기합니다.
cm2 := AHI.CreateContextManager(id2)
이런 식이죠.
return
#if cm1.IsActive
여기에 id1 키보드에서만 실행될 스크립트를 적으면 됩니다.
#if
#if cm2.IsActive
여기에 id2 키보드에서만 실행될 스크립트를 적으면 됩니다.
#if
마지막으로 Context Example.ahk를 실행하여 설정한 스크립트가 제대로 작동되는지 테스트합니다.
말씀을 듣고 혹시 싶어 찾아보니 이런 키보드도 있네요.
텐키보다는 이런게 나을 까 싶기도 하네요 ㅋㅋ
역시 세상은 넓군요 ㅋㅋ
잘만하면 윈도우키 없어서 봉인해 놓은 제 최애 키보드인 구형 모델엠을 다시 활용할수 있겠네요.
저는 키맵핑이 아닌... 물리적인 키를 달고 싶었거든요. 모델엠에 잘 가공해서 스위치 넣고 이 스위치에서
전선 연결해서 별도 키보드의 윈도우키를 전선으로 연결해볼 생각입니다. 그냥 USB 키보드야 굴러다니
는게 많으니....
https://www.clien.net/service/board/park/13017442CLIEN
http://www.kbdmania.net/xe/tipandtech/123321
http://www.kbdmania.net/xe/tipandtech/9007009
https://crazymind.net/43
https://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard
네,이미 그렇게 사용하는 분들이 좀 있더군요.이미 만들어진 여러가지 공개 소스도 있고요.
근데 저는 이미 오토핫키를 사용하고 있어서 AHI를 선택했습니다.