diff options
-rw-r--r-- | Documentation/laptops/thinkpad-acpi.txt | 48 |
1 files changed, 27 insertions, 21 deletions
diff --git a/Documentation/laptops/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt index 0ae5708ea0ad..91f688c30185 100644 --- a/Documentation/laptops/thinkpad-acpi.txt +++ b/Documentation/laptops/thinkpad-acpi.txt | |||
@@ -160,7 +160,7 @@ Hot keys | |||
160 | procfs: /proc/acpi/ibm/hotkey | 160 | procfs: /proc/acpi/ibm/hotkey |
161 | sysfs device attribute: hotkey_* | 161 | sysfs device attribute: hotkey_* |
162 | 162 | ||
163 | In a ThinkPad, the ACPI HKEY handler is responsible for comunicating | 163 | In a ThinkPad, the ACPI HKEY handler is responsible for communicating |
164 | some important events and also keyboard hot key presses to the operating | 164 | some important events and also keyboard hot key presses to the operating |
165 | system. Enabling the hotkey functionality of thinkpad-acpi signals the | 165 | system. Enabling the hotkey functionality of thinkpad-acpi signals the |
166 | firmware that such a driver is present, and modifies how the ThinkPad | 166 | firmware that such a driver is present, and modifies how the ThinkPad |
@@ -193,7 +193,7 @@ Not all bits in the mask can be modified. Not all bits that can be | |||
193 | modified do anything. Not all hot keys can be individually controlled | 193 | modified do anything. Not all hot keys can be individually controlled |
194 | by the mask. Some models do not support the mask at all, and in those | 194 | by the mask. Some models do not support the mask at all, and in those |
195 | models, hot keys cannot be controlled individually. The behaviour of | 195 | models, hot keys cannot be controlled individually. The behaviour of |
196 | the mask is, therefore, higly dependent on the ThinkPad model. | 196 | the mask is, therefore, highly dependent on the ThinkPad model. |
197 | 197 | ||
198 | Note that unmasking some keys prevents their default behavior. For | 198 | Note that unmasking some keys prevents their default behavior. For |
199 | example, if Fn+F5 is unmasked, that key will no longer enable/disable | 199 | example, if Fn+F5 is unmasked, that key will no longer enable/disable |
@@ -288,7 +288,7 @@ sysfs notes: | |||
288 | in ACPI event mode, volume up/down/mute are reported as | 288 | in ACPI event mode, volume up/down/mute are reported as |
289 | separate events, but this behaviour may be corrected in | 289 | separate events, but this behaviour may be corrected in |
290 | future releases of this driver, in which case the | 290 | future releases of this driver, in which case the |
291 | ThinkPad volume mixer user interface semanthics will be | 291 | ThinkPad volume mixer user interface semantics will be |
292 | enforced. | 292 | enforced. |
293 | 293 | ||
294 | hotkey_poll_freq: | 294 | hotkey_poll_freq: |
@@ -308,7 +308,7 @@ sysfs notes: | |||
308 | hotkey_radio_sw: | 308 | hotkey_radio_sw: |
309 | if the ThinkPad has a hardware radio switch, this | 309 | if the ThinkPad has a hardware radio switch, this |
310 | attribute will read 0 if the switch is in the "radios | 310 | attribute will read 0 if the switch is in the "radios |
311 | disabled" postition, and 1 if the switch is in the | 311 | disabled" position, and 1 if the switch is in the |
312 | "radios enabled" position. | 312 | "radios enabled" position. |
313 | 313 | ||
314 | This attribute has poll()/select() support. | 314 | This attribute has poll()/select() support. |
@@ -339,7 +339,7 @@ sysfs notes: | |||
339 | wakeup_hotunplug_complete: | 339 | wakeup_hotunplug_complete: |
340 | Set to 1 if the system was waken up because of an | 340 | Set to 1 if the system was waken up because of an |
341 | undock or bay ejection request, and that request | 341 | undock or bay ejection request, and that request |
342 | was sucessfully completed. At this point, it might | 342 | was successfully completed. At this point, it might |
343 | be useful to send the system back to sleep, at the | 343 | be useful to send the system back to sleep, at the |
344 | user's choice. Refer to HKEY events 0x4003 and | 344 | user's choice. Refer to HKEY events 0x4003 and |
345 | 0x3003, below. | 345 | 0x3003, below. |
@@ -392,7 +392,7 @@ event code Key Notes | |||
392 | Lenovo: battery | 392 | Lenovo: battery |
393 | 393 | ||
394 | 0x1004 0x03 FN+F4 Sleep button (ACPI sleep button | 394 | 0x1004 0x03 FN+F4 Sleep button (ACPI sleep button |
395 | semanthics, i.e. sleep-to-RAM). | 395 | semantics, i.e. sleep-to-RAM). |
396 | It is always generate some kind | 396 | It is always generate some kind |
397 | of event, either the hot key | 397 | of event, either the hot key |
398 | event or a ACPI sleep button | 398 | event or a ACPI sleep button |
@@ -403,12 +403,12 @@ event code Key Notes | |||
403 | time passes. | 403 | time passes. |
404 | 404 | ||
405 | 0x1005 0x04 FN+F5 Radio. Enables/disables | 405 | 0x1005 0x04 FN+F5 Radio. Enables/disables |
406 | the internal BlueTooth hardware | 406 | the internal Bluetooth hardware |
407 | and W-WAN card if left in control | 407 | and W-WAN card if left in control |
408 | of the firmware. Does not affect | 408 | of the firmware. Does not affect |
409 | the WLAN card. | 409 | the WLAN card. |
410 | Should be used to turn on/off all | 410 | Should be used to turn on/off all |
411 | radios (bluetooth+W-WAN+WLAN), | 411 | radios (Bluetooth+W-WAN+WLAN), |
412 | really. | 412 | really. |
413 | 413 | ||
414 | 0x1006 0x05 FN+F6 - | 414 | 0x1006 0x05 FN+F6 - |
@@ -417,7 +417,7 @@ event code Key Notes | |||
417 | Do you feel lucky today? | 417 | Do you feel lucky today? |
418 | 418 | ||
419 | 0x1008 0x07 FN+F8 IBM: toggle screen expand | 419 | 0x1008 0x07 FN+F8 IBM: toggle screen expand |
420 | Lenovo: configure ultranav | 420 | Lenovo: configure UltraNav |
421 | 421 | ||
422 | 0x1009 0x08 FN+F9 - | 422 | 0x1009 0x08 FN+F9 - |
423 | .. .. .. | 423 | .. .. .. |
@@ -447,7 +447,7 @@ event code Key Notes | |||
447 | 0x1011 0x10 FN+END Brightness down. See brightness | 447 | 0x1011 0x10 FN+END Brightness down. See brightness |
448 | up for details. | 448 | up for details. |
449 | 449 | ||
450 | 0x1012 0x11 FN+PGUP Thinklight toggle. This key is | 450 | 0x1012 0x11 FN+PGUP ThinkLight toggle. This key is |
451 | always handled by the firmware, | 451 | always handled by the firmware, |
452 | even when unmasked. | 452 | even when unmasked. |
453 | 453 | ||
@@ -469,7 +469,7 @@ event code Key Notes | |||
469 | key is always handled by the | 469 | key is always handled by the |
470 | firmware, even when unmasked. | 470 | firmware, even when unmasked. |
471 | 471 | ||
472 | 0x1018 0x17 THINKPAD Thinkpad/Access IBM/Lenovo key | 472 | 0x1018 0x17 THINKPAD ThinkPad/Access IBM/Lenovo key |
473 | 473 | ||
474 | 0x1019 0x18 unknown | 474 | 0x1019 0x18 unknown |
475 | .. .. .. | 475 | .. .. .. |
@@ -488,6 +488,12 @@ If a key is mapped to KEY_UNKNOWN, it generates an input event that | |||
488 | includes an scan code. If a key is mapped to anything else, it will | 488 | includes an scan code. If a key is mapped to anything else, it will |
489 | generate input device EV_KEY events. | 489 | generate input device EV_KEY events. |
490 | 490 | ||
491 | In addition to the EV_KEY events, thinkpad-acpi may also issue EV_SW | ||
492 | events for switches: | ||
493 | |||
494 | SW_RADIO T60 and later hardare rfkill rocker switch | ||
495 | SW_TABLET_MODE Tablet ThinkPads HKEY events 0x5009 and 0x500A | ||
496 | |||
491 | Non hot-key ACPI HKEY event map: | 497 | Non hot-key ACPI HKEY event map: |
492 | 0x5001 Lid closed | 498 | 0x5001 Lid closed |
493 | 0x5002 Lid opened | 499 | 0x5002 Lid opened |
@@ -507,7 +513,7 @@ The above events are never propagated by the driver. | |||
507 | 513 | ||
508 | 0x3003 Bay ejection (see 0x2x05) complete, can sleep again | 514 | 0x3003 Bay ejection (see 0x2x05) complete, can sleep again |
509 | 0x4003 Undocked (see 0x2x04), can sleep again | 515 | 0x4003 Undocked (see 0x2x04), can sleep again |
510 | 0x500B Tablet pen insterted into its storage bay | 516 | 0x500B Tablet pen inserted into its storage bay |
511 | 0x500C Tablet pen removed from its storage bay | 517 | 0x500C Tablet pen removed from its storage bay |
512 | 0x5010 Brightness level changed (newer Lenovo BIOSes) | 518 | 0x5010 Brightness level changed (newer Lenovo BIOSes) |
513 | 519 | ||
@@ -539,7 +545,7 @@ sysfs (it is read-only). | |||
539 | If the hotkey_report_mode module parameter is set to 1 or 2, it cannot | 545 | If the hotkey_report_mode module parameter is set to 1 or 2, it cannot |
540 | be changed later through sysfs (any writes will return -EPERM to signal | 546 | be changed later through sysfs (any writes will return -EPERM to signal |
541 | that hotkey_report_mode was locked. On 2.6.23 and later, where | 547 | that hotkey_report_mode was locked. On 2.6.23 and later, where |
542 | hotkey_report_mode cannot be changed at all, writes will return -EACES). | 548 | hotkey_report_mode cannot be changed at all, writes will return -EACCES). |
543 | 549 | ||
544 | hotkey_report_mode set to 1 makes the driver export through the procfs | 550 | hotkey_report_mode set to 1 makes the driver export through the procfs |
545 | ACPI event interface all hot key presses (which are *also* sent to the | 551 | ACPI event interface all hot key presses (which are *also* sent to the |
@@ -584,7 +590,7 @@ Sysfs notes: | |||
584 | 0: disables Bluetooth / Bluetooth is disabled | 590 | 0: disables Bluetooth / Bluetooth is disabled |
585 | 1: enables Bluetooth / Bluetooth is enabled. | 591 | 1: enables Bluetooth / Bluetooth is enabled. |
586 | 592 | ||
587 | Note: this interface will be probably be superseeded by the | 593 | Note: this interface will be probably be superseded by the |
588 | generic rfkill class, so it is NOT to be considered stable yet. | 594 | generic rfkill class, so it is NOT to be considered stable yet. |
589 | 595 | ||
590 | Video output control -- /proc/acpi/ibm/video | 596 | Video output control -- /proc/acpi/ibm/video |
@@ -791,12 +797,12 @@ on the X40 (tpb is the ThinkPad Buttons utility): | |||
791 | 1 - Related to "Volume up" key press | 797 | 1 - Related to "Volume up" key press |
792 | 2 - Related to "Mute on" key press | 798 | 2 - Related to "Mute on" key press |
793 | 3 - Related to "Access IBM" key press | 799 | 3 - Related to "Access IBM" key press |
794 | 4 - Related to "LCD brightness up" key pess | 800 | 4 - Related to "LCD brightness up" key press |
795 | 5 - Related to "LCD brightness down" key press | 801 | 5 - Related to "LCD brightness down" key press |
796 | 11 - Related to "toggle screen expansion" key press/function | 802 | 11 - Related to "toggle screen expansion" key press/function |
797 | 12 - Related to "ThinkLight on" | 803 | 12 - Related to "ThinkLight on" |
798 | 13 - Related to "ThinkLight off" | 804 | 13 - Related to "ThinkLight off" |
799 | 14 - Related to "ThinkLight" key press (toggle thinklight) | 805 | 14 - Related to "ThinkLight" key press (toggle ThinkLight) |
800 | 806 | ||
801 | The cmos command interface is prone to firmware split-brain problems, as | 807 | The cmos command interface is prone to firmware split-brain problems, as |
802 | in newer ThinkPads it is just a compatibility layer. Do not use it, it is | 808 | in newer ThinkPads it is just a compatibility layer. Do not use it, it is |
@@ -1024,7 +1030,7 @@ There are two interfaces to the firmware for direct brightness control, | |||
1024 | EC and CMOS. To select which one should be used, use the | 1030 | EC and CMOS. To select which one should be used, use the |
1025 | brightness_mode module parameter: brightness_mode=1 selects EC mode, | 1031 | brightness_mode module parameter: brightness_mode=1 selects EC mode, |
1026 | brightness_mode=2 selects CMOS mode, brightness_mode=3 selects both EC | 1032 | brightness_mode=2 selects CMOS mode, brightness_mode=3 selects both EC |
1027 | and CMOS. The driver tries to autodetect which interface to use. | 1033 | and CMOS. The driver tries to auto-detect which interface to use. |
1028 | 1034 | ||
1029 | When display backlight brightness controls are available through the | 1035 | When display backlight brightness controls are available through the |
1030 | standard ACPI interface, it is best to use it instead of this direct | 1036 | standard ACPI interface, it is best to use it instead of this direct |
@@ -1266,8 +1272,8 @@ experimental=1 parameter when loading the module. | |||
1266 | This feature shows the presence and current state of a W-WAN (Sierra | 1272 | This feature shows the presence and current state of a W-WAN (Sierra |
1267 | Wireless EV-DO) device. | 1273 | Wireless EV-DO) device. |
1268 | 1274 | ||
1269 | It was tested on a Lenovo Thinkpad X60. It should probably work on other | 1275 | It was tested on a Lenovo ThinkPad X60. It should probably work on other |
1270 | Thinkpad models which come with this module installed. | 1276 | ThinkPad models which come with this module installed. |
1271 | 1277 | ||
1272 | Procfs notes: | 1278 | Procfs notes: |
1273 | 1279 | ||
@@ -1286,7 +1292,7 @@ Sysfs notes: | |||
1286 | 0: disables WWAN card / WWAN card is disabled | 1292 | 0: disables WWAN card / WWAN card is disabled |
1287 | 1: enables WWAN card / WWAN card is enabled. | 1293 | 1: enables WWAN card / WWAN card is enabled. |
1288 | 1294 | ||
1289 | Note: this interface will be probably be superseeded by the | 1295 | Note: this interface will be probably be superseded by the |
1290 | generic rfkill class, so it is NOT to be considered stable yet. | 1296 | generic rfkill class, so it is NOT to be considered stable yet. |
1291 | 1297 | ||
1292 | Multiple Commands, Module Parameters | 1298 | Multiple Commands, Module Parameters |
@@ -1356,7 +1362,7 @@ Sysfs interface changelog: | |||
1356 | NVRAM is compiled out by the user because it is | 1362 | NVRAM is compiled out by the user because it is |
1357 | unneeded/undesired in the first place). | 1363 | unneeded/undesired in the first place). |
1358 | 0x020101: Marker for thinkpad-acpi with hot key NVRAM polling | 1364 | 0x020101: Marker for thinkpad-acpi with hot key NVRAM polling |
1359 | and proper hotkey_mask semanthics (version 8 of the | 1365 | and proper hotkey_mask semantics (version 8 of the |
1360 | NVRAM polling patch). Some development snapshots of | 1366 | NVRAM polling patch). Some development snapshots of |
1361 | 0.18 had an earlier version that did strange things | 1367 | 0.18 had an earlier version that did strange things |
1362 | to hotkey_mask. | 1368 | to hotkey_mask. |