Commit graph

194 commits

Author SHA1 Message Date
Josh Boyer
2198edddd8 HID: default HID_BATTERY_STRENGTH to no
Commit 4f5ca836b "HID: hid-input: add support for HID devices reporting
Battery Strength" added the CONFIG_HID_BATTERY_STRENGTH option to report
the battery strength of HID devices.  The commit log explicitly mentions
it not working properly with recent userspace, but it is default y
anyway.  This is rather odd, and actually causes problems on real
systems.

This works around Fedora bug
https://bugzilla.redhat.com/show_bug.cgi?id=806295

Signed-off-by: Josh Boyer <jwboyer@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-04-19 14:16:43 +02:00
Jiri Kosina
4a247a4119 Merge branch 'upstream' into for-linus
Conflicts:
	drivers/hid/Makefile
2012-03-20 13:18:05 +01:00
Jiri Kosina
77aa8e65f0 Merge branches 'roccat' and 'wacom' into for-linus 2012-03-20 13:05:18 +01:00
Jiri Kosina
740363fb75 HID: tivo: add support for BT-version (0x1200)
Add support for BT-driven configuration of the TiVo remote.

Reported-by: Joshua Dillon <jvdillon@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-03-13 09:36:05 +01:00
Nikolai Kondrashov
22ca20b250 HID: kye: Add support for 3 tablets
Add support for three KYE tablets: EasyPen i405X, MousePen i608X, EasyPen M610X.
Update Kconfig entry accordingly, remove EXPERT dependency.

Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-02-28 13:37:12 +01:00
Andreas Hübner
1e93674a8e HID: add new driver for non-compliant Saitek devices
The driver currently only supports the PS1000 controller.
It fixes the report descriptor by removing a non-existing axis and
clearing the constant bit on the d-pad and button input reports.

Signed-off-by: Andreas Hübner <andreas@k4n.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-02-22 11:30:17 +01:00
Konstantin Khlebnikov
0944e964b2 HID: use generic driver for Logitech Unifying receivers if !CONFIG_HID_LOGITECH_DJ
Before commit 534a7b8e1 ("HID: Add full support for Logitech Unifying
receivers") Logitech Unifying receiver can work as generic device
without special driver, after that commit these devices does not works
without special driver.

After this patch they will use generic driver if special driver is disabled.

Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-02-21 16:00:31 +01:00
Denis Kovalev
2258e863b4 HID: multitouch: add support of Panasonic multitouch panels
While at it, also fix some minor codingstyle issues.

Signed-off-by: Denis Kovalev <Denis.Kovalev@dataart.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-02-21 11:55:45 +01:00
Jiri Kosina
2701eaabd7 HID: tivo: fix broken build
Fix mismatch between Kconfig name and Makefile expectation.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-02-06 17:36:38 +01:00
Jarod Wilson
44ea35c138 HID: add support for tivo slide remote
This patch finishes off adding full support for the TiVo Slide remote,
which is a mostly pure HID device from the perspective of the kernel.
There are a few mappings that use a vendor-specific usage page, and a
few keys in the consumer usage page that I think make sense to remap
slightly, to better fit their key labels' intended use. Doing this in a
stand-alone hid-tivo.c makes the modifications only matter for this
specific device.

What's actually connected to the computer is a Broadcom-made usb dongle,
which has an embedded hub, bluetooth adapter, mouse and keyboard
devices. You pair with the dongle, then the remote sends data that its
converted into HID on the keyboard interface (the mouse interface
doesn't do anything interesting, so far as I can tell).

lsusb for this device:
Bus 004 Device 005: ID 0a5c:2190 Broadcom Corp.
Bus 004 Device 004: ID 0a5c:4503 Broadcom Corp.
Bus 004 Device 003: ID 150a:1201
Bus 004 Device 002: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)

Speaking of the keyboard interface, the remote actually does contain a
keyboard as well. The top slides away, revealing a reasonably functional
qwerty keyboard (not unlike many slide cell phones), thus the product
name.

CC: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-02-06 17:35:03 +01:00
Benjamin Tissoires
847672cd14 HID: multitouch: support Perixx PERIPAD 701
Perixx Peripad 701 is an hybrid device which presents a touchpad and
a keyboard on the same surface. The switch between the two is controlled
by a physical switch, and the firmware sends the events on the right
interface (mouse, keyboard or multitouch).
This patch enables the multitouch interface of this device to work.

We need to manually set the device as a trackpad (we cannot infer it
from the reports descriptors as the device works under Windows, a system
that does not allow multitouch touchpad).
We also need to set the hid feature MAX CONTACT NUMBER to 2 or the device
stops sending events once it has been pressed by two touches.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Acked-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-02-06 13:22:39 +01:00
Stefan Achatz
bd393dbd33 HID: roccat: Only one Kconfig entry for all roccat drivers
To cleanup Kconfig space and ease selection for users there is now
a single entry that selects all roccat related drivers at once.

Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-02-05 17:22:40 +01:00
Jiri Kosina
e027372856 Merge branches 'hyperv', 'multitouch', 'roccat', 'upstream', 'upstream-fixes', 'wacom' and 'wiimote' into for-linus 2012-01-05 15:51:02 +01:00
Masatoshi Hoshikawa
11576c6114 HID: hid-multitouch: add support 9 new Xiroku devices
This patch adds support for the Xiroku Inc. panels (SPX/MPX/CSR/etc.).

Signed-off-by: Masatoshi Hoshikawa <hoshikawa@xiroku.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-01-05 15:49:21 +01:00
Benjamin Tissoires
b105712469 HID: multitouch: add support of Atmel multitouch panels
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Acked-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-01-02 11:10:36 +01:00
Jiri Kosina
d66c266ad4 HID: Kconfig: fix syntax
Replace mistakenly used '==' by '='.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-12-19 09:16:29 +01:00
Jiri Kosina
7e69ba7cae HID: introduce proper dependency of HID_BATTERY on POWER_SUPPLY
ppc6xx_defconfig reveals this:

drivers/built-in.o: In function `hidinput_cleanup_battery': drivers/hid/hid-input.c:351: undefined reference to`power_supply_unregister'
drivers/built-in.o: In function `hidinput_setup_battery': drivers/hid/hid-input.c:338: undefined reference to `power_supply_register'
make[1]: *** [.tmp_vmlinux1] Error 1

The defconfig in question doens't mention either option and kbuild is
genertaing

	CONFIG_HID_BATTERY_STRENGTH=y
	CONFIG_POWER_SUPPLY=m

which is wrong. Put a proper dependency in place.

Reported-by: Tony Breeds <tony@bakeyournoodle.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-12-16 23:35:55 +01:00
Aaron Tian
b7ea95ff9b HID: multitouch: support PixArt optical touch screen
This patch modifies hid-multitouch driver for supporting PixArt optical touch
screen.  Because of the device does not have to set initial report, we apply
"HID_QUIRK_NO_INIT_REPORTS" quirk and add the device into hid_blacklist[]

Signed-off-by: Aaron Tian <aaron_tian@pixart.com.tw>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-12-15 11:13:41 +01:00
David Herrmann
ef6f41157f HID: wiimote: Select INPUT_FF_MEMLESS
We depend on memless force-feedback support, therefore correctly select the
related config options.

Reported-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Cc: stable@kernel.org
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-12-12 00:27:21 +01:00
Stefan Achatz
d41c2a7011 HID: roccat: Add support for Isku keyboard
This patch adds support for Roccat Isku keyboard.
Userland tools can be found at http://sourceforge.net/projects/roccat

Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-12-06 10:21:10 +01:00
Benjamin Tissoires
5e7ea11f60 HID: multitouch: merge quanta driver into hid-multitouch
This patch merge the last old-style hid multitouch driver to
the generic one.
It also adds 2 more quanta pids.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Acked-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-11-30 15:32:18 +01:00
Jeremy Fitzhardinge
4f5ca836be HID: hid-input: add support for HID devices reporting Battery Strength
Some HID devices, such as my Bluetooth mouse, report their battery
strength as an event.  Rather than passing it through as a strange
absolute input event, this patch registers it with the power_supply
subsystem as a battery, so that the device's Battery Strength can be
reported to usermode.

The battery appears in sysfs names
/sys/class/power_supply/hid-<UNIQ>-battery, and it is a child of the
battery-containing device, so it should be clear what it's the battery of.

Unfortunately on my current Fedora 16 system, while the battery does
appear in the UI, it is listed as a Laptop Battery with 0% charge (since
it ignores the "capacity" property of the battery and instead computes
it from the "energy*" fields, which we can't supply given the limited
information contained within the HID Report).

Still, this patch is the first step.

Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-11-28 11:10:22 +01:00
David Herrmann
cb99221ba7 HID: wiimote: Add extension support stub
The wiimote supports several extensions. This adds a separate source file which
handles all extensions and can be disabled at compile-time.

The driver reacts on "plug"-events on the extension port and starts a worker
which initializes or deinitializes the extensions.

Currently, the initialization logic is not fully understood and we can only
detect and enable all extensions when all extensions are deactivated. Therefore,
we need to disable all extensions, then detect and activate them again to react
on "plug"-events.
However, deactivating extensions will generate a new "plug"-event and we will
never leave that loop. Hence, we only support extensions if they are plugged
before the wiimote is connected (or before the ext-input device is opened). In
the future we may support full extension hotplug support, but
reverse-engineering this may take a while.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-11-22 23:08:28 +01:00
Jiri Kosina
6cf851d803 HID: hyperv: fixup Kconfig / Makefile entries
Rename the Kconfig entry for hyperv mouse driver so that it has
HID_ prefix as all the other drivers; while at it, place the entry
for this driver to properly ordered place in Makefile and Kconfig.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-11-22 22:52:15 +01:00
K. Y. Srinivasan
b95f5bcb81 HID: Move the hid-hyperv driver out of staging
The file  hid-hyperv.c implements a hid compliant mouse driver for use on a
Hyper-V based system. This driver is currently in the staging area and as part
of the effort to move this driver out of staging, I had posted the driver code
for community review a few weeks ago. This current patch addresses all the
review comments I have gotten to date. All the relevant patches have already
been submitted to the staging tree as well.

As per Greg's suggestion, this patch does not get rid of the code from
the staging area. Once the mouse driver lands under the hid directory,
we will cleanup the staging directory.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-11-22 22:48:41 +01:00
Jiri Kosina
b3aec7b686 Merge branch 'upstream' into for-linus
Conflicts:
	drivers/hid/hid-core.c
	drivers/hid/hid-ids.h
2011-10-25 09:59:04 +02:00
Jiri Kosina
b0eae38ceb Merge branches 'acrux', 'logitech', 'multitouch', 'roccat' and 'wiimote' into for-linus 2011-10-25 09:54:16 +02:00
Sean Young
1bcc20675a HID: Add device IDs for more SJOY adapters
Support the following models: Super Joy Box 3 Pro, Super Dual Box Pro
and Super Joy Box 5 Pro. These models have support for pressure
sensitive buttons and they can force the controller to either digital
or analog mode, both of which are not supported yet.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-10-21 01:01:45 +02:00
Jiri Kosina
dfe9a31211 HID: primax: remove spurious dependency
Remove Kconfig dependency for hid-primax driver on CONFIG_EXPERT.
Please see changelog of 73d5e8f77e ("HID: fix up 'EMBEDDED' mess in
Kconfig") for reasoning behind this.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-10-17 17:04:58 +02:00
Terry Lambert
f6a04605f3 HID: support primax keyboards violating USB HID spec
Primax keyboards with the issue this driver addresses report modifier
keys as in band key events instead of as out of band modifier bits,
resulting in the modifier keys generating key up events immediately
before the keys they are intended to modify.  This driver rewrites
the raw report data from such keyboards into USB HID 1.11 compliant
report data.  It only matches the USB vendor and product IDs for the
keyboard it has been tested on. Since there are several keyboards,
notably a number of laptops and folding USB keyboards known to have
similar unresolved problem reports, the list is expected to grow.

Signed-off-by: Terry Lambert <tlambert@chromium.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-10-17 17:04:41 +02:00
Nestor Lopez Casado
534a7b8e10 HID: Add full support for Logitech Unifying receivers
With this driver, all the devices paired to a single Unifying
receiver are exposed to user processes in separated /input/dev
nodes.

Keyboards with different layouts can be treated differently,
Multiplayer games on single PC (like home theater PC) can
differentiate input coming from different kbds paired to the
same receiver.

Up to now, when Logitech Unifying receivers are connected to a
Linux based system, a single keyboard and a single mouse are
presented to the HID Layer, even if the Unifying receiver can
pair up to six compatible devices. The Unifying receiver by default
multiplexes all incoming events (from multiple keyboards/mice)
into these two.

Signed-off-by: Nestor Lopez Casado <nlopezcasad@logitech.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-09-15 11:34:49 +02:00
David Herrmann
6591d758d5 HID: wiimote: Read wiimote battery charge level
This registers a power_supply device for every remote to retrieve the current
battery charge level. Since this information is not sent by the wiimote
continously, we need to explicitely request it.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-09-07 13:25:18 +02:00
David Herrmann
23a5a4a39e HID: wiimote: Register led class devices
This registers 4 led devices to allow controlling the wiimote leds via standard
LED sysfs API. It removes the four sysfs attributes so we don't have two APIs
for one device.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-08-23 10:55:21 +02:00
Jeff Brown
c50bb1a400 HID: hid-multitouch: Add LG Display Multitouch device.
This panel is also known as the Dell ST2220Tc.

Signed-off-by: jeffbrown@android.com
Reviewed-By: Benjamin Tissoires <Benjamin_Tissoires@logitech.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-08-16 11:43:53 +02:00
Jiri Kosina
70c2cabd6a HID: make CONFIG_LOGIWHEELS_FF default to CONFIG_LOGITECH_FF
Do this for backwards compatibility reasons (LOGIWHEELS_FF has
been split-off from LOGITECH_FF), so that users don't have
regressions with 'default' kernel configs.

Reported-and-tested-by: simon@mungewell.org
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-08-10 18:11:10 +02:00
Michal Malý
a7ac90f18c HID: lg4ff - Fix misleading info in Kconfig
The description of lg4ff driver has to be changed to reflect the fact that the
driver now handles a lot more Logitech wh the Wii. Entry in Kconfig has been
renamed to LOGIWHEELS_FF

Signed-off-by: Michal Malý <madcatxster@gmail.com>
Signed-off-by: Simon Wood <simon@mungewell.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-08-04 16:45:55 +02:00
Sergei Kolzun
364b936fc3 HID: ACRUX - fix enabling force feedback support
The config option needs to be a 'bool' and not a tristate, otheriwse
force feedback support never makes it into the module.

Signed-off-by: Sergei Kolzun <x0r@dv-life.ru>
Cc: stable@kernel.org
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-08-04 15:25:31 +02:00
Jiri Kosina
a91f423e59 Merge branches 'roccat', 'upstream' and 'wiimote' into for-linus 2011-07-22 22:47:08 +02:00
ice chien
bc8a2a9b4e HID: hid-multitouch: add one new multitouch device's VID/PID
This patch adds support for the CSR panel built by XAT.

Signed-off-by: Ice Chien <ice.chien@accupoint.com.tw>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-07-21 14:12:28 +02:00
David Herrmann
fb51b44385 HID: wiimote: Add Nintendo Wii Remote driver stub
Add stub driver for the Nintendo Wii Remote. The wii remote uses
the HID protocol to communicate with the host over bluetooth. Hence,
add dependency for HIDP and place driver in hid subsystem.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-07-11 14:30:21 +02:00
Anssi Hannula
d946e65e2a HID: add FF support for Holtek On Line Grip based gamepads
Add force feedback support for Holtek On Line Grip based HID devices.

The protocol is more complex than that of most other rumblepads, but the
device still needs to be handled as a memoryless one.

Tested by Cleber de Mattos Casali with a 1241:5015 "Clone Joypad Super
Power Fire" gamepad, with help from Hendrik Iben <hendrik_iben@web.de>.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Tested-by: Cleber de Mattos Casali <clebercasali@yahoo.com.br>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-06-27 12:40:00 +02:00
Stefan Achatz
303f272c1f HID: roccat: chang Kconfig menu to submenu for roccat devices
As module roccat is needed by all devices, it's the toplevel
menu entry with all devices dependent.

Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-06-13 12:51:53 +02:00
Stefan Kriwanek
74bc695313 HID: Add driver to fix Speedlink VAD Cezanne support
Speedlink VAD Cezanne have a hardware bug that makes the cursor "jump" from one
place to another every now and then. The issue are relative motion events
erroneously reported by the device, each having a distance value of +256. This
256 can in fact never occur due to real motion, therefore those events can
safely be ignored.  The driver also drops useless EV_REL events with a value of
0, that the device sends every time it sends an "real" EV_REL or EV_KEY event.

Signed-off-by: Stefan Kriwanek <mail@stefankriwanek.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-06-08 09:45:37 +02:00
Austin Zhang
942fd4225f HID: hid-multitouch: add support for Chunghwa multi-touch panel
Added Chunghwa hid multitouch panel support into hid-multitouch.

Signed-off-by: Austin Zhang <zhang.austin@gmail.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-06-07 15:43:19 +02:00
Jiri Kosina
366a2382c6 Merge branches 'doc', 'multitouch', 'upstream' and 'upstream-fixes' into for-linus 2011-05-23 12:49:25 +02:00
Benjamin Tissoires
22408283bc HID: hid-multitouch: cosmetic changes, sort classes and devices
This patch sorts the defs for the MT_CLS. I choose to split
generic classes and device specific ones to be able to add
more generic classes in the future.

It also put eGalax devices at their right place (alphabetically)
in mt_devices.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-05-23 11:17:16 +02:00
Benjamin Tissoires
617b64f977 HID: hid-multitouch: add support for Unitec panels
This patch introduce support for Unitec panels.
This device has not been optimized in term of kernel processing
operations (default class), but it will work.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-05-20 13:35:42 +02:00
Benjamin Tissoires
5e74e56da0 HID: hid-multitouch: add support for Touch International panels
This patch introduce support for Touch International panels.
This device has not been optimized in term of kernel processing
operations (default class), but it will work.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-05-20 13:35:42 +02:00
Benjamin Tissoires
ee0fbd1491 HID: hid-multitouch: add support for GoodTouch panels
This patch introduce support for GoodTouch panels.
This device has not been optimized in term of kernel processing
operations (default class), but it will work.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-05-20 13:35:42 +02:00
Benjamin Tissoires
79603dc9a8 HID: hid-multitouch: add support for CVTouch panels
This patch introduce support for CVTouch panels.
This device has not been optimized in term of kernel processing
operations (default class), but it will work.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-05-20 13:35:41 +02:00