The Linux Busmouse HOWTOChris Bagwell, cbagwell@sprynet.comv2.0, 14 Feb 2000 남상현 nsh@asp-linux.co.kr 2000년 7월 20일이 문서는, 버스마우스 (Busmouse) 를 어떻게 Linux에 인스톨하고, 설정하고, 사용할 수 있도록 할지에 대해서 설명하고 있다. 지원하고 있는 Busmous를 열거하는 것과 동시에, Busmouse에 관한 「자주 있는 질문」 에대한 대답을 하는것이 목적이다. 또한, 시리얼 마우스에 관한 조언도 포함되어 있다. 1. 소개이 문서는, 자신의 busmouse를 Linux로 사용할 수 있도록 하기 위한 안내이다. 입니다. 진보된 배포물이 이용가능한 오늘날, busmouse의 설정 이란 일반적으로 편리하다. 라고 말할 수 있고, 문제에 부딪혔을 때, busmouse의 하드웨어와 소프트웨어를 수작업으로 설정하는 방법에 대해서 , 이 문서는보다 편한 이해를 가져오도록 도움이 되어 줄 것이다. busmouse의 지원은, 내가 기억하고 있는 한 옛부터 커넬에 들어 있어, 오랜 시간동안 변화 하지않기 때문에, 이 문서는 어떤 버젼의 Linux에 대해도 적절한 것이다. 1.1 저작권 표기와 무보증This document is Copyright (c) 2000 by Chris Bagwell. This document may be distributed under the terms set forth in the Linux Documentation Project License at http://linuxdoc.org/copyright.html. Please contact the author if you are unable to get the license. The author disclaims all warranties with regard to this document, including all implied warranties of merchantability and fitness for a certain purpose; in no event shall the author be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use of this document. (참고로 번역: 이 문서의 저작권은 Copyright (c) 2000 by Chris Bagwell 이다. 이 문서는 http://linuxdoc.org/copyright.html 에 있는 Linux Documentation Project License 를 따르는 한 배포가능하다. 이 허가증 문서를 입수불가능한 경우는, 작자에게 연락해 주시오. 상업 이용과 특정 목적으로 적합성에 관한 암묵적 보증도 포함하고, 작자는 이 문서에 관한 모든 보증을 포기 한다. 작자는, 계약에 준한 행위, 과실또는 이 외의 불법 행위에 관계되지 않고, 이 문서의 이용에 기인또는 관련하는 사용불 능, 데이터의 소실, 이익의 손실이 원인으로 생긴 특별한 , 간접적, 필연적 손해, 기타어떠한 손해에 대해서도 일체 책임을 지지 않는다.) 1.2 피드백이 문서에 무언가 잘못을 찾아내면, 그 내용에 설명을 추가, 또는 최신정보를 갱신하여, 이 HOWTO 문두에 쓰여진 나의 주소로 보내 주시오. (역주: 번역에 관한 것은 nsh@asp-linux.co.kr로 부탁한다.) 1.3 승인이 HOWTO 는, Linux의 정신 아래, 공동체 노력에 의해 완성되었다. 이 FAQ를 시작한 Mike Battersby mib@post.com 에 감사 한다. 오류는 거의 모두 제가 추가한 부분에 있다. PS/2 마우스의 장에서는 Johan Myreen에 대단히 감사 한다. ATI-XL의 장에서는 Robert T. Harris 의 도움을, 그리고 Reuben Sumner에게는 다방면의 정보 와 건설적인 비평을 받았다. 마우스에 관한 정보와 수정, 격려의 말을 주신 많은 분에게도 감사한다. 2. 마우스의 형식을 결정하자.먼저 추진하기 전에, 당신의 마우스에 관한 중요한 특성을 먼저 두가지 알아 두어야한다. 어떤 하드웨어·인터페이스가 사용되고 있는지, 그리고, 어떤 마우스·프로토콜을 사용 하는지이다. 하드웨어·인터페이스는 마우스의 하드웨어적인 측면에서, 어느 I/O 포토를 사용하고 있는지, 어떻게 해서 접속을 검출하는지를 말한는 것이다. 이것은 커넬에 관계하는 부분이므로, 마우스로부터 데이터 읽는 방법은 커넬 자신이 알고있다. 시리얼 마우스의 경우는, 인터페이스가 반드시 시리얼 포트의 디바이스 드라이버로 되기 때문에 간단하다. 마우스·프로토콜은 소프트웨어 양상의 문제이다. 커넬의 디바이스 드라이버 로부터 받은 가공하지않은 마우스의 데이터 내용을 해석하기 위해서는, 어플리케이션 이 그 프로토콜에 대해서 알고 있지 않으면 안 된다. 2.1 하드웨어·인터페이스버젼 2.2 계까지의 Linux 커넬은, busmouse의 하드웨어·이 타페이스를 4 종류 지원하고 있다. Inport (Microsoft), Logitech, PS/2, ATI-XL 의 4 개이다. 버젼 2.4 계의 커넬에는, IBM PC110 digitizer pad 와 Apple Desktop 마우스라고 알려진 새로운 busmouse의 지원도 몇개 들어 있다. USB 마우스의 드라이버도 들어있다. USB 마우스는, 보다 일반적인 시리얼 ·드라이버·인터페이스로부터 버서낫으므로, busmouse와 함께 말해지는 것도 좋다. Inport 마우스Inport 마우스에는, 「구인석감」 같은 형태를 한 낡은 타입의 Microsoft 마우스의 대부분이 포함된다. 일반적으로, Inport 마우스는 마더보드의 버스에 추가된 인터페이스·카드에 접속된다. 인터페이스·카드에 마우스의 코드를 연결한 부분의 플러그가 둥글고, 9 핀으로, 다른 한쪽에 새김눈 을 가지고 있다면, 아마 그것은 Inport 마우스이다. (역주: 「구인석감」은 미국에서 팔려지고 있는 석감. 위에서 보면 타원형, 옆으로 보면 활형으로 휘어졌다고한다.) ATI는 현재, ATI의 VGA + Busmouse 결함·카드는 Microsoft Inport 하드웨어를 사용하고 있으므로, 이 카드의 사용자라면 Microsoft Busmouse 드라이버를 먼저 최초에 시험해야 마땅하다고 주장하고 있다. ATI-XL VGA+Busmouse 카드는 기술적으로는 Microsoft Inport 마우스 드라이버 와 호환성이 있지만, 인터럽트에대해 다른 양식을 공급하므로, 전용의 드 라이바가 필요하게 된다. 제대로 지원되고 있는 드라이버가 없기 때문에, 할 수 있으면 피하자. Logitech 마우스Logitech 마우스는, 보통은 Inport 마우스와 거의 같은 외관이다. Inport 마우스와 같이, 9 핀의 미니 DIN connect로 인터페이스·카드에 접속 한다. 단지 운이 좋을시에, Logitech 마우스는 Logitech의 상자 에 들어 있어, connect·카드에 ``Logitech'' 라고 인쇄되어져 있기 때문에 이것은 확실하게 Logitech의 마우스라는 것을 알수있다. PS/2 마우스PS/2 마우스의 인터페이스는 확장 카드가 아니고, 키보드·컨트롤러의 PS/2 포트에 접속된다. 이것은 때로는 키보드 상에 있기도 하지만, 대체로는 컴퓨터의 케이스에 직접 붙어 있는 커넥터이다. PS/2 포트는 키보드·connect와 비슷한 6 핀의 미니 DIN 연결기이다. trackballs 또는 touchpads와의 접속에 이 종류의 인터페이스를 이용하고있는 랩탑·컴퓨터도 많이 있다 ; 이 경우는 PS/2 포트에 내부적으로 접속되어 있어, 연결기는 필요하지 않다. ATI 결합 비디오/마우스ATI-XL 마우스는 Inport 마우스의 일종이지만, 인터럽트의 설정에 약간 차이가 있다. 이 마우스는 ATI-XL의 비디오 어댑터+마우스의 결합 세트에서 온다. ATI-XL 카드를 소유하고 있지 않으면 (이같은 ATI-XL 마우스도 가지고 있지 않으면), 아마 어느 쪽도 당신에는 관계없다. ATI-XL 마우스는, ATI-XL, Inport 양방의 커넬·드라이버로 사용할 수 있지만, ATI-XL 드라이버로 사용하는 편이 좋은 결과를 불러온다. ATI VGA1024 혹은 ATI VGA Wonder 라는, ATI의 낡은 비디오 어텝터/마우스 카드도 있다. 이것들은 ATI-XL 같은 구성이지만, Logitech 마우스·프로토콜을 사용한다. 이 마우스를 사용한다면, 하드웨어 드라이버는 ATI-XL 와 같게, 소프트웨어는 Logitech 마우스와 같게 설정 하시오. IBM PC110 palmtop digitizer.IBM PC110 palmtop에는, PS/2 마우스·프로토콜을 이용해, 마우스를 필적 할 수 있는 digitizer pad가 붙어 있다. 이 경우는 IBM PC110 디바이스·드라이버를 사용해 하드웨어·인터페이스를 설정하고, 소프트웨어는 PS/2 마우스와 같이 설정 하시오. Apple Desktop 마우스이 busmouse는 Macintosh로 일반적인 것으로, 4 핀 connect를 사용한다. 하드웨어는 커넬로 콘트롤되지만, 어플리케이션케이션·소프트웨어측에서는, 이런 독자의 마우스·프로토콜에 대응할 필요가 있다. 이 마우스가 어떤 프로토콜을 사용하고 있는지, 요즘은 나는 알지못한다. Hybrid 마우스busmouse가 일반적이었던 시대, 하드웨어·메카는 각종 실험을 하고, 서로의 설계를 cross-licensing 하고 있었다. 따라서, Logitech의 하드웨어·인터페이스를 이용하는 ATI의 마우스가 이거나, Inport 인 터페이스를 사용한 Logitech의 것이다. busmouse를 가지고 있는데, 표준적인 인터페이스와 프로토콜 설정으로서 움직이지 않는 경우에는, 다른 인터페이스의 드라이버, 다른 마우스·프로토콜을 시험 하시오. 2.2 마우스의 프로토콜PC의 세계는 달라져, 서로 충돌하는 마우스 프로토콜이 많다. 다행인 것은, busmouse에 있어서 선택의 수는, 시리얼 마우스의 그것 보다는 꽤 적어졌다. Inport, Logitech, 그리고 ATI-XL 마우스 의 대부분은 ``BusMouse'' 프로토콜을 사용하지만, 꽤 오래된 Logitech 마우스에는 ``MouseSystems'' 프로토콜, 그리고 ``Logitech''프 로트콜을 사용하고 있는 낡은 Microsoft 마우스마도 있다. PS/2 마우스 는 항상 ``PS/2'' 프로토콜을 이용한다. 3. 마우스를 사용할 수 있도록 하자여기에 마우스 인터페이스와 프로토콜의 종류을 알수있다. 다음을 보시오. 3.1 마우스가 인터럽트 설정자신의 마우스가 어떤 하드웨어·인터페이스를 사용하는지 알았다. 이번은, 마우스가 사용하고 있는 인터럽트를 조사하고, 인스톨되어 있는 다른 주변 기기와 충돌하지 않는 것을 확인 해야한다. 특히 후자는 반복 체크하자! 장착되어 있는 다른 디바이스와 충돌은 없는가! 마우스가 다른 디바이스의 어느것과도 같은 인터럽트 번호를 사용하지 않는 것을 꼭 확인해야 한다. 비록 다른 오퍼레이팅·시스템에서 잘 될지 모르지만, Linux에서는 마우스가 인터럽트 번호를 다른것과 공유하는 것 은 할 수 없다. 모든 주변 기기에 대해서 문서를 체크하고, 무엇이 어느 인터럽트 번호를 사용하고 있는지 조사하시오. Linux 에서는, busmouse가 이용되는 IRQ는, 그것을 사용하려고 하는 어플리케이션케이 션에 의해 오픈될 때까지 등록되지 않는다. 한편, Plug-n-Play의 하드웨어에는, 부팅시에 인터럽트를 등록하는 것이 많다. 이 것으로부터, Plug-n-Play 하드웨어의 어떤 것이, 마우스가 사용하는 IRQ를 먼저 빼앗아 버리는 가능성이 있다. 주의해야 할 것은, 만일 다른 오퍼레이팅·시스템에서는, Plug-n-Play 의 카드를 busmouse와 충동하지 않는 IRQ로 초기화해 줄수도 있지만 Linux 에서는 그렇게 능숙하게 옮겨지지 않을 것이다, 라는 것이다. 주변 기기 전부에 있어서 IRQ의 충돌을 발생시키지 않도록 한다. 이것은 당신에게 달려있는 것이다. IRQ의 일반적인 사용법대부분의 경우, IRQ4는 첫번째의 시리얼·포토 (/dev/ttyS0), IRQ3는 두번째 (/dev/ttyS1) (정말로 이 근처의 디바이스가 가지고 있으면, 의 이야기이다. 가지고 있지 않다면, 이것들의 IRQ는 편하게 사용할 수 있다.) SCSI 어댑터에는 IRQ5을 사용하는 것도 있고, IRQ12를 사용하는 네트워크· 카드도 있다. PS/2 포트에 붙은 머신에 있어서, 다른것에도 IRQ12를 사용하는 카드를 가지고 있다는 것은 큰 문제이다. IRQ12를 PS/2 포트에만 사용할 수 있게 강요하기 때문이다. ATI-XL, Inport, Logitech 마우스의 경우, 커넬의 디폴트는 IRQ5을 사용하게 되어 있다. 그러므로, 사전에 컴파일을 마친 커넬에 청구되면 (CD-ROM으로부터 부팅한 경우등), 그 인터럽트 번호를 사용하지 않으면 안 되는 것이다. Inport나 Logitech의 마우스를 최근 의 커넬로 사용한다면, command line option을 사용해, 몇 번째의 인터럽트를 사용하는 것이 좋은지 커넬에 전달할 수 있기 때문에, 재컴파일의 수고는 필요하지 않다. Inport 와 Logitech 마우스컴퓨터의 케이스를 열고, 마우스가 연결되고 있는 카드를 보면, 인터럽트 번호 (IRQ 라는 이름으로도 알려져 있다.) 을 2, 3, 4, 5로 설정하는 일련 의 점퍼가 반드시 있다. (운이 좋으면 ``INTERRUPT''도 기록 되어져 있다. ). 인터럽트 번호를 변경하려면, 간단히 점퍼를 지금의 위치에서 빼고 , 적당한 핀의 대치하는 것 뿐이다. **************************************************** *** 점퍼를 변경하기 전에, 컴퓨터의 전원이 *** *** 껴져 있는지 확인!! *** **************************************************** ATI-XL 마우스ATI-XL, 그리고 ATI busmouse가 있는 것이라면 IRQ를 소프트웨어로 선택가 능하다 - 마우스와 함께, IRQ를 설정하는 MS-DOS 프로그램 (VSETUP.EXE) 도 이용되고있다. 설정하려면, (일단 ) MS-DOS를 부팅하고, 이 프로 그램을 동작시킨다. VSETUP 프로그램에는, vertical refresh rate 을 증가시키기 위한(화면에 깜박거림이 생긴다) 옵션 ``/70''가 있는 것에 주의. VSETUP 프로그램에서는 마우스의 어드레스를 primary 와 secondary 의 어느 쪽이든 설정할 수 있지만, primary로 설정해 주기 바란다. 그렇지 않으면, 커넬이 마우스를 인식할 수 없게 된다. VSETUP을 동작시킨 뒤에는 일단 하드웨어 리셋트를 하지 않으면, 새로운 설정 내용이 유효하게 되지 않는다. PS/2 마우스PS/2 마우스는 반드시 IRQ12를 사용해야한다. 변경하는 것은 할 수 없다. 좀처럼 없겠지만, 다른 디바이스에서도 IRQ12를 사용하고 있는 경우는, 그 주변 기기 쪽의 점퍼를 재 설정하고, 다른 IRQ를 사용하게 하도록 하지 않으면 안 된다. 3.2 커넬의 설정당신의 busmouse를 정확하게 동작시키기 위해서는, busmouse 지원을 넣기 위하여 커넬을 설정해서 고칠 필요가 있다. 컴파일 완료된 커넬을 사용하고 있는 경우는, 세종류의 busmouse 모든 지원 넣어져 있는것도 많다. 그렇지만 이것으로도 불충분한 것이 있다. 그 커넬은, 실제와는 달라진 인터럽트 번호를 사용하려고 시도하거나, 자동 검출의 혼란으로 결국, 당신의 마우스를 다른 종별의 것으로 간주 할지도 모른다. 버젼 2.4 계열 이전의 커넬에는, busmouse가 사용하고 있는 IRQ를 자 동검출하는 기능이 없다. 따라서, 당신의 카드가 커넬의 디폴트 값인 IRQ 5 이외로 설정되어 있는 경우는, 대표로 어느 IRQ를 사용할것인지 커넬에 알려주지 않으면 안된다. 이것에는 두가지 방법이 있다. 제일 간단한 것은, 부팅 단계에서 커넬의 커멘드 라인으로 옵션을 건네주는 방법이다. 참고로 「커넬의 컴파일」의 장을 읽는 편이 좋지만, 먼저 「새로운 커넬에 있어서 인터럽트가 변화한다 」의 곳을 주의하시오. 이 근처에 대해서는, Bootprompt-HOWTO 도 많은 도움이 된다. 이 HOWTO 올린 사이트라면 들어 있을 것이다. 커넬의 컴파일커넬 디렉토리(여기서는 /usr/src/linux 라고 가정ㅎ한다)에 가서, make config와 같이 한다. 가지고 있는 마우스의 종별이 분명히 하지 않는 경우, 먼저 처음에는 busmouse의 옵션 을 모두 유효하게 하고서 커넬을 재컴파일하면 좋다. 당신의 마우스를 시작시에 자동 판별해 줄지도 모른다. 이것으로 언제나 능숙하게 하는것은 한계가 있지만, 계획대로라면, 이미 컴파일 하지않고 완료된다. 당신 형식의 busmouse 인터페이스에 속하는 질문 항목에는 ``y'' 또는 ``m'' 라고 답하고, 그 이외모든 busmouse의 질문에는 ``n''이라고한다. ``m'' 옵션은, 시스템 설정이 커넬 모듈의 로딩에 대 응하고 있는 경우에만 사용 하시오. 대응하고 있지 않은 경우, 혹은 지금 말한 것의 의미를 알지 못한다면 ``y'' 라고 답해 두는 편이 무난하다. 그러면, 기능을 커넬 내에 직접 추가한다. 예로서, Inport 마우스를 가지고 있다면, Microsoft busmouse support에 대해 ``y'' 라고 하고, 다른 busmouse 모든 질문에는 ``n'' 라고 답한다. 마우스와 관계없는 질문에는, 평소와 같게 답한다. PS/2 마우스의 지원을 추가하는 커넬을 컴파일하려면, PS/2 mouse (aka "auxiliary device") support에 ``y'' 라고 답한다. PS/2 마우스 드라이버는, 실제는 2 종류의 디바이스를 지원하고 있다. 표 준의 PS/2 외부 디바이스 콘트롤러, 그리고 Texas Instruments Travelmate 와 Gateway Nomad 랩탑에서 사용되고 있는 Chips & Technologies의 특수한 PS/2 마우스·인터페이스·칩인 두가지이다. 이들 기종에 trackballs을 지원하기 위해 컴파일 하려면, C&T 82C710 mouse port support (as on TI Travelmate) 에 ``y'' 라고 답한다. 82C710 드라이버는 실제로는 표준 PS/2 마우스 드라이버에 대해 add-on(추가)이므로, 여기뿐만 아니라 표준 PS/2 드라이버에 대해서도 ``y'' 라고 답할 필요가 있는 것에 주의하시오. 표준의 PS/2 마우스·디바이스와, 82C710 디바이스 양방향 설정이 되어 있는 경우, 드라이버는 부팅시에 먼저 82C710 칩의 존재를 확인하려고 한다. 검출에 실패하면, 대표로 표준 드라이버가 이용되게 되어 있다 . 그러므로, 이것들의 마우스·인터페이스를 양쪽 모두 추가한 커넬에서는, 표준의 PS/2 마우스·포토를 이용할 수 있다. 그렇지만, 존 재하지 않는 82C710 칩이 잘못 검출 되었다는 보고가 1 건 있었다. 그렇기 때문에, 안전한 쪽을 취한다면, 필요하지 않는 82C710의 지원은 설정 하지 않는 것이 무난하다. 그리고, 마우스가 어느 인터럽트 번호를 사용하는지 커넬에 알려주지 않으면 안된다. 항상 PS/2 마우스라면 IRQ는 12에 고정되므로 여기는 거른다. Logitech, Inport, 혹은 Logitech 프로토콜을 사용하는 ATI 마우스라면, /usr/src/linux/include/linux/busmouse.h 라는 파일의 #define MOUSE_IRQ 5라는 행을 마우스 인터럽트 번호로 마춘다. (마우스 인터럽트 번호를 찾는 방법에 있어서는, ``마우스 인터럽트 번호 설정'' 을 참조하라.) ATI-XL 마우스라면, /usr/src/linux/drivers/char/atixlmouse.c 이하의 행 을 마우스 인터럽트 번호로 맞추시오. #define ATIXL_MOUSE_IRQ 5마우스 인터럽트 번호를 2 로한경우는, PC 아키텍쳐의 특수성 때문에 , #define 쪽은 9 로 하지 않으면 안 된다. 예 인터럽트 번호 3 를 사용하는 마우스는 #define MOUSE_IRQ 3인터럽트 번호 2 를 사용하는 마우스는 #define MOUSE_IRQ 9같게, 위의 행을 고쳐 쓴다. 다음에, 커넬을 설명에 따라 컴파일하고, 가능한 새로운 커넬로 부팅한다. 이것으로, busmouse의 지원을 확실히 포함하는 커넬 을 얻을수있다. 새로운 커넬에 있어서 인터럽트 번호 변환어느 인터럽트 번호를 사용할지를 컴파일시에 정하여 넣어 버리는 것은, 어떤 버젼의 커넬에서도 사용할 수 있는 방법이다. 새로운 커넬 (2.x.x 의 어딘가로부터)에서는, LILO 와 LOADLIN 종류를 사용해, 커넬을 읽는 사이에 Logitech 와 Microsoft Inport 마우스의 인터럽트 번호를 인수로서 커넬에 건네줄 수 있게 되어있다. 커넬을 컴파일하고 수정하지 않아도 (혹은 하는방법을 모르더라도) 좋기 때문에, 실제로 시간 절약이 된다. 또, 마우스 드라이버를 모듈로서 로드하도록 커넬을 설정한 경우는, 모듈이 로드되는 때에 이러한 정보를 건네주게 된다. 이하의 옵션을 LILO의 boot 행에 넣으면, 인터럽트 번호를 변경할 수 있다. bmouse=3 (Logitech 바스마우스) msmouse=3 (Microsoft Inport 마우스)위의 수치 3을, 사용하는 마우스의 실제 인터럽트 번호로 바꾸시오. lilo에서 이것을 사용하는 예는: LILO:linux msmouse=3이 타입 정보를 LILO 와 LOADLIN의 설정 파일에 추가하면, 다시 타이프하여 지정하지 않고 완료된다. 방법은 LILO, LOADLIN 의 문서를 보시오. 당신의 시스템이 모듈의 자동 로드에 kerneld를 사용하고 있는 경우는, /etc/conf.modules 나 /etc/modules.conf를 편집해 아래 중의 어느것에 1 행을 추가하시오. options msbusmouse mouse_irq=3 options busmouse mouse_irq=3 3.3 마우스·디바이스Linux 에서는, 마우스는 /dev 디렉토리에 있는 파일을 통해 억세스되고 있다. 아래의 표는, 인터페이스의 종류와, 어느 디바이스 파일을 사용하는지의 리스트이다. INTERFACE DEVICE MAJOR MINOR ----------------------------------------------------------- Logitech /dev/logibm 10 0 PS/2 /dev/psaux 10 1 Inport /dev/inportbm 10 2 ATI-XL /dev/atibm 10 3주의: Inport 드라이버로 ATI-XL 마우스를 사용의 경우, /dev/atibm 디바이 스가 아닌 /dev/inportbm를 사용하시오. major 와 minor는, 고유 디바이스 번호이다. 이들 디바이스가 없는 경우는, 먼저 만들어야한다. 아래의 명령을 root에서 실행 하시오. mknod /dev/logimm c 10 0 mknod /dev/psaux c 10 1 mknod /dev/inportbm c 10 2 mknod /dev/atibm c 10 3주의: Linux 최근 몇해의 역사(비교적최근)에 있어서, busmouse의 디바이스의 명칭 변경되었다. 이하의 디바이스의 명칭은 상기의 것에 옮겨졌으므로, 소거해야 한다: bmousems, bmouseps2, bmouseatixl, bmouselogitech. 사용하고 있는 마우스·디바이스로부터 /dev/mouse에 symbolic link를 연결한 사람이 많다고한다. 그러면, 디바이스의 명칭을 각가 기억하고 있을 필요 가 없어진다. 현재 배포되고 있는 Linux 패키지도 아마 그렇게 되어있다. 그러한 링크가 있는 경우, 혹은 스스로 링크를 연결한 경우는, 자신의 마우스에 맞은 정확한 마우스·디바이스를 가리키고 있는지 확인바란다. 4. 마우스의 운용이 장에서는, 여러가지 어플리케이션에 있어서의 마우스의 일반적인 사용 방법에 대해서 취급한다. 4.1 어플리케이션의 설정Linux 배포물의 대부분은, 어떤 종류의 마우스를 사용하는지 인스톨의 중간에 질문하여, gpm 와 X Window System을 설정한다. 정확한 마우스·프로토콜을 선택하지 않았던지, 새로운 마우스를 install했다고 하는 경우는, 어떤 커멘드·라인 프로그램을 사용해, 이 새로운 프로토콜을 사용하도록 gpm 와 X Window System을 재설정하는 것이 대부분이다. RedhatRedHat 에서는 /usr/sbin/mouseconfig 를 사용할 수 있다. 기타의 설정그 외의 배포물의 경우는, 인스톨 방법 설명서를 봐주시오. 4.2 gpmgpm란, 마우스를 사용한 'cut- and-paste'를, X 상에서 가능한것처럼, Linux의 가상 단말기 사이에서도 가능하도록 하는 프로그램이다. 가지고있는 마 우스의 동작 테스트로도 좋은 방법이 된다. gpm의 최신 버젼은 ftp.prosa.it/pub/gpm에 있다. 대부분의 Linux 배포물에는 컴파일끝난 gpm 바이너리가 포함되어있다. gpm를 시작할 때는, 사용중인 마우스가 어느 프로토콜을 사용하고 있는지를 -t switch, 그리고 마우스의 디바이스·파일이 어떤 것인가를 -m 옵션을 사용해 알려준다. 대체로 busmouse를 처리 할 수 있는 3개의 프로토콜은, 각각 logi, bm, ps2 로서 지정 한다. 마우스의 디바이스·파일 디폴트는 /dev/mouse에 되어 있으므로, 적절한 symbolic link를 연결하였다면, -m 옵션은 생략해도 된다. 예를 들면, Microsoft Inport 마우스의 경우는: gpm -t bm PS/2 프로토콜이라면: gpm -t ps2 그리고 마우스를 움직여 보면, 스크린 상의 커서 블록이 이동하는 변화를 볼수있고, mouse button를 사용해, 가상 단말간에 text를 cut and paste 할 수 있다. 보다 자세한 조작 방법에 대해서는, gpm 문서를 읽거나 ``man gpm'' 해 보자. 4.3 XFree86가지고있는 busmouse를 XFree86에서 사용하는 경우, 사용 마우스의 프로토콜을 Xconfig 파일(역주: 현재는 XF86Config 파일. 이하 XF86Config로 한다.) 에 기록하지 않으면 안 된다. BusMouse 프로토콜의 마우스를 가진 경우, XF86Config에는 이하의 내용이 들어 있어야만한다. (따옴표를 포함한다.) (역주: 자세한것은 man XF86Config를 참조하시오.) Section "Pointer" Protocol "Busmouse" Device "/dev/mouse" # Any other options such as Emulate3Buttons EndSectionPS/2 마우스라면 이렇게 한다: Protocol "PS/2"2버튼 마우스라면, 이하의 행도 필요하다. 마우스의 좌우 버튼을 동시에 누르면, 중앙 버튼이 없는 마우스로도, 중앙 버튼을 누르는것과같은 기능을한다. Emulate3Buttons``BaudRate'' 와 ``SampleRate'' 같은 마우스의 다른 설정 항목은 busmouse 에는 관계 없음으로, 주석을 달아두는 편이 좋겠다. 4.4 XFree86 와 gpm커넬의 개발 역사에 있어서, busmouse를 복수 처리로 공유하는 것은 오랜동안 가능하지 않았다. 그 때문에, XFree86 와 gpm를 동시에 동작하는 것은 곤란했던 것이다. gpm가 동작하고 있는 상태에서 X를 동작 시키려고 하여 아래와 같은 에러에 만날 경우는, 그러한 오래된 커넬중의 하나를 사용하고 있다, 라는 것이다. Fatal server error: Cannot open mouse (Device or resource busy)이러한 커넬에서 XFree86 와 동시에 gpm를 사용하기위한 두개의 방법이 있다. 먼저 한개는, XFree86을 동작하기 전에 gpm의 실행을 모두 죽이는 것이다. 또 하나는, gpm 의 ``repeater'' 옵션을 사용하는 것. (마우스로부터의 데이터를 받고, 그 정보를 복수의 어플리케이션에 반복한다.) 하지만 나로서는, 가능하면 커넬을 upgraded하는 것을 추천한다. 그렇게 하면, busmouse를 다른 처리과 공유할 수 있기 때문이다. 이 문서에서는, 오래된 커넬로 XFree86 와 gpm 를 함께 사용하는 조건에 대해서는, 간단한 방법 만을 설명 한다. repeater 옵션을 사용하는 방법에 대해서는 gpm 의 문서를 보기 바란다. 아래와 같이 하면, gpm는 동작하고 있는 자신의 사본 모두를 종료시킨다. gpm -k이것은 X11을 시작하기 전에 하지 않으면 안된다. X를 동작시켜 사용하고 있는 스크립트, 예를 들면 startx를 보고, 상기의 명령어를 스크립트 선두에 추가 한다. 그러면 gpm는 (X가 동작하기 전에) 자동적으로 종료하게 된다. 그 스크립트의 마지막에 gpm를 재시작 시키는 명령어도 추가해 두면, X의 세션을 종료한 뒤, gpm도 다시 동작한다. 5. 아직 마우스가 움직이지 않는가?이렇게 말하는 것은, 당신은 이 HOWTO를 몇번이나 몇번이나 통독하고, 할수 있다고 생각되는 것은 모두 해보고나서, 그런데도 여전히 마우스가 움직이지 않는군요? 제가 말할수있는 최선의 어드바이스는 「경험을 쌓는 것」이다. 괴로울지도 모르지만, 능숙 해질 때까지, 여러가지 방법을 전부 시험하는것이, 결국은 유일의 방법인 것이다. 상투적인 수단이지만, 모르는것이 있으면, 먼저 메뉴얼·페이지를 읽어보고, 도움이 될지 봐주시오. 특정한 의문이 없어 저에게 도움 받아야할 문제가 있으면, 이 HOWTO의 문두에 쓰여진 email을 사용해, 편하게 연락 하시오. 그러면, 내가 도움이 될지도, 혹은 도움이 되만한 사람을 소개할 수도 있다. comp.os.linux.help 나 comp.os.linux.hardware 뉴스 그룹은, 마우 스의 설정에 관한 질문, 토론에 적절한 곳이다. 그 이외의 뉴스 그룹에 질문을 투고하지 말아주시오. 특히 2개이상 의 Linux 관련 뉴스 그룹에 crosspost하는 것은 삼가 바란다. … 이것 만으로도 충분히 화제가되기 때문에 ! 투고할 때는, 적절한 Subject: 와 Keywords: 를 추가한다. 그러면, 보다 좋은 반응(과, 보다 적은 격정!)이 돌아오겠지요. 예를 들면 : Subject: busmouse - Gateway 2000의 마우스가 움직이지 않는다. Keywords: mouse busmouse gateway 5.1 다른 정보근원Linux 와 마우스에 관한 편리한 정보원이다. 3-Button Mouse HOWTO3버튼 시리얼 또는 PS2 마우스를 사용하고 있다면, 3-Button Mouse HOWTO가 많은 도움이 된다. 중앙의 버튼 (middle button) 을 사용할 수 있도록 한다. Laptop-HOWTOLinux Laptop-HOWTO 에는, 노트북 컴퓨터 본체에 있는 마우스와 함께, 외부 부착 마우스의 사용 방법이 기술되어있다. Wacom Tablet HOWTOWacom Tablet HOWTO는 Wacom Tablet를 마우스로서 사용하는 방법을 게재하고있다 . |
Far duller than a serpent's tooth it is to spend a quiet youth. |