우연히 아직 출시되지 않은 제품을 손에 넣게 되었습니다.
오늘 이것저것 만져보았는데 잘만 활용한다면 꽤나 유용할 듯합니다.
─────────────────────────────────────
(주)아빅스에서 키보드 에뮬레이터 UID-200 샘플을 보내왔다.
이 제품은 스위치를 연결하여 USB를 통해 키보드 입력으로 내보내는 장비다.
스테레오 잭을 이용하여 스위치를 8개 연결할 수 있으며
매트릭스 딥 스위치를 직접 이용하면 106개를 연결할 수 있다.
딥 스위치를 이용하여 매트릭스를 직접 제어하기 때문에
원하는 키 코드는 무엇이든 입력할 수 있다.
(키보드를 그대로 흉내낼 수 있다.)

이 제품의 핵심부는 USB 키보드 허브 컨트롤러 AU9462다.
간단히 말하자면, 일반 키보드에서 컨트롤러 부만 밖으로 빼내 외장형으로 만든 셈이다.
거기에 커스텀 스위치를 연결할 수 있도록 입력 단자를 확장한 것이다.

사진에서 보듯 전용 스위치는 스테레오 잭으로 연결하게 되어있다.
스위치 바닥에는 자석이 있어 철판에 붙일 수 있다.
원하는 레이아웃으로 배치할 수 있다는 얘기다.
※ 제조사에서는  무선 스위치를 탑재한 제품도 출시 예정이다.



뒷면에서는 딥 스위치를 이용하여 각 스위치의 키값을 설정한다.
위는 C1~C18까지 18열, 아래는 R1~R8까지 8행으로 108개의 값을 설정할 수 있다.
C18 밑에 있는 A19는 이용하지 않는 단자다(왜 넣어두었는지는 모르겠다).
그 아래 A20을 연결하면 해당 포트가 항상 연결되어 있게 된다.
따라서 원하는 열을 연결하면 실시간으로 키보드 입력이 가능하다.
108개의 스위치를 구현하려면 이런 식으로 직접 연결해야 한다.

측면은 USB 입력을 받을 수 있는 포트가 2개, 스위치를 직접 연결할 수 있는 단자가 있다.
8개 단자는 스테레오 잭과 동일한 기능을 한다.
2개 단자는 각각 ACPI(전원 관리)와 USB 전원 공급 기능을 한다.



앞면에는 갖가지 상태를 알려주는 LED가 장착되어 있다(전원, 넘버락, 캡스락, 스크롤락).
앞에 보이는 스테레오 잭 8개에 스위치를 연결할 수 있다.



이제 속을 들여다보자.
오른쪽에 보이는 것이 컨트롤러 칩인 AU9462다.
칩 제조사에서 밝힌 사양에 따르면
멀티미디어 제어, Fn 키, 8개의 키보드 레이아웃 설정, 외부 EEPROM 사용 등의 기능이 있다.
하지만 아쉽게도 이 제품은 멀티미디어 제어를 제외한 나머지 기능은 제공하지 않는다.



제품을 PC에 연결해보았다.
별도의 드라이버를 설치하지 않아도 자동으로 인식된다.
딥 스위치를 설정하고 제품에 포함된 스위치 2개를 연결하여 눌러보니 제대로 동작한다.
각 행과 열에 딥 스위치를 두 개 이상 꽂으면 다중 입력이 가능하다.
제조사에서 매트릭스를 조금 손보아 CTRL과 C, V, X, Z, W를 같은 열에 배치했다면
매크로로 가장 많이 쓰는 복사, 붙여넣기, 잘라내기, 작업 취소, 창 닫기 등의 기능을 간편하게 쓸 수 있었을 텐데
이용상의 고려를 하지 않았다는 점이 아쉬운 부분이다.

제조사에서는 다중 키 입력을 받아 소프트웨어 매크로인 오토핫키에서 매핑하라고 조언하고 있다.
문제는 오토핫키에서 다중 키를 설정할 경우 두 핫키가 Modifier로 바뀌기 때문에
키를 따로 입력할 경우에도 키를 누르는 순간이 아니라 떼는 순간에 입력이 이루어진다는 것이다.
또한 일반 키보드로 입력할 때 이 두 키를 동시에 누르면 (원하는 동작인) 두 키가 각각 입력되는 것이 아니라
오토핫키에서 설정한 매크로가 입력된다.
EEPROM을 이용하여 키값을 사용자가 설정할 수 있도록 했다면 더할 나위 없었을 듯하다.

편법으로 몇 가지 가상 키코드를 쓸 수 있다.
이 키값은 PC에 전송되기는 하지만 운영체제에서 인식하지 않는 코드이기 때문에 아무런 동작을 하지 않는다.
하지만 오토핫키에서 이 값을 받아 원하는 핫키로 매핑할 수 있는 것이다.
살펴보니 가상 키코드를 6개 정도 쓸 수 있는 듯하다.

다중 입력시 또 한 가지 문제는 고스트 현상이 발생한다는 것이다.
각 스위치의 매트릭스가 서로 연결되어 있기 때문에
두 스위치에서 행이나 열의 동일한 단자에 딥 스위치를 연결할 경우
신호가 역류하여 엉뚱한 값을 출력하는 것이다.
회로는 아마도 아래 그림과 같이 연결되어 있을 것이다.



R1으로 신호가 입력되면 SW1에서 위로 올라가 C18을 통해 컨트롤러로 전달된다.
하지만 신호가 SW2의 C18을 지나다가 위로 올라가 C16으로도 전달된다.
2번 스위치는 누르지도 않았는데 SW2의 C16이 추가로 입력되는 것이다.
고스트 현상을 고려하여 다중 입력을 설정하기가 쉽지 않을 듯하다.

나는 키보드 인터페이스에 관심이 있기 때문에 몇 가지 아쉬운 점을 발견했지만
다른 용도로 쓸 경우에는 아무런 문제가 없을 수도 있다.
제조사에서는 이 제품의 용도를 이렇게 밝히고 있다.
◎ PC 게임, 그래픽 디자인, 오피스 애플리케이션, 캐드/엔지니어링, 오디오·비디오 편집, 보안 장치, 자동화 기기 입력, 사용자 특수 키보드, 사용자 특수 마우스(마우스키 사용시), 조합 특수 키 사용(오토핫키 사용시)

커스텀 스위치로 PC를 제어할 수 있다는 것은 아주 편리한 기능이 틀림없다.
게다가 추후 발매 예정인 센서와 결합하면 무인 감시나 홈 오토메이션을 구현할 수도 있다.
무선 스위치를 사용하는 제품이 나온다면 사용 용도가 훨씬 넓어질 것이다.

아래와 같은 키패드를 구현하는 것은 식은죽 먹기다... ^^


(출처: 키보드매니아)



이 정도만 되어준다면 더 바랄 게 없겠지만...


(출처: IT 시是비非 걸기)

참고 자료:
#1. UID-200 사용설명서: uid200-manual-a4.pdf
#2. AU9462 사양: AU9462.pdf
profile
내가
깨끗할수록
세상이
더러워진다.