디지털·가전제품
러너일이
마우스가 화면을 인식하는 원리가 어떻게 되나요?
컴퓨터를 사용할 때 마우스를 사용하는데, 마우스 커서를 이용하여 화면속의 원하는 지점을 선택하여 클릭할 수 있는덕, 이렇게 인식할 수 있는 원리는 무엇인가요?
2개의 답변이 있어요!
마우스는 사실 화면을 인식하지 않습니다. 지금 커서가 어디에 있는지조차 모릅니다. 마우스가 컴퓨터에 보내는 건 딱 하나예요. 방금 오른쪽으로 얼마, 위로 얼마 움직였다는 변화량뿐입니다.
바닥을 읽는 방식이 재미있습니다. 마우스 아래에는 아주 작은 흑백 카메라가 들어 있어서 바닥 표면을 초당 천 장 넘게 찍습니다. 좋은 제품은 사천 장이 넘고요. 그리고 방금 찍은 사진과 그 직전 사진을 겹쳐 보며 무늬가 어느 쪽으로 몇 칸 밀렸는지를 계산합니다.
그러니까 마우스가 보는 건 바닥의 얼룩과 결입니다. 유리나 반들반들한 대리석 위에서 마우스가 말을 안 듣는 이유가 여기 있어요. 비교할 무늬가 없으니 사진 두 장이 똑같아서 움직이지 않았다고 판단하는 겁니다.
화면 좌표를 기억하는 쪽은 컴퓨터입니다. 운영체제가 커서의 현재 좌표를 들고 있다가 마우스가 보낸 변화량을 거기에 더해 새 자리를 정합니다. 마우스를 들었다 다른 곳에 놓아도 커서가 그대로인 것, 화면 끝에서 더 안 나가는 것 모두 이 구조 때문입니다.
클릭도 마우스가 판단하지 않습니다. 버튼이 눌렸다는 신호만 갈 뿐이고, 그 순간 커서 좌표 아래에 어떤 창의 어떤 버튼이 있는지 찾아서 그쪽에 전달하는 일은 전부 컴퓨터가 합니다. 그래서 화면이 멈춰 있어도 커서는 움직이는 상황이 생기는 거예요.
자주 보시는 디피아이라는 값은 일 인치를 움직였을 때 마우스가 몇 칸으로 세어 보고하는지를 뜻합니다. 여기에 운영체제의 포인터 속도 설정이 곱해져서 화면에서 실제로 움직이는 거리가 정해집니다. 같은 마우스인데 컴퓨터마다 느낌이 다른 이유가 이것입니다.
정리하면 마우스는 자기가 움직인 만큼만 말하고, 그게 화면 어디인지는 컴퓨터가 기억하고 계산합니다. 둘이 역할을 나눠 가진 셈이라, 마우스를 바꿔도 커서 위치가 그대로 이어지는 것도 같은 이유예요.
채택된 답변마우스 커서가 화면에서 원하는 지점을 찍을 수 있는 건, 마우스가 "절대 좌표"를 보내는 게 아니라 "얼마나 움직였는지"만 컴퓨터에 알려주기 때문이에요.
요즘 광마우스는 밑면의 LED나 레이저로 바닥을 비추고, 그 아래 있는 아주 작은 카메라 센서가 초당 수천 장씩 바닥 사진을 찍습니다. 앞 사진과 뒤 사진을 비교해서 무늬가 어느 방향으로 몇 픽셀 밀렸는지 계산하면, 그게 곧 마우스의 이동 방향과 거리가 되는 거죠.
이 이동량이 USB로 컴퓨터에 전달되고, 운영체제가 현재 커서 위치에 그 값을 더해서 새 좌표를 만들어 화면에 다시 그려 줍니다. 그래서 마우스를 들었다가 다른 곳에 내려놔도 커서는 그대로 있고, 마우스패드 끝에 닿으면 들어서 다시 옮겨 쓰게 되는 거예요.
DPI는 1인치 움직일 때 몇 번의 이동을 인식하는지를 뜻해서, 값이 높으면 같은 거리에도 커서가 더 많이 움직입니다. 여기에 OS의 포인터 속도와 가속 설정이 곱해져서 실제 체감 속도가 정해져요.
클릭은 좌표와는 별개 신호로, 버튼 눌림 정보가 함께 전송되고 운영체제가 "그 시점 커서 좌표에 있는 창이나 버튼"에 이벤트를 전달하는 방식입니다.
참고로 유리나 아주 매끈한 검은 바닥에서 커서가 튀는 이유도 이 원리 때문인데, 센서가 비교할 무늬가 없어서 그래요. 이럴 땐 마우스패드나 종이 한 장만 깔아도 훨씬 안정적으로 인식됩니다.