왜, 키보드 매트릭스를 알아내서 와이어링을 할까요?(입력중)

  키보드에 취미를 가지고, 관련 사이트를 돌아다니다 보면 키보드 기판에 한가득 선을 연결한 사진을 보게 됩니다.
아니, 가만히 있는 키보드를 왜 저렇게 할까, 저렇게 하면 뭐가 달라질까? 라는 의문을 가지게 되었습니다.
  이것을 이해하고 사용해보는데 무려 2년이 넘게 걸렸네요. 스위치를 바꾸는 등의 직접적인 개조 외에 기판의
회로에 전선을 이어붙이는(와이어링) 등에 대한 글 입니다.

 우선 키보드에 대해서 이해해야 합니다. 키보드에 보면 컨트롤러라는 부분이 있습니다. 이부분이 CPU와 같이
모든 것을 처리합니다. 키보드는 풀배열의 경우 101개 정도의 키를 가지고 있습니다. 이 키값은 서로 달라야
합니다. 버튼 한가지로 101개의 키를 구별하여 사용할 수 없기에 101개의 개별의 스위치를 가집니다.

 평소에는 연결되어 있지 않다가 사용자가 특정키를 누르면 전기가 흐르게 되고 컨트롤러에서 눌려진 키값을
컴퓨터로 전달하고 비로서 글자가 출력되어 집니다. (여기에서 알 수 있는 것은 키보드 전체가 입력되지 않는
경우는 컨트롤러가 문제일 것이라 추측해보고, 부분적으로 입력이 되지 않으면 스위치나 컨트롤러까지의
배선에 문제가 있다고 파악하시면 되겠습니다.)

 그럼 왜 복잡하게 매트릭스가 있는가. 그냥 하나하나씩 연결되면 되지 않는가라고 생각하실 수 있는데,
101개를 컨트롤러와 연결하는 것은 당연히 비효율적입니다. 이것은 기업에 있어서도 비용상승으로 이어지죠.
101개를 개별적으로 사용하되 컨트롤러와 연결되는 부분을 줄이고 싶다. 여기에서 생각한 것이 매트릭스,
즉 행렬입니다. 행렬이란 행과 열로 이루어져 있죠. 하나의 열에 수십개의 행을 붙이면 개별적으로 분류되면서
접점을 줄일 수 있습니다. 키보드의 컨트롤러는  기본적으로 8열에 20개 이하의 열로 구성되며 101개 보다 많은
키를 등록할 수 있습니다. 하지만 컴퓨터에 사용되는 키는 정해져 있기에 그 이상 키를 추가하거나 할 수는 없
습니다.( 맥에 사용되는 멀티미디어 키(소리줄이기 등등)은 별개라고 생각해주세요. )

 그럼, 왜 와이어링을 할까?

 와이어링을 하는 이유는 두가지 입니다.

 1.  키보드가 현재의 PS/2나 USB의 형식과 달라 컴퓨터에 실사용하지 못한다.
 2.  어떠한 이유에 의해 키보드가 입력되지 않는다. 컨트롤러가 사용불가해진 경우 - 물론 실사용하지 못한다.

 망가지거나 사용하지 못하는 상황 외에도 다른 키보드의 키맵핑이 좋아서 그 컨트롤러를 이식하는 경우도
있습니다. 예를 들어 맥을 사용하는 경우, 애플의 키보드를 이용하면 멀티미디어 기능을 이용할 수 있는데,
일반 키보드는 사용할 수 없죠. 그럼 애플의 키보드의 매트릭스를 가져와 연결하면 똑같이 이용하면서도
스위치를 기계식으로 할 수 있죠. 

 이렇기 때문에 와이어링을 해서 기존 컨트롤러를 제거하고 새로운 컨트롤러를 이식합니다. 여기서 문제가
하나 발생합니다. 다행히 스위치는 눌렀을 때 전선을 연결하여 전기가 통하게 하는 형태로 동일해서 어떤
스위치라도(체리, 알프스, 멤브레인 등등에 관계없습니다.) 매트릭스가 문제입니다. column(열), row(행)의
형태는 같지만, 각각 키맵핑이 다릅니다. 이전 컨트롤러와 동일한 위치에 새 컨트롤러를 이식하면 키맵핑이
다르기 때문에 엉뚱한 값이 입력되고 맙니다. 그래서 컨트롤러를 이식하기 전에 이식할 컨트롤러의 키보드
의 키 매트릭스를 파악해야 합니다. 망가진 키보드 측(즉, 기존에 납땜되어 있는 제거해야할 컨트롤러)은 
몰라도 됩니다. 새 키매트릭스를 파악하는 것이 급선무입니다.

그렇다면, 어떻게 이식할 컨트롤러의 매트릭스 알아낼 수 있을까?

 101개에 달하는 스위치에는 두개의 점접이 있습니다. 하나는 row에 다른 하나는 column에 연결되어 있지요.
이것은 컨트롤러와 연결되어 있습니다. 멤브레인의 경우, 라인이 잘 보이기 때문에 눈으로 하나씩 보면 
됩니다. 하지만, 자칫 실수라도 한다면 나중에 같은 일을 두번 하게 됩니다. 직접 테스터기로 어느 쪽이 연결
되어 있는가 파악하는 수 밖에 없습니다. 접점이 202개니 굉장히 많은 시간이 소모됩니다.

 사실 키보드 축을 바꾸고 윤활하는 등의 키보드 개조의 가장 기본이라 할 수 있는 것들도 매우 힘이 듭니다.
직접해보면 아시겠지만, 101개의 디솔더링(기판에서 스위치를 빼는 작업)하고 뚜껑을 열어 세척하고
스프링 윤활, 플라스틱끼리 맞닿는 부분 윤활한다는 것은 쉽지 않습니다. 다른 분들의 작업기를 보면 정말
존경스러울 정도입니다.

 커뮤티니에는 간간히 다른 분들의 노동의 산물인 매트릭스 키값이 올라온 경우가 있습니다. 이 때 주의할 점은
어디를 column의 시작점으로 해서 순서가 맞는지, row도 어디가 시작점이고 어떤 순서로 되어 있는지 파악
해야 합니다. 같은 기종이라도 키맵핑이 다른 경우가 있는 경우도 배제할 수 없기에 랜덤으로 10개정도 파악하
시고 맞다면 사용하시기 바랍니다.(하지만, 직접 해보시는 걸 추천합니다. 만약 다를 경우 정말 난감해집니다.)

 종합해보자면, 이식할 컨트롤러의 column과 row를 알아내고 각각 어떻게 연결되어 있는가를 파악합니다.
이렇게 매트릭스를 알아내고 거기에 맞게 기판 쪽 column과 row를 매트릭스에 맞게 전선으로 연결합니다. 이때,
기존 기판에 연결된 회로들은 다 끊으셔야 합니다. 이 것이 완료되면 비로서 컨트롤러와 기판을 연결합니다.

 말은 쉽지만, 저와 같은 초보자의 경우 굉장히 많은 시간이 걸리게 됩니다. 이렇게 힘든 작업을 통해서라도 
키보드를 사용하겠다는 매니아 분들의 노력으로 저와 같은 초보자 분들도 시작하게 할 수 있게 되었네요.
 이 글이 다른 분들께 조금이나마 도움이 되셨길 빌며 이만 줄이겠습니다.