Currently we're not including all the HID drivers that support
keyboards.  Further, there are occasional regressions when a keyboard
that was previously handled by the generic code gets a specialised
drivers that's not on our list.

Instead of trying to list all the HID driver modules, include the
whole drivers/hid tree and exclude specific modules that we know don't
support keyboards.

Signed-off-by: Ben Hutchings <b...@decadent.org.uk>
Closes: #697619
---
For linux-image-3.2.0-4-amd64, this includes:

hid hid-apple hid-belkin hid-cherry hid-chicony hid-ezkey hid-hyperv
hid-keytouch hid-logitech hid-logitech-dj hid-microsoft hid-monterey
hid-ortek hid-primax hid-prodikeys hid-roccat hid-roccat-arvo
hid-roccat-common hid-samsung hid-sjoy hid-sunplus hid-topseed usbhid

For linux-image-3.8-trunk-amd64, this includes:

hid hid-apple hid-aureal hid-belkin hid-cherry hid-chicony hid-ezkey
hid-generic hid-holtek-kbd hid-hyperv hid-keytouch hid-lenovo-tpkbd
hid-logitech hid-logitech-dj hid-microsoft hid-monterey hid-ortek
hid-primax hid-prodikeys hid-roccat hid-roccat-arvo hid-roccat-common
hid-roccat-isku hid-roccat-lua hid-roccat-savu hid-samsung hid-sjoy
hid-sunplus hid-topseed usbhid

I believe this change is needed for wheezy.

Ben.

 hook-functions |   20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/hook-functions b/hook-functions
index 354d24f..f090256 100644
--- a/hook-functions
+++ b/hook-functions
@@ -424,13 +424,27 @@ auto_add_modules()
                base)
                        modules="$modules ehci-pci ehci-hcd ohci-hcd uhci-hcd 
usbhid"
                        modules="$modules xhci xhci-hcd"
-                       modules="$modules hid-apple hid-cherry hid-generic"
-                       modules="$modules hid-logitech hid-logitech-dj"
-                       modules="$modules hid-microsoft hid-sunplus"
                        modules="$modules btrfs ext2 ext3 ext4 ext4dev "
                        modules="$modules isofs jfs reiserfs udf xfs"
                        modules="$modules nfs nfsv2 nfsv3 nfsv4"
                        modules="$modules af_packet atkbd i8042 virtio_pci"
+
+                       # Include all HID drivers unless we're sure they
+                       # don't support keyboards.  hid-*ff covers various
+                       # game controllers with force feedback.
+                       copy_modules_dir kernel/drivers/hid \
+                               'hid-*ff.ko' hid-a4tech.ko hid-cypress.ko \
+                               hid-dr.ko hid-elecom.ko hid-gyration.ko \
+                               hid-icade.ko hid-kensington.ko hid-kye.ko \
+                               hid-lcpower.ko hid-magicmouse.ko \
+                               hid-multitouch.ko hid-ntrig.ko \
+                               hid-petalynx.ko hid-picolcd.ko hid-pl.ko \
+                               hid-ps3remote.ko hid-quanta.ko \
+                               'hid-roccat-ko*.ko' hid-roccat-pyra.ko \
+                               hid-saitek.ko hid-sensor-hub.ko hid-sony.ko \
+                               hid-speedlink.ko hid-tivo.ko hid-twinhan.ko \
+                               hid-uclogic.ko hid-wacom.ko hid-waltop.ko \
+                               hid-wiimote.ko hid-zydacron.ko
                ;;
                net)
                        copy_modules_dir kernel/drivers/net \


Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to