linux/drivers/input
Mauro Carvalho Chehab 8613e4c287 Input: add support for large scancodes
Several devices use a high number of bits for scancodes. One important
group is the Remote Controllers. Some new protocols like RC-6 define a
scancode space of 64 bits.

The current EVIO[CS]GKEYCODE ioctls allow replace the scancode/keycode
translation tables, but it is limited to up to 32 bits for scancode.

Also, if userspace wants to clean the existing table, replacing it by
a new one, it needs to run a loop calling the ioctls over the entire
sparse scancode space.

To solve those problems, this patch extends the ioctls to allow drivers
handle scancodes up to 32 bytes long (the length could be extended in
the future should such need arise) and allow userspace to query and set
scancode to keycode mappings not only by scancode but also by index.

Compatibility code were also added to handle the old format of
EVIO[CS]GKEYCODE ioctls.

Folded fixes by:
- Dan Carpenter: locking fixes for the original implementation
- Jarod Wilson: fix crash when setting keycode and wiring up get/set
                handlers in original implementation.
- Dmitry Torokhov: rework to consolidate old and new scancode handling,
                   provide options to act either by index or scancode.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-09 22:00:50 -07:00
..
gameport Merge commit 'v2.6.34-rc6' into core/locking 2010-05-03 09:17:01 +02:00
joystick Input: fix faulty XXinput_* calls 2010-08-13 12:03:24 -07:00
keyboard Input: add support for OMAP4 keyboard controller 2010-08-31 18:07:54 -07:00
misc Input: add support for PowerOn button on the AB8500 MFD 2010-09-05 12:19:10 -07:00
mouse param: use ops in struct kernel_param, rather than get and set fns directly 2010-08-11 23:04:13 +09:30
serio Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 2010-08-12 09:11:31 -07:00
tablet Input: wacom - add a quirk for low resolution Bamboo devices 2010-09-05 12:58:22 -07:00
touchscreen Input: cy8ctmg110 - add fuzz to ABS_X and ABS_Y to remove jitter 2010-09-06 12:49:54 -07:00
apm-power.c Input: apm-power - fix crash when unloading modules 2008-03-24 11:02:06 -04:00
evbug.c Input: struct device - replace bus_id with dev_name(), dev_set_name() 2008-10-30 09:29:05 -04:00
evdev.c Input: add support for large scancodes 2010-09-09 22:00:50 -07:00
ff-core.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ff-memless.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
fixp-arith.h
input-compat.c Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
input-compat.h [IA64] Remove COMPAT_IA32 support 2010-02-08 10:42:17 -08:00
input-polldev.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
input.c Input: add support for large scancodes 2010-09-09 22:00:50 -07:00
joydev.c Input: switch to input_abs_*() access functions 2010-08-02 20:29:56 -07:00
Kconfig Merge branch 'xen/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen 2009-12-10 09:34:40 -08:00
Makefile Input: add generic support for sparse keymaps 2009-12-07 09:26:35 -08:00
mousedev.c Input: mousedev - fix regression of inverting axes 2010-08-25 07:50:44 -07:00
sparse-keymap.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2010-04-15 11:49:55 -07:00
xen-kbdfront.c x86: early PV on HVM features initialization. 2010-07-22 16:45:35 -07:00