← Documents Documentation/usb/mtouchusb.rst GitHub 원문 ↗

Linux 6.18.37 · USB

mtouchusb 드라이버

MicroTouch USB controller 지원 모델, raw coordinate, 사용자 공간 calibration과 이력을 설명합니다.

Source pathDocumentation/usb/mtouchusb.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

mtouchusb.rst:1-84

MicroTouch USB controller 지원 모델, raw coordinate, 사용자 공간 calibration과 이력을 설명합니다.

원문 명령, symbol, source path, 수치와 ABI 이름을 그대로 유지하면서 각 절의 의미와 주의 사항을 한국어로 옮겼습니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 ================
2 mtouchusb driver
3 ================
4
5 Changes
6 =======
7
8 - 0.3 - Created based off of scanner & INSTALL from the original touchscreen
9 driver on freecode (http://freecode.com/projects/3mtouchscreendriver)
10 - Amended for linux-2.4.18, then 2.4.19
11
12 - 0.5 - Complete rewrite using Linux Input in 2.6.3
13 Unfortunately no calibration support at this time
14
15 - 1.4 - Multiple changes to support the EXII 5000UC and house cleaning
16 Changed reset from standard USB dev reset to vendor reset
17 Changed data sent to host from compensated to raw coordinates
18 Eliminated vendor/product module params
19 Performed multiple successful tests with an EXII-5010UC
20
21 Supported Hardware
22 ==================
23
24 ::
25
26 All controllers have the Vendor: 0x0596 & Product: 0x0001
27
28
29 Controller Description Part Number
30 ------------------------------------------------------
31
32 USB Capacitive - Pearl Case 14-205 (Discontinued)
33 USB Capacitive - Black Case 14-124 (Discontinued)
34 USB Capacitive - No Case 14-206 (Discontinued)
35
36 USB Capacitive - Pearl Case EXII-5010UC
37 USB Capacitive - Black Case EXII-5030UC
38 USB Capacitive - No Case EXII-5050UC
39
40 Driver Notes
41 ============
42
43 Installation is simple, you only need to add Linux Input, Linux USB, and the
44 driver to the kernel. The driver can also be optionally built as a module.
45
46 This driver appears to be one of possible 2 Linux USB Input Touchscreen
47 drivers. Although 3M produces a binary only driver available for
48 download, I persist in updating this driver since I would like to use the
49 touchscreen for embedded apps using QTEmbedded, DirectFB, etc. So I feel the
50 logical choice is to use Linux Input.
51
52 Currently there is no way to calibrate the device via this driver. Even if
53 the device could be calibrated, the driver pulls to raw coordinate data from
54 the controller. This means calibration must be performed within the
55 userspace.
56
57 The controller screen resolution is now 0 to 16384 for both X and Y reporting
58 the raw touch data. This is the same for the old and new capacitive USB
59 controllers.
60
61 Perhaps at some point an abstract function will be placed into evdev so
62 generic functions like calibrations, resets, and vendor information can be
63 requested from the userspace (And the drivers would handle the vendor specific
64 tasks).
65
66 TODO
67 ====
68
69 Implement a control urb again to handle requests to and from the device
70 such as calibration, etc once/if it becomes available.
71
72 Disclaimer
73 ==========
74
75 I am not a MicroTouch/3M employee, nor have I ever been. 3M does not support
76 this driver! If you want touch drivers only supported within X, please go to:
77
78 http://www.3m.com/3MTouchSystems/
79
80 Thanks
81 ======
82
83 A huge thank you to 3M Touch Systems for the EXII-5010UC controllers for
84 testing!
85

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

변경 이력

1-20

0.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로 여러 성공적인 시험을 수행했습니다.

mtouchusb 변경 이력
항목설명
0.3기존 driver 기반 생성, Linux 2.4.18/2.4.19 수정
0.5Linux Input 기반 전면 재작성, calibration 없음
1.4EXII 5000UC, vendor reset, raw coordinates, module ID parameter 제거

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 구성을 따르는 지원 모델입니다.

지원 MicroTouch controller
항목설명
14-205USB Capacitive, Pearl Case, discontinued
14-124USB Capacitive, Black Case, discontinued
14-206USB Capacitive, No Case, discontinued
EXII-5010UCUSB Capacitive, Pearl Case
EXII-5030UCUSB Capacitive, Black Case
EXII-5050UCUSB Capacitive, No 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 작업을 처리할 가능성을 언급합니다.

Touch coordinate 처리
Controller raw X/Y 0..16384mtouchusbLinux Input / evdevUserspace calibrationQTEmbedded / DirectFB app

driver는 보정하지 않은 raw 좌표를 Linux Input으로 전달하고 사용자 공간이 calibration합니다.

Kernel 구성과 calibration
항목설명
KernelLinux Input + Linux USB + mtouchusb
Buildbuilt-in 또는 module
Coordinateraw X/Y 0..16384
Calibrationdriver 미지원, userspace 책임

필수 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-71

calibration 같은 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!