요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
================
mtouchusb driver
================
Changes
=======
- 0.3 - Created based off of scanner & INSTALL from the original touchscreen
driver on freecode (http://freecode.com/projects/3mtouchscreendriver)
- Amended for linux-2.4.18, then 2.4.19
- 0.5 - Complete rewrite using Linux Input in 2.6.3
Unfortunately no calibration support at this time
- 1.4 - Multiple changes to support the EXII 5000UC and house cleaning
Changed reset from standard USB dev reset to vendor reset
Changed data sent to host from compensated to raw coordinates
Eliminated vendor/product module params
Performed multiple successful tests with an EXII-5010UC
Supported Hardware
==================
::
All controllers have the Vendor: 0x0596 & Product: 0x0001
Controller Description Part Number
------------------------------------------------------
USB Capacitive - Pearl Case 14-205 (Discontinued)
USB Capacitive - Black Case 14-124 (Discontinued)
USB Capacitive - No Case 14-206 (Discontinued)
USB Capacitive - Pearl Case EXII-5010UC
USB Capacitive - Black Case EXII-5030UC
USB Capacitive - No Case EXII-5050UC
Driver Notes
============
Installation is simple, you only need to add Linux Input, Linux USB, and the
driver to the kernel. The driver can also be optionally built as a module.
This driver appears to be one of possible 2 Linux USB Input Touchscreen
drivers. Although 3M produces a binary only driver available for
download, I persist in updating this driver since I would like to use the
touchscreen for embedded apps using QTEmbedded, DirectFB, etc. So I feel the
logical choice is to use Linux Input.
Currently there is no way to calibrate the device via this driver. Even if
the device could be calibrated, the driver pulls to raw coordinate data from
the controller. This means calibration must be performed within the
userspace.
The controller screen resolution is now 0 to 16384 for both X and Y reporting
the raw touch data. This is the same for the old and new capacitive USB
controllers.
Perhaps at some point an abstract function will be placed into evdev so
generic functions like calibrations, resets, and vendor information can be
requested from the userspace (And the drivers would handle the vendor specific
tasks).
TODO
====
Implement a control urb again to handle requests to and from the device
such as calibration, etc once/if it becomes available.
Disclaimer
==========
I am not a MicroTouch/3M employee, nor have I ever been. 3M does not support
this driver! If you want touch drivers only supported within X, please go to:
http://www.3m.com/3MTouchSystems/
Thanks
======
A huge thank you to 3M Touch Systems for the EXII-5010UC controllers for
testing!
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
변경 이력
1-200.3은 기존 touchscreen driver의 scanner와 INSTALL을 바탕으로 만들고 Linux 2.4.18, 2.4.19에 맞게 수정했습니다.
0.5는 Linux 2.6.3 Input subsystem을 사용하도록 완전히 다시 썼으며 당시 calibration은 지원하지 않았습니다.
1.4는 EXII 5000UC 지원과 정리를 포함합니다. 표준 USB device reset을 vendor reset으로 바꾸고 host에 보낼 data를 compensated coordinate에서 raw coordinate로 변경했습니다.
vendor/product module parameter를 제거하고 EXII-5010UC로 여러 성공적인 시험을 수행했습니다.
driver architecture와 hardware 지원 변화입니다.
================
mtouchusb driver
================
Changes
=======
- 0.3 - Created based off of scanner & INSTALL from the original touchscreen
driver on freecode (http://freecode.com/projects/3mtouchscreendriver)
- Amended for linux-2.4.18, then 2.4.19
- 0.5 - Complete rewrite using Linux Input in 2.6.3
Unfortunately no calibration support at this time
- 1.4 - Multiple changes to support the EXII 5000UC and house cleaning
Changed reset from standard USB dev reset to vendor reset
Changed data sent to host from compensated to raw coordinates
Eliminated vendor/product module params
Performed multiple successful tests with an EXII-5010UC
지원 hardware
21-39모든 controller의 Vendor ID는 `0x0596`, Product ID는 `0x0001`입니다.
구형 14-205, 14-124, 14-206 모델은 각각 Pearl Case, Black Case, No Case이며 단종되었습니다.
EXII-5010UC, EXII-5030UC, EXII-5050UC는 같은 case 구성을 따르는 지원 모델입니다.
모든 항목이 VID 0x0596, PID 0x0001을 사용합니다.
Supported Hardware
==================
::
All controllers have the Vendor: 0x0596 & Product: 0x0001
Controller Description Part Number
------------------------------------------------------
USB Capacitive - Pearl Case 14-205 (Discontinued)
USB Capacitive - Black Case 14-124 (Discontinued)
USB Capacitive - No Case 14-206 (Discontinued)
USB Capacitive - Pearl Case EXII-5010UC
USB Capacitive - Black Case EXII-5030UC
USB Capacitive - No Case EXII-5050UC
드라이버 참고 사항
40-65설치는 kernel에 Linux Input, Linux USB, mtouchusb driver를 추가하면 되며 module로 build할 수도 있습니다.
3M의 binary-only driver도 있지만 이 driver는 QTEmbedded, DirectFB 같은 embedded application에서 Linux Input을 사용하려고 계속 갱신되었습니다.
현재 driver를 통한 device calibration 방법은 없습니다.
controller가 calibration을 지원하더라도 driver는 raw coordinate를 가져오므로 calibration은 사용자 공간에서 수행해야 합니다.
구형과 신형 capacitive USB controller 모두 X와 Y raw touch coordinate 범위는 0..16384입니다.
향후 evdev에 calibration, reset, vendor information 같은 generic request를 위한 추상 함수가 들어가고 각 driver가 vendor-specific 작업을 처리할 가능성을 언급합니다.
driver는 보정하지 않은 raw 좌표를 Linux Input으로 전달하고 사용자 공간이 calibration합니다.
필수 subsystem과 현재 책임 경계입니다.
Driver Notes
============
Installation is simple, you only need to add Linux Input, Linux USB, and the
driver to the kernel. The driver can also be optionally built as a module.
This driver appears to be one of possible 2 Linux USB Input Touchscreen
drivers. Although 3M produces a binary only driver available for
download, I persist in updating this driver since I would like to use the
touchscreen for embedded apps using QTEmbedded, DirectFB, etc. So I feel the
logical choice is to use Linux Input.
Currently there is no way to calibrate the device via this driver. Even if
the device could be calibrated, the driver pulls to raw coordinate data from
the controller. This means calibration must be performed within the
userspace.
The controller screen resolution is now 0 to 16384 for both X and Y reporting
the raw touch data. This is the same for the old and new capacitive USB
controllers.
Perhaps at some point an abstract function will be placed into evdev so
generic functions like calibrations, resets, and vendor information can be
requested from the userspace (And the drivers would handle the vendor specific
tasks).
TODO
66-71calibration 같은 device request가 가능해질 경우 요청·응답을 처리할 control URB를 다시 구현해야 합니다.
이 항목은 hardware나 protocol 지원 가능 여부에 따라 달라지는 향후 과제입니다.
TODO
====
Implement a control urb again to handle requests to and from the device
such as calibration, etc once/if it becomes available.
면책
72-79원저자는 MicroTouch/3M 직원이 아니며 과거에도 직원이 아니었습니다.
3M은 이 driver를 지원하지 않습니다. X 전용 지원 driver가 필요하면 원문에 제시된 3M Touch Systems 사이트를 확인해야 합니다.
Disclaimer
==========
I am not a MicroTouch/3M employee, nor have I ever been. 3M does not support
this driver! If you want touch drivers only supported within X, please go to:
http://www.3m.com/3MTouchSystems/
감사
80-84시험용 EXII-5010UC controller를 제공한 3M Touch Systems에 감사를 전합니다.
Thanks
======
A huge thank you to 3M Touch Systems for the EXII-5010UC controllers for
testing!
요약·해설
mtouchusb.rst:1-84MicroTouch USB controller 지원 모델, raw coordinate, 사용자 공간 calibration과 이력을 설명합니다.
원문 명령, symbol, source path, 수치와 ABI 이름을 그대로 유지하면서 각 절의 의미와 주의 사항을 한국어로 옮겼습니다.