리눅스 프로그래머를 위한 가이드
9.1 마우스 프로그래밍 (Mouse programming)
마우스는 시리얼(serial) 포트에 연결되거나 직접 AT 버스에 연결되어지고 마우스의 다른
타입들은 마우스 프로그래밍을 더 어렵게 만드는 다른 종류의 자료를 보낸다. 그러나,
Andrew Haylett는 친절하게도 당신 자신의 프로그램에 그의 마우스 루틴(routine)를 사용할 수
있도록 그의 selection 프로그램에 관대한 저작권을 부여했다. 이 가이드(guide)에 포함된
COPYRIGHT 주의문을 가진 selection-1.8의 pre-release를 찾을 수 있다. X11은 이미 편안한
마우스 API를 제공함으로 Andrew의 루틴은 non-X11 응용프로그램에서만 사용되어진다.
당신은 selection 패키지로 부터 mouse.c와 mouse.h 모듈들만 필요하다. 마우스 이벤트를
얻기 위해 기본적으로 ms_init()와 get_ms_event()를 호출해야만 한다. ms_init는 다음의 10개의
아규먼트(argument)가 필요하다.:
- int acceleration
은 가속화(acceleration) 요소(factor)이다. delta 픽셀(pixel)보다 더 많이 마우스를
움직인다면, 움직임은 이 값에 따라 더 빠르게 된다.
- int baud
마우스를 사용하는 bps 비율(rate)이다(일반적으로 1200).
- int delta
이것은 가속화(acceleration)를 시작하기 전에 마우스를 움직여야하는 픽셀(pixel)의 수이다.
- char *device
마우스 장치의 이름이다(예, /dev/mouse)
- int toggle
는 DTR,RTS 또는 DTR과 RTS 마우스 모뎀 라인(mouse modem lines)을 모두를 초기화 값으로
토글(toggle)한다(일반적으로 0).
- int sample
마우스의 해상도(resolution)(dpi) (일반적으로 100).
- mouse_type mouse
마우스에 대해 P_MSC (Mouse Systems Corp.)처럼 마우스와 연결된 식별자(identifier)
- int slack
slack이 -1이면 화면의 가장자리 너머로 마우스를 이동하고자 하는 시도는 마우스를 가장자리에
남겨둘 것임을 의미하는 wraparound를 위한 slack의 양.
- int maxx
현재 단말기의 x 방향 해상도. 디폴트 폰트, 한문자는 10픽셀(pixel) 폭(wide)을 가진
overall x 화면(screen) 해상도(resolution)는 10*80-1이다.
- int maxy
현재 단말기의 y 방향 해상도. 디폴트 폰트, 한문자는 12픽셀(pixel) 높이(high)를 가진
overall y 화면(screen) 해상도(resolution)는 12*25-1이다.
get_ms_event()는 단지 struct ms_event에 대한 포인터만을 필요로 한다. get_ms_event()가 -1을
반환한다면, 에러가 발생한 것이다. 성공시 0을 반환하고 strucr ms_event는 실제 마우스 상태를
포함할 것이다.
이전:9 I/O 포트 프로그래밍 (Programming I/O ports)
다음:9.2 모뎀 프로그래밍 (Modem Programming)
[수퍼브가]
[컴퓨터게임]
[잡다한것들]
Copyright (c) 1996,1997 by Euibeom.Hwang & SangEun.Oh All Rights Reserved
Email To:Webmaster ,
Another address
LAST UPDATE Dec 17,1997
Created Dec 17,1997