마우스
IT 로드맵 › 하드웨어 & OS › 입출력 장치의 마우스 페이지다. 실제 이름과 이 PC에서 잰 값으로 본다.
책상 위에서 마우스를 오른쪽으로 밀면 화면의 커서가 오른쪽으로 간다. 마우스와 PC 사이에는 줄 하나뿐인데, 그 줄로 무엇이 가길래 커서가 손을 따라오는지가 이 페이지의 질문이다.
이 페이지는 지금 쓰는 데스크톱의 마우스 Logitech G102 LIGHTSYNC를 따라간다. USB 선으로 보드 뒷면에 꽂혀 있다. 키보드와 마우스가 CPU 안의 USB 컨트롤러에 붙어 있다는 것, 키 하나가 화면의 글자가 되는 길은 입출력 장치 페이지에서 먼저 봤다. 이 페이지는 그 길의 출발점인 마우스 안으로 들어간다.
먼저 말 넷을 정해 둔다. 앞의 둘은 입출력 장치 페이지에서 정한 것과 같다.
- USB 컨트롤러 — USB 장치와 이야기하는 PC 쪽 칩 부품이다. 장치에서 받은 데이터를 RAM에 넣고 CPU에 알린다. 이 PC에서는 CPU 칩 안에 있다
- HID(Human Interface Device) — 키보드 · 마우스처럼 사람이 조작하는 USB 장치가 따르는 약속이다. 마우스는 「버튼 상태와 움직인 양」을 정해진 모양의 짧은 묶음(보고서)으로 보낸다. 그래서 윈도우는 드라이버(그 장치를 다루는 커널 쪽 프로그램)를 따로 깔지 않아도, 기본으로 들어 있는 HID 마우스 드라이버 하나로 아무 마우스나 알아본다
- 화소(픽셀) — 사진이나 화면을 이루는 작은 칸 하나다. 이 페이지에는 두 종류가 나온다. 마우스 센서가 찍는 바닥 사진의 칸과, 모니터 화면의 칸이다
- 카운트 — 마우스가 「이만큼 움직였다」를 셀 때 쓰는 단위 하나다. 마우스는 거리를 mm나 인치로 보내지 않고, 카운트가 몇 개인지로 보낸다. 오른쪽으로 800카운트, 왼쪽으로 −3카운트 하는 식이다
이 PC의 마우스 — 2026-11-02에 잰 값
입출력 장치 페이지의 표에는 마우스가 「HID 규격 마우스 · USB 입력 장치」 한 줄로만 나온다. 그 표를 뽑는 측정 스크립트는 연결 속도나 보고서 모양을 재지 않는다. 그래서 2026-11-02에 PowerShell로 따로 읽었다. 장치 관리자의 부모 장치를 따라 올라가고, USB 허브에게 「이 포트에 붙은 장치의 연결 정보」를 묻는 윈도우 기능과, HID 보고서의 짜임을 알려 주는 윈도우 기능을 불렀다.
- 장치 — G102 LIGHTSYNC. USB 장치 번호는
046D:C092이다(앞의046D가 Logitech) - 붙은 곳 — CPU 안의 AMD USB 3.10 컨트롤러(
1022:15B7) 아래 「USB 루트 허브(USB 3.0)」의 1번 포트. 입출력 장치 페이지 표의 마우스 줄과 같은 컨트롤러다 - 연결 속도 — Full-Speed, 12 Mbps다. Mbps는 1초에 보내는 비트 수(백만 단위)라, 12 Mbps는 1초에 1,200만 비트, 8비트가 1바이트이니 150만 바이트다. USB 3 컨트롤러에 붙어 있는데도 그렇다. 이 숫자는 아래 USB 3.0 섹션에서 다시 쓴다
- 묻는 간격 — 마우스가 데이터를 내놓는 창구(끝점)가 둘이고, 둘 다 「1 ms마다 물어 달라」(
bInterval1)고 적혀 있다. 그 값대로라면 USB 컨트롤러는 1초에 1,000번 묻는다 - 보고서 하나의 모양 — 8바이트다. 버튼 16개 자리(16비트), 가로 이동 X(16비트), 세로 이동 Y(16비트), 휠(8비트), 가로 휠(8비트)이다. X · Y는 한 번에 −32,767부터 32,767까지 담는다(16비트로는 −32,768까지 되지만, 마우스가 적어 낸 범위가 거기까지다). 두 번째 창구는 최대 20바이트짜리인데, 무엇을 보내는지는 보지 않았다(입출력 페이지에서 G102가 키보드 항목도 하나 내놓는다고 적은 그것으로 짐작만 한다)
- 윈도우 설정 — 포인터 속도는 설정 화면 막대의 가운데(11칸 중 6번째)이고, 「포인터 정확도 향상」이 켜져 있다. 윈도우 설정이 저장되는 곳(레지스트리)에서
MouseSensitivity10,MouseSpeed1을 읽었다. 포인터 속도는 1 ~ 20 값을 막대 11칸에 1 · 2 · 4 · 6 · 8 · 10 …으로 나눠 쓰니 10이 6번째 칸이고,MouseSpeed1이 정확도 향상 켬(0이 끔)이다 - 붙은 드라이버 —
mouhid. 윈도우에 기본으로 들어 있는 HID 마우스 드라이버다. Logitech 드라이버를 따로 깔지 않았다 - 못 잰 것 — 셋이다. 센서가 쓰는 빛이 LED인지 레이저인지는 제품 사양에 없다. 지금 CPI 설정 값(아래 CPI 섹션)은 Logitech 프로그램(G HUB)이 마우스에 써 두는 값이라 윈도우에서 보이지 않는다. 보고서가 실제로 몇 ms마다 오는지는 USB 통신을 떠서 재야 하는데 하지 않았다 — 위의 1 ms는 마우스가 「이 간격으로 물어 달라」고 적어 낸 값이다. 제품 사양의 CPI 범위는 200 ~ 8,000이다(Logitech 제품 페이지 — 지역 페이지 이름은 G203이고 머리글이 G102다)
마우스 공부는 「마우스는 무엇인가」에서 「USB 3.0 포트에 꽂으면 빨라지나」로 따라간다
순서는 질문이 생긴 순서다. 앞 섹션의 답이 다음 섹션의 질문을 낳는다.
- 무엇이고 어떻게 들어가나 — 마우스는 무엇인가(질문 1). 움직임 정보는 컴퓨터에 어떻게 들어가나(질문 2)
- 빛과 센서 — 레이저가 어떻게 디지털 데이터가 되나(질문 3). 센서가 0과 1로 바꾸나, 위치는 계속 변하는데(질문 4). 빛만 쏘는데 어디서 어디로 움직였는지 어떻게 아나(질문 5). 사진은 저장하지 않고 계산만 하나(질문 6)
- 어디서 계산하나 — 그 계산은 어디서 하나(질문 7). 마우스에서 계산하고 선으로는 이동량만 보내는 건가(질문 8)
- DPI — DPI를 바꾸면 이동 데이터가 어떻게 달라지나(질문 9)
- 실물 — 실제 마우스의 카메라는 어떻게 생겼나(질문 10)
- USB — 이 데이터를 USB로 보내나(질문 11). 파란 USB 3.0 포트에 꽂으면 더 빠른가(질문 12)
대화는 마지막에 「그럼 스피커는 어떻게 동작하지?」(질문 13)로 넘어갔다. 스피커는 이 페이지에서 다루지 않고 아래 「아직 안 본 것」에 남겼다.
마우스는 손의 움직임을 「얼마나 움직였나」라는 수로 바꾸는 입력 장치다
마우스 안에 든 부품은 크게 다섯이다.
- 센서 부분 — 바닥을 비추는 빛(LED 또는 레이저), 바닥에서 돌아온 빛을 모으는 투명 렌즈, 그 빛으로 사진을 찍고 계산하는 센서 칩. 움직임을 읽는 것은 이 셋이다
- 스위치 — 왼쪽 · 오른쪽 버튼 밑에서 눌리면 닫히는 작은 스위치
- 휠과 엔코더 — 휠이 몇 칸 돌았는지 세는 부품
- MCU — 마우스 기판에 붙은 작은 컴퓨터 칩이다. 센서 칩 · 스위치 · 휠에서 값을 모아 USB로 내보낸다
- 줄(또는 무선 수신기) — PC의 USB 단자로 간다. 이 PC의 G102는 줄이다
Gemini는 처음 답에서 성능을 가르는 값 셋을 들었다. 이 페이지의 뒤에서 하나씩 다시 나온다.
- DPI — 마우스를 1인치 움직일 때 몇 카운트를 셀지다. 정확한 이름은 CPI(counts per inch)다 — CPI 섹션
- 폴링 레이트 — PC가 마우스에 「새 것 있나」를 1초에 몇 번 묻는지다. 이 PC의 마우스는 1,000번을 청한다 — USB 섹션
- IPS(inches per second) — 센서가 놓치지 않고 따라가는 가장 빠른 손 빠르기다. 그보다 빨리 휘두르면 앞뒤 사진에서 같은 무늬를 찾지 못해 커서가 튀거나 멈춘다. G102의 IPS는 Logitech 쪽 문서에서 찾지 못했다
움직임은 센서 → MCU → USB → RAM → 커서 순서로 컴퓨터에 들어간다
그림의 단계를 따라가면 이렇다.
- 빛을 비춘다. LED가 렌즈 옆에서 바닥을 비춘다. 빛은 마우스패드의 결 · 먼지 · 흠집에 따라 밝고 어둡게 되돌아오고, 렌즈가 그 빛을 센서 칩 밑면에 모은다
- 찍고 견준다. 센서 칩이 바닥을 1초에 천 장 넘게 흑백 사진으로 찍는다(공개 데이터시트가 있는 옛 센서로 1,500장(ADNS-2610) · 6,400장 넘게(ADNS-3090)이고, G102의 값은 공개되지 않았다). 그리고 바로 앞 사진과 지금 사진을 겹쳐 보며 무늬가 몇 칸 밀렸는지(dx · dy)를 칩 안에서 계산한다. 이 단계가 마우스의 핵심이라 아래에서 그림 하나를 따로 본다
- MCU가 묶는다. 센서 칩은 사진을 견줄 때마다 나온 dx · dy를 칩 안의 칸에 계속 더해 둔다. MCU가 그 칸을 읽어 가면 칸은 0으로 돌아간다(ADNS-2610 데이터시트: 「지난번 읽은 뒤로 움직인 양을 세고, 읽으면 지워진다」). MCU는 읽어 온 dx · dy를 버튼 · 휠 상태와 함께 8바이트 보고서로 묶어 둔다. G102의 MCU가 얼마나 자주 읽어 가는지는 확인하지 못했다
- USB 컨트롤러가 묻는다. PC 쪽 USB 컨트롤러가 1 ms마다 「새 것 있나」를 묻는다. 이렇게 정해진 간격으로 계속 묻는 것을 폴링이라고 한다. 움직임이 없으면 마우스는 「없다」고만 답한다
- 마우스가 보고서를 보낸다. 물음을 받은 마우스가 8바이트를 줄로 보낸다
- RAM에 쓰고 알린다. USB 컨트롤러가 보고서를 RAM에 바로 쓴다. CPU 코어를 거치지 않고 장치가 RAM에 직접 쓰는 이 방식을 DMA라고 한다. 다 쓰면 인터럽트로 코어 하나를 부른다
- 커서를 옮긴다. 코어가 커널의 마우스 드라이버를 실행해 dx · dy를 커서 좌표에 더한다. 그 사이에 윈도우의 포인터 속도 · 「포인터 정확도 향상」 설정이 끼어든다. 다음 화면을 그릴 때 커서가 새 자리에 그려진다
4 ~ 7단계는 입출력 장치 페이지의 키 하나와 같은 길이다. 다른 것은 보고서에 든 것(눌린 키 목록 대신 dx · dy)과, 커널에서 그것을 받는 곳(터미널 대신 커서)이다.
Gemini는 이 흐름을 「촬영 → DSP 계산 → MCU 포장 → 전송」 네 단계로 설명했다. 위의 1 · 2단계(빛과 촬영 · 계산), 3단계(MCU 포장), 5단계(전송)가 그것이다. 내가 더한 것은 두 가지다. 하나는 4단계 — 마우스가 먼저 보내는 것이 아니라 PC가 물으러 온다는 것이다. 다른 하나는 6 · 7단계 — 「운영체제가 받는 즉시 좌표를 갱신한다」의 「받는다」가 실제로는 RAM에 쓰기와 인터럽트라는 것이다.
레이저와 LED는 바닥을 비추는 빛만 다르고, 움직임을 읽는 것은 둘 다 사진을 찍는 센서 칩이다
나는 다음에 「레이저가 디지털 데이터로 바뀌는 것을 알려 달라」고 물었다. 레이저가 무언가를 재서 숫자를 만든다고 생각했기 때문이다.
Gemini는 레이저 마우스를 설명했다. 일반 LED 대신 적외선 레이저(VCSEL이라는 작은 레이저 칩)를 쏘면, 바닥의 미세한 굴곡에서 반사된 빛이 서로 겹쳐 밝고 어두운 반점 무늬(스페클)가 생기고, 센서가 그 무늬를 찍는다는 것이다.
여기서 내가 가져간 것은 「레이저냐 LED냐」가 아니라 빛은 바닥을 비출 뿐이고, 숫자를 만드는 것은 사진을 찍는 센서 칩이라는 점이다. 이것은 다음 질문(빛만 쏘는데 어떻게 아나)에서 Gemini도 다시 말했다. 레이저든 LED든 센서 칩이 하는 일 — 찍고, 견주고, dx · dy를 내는 것 — 은 같다. 빛의 종류는 「어떤 바닥에서 무늬가 잘 보이나」를 바꾼다.
Gemini의 설명에서 하나를 바로잡았다. Gemini는 「스페클 덕분에 레이저 마우스는 투명한 유리 책상 위에서도 커서를 정확하게 움직인다」고 했다. 레이저 마우스라고 다 유리에서 되는 것은 아니다. Logitech은 2009년에 유리 위에서도 되는 레이저 마우스(Darkfield)를 내면서, 유리에는 보통 레이저 마우스가 따라갈 표면의 흠이 없다는 것을 그 기술이 필요한 이유로 들었다. Darkfield는 유리 위의 먼지 · 긁힌 자국만 밝게 보이게 비추는 방식이고, 두께 4 mm 이상의 유리에서 된다고 했다(Logitech 보도 자료, 2009).
이 PC의 G102가 LED를 쓰는지 레이저를 쓰는지는 확인하지 못했다. 제품 사양에는 「광학 센서」로만 적혀 있다.
센서는 빛을 곧바로 0과 1로 바꾸지 않는다 — 화소마다 밝기를 숫자로 재고, 마우스는 위치가 아니라 「얼마나 움직였나」를 보낸다
그다음 나는 이렇게 물었다. 「그럼 센서가 0과 1로 변환하는 거야? 그런데 문제는 위치가 변하는데?」 두 가지가 걸려 있었다. 빛이 어떻게 0과 1이 되는지, 그리고 계속 바뀌는 위치를 어떻게 숫자 하나로 보내는지.
빛은 먼저 「밝기 숫자」가 된다. 센서 칩의 밑면에는 빛을 받는 작은 칸(화소)이 바둑판처럼 놓여 있다. 칩은 칸마다 받은 빛의 양을 숫자로 바꾼다. 공개 데이터시트가 있는 옛 센서 ADNS-2610을 예로 들면, 칸이 18 × 18 = 324개이고 칸마다 밝기를 0 ~ 63(6비트)으로 잰다(ADNS-2610 데이터시트). 그러니 사진 한 장은 324개의 숫자다. 컴퓨터 안의 숫자는 모두 0과 1로 적히니 이것도 0과 1이긴 하다. 하지만 「빛이 있으면 1, 없으면 0」이 아니라 칸마다 밝기를 64단계로 잰 숫자다. 그다음 칩이 그 숫자들로 두 사진을 견줘 dx · dy를 계산한다(다음 섹션).
위치는 보내지 않는다. 마우스는 「지금 책상의 어디에 있다」를 모른다. 안다 해도 쓸모가 없다 — 마우스를 들어 옮겨 놓으면 책상 위치와 커서 위치가 어긋난다. 마우스가 보내는 것은 직전 보고서 뒤로 얼마나 움직였나(변화량)뿐이다. 운영체제가 그 변화량을 계속 더해 커서 위치를 만든다. 그래서 「위치가 계속 변한다」는 문제가 없다 — 변하는 것 자체를 보낸다.
이 PC에서 그 변화량이 담기는 자리를 읽어 보니 X · Y가 각각 16비트, −32,767부터 32,767까지였다(위 「이 PC의 마우스」). 오른쪽으로 5카운트면 X 칸에 0000 0000 0000 0101, 왼쪽으로 3카운트면 1111 1111 1111 1101이 들어간다. 음수는 「2의 보수」라는 방식으로 적어서, −3이 그렇게 1이 많은 모양이 된다. Gemini는 「5는 0101, 3은 0011」로 양수 예만 들었는데, 왼쪽 · 위쪽 움직임은 이렇게 음수로 간다.
바닥은 가만히 있으니, 사진 속 무늬가 밀린 만큼이 마우스가 움직인 거리다
여기가 이 대화에서 가장 오래 걸린 곳이다. 나는 「바닥에는 레이저만 쏘는데 어떻게 어디에서 어디로 이동한 것을 아냐」고 물었다. 빛은 바닥을 비추기만 하고, 바닥에는 「여기가 몇 번지」 같은 표시가 없다.
답은 앞 사진과 지금 사진을 겹쳐 보는 것이다. 아래 그림에서 마우스 몸통은 비쳐 보이게 그렸다. 바닥에 밝은 테두리로 표시한 네모가 센서가 지금 찍은 자리, 파란 점선이 바로 앞 사진을 찍은 자리다. 뒤쪽 화면에 두 사진과, 둘을 견준 결과가 뜬다.
작업대 위 마우스패드에서 마우스가 오가고, 바닥의 센서가 발밑을 18 × 18칸 흑백 사진으로 찍는다. 뒤의 계기 화면에 앞 사진과 지금 사진이 나란히 있고, 오른쪽 7 × 7칸은 「마우스가 −3 ~ +3칸 움직였다면」을 하나씩 가정해 앞 사진을 거꾸로 밀어 겹쳐 봤을 때 얼마나 잘 맞는지를 밝기로 보인다. 가장 잘 맞는 칸에 테두리가 쳐지고, 그 칸이 이번 이동량 dx · dy다. 손 움직임(오른쪽 · 몸 쪽 · 비스듬히 · 멈춤)과 찍는 빠르기를 바꿔 볼 수 있다.
그림에서 일어나는 일은 이렇다.
- 센서가 발밑 바닥을 사진으로 찍는다(지금 사진)
- 「마우스가 가로로 −3 ~ +3칸, 세로로 −3 ~ +3칸 움직였다면」을 하나씩 가정한다(7 × 7 = 49가지). 화면 오른쪽 7 × 7칸의 한 칸이 가정 하나이고, 가운데 칸이 「안 움직였다」, 가운데에서 오른쪽으로 두 번째 칸이 「오른쪽으로 2칸」이다
- 가정마다 앞 사진을 그 반대쪽으로 밀어 지금 사진에 겹친다. 마우스가 오른쪽으로 2칸 갔다면 바닥 무늬는 사진 안에서 왼쪽으로 2칸 밀려 보일 테니, 앞 사진을 왼쪽으로 2칸 밀어 겹쳐 보는 것이다. 겹친 칸마다 밝기 차이를 재고, 겹친 칸 수로 나눠 평균을 낸다(많이 밀수록 겹치는 칸이 줄어서, 더하기만 하면 많이 민 쪽이 늘 덜 달라 보인다). 화면의 칸이 밝을수록 덜 다르다
- 가장 덜 다른 가정이 답이다. 「오른쪽으로 2칸」 가정에서 딱 맞았다면 지금 사진 속 무늬는 앞 사진보다 왼쪽으로 2칸 밀려 있다. 바닥은 가만히 있으니 움직인 것은 마우스다 — dx +2, dy 0
- 앞 사진은 버리고, 지금 사진이 다음 차례의 앞 사진이 된다
「손 움직임」을 「멈춤」으로 두면 가운데 칸(옮기지 않은 겹침)이 가장 밝다 — 이동량 0이다. 「비스듬히」로 두면 dx와 dy가 함께 나온다. 범위 끝에서 마우스가 돌아오면 dx의 부호가 바뀐다.
이렇게 보면 바닥에 무늬가 있어야 한다는 것도 보인다. 거울이나 맑은 유리처럼 무늬가 없는 바닥에서는 어느 겹침이나 다 비슷하게 맞아서 답을 고를 수 없다. 앞 섹션의 Darkfield가 유리 위의 먼지를 찾아 비추는 까닭이다.
사진 사이에 움직이는 거리가 너무 크면 놓친다. 그림은 ±3칸까지만 견준다. 한 장 사이에 그보다 멀리 가면 같은 무늬를 찾지 못한다. 그래서 센서는 1초에 천 장 넘게 찍는다 — 장 사이가 짧을수록 그 사이에 움직이는 거리가 작다. 앞에서 말한 IPS(놓치지 않는 가장 빠른 손 빠르기)가 이 한계다.
사진은 파일로 남지 않지만, 견주는 동안 칩 안에 두 장은 머문다
그다음 나는 「그럼 그 이미지는 저장은 안 하고 연산만 해서 정보를 추출한다는 거지?」라고 되물었다. Gemini는 「네, 저장하지 않고 이동 거리만 뽑은 뒤 즉시 폐기한다」고 답했다.
절반은 맞다. 사진은 어디에도 파일로 남지 않고, PC로 가지도 않는다. 마우스에는 사진을 쌓아 둘 저장 장치가 없고, MCU가 센서 칩에서 읽어 가는 것도 dx · dy뿐이다.
하지만 「저장하지 않는다」를 「한 번도 담아 두지 않는다」로 읽으면 틀린다. 앞 사진과 지금 사진을 견주려면, 지금 사진이 찍힐 때 앞 사진이 칩 안 어딘가에 아직 있어야 한다. 그래서 센서 칩 안의 작은 메모리에 사진이 두 장(앞 · 지금)은 머문다. 위 그림의 「칩 안에 둔 사진: 2장」이 그것이다. 새 사진이 오면 가장 오래된 것을 덮어쓴다. 칩 안에 사진이 실제로 있다는 증거도 있다. ADNS-2610은 시험할 때 쓰라고 사진을 꺼내 보는 길을 열어 두었다 — 칩의 사진 칸(Pixel Data)을 324번 읽으면 지금 사진 한 장이 나온다고 데이터시트에 적혀 있다. 마우스로 쓸 때는 이 길을 쓰지 않는다.
Gemini가 든 이유 둘 — 「저장 공간이 없다」, 「저장하는 시간을 아껴 계산에 쓴다」 — 가운데 첫째는 「쌓아 둘 공간이 없다」로는 맞다. 둘째는 확인하지 못했다. 나는 둘째가 틀린 쪽에 가깝다고 본다. 두 장을 담아 두는 것 자체가 견주는 계산의 일부라서, 「저장을 건너뛰고 계산에 힘을 모은다」가 성립하지 않는다. 다만 칩 안에서 시간을 실제로 어떻게 나눠 쓰는지는 확인하지 못했다.
견주는 계산은 센서 칩 안의 DSP가 하고, PC의 CPU는 끝난 수만 받는다
「그럼 그 연산은 어디에서 해?」 — 마우스 안이다. 센서 칩 안에는 사진을 찍는 부분과 DSP(digital signal processor, 숫자 배열을 빠르게 계산하는 데 맞춘 회로)가 함께 들어 있다. 데이터시트는 이렇게 적는다. 사진을 얻는 부분(IAS)이 렌즈와 빛을 통해 바닥의 미세한 사진을 얻고, DSP가 그 사진들로 움직인 방향과 거리를 정해 Δx · Δy를 계산하며, 바깥의 마이크로컨트롤러가 직렬 포트로 Δx · Δy를 읽어 USB 신호로 바꿔 PC에 보낸다(ADNS-3090 데이터시트). Δx · Δy가 이 페이지의 dx · dy이고, 그 마이크로컨트롤러가 위 그림의 MCU다.
그래서 나는 「연산은 마우스에서 하고, 선으로는 이동 데이터만 보내는 거구만?」이라고 정리했고, 그 정리가 맞았다. 선으로 가는 것은 위 「이 PC의 마우스」에서 읽은 8바이트 보고서 — 버튼 · dx · dy · 휠 — 뿐이다.
왜 사진을 PC로 보내 CPU가 계산하게 하지 않나. Gemini는 「사진을 USB로 보내면 병목이 생겨 커서가 끊긴다」고 했다. 숫자로 재 봤다. ADNS-2610이면 사진 한 장이 324칸이고 1초에 1,500장이니, 칸 하나를 1바이트로 쳐도 1초에 약 49만 바이트(약 3.9 Mbps)다. 이 숫자를 두 가지로 견줘야 한다. 줄 전체의 빠르기(12 Mbps = 1초에 150만 바이트)로는 계산상 들어간다. 하지만 마우스가 쓰는 방식 — 1 ms마다 묻고 한 번에 가져가는 양 — 으로는 안 들어간다. USB 2.0 규격(5.7.3절)은 Full-Speed 장치가 이 방식으로 한 번에 64바이트까지만 보내게 정해 두었다(이 PC의 마우스 보고서 창구는 8바이트다). 1 ms마다 64바이트면 1초에 64,000바이트가 한계다. 사진을 보내려면 USB 저장 장치가 쓰는 대량 전송(벌크 전송)처럼, 「언제까지 꼭」은 없지만 남는 길을 다 쓰는 다른 방식을 써야 한다. 그러니 Gemini의 「병목」은 「지금 마우스가 쓰는 길로는 못 싣는다」로는 맞고, 「USB 줄이 못 나른다」로는 맞지 않는다.
내가 더 크게 보는 이유는 다른 쪽이다(데이터시트나 규격에 적힌 이유가 아니라, 이 PC에서 본 것으로 미루어 본 것이다). 마우스가 계산을 끝내 보내면 PC는 8바이트만 받으면 되고, 보고서 모양이 HID로 정해져 있어 윈도우 기본 드라이버(이 PC의 mouhid)로 아무 PC에서나 된다. 사진을 보내면 PC 쪽에 그 사진을 견주는 프로그램이 마우스마다 따로 있어야 하고, 1초에 사진 1,500장을 견주는 일을 코어가 맡아야 한다. 지금 코어가 하는 일은 움직일 때 1 ms에 한 번까지, 8바이트에서 dx · dy를 꺼내 더하는 것뿐이다.
Gemini의 설명에서 둘을 바로잡았다.
- 「0.001초의 지연도 없이 즉각 반응」 — 지연은 있다. USB 컨트롤러가 1 ms마다 묻기 때문에, 움직임이 생긴 뒤 다음 물음까지 최대 1 ms를 기다린다. 그 뒤로도 RAM 쓰기 · 인터럽트 · 화면을 다시 그릴 때까지의 시간이 붙는다. 이 PC의 화면은 1초에 143번 바뀌어(약 7 ms마다 — 입출력 장치 페이지에서 잰 「지금 화면」 값) 눈에 보이는 지연은 그쪽이 더 크다. 입출력 장치 페이지에서 키보드로 본 것과 같다
- 「0.001초 전 사진과 지금 사진을 겹친다」 — 0.001초(1 ms)는 USB가 묻는 간격이다. 사진 사이 간격은 그보다 훨씬 짧다. 1초에 1,500장(ADNS-2610)이면 약 0.67 ms, 1초에 6,400장 넘게 찍는 센서(ADNS-3090)면 0.16 ms 안쪽이다. 그래서 USB가 한 번 물을 때까지 센서는 1.5장(ADNS-2610) ~ 6장 남짓(ADNS-3090)을 찍고, 그 사이의 dx · dy를 칩 안의 칸에 더해 둔다(위 그림 3단계)
CPI(흔히 DPI)는 같은 1인치를 몇 개로 셀지 정하는 센서 설정이다
「마우스 설정에서 DPI를 높이거나 낮추면 이 이동 데이터에는 어떤 변화가 생기나요?」 — Gemini의 답은 「1인치를 움직였을 때 400 DPI면 400을, 4,000 DPI면 4,000을 보낸다」였다. 이 줄은 맞다. 아래 그림에서 막대를 움직여 보면 손은 늘 똑같이 1인치를 가는데 마우스가 보내는 카운트 수가 달라진다.
작업대 위 모니터 앞에서 마우스가 mm 눈금자를 따라 1인치(25.4 mm)씩 오른쪽 · 왼쪽으로 오간다. 모니터 화면에는 가로 1,920화소 눈금과 커서가 있고, 마우스가 보낸 카운트만큼 커서가 움직인다. CPI 막대를 바꾸면 같은 1인치에 보내는 카운트와 커서가 가는 거리가 달라진다. 2,000 CPI쯤부터는 커서가 화면 끝에 닿아 멈춘다.
여기서 셋을 바로잡았다.
- 이름은 DPI가 아니라 CPI다. DPI(dots per inch)는 원래 인쇄 · 화면에서 1인치에 점이 몇 개인지를 뜻한다. 마우스는 점을 찍지 않고 1인치에 카운트를 몇 개 세는지라서, 센서 데이터시트는 CPI(counts per inch)로 적는다. ADNS-2610은 「400 cpi」, ADNS-3090은 「1800 cpi 또는 3600 cpi 중 선택」이다. 제품 상자와 설정 프로그램은 흔히 DPI라고 쓴다. 이 페이지는 같은 것으로 본다
- 「DPI를 높이면 마우스가 바닥 패턴을 아주 잘게 쪼개 분석한다」는 확인하지 못했다. CPI는 센서 칩의 설정 값이다(데이터시트의 「선택 가능한 해상도」). 높은 CPI를 센서가 실제로 더 촘촘히 보는 것으로 내는지, 같은 측정값에 배율을 곱해 내는지는 칩마다 다르고 공개된 것이 적다. 이 페이지에서 말할 수 있는 것은 「같은 거리에 보내는 카운트 수가 CPI에 비례한다」까지다
- 「운영체제는 기본적으로 1을 1픽셀로 옮긴다」는 이 PC에서 맞지 않는다. 1 대 1이 되는 것은 윈도우 포인터 속도가 가운데(11칸 중 6번째)이고 「포인터 정확도 향상」이 꺼져 있을 때다. 가운데 칸이 1배라는 것은 널리 알려진 윈도우 배율표의 값이고, 이 PC에서 재 보지는 않았다. 이 PC는 포인터 속도는 가운데지만 정확도 향상이 켜져 있다. 켜져 있으면 윈도우가 마우스를 빨리 밀 때 카운트를 더 크게 쳐 준다. 그래서 같은 800카운트도 천천히 밀었을 때와 빨리 밀었을 때 커서가 가는 거리가 다르다.
그림에서 하나 더 보인다. CPI를 올려도 보고서가 더 자주 가지는 않는다. 묻는 간격은 그대로 1 ms이고, 보고서 하나에 실리는 수만 커진다. 천천히 미는 빠르기(1인치에 2.5초)로 800 CPI면 1 ms 보고서 하나에 평균 0.3카운트다 — 대부분의 물음에는 「없다」나 1이 간다. 반대로 CPI를 8,000으로 두면 1인치에 8,000카운트라, 커서 1 대 1로는 가로 1,920화소 화면을 네 번 넘게 건너는 거리다. 그림에서 커서가 화면 끝에 닿아 멈추는 것이 그것이다.
실제 마우스의 「카메라」는 기판의 센서 칩 · 그 밑의 투명 렌즈 · 옆의 LED 셋이다
「실제로 마우스의 카메라를 보여 줘」라고 하자, Gemini는 마우스를 연 사진 한 장을 보여 주며 세 부품을 짚었다. 기판에 납땜된 다리 달린 검은 칩(센서 칩), 그 밑을 받치는 투명한 플라스틱 조각(렌즈), 렌즈 한쪽에 비스듬히 꽂힌 작은 전구(LED)다.
이 세 부품은 센서 데이터시트의 짜임과 맞는다. ADNS-2610 데이터시트는 이 센서를 렌즈(HDNS-2100) · LED를 붙잡는 클립(HDNS-2200) · LED와 함께 쓰도록 설계했다고 적고, ADNS-3090도 센서 칩 · 렌즈 · 클립 · LED 넷이 모여 「완전한 광 마우스 추적 장치」가 된다고 적는다. 클립은 LED를 렌즈 옆에 붙잡아 두는 부품이라, 빛을 다루는 것은 칩 · 렌즈 · LED 셋이다. 카메라라고 하면 스마트폰 카메라처럼 렌즈 달린 둥근 부품을 떠올리기 쉽지만, 실제로는 기판에 꽂힌 평범한 칩 하나와 그 밑의 플라스틱 렌즈다. 위 「센서 → MCU → USB」 그림의 센서 칩 · LED가 그것이다(렌즈는 기판 밑이라 그림에서 안 보인다).
Gemini의 설명에서 하나를 바로잡았다. Gemini는 칩 밑면의 「바늘구멍 같은 틈」이 「초소형 카메라 렌즈」라고 했다가, 바로 다음 줄에서 투명 플라스틱을 렌즈라고 했다. 렌즈는 투명 플라스틱 쪽이다. 칩 밑면의 구멍은 렌즈가 모은 빛이 칩 안의 화소 판에 닿는 창이다.
이 PC의 G102를 열어 보지는 않았다. 위 그림의 기판 위 부품 자리는 흔한 마우스 짜임을 따른 것이다.
마우스 데이터는 USB로 가지만, 마우스가 밀어 넣는 것이 아니라 USB 컨트롤러가 1 ms마다 묻고 가져간다
「이 데이터를 USB 포트를 이용해서 보내는 건가?」 — 그렇다. 유선 마우스는 줄 끝의 USB 단자로, 무선 마우스는 PC에 꽂은 작은 수신기(동글)를 거쳐 결국 USB 단자로 들어간다.
Gemini의 설명 가운데 맞고, 내가 가장 중요하게 본 줄은 이것이다. 마우스가 PC로 데이터를 일방적으로 밀어 넣는 것이 아니라, USB 컨트롤러가 주기적으로 묻는다. USB에서는 장치가 먼저 말을 걸지 못한다. 입출력 장치 페이지에서 키보드로 본 것과 같다.
헷갈리기 쉬운 이름이 하나 있다. USB 규격은 마우스 · 키보드가 쓰는 이 방식을 「인터럽트 전송」이라고 부른다. 이름만 보면 마우스가 PC를 깨우는 것 같지만, 실제로는 PC 쪽 컨트롤러가 정해진 간격으로 묻는 폴링이다. USB 2.0 규격(5.7절 「Interrupt Transfers」)은 이 방식을 「가끔 오가는 작은 데이터를, 정해 둔 간격 안에 꼭 가져가야 하는 장치」를 위한 것으로 둔다. PC 안에서 진짜 인터럽트를 거는 것은 마우스가 아니라, 보고서를 RAM에 다 쓴 USB 컨트롤러다(위 그림 6단계).
묻는 간격은 누가 정하나. 마우스가 꽂힐 때 자기소개(디스크립터)에 「이 창구는 몇 ms마다 물어 달라」를 적어 내고(bInterval), USB 컨트롤러가 그대로 묻는다. 이 PC의 G102는 1이라 1 ms마다, 1초에 1,000번이다. 이것이 폴링 레이트 1,000 Hz다. Gemini가 말한 「1초에 1,000번 『이동했어?』 『어, X로 3!』」이라는 대화는, 이 PC의 마우스가 적어 낸 간격대로라면 그렇게 오간다(통신을 떠서 직접 보지는 않았다). 움직임이 없으면 마우스는 보낼 것이 없다고만 답하고, 그 물음에는 보고서가 가지 않는다.
USB 3.0 포트에 꽂아도 마우스는 빨라지지 않는다 — 이 PC의 마우스는 이미 USB 3 컨트롤러에 붙어 12 Mbps로 이야기한다
마지막으로 나는 「파란색 USB 3.0 포트에 꽂으면 검은색 USB 2.0 포트보다 반응이 빨라지냐」고 물었다. Gemini의 결론 「빨라지지 않는다」는 맞다. 다만 이유의 숫자가 달랐다.
Gemini는 「USB 2.0이 480 Mbps라 마우스 데이터는 텅 빈 도로의 오토바이 한 대」라고 했다. 이 PC에서 재 보니 마우스는 480 Mbps로 이야기하지 않았다. Full-Speed, 12 Mbps였다. 이름과 달리 Full-Speed는 가장 빠른 등급이 아니다. USB 2.0은 Low-Speed(1.5 Mbps) · Full-Speed(12 Mbps) · High-Speed(480 Mbps) 세 등급을 두고, 장치는 꽂힐 때 자기가 낼 수 있는 등급으로 이어진다. G102는 Full-Speed 장치라서 어느 포트에 꽂아도 12 Mbps로 이야기한다. 그리고 이 PC의 마우스는 이미 USB 3.10 컨트롤러 아래에 붙어 있다(위 「이 PC의 마우스」). USB 3 컨트롤러는 느린 장치도 함께 다루고, 파란 USB 3 단자는 USB 2.0용 핀 넷에 빠른 신호(SuperSpeed)용 핀 다섯을 더한 모양이다. 마우스는 USB 2.0용 핀으로만 이야기한다. 이 PC에서 마우스가 꽂힌 단자가 파란색인지는 보지 않았다 — 「컨트롤러가 USB 3.10」은 「단자가 파란색」과 같은 말이 아니다. USB 3 컨트롤러의 루트 허브는 검은 USB 2.0 단자의 장치도 받는다.
숫자로 보면 이렇다.
- 마우스 보고서 창구로 1초에 가는 양은 많아야 8바이트 × 1,000번 = 8,000바이트, 6만 4,000비트(64 kbps)다. 두 번째 창구(최대 20바이트)까지 1 ms마다 꽉 채워 보낸다 쳐도 28,000바이트, 약 224 kbps다
- 그것을 12 Mbps 길로 보낸다. 자료만 세면 마우스 보고서는 길의 약 0.5%, 두 창구를 다 채워도 약 1.9%다. 주고받는 머리글과 확인 신호가 더 붙지만 길이 모자랄 양은 아니다
- USB 쪽에서 반응을 정하는 것은 길의 넓이가 아니라 묻는 간격 1 ms다. 그 값은 마우스가 자기소개에서 정하고, 포트 색과 상관없다. 화면 쪽 약 7 ms(위 「지연은 있다」)도 포트와 상관없다
그래서 USB 3.0 포트로 옮겨도 얻는 것이 없다. 더 빠르게 하려면 묻는 간격을 줄여야 하고, 그것은 마우스 쪽 일이다(1 ms보다 짧게 묻는 마우스는 Full-Speed가 아니라 더 빠른 USB 연결을 쓴다고 알려져 있지만, 이 페이지에서 확인하지 않았다).
Gemini가 덧붙인 「무선 마우스 수신기는 USB 3.0 포트를 피하라」는 근거가 있다. 인텔이 2012년에 낸 문서는 USB 3.0 신호가 2.4 GHz 대역에 잡음을 만들어, 가까이 있는 2.4 GHz 무선 장치(무선 마우스 · 키보드 수신기)의 성능을 떨어뜨릴 수 있다고 적는다(Intel, USB 3.0 Radio Frequency Interference Impact on 2.4 GHz Wireless Devices). 이 PC의 G102는 유선이라 해당하지 않는다.
마우스에서 아직 안 본 것
- 스피커 — 대화의 마지막 질문이었다. 마우스가 「움직임 → 전기 신호」라면 스피커는 「전기 신호 → 공기의 떨림」이다. 다음으로 미뤘다
- G102의 빛과 센서 이름 — LED인지 레이저인지, 센서 칩이 무엇인지. 제품 사양에 없고, 마우스를 열어 보지 않았다
- 지금 CPI와 마우스 쪽 보고 빈도 설정 — Logitech 프로그램(G HUB)이 마우스에 써 두는 값이라 윈도우에서 읽지 못했다
- 「포인터 정확도 향상」의 곡선 — 이 PC에 켜져 있다. 빠르기에 따라 카운트를 얼마나 더 크게 쳐 주는지
- 보고서가 실제로 몇 ms마다 오는지 — 1 ms는 마우스가 적어 낸 간격이고, USB 통신을 떠서 재 보지는 않았다
- 두 번째 창구(최대 20바이트)가 보내는 것 — 키보드 항목인지 다른 기능인지
- 센서가 놓치는 때 — 손이 IPS보다 빠를 때, 마우스를 들어 올렸을 때 커서가 멈추는 까닭(Gemini가 다음 질문으로 제안했다)
- 무선 연결 — 2.4 GHz 수신기와 블루투스. 이 PC의 마우스는 유선이다
마우스 페이지를 정하기까지
입출력 장치 페이지 아래에 따로 떼었다. 처음에는 입출력 장치 페이지에 마우스 섹션을 더하는 안을 봤다. 부품 페이지가 하나 덜 생기고, 키보드 · 마우스가 한 페이지에 모인다. 버린 이유는 그 페이지가 답하는 질문이 「키 하나가 화면의 글자가 되기까지」이기 때문이다. 13문답 가운데 12개가 마우스 이야기라, 넣으면 그 페이지의 대부분이 마우스가 되고 키보드의 길이 묻힌다. Linux 페이지 아래에 Ubuntu를 둔 것과 같은 모양으로, 입출력 장치 페이지에 카드 한 장만 두고 이 페이지로 넘긴다.
Gemini 대화의 질문 순서대로 섹션을 놓았다. 「빛 · 센서 · MCU · USB」처럼 부품 순서로 묶는 안도 봤다. 위 「센서 → MCU → USB」 그림의 순서와 같아서 한 줄로 읽힌다. 버린 이유는 질문이 생긴 계기가 끊기기 때문이다. 「0과 1로 바꾸나, 위치가 변하는데?」(질문 4)는 「레이저가 어떻게 디지털이 되나」(질문 3)의 답을 듣고 나온 것이고, 「사진은 저장 안 하나」(질문 6)는 「앞뒤 사진을 겹친다」(질문 5)를 듣고 나온 것이다. 부품 순서로 묶으면 이 되묻기가 사라진다. 랜 카드 · SSD 페이지에서 주제별 묶기를 버린 것과 같은 판단이다. 대가로 마우스 안의 부품 이야기(질문 10, 실물 사진)가 USB 이야기 바로 앞에 와서, 센서 칩의 생김새를 센서 계산보다 늦게 본다. 그래서 「움직임은 센서 → MCU → …」 섹션의 그림에 센서 칩 · LED를 미리 그려 두었다.
질문 7(어디서 계산하나)과 질문 8(마우스에서 계산하고 이동량만 보내나)은 한 섹션에 두었다. 질문 8은 질문 7의 답을 내가 한 줄로 다시 말한 것이고, Gemini도 같은 답을 되풀이했다.
가장 헷갈린 곳은 질문 5 · 6이었고, 그래서 거기에 값을 바꿔 보는 그림을 두었다. 「빛만 쏘는데 어디서 어디로 움직였는지 어떻게 아나」는 글로 「겹쳐 본다」를 읽어도 「무엇을 무엇에 겹치나」가 남는다. 그림을 두 가지로 생각했다.
- 안 A — 단계를 넘기는 그림(정해진 사진 몇 장). 다른 하드웨어 페이지의 단계 그림처럼 「찍는다 → 겹친다 → dx」를 버튼으로 넘긴다. 만들기 쉽고 페이지의 다른 그림과 모양이 같다. 버린 이유는 사진과 답이 미리 정해진 것이라, 「손을 다르게 움직이면 답이 어떻게 바뀌나」를 볼 수 없고 그림 속 계산이 진짜인지도 알 수 없기 때문이다
- 안 B — 마우스가 계속 움직이고, 그 자리를 실제로 찍어 실제로 견주는 그림. 패드 무늬(그림 속 점들)에서 사진을 떠 내고, 49가지 겹침을 실제로 계산해 고른다. 손 방향을 바꾸면 답이 따라 바뀌고, 「멈춤」이면 0이 나온다
골랐다 — 안 B. 안 A가 못 보여 주는 「손 → 무늬가 밀림 → dx」의 인과를, 손을 바꿔 가며 직접 확인할 수 있다. 대가는 그림이 실제 센서보다 단순하다는 것이다 — 칸 단위로만 맞추고, 칸 수 · 밝기 범위는 옛 센서의 값을 빌렸다. 그림 설명에 그렇게 적었다.
그림은 세 장이다.
- 「움직임 정보가 컴퓨터에 어떻게 들어가나」(질문 2)와 「어디서 계산하나 · USB로 보내나」(질문 7 · 8 · 11) → 단계 그림
mouse-path(새로). 윗뚜껑을 뗀 마우스에서 보드의 USB 컨트롤러 · RAM · 코어, 모니터의 커서까지를 일곱 단계로 넘긴다. Gemini의 네 단계에 「PC가 묻는다」와 「RAM 쓰기 · 인터럽트」를 더했다 - 「빛만 쏘는데 어떻게 아나 · 저장은 안 하나」(질문 5 · 6) → 값을 바꿔 보는 그림
mouseframes(새로). 위 안 B다. 「칩 안에 둔 사진: 2장」 칸으로 질문 6의 답(파일로는 안 남지만 두 장은 머문다)도 같이 보인다 - 「DPI를 바꾸면 이동 데이터가 어떻게 달라지나」(질문 9) → 값을 바꿔 보는 그림
mousedpi(새로). 손은 1인치로 고정하고 CPI 막대만 움직인다. 커서가 화면 끝에 닿는 것까지 그대로 두었다 - 「USB 3.0 포트에 꽂으면 빨라지나」(질문 12)는 그림을 만들지 않았다. 12 Mbps · 8,000바이트 · 0.5%(두 창구를 다 채워도 1.9%) 세 숫자로 읽힌다
이 PC의 값을 한 번 재서 Gemini의 일반론 대신 적었다. Gemini는 폴링 레이트 1,000 Hz, USB 2.0 480 Mbps, 「OS는 1을 1픽셀로」를 일반론으로 말했다. 2026-11-02에 PowerShell로 USB 허브에 이 포트의 연결 정보를 묻고(연결 속도 Full-Speed · 끝점 둘 · bInterval 1), HID 보고서의 짜임을 읽고(8바이트 · X · Y 16비트), 레지스트리에서 포인터 설정을 읽었다(정확도 향상 켬). 480 Mbps와 「1 대 1」은 그래서 고칠 수 있었다. 이 값들은 측정 스크립트(tools/hardware-snapshot.ps1)가 재지 않으므로, 마우스나 설정을 바꾸면 낡는다. 측정 스크립트에 넣는 일은 이 페이지에서 하지 않았다 — 모든 부품 페이지가 같이 쓰는 스크립트라 따로 고친다.
Gemini의 설명은 그대로 옮기지 않고 확인한 만큼만 옮겼다. 고친 것은 이렇다.
- 「레이저의 스페클 덕분에 유리 위에서도 된다」 — 보통 레이저 마우스는 유리에서 따라갈 흠이 없다. 유리에서 되게 하려고 Logitech이 따로 만든 것이 Darkfield다
- 「센서가 0과 1로 변환한다」 — 센서는 화소마다 밝기를 숫자(ADNS-2610은 0 ~ 63)로 재고, 그 숫자들로 두 사진을 견줘 dx · dy를 낸다. 0과 1로 줄로 가는 것은 그 결과인 dx · dy다
- 「5는 0101, 3은 0011」 — 왼쪽 · 위쪽 움직임은 음수(2의 보수)로 간다. 이 PC의 마우스는 X · Y를 16비트에 담는다
- 「이미지는 저장하지 않고 즉시 폐기」 — 파일로는 남지 않지만, 견주려면 앞 사진이 칩 안에 머물러야 한다. 칩 안에 두 장은 있다
- 「사진을 USB로 보내면 병목」 — 마우스가 쓰는 「1 ms마다 묻고 가져가기」로는 맞다(한 번에 64바이트까지). 줄 전체 12 Mbps로는 옛 센서의 사진이 계산상 들어간다. 내가 더 크게 보는 까닭은 「PC는 8바이트만 받으면 되고, HID라 윈도우 기본 드라이버로 된다」이다
- 「0.001초의 지연도 없이」 · 「0.001초 전 사진과 겹친다」 — 1 ms는 USB가 묻는 간격이라 최대 1 ms를 기다린다. 사진 사이 간격은 그보다 훨씬 짧다
- 「DPI」 — 마우스에서는 CPI(counts per inch)가 정확한 이름이고, 센서 칩의 설정 값이다
- 「DPI를 높이면 바닥 패턴을 잘게 쪼개 분석한다」 — 높은 CPI를 어떻게 만드는지는 칩마다 다르고, 확인하지 못했다
- 「OS는 기본적으로 1을 1픽셀로」 — 포인터 속도 가운데에 「포인터 정확도 향상」이 꺼져 있을 때만이다. 이 PC는 켜져 있다
- 「칩 밑면의 바늘구멍이 렌즈」 — 렌즈는 그 밑의 투명 플라스틱이고, 칩 밑면의 구멍은 빛이 들어가는 창이다
- 「USB 2.0의 480 Mbps 도로」 — 마우스는 Full-Speed(12 Mbps) 장치라 480 Mbps를 쓰지 않는다. 이 PC에서 그렇게 읽혔다
확인하지 못해 본문의 값으로 쓰지 않은 것은 G102의 IPS와, 요즘 센서의 사진 크기 · 찍는 횟수다. Gemini가 든 비유 셋(숨은그림찾기 · 사진을 파쇄하는 상황실 요원 · 고속도로의 오토바이), 사진 출처, 「더 알아볼까요?」 같은 다음 질문 제안, 첫 답의 마우스 모양(버티컬 마우스) · 무선 방식 설명은 옮기지 않았다. 앞의 것들은 이 PC의 유선 G102와 맞닿지 않고, 무선은 「아직 안 본 것」에 한 줄로 남겼다.