ㅈㅅㄹ

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