linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC][PATCH 0/2] HID: wiimote: proper joystick device support
@ 2012-06-04 19:19 Giuseppe Bilotta
  2012-06-04 19:19 ` [RFC][PATCH 1/2] HID: wiimote: refactor key reporting Giuseppe Bilotta
  2012-06-04 19:19 ` [RFC][PATCH 2/2] HID: wiimote: report keys in Accelerometer too Giuseppe Bilotta
  0 siblings, 2 replies; 3+ messages in thread
From: Giuseppe Bilotta @ 2012-06-04 19:19 UTC (permalink / raw)
  To: linux-input
  Cc: David Herrmann, Vojtech Pavlik, Dmitry Torokhov, Giuseppe Bilotta

The Wii Remote driver exposes three input devices for each connected Wii
Remote: a main device for buttons and rumble, the accelorometer and the
IR camera.

Since the main device exposes a BTN_A, it is considered to be a gamepad
from the input subsystem, and it gets handled as a joystick, accessible
via the appropriate /dev/input/jsN device. However, since the input
device itself does not expose any positional information, it appears as
a joystick with no axes (and 7 buttons).

The following two patches try to fix this problem by allowing buttons to
also be exposed via the Accelerometer input device. This way this device
also becomes a joystick, this time fully functional (three axes, 7
buttons).

The patchset is marked as RFC because I'm not 100% satisfied with the
solution. Although it does make the device usable as joystick in software
that does not have support for it otherwise, it presents two problems:

(1) button presses are reported twice, so one has to e.g. disable input
from the main device in software that supports both keyboards and
joysticks at the same time;
(2) the main device is still reported as a gamepad and caught by the
joydev driver.

A possible solution (not yet implemented in this patchset) for issue #1
would be to have a control (accessible via e.g. the /sys interface) to
select the device(s) for which the keys are reported.

For issue #2 there are two possible solutions: an explicit blacklist of
the the Wii Remote main device, or a fine-tuning of joydev_ids list.

Suggestions and critism welcome.

Giuseppe Bilotta (2):
  HID: wiimote: refactor key reporting
  HID: wiimote: report keys in Accelerometer too

 drivers/hid/hid-wiimote-core.c |   44 ++++++++++++++++++++--------------------
 1 file changed, 22 insertions(+), 22 deletions(-)

-- 
1.7.10.rc3.204.g95589


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-06-04 19:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-04 19:19 [RFC][PATCH 0/2] HID: wiimote: proper joystick device support Giuseppe Bilotta
2012-06-04 19:19 ` [RFC][PATCH 1/2] HID: wiimote: refactor key reporting Giuseppe Bilotta
2012-06-04 19:19 ` [RFC][PATCH 2/2] HID: wiimote: report keys in Accelerometer too Giuseppe Bilotta

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).