Merge branch 'thinkpad-2.6.32-part2' into release
This commit is contained in:
commit
2b474ad847
@ -199,18 +199,22 @@ kind to allow it (and it often doesn't!).
|
|||||||
|
|
||||||
Not all bits in the mask can be modified. Not all bits that can be
|
Not all bits in the mask can be modified. Not all bits that can be
|
||||||
modified do anything. Not all hot keys can be individually controlled
|
modified do anything. Not all hot keys can be individually controlled
|
||||||
by the mask. Some models do not support the mask at all, and in those
|
by the mask. Some models do not support the mask at all. The behaviour
|
||||||
models, hot keys cannot be controlled individually. The behaviour of
|
of the mask is, therefore, highly dependent on the ThinkPad model.
|
||||||
the mask is, therefore, highly dependent on the ThinkPad model.
|
|
||||||
|
The driver will filter out any unmasked hotkeys, so even if the firmware
|
||||||
|
doesn't allow disabling an specific hotkey, the driver will not report
|
||||||
|
events for unmasked hotkeys.
|
||||||
|
|
||||||
Note that unmasking some keys prevents their default behavior. For
|
Note that unmasking some keys prevents their default behavior. For
|
||||||
example, if Fn+F5 is unmasked, that key will no longer enable/disable
|
example, if Fn+F5 is unmasked, that key will no longer enable/disable
|
||||||
Bluetooth by itself.
|
Bluetooth by itself in firmware.
|
||||||
|
|
||||||
Note also that not all Fn key combinations are supported through ACPI.
|
Note also that not all Fn key combinations are supported through ACPI
|
||||||
For example, on the X40, the brightness, volume and "Access IBM" buttons
|
depending on the ThinkPad model and firmware version. On those
|
||||||
do not generate ACPI events even with this driver. They *can* be used
|
ThinkPads, it is still possible to support some extra hotkeys by
|
||||||
through the "ThinkPad Buttons" utility, see http://www.nongnu.org/tpb/
|
polling the "CMOS NVRAM" at least 10 times per second. The driver
|
||||||
|
attempts to enables this functionality automatically when required.
|
||||||
|
|
||||||
procfs notes:
|
procfs notes:
|
||||||
|
|
||||||
@ -255,18 +259,11 @@ sysfs notes:
|
|||||||
1: does nothing
|
1: does nothing
|
||||||
|
|
||||||
hotkey_mask:
|
hotkey_mask:
|
||||||
bit mask to enable driver-handling (and depending on
|
bit mask to enable reporting (and depending on
|
||||||
the firmware, ACPI event generation) for each hot key
|
the firmware, ACPI event generation) for each hot key
|
||||||
(see above). Returns the current status of the hot keys
|
(see above). Returns the current status of the hot keys
|
||||||
mask, and allows one to modify it.
|
mask, and allows one to modify it.
|
||||||
|
|
||||||
Note: when NVRAM polling is active, the firmware mask
|
|
||||||
will be different from the value returned by
|
|
||||||
hotkey_mask. The driver will retain enabled bits for
|
|
||||||
hotkeys that are under NVRAM polling even if the
|
|
||||||
firmware refuses them, and will not set these bits on
|
|
||||||
the firmware hot key mask.
|
|
||||||
|
|
||||||
hotkey_all_mask:
|
hotkey_all_mask:
|
||||||
bit mask that should enable event reporting for all
|
bit mask that should enable event reporting for all
|
||||||
supported hot keys, when echoed to hotkey_mask above.
|
supported hot keys, when echoed to hotkey_mask above.
|
||||||
@ -279,7 +276,8 @@ sysfs notes:
|
|||||||
bit mask that should enable event reporting for all
|
bit mask that should enable event reporting for all
|
||||||
supported hot keys, except those which are always
|
supported hot keys, except those which are always
|
||||||
handled by the firmware anyway. Echo it to
|
handled by the firmware anyway. Echo it to
|
||||||
hotkey_mask above, to use.
|
hotkey_mask above, to use. This is the default mask
|
||||||
|
used by the driver.
|
||||||
|
|
||||||
hotkey_source_mask:
|
hotkey_source_mask:
|
||||||
bit mask that selects which hot keys will the driver
|
bit mask that selects which hot keys will the driver
|
||||||
@ -287,9 +285,10 @@ sysfs notes:
|
|||||||
based on the capabilities reported by the ACPI firmware,
|
based on the capabilities reported by the ACPI firmware,
|
||||||
but it can be overridden at runtime.
|
but it can be overridden at runtime.
|
||||||
|
|
||||||
Hot keys whose bits are set in both hotkey_source_mask
|
Hot keys whose bits are set in hotkey_source_mask are
|
||||||
and also on hotkey_mask are polled for in NVRAM. Only a
|
polled for in NVRAM, and reported as hotkey events if
|
||||||
few hot keys are available through CMOS NVRAM polling.
|
enabled in hotkey_mask. Only a few hot keys are
|
||||||
|
available through CMOS NVRAM polling.
|
||||||
|
|
||||||
Warning: when in NVRAM mode, the volume up/down/mute
|
Warning: when in NVRAM mode, the volume up/down/mute
|
||||||
keys are synthesized according to changes in the mixer,
|
keys are synthesized according to changes in the mixer,
|
||||||
@ -525,6 +524,7 @@ compatibility purposes when hotkey_report_mode is set to 1.
|
|||||||
0x2305 System is waking up from suspend to eject bay
|
0x2305 System is waking up from suspend to eject bay
|
||||||
0x2404 System is waking up from hibernation to undock
|
0x2404 System is waking up from hibernation to undock
|
||||||
0x2405 System is waking up from hibernation to eject bay
|
0x2405 System is waking up from hibernation to eject bay
|
||||||
|
0x5010 Brightness level changed/control event
|
||||||
|
|
||||||
The above events are never propagated by the driver.
|
The above events are never propagated by the driver.
|
||||||
|
|
||||||
@ -532,7 +532,6 @@ The above events are never propagated by the driver.
|
|||||||
0x4003 Undocked (see 0x2x04), can sleep again
|
0x4003 Undocked (see 0x2x04), can sleep again
|
||||||
0x500B Tablet pen inserted into its storage bay
|
0x500B Tablet pen inserted into its storage bay
|
||||||
0x500C Tablet pen removed from its storage bay
|
0x500C Tablet pen removed from its storage bay
|
||||||
0x5010 Brightness level changed (newer Lenovo BIOSes)
|
|
||||||
|
|
||||||
The above events are propagated by the driver.
|
The above events are propagated by the driver.
|
||||||
|
|
||||||
@ -621,6 +620,8 @@ For Lenovo models *with* ACPI backlight control:
|
|||||||
2. Do *NOT* load up ACPI video, enable the hotkeys in thinkpad-acpi,
|
2. Do *NOT* load up ACPI video, enable the hotkeys in thinkpad-acpi,
|
||||||
and map them to KEY_BRIGHTNESS_UP and KEY_BRIGHTNESS_DOWN. Process
|
and map them to KEY_BRIGHTNESS_UP and KEY_BRIGHTNESS_DOWN. Process
|
||||||
these keys on userspace somehow (e.g. by calling xbacklight).
|
these keys on userspace somehow (e.g. by calling xbacklight).
|
||||||
|
The driver will do this automatically if it detects that ACPI video
|
||||||
|
has been disabled.
|
||||||
|
|
||||||
|
|
||||||
Bluetooth
|
Bluetooth
|
||||||
@ -1459,3 +1460,8 @@ Sysfs interface changelog:
|
|||||||
0x020400: Marker for 16 LEDs support. Also, LEDs that are known
|
0x020400: Marker for 16 LEDs support. Also, LEDs that are known
|
||||||
to not exist in a given model are not registered with
|
to not exist in a given model are not registered with
|
||||||
the LED sysfs class anymore.
|
the LED sysfs class anymore.
|
||||||
|
|
||||||
|
0x020500: Updated hotkey driver, hotkey_mask is always available
|
||||||
|
and it is always able to disable hot keys. Very old
|
||||||
|
thinkpads are properly supported. hotkey_bios_mask
|
||||||
|
is deprecated and marked for removal.
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user