ThinkPad Button
System Boot
Pressing Access IBM or ThinkVantage at system boot can launch the Predesktop Area. This depends on a specific setting of the BIOS Setup Utility and on the availability of either a Hidden Protected Area or a Rescue and Recovery partition. See the linked pages for details.
Access IBM Utility Application
After booting to Windows in an IBM ThinkPad, the button typically launches the Access IBM application. The later IBM ThinkPad models rely upon Access IBM utility software instead of providing a hard copy user manual. As quoted from IBM: "Access IBM is the comprehensive, on-board help and information center for your computer. It travels with you, eliminating the need to carry reference manuals. It is your guide to a host of information and tools."
Later releases of Access IBM require Adobe Flash player. Unfortunately, Flash v.10 incorporates security enhancements which are incompatible with Access IBM. Flash player v.9.0.280 is the last version which supports the Access IBM application. It may be obtained by performing a general web search for the phrase "archived flash player." For variants of Windows NT 5.x (including 2000, XP, and Server 2003) install flashplayer9r280_winax.exe, which is the Internet Explorer plugin. Following that, the latest version of Flash player may be installed as a Firefox plugin, and both versions will coexist without interfering with eachother.
Linux support
Using HAL
Recent Linux distributions like Fedora 10 and Ubuntu 8.10 use HAL to manage input devices.
HAL will map the ThinkPad button to either 'vendor' or 'prog1', depending on the version of the hal-info config files.
Older versions mapped it to 'vendor' because that is the most logical choice. However the 'vendor' button keycode is out of range for Xorg, which made it impossible to have Xorg respond to the keypress (this limitation should be fixed with Xorg 1.6). As such the mapping was changed to 'prog1' (XF86Launch1 under X) instead in later versions of the config files.
The config file responsible for this is /usr/share/hal/fdi/information/10freedesktop/30-keymap-module-thinkpad-acpi.fdi and you can view the mapping with lshal.
If you wish to do your own mapping, you can override the system mapping files by creating your own in /etc/hal/fdi.
You can also run xev from Xorg to check if Xorg recognises the button when pressed. If Xorg recognises the button it can be configured in gnome with gnome-keybinding-properties.
Using tpb
Under Linux, the IBM ThinkPad(tm) special keys can be enabled using tpb.
I.e., to make pressing the Access IBM Button launch ntpctl, add the following line /etc/tpbrc file:
THINKPAD /usr/bin/X11/xterm -T ntpctl -e ntpctl
To make pressing the Access IBM Button launch the ThinkWiki homepage in Firefox, add the following line:
THINKPAD /usr/bin/firefox http://www.thinkwiki.org
See the tpb page and the ThinkPad special keys HOWTO for more information.
Using KDE
KDE supports assigning actions to (some) ThinkPad special keys, through the ThinkPad buttons KMilo plugin.
It can be activated and configured in the KDE Control Center (kcontrol), under System Administration --> IBM Thinkpad Laptop.
Using xbindkeys on Ubuntu
On Ubuntu (at least 7.04/Feisty) tpb
is not really an option, because it conflicts with hotkey-setup
, which is responsible for much things working out of the box.
An alternative is to use xbindkeys
, which can easily be installed with aptitude install xbindkeys
or via the Synaptic package manager. It can be used to assign arbitrary commands to certain keycodes. Therefore, we first have to find this keycode by running xbindkeys --key
and pressing the ThinkPad Button. This should result in something like the following:
sean@amalthea ~ $ xbindkeys --key Press combination of keys or/and click under the window. You can use one of the two lines after "NoCommand" in $HOME/.xbindkeysrc to bind a key. "NoCommand" m:0x0 + c:159 NoSymbol
Now we can construct a minimal configuration file in ~/.xbindkeysrc
:
"gnome-terminal" m:0x0 + c:159
After starting xbindkeys
without further options the ThinkPad Button should launch a new terminal.
To start the program automatically at login add it under "System -> Preferences -> Sessions -> Startup Programs" (assuming the Gnome Desktop is used, otherwise add it to your ~/.xinitrc
, ~/.xsession
or whatever is responsible for startup items in your setting).
Using Gnome
A simpler but less flexible possibility than xbindkeys
is "System -> Preferences -> Keyboard Shortcuts". Just go to (for example) "Run a terminal" and press the ThinkPad Button, when asked for a "New accelerator...". This will only work under the Gnome Desktop. Using custom commands for this is a little harder, see this tutorial.
TODO: add the name the key is mapped to (if it is always the same). For now you can use the above method (for a normal shortcut) first, then look what the name of the key is and then copy it to the special command keyboard shortcut.
Windows support
If you want to customize the program that is launched when the ThinkPad, Access IBM or ThinkVantage button is pressed while the machine is running Windows (2000/XP/Vista/7) you can change the following registry entry:
HKEY_LOCAL_MACHINE\SOFTWARE\IBM\TPHOTKEY\8001
Here are the default values for the original IBM version:
[HKEY_LOCAL_MACHINE\SOFTWARE\IBM\TPHOTKEY\8001] "File"="C:\\Program Files\\IBM\\Access IBM\\aibm.exe" "DispName"="Access IBM"
And these are the default values for the Lenovo version:
[HKEY_LOCAL_MACHINE\SOFTWARE\IBM\TPHOTKEY\8001] "File"="C:\\PROGRA~1\\THINKV~1\\PrdCtr\\LPL1.exe"
To avoid conflicts, be sure to enter the file paths as DOS truncated (first six characters, then "~1")
See Also
Related Links
- Python script for Windows to control ThinkPad features that also allows querying of the ThinkPad button
- IBM's Access IBM ThinkVantage Technology page
- Access IBM - Customization Guide
Models featuring this technology
"ThinkPad" button
- i Series 1210, i Series 1230, i Series 1250, i Series 1260, i Series 1300, i Series 1330, i Series 1370, i Series 1620, i Series 1800
- 130
- A20m, A20p, A21e, A21m, A21p, A22e, A22m, A22p, A30, A30p, A31, A31p
- T20, T21, T22, T23, T30
- X20, X21, X22, X23, X24, X30
- R30, R31, R32
- S30, S31
- TransNote
"Access IBM" button
- T40, T40p, T41, T41p, T42, T42p, T43, T43p
- X31, X32, X40, X41, X41 Tablet
- R40, R40e, R50, R50e, R50p, R51, R51e, R52
- G40, G41, G50
"ThinkVantage" button
- W500, W510, W520, W530, W700, W700ds, W701, W701ds
- T60, T60p, T61, T61p, T400, T400s, T410, T410i, T410s, T410si, T420, T420i, T420s, T420si, T430, T430i, T430s, T430si, T500, T510, T510i, T520, T520i, T530, T530i
- X1, X60, X60s, X60 Tablet, X61, X61s, X61 Tablet, X200, X200s, X200 Tablet, X201, X201i, X201s, X201 Tablet, X220, X220i, X220 Tablet, X300, X301
- R60, R60i, R60e, R61, R61i, R61e, R400, R500
- SL410, SL510
- L410, L412, L420, L421, L510, L512, L520
- G50
- Z60m, Z60t, Z61e, Z61m, Z61p, Z61t
"Black" button
- W530
- T430, T430i, T430s, T430si, T530, T530i
- X1 Carbon, X230, X230i, X230 Tablet, X230i Tablet
- L430, L530
"Lenovo Care" button
- Windows
- I1210
- I1230
- I1250
- I1260
- I1300
- I1330
- I1370
- I1620
- I1800
- 130
- A20m
- A20p
- A21e
- A21m
- A21p
- A22e
- A22m
- A22p
- A30
- A30p
- A31
- A31p
- T20
- T21
- T22
- T23
- T30
- X20
- X21
- X22
- X23
- X24
- X30
- R30
- R31
- R32
- S30
- S31
- TransNote
- T40
- T40p
- T41
- T41p
- T42
- T42p
- T43
- T43p
- X31
- X32
- X40
- X41
- X41 Tablet
- R40
- R40e
- R50
- R50e
- R50p
- R51
- R51e
- R52
- G40
- G41
- G50
- W500
- W510
- W520
- W530
- W700
- W700ds
- W701
- W701ds
- T60
- T60p
- T61
- T61p
- T400
- T400s
- T410
- T410i
- T410s
- T410si
- T420
- T420i
- T420s
- T420si
- T430
- T430i
- T430s
- T430si
- T500
- T510
- T510i
- T520
- T520i
- T530
- T530i
- X1
- X60
- X60s
- X60 Tablet
- X61
- X61s
- X61 Tablet
- X200
- X200s
- X200 Tablet
- X201
- X201i
- X201s
- X201 Tablet
- X220
- X220i
- X220 Tablet
- X300
- X301
- R60
- R60i
- R60e
- R61
- R61i
- R61e
- R400
- R500
- SL410
- SL510
- L410
- L412
- L420
- L421
- L510
- L512
- L520
- Z60m
- Z60t
- Z61e
- Z61m
- Z61p
- Z61t
- X1 Carbon
- X230
- X230i
- X230 Tablet
- X230i Tablet
- L430
- L530
- SL300
- SL400
- SL400c
- SL500
- SL500c
- Glossary
- ThinkPad Technologies