linux/drivers
Andrew McNabb 9a402b649d Input: adbhid - produce all CapsLock key events
The ADB keyboard, which is used for Apple PowerBooks, has strange behavior
with regard to the capslock key.  It keeps track of capslock state
internally, and it sends a keycode when capslock is engaged and a keycode
when capslock is disengaged.

When the current adbhid driver sees that the capslock key is pressed or
released, it creates both a keypress event and a keyrelease event
simultaneously.  This results in normal capslock behavior.

While this works, it makes it impossible to remap the capslock key to be a
control key.  However, by translating the 0xff keycode into capslock
keycodes, we can restore the missing capslock events and make it possible
to remap the capslock key.

With this patch, the adbhid driver will translate these 0xff keycodes into
capslock keypresses and keyreleases if
/sys/module/adbhid/parameters/restore_capslock_events is set to 1.
Otherwise it will retain the current behavior.  This option is off by
default because occasionally the 0xff keycode is not a capslock event, and
a mistake may require the user to tap the capslock key.

[akpm@linux-foundation.org: cleanups]
Signed-off-by: Andrew McNabb <amcnabb@mcnabbs.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-10-11 00:49:43 -04:00
..
acorn [PATCH] fix request->cmd == INT cases 2007-07-10 08:03:34 +02:00
acpi PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
amba
ata [libata] sata_mv: use pci_try_set_mwi() 2007-07-17 16:18:00 -04:00
atm drivers/*: mark variables with uninitialized_var() 2007-07-17 16:23:19 -04:00
auxdisplay Use menuconfig objects II - auxdisplay 2007-07-16 09:05:40 -07:00
base dma: make dma pool to use kmalloc_node 2007-07-16 09:05:51 -07:00
block unregister_blkdev(): delete redundant message 2007-07-17 10:23:03 -07:00
bluetooth [Bluetooth] Remove the redundant non-seekable llseek method 2007-07-11 06:53:45 +02:00
cdrom bsg: add a request_queue argument to scsi_cmd_ioctl() 2007-07-16 08:52:45 +02:00
char Input: remove ec3104_keyb driver 2007-09-04 23:46:42 -04:00
clocksource PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
connector Use menuconfig objects: connector 2007-07-16 09:05:40 -07:00
cpufreq [CPUFREQ] Restore previously used governor on a hot-replugged CPU 2007-07-13 01:29:51 -04:00
crypto Use menuconfig objects: crypto hw 2007-07-16 09:05:40 -07:00
dio
dma dma-mapping: prevent dma dependent code from linking on !HAS_DMA archs 2007-07-16 09:05:45 -07:00
edac Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
eisa
fc4
firewire firewire: fw-sbp2: fix DMA mapping of management ORBs 2007-07-10 00:07:49 +02:00
firmware edd: switch to pci_get based API 2007-07-16 09:05:42 -07:00
hid USB: add reset_resume method 2007-07-12 16:34:30 -07:00
hwmon HWMON: ams - convert to use input-polldev 2007-09-26 00:01:41 -04:00
i2c OMAP: add TI TWL92330/Menelaus Power Management chip driver 2007-07-17 10:23:15 -07:00
ide Revert drivers/ide/ide.c scsi_cmd_ioctl() usage changes 2007-07-17 15:57:42 -07:00
ieee1394 Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
infiniband drivers/infiniband/hw/mthca/mthca_qp: kill uninit'd var warning 2007-07-17 16:18:00 -04:00
input Input: ALPS - add signature for ThinkPad R61 2007-10-11 00:49:19 -04:00
isdn [ISDN] HiSax hfc_pci: minor cleanups 2007-07-17 17:26:24 -04:00
kvm KVM: Use CPU_DYING for disabling virtualization 2007-07-16 12:05:51 +03:00
leds
macintosh Input: adbhid - produce all CapsLock key events 2007-10-11 00:49:43 -04:00
mca
md md: change bitmap_unplug and others to void functions 2007-07-17 10:23:15 -07:00
media Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
message i2o debug output cleanup 2007-07-17 10:23:06 -07:00
mfd Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
misc IBMASM: must depend on CONFIG_INPUT 2007-07-17 10:23:04 -07:00
mmc Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
mtd drivers/*: mark variables with uninitialized_var() 2007-07-17 16:23:19 -04:00
net drivers/*: mark variables with uninitialized_var() 2007-07-17 16:23:19 -04:00
nubus
oprofile
parisc hppb: Add missing dma-mapping.h include 2007-07-17 13:53:29 -07:00
parport parport_pc: it887x fix 2007-07-16 09:05:50 -07:00
pci Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-07-16 17:58:08 -07:00
pcmcia powerpc: 8xx: fix whitespace and indentation 2007-07-17 10:23:02 -07:00
pnp Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
power Merge git://git.infradead.org/battery-2.6 2007-07-15 16:56:12 -07:00
ps3
rapidio sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes 2007-07-11 16:09:09 -07:00
rtc OMAP: add TI TWL92330/Menelaus Power Management chip driver 2007-07-17 10:23:15 -07:00
s390 Make the "z/VM unit record device driver" depend on S390 2007-07-17 15:43:56 -07:00
sbus unregister_blkdev() delete redundant messages in callers 2007-07-17 10:23:03 -07:00
scsi Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
serial sb1250-duart.c: SB1250 DUART serial support 2007-07-17 10:23:03 -07:00
sh
sn
spi use mutex instead of semaphore in SPI core/init code 2007-07-17 10:23:05 -07:00
tc [MIPS] DEC: Fix modpost warning. 2007-07-12 17:41:07 +01:00
telephony drivers/telephony/ixj: cleanup and fix gcc warning 2007-07-17 16:18:00 -04:00
usb drivers/*: mark variables with uninitialized_var() 2007-07-17 16:23:19 -04:00
video drivers/*: mark variables with uninitialized_var() 2007-07-17 16:23:19 -04:00
w1 Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
zorro sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes 2007-07-11 16:09:09 -07:00
Kconfig Merge git://git.infradead.org/~dwmw2/battery-2.6 2007-07-10 14:47:59 -07:00
Makefile [BATTERY] Universal power supply class (was: battery class) 2007-07-10 11:25:44 +01:00