summaryrefslogtreecommitdiff
path: root/Documentation/ABI/testing/sysfs-driver-hid-wiimote
blob: 3bf43d9dcdfe5b1799fc0e8209fad067e6b6686f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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 <dh.herrmann@googlemail.com>
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 <dh.herrmann@gmail.com>
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 <dh.herrmann@gmail.com>
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 <dh.herrmann@gmail.com>
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 <dh.herrmann@gmail.com>
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.