- 28 5月, 2016 4 次提交
-
-
由 Pavel Rojtberg 提交于
added the according id and incresed XPAD_PKT_LEN to 64 as the elite controller sends at least 33 byte messages [1]. Verified to be working by [2]. [1]: https://franticrain.github.io/sniffs/XboxOneSniff.html [2]: https://github.com/paroj/xpad/issues/23Signed-off-by: NPierre-Loup A. Griffais <eduke32@plagman.net> Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
Signed-off-by: NPierre-Loup A. Griffais <eduke32@plagman.net> Signed-off-by: NThomas Debesse <dev@illwieckz.net> Signed-off-by: Naronschatz <aronschatz@aselabs.com> Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Cameron Gutman 提交于
After initially connecting a wired Xbox 360 controller or sending it a command to change LEDs, a status/response packet is interpreted as controller input. This causes the state of buttons represented in byte 2 of the controller data packet to be incorrect until the next valid input packet. Wireless Xbox 360 controllers are not affected. Writing a new value to the LED device while holding the Start button and running jstest is sufficient to reproduce this bug. An event will come through with the Start button released. Xboxdrv also won't attempt to read controller input from a packet where byte 0 is non-zero. It also checks that byte 1 is 0x14, but that value differs between wired and wireless controllers and this code is shared by both. I think just checking byte 0 is enough to eliminate unwanted packets. The following are some examples of 3-byte status packets I saw: 01 03 02 02 03 00 03 03 03 08 03 00 Signed-off-by: NCameron Gutman <aicommander@gmail.com> Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
otherwise we lose ff commands: https://github.com/paroj/xpad/issues/27Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 13 4月, 2016 1 次提交
-
-
由 Borislav Petkov 提交于
Signed-off-by: NBorislav Petkov <bp@suse.de> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Borislav Petkov <bp@alien8.de> Cc: Brian Gerst <brgerst@gmail.com> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Thomas Sailer <t.sailer@alumni.ethz.ch> Link: http://lkml.kernel.org/r/1459801503-15600-7-git-send-email-bp@alien8.deSigned-off-by: NIngo Molnar <mingo@kernel.org>
-
- 06 4月, 2016 1 次提交
-
-
由 Silvan Jegen 提交于
This adds the VID/PID combination for the Xbox One version of the Mad Catz FightStick TE 2. The functionality that this provides is about on par with what the Windows drivers for the stick manage to deliver. What works: - Digital stick - 6 main buttons - Xbox button - The two buttons on the back - The locking buttons (preventing accidental Xbox button press) What doesn't work: - Two of the main buttons (don't work on Windows either) - The "Haptic" button setting does not have an effect (not sure if it works on Windows) I added the MAP_TRIGGERS_TO_BUTTONS option but in my (limited) testing there was no practical difference with or without. The FightStick does not have triggers though so adding it makes sense. Signed-off-by: NSilvan Jegen <s.jegen@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 28 1月, 2016 1 次提交
-
-
由 Arnd Bergmann 提交于
There are two definitions of xpad_identify_controller(), one is used when CONFIG_JOYSTICK_XPAD_LEDS is set, but the other one is empty and never used, and we get a gcc warning about it: drivers/input/joystick/xpad.c:1210:13: warning: 'xpad_identify_controller' defined but not used [-Wunused-function] This removes the second definition. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Fixes: cae705ba ("Input: xpad - re-send LED command on present event") Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 13 1月, 2016 2 次提交
-
-
由 Jiri Kosina 提交于
This reverts commit 27b9d5a2. I am reverting this one, while keeping the rest of the G920 support in, so that it immediately starts working once proper HID-mode switching is implemented. Quoting Dmitry Torokhov for rationale: == It is wrong. Aside form the fact that IMO xpad.c is the wrong place for this code to be in, why are we waiting for the input device to be opened by userspace before we do the switch instead of doing it immediately? == Several people (Simon Wood and Michal Maly) expressed the intent to work on proper HID switching in a short term. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Pavel Rojtberg 提交于
Apparently the Covert Forces ID is not Covert Forces pad exclusive, but rather denotes a new firmware version that can be found on all new controllers and can be also updated on old hardware using Windows 10. see: https://github.com/paroj/xpad/issues/19Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 05 1月, 2016 4 次提交
-
-
由 Dmitry Torokhov 提交于
When lighting up the segment identifying wireless controller, Instead of sending command directly to the controller, let's do it via LED API (usinf led_set_brightness) so that LED object state is in sync with controller state and we'll light up the correct segment on resume as well. Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
The irq_out urb is dead after suspend/ resume on my x360 wr pad. (also reproduced by Zachary Lund [0]) Work around this by implementing suspend, resume, and reset_resume callbacks and properly shutting down URBs on suspend and restarting them on resume. [0]: https://github.com/paroj/xpad/issues/6Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pierre-Loup A. Griffais 提交于
There's apparently a serial number woven into both input and output packets; neglecting to specify a valid serial number causes the controller to ignore the rumble packets. The scale of the rumble was also apparently halved in the packets. The initialization packet had to be changed to allow force feedback to work. see https://github.com/paroj/xpad/issues/7 for details. Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
Track the status of the irq_out URB to prevent submission iof new requests while current one is active. Failure to do so results in the "URB submitted while active" warning/stack trace. Store pending brightness and FF effect in the driver structure and replace it with the latest requests until the device is ready to process next request. Alternate serving LED vs FF requests to make sure one does not starve another. See [1] for discussion. Inspired by patch of Sarah Bessmer [2]. [1]: http://www.spinics.net/lists/linux-input/msg40708.html [2]: http://www.spinics.net/lists/linux-input/msg31450.htmlSigned-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 17 12月, 2015 2 次提交
-
-
由 Pierre-Loup A. Griffais 提交于
Handle the "a new device is present" message properly by dynamically creating the input device at this point in time. This means we now do not "preallocate" all 4 devices when a single wireless base station is seen. This requires a workqueue as we are in interrupt context when we learn about this. Also properly disconnect any devices that we are told are removed. Signed-off-by: N"Pierre-Loup A. Griffais" <pgriffais@valvesoftware.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Clement Calmels 提交于
When powering up a wireless xbox 360 controller, some wrong joystick events are generated. It is annoying because, for example, it makes unwanted moves in Steam big picture mode's menu. When my controller is powering up, this packet is received by the driver: 00000000: 00 0f 00 f0 00 cc ff cf 8b e0 86 6a 68 f0 00 20 ...........jh.. 00000010: 13 e3 20 1d 30 03 40 01 50 01 ff ff .. .0.@.P... According to xboxdrv userspace driver source code, this packet is only dumping a serial id and should not be interpreted as joystick events. This issue can be easily seen with jstest: $ jstest --event /dev/input/js0 This patch only adds a way to filter out this "serial" packet and as a result it removes the spurous events. Signed-off-by: NClement Calmels <clement.calmels@free.fr> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 20 11月, 2015 1 次提交
-
-
由 Simon Wood 提交于
When plugged in the Logitech G920 wheel starts with USBID 046d:c261 and behaviors as a vendor specific class. If a 'magic' byte sequence is sent the wheel will detach and reconnect as a HID device with the USBID 046d:c262. Signed-off-by: NSimon Wood <simon@mungewell.org> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Reviewed-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 18 11月, 2015 4 次提交
-
-
由 Sudip Mukherjee 提交于
walkera0701_parport_cb is a local uninitialized structure and the member function pointers will be pointing to arbitrary locations unless they are cleared. Fixes: 221bcb24 ("Input: walkera0701 - use parallel port device model") Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sudip Mukherjee 提交于
tgfx_parport_cb is a local uninitialized structure and the member function pointers will be pointing to arbitrary locations unless they are cleared. Fixes: 4de27a63 ("Input: turbografx - use parallel port device model") Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sudip Mukherjee 提交于
gc_parport_cb is a local uninitialized structure and the member function pointers will be pointing to arbitrary locations unless they are cleared. Fixes: a517e87c ("Input: gamecon - use parallel port device model") Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sudip Mukherjee 提交于
db9_parport_cb is a local uninitialized structure and the member function pointers will be pointing to arbitrary locations unless they are cleared. Fixes: 2260c419 ("Input: db9 - use parallel port device model") Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 10 11月, 2015 1 次提交
-
-
由 Andrew Morton 提交于
Switch everything to the new and more capable implementation of abs(). Mainly to give the new abs() a bit of a workout. Cc: Michal Nazarewicz <mina86@mina86.com> Cc: John Stultz <john.stultz@linaro.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 19 10月, 2015 1 次提交
-
-
由 Pavel Rojtberg 提交于
Do not call xpad_identify_controller at init with wireless devices: it conflicts with the already sent presence packet and will be called by xpad360w_process_packet as needed anyway. Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 11 10月, 2015 9 次提交
-
-
由 Pavel Rojtberg 提交于
When we initialize the driver/device, we really don't know how many controllers are connected. So send a "query presence" command to the base-station. (Command discovered by Zachary Lund) Presence packet taken from: https://github.com/computerquip/xpad5Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pierre-Loup A. Griffais 提交于
To allow us to later create / destroy the input device from the urb callback, we need to initialize/ deinitialize the input device from a separate function. So pull that logic out now to make later patches more "obvious" as to what they do. Signed-off-by: N"Pierre-Loup A. Griffais" <pgriffais@valvesoftware.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
as discussed here[0], x360w is the only pad that maps dpad_to_button. This is bad for downstream developers as they have to differ between x360 and x360w which is not intuitive. This patch implements the suggested solution of exposing the dpad both as axes and as buttons. This retains backward compatibility with software already dealing with the difference while makes new software work as expected across x360/ x360w pads. [0] http://www.spinics.net/lists/linux-input/msg34421.htmlSigned-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
Move submission logic to a single point at the end of the function. This makes it easy to add locking/ queuing code later on. Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
This code was probably wrong ever since and is redundant with xpad_send_led_command. Both try to send a similar command to the xbox360 controller. However xpad_send_led_command correctly uses the pad_nr instead of bInterfaceNumber to select the led and re-uses the irq_out URB instead of creating a new one. Note that this change only affects the two supported wireless controllers. Tested using the xbox360 wireless controller (PC). Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
The pad_nr corresponds to the lit up LED on the controller. Therefore there should be no gaps when enumerating. Currently a LED is only re-assigned after a controller is re-connected 4 times. This patch uses ida to track connected pads - this way we can re-assign freed up pad number immediately. Consider the following case: 1. pad A is connected and gets pad_nr = 0 2. pad B is connected and gets pad_nr = 1 3. pad A is disconnected 4. pad A is connected again using ida_simple_get() controller A now correctly gets pad_nr = 0 again. Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Pavel Rojtberg 提交于
Rename led_no -> pad_nr: the number stored there is not the LED number - it gets translated later on to a LED number in xpad_identify_controller; Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Dario Scarpa 提交于
The "Razer Atrox Arcade Stick" features 10 buttons, and two of them (LT/RT) don't work properly. Change its definition in xpad_device[] (mapping field) to fix. Signed-off-by: NDario Scarpa <dario.scarpa@duskzone.it> Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Erik Lundgren 提交于
It is identical to the Xbox One controller but has a different product ID. Signed-off-by: NPavel Rojtberg <rojtberg@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 06 10月, 2015 3 次提交
-
-
由 Sudip Mukherjee 提交于
The variable i is used to check the port to attach to and we are supposed to save the reference of struct tgfx in the location given by tgfx_base[i]. But after finding out the index, i is getting modified again so we saved in a wrong index. Fixes: 4de27a63 ("Input: turbografx - use parallel port device model") Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sudip Mukherjee 提交于
The variable i is used to check the port to attach to and we are supposed to save the reference of struct gc in the location given by gc_base[i]. But after finding out the index, i is getting modified again so we saved in a wrong index. Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Fixes: a517e87c ("Input: gamecon - use parallel port device model") Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sudip Mukherjee 提交于
The variable i is used to check the port to attach to and we are supposed to save the reference of struct db9 in the location given by db9_base[i]. But after finding out the index, i is getting modified again so we saved in a wrong index. While at it mark db9_base[i] as NULL after it is freed. Fixes: 2260c419 ("Input: db9 - use parallel port device model") Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 02 10月, 2015 1 次提交
-
-
由 Andrew Morton 提交于
It uses bitrev8(), so it must ensure that lib/bitrev.o gets included in vmlinux. Cc: Fengguang Wu <fengguang.wu@gmail.com> Cc: yalin wang <yalin.wang2010@gmail.com> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 30 9月, 2015 3 次提交
-
-
由 Sudip Mukherjee 提交于
Modify walkera0701 driver to use the new Parallel Port device model. Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sudip Mukherjee 提交于
Modify turbografx driver to use the new Parallel Port device model. Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sudip Mukherjee 提交于
Modify gamecon driver to use the new Parallel Port device model. Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
- 29 9月, 2015 2 次提交
-
-
由 Andrew Morton 提交于
It uses bitrev8(), so it must ensure that lib/bitrev.o gets included in vmlinux. Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-
由 Sudip Mukherjee 提交于
Modify db9 driver to use the new Parallel Port device model. Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Tested-By: NPali Rohár <pali.rohar@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
-