취미생활/스마트하게 일하기

손목 편안한 키보드 사용하기(auto hot key) -2

바위맨 2018. 2. 18. 15:13
반응형


    R_shift.ahk

    AutoHotkey_1.1.28.00_setup.exe


1. Auth hot Key

auto hot key 라는 프로그램?이 있는데, 단순한 Tool로만 생각했지만 거의 하나의 프로그래밍 언어로 보아야 할 듯 하다. 실제로 위키에서는 자유 소프트 웨어라고 이야기 하지만, 나무 위키에서는 스크립트 언어라는 이야기를 한다. 

오토핫 키 - 위키백과

오토핫 키 - 나무 위키


2. 활용 방법

이전 포스팅에서 해피 해킹키보드와 유사한 방식으로 키의 배열을 재 활용 하는 방법을 고안해 보았다. 

이런 방식으로 모든걸 수정 할 수 있다면, 다음과 같은 방식을 고안 한다. 

실상 이런 방식의 구현은 두 가지 방식으로 가능 한데, 

1. 자작 키보드 - firmware수정을 통해서 모든 키의 배열을 변형에서 사용할 수 있다. 

2. 해피해킹 키보드 - fn키를 통해서 키의 배열을 편하게 변경 사용 할 수 있다. 

자작 키보드의 경우 비용을 감수해야하며, 얼마나 효과가 있을런지는 미지수 이기 때문에,  S/W를 통해서 우선 사용해보기로 한다. 


3. 개발 테스트

3-1. 환 설정 

다른 분의 블로그를 통해서 친절하게 환경 설정 방법을 알 수 있다.
새로운 언어를 사용할때는 항상 그에 맞는 에디터를 사용하는 편이 개발의 편의를 도울 수 있다. 

3-2. Sample 제작 시도

우선 키를 알아 보아야 겠다.
목표는 Key 입력을 받아서 새로운 키로의 맵핑. 즉, 키맵핑이니까 실제 키입력을 변경 시키기 위한 Trigger를 지정해야하는데 그러려면 우선! 사용 가능한  Key 입력을 알아야 겠다. 
Auto Hot key 에서 사용하는 Key 입력 :  auth hot key  홈페이지 자료.
이 중에 사용해야할 키는 {RShift} 를 사용하겠다. 

테스트를 위해서 아래와 같이 간단하게 트리거가 되는지 확인한다. 

(1) Text Box Show

Gui, Add, Text, x30 y4 w120 h20, KeyMapping ; 프로그램 제목
Gui, Add, Text, x60 y25 w50 h20 vA, 준비 ; 프로그램 제목
Gui, Show

(2) Key Trigger Test code 추가

Rshift key가 Push 될 때마다 카운트가 눌리는 프로그램을 간단하게 작성해본다. 그런데 RShift key를 계속 입력하고 있으면 숫자가 계속 올라가는 문제가 있기는 하지만, 단순 Key Mapping에서는 문제가 안되니까 따로 수정하지 않는다. 

(3) key 조합 생성하기(방향키)

지금 까지는 Rshift키만 독립적으로 사용이 가능한지 알아봤다.
이제는 Rshift와의 조합으로 다른 키 입력이 가능한지를 확인해 본다. 

Sleep delay를 추가하지 않으면 키가 완전히 입력되지 않는 문제가 생길 수 있기 때문에 반드시 추가 해줘야 한다. 

동작 테스트 결과 매우 잘 됨을 확인.

(4) Key 조합 생성하기(toggle 버전)

Rshfit키를 이용해서 toggle을 사용할 경우에는 
key를 bypass해야하는 경우가 발생하는데 
(ex. e키가 눌렸을때 방향키 또는 e입력으로 사용되어야함)
e문자 입력이 hot key로 동작하기 때문에 무한 루프로 들어가게 된다. 
따라서 문자를 입력하기 전에  Hotkey off한 상태에서 문자를 입력하고 다시 기능을 On해주어야 한다. 

(5) Key 조합 생성하기 (방향키 + 숫자)

Rshift의 경우 습관 적으로 사용하는 몇 가지 기능이 있는데 이 부분은 사용하는 과정에서 하나씩 개선해 나가야 할 부분인 것 같다. 
1차 버전이 될것 같다. 
방향키(sdfe)와 숫자키, 그리고 del키를 입력한 샘플이다. 
차근차근 개선해보자




(6) Key 조합 생성하기 (방향키 + 숫자 + block)

수정된 방향키 조합을 사용해서 block을 잡을수 있게 수정한 버전. 
Rshift를 통해서 추가한 기능을 Off할때는, 다음 Rshift가 입력 될때까지 keywait.



(7) Key 조합 생성하기 (방향키 + 숫자 + 마우스 이동)

최종 버전
- ctrl + Lshift = Function 동작



반응형