linux/drivers/input/keyboard
Todd Broch 017f14e88b Input: cros_ec_keyb - optimize ghosting algorithm
Previous algorithm was a bit conservative and complicating with respect to
identifying key ghosting.  This CL uses the bitops hamming weight function
(hweight8) to count the number of matching rows for colM & colN.  If that
number is > 1 ghosting is present.

Additionally it removes NULL keys and our one virtual keypress KEY_BATTERY
from consideration as these inputs are never physical keypresses.

Signed-off-by: Todd Broch <tbroch@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Luigi Semenzato <semenzato@chromium.org>
Tested-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-09-03 17:07:05 -07:00
..
adp5520-keys.c Input: adp5520-keys - switch to using managed resources 2014-05-28 23:49:10 -07:00
adp5588-keys.c Input: adp5588-keys - get value from data out when dir is out 2014-02-15 13:13:17 -08:00
adp5589-keys.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
amikbd.c Input: amikbd - remove redundant platform_set_drvdata() 2013-05-08 09:04:30 -07:00
atakbd.c input/atari: Fix atarimouse init 2011-05-19 18:19:11 +02:00
atkbd.c Input: atkbd - fix keyboard not working on some LG laptops 2014-04-24 23:32:33 -07:00
bf54x-keys.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
cap1106.c Input: cap1106 - allow changing key mapping from userspace 2014-08-08 09:17:22 -07:00
clps711x-keypad.c Input: clps711x-keypad - make of_device_id array const 2014-05-14 16:39:52 -07:00
cros_ec_keyb.c Input: cros_ec_keyb - optimize ghosting algorithm 2014-09-03 17:07:05 -07:00
davinci_keyscan.c Input: use dev_get_platdata() 2013-12-06 02:06:29 -08:00
ep93xx_keypad.c Input: use dev_get_platdata() 2013-12-06 02:06:29 -08:00
goldfish_events.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
gpio_keys_polled.c Input: gpio_keys_polled - convert to devm-* API 2014-05-14 16:40:04 -07:00
gpio_keys.c Input: gpio_keys - more conversions to devm-* API 2014-05-14 16:40:02 -07:00
hil_kbd.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
hilkbd.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
hpps2atkbd.h
imx_keypad.c Input: imx_keypad - remove ifdef round PM methods 2014-07-31 11:59:34 -07:00
jornada680_kbd.c Input: jornada680_kbd - switch top using managed resources 2014-05-28 23:49:11 -07:00
jornada720_kbd.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
Kconfig Linux 3.16-rc6 2014-07-24 12:36:56 -07:00
lkkbd.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
lm8323.c input: lm8323: fix attribute-creation race 2014-06-27 13:43:45 -07:00
lm8333.c Input: use dev_get_platdata() 2013-12-06 02:06:29 -08:00
locomokbd.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
lpc32xx-keys.c Input: lpc32xx-keys - remove redundant of_match_ptr 2013-10-06 01:22:24 -07:00
Makefile Input: add driver for Microchip's CAP1106 2014-07-18 10:53:29 -07:00
maple_keyb.c
matrix_keypad.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
max7359_keypad.c Input: max7359 - introduce the use of managed interfaces 2014-07-20 13:17:00 -07:00
mcs_touchkey.c Input: mcs_touchkey - fix incorrect input device name 2014-05-28 23:48:02 -07:00
mpr121_touchkey.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
newtonkbd.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
nomadik-ske-keypad.c Input: use dev_get_platdata() 2013-12-06 02:06:29 -08:00
nspire-keypad.c Input: nspire-keypad - add missing clk_disable_unprepare() on error path 2013-10-15 23:42:11 -07:00
omap4-keypad.c Input: omap-keypad - remove platform data support 2014-05-29 00:33:32 -07:00
omap-keypad.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
opencores-kbd.c Input: opencores-kbd - remove redundant platform_set_drvdata() 2013-05-08 09:04:52 -07:00
pmic8xxx-keypad.c Input: pmic8xxx-keypad - migrate to DT 2014-03-30 13:25:19 -07:00
pxa27x_keypad.c Input: pxa27x-keypad - fix generating scancode 2014-05-13 23:12:44 -07:00
pxa930_rotary.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
qt1070.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
qt2160.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
samsung-keypad.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
sh_keysc.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
spear-keyboard.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
st-keyscan.c Input: st-keyscan - fix 'defined but not used' compiler warnings 2014-07-18 10:18:55 -07:00
stmpe-keypad.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
stowaway.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
sunkbd.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
tc3589x-keypad.c Input: tc3589x-keypad - support probing from device tree 2014-05-14 16:39:44 -07:00
tca6416-keypad.c Input: use dev_get_platdata() 2013-12-06 02:06:29 -08:00
tca8418_keypad.c Input: tca8418 - fix loading this driver as a module from a device tree 2014-04-24 23:53:14 -07:00
tegra-kbc.c Input: tegra-kbc - use reset framework 2013-12-11 16:44:41 -07:00
twl4030_keypad.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
w90p910_keypad.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
xtkbd.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00