linux/drivers/macintosh
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
..
Kconfig Input: auto-select INPUT for MAC_EMUMOUSEBTN option 2007-09-26 00:01:50 -04:00
Makefile [POWERPC] Xserve cpu-meter driver 2006-12-04 20:39:30 +11:00
adb-iop.c [PATCH] m68k pt_regs fixes 2006-10-07 10:51:14 -07:00
adb.c adb_probe_task: remove unneeded flush_signals() call 2007-07-16 09:05:50 -07:00
adbhid.c Input: adbhid - produce all CapsLock key events 2007-10-11 00:49:43 -04:00
ans-lcd.c [POWERPC] Remove old interface find_devices 2007-04-24 22:09:02 +10:00
apm_emu.c [POWERPC] apm_emu: Use generic apm-emulation 2007-05-02 16:42:19 +10:00
mac_hid.c [POWERPC] drivers/macintosh/mac_hid.c: Make code static 2007-05-02 16:41:36 +10:00
macio-adb.c [POWERPC] Remove find_compatible_devices 2007-04-24 22:08:57 +10:00
macio_asic.c [POWERPC] Rename get_property to of_get_property: partial drivers 2007-04-27 15:51:56 +10:00
macio_sysfs.c [POWERPC] macintosh: Use common modalias generation for macio_sysfs 2007-05-07 20:31:15 +10:00
mediabay.c ide: add "initializing" argument to ide_register_hw() 2007-05-10 00:01:10 +02:00
nvram.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
rack-meter.c [POWERPC] Rename get_property to of_get_property: partial drivers 2007-04-27 15:51:56 +10:00
smu.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
therm_adt746x.c Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
therm_pm72.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
therm_pm72.h [POWERPC] Xserve G5 thermal control fixes 2006-07-28 10:42:49 +10:00
therm_windtunnel.c i2c: Make i2c_del_driver a void function 2007-05-01 23:26:32 +02:00
via-cuda.c CUDA ADB fixes 2007-05-04 17:59:07 -07:00
via-macii.c m68k: Mac II ADB fixes 2007-05-04 17:59:07 -07:00
via-maciisi.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
via-pmu-backlight.c backlight: Separate backlight properties from backlight ops pointers 2007-02-20 09:26:53 +00:00
via-pmu-event.c Input: via-pmu - add input device support 2006-06-26 01:49:55 -04:00
via-pmu-event.h Input: via-pmu - add input device support 2006-06-26 01:49:55 -04:00
via-pmu-led.c [POWERPC] via-pmu: remove LED sleep notifier 2007-05-08 11:54:19 +10:00
via-pmu.c [POWERPC] via-pmu: remove LED sleep notifier 2007-05-08 11:54:19 +10:00
via-pmu68k.c m68k: pmu_queue_request() declaration conflict 2007-05-04 17:59:06 -07:00
windfarm.h [PATCH] powerpc: Thermal control for dual core G5s 2006-02-07 22:05:14 -08:00
windfarm_core.c Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
windfarm_cpufreq_clamp.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
windfarm_lm75_sensor.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
windfarm_max6690_sensor.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
windfarm_pid.c [PATCH] windfarm license fix 2006-03-06 18:40:45 -08:00
windfarm_pid.h [PATCH] powerpc: Thermal control for dual core G5s 2006-02-07 22:05:14 -08:00
windfarm_pm81.c [PATCH] powerpc: windfarm shall request it's sub modules 2006-11-15 19:57:12 -08:00
windfarm_pm91.c [PATCH] powerpc: windfarm shall request it's sub modules 2006-11-15 19:57:12 -08:00
windfarm_pm112.c [PATCH] powerpc: windfarm shall request it's sub modules 2006-11-15 19:57:12 -08:00
windfarm_smu_controls.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
windfarm_smu_sat.c i2c: Fix the i2c_smbus_read_i2c_block_data() prototype 2007-07-12 14:12:29 +02:00
windfarm_smu_sensors.c [POWERPC] Rename get_property to of_get_property: partial drivers 2007-04-27 15:51:56 +10:00