MOUSE(4)

NAME
mouse - 시리얼 마우스 인터페이스

CONFIG
시리얼 마우스는 시리얼 RS232/V24 다이얼아웃 라인에 연결된다. 설명을 보려면, ttys(4)을보라.

DESCRIPTION

  Introduction
The pinout of the usual 9 pin plug as used for serial mice is: 시리얼 마우스에 쓰이는 9핀 플러그의 핀아웃은 다음가 같다.
핀 | 이름 | 용도
2 | RX | Data
3 | TX | -12 V, Imax = 10 mA
4 | DTR | +12 V, Imax = 10 mA
7 | RTS | +12 V, Imax = 10 mA
5 | GND | Ground
위는 명세이다. 사실상, 대부분의 마우스에는 9 V로 충분하다.

마우스 드라이버는 RTS를 낮추고, 이를 다시 올리므로서 마우스를 인식할 수 있다. 대략 14ms이후에, 마우스는 데이터 라인에 0x4D ('M')를 전송할 것이다. 그리고 63ms 이후에, 마이크로소프트 호환 3버튼 마우스가 0x33 ('3')을 전송할 것이다.

The relative mouse movement is sent as dx (positive means right) and dy (positive means down). Various mice can operate at different speeds. To select speeds, cycle through the speeds 9600, 4800, 2400 and 1200 bit/s, each time writing the two characters from the table below and waiting 0.1 seconds. The following table shows available speeds and the strings that select them: 상대적인 마우스 움직임은 dx (positive means right) and dy (positive means down)로서 보내진다. 다양한 마우스는 다른 속도로 동작한다 속도를 선택하려면, 초당 전송 속도 9600, 4800, 2400 and 1200비트 중 선택할 수 있고, 두 문자를 작성하는데
속도(비트/초) 문자열
9600 | *q
4800 | *p
2400 | *o
1200 | *n
데이터 패킷의 첫번째 바이트는 동기화목적으로 사용될 수 있다.

  마이크로소프트 프로토콜
마이크로소프트 프로토콜은 1 스타트 비트, 7데이터 비트, 패리티 비트(없음), 1 스탑 비트를 1200 비트/초의 속도로 사용한다. 데이터는 3바치트 패킷으로 RxD로 전송된다. dx와 dy 움직임들은 상호 보완적으로 전송되고, lb (rb)는 왼쪽 (오른쪽) 버튼이 눌러졌을때 설정된다.
byte | d6 | d5 | d4 | d3 | d2 | d1 | d0
1 | 1 | lb | rb | dy7 | dy6 | dx7 | dx6
2 | 0 | dx5 | dx4 | dx3 | dx2 | dx1 | dx0
3 | 0 | dy5 | dy4 | dy3 | dy2 | dy1 | dy0

  3-버튼 마이크로소프트 프로토콜
원래의 마이크로소프트 마우스는 오직 두개의 버튼을 갖고 있다. 하지만, 일부 세개의 버튼을 갖는 마우스들 역시 마이크로소프트 프로토콜을 사용한다. 가운데 버튼을 누르거나, 해제시켜놓으면, 0 움직임을 갖는 패킷을 전송하거나 아무런 버튼도 눌러지지 않았다는 것을 알리는 패킷이 보고된다. (따라서 다른 2버튼과는 달리, 가운데 버튼의 상태는 각 패킷내에서 보고되지 않는다. )

  로지텍 프로토콜
로지텍 시리얼 3버튼 마우스는 마이크로소프트 프로토콜의 다른 확장을 사용한다. 가운데 버튼이 위를 향하면, 3바이트 패킷이 전송된다. 가운데 버튼이 아래를 향하면, 4바이트의 패킷이 전송되고, 4번째 바이트는 0x20(혹은 최소한 0x20비트로 설정되도록 함) 값을 지닌다. 특히, 다른 나머지 버튼들이 아래를 향할때, 가운데 버튼을 누르면, 0,0,0,0x20으로 보고된다.

  마우스시스템 프로토콜
Mousesystems 프로토콜은 1200비트/초의 속도로 1 스타트 비트, no 패리티 비트, 2 스톱 비트를 ?쨈? 데이터는 5바이트 패킷내에 RxD로 보내진다. dx는 두개의 보완적인 값의 합계로서 전송되고, fIdy는 두개의 보완적인 값들의 두개의 합계의 무효를 전송한다. lb (mb, rb)은 왼쪽(가운데, 오른쪽) 버튼이 눌러졌을때 소거된다.
byte | d7 | d6 | d5 | d4 | d3 | d2 | d1 | d0
1 | 1 | 0 | 0 | 0 | 0 | lb | mb | rb
2 | 0 | dxa6 | dxa5 | dxa4 | dxa3 | dxa2 | dxa1 | dxa0
3 | 0 | dya6 | dya5 | dya4 | dya3 | dya2 | dya1 | dya0
4 | 0 | dxb6 | dxb5 | dxb4 | dxb3 | dxb2 | dxb1 | dxb0
5 | 0 | dyb6 | dyb5 | dyb4 | dyb3 | dyb2 | dyb1 | dyb0
바이트 4와 5는 바이트 2와 3이 전송된 후부터 발생한 변경에 대해 설명한다.

  썬 프로토콜(Sun protocol)
The Sun 프로토콜은 위의 5바이트 마우스 시스템 프로토콜의 3바이트 버전이다. 마지막 2 바이트는 전송되지 않는다.

  MM 프로토콜
The MM 프로토콜은 1200 비트/초의 속도로 1 시작 비트, 8 데이터 비트,추가 패리티 비트 그리고 정지 비트를 사용한다. 데이터는 3바이트 패킷으로 RxD에 전송된다.dx와 dy는 단일 signed 값으로 전달되며, 사인 비트는 음수값으로 지정된다. lb (mb, rb)는 왼쪽(가운데, 오른쪽)버튼이 눌려졌을때, 설정된다.
byte | d7 | d6 | d5 | d4 | d3 | d2 | d1 | d0
1 | 1 | 0 | 0 | dxs | dys | lb | mb | rb
2 | 0 | dx6 | dx5 | dx4 | dx3 | dx2 | dx1 | dx0
3 | 0 | dy6 | dy5 | dy4 | dy3 | dy2 | dy1 | dy0

FILES

/dev/mouse
    일반적으로 사용되는 심볼릭 링크로서, 마우스 장치를 가리킨다.

SEE ALSO
ttys(4), gpm(8)