기술을 얘기한다 2009.12.03 12:35
상황은 이렇다. 노트북에는 우분투 리눅스(Ubuntu)가 깔려있고 데스크탑에는 Windows 7이 깔려있다. 그런데 오랜 습관 때문에 여전히 한영 전환은 시프트 공백(Shift-Space)을 이용하고 있다. 각각의 시스템에서 시프트 공백을 이용해서 한영 전환을 하려면
우분투: SCIM 설정에서 한영 전환 키에 시프트 공백을 추가
Windows 7: 처음 윈도를 설치할 때 키보드 드라이버를 Type 3으로 설치
하면 된다. 하지만 책상이 좁다고 하나의 (외장) 키보드(와 마우스)로 노트북과 데스크탑을 동시에 사용하고자 Synergy(시너지)라는 프로그램을 설치했다. 문제는 키보드를 어느 쪽에 다느냐에 따라 결과가 달라진다.

키보드를 노트북+우분투 쪽에 연결한 경우(물론 이때는 시너지 서버를 노트북 쪽에 그리고 시너지 클라이언트는 데스크탑 쪽에서 실행한다)에는 별 문제 없이 한영 전환이 된다. (100% 확실하지는 않다. 왜냐하면 윈도를 처음 설치할 때 Type 1으로 설치했기 때문에 레지스트리를 고쳐서 강제로 Type 3로 동작하게 하였다.) 그런데 이 설정의 문제점은 늘 켜놓는 데스크탑을 클라이언트로 가끔 필요할 때만 쓰는 노트북을 서버로 쓴다는 심리적 불편함도 있지만 더 결정적인 문제는 Windows 7이 특정한 상황에서는 (예를 들어, 프로그램을 설치할 때) 시너지를 통한 입력을 받지 않고 직접 연결된 키보드/마우스에서만 입력을 받는다는 것이다. 따라서, 이런 경우를 대비하여 데스크탑+윈도 쪽에 키보드/마우스를 항상 연결해 두어야 한다. 뭔가 말이 안되는 상황.

그래서 이번에는 키보드와 마우스를 데스크탑에 연결해보았다. 물론 시너지 서버는 데크크탑쪽에서 그리고 클라이언트는 노트북 쪽에서 실행한다. (노트북은 키보드/마우스가 기본 내장되어 있으니 혹시 시너지가 말썽을 부려도 큰 문제는 없음) 그런데 이번에는 한영 전환이 되지를 않는다. 마우스 포인터가 노트북 화면에 있을 때에는 키보드 입력이 노트북 쪽으로 가야 되는데 유독 한영 전환(즉 시프트 공백)은 윈도 쪽에서 먹어 버린다. 즉, 윈도 쪽에서 한영 전환이 일어난다. 노트북+우분투 쪽에서는 아예 아무런 입력이 없는 것 처럼 가만히 있다. 구글을 뒤져보면 서너지를 패치하여 해결할 수 있다는 설명이 있으나 시도해보지는 않았다. 왜냐하면 이 문제는 시프트 공백이라는 입력을 키보드 드라이버가 받아 먹고는 시너지 쪽으로 넘겨주지 않아서 생기는 문제인 것으로 보였고 만약 이 추측이 맞다면 시너지를 패치해서 될 일이 아닐거라는 생각에서 였다. 즉, 시너지가 입력 이벤트를 받는 우선 순위가 키보드 드라이버 보다 높지 않다면 안되는게 당연한게 아닌가 해서 이다. (이 부분은 검증이 필요하지만 귀찮아서 생략. 어쨌든 문제는 해결될 수 있으니깐...)

이 추측의 연장선상에서 본다면 한영 전환을 키보드 드라이버가 아니라 일반 응용에서 하게 하면 되지 않을까 생각해볼 수 있다. 그러던 중 이 문제와 관련하여 키매냐 게시판에 문의를 해본 결과 이런 좋은 도구가 있다는 것을 알게 되었다. HanManager는 (설치조차 안해도 되는) 간단한 트레이 기반의 응용 프로그램인데 실행을 하면 키보드 드라이버가 무엇이든 간에 시프트 공백으로 한영 전환을 해준다. 그래서, 다시 키보드 드라이버를 Type 1으로 해놓고 HanManager를 실행했더니 데스크탑+윈도/노트북+리눅스 양쪽 모두에서 한영 전환이 자연스럽게 잘 되었다.

아. 성공. 도움을 주신 모든 분들께 감사.




신고
posted by 신묘군