요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
Detected Wii device type
sysfs-driver-hid-wiimote:29-50Detection 완료 시 change uevent를 보내고 pending·unknown·generic 및 gen10·gen20·balanceboard type을 보고합니다.
Balance Board and Pro Controller calibration
sysfs-driver-hid-wiimote:51-85Balance Board는 0/17/34kg sensor calibration을 hexadecimal로, Pro Controller는 signed 16-bit stick offsets를 decimal로 제공합니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
What: /sys/bus/hid/drivers/wiimote/<dev>/led1
What: /sys/bus/hid/drivers/wiimote/<dev>/led2
What: /sys/bus/hid/drivers/wiimote/<dev>/led3
What: /sys/bus/hid/drivers/wiimote/<dev>/led4
Date: July 2011
KernelVersion: 3.1
Contact: David Herrmann <[email protected]>
Description: Make it possible to set/get current led state. Reading from it
returns 0 if led is off and 1 if it is on. Writing 0 to it
disables the led, writing 1 enables it.
What: /sys/bus/hid/drivers/wiimote/<dev>/extension
Date: August 2011
KernelVersion: 3.2
Contact: David Herrmann <[email protected]>
Description: This file contains the currently connected and initialized
extensions. It can be one of: none, motionp, nunchuck, classic,
motionp+nunchuck, motionp+classic
motionp is the official Nintendo Motion+ extension, nunchuck is
the official Nintendo Nunchuck extension and classic is the
Nintendo Classic Controller extension. The motionp extension can
be combined with the other two.
Starting with kernel-version 3.11 Motion Plus hotplugging is
supported and if detected, it's no longer reported as static
extension. You will get uevent notifications for the motion-plus
device then.
What: /sys/bus/hid/drivers/wiimote/<dev>/devtype
Date: May 2013
KernelVersion: 3.11
Contact: David Herrmann <[email protected]>
Description: While a device is initialized by the wiimote driver, we perform
a device detection and signal a "change" uevent after it is
done. This file shows the detected device type. "pending" means
that the detection is still ongoing, "unknown" means, that the
device couldn't be detected or loaded. "generic" means, that the
device couldn't be detected but supports basic Wii Remote
features and can be used.
Other strings for each device-type are available and may be
added if new device-specific detections are added.
Currently supported are:
============= =======================================
gen10: First Wii Remote generation
gen20: Second Wii Remote Plus generation
(builtin MP)
balanceboard: Wii Balance Board
============= =======================================
What: /sys/bus/hid/drivers/wiimote/<dev>/bboard_calib
Date: May 2013
KernelVersion: 3.11
Contact: David Herrmann <[email protected]>
Description: This attribute is only provided if the device was detected as a
balance board. It provides a single line with 3 calibration
values for all 4 sensors. The values are separated by colons and
are each 2 bytes long (encoded as 4 digit hexadecimal value).
First, 0kg values for all 4 sensors are written, followed by the
17kg values for all 4 sensors and last the 34kg values for all 4
sensors.
Calibration data is already applied by the kernel to all input
values but may be used by user-space to perform other
transformations.
What: /sys/bus/hid/drivers/wiimote/<dev>/pro_calib
Date: October 2013
KernelVersion: 3.13
Contact: David Herrmann <[email protected]>
Description: This attribute is only provided if the device was detected as a
pro-controller. It provides a single line with 4 calibration
values for all 4 analog sticks. Format is: "x1:y1 x2:y2". Data
is prefixed with a +/-. Each value is a signed 16bit number.
Data is encoded as decimal numbers and specifies the offsets of
the analog sticks of the pro-controller.
Calibration data is already applied by the kernel to all input
values but may be used by user-space to perform other
transformations.
Calibration data is detected by the kernel during device setup.
You can write "scan\n" into this file to re-trigger calibration.
You can also write data directly in the form "x1:y1 x2:y2" to
set the calibration values manually.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Wii Remote player LEDs
1-11| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/hid/drivers/wiimote/<dev>/led1; /sys/bus/hid/drivers/wiimote/<dev>/led2; /sys/bus/hid/drivers/wiimote/<dev>/led3; /sys/bus/hid/drivers/wiimote/<dev>/led4 |
| Date | 2011년 7월 |
| KernelVersion | 3.1 |
| Contact | David Herrmann <[email protected]> |
| Description | Current LED state를 set/get합니다. Read는 LED off이면 0, on이면 1을 반환합니다. 0을 write하면 LED를 disable하고 1을 write하면 enable합니다. |
네 player LEDs가 동일한 binary read/write semantics를 사용합니다.
Connected Wii Remote extension
12-28| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/hid/drivers/wiimote/<dev>/extension |
| Date | 2011년 8월 |
| KernelVersion | 3.2 |
| Contact | David Herrmann <[email protected]> |
| Description | Currently connected and initialized extension을 표시합니다. 값은 none, motionp, nunchuck, classic, motionp+nunchuck 또는 motionp+classic입니다. motionp는 official Nintendo Motion+ extension, nunchuck은 official Nintendo Nunchuck extension, classic은 Nintendo Classic Controller extension이며 motionp는 다른 두 extension과 결합할 수 있습니다. Kernel 3.11부터 Motion Plus hotplugging을 지원하므로 detected Motion Plus는 더 이상 static extension으로 report되지 않고 motion-plus device의 uevent notification을 보냅니다. |
Standalone extensions와 Motion Plus combination values입니다.
Detected Wii device type
29-50| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/hid/drivers/wiimote/<dev>/devtype |
| Date | 2013년 5월 |
| KernelVersion | 3.11 |
| Contact | David Herrmann <[email protected]> |
| Description | wiimote driver initialization 중 device detection을 수행하고 완료하면 "change" uevent를 보냅니다. "pending"은 detection 진행 중, "unknown"은 device를 detect하거나 load할 수 없음, "generic"은 detect하지 못했지만 basic Wii Remote features를 지원해 사용할 수 있음을 뜻합니다. Device-specific detection이 추가되면 다른 strings도 추가될 수 있습니다. 현재 지원 type은 gen10, gen20과 balanceboard입니다. |
원문의 currently-supported type 표와 detection states를 합쳤습니다.
Wii Balance Board calibration
51-66| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/hid/drivers/wiimote/<dev>/bboard_calib |
| Date | 2013년 5월 |
| KernelVersion | 3.11 |
| Contact | David Herrmann <[email protected]> |
| Description | Device가 balance board로 detected된 경우에만 제공합니다. 네 sensors 각각에 대한 세 calibration values를 single line으로 반환합니다. Values는 colon으로 구분하고 각각 2 bytes를 4-digit hexadecimal로 encode합니다. 먼저 네 sensors의 0kg values, 이어서 네 17kg values, 마지막으로 네 34kg values가 옵니다. Kernel은 이미 모든 input values에 calibration을 적용하지만 userspace가 다른 transformation에 사용할 수 있습니다. |
Single line의 load-point ordering과 value encoding입니다.
Wii Pro Controller stick calibration
67-85| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/bus/hid/drivers/wiimote/<dev>/pro_calib |
| Date | 2013년 10월 |
| KernelVersion | 3.13 |
| Contact | David Herrmann <[email protected]> |
| Description | Device가 pro-controller로 detected된 경우에만 제공합니다. 네 analog sticks에 대한 네 calibration values를 "x1:y1 x2:y2" 형식의 single line으로 반환합니다. Data는 +/- prefix를 사용하고 각 value는 signed 16-bit decimal number이며 Pro Controller analog-stick offsets를 나타냅니다. Kernel은 input values에 calibration을 이미 적용하지만 userspace transformation에도 사용할 수 있습니다. Device setup 중 kernel이 calibration을 detect하며 "scan\n"을 write해 다시 trigger하거나 "x1:y1 x2:y2" 형식 data를 직접 write해 수동 설정할 수 있습니다. |
Readback, rescan과 manual update contracts를 분리했습니다.
LED and extension state
sysfs-driver-hid-wiimote:1-28LED 4개를 0/1로 제어하고 initialized extension 조합을 읽으며 kernel 3.11 이후 Motion Plus hotplug는 별도 uevent로 보고됩니다.