NAME
tpb - program to use the IBM ThinkPad (tm) special keys
SYNOPSIS
tpb [options]
DESCRIPTION
With TPB it is possible to bind a program to the ThinkPad, Mail, Home
and Search button. TPB can also run a callback program on each state
change with the changed state and the new state as options. So it is
possible to trigger several actions on different events. TPB has a
on-screen display (OSD) to show volume, mute, brightness and some other
informations. Furthermore TPB supports a software mixer, as the R
series ThinkPads have no hardware mixer to change the volume.
OPTIONS
-h, --help
Display help.
-d, --daemon
Startup as daemon.
-c, --config=FILE
Read FILE as additional configuration file.
-A, --apm=STATE
Some ThinkPads generate mouse and keyboard events or have a
high CPU load when polling /proc/apm. You may enable this, if
you want the AC connected/AC disconnected messages. Default is
off.
-P, --powermgt=STATE
The program apmiser (part of tpctl package) switches the power
management mode according to the needs of the user. This
results in lots of changes displayed in OSD. To avoid this,
the power management messages can be turned off. Default is
auto.
-x, --xevents=STATE
Some of the special keys generate X11 events instead of
changing the nvram. TPB is able to grab those keys and run an
application. In general events are only grabbed for keys for
which a command is assigned or if the callback script is
configured. However some people like to use the X11 events
through xmodmap or the like. This option turns off the
grabbing of all events regardless if they are configured or
not. Affected keys are HOME, SEARCH, MAIL, FAVORITES, RELOAD,
ABORT, BACKWARD, FORWARD and FN. Default is on.
-m, --mixer=STATE
Use OSS mixer to change volume and for mute/unmute. This
should be use on models with no hardware mixer (volume and mute
buttons show no effect). R31 is reported to have no hardware
mixer. To use this you must enable write access to the NVRAM
device (possibly dangerous). Possible values are on and off.
Default is off.
-o, --osd=STATE
Show on-screen display for volume, mute and brightness.
Possible values are on and off. Default is on.
-p, --poll=DELAY
Set delay between polls in microseconds. Default is 200000.
-t, --thinkpad=CMD
String with command and options that should be executed when
ThinkPad button is pressed. It is possible to execute any
program. The program needs to include the complete path to the
executable. By default no command is executed.
-H, --home=CMD
String with command and options that should be executed when
Home button is pressed. By default no command is executed.
-S, --search=CMD
String with command and options that should be executed when
Search button is pressed. By default no command is executed.
-M, --mail=CMD
String with command and options that should be executed when
Mail button is pressed. By default no command is executed.
-W, --wireless=CMD
String with command and options that should be executed when
Wireless button is pressed. By default no command is executed.
-C, --callback=CMD
String with command and options that should be executed each
button press and state change. tpb passes an identifier as
first argument and the new state as second argument to the
callback. So you can do fancy things :) By default no command
is executed.
-v, --verbose
Print information about pressed keys.
CONFIGURATION FILE
The default values of tpb can be overridden using a configuration file.
The priority of the configuration options is:
· builtin defaults
· configuration in /etc/tpbrc
· configuration in $HOME/.tpbrc
· configuration in file given with ’--config’ command line option
· command line options
tpb searches for the file ’~/.tpbrc’. The configuration consists of
lines of the form:
# COMMENT
KEYWORD ARGUMENT # COMMENT
Keywords are:
NVRAM Should define the nvram device from where the information about
the key states is read. Default is to try /dev/nvram, followed
by /dev/misc/nvram.
POLLTIME
Defines the delay between polls in microseconds. Default is
200000.
THINKPAD
String with command and options that should be executed when
ThinkPad button is pressed. It is possible to execute any
program. By default no command is executed.
HOME String with command and options that should be executed when
Home button is pressed (only available on A and S series). By
default no command is executed.
SEARCH String with command and options that should be executed when
Search button is pressed (only available on A and S series).
By default no command is executed.
MAIL String with command and options that should be executed when
Mail button is pressed(only available on A and S series). By
default no command is executed.
FAVORITES
String with command and options that should be executed when
Favorites button is pressed (only available on A series). By
default no command is executed.
RELOAD String with command and options that should be executed when
Reload button is pressed (only available on A series). By
default no command is executed.
ABORT String with command and options that should be executed when
Abort button is pressed (only available on A series). By
default no command is executed.
BACKWARD
String with command and options that should be executed when
Backward button is pressed (only available on A series). By
default no command is executed.
FORWARD String with command and options that should be executed when
Forward button is pressed (only available on A series). By
default no command is executed.
FN String with command and options that should be executed when Fn
button is pressed. This is only triggered, when Fn is released
again and it was not used for a key combination. By default no
command is executed.
CALLBACK
String with command and options that should be executed each
button press and state change. tpb passes an identifier as
first argument and the new state as second argument to the
callback. So you can do fancy things :) By default no command
is executed. Supported identifiers and states are:
IDENTIFIER STATES/VALUE
thinkpad pressed
home pressed
search pressed
mail pressed
favorites pressed
reload pressed
abort pressed
backward pressed
forward pressed
fn pressed
zoom on, off
thinklight on, off
display lcd, crt, both
expand on, off
brightness PERCENT
volume PERCENT
mute on, off
ac_power connected, disconnected
powermgt_ac high, auto, manual
powermgt_battery high, auto, manual
MIXER Use OSS mixer to change volume and for mute/unmute. This
should be use on models with no hardware mixer (volume and mute
buttons show no effect). R31 is reported to have no hardware
mixer. To use this you must enable write access to the NVRAM
device (possibly dangerous). Possible values are on and off.
Default is off.
MIXERSTEPS
Defines how much steps should be available when using the OSS
mixer. Default is 14. If an other number of steps is used,
tpb needs write access to the nvram device.
MIXERDEV
Defines the mixer device to use for OSS mixer support. Default
is /dev/mixer.
APM Some ThinkPads generate mouse and keyboard events or have a
high CPU load when polling /proc/apm. You may enable this, if
you want the AC connected/AC disconnected messages. Default is
off.
POWERMGT
The program apmiser (part of tpctl package) switches the power
management mode according to the needs of the user. This
results in lots of changes displayed in OSD. To avoid this,
the power management messages can be turned off. Default is
auto.
XEVENTS Some of the special keys generate X11 events instead of
changing the nvram. TPB is able to grab those keys and run an
application. In general events are only grabbed for keys for
which a command is assigned or if the callback script is
configured. However some people like to use the X11 events
through xmodmap or the like. This option turns off the
grabbing of all events regardless if they are configured or
not. Affected keys are HOME, SEARCH, MAIL, FAVORITES, RELOAD,
ABORT, BACKWARD, FORWARD and FN. Default is on.
OSD Show on-screen display for volume, mute and brightness.
Possible values are on and off. Default is on.
OSDZOOM Specific switch for showing on-screen display for zoom button.
Possible values are on and off. Default is unset, follows the
OSD option.
OSDTHINKLIGHT
Specific switch for showing on-screen display for thinklight
button. Possible values are on and off. Default is unset,
follows the OSD option.
OSDDISPLAY
Specific switch for showing on-screen display for display
output button. Possible values are on and off. Default is
unset, follows the OSD option.
OSDHVEXPANSION
Specific switch for showing on-screen display for HV expansion
button. Possible values are on and off. Default is unset,
follows the OSD option.
OSDBRIGHTNESS
Specific switch for showing on-screen display for brightness
buttons. Possible values are on and off. Default is unset,
follows the OSD option.
OSDVOLUME
Specific switch for showing on-screen display for ivolume and
mute buttons. Possible values are on and off. Default is
unset, follows the OSD option.
OSDPOWERMGT
Specific switch for showing on-screen display for ipower
management changes. Possible values are on and off. Default
is unset, follows the OSD option.
OSDFONT Defines the font for the on-screen display. You may use
"xfontsel" to choose one. Default is the default font of the
xosd library.
OSDCOLOR
Defines the color of the on-screen display. You may use
"xcolors" to choose one. Default is BLUE.
OSDTIMEOUT
Defines how long (in seconds) the on-screen display is shown
after the last keys was pressed. Default is 3.
OSDOFFSET
For backward compatibility. Same as OSDVERTICAL.
OSDSHADOW
Defines the offset of the font shadow in pixels. Default is 2.
OSDSHADOWCOLOR
Defines the color of the shadow of the on-screen display. You
may use "xcolors" to choose one. Default is BLACK.
OSDOUTLINE
Defines the width of the font outline in pixels. Default is 1.
OSDOUTLINECOLOR
Defines the color of the outline of the on-screen display. You
may use "xcolors" to choose one. Default is BLACK.
OSDVERTICAL
Defines the offset from the top or bottom of the screen in
pixels. Default is 25.
OSDHORIZONTAL
Defines the offset from the left or right of the screen in
pixels. Only supported by xosd 2.0.0 and above. Default is
25.
OSDPOS Defines where the osd is shown. Possible values are top,
middle and bottom. The value middle is only supported by xosd
2.0.0 and above. Default is bottom.
OSDALIGN
Defines the alignment of the osd. Possible values are left,
center and right. Default is left.
NOTES
Requires NVRAM device /dev/nvram. This must be enabled in your kernel.
Although the device file must exist. The device file could be created
with ´mknod /dev/nvram c 10 144´
This program was developed on a Thinkpad Model T21.
EXAMPLE
tpb --osd=off --verbose --thinkpad="xterm -T ntpctl -e ntpctl"
COPYRIGHT
Copyright 2002-2005, Markus Braun <markus.braun@krawel.de>
Licensed under GNU GPL version 2 or later. This is free software; see
the source for copying conditions. There is NO warranty; not even for
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
AUTHOR
Written by Markus Braun