마우스 지글러는 모르겠고, 커서가 계속 춤추게 할 수 있다

2026-06-03

각자 사정이 있고, 사연이 있을테다. 키보드나 마우스가 계속 움직이는 것처럼 인식돼야 하는 이유는 서로 묻지 않기로 하자. 그리고 소프트웨어 방식은 접어두고, 하드웨어 방식으로만 이야기하자.

키보드나 마우스가 멈추지 않고 있다는 신호

키보드나 마우스가 계속 움직이고 있다는 신호를 컴퓨터로 보내는 상황은 기본적으론 뭔가를 입력하는 상황이다. 다만, 사용자가 의도한 입력이 아니더라도, PC는 의도한 입력이라 인식하는 상황이 있다. 화면에 나타나지 않는 입력 또는 미필적 입력 또는 입력이 아니라 움직임 동작 등이다.

키보드

키보드의 쉬프트키 자체는 그냥 눌러서는 특별히 입력값이 딱 나오진 않는다. 쉬프트키는 보통 동시에 다른 키를 눌러야 화면에 입력 글자가 뜬다. 하지만 PC는 쉬프트키를 누른 것만으로도 입력 신호로 인식한다. 즉, 쉬프트키를 적당한 주기로 계속 누르는 것만으로도 멈추지 않고 있다는 신호가 될 수 있다.

주로 우리가 사용하는 일반적인 키보드는 입력 신호를 '누름'이라는 동작으로 받는다. 종종 특수키나 단축키가 레버로 동작하거나 트랙볼 움직임으로 입력 신호를 주는 경우도 있다. 하지만 거의 대부분 '누름'이라는 동작이 입력 신호다. 즉, 키보드로 멈추지 않고 있다는 신호를 보내려면, 물리적으로 계속 키를 눌러야 한다.

기계적인 스위치를 키보드 키 중 하나에 올려놓으면, 계속 반응하게 할 수 있다. 다만, 자동으로 기계적인 동작을 계속 유발하려면 동력원이 필요하고, 동력원을 위해 전기를 써야 한다. 이후 어떻게 키보드 위에 올려놓고 동작하는지는 각자 상상에 맡긴다. 나는 키보드를 계속 누르는 방식은 이쯤에서 포기했다. 키보드 스위치 수명 자체를 쓸데없이 갉아먹는 느낌도 나고, 키보드 자체의 모양마다 스위치를 올려놓거나 고정시킬 방법이 다를터라 공통 방법을 고안하기 힘들 것 같았다.

마우스

마우스는 입력 신호를 PC에 주는 상황이 크게 세 가지로 나눌 수 있다. 커서를 움직이는 상황, 버튼을 클릭하는 상황, 휠 스크롤을 움직이는 상황이다. 이 중 하나 이상을 활용하면 입력 신호를 반복해서 줄 수 있다.

키보드에서 이미 스위치 수명에 대해 고려했으므로, 마우스 클릭을 계속 반복하는 행위는 접어두기로 했다. 휠 스크롤 역시 마찬가지 이유로 접어두기로 했다. 이미 마우스 클릭 고장을 고치면서 스위치 수명으로 인한 귀찮음을 겪었지 않은가.

즉, 어떻게든 커서를 멈추지 않고 움직이는 상황을 만들어야 한다. 목표는 세워졌다. 주로 상용 제품을 기준으로 찾아보면, '마우스 지글러'라는 단어가 등장한다. 마우스 바닥면에 움직이는 회전판을 두고 전기적으로 계속 회전하면서 커서 움직임을 주는 방식이다. 마우스의 광센서가 계속 움직이고 있는 느낌을 준다는 공통점을 활용해서, PC 쿨러나 초침이 움직이는 시계 등등을 바닥에 깔아두는 사례도 있었다. 일상 용품으로 적용해서 쓴다는 건 좋은 아이디어일테다.

마우스 광센서가 좌표를 인식하는 원리

현대에서 우리가 주로 쓰는 마우스는 광마우스다. 마우스 커서를 인식하기 위해, 광학 센서를 사용한다. 먼 과거에는 볼마우스도 있었다. 트랙볼이 볼마우스와 거의 동일한 원리라 보면 된다. 광마우스에는 광학 센서가 달려있고, 이 센서는 바닥면을 비추는 초소형 고속 카메라처럼 작동해 좌표를 인식한다. 센서 내부에서는 대략 3단계로 좌표를 계산해서 PC로 전달한다.

1단계: 표면 촬영

촬영이라고 해서 카메라 렌즈가 있는 거창한 형태는 아니다. 광학 센서에 있는 LED나 레이저가 마우스가 닿은 바닥면에 빛이나 레이저를 쏘면, 센서가 바닥의 미세한 틈새나 질감을 촬영한다. 초당 몇 번 촬영하냐에 따라 고품질 센서를 향한 스펙이 된다.

2단계: 이미지 비교

단순히 반사한 빛 유무만 측정하면, 현재 빛이 있다 없다만 감지할 뿐 어느 방향으로 움직인 건지 비교할 방법이 없다. 빛 유무만 측정하는 형태는 커서 움직임이 아니라, 클릭에 적합한 형태다.(그래서 키보드나 마우스 클릭에서는 광축 스위치를 쓰기도 한다.)

광학 센서는 연속으로 바닥면을 촬영하고 바닥면 패턴이 어떻게 달라졌는지 분석한다. 패턴 변화로 마우스가 이동한 방향과 거리를 계산할 수 있다.

3단계: 좌표 변환

이동한 방향과 거리를 계산했으니, 이제 DPI 가중치를 대입하면 PC로 보내는 입력 신호가 완성된다. DPI 가중치 계산은 주로 마우스에서 연산하지만, 내가 쓰는 로지텍 마우스처럼 PC에서 연산하는 방식도 있다. 마우스가 아니라 PC에서 DPI 가중치를 계산함으로 인해 얻을 수 있는 이득과 손실이 있다. 마우스 전력 소모량이나 수명을 생각한다면 PC에서 계산하는 게 좋고, 확실하고 정확한 감도 인식을 원한다면 마우스에서 계산하는 게 좋다. 더 자세한 차이는 궁금한 사람이 찾아보길.

마우스 광센서의 좌표 인식을 방해하자

광센서가 좌표를 인식하기 위해 촬영하는 위치는 마우스 바닥 표면이다. 그래서 마우스를 바닥에서 많이 떼면 커서가 멈춘다. 비교할 이미지로 촬영된 값이 없으니, 그저 값은 0일 뿐이다. 그렇다면, 만약 센서가 마우스 바닥보다 더 가까운 곳을 촬영하면 어떻게 될까?

보통 마우스 광센서 부분은 마우스 안쪽으로 움푹 패여있고, 그 속에서 광센서가 바닥을 쏜다. 표면 촬영을 위한 초점 거리가 마우스 바닥에 맞춰지도록 거리 확보가 필요해서일테다. 지금 마우스를 뒤집어서 광센서 쪽에 손가락을 올리고 꾸욱 눌러보자.

광학 센서 자리는 안쪽으로 패여 들어간 공간이 있다.

마우스가 촬영을 위해 최적 초점 거리로 잡아둔 바닥보다 마이너스 위치까지 표면이 올라간 상태다. 커서 움직임을 보라. 벌벌 떠는 것이 보이는가? 멈추지 않고 계속 벌벌 떤다. 손가락에 내 피가 계속 흐르는 탓일까? 그럴리가 있겠는가. 표면 촬영에 일률적이지 않은 노이즈가 발생한 것이다.

광량 과다 또는 반사광 포화

광학 센서에서 촬영을 위해 쏘는 빛이 센서와 너무 가까워지면, 빛이 흩어지지 않고 강하게 센서로 들어간다. 카메라로 치면 사진이 하얗게 나오는 화이트 아웃 상태다. 화이트 아웃 같은 광량 과다 또는 반사광 포화 상태에서는 이미지 픽셀 포화로 패턴 비교 자체가 무의미해져서 쓰레기값(Random Delta)이 출력된다. 그조차도 일률적인 쓰레기값이 아니라, 계속 다른 값이 출력된다. 어쨌거나 다른 값이 나오니 커서는 값에 맞춰서 계속 움직인다.

그렇다면, 광량 과다 상태는 광학 센서 수명에 영향을 주진 않을까? 아니다. 그저 센서 오작동을 일으킨 것일 뿐, 부품을 망가뜨리지는 않는다고 한다. 애초에 광학 센서가 쏘는 빛은 센서가 손상될 만큼 강한 출력을 내지 않는다. 그래서 센서가 받아들이는 빛이 물리적 한계치를 넘더라도, 하얗게 뭉개질 뿐 부품 어딘가에 강력한 부담을 주진 않는다.

그럴싸하지 않은가?

마우스 광센서 안쪽에 적당한 위치를 막아보자

특별한 장비나 소재가 필요하진 않았다. 마침 눈 앞에 면봉, 나무젓가락, 이쑤시개 등이 보였다. 손가락으로 꾹 누르던 위치에 적당히 이들로 교체했다. 모니터에서 커서가 춤을 춘다. 그냥 이 상태로 이들이 이 자리에 고정만 돼 있으면 된다.

면봉을 밀어넣고 고무줄로 고정했다.

포스트잇, 테이프 등등도 있을 테고, 사이즈가 정말 잘 맞다면 그냥 마우스로 그걸 덮어놔도 될테다. 글루건 조각이나 지우개똥도 괜찮을 것 같다. 그냥 종이 조각을 조그맣게 말아도 되고, 뭐든 센서에 가깝게 넣을수만 있다면 가능성은 충분하다.

커서 움직임을 보고 있노라면, 규칙성도 못찾겠고 패턴도 없어 보인다. 하드웨어적으로 그저 오류를 유발했을 뿐, 뭔가 특별한 장치를 쓰지도 않다. 손쉽고 간편하지 않은가. 다만 너무 이것저것 밀어넣다가 광학 센서를 오염시키거나 파손하지 않도록 적당히만 밀어넣자. 어차피 필요한 건 광학 센서의 고장이 아니라, 커서의 떨림이다.

춤추는 커서를 만끽하자.


지인들과 위 내용을 공유해서 서로 경험하다보니, 새로운 현상을 발견했다.

빨간 LED 센서는 춤을 안 추더라

위에서 테스트했던 로지텍 G304는 마우스 센서에서 특별히 빛이 보이지 않는 센서였다. 찾아보니 'HERO 광학 센서'라 돼 있다. 이런 형태말고 빨간 LED나 파란LED 등 눈에 보이는 빛이 나오는 센서는 위 방식으론 커서가 춤추는 현상이 잘 나타나지 않았다. 찾아보니 주원인은 크게 2가지였다.

산란광과 자동 노출 조절

LED 빛은 사방으로 퍼진다. 그래서 거울이나 은박지를 대면 빛이 정반사되어 센서 안으로 들어오지 않고, 다른 각도로 튕겨나가 센서에 도달하는 빛 양이 줄어든다. 이때, 자동 노출 조절 기능이 동작한다. 들어오는 빛이 너무 강하거나 약하면 스스로 셔터 스피드를 올리거나 센서 감도를 낮춰 상을 평평한 희색으로 만들어 단순 먹통 상태로 만든다. 그래서 지글거리는 중간 단계 없이 바로 '인식 불가' 상태로 넘어가기 때문에 커서가 제자리에 멈춰 있게 된다.

그래서 빛이 나오는 센서, 특히 빨간 LED 센서 마우스는 센서가 아슬아슬하게 패턴을 인식할 수 있는 '불완전한 반사 상태'를 만들어야 한다.

불완전한 반사 상태

센서가 계속 인식하고 싶어지게 만드는 그 아슬아슬한 찰나를 어떻게 만들 것인가. 테스트에 도입한 마우스는 다이소에서 쉽게 구할 수 있는 무선 마우스로 정했다. 마침 빨간 LED 센서였다.

스마트폰 플래시 등 다른 빛을 밀어넣기

이건 실패했다. 스마트폰 플래시도, LED 조명도, 빨간 빛으로 바꿔도 그냥 커서가 딱히 움직이지 않는다. 이게 센서가 저가형이라 민감하지 않은 건지 혹은 모든 예외 사항을 다 커버해서 그런건진 모르겠지만, 광량으로는 커서를 움직이게 하기 힘들어 보인다.

아슬아슬하게 높이 띄우기

광량은 안 되니, 센서가 인식하는 높이를 아슬아슬하게 만들고 싶었다. 1mm 단위로 올려야 할까? 마우스마다 이것도 다 다를텐데 어떻게 높이를 체계적으로 맞출까 하던 중, 눈 앞에 고무줄이 보였다.

고무줄을 한개 두개 세개 교차로 올리면서 그 위에 마우스를 올렸는데, 고무줄 두께 간격 영향이 큰 탓인지 꿈쩍하지 않는다. 그런데 고무줄을 4개 올리는 순간 고무줄이 마우스 무게를 못 버티고 옆으로 쓰러진다. 고무줄로는 안 될 것 같다. 바닥면과 센서 사이 높이를 조절할 일상 도구는 뭐가 있나 주변을 두리번 거렸다. 그리고 키보드가 눈에 들어왔다.

마우스를 키보드에 올려서 키캡 사이 어딘가 센서 경계가 도달하도록 부비부비한다.

마침 내 키보드는 로우 프로파일 키보드다. 키캡 높이는 낮지만, 키캡의 테두리 부분에 적당한 기울기가 있다. 키보드 위에 마우스를 올리고 살살 움직이며 마우스 센서가 키캡의 기울어진 면에 도달하기를 기다렸다. 그리고 결국 커서가 춤을 춘다.

커서 위치가 구석인게 아쉬우면 중간으로 옮겨서 키캡을 비비자.

파란 LED는 아직 답을 못찾았다

우선 내가 보유한 마우스 2개는 정복했다. 그리고 다시 눈에 들어온 다음 마우스는 센서가 파란 LED다. 위에서 로지텍 G304와 다이소 무선 마우스에 대입했던 방식 모두 통하지 않는다.

블루 센서 특징을 찾아보자

파란색 빛은 빨간색 빛보다 파장이 훨씬 짧다. 파장이 짧을수록 미세한 표면의 굴곡을 더 정밀하게 잡아내므로, 빛이 희미해져도 센서는 바닥 패턴을 놓치지 않고 끝까지 붙잡는다. 거기다 인식하는 높이 경계선을 칼로 자른 듯 명확하게 인식한다. 빨간 LED처럼 아슬아슬하게 흐려지는 구간이 거의 없고, 인식 경계선도 칼같이 나눠지기에 신호를 완전히 차단해버린다.

그럼 파란 LED가 사실상 제일 효용성이 높은 센서라 해야할까? 언젠가 다른 방법이 떠오를 때까지 파란 LED 센서 마우스는 잠시 넣어두기로 한다.