발 (풋 페달) 키보드 제작기
이건 RSI에 대항하는 몸부림 중 하나이다. 최근들어 왼쪽 인대 부근이나 새끼 손가락 쪽 손등이, 한참 회사에서 일 하다 퇴근할 때 쯤 저릿저릿한게 심상치 않다. 이 바닥 생활을 오래 해서 그런 지 아니면 진짜 이맥스 때문인지... 어쨌건 혹사 당하는 왼쪽 새끼 손가락 말고 다른 좀 멀쩡한 곳으로 돌려막기를 하긴 해야 겠다는 생각이 들어, 결국 구전되어 오는 이맥스 유저들의 필살기인 풋 페달에 도전해 보기로 했다.
그러나 풋 페달이 아무리 필살기라 하더라도 아무나 그 필살기를 쓸 수 있는 것은 아니기에, (써 보다 적응 못했다는 경험기를 레딧에서 충분히 읽을 수 있다) 일단 내가 풋 페달에 적응이 가능한 지부터 테스트 하기로 했다. 아무래도 원래 지를려고 했던, 위 사진에 보이는 Kinesis foot pedal 자체가 하는 일 대비해선 가격이 너무 쎄기 때문에 지금까지 선뜻 풋 페달을 시도하지 못했기도 하니까. 그래서 일단은 집에 굴러다니는 아두이노와 발판 스위치의 조합으로 프로토타이핑을 해 보았다.
펌 웨어는 HID library 써서 대충 짰다. 어차피 키 세개짜리라 뭐 간단하게 간단하게.
/* * Foot pedal prototype */ #include <HID.h> #include <Keyboard.h> #define PIN_CTRL 2 #define PIN_ALT 3 #define PIN_SHIFT 4 #define MASK_CTRL (1 << PIN_CTRL) #define MASK_ALT (1 << PIN_ALT) #define MASK_SHIFT (1 << PIN_SHIFT) #define IDLE_DELAY 100 #define READ_PIN(key) digitalRead(PIN_##key) == LOW ? MASK_##key : 0 #define TOGGLE_KEY(key) \ if (key ^ (pin_stat & MASK_##key)) { \ if (key) Keyboard.press(KEY_LEFT_##key); \ else Keyboard.release(KEY_LEFT_##key); \ } unsigned int pin_stat; void setup() { pin_stat = 0; pinMode(PIN_CTRL, INPUT_PULLUP); pinMode(PIN_ALT, INPUT_PULLUP); pinMode(PIN_SHIFT, INPUT_PULLUP); Keyboard.begin(); } void loop() { unsigned int CTRL = READ_PIN(CTRL); unsigned int ALT = READ_PIN(ALT); unsigned int SHIFT = READ_PIN(SHIFT); if ((CTRL | ALT | SHIFT) == pin_stat) { delay(IDLE_DELAY); return; } TOGGLE_KEY(CTRL); TOGGLE_KEY(ALT); TOGGLE_KEY(SHIFT); pin_stat = CTRL | ALT | SHIFT; delay(IDLE_DELAY); }
발판은 원래 프로토타이핑이니 만큼 오픈 마켓에서 파는 싸구려 2500원짜리 세개를 붙여 볼까 하다가 그래도 욕심부려서 돈 좀 더 써서 3개 일체형을 샀는데... 무게나 미끄러짐 방지면에서는 합격이나 철판 모서리 때문에 맨발로 쓰다가 잘 못하면 다칠 것 같기도 하다. 다치지 않도록 뭔가 주위에 둘러싸야 하긴 해야 할 듯.
사실 이 글도 새로 만든 발판을 이용해서 이맥스로 작성하고 있는 중이다. 물론 글 쓰는 중에는 그다지 CTRL ALT SHIFT을 쓸 일이 많지는 않고 SHIFT의 경우는 어지간하면 대문자가 연속으로 있는 문장을 쓰는 데만 활용하고 있어서 그런지 아직까지는 뭐 좀 어색하긴 하지만 그렇다고 못 써먹을 정도는 아니긴 하다. 물론 손 보다 느린 발판 때문에 좀 더 지연되는 작업 속도라든가, 언제든지 CTRL을 누를 대기를 하고 있어야 하는 오른쪽 발은 좀 긴장상태가 계속 지속 되는 것 정도는 불만스럽기는 하다. 발판 때문에 양반다리 같은 걸 잘 못하고 각잡고 앉아야 하는 건 장점인지 단점인지 잘 모르겠다 -_-. 이제 처음 써보는 거니 일단은 일주일 정도는 익숙해 지는 데 노력해 보고 Kinesis껄 사든지 아니면 이걸 빵판 말고 만능기판에 땜질해서 회사로 들고 가든지 해야겠지. 이건 발판이 좀 누를때 시끄러운 감이 있어서 들고 가도 괜찮을런지 모르겠다만.
'장난감' 카테고리의 다른 글
Gold Wireless Headset 이어패드 교체기 (0) | 2016.12.14 |
---|---|
자동차 블루투스 리시버 DIY : #1 (3) | 2016.04.01 |
DAIICHI D-guard toddler ISOFIX (0) | 2016.03.21 |
Kindle Paperwhite (0) | 2014.05.27 |
PS4 리모트 플레이에 대한 썰 (0) | 2014.03.24 |