linux/drivers/hid
Rodrigo Rivas Costa fb87a92b43 HID: steam: remove input device when a hid client is running.
commit 385a488677 upstream.

Previously, when a HID client such as the Steam Client was running, this
driver disabled its input device to avoid doubling the input events.

While it worked mostly fine, some games got confused by the idle gamepad,
and switched to two player mode, or asked the user to choose which gamepad
to use. Other games just crashed, probably a bug in Unity [1].

With this commit, when a HID client starts, the input device is removed;
when the HID client ends the input device is recreated.

[1]: https://github.com/ValveSoftware/steam-for-linux/issues/5645

Signed-off-by: Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Cc: Pierre-Loup Griffais <pgriffais@valvesoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-12-01 09:37:24 +01:00
..
i2c-hid HID: i2c-hid: Add a small delay after sleep command for Raydium touchpanel 2018-11-27 16:13:02 +01:00
intel-ish-hid HID: intel-ish-hid: Enable Ice Lake mobile 2018-09-24 11:46:15 +02:00
usbhid HID: hiddev: fix potential Spectre v1 2018-11-13 11:08:44 -08:00
hid-a4tech.c
hid-accutouch.c
hid-alps.c HID: alps: allow incoming reports when only the trackstick is opened 2018-11-27 16:13:02 +01:00
hid-apple.c HID: add support for Apple Magic Keyboards 2018-08-28 13:52:50 +02:00
hid-appleir.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
hid-asus.c Merge branch 'for-4.17/upstream' into for-linus 2018-04-05 13:28:46 +02:00
hid-aureal.c
hid-axff.c
hid-belkin.c
hid-betopff.c
hid-cherry.c
hid-chicony.c
hid-cmedia.c
hid-core.c HID: core: fix NULL pointer dereference 2018-09-05 10:08:07 +02:00
hid-corsair.c HID: corsair: Add K70 Vengeance and K70 RAPIDFIRE to 2018-02-16 13:38:16 +01:00
hid-cougar.c HID: cougar: Add support for the Cougar 500k Gaming Keyboard 2018-07-23 11:35:05 +02:00
hid-cp2112.c HID: cp2112: Fix I2C_BLOCK_DATA transactions 2017-11-21 21:39:45 +01:00
hid-cypress.c
hid-debug.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2018-07-09 17:16:11 -07:00
hid-dr.c
hid-elan.c HID: elan: Add support for touchpad on the Toshiba Click Mini L9W 2018-07-17 15:25:40 +02:00
hid-elecom.c HID: elecom: add support for EX-G M-XT4DRBK trackball 2018-03-06 15:15:47 +01:00
hid-elo.c HID: elo: clear BTN_LEFT mapping 2017-11-24 14:40:23 +01:00
hid-emsff.c
hid-ezkey.c
hid-gaff.c
hid-gembird.c
hid-generic.c HID: generic: create one input report per application type 2018-04-26 14:17:31 +02:00
hid-gfrm.c HID: generic: create one input report per application type 2018-04-26 14:17:31 +02:00
hid-google-hammer.c HID: google: Add support for whiskers 2018-06-11 14:11:36 +02:00
hid-gt683r.c
hid-gyration.c
hid-holtek-kbd.c
hid-holtek-mouse.c
hid-holtekff.c HID: holtekff: move MODULE_* parameters out of #ifdef block 2017-12-01 09:31:36 +01:00
hid-hyperv.c use the new async probing feature for the hyperv drivers 2018-07-03 13:02:28 +02:00
hid-icade.c
hid-ids.h HID: Add quirk for Microsoft PIXART OEM mouse 2018-11-27 16:13:11 +01:00
hid-input.c HID: core: fix grouping by application 2018-09-04 21:31:43 +02:00
hid-ite.c
hid-jabra.c HID: Add special driver for Jabra devices 2017-11-21 12:54:58 +01:00
hid-kensington.c
hid-keytouch.c
hid-kye.c
hid-lcpower.c
hid-led.c
hid-lenovo.c HID: lenovo: Add support for IBM/Lenovo Scrollpoint mice 2018-04-25 10:48:35 +02:00
hid-lg.c HID: hid-lg: make array cbuf static const to shink object code size 2017-09-06 10:58:54 +02:00
hid-lg.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hid-lg2ff.c
hid-lg3ff.c
hid-lg4ff.c HID: hid-logitech: remove redundant assignment to pointer value 2017-10-19 13:52:38 +02:00
hid-lg4ff.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hid-lgff.c
hid-logitech-dj.c
hid-logitech-hidpp.c HID: logitech-hidpp: fix mistake in printk, "feeback" -> "feedback" 2017-10-12 15:32:43 +02:00
hid-magicmouse.c HID: generic: create one input report per application type 2018-04-26 14:17:31 +02:00
hid-mf.c
hid-microsoft.c HID: microsoft: support the Surface Dial 2018-07-17 15:33:47 +02:00
hid-monterey.c
hid-multitouch.c HID: core: fix grouping by application 2018-09-04 21:31:43 +02:00
hid-nti.c
hid-ntrig.c HID: hid-ntrig: add error handling for sysfs_create_group 2018-06-25 15:16:11 +02:00
hid-ortek.c
hid-penmount.c
hid-petalynx.c
hid-picolcd_backlight.c
hid-picolcd_cir.c
hid-picolcd_core.c
hid-picolcd_debugfs.c
hid-picolcd_fb.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
hid-picolcd_lcd.c
hid-picolcd_leds.c
hid-picolcd.h
hid-pl.c
hid-plantronics.c HID: hid-plantronics: Re-resend Update to map button for PTT products 2018-05-16 11:06:40 +02:00
hid-primax.c
hid-prodikeys.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
hid-quirks.c HID: Add quirk for Microsoft PIXART OEM mouse 2018-11-27 16:13:11 +01:00
hid-redragon.c HID: redragon: fix num lock and caps lock LEDs 2018-06-25 15:23:40 +02:00
hid-retrode.c
hid-rmi.c HID: rmi: use HID_QUIRK_NO_INPUT_SYNC 2018-05-30 08:55:33 +02:00
hid-roccat-arvo.c
hid-roccat-arvo.h
hid-roccat-common.c
hid-roccat-common.h
hid-roccat-isku.c
hid-roccat-isku.h
hid-roccat-kone.c
hid-roccat-kone.h
hid-roccat-koneplus.c
hid-roccat-koneplus.h
hid-roccat-konepure.c
hid-roccat-kovaplus.c HID: roccat: prevent an out of bounds read in kovaplus_profile_activated() 2018-01-23 15:46:58 +01:00
hid-roccat-kovaplus.h
hid-roccat-lua.c
hid-roccat-lua.h
hid-roccat-pyra.c
hid-roccat-pyra.h
hid-roccat-ryos.c
hid-roccat-savu.c
hid-roccat-savu.h
hid-roccat.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
hid-saitek.c HID: hid-saitek: Add device ID for RAT 7 Contagion 2018-08-30 10:58:44 +02:00
hid-samsung.c
hid-sensor-custom.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
hid-sensor-hub.c HID: sensor-hub: Restore fixup for Lenovo ThinkPad Helix 2 sensor hub report 2018-09-05 10:22:28 +02:00
hid-sjoy.c
hid-sony.c HID: hid-sony.c: Use devm_ api to simplify sc->output_report_dmabuf 2018-07-09 15:14:08 +02:00
hid-speedlink.c
hid-steam.c HID: steam: remove input device when a hid client is running. 2018-12-01 09:37:24 +01:00
hid-steelseries.c
hid-sunplus.c
hid-tivo.c
hid-tmff.c HID: Add ID 044f:b605 ThrustMaster, Inc. force feedback Racing Wheel 2017-11-07 10:04:46 +01:00
hid-topseed.c
hid-twinhan.c
hid-uclogic.c HID: core: remove the need for HID_QUIRK_NO_EMPTY_INPUT 2018-03-23 15:44:57 +01:00
hid-udraw-ps3.c
hid-waltop.c
hid-wiimote-core.c HID: wiimote: add support for Guitar-Hero devices 2018-06-25 15:26:06 +02:00
hid-wiimote-debug.c
hid-wiimote-modules.c HID: wiimote: add support for Guitar-Hero devices 2018-06-25 15:26:06 +02:00
hid-wiimote.h HID: wiimote: add support for Guitar-Hero devices 2018-06-25 15:26:06 +02:00
hid-xinmo.c
hid-zpff.c
hid-zydacron.c
hidraw.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
Kconfig HID: cougar: Add support for the Cougar 500k Gaming Keyboard 2018-07-23 11:35:05 +02:00
Makefile HID: cougar: Add support for the Cougar 500k Gaming Keyboard 2018-07-23 11:35:05 +02:00
uhid.c HID: uhid: forbid UHID_CREATE under KERNEL_DS or elevated privileges 2018-11-27 16:13:10 +01:00
wacom_sys.c Merge branch 'for-4.19/wacom' into for-linus 2018-08-20 18:12:42 +02:00
wacom_wac.c HID: wacom: Work around HID descriptor bug in DTK-2451 and DTH-2452 2018-11-13 11:08:44 -08:00
wacom_wac.h HID: wacom: generic: add the "Report Valid" usage 2018-03-07 15:21:44 +01:00
wacom.h