MOUSED(8)

명칭
moused - 마우스 데이터를 콘솔 드라이버에 건네준다

서식
moused [-DPRacdfs] [-I file] [-F rate] [-r resolution] [-S baudrate] [-a X[,Y]] [-C threshold] [-m N=M] [-w N] [-z target] [-t mousetype] [-3 [-E timeout]] -p port

moused [-Pd] -p port -i info

해설
moused 유틸리티와 콘솔 드라이버는 협력해, 텍스트 콘솔이나 유저 프로그램에 있어서의 마우스 조작을 서포트합니다. 마우스의 가상화와 유저 프로그램에의 마우스 데이터의 제공은 표준 포맷 에서 행해집니다 ( sysmouse(4) (을)를 봐 주세요).

마우스 demon는 마우스 데이터의 읽기 새를 위해서(때문에) 지정된 포트를 감시해, 해석한 데이터를 ioctl 를 개입시켜 콘솔 드라이버에 건네줍니다. 마우스 demon는, 이동, 버튼의 눌러/떼어 놓아 이벤트, 존재한다면 롤러나 휠의 이동도 보고합니다. 롤러/휠의 이동은 ``Z''축에서의 이동으로서 보고됩니다.

마우스 포인터가 vidcontrol(1) 에 의해 유효하게 되고 있으면, 콘솔 드라이버는 마우스 포인터를 스크린에 표시해, 컷과 페이스트의 기능을 제공합니다. sysmouse(4) (을)를 유저 프로그램이 오픈하면(자), 콘솔 드라이버는 마우스 데이터를 이 디바이스에 보내므로, 유저 프로그램은 이 데이터를 사용할 수 있습니다.

마우스 demon가 시그널 SIGHUP (을)를 받으면(자), 마우스 포트를 재오픈해, 자기를 재초기화합니다. 시스템이 중지 되고 있는 동안에 마우스의 삽발을 행했을 경우에 유용합니다.

이하의 옵션이 있습니다:

-3  2 버튼 마우스로 3 번째 (안)의 버튼을 에뮤레이트 합니다. 물리적인 버튼으로 왼쪽과 오른쪽의 것을 동시에 누르면(자) 에뮤레이트 됩니다.

-C threshold
    더블 클릭 속도를 버튼 클릭간 최대 인터벌로서 밀리 세컨드로 지정합니다. 이 옵션을 지정하지 않으면 기본값은 500 밀리 세컨드가 가정됩니다. 이 옵션은, 텍스트 모드 콘솔의 컷과 페이스트의 조작에 대해서만 유효합니다. sysmouse(4) (을)를 개입시켜 마우스 데이터를 얻는 유저 프로그램은 영향을 받지 않습니다.

-D  시리얼 포트의 DTR 를 내립니다. 이 옵션이 유효한 것은, mousesystems 하지만 마우스 프로토콜로서 선택되고 있는 경우만입니다. mousesystems 모드로 3 버튼 마우스를 조작하기 위해서는, DTR 라인을 떨어뜨리는 것이 필요할지도 모릅니다.

-E timeout
    제 3 버튼 에뮬레이션 (전술) 하지만 유효한 때, 2 개의 버튼이 동시에 밀렸는지를 판정하기 전에 moused 유틸리티는 최장 timeout 밀리 세컨드 기다립니다. 디폴트의 타임 아웃은 100 밀리 세컨드입니다.

-F rate
    서포트되고 있으면, 디바이스의 리포트 빈도(초쯤의 회수)를 설정합니다.

-I file
    moused 유틸리티의 프로세스 ID 를, 지정된 파일에 씁니다. 이 옵션을 지정하지 않으면 프로세스 ID 는 /var/run/moused.pid 에 격납됩니다.

-P  시리얼 마우스 식별시에, 플러그 앤 플레이 COM 디바이스 열거 처리를 개시하지 않습니다. -i 옵션과 함께 이 옵션이 지정되었을 경우, moused 유틸리티는 시리얼 마우스에 관한 유용한 정보를 표시할 수 없습니다.

-R  시리얼 포트의 RTS 를 내립니다. 이 옵션이 유효한 것은 mousesystems 하지만 프로토콜 타입으로서 후술 한다 -t 옵션으로 지정되어 있는 경우만입니다. 이것은 전기 -D 옵션과 함께 자주(잘) 사용됩니다. mousesystems 모드로 3 버튼 마우스를 조작하기 위해서는, RTS 와 DTR 의 라인을 모두 내릴 필요가 있을지도 모릅니다.

-S baudrate
    시리얼 포트의 속도를 지정합니다 (1200 에서 9600). 전시리얼 마우스가 이 옵션을 서포트하는 것은 아닙니다.

-a X[,Y]
    마우스의 입력을 가속 또는 감속합니다. 선형가속만입니다. 1.0 보다 작은 값은, 당분간 감속합니다. 1.0 보다 큰 값은, 가속합니다. 1 개의 값만을 지정했을 경우, 양쪽 모두의 좌표축에서의 가속을 설정합니다.

-c  마우스에 따라서는, 안버튼을 누른 이벤트를, 좌우 버튼이 밀렸는지와 같이 리포트하는 것이 있습니다. 이 옵션은 이것을 취급하는 것입니다.

-d  디버그용의 메세지를 유효하게 합니다.

-f  demon가 되지 않고 , foreground 프로세스로서 실행합니다. 테스트나 디버그에 유용합니다.

-i info
    지정된 정보를 표시해 종료합니다. 지정 가능한 정보를 이하에 나타냅니다:

    port
        포트(디바이스 파일) 명, 예를 들면 /dev/cuaa0, /dev/mse0, /dev/psm0 입니다.
    if  인터페이스 타입: serial, bus, inport, ps/2 입니다.
    type
        프로토콜 타입. -t 옵션의 설명의 후에 리스트 되고 있던 것일까, 드라이버가 sysmouse 데이터 포맷 표준을 서포트하는 경우에는 sysmouse 입니다.
    model
        마우스 모델. moused 유틸리티는 항상 모델을 식별할 수 있는 것은 아닙니다.
    all 상기 전부. 포트, 인터페이스, 타입, 모델을 이 순서에 일행에 표시합니다.

    moused 유틸리티는 요구된 정보를 판별할 수 없는 경우, ``unknown''인가 ``generic''를 표시합니다.

-m N=M
    물리 버튼 M 에 논리 버튼 N (을)를 할당. 이 옵션은 임의 개수 지정 가능합니다. 복수의 물리 버튼을 단일의 논리 버튼에 할당하고 가능합니다. 이 경우, 지정된 물리 버튼중 한쪽이 밀리고 있는 경우, 논리 버튼이 밀리고 있게 됩니다. `='의 주위에 스페이스를 들어갈 수 있어 되지 않습니다.

-p port
    마우스와 통신하기 위한 포트로서 port (을)를 사용합니다.

-r resolution
    디바이스의 해상도를 설정합니다; 인치 근처의 닷수 또는, low, medium-low, medium-high, high 의 머지않아인가입니다. 전디바이스에서 이 옵션이 서포트되고 있는 것은 아닙니다.

-s  시리얼 라인을 위해서(때문에) 9600 보를 선택합니다. 전시리얼 마우스가 이 옵션을 서포트하고 있는 것은 아닙니다.

-t type
    포트에 접속되고 있는 마우스의 프로토콜 타입을 지정합니다. 이하에 열거되는 타입을 햇빛으로 지정하는지, auto (을)를 지정해 moused 유틸리티에 적절한 프로토콜을 자동 선택시킬 수가 있습니다. 명령행에서 이 옵션을 지정하지 않으면 -t auto 하지만 가정됩니다. 통상에서는, moused 유틸리티가 프로토콜의 자동 검출을 할 수 없는 경우에 필요합니다 ( 마우스 demon의 구성) (을)를 참조.

    이 옵션으로 프로토콜 타입을 지정했을 경우, 전기 -P 옵션이 암시되어 플러그 앤 플레이 COM 디바이스 열거 처리가 무효가 됩니다.

    또, 마우스를 PS/2 마우스 포트에 접속하고 있는 경우, 항상 auto 인가 ps/2 (을)를 선택해야 합니다. 이것은, 마우스의 브랜드나 모델이란 관계 없습니다. 같이 마우스를 버스 마우스 포트에 접속하고 있는 경우, auto 인가 busmouse (을)를 선택해 주세요. 이러한 마우스에서는 시리얼 마우스 프로토콜은 동작하지 않습니다.

    USB 마우스에서는, 프로토콜은 auto 인 것이 필요합니다. 다른 프로토콜은 USB 마우스로 동작하지 않습니다.

    이 옵션에 있어서의 유효한 타입을 이하에 열거합니다.

    시리얼 마우스:
    microsoft
        Microsoft 시리얼 마우스 프로토콜. 대체로의 2 버튼 마우스는 이 프로토콜을 사용합니다.
    intellimouse
        Microsoft IntelliMouse 프로토콜. Genius NetMouse, ASCII Mie Mouse, Logitech MouseMan+, FirstMouse+ 도 이 프로토콜을 사용합니다. 다른 롤러/휠을 가지는 마우스도 이 프로토콜 호환이지요.
    mousesystems
        MouseSystems 의 5 바이트 프로토콜. 3 버튼 마우스는 이 프로토콜을 사용할지도 모릅니다.
    mmseries
        MM Series 마우스 프로토콜.
    logitech
        Logitech 마우스 프로토콜. 이것은 낡은 Logitech 모델인 것에 주의. 새로운 모델에게는 mouseman 혹은 intellimouse (을)를 지정합니다.
    mouseman
        Logitech MouseMan 와 TrackMan 의 프로토콜. 3 버튼 마우스에 따라서는 이 프로토콜 호환일지도 모릅니다. MouseMan+ 와 FirstMouse+ 는, 이 프로토콜이 아니고, intellimouse 프로토콜을 사용합니다
    glidepoint
        ALPS GlidePoint 프로토콜.
    thinkingmouse
        Kensington ThinkingMouse 프로토콜.
    mmhitab
        Hitachi 타블렛 프로토콜.
    x10mouseremote
        X10 MouseRemote.
    kidspad
        Genius 의 Kidspad 와 Easypad 의 프로토콜.
    versapad
        Interlink VersaPad 프로토콜.

    버스 및 InPort 마우스:
    busmouse
        버스 및 InPort 마우스는 이 프로토콜만 사용 가능하고, 버스 및 InPort 마우스는 브랜드에 의등않고 이 옵션을 지정할 필요가 있습니다.

    PS/2 마우스:
    ps/2
        PS/2 마우스는 이 프로토콜만 사용 가능하고, PS/2 마우스는 브랜드에 의등않고 이 옵션을 지정할 필요가 있습니다.

    USB 마우스에서는, auto 하지만 사용 가능한 유일한 프로토콜이며, 브랜드에 관계없이 USB 마우스에는 이것을 지정해야 합니다.

-w N
    물리 버튼 N 하지만, 휠 모드 버튼으로서 동작하도록(듯이) 합니다. 이 버튼이 밀리고 있는 동안, X 축 및 Y 축의 이동은 0 이라고 보고되어 Y 축의 이동은 Z 축의 이동에 할당할 수 있습니다. 후술 한다 -z 옵션을 사용하는 것으로써, Z 축의 이동을 더욱 가상 버튼에 할당할 수가 있습니다.

-z target
    Z 축(롤러/휠) 동작을 다른 축이나 가상 버튼에 할당합니다. 유효한 target (은)는 이하의 머지않아인가입니다:
    x
    y   X 또는 Y 축의 이동으로서 검지한 Z 축이동을 보고합니다.
    N   가상 버튼 N 및 N+1 (을)를 누른 이벤트로서 검지한 부/정의 Z 축이동을 각각 보고합니다. 물리 버튼 N (와)과 N+1 하지만 존재할 필요는 없습니다. 논리 버튼에의 할당은 Z 축이동을 가상 버튼에 할당한 후에 행해집니다.
    N1 N2
        가상 버튼 N1 및 N2 (을)를 누른 이벤트로서 검지한 부/정의 Z 축이동을 각각 보고합니다.
    N1 N2 N3 N4
        2 개의 휠이 있어 2 번째의 휠이 수평 스크롤 동작을 생성하기 위해서 사용되는 마우스, 및 유저가 가세한 수평의 힘을 검지하는 노브 또는 스틱 부착의 마우스로 유용합니다.

        2 번째의 휠의 움직임은, 부의 방향이 N3 에 MAP 되어 정의 방향이 N4 에 MAP 됩니다. 버튼 N3 및 N4 하지만 마우스에 실재하는 경우, 이 액션은 검출되지 않습니다.

        수평 이동이나 2 번째의 롤러/휠의 움직임은 항상 검출되는 것은 아닌 것에 주의해 주세요. 왜냐하면, 이것들을 encode하기 위한 받아들여진 표준이 없는 것처럼 보이기 때문입니다.

        또, 수평 방향에 대해, 왼쪽이 부이다고 생각하는 마우스도 있으면, 역이라고 생각하는 마우스도 있게도 주의해 주세요. 더욱, 2 개의 휠이 양쪽 모두 수직에 탑재 되고 있어 한편의 방향이 이제 한편의 방향과는 매치 하지 않는 것도 있습니다.

  마우스 demon의 구성
우선, 사용 예정 마우스의 인터페이스 타입을 아는 것이 필요합니다. 이것은 마우스의 연결기를 보면 압니다. 시리얼 임신 중절 수술은 D-Sub 의 9 핀 또는 25 핀의 메스입니다. 버스 및 InPort 의 마우스는 D-Sub 9 핀의 수컷인가 둥근 DIN 9 핀 연결기입니다. PS/2 마우스는 작고 둥근 DIN 6 핀 연결기입니다. 마우스에 따라서는 연결기를 다른 형상에 변환 가능한 연결기가 부속하고 있습니다. 이러한 어댑터를 사용하는 경우에는, 마우스로부터 제일 먼 연결기의 형상을 봐 주세요. USB 마우스는, 평평한 직사각형의 연결기를 가집니다.

다음으로 결정하지 않으면 안 되는 것은, 인터페이스를 위해서(때문에) 사용하는 포트입니다. 버스, InPort, PS/2 마우스에서는, 선택사항은 없습니다: 버스 및 InPort 마우스는 항상 /dev/mse0 (을)를 사용해, PS/2 마우스는 항상 /dev/psm0 (을)를 사용합니다. 시리얼 마우스의 경우, 접속 가능한 포트가 다수 있습니다. 많은 사람이 편입의 시리얼 포트 /dev/cuaa0 (을)를 마우스에 할당. 복수의 USB 마우스를 시스템 또는 USB 허브에 접속 가능합니다. 그것들은 /dev/ums0, /dev/ums1 (와)과 같이 액세스 가능합니다. ~ 기호 연결 /dev/mouse 그리고 마우스의 실제의 포트를 가리키도록(듯이) 해, 어느 마우스 포트인가 다음에 간단하게 알 수 있도록(듯이) 하는 것이 좋을지도 모릅니다.

다음에 적절한 마우스 프로토콜을 선택합니다. moused 유틸리티는 마우스 타입을 자동 결정 가능할지도 모릅니다. moused 유틸리티를 -i 옵션을 붙여 실행해, 표시를 봅니다. 명령이 프로토콜 타입을 식별했을 경우, 당신은 아무것도 조사할 필요는 없습니다. 프로토콜 타입을 지정하지 않고 demon를 기동 가능합니다 ( 사용예) (을)를 참조.

명령은, 마우스 드라이버가 sysmouse 프로토콜을 서포트하는 경우, sysmouse (이)라고 표시할지도 모릅니다.

표시된다 type (와)과 model (은)는, 대상의 pointing device의 제품명이 반드시 아닙니다만, 호환성이 있는 디바이스의 이름이지요.

-i 옵션이 아무것도 표시하지 않는 경우, moused 유틸리티에 대해서 -t 옵션을 사용해, 프로토콜 타입을 지정할 필요가 있습니다. 예측해 시행할 필요가 있습니다. 이하에 경험칙을 나타냅니다:

1.  버스 및 InPort 마우스는 브랜드에 의등않다 busmouse 프로토콜을 사용합니다
2.  PS/2 마우스는 브랜드에 의등않다 ps/2 프로토콜을 사용합니다
3.  USB 마우스에는 auto 프로토콜을 지정할 필요가 있습니다.
4.  대부분의 2 버튼 시리얼 마우스는 microsoft 프로토콜을 서포트합니다.
5.  3 버튼 시리얼 마우스는 mousesystems 프로토콜로 동작할지도 모릅니다. 동작하지 않는 경우에는, 3번째(안) 버튼이 기능하지 않고 microsoft 프로토콜로 동작하겠지요. 3 버튼 시리얼 마우스는, 기대 대로 3번째의 버튼이 동작하면서 mouseman 프로토콜로 동작할지도 모릅니다.
6.  3 버튼 마우스에는 작은 스윗치가 붙어 있어, ``MS''와 ``PC''또는 ``2''와 ``3''로 선택할 수 있는 것으로 오게 되어 있다 일지도 모릅니다. ``MS''와 ``2''는 통상 microsoft 프로토콜을 의미합니다. ``PC''와 ``3''는 mousesystems 프로토콜을 선택합니다.
7.  마우스에 롤러나 휠이 붙어 있는 경우, intellimouse 프로토콜 호환이지요.

마우스를 위해서(때문에) 선택한 프로토콜 타입이 올바른지 어떤지 테스트하는 목적으로, 현재의 가상 콘솔로 마우스 포인터를 유효하게 합니다.

    vidcontrol -m on

마우스 demon를 foreground로 개시합니다.

    moused -f -p _selected_port_ -t _selected_protocol_

마우스 포인터가 마우스의 이동에 수반해, 올바르게 이동하는 것을 확인해 주세요. 그리고, 컷과 페이스트의 기능을 좌, 오른쪽, 안의 버튼을 사용해 확인해 주세요. ^C 를 타이프 치면(자), 명령은 정지합니다.

  복수의 마우스
시스템에 접속한 마우스와 같은 수만큼, 마우스 demon를 동시 실행 가능합니다; 하나의 마우스 demon가 하나의 마우스에 대응합니다. 랲탑 컴퓨터 편입의 PS/2 pointing device를 이동중 사용해, 오피스에서는 도킹 스테이션 접속의 시리얼 마우스를 사용한다 경우에 유용합니다. 마우스 demon를 두 개 실행해, 응용 프로그램 (예를 들면 X Window System) 에 sysmouse (을)를 사용시킵니다. 그러자(면) 응용 프로그램은 항상 양마우스로부터 마우스 데이터를 받습니다. 시리얼 마우스가 장착되지 않은 경우, 대응하는 마우스 demon는 이동이나 버튼 상태의 변화를 검출하지 않으므로, 응용 프로그램은 PS/2 마우스의 demon로부터의 마우스 데이터 만을 사용합니다. 한편 이 구성으로 양쪽 모두의 마우스를 접속해 동시에 양방을 작동시켰을 경우, 마우스의 이동을 모두 조합한 것처럼 마우스 포인터가 스크린상을 이동합니다.

관련 파일
/dev/consolectl
    콘솔 제어 디바이스
/dev/mse%d
    버스 및 InPort 마우스의 드라이버
/dev/psm%d
    PS/2 마우스 드라이버
/dev/sysmouse
    가상화 된 마우스 드라이버
/dev/ttyv%d
    가상 콘솔
/dev/ums%d
    USB 마우스 드라이버
/var/run/moused.pid
    현재 실행중의 moused 유틸리티의 프로세스 ID
/var/run/MouseRemote
    X10 MouseRemote 의 이벤트를 위한 UNIX 도메인 스트림 소켓

사용예
    moused -p /dev/cuaa0 -i type

moused 유틸리티에 시리얼 포트 /dev/cuaa0 에 접속된 마우스의 프로토콜 타입을 식별시킵니다. 성공하면(자), 명령은 타입을 표시합니다만, 실패하면(자) ``unknown''가 표시됩니다.

    moused -p /dev/cuaa0
    vidcontrol -m on

moused 유틸리티가 지정된 포트의 마우스 프로토콜 타입을 식별 가능한 경우, -t 옵션 없음이라고 demon를 기동 가능하고, 앞에서 본 같게 마우스 포인터를 텍스트 콘솔상에서 유효하게 할 수 있습니다.

    moused -p /dev/mouse -t microsoft
    vidcontrol -m on

시리얼 포트 /dev/mouse 에 대해서 마우스 demon를 기동합니다. 프로토콜 타입은 microsoft (을)를 -t 옵션에서 햇빛으로 지정하고 있습니다.

    moused -p /dev/mouse -m 1=3 -m 3=1

물리 버튼 3 ( 오른쪽 버튼)을 논리 버튼 1 (논리적으로 왼쪽)에, 물리 버튼 1 (왼쪽 버튼)을 논리 버튼 3 (논리적으로 오른쪽)에, 각각 할당. 좌우의 버튼을 사실상 교환합니다.

    moused -p /dev/mouse -t intellimouse -z 4

Z 축(롤러)에 있어서의 부의 이동을 버튼 4 가 밀린 것으로 해, Z 축으로 둘 수 있는 정의 이동을 버튼 5 가 밀린 것으로 합니다.

경고
moused 유틸리티는 현재별의 콘솔 드라이버 pcvt(4) 그럼 동작하지 않습니다.

패드 디바이스의 상당수는, 유저가 패드 표면을 ``탭''했을 경우에 최초의(왼쪽) 버튼이 밀린 것으로 합니다. 또, ALPS GlidePoint 및 Interlink VersaPad 의 모델에 따라서는, 탭 동작을 4 번째의 버튼의 이벤트로서 취급합니다. 이러한 모델에서는, 옵션 ``-m 1=4''를 사용해, 다른 패드 디바이스와 같은 효과를 얻을 수 있습니다.

가상 콘솔에서의 컷과 페이스트의 기능은, 마우스에 3 버튼 있는 것을 가정하고 있습니다. 논리 버튼 1 (논리적으로 왼쪽)은, 콘솔의 텍스트 area를 선택해 컷 버퍼에 카피합니다. 논리 버튼 3 (논리적으로 오른쪽)은, 선택된 area를 확장합니다. 논리 버튼 2 (논리적으로 안)는, 선택된 텍스트를 텍스트 커서 위치에 페이스트 합니다. 마우스에 2 개 밖에 버튼이 없는 경우, 중앙의 `페이스트'버튼 (은)는 사용할 수 없습니다. 페이스트 기능을 사용하기 위해서는, -3 옵션을 사용해 안버튼을 에뮤레이트 하는지, -m 옵션을 ``-m 2=3''와 같이 사용해 물리 오른쪽 버튼에 논리중 버튼을 할당.

관련 항목
kill(1), vidcontrol(1), keyboard(4), mse(4), pcvt(4), psm(4), screen(4), sysmouse(4), ums(4)

표준
moused 유틸리티는 “Plug and Play External COM Device Specification” 의 일부를 서포트해, PnP 시리얼 마우스를 서포트합니다. 그렇지만, 시리얼 마우스 마다 사양 충족의 정도가 다르기 때문에, 표준의 버젼 1.0 에 완전하게 따라서 있지 않습니다. 이와 같이 엄밀함이 부족한 방법에서도, 시리얼 마우스의 적절한 프로토콜 타입 (을)를 항상 결정할 수 있는 것은 아닙니다.

저자
-nosplit moused 유틸리티는, Michael Smith <msmith@FreeBSD.org> 에 의해 쓰여졌습니다. 이 메뉴얼은, Mike Pritchard <mpp@FreeBSD.org> 에 의해 쓰여졌습니다. 명령와 메뉴얼 페이지를, Kazutaka Yokota <yokota@FreeBSD.org> 하지만 갱신했습니다.

역사
moused 유틸리티는, FreeBSD 2.2 (으)로부터 도입되었습니다.