- 14 10月, 2007 2 次提交
-
-
由 Jiri Kosina 提交于
Fixes some trivial whitespace damage in hid-input.c Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Kosina 提交于
This keyboard emits a few usages that are not handled properly by hid-input. The usages from MSVENDOR page are colliding with Chicony Tactical Pad device, so we have to distinguish in runtime. Ugly ... Also, the buttons 1-5 have to be handled in a non-standard way, as they are emitted by the keyboard in a bitfield-like fashion, but the field is not presented as bit-field by the keyboard. The keys can't be pressed simultaneously, so the handling we have is correct. This patch also extends hid_keyboard[] with KPLeftParenthesis and KPRightParenthesis as defined by Keyboard page in HUT 1.12. The corresponding usages are also emitted by this keyboard. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 09 7月, 2007 7 次提交
-
-
由 Jiri Kosina 提交于
There are some devices (for example Dell Multimedia Keyboard SK-8135) that have a volume control knob which generates relative events instead of absolute. hid-input maps them to ABS_VOLUME. HUT pages don't restrict volume to absolute values. Adding REL_VOLUME doesn't seem feasible, nothing knows how to handle it. This patch translates relative ABS_VOLUME events into appropriate number of series of VOLUME_UP or VOLUME_DOWN events respectively, so that userspace sees the correct values in the end. kernel.org bugzilla 5233 Reported-by: NJochen Eisinger <jochen@penguin-breeder.org> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Ryo Dairiki 提交于
This keyboard has wireless mouse which has left, middle, right buttons and 2-dimensional scrolling wheel. Unfornetuly, this wheel reports side scrolling events and 11 or 12 button events at the same time. I've wrote a patch to fix this mapping. I'm not sure if this mapping is proper for buttons, because , for example, there is no entry for "burn cd" in input.h. The patch also supress 11 and 12 button events from mouse when you scroll the wheel left and right. With this patch, only side scrolling events are reported. (This mouse has only 4 buttons and 2D wheel. There is no such buttons like 11 and 12.) Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Kosina 提交于
Petalynx Maxter remote control [1] 0x18b1/0x0037 emits 0xfa and 0xfc from consumer page (reserved in HUT 1.12) for back and more keys. It also emits a few usages from LOGIVENDOR page, which need adding. Also, this device has broken report descriptor - the reported maximum is too low - it doesn't contain the range for 'back' and 'more' keys, so we need to bump it up before the report descriptor is being parsed. Besides all this, it also requires NOGET quirk. This patch does so. [1] http://www.elmak.pl/index.php?option=com_phpshop&page=shop.browse&category_id=14&ext=opis&lang=enSigned-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Hans de Goede 提交于
When comparing usb vs ps2 / testing the keycodes generated for the easy access keys on my trust (microsoft compatible) keyboard. I noticed the search key generated the keycode for find when connected through USB. This lead me to check the consumer page mappings in hid-input.c . And it turns out the the mapping for ID 0x221 deviates from the HUT standard document: http://www.usb.org/developers/devclass_docs/Hut1_12.pdf Currently it is incorrectly mapped to find, whereas it should be mapped to search. I also added missing bindings for ID 0x21f, the real find and for 0x222, goto. Signed-off-by: NHans de Goede <j.w.r.degoede@hhs.nl> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Kosina 提交于
Microsoft SideWinder GameVoice driver is a trivial device with a few buttons (0x09 HID usage) and an audio connector, which just forwards the audio input into oridinary sound card present in the computer. Despite this fact, the only interface of this device reports itself as a Telephony/Headset type of HID device. This is apparently incorrect - the device itself doesn't provide any audio/telephony functionality. This is achieved in userland application which only needs to receive the button events from the HID driver. This patch establishes a new quirk which forces hid-input to claim a device it will otherwise leave untouched. Reported-by: NTomas Carnecky <tom@dbservice.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Kosina 提交于
Chicony KU-0418 (aka Saitek PZ08AU gaming keyboard) has a separate "tactical pad" with 11 non-functional buttons - they generate usage codes from 0xff00 (MSVENDOR) usage page. Special case handling for this keyboard added, so no later clash with MSVENDOR mappings is going to occur. Pointed out in bugzilla #7352 Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Kosina 提交于
There have been many reports recently about broken HID devices, the diagnosis of which required users to recompile their kernels in order to be able to provide debugging output needed for coding a quirk for a particular device. This patch makes CONFIG_HID_DEBUG default y if !EMBEDDED and makes it possible to control debugging output produced by HID code by supplying 'debug=1' module parameter. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 09 5月, 2007 3 次提交
-
-
由 Marvin Raaijmakers 提交于
Provide hooks for getkeycode() and setkeycode() methods to input_dev. Signed-off-by: NMarvin Raaijmakers <marvin.raaijmakers@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Dmitry Torokhov 提交于
In preparation for struct class_device -> struct device input core conversion switch to using input_dev->dev.parent when specifying device position in sysfs tree. Signed-off-by: NDmitry Torokhov <dtor@mail.ru> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Charles Pillar 提交于
HID-input mapping for non-working S510 remote control buttons. Signed-off-by: NCharles Pillar <pillarama@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 11 4月, 2007 2 次提交
-
-
由 Jiri Kosina 提交于
Logitech MX3000 contains report descriptor which doesn't cover usages above 0x28c, but emits such usages. Report descriptor needs fixing in the very same way as with receivers shipped with S510 keyboards. This patch also adds a few mappings for multimedia keys that S510 didn't emit. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Chris Clayton 提交于
Belkin Wireless keyboard, model number F8E849KYBD, USB ID 1020:0006, FCCID: K7SF8E849KYBD emits usages 0x03a-0x03c from Consumer usage page. As of HUT v1.12, these are marked as reserved. If any conflict arises later, the mapping could be made conditional on VID/PID. Signed-off-by: NChris Clayton <chris2553@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 01 3月, 2007 2 次提交
-
-
由 Jiri Kosina 提交于
Dongle shipped with Logitech DiNovo Edge (0x046d/0xc714) behaves in a weird non-standard way - it contains multiple reports with the same usage, which results in remapping of GenericDesktop.X and GenericDesktop.Y usages to GenericDesktop.Z and GenericDesktop.RX respectively, thus rendering the touchwheel unusable. The commit 35068976 solved this in a way that it didn't remap certain usages. This however breaks (at least) middle button of Logic3 / SpectraVideo (0x1267/0x0210), which in contrary requires the remapping. To make both of the harware work, allow remapping of these usages again, and introduce a quirk for Logitech DiNovo Edge "touchwheel" instead - we disable remapping for key, abs and rel events only for this hardware. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Kosina 提交于
This patch makes extra keys (F1-F12 in special mode, zooming, rotate, shuffle) on Logitech S510 keyboard work. Logitech S510 keyboard sends in report no. 3 keys which are far above the logical maximum described in descriptor for given report. This patch introduces a HID quirk for this wireless USB receiver/keyboard in order to fix the report descriptor before it's being parsed - the logical maximum and the number of usages is bumped up to 0x104d). The values are in the "Reserved" area of consumer HUT, so HID_MAX_USAGE had to be changed too. In addition to proper extracting of the values from report descriptor, proper HID-input mapping is introduced for them. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 05 2月, 2007 4 次提交
-
-
由 Jiri Kosina 提交于
CONFIG_INPUT_DEBUG is non-existent option, so remove anything depending on it. Also, as we have new CONFIG_HID_DEBUG, this should be used on places where ifdef DEBUG was used before. Suggested by Adrian Bunk. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Kosina 提交于
hidinput_{open,close}() functions do not belong to usbhid, but to the generic HID layer. Move them, and fix hooks in struct hid_device, so that now the callbacks are done to transport-specific _open() functions, but not input_open() functions. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Kosina 提交于
hid-debug.h contains a lot of code, and should not therefore be a header. This patch moves the code to generic hid layer as .c source, and introduces CONFIG_HID_DEBUG to conditionally compile it, instead of playing with #define DEBUG and including hid-debug.h. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Anssi Hannula 提交于
Add new quirk HID_QUIRK_SKIP_OUTPUT_REPORTS to skip output reports when enumerating reports on a hid-input device. Add this quirk and HID_QUIRK_MULTI_INPUT to 0810:0001. PantherLord Twin USB Joystick, 0810:0001 has separate input reports for 2 distinct game controllers in the same interface, so it needs HID_QUIRK_MULTI_INPUT. However, the device also contains one output report per controller which is used to control the force feedback function, and we do not want those to appear as separate input devices as well. The simplest approach seems to be to add a quirk to skip output reports on 0810:0001, and allow the force feedback driver to handle those. Signed-off-by: NAnssi Hannula <anssi.hannula@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 30 1月, 2007 1 次提交
-
-
由 Jiri Kosina 提交于
The apple powerbook people are used to switch the pb_fnmode setting at runtime through writing to sysfs, altering the module parameter value. This was broken for them in 2.6.20-rc1 when generic HID layer was introduced, as the pb_fnmode flag was made per-hiddevice, instead of global variable. This patch moves the pb_fnmode module parameter from usbhid module to hid module, but apart from that retains backward compatibility with respect to changing the mode through sysfs. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 26 1月, 2007 1 次提交
-
-
由 Simon Bennett 提交于
Patch adds entries to the HID consumer page for the Firefly Mini IR remote control Signed-off-by: NSimon Bennett <simon@levanta.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 22 1月, 2007 2 次提交
-
-
由 Jiri Kosina 提交于
There is no reason for generic hid-input.c to include usb-specific input.h. As a sideeffect, this also fixes warning of redefinition of dbg() macro, when hid-input.c is compiled with DEBUG (as there is a clash between dbg() from hid.h and usb/input.h). Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Simon Budig 提交于
This change introduces a mapping for LED indicators between the HID specification and the Linux input subsystem. The previous code properly mapped the LEDs relevant for Keyboards, but garbeled the remaining ones. With this change all LED enums from the input system get mapped to more or less equivalent LED numbers from the HID specification. This patch also ensures that the unused bits in a HID report to the device are zeroed out. This makes the 3Dconnexion SpaceNavigator fully usable with the linux input system. Signed-off-by: NSimon Budig <simon@budig.de> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 08 1月, 2007 1 次提交
-
-
由 Adrian Drzewiecki 提交于
This patch fixes mappings for the Logitech USB BT receiver that ships along with Logitech's DiNovo Edge keyboard. Without these changes, the "touchwheel" does not work as intended (a mouse) Signed-off-by: NAdrian Drzewiecki <adriand@drze.net> Acked-by: NVojtech Pavlik <vojtech@suse.cz> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 14 12月, 2006 1 次提交
-
-
由 Florian Festi 提交于
On USB keyboards lots of hot/internet keys are not working. This patch adds support for a number of keys from the USB HID Usage Table (http://www.usb.org/developers/devclass_docs/Hut1_12.pdf). It also adds several new key codes. Most of them are used on real world keyboards I know. I added some others (KEY_+ EDITOR, GRAPHICSEDITOR, DATABASE, NEWS, VOICEMAIL, VIDEOPHONE) to avoid "holes". I also added KEY_ZOOMRESET as it is possible to have a inet keyboard and a remote control in parallel and it makes sense to have them behave differently. Signed-off-by: NFlorian Festi <ffesti@redhat.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 09 12月, 2006 4 次提交
-
-
由 Jiri Kosina 提交于
pb_fnmode parameter has to be passed to usbhid, both for compatibility reasons and also because it logically belongs there. Also removes empty hid-input.c file in drivers/usb/input. Signed-off-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Jiri Kosina 提交于
- 'dev' in struct hid_device changed from struct usb_device to struct device and fixed all the users - renamed functions which are part of USB HID API from 'hid_*' to 'usbhid_*' - force feedback initialization moved from common part into USB-specific driver - added usbhid.h header for USB HID API users - removed USB-specific fields from struct hid_device and moved them to new usbhid_device, which is pointed to by hid_device->driver_data - fixed all USB users to use this new structure Signed-off-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Jiri Kosina 提交于
- fixed generic API (added neccessary EXPORT_SYMBOL, fixed hid.h to provide correct prototypes) - extended hid_device with open/close/event function pointers to driver-specific functions - added driver specific driver_data to hid_device Signed-off-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Jiri Kosina 提交于
The "big main" split of USB HID code into generic HID code and USB-transport specific HID handling. Signed-off-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 17 11月, 2006 1 次提交
-
-
由 Olaf Hering 提交于
similar to the version in adbhid_input_register(): The '<>' key and the '^°' key on a german keyboard is swapped. Provide correct keys to userland, external USB keyboards will not work correctly when the 'badmap'/'goodmap' workarounds from xkeyboard-config are used. It is expected that distributions drop the badmap/goodmap part from keycodes/macintosh in the xkeyboard-config package. This is probably 2.6.18.x material, if major distros settle on 2.6.18. Signed-off-by: NOlaf Hering <olh@suse.de> Cc: Dmitry Torokhov <dtor@mail.ru> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 05 11月, 2006 1 次提交
-
-
由 Anssi Hannula 提交于
Logitech USB Receiver (046d:c101) has two interfaces. The first one contains fields from HID_UP_KEYBOARD and HID_UP_LED, and the other one contains fields from HID_UP_CONSUMER and HID_UP_LOGIVENDOR. This device is used with multiple wireless Logitech products, including UltraX Media Remote. All fields on both interfaces are either keys or leds. All fields in the first interface are marked as Absolute, while the fields in the second interface are marked as Relative. Marking the keys as relative causes hidinput_hid_event() to send release events right after key press events. The device has EV_REP set, so the userspace expects the device to send repeat events if a key is held down. However, as hidinput_hid_event() sends release events immediately, repeat events are not sent at all. In fact, the userspace has no way of knowing if a key is being held down. Fix this by adding a quirk for 046d:c101 which changes relative keys to absolute ones. Signed-off-by: NAnssi Hannula <anssi.hannula@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 05 10月, 2006 1 次提交
-
-
由 David Howells 提交于
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: NDavid Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
-
- 19 7月, 2006 2 次提交
-
-
由 Anssi Hannula 提交于
Signed-off-by: NAnssi Hannula <anssi.hannula@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
由 Anssi Hannula 提交于
This replaces the older PID driver which was never completed. Signed-off-by: NAnssi Hannula <anssi.hannula@gmail.com> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 15 7月, 2006 1 次提交
-
-
由 Dmitry Torokhov 提交于
Fixes Coverity #id 978 Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 22 6月, 2006 2 次提交
-
-
由 David Brownell 提交于
Move <linux/usb_input.h> to <linux/usb/input.h> and remove some redundant includes. Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Bart Massey 提交于
[PATCH] USB HID/HIDBP, INPUT DRIVERS: fix various usb/input/hid-input.c bugs that make Apple Mighty Mouse work poorly Transposed lines of code in drivers/usb/input/hid-input.c causes the capability bits for a new HID device to be set before quirks are applied at configuration time. When an HID event is then sent up to the input layer, it may then be discarded as irrelevant because the wrong capability bit is set. Further, the quirks for the Apple Mighty Mouse are not quite right: the horizontal scrolling needs its axis reversed, and the left and center buttons are transposed. Also, the mouse is labeled in the kernel with its earlier name (I think) of Apple PowerMouse. Steps to reproduce problem: Plug in an Apple Mighty Mouse. Note that horizontal scrolling doesn't work at all, and in fact doesn't generate any input events on /dev/input/eventN. Note also that pushing the middle button performs the right button action, and vice versa. Once you have the horizontal scrolling working, note that it is backward WRT both to vertical scrolling and to common sense. This patch maybe should be broken up, as it does address two problems. The transposed code in hidinput_configure_usage() probably creates bugs beyond just the Mighty Mouse. The rest of the patch renames POWERMOUSE to MIGHTYMOUSE everywhere (which I *believe* is correct), fixes the MIGHTYMOUSE quirk to swap the center and right mouse buttons, and adds a new quirk HID_QUIRK_INVERT_HWHEEL also assigned to the MIGHTYMOUSE with code in hidinput_hid_event() to implement it. Signed-off-by: NBart Massey <bart@cs.pdx.edu> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 14 3月, 2006 1 次提交
-
-
由 Micah F. Galizia 提交于
This patch makes the "cc/teletext" key emit "KEY_TEXT" event instead of "KEY_SUBTITLE" which is already mapped to "subtitle" button. Signed-off-by: NVojtech Pavlik <vojtech@suse.cz> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-
- 14 1月, 2006 1 次提交
-
-
由 Michael Hanselmann 提交于
This patch implements support for the fn key on Apple PowerBooks using USB based keyboards and makes them behave like their ADB counterparts. Signed-off-by: NMichael Hanselmann <linux-kernel@hansmi.ch> Acked-by: NRene Nussbaumer <linux-kernel@killerfox.forkbomb.ch> Acked-by: NJohannes Berg <johannes@sipsolutions.net> Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: NVojtech Pavlik <vojtech@suse.cz> Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
-