PBBUTTONSD.CONF(5)

NAME
pbbuttonsd.conf - configuration file for pbbuttonsd.

DESCRIPTION
pbbuttonsd.conf tells pbbuttonsd how the user wants it to work and is usually found as /etc/pbbuttons.conf.

The structure is always:

keyword = value [;|# comment]

Empty lines and lines starting with a number-sign (#) will be ignored. They could be used to make the configuration file easily readable and to store comments.

All keywords and options are case insensitive and will internally be converted to lower case. In some cases like pathnames this behavior could be obstructive so quoting will impede it. Quoted strings will be taken as they are.

If the argument contains spaces it has to be enclosed in quotation marks. Both single and double quotation marks are allowed but don't mix them up. For example if you start quoting with a single quotation mark you must also end with one. In this case double quotation marks will also be quoted.

It isn't necessary to define every option or a configfile at all because there are useful default's built into the program.

The config file is optically split up into sections to group options which belong together. The section headlines are corresponding to the pbbuttonsd modules and are simple comments. They are for readers help only. Each module has a config file section. The available options depends on the modules functionality.

KEYCODE DEFINITIONS
Some of the options need key definitions. A key could be defined as follows.

The key definition could have multiple parts. The first is the keycode as it could be found in ..include/linux/input.h. This keycode must be there otherwise the built-in default value will be used.

The other parts are the optional modifiers that could be combined with the keycode to trigger the certain function. The shift, alt and ctrl modifier are supported. They are added to the keycode with a plus-sign (+). The sequence doesn't matter.

EXAMPLE: 225 + shift + ctrl
This means the key 225 has to be pressed together with shift and ctrl to trigger the function.

GENERAL

userallowed = username (default: none)
    Lets talk about security. PBButtonsd accepts messages through the kernel IPC-message protokoll without verification who sent the message. This doesn't seem to be a problem because IPC is only used locally and can't be accessed directly over network. Only those options which could be abused to get root rights were protected and could only be changed by the owner of pbbuttonsd's process.

This didn't satisfy some users so I implemented this option to give those users more control over who should be allowed to send messages to pbbuttonsd. If this option is set only the named user (only one possible at the moment) is allowed to change pbbuttonsd's options via the IPC-interface. Messages from all other users (root included) will be rejected. Query the current configuration is further possible for all users.

To completely disable the possibility to change options via IPC name a user that doesn't exist. In this case no logged-in user is allowed to change options. Setting the option in the config file and 'kill -HUP <process-id>' would then be the only way to change options on the fly then.

autorescan = [yes | no] (default: no)
    PBButtonsd uses the new input layer and its event devices to get input from the keyboards and mice. This devices support all types of input devices also those which can be plugged in or removed during operation. Normally pbbuttonsd scans the event devices once at startup and uses all keyboards found at that time. Some people wanted to be able to plug-in additional keyboards later which wasn't then recognized by pbbuttonsd. This leads to some inconveniences because while using the newly connected keyboard pbbuttonsd acts like on an idle machine.

Because the input layer doesn't support a collecting device for keyboards as it has for mice, its is necessary to scan the event devices to find newly connected keyboards and use them with pbbuttonsd. One way to initiate a scan is to send a HUP signal to the server after a keyboard was connected or removed:

kill -HUP `cat /var/run/pbbuttonsd.pid`

For everybody who change input devices more often and wants to have an automatic scan on an regular time basis, can set this option to 'yes'. Due to the continuous access to the /dev/input/event% device files, spin-down functions of hard disks might be influenced. The side effects of this options weren't not fully explored, so use this option on your own risk.

CmdTimeout = time in seconds (default = 10)
    Pbbuttonsd is able to launch user defined scripts and it uses some external helper utilities. This scripts and utilities were started as separate processes with their own environment independent from pbbuttonsd's. During a helper process is active pbbuttonsd's process is blocked and waits for the child process to end. Without security mechanism this could lead into an knocked out pbbuttonsd due to a hanging script. To prevent such a situation pbbuttonsd has an eye on its child processes and if they consume too much time they will be killed by the parent process.
    It was very difficult in the past to define a correct timeout value because of a huge amount of different scripts written and used by users. With this option the individual timeout value in seconds can be defined. Be careful with high values because an error in your script can block pbbuttonsd for a long time. The minimum value is 1 second. values below this will force a one second timeout.

MODULE POWERSAVE
This module does all the hardware independent power saving stuff.

onAC_Policy = policy (default: performance)
onBattery_Policy = policy (default: powersave)
This options set the power management policies that should become active after power source has changed. following policies were supported:

 'nochange' current policy won't be changed
 'powersave' minimum power consumption
 'custom' user defined
 'performance' maximum system performance

The pmcs script does all actions needed to activate the options according the selected power policy.

onAC_TimerAction = action (default: suspend-to-ram)
onBattery_TimerAction = action (default: suspend-to-ram)
After some time without user action, so called idle time, the timer emits an event. Pbbuttonsd can connect an action to this event that would be executed when this event occours. Four actions are possible (see below). This option can independently configured for AC or battery power source.

none
Nothing will be done. If onXX_TimerAction was set to 'none' the timer event would be ignored.

suspend-to-ram
This action suspends the machine and conserves the memory content in RAM. This mode is also known as 'sleep' and works only if it is supported by the hardware.

suspend-to-disk
This action suspends the machine and save the memory content to hard disk. This mode is controlled by the kernel and is supported since kernel version 2.6. A backport for kernel 2.4 is also available.

This action works a little bit different to suspend-to-ram. If the event suspend-to-ram occours the PMCS script will be executed to perform preliminary jobs. Suspend-to-ram is then triggered by pbbuttonsd.

If the event suspend-to-disk occurs the PMCS script will also be executed but in contrast to suspend-to-ram it has also to initiate suspend mode after all preliminary jobs are done. Pbbuttonsd doesn't expect the script to return.

blankscreen
If this action was configured the screen would be switched off. The computer will continue to run. This could be helpful in some cases where for example the machine must be reachable over a network without anyone working with it directly.

This mode is the fallback action if suspend-to-ram is not supported by the hardware.

Attention: With a switched-off display you might not be able to see that the computer is still running but it continues to consume power. To give you a hint the computer will play a beep every 30 seconds as a reminder.

onAC_CoverAction = action (default: suspend-to-ram)
onBattery_CoverAction = action (default: suspend-to-ram)
This options define the action to perform if cover has been closed or opened. For possible actions and it's description please see onXX_TimerAction. It could independently configured for AC or battery power source.

This options will only work if pbbuttonsd was compiled without pmud support so that pbbuttonsd has control over the cover.

Attention: With a switched-off display you might not be able to see that the computer is still running but it continues to consume power. To give you a hint the computer will play a beep every 30 seconds as a reminder.

onAC_KeyAction = action (default: suspend-to-ram)
onBattery_KeyAction = action (default: suspend-to-ram)
This options define the action to perform after the sleepkey has been triggered. For possible actions and it's decription please see onXX_TimerAction. It could be independently configured for AC and battery power source.

onAC_SuspendTime = value (default: 3000 = 5 minutes)
onBattery_SuspendTime = value (default: 3000 = 5 minutes)
This option sets the idle time in 1/100 seconds after the machine should be put to sleep or the display should be switched off. It could independently controlled for AC or battery power source.

Set this value to 0 to disable sleep when idle.

onAC_DimTime = value (default: 600 = 1 minutes)
onBattery_DimTime = value (default: 600 = 1 minutes)
This option sets the idle time in 1/100 seconds after the display should be dimmed to minimum level. It could independently controlled for AC or battery power source.

Set this value to 0 to disable display dimming. The display brightness won't change automatically and keep its value for unlimited time.

SleepKey = key (default: 116)
    Key to trigger sleep mode or blank the screen, corresponding to the current configuration and the machine's abilities.

SleepKeyDelay = time in milliseconds (default: 0)
    This option sets the delay time used for an additional validity check of the sleep key to prevent unwillingly triggered sleeps due to small keyboards. The key must be pressed for longer than the given time period to trigger sleep. The value must be given in milliseconds, for example to set a delay time of 2 seconds set the delay time to 2000. If the given value is zero, sleep mode would be entered immediately.

This option might be dangerous if the power key is used to trigger sleep mode, because the power key has a second hard-wired meaning. If you press the power key for a long time, the machine will be switched off completely. This is an emergency feature of the Macintosh hardware. Therefore it could be very tricky to press the power key long enough to trigger sleep and release the key just before the hardware switched power off. Use this option with care.

BWL_First = minutes (default: 20)
BWL_Second = minutes (default: 10)
BWL_Last = minutes (default: 3)
This options set the battery warn levels in minutes. If the remaining time on battery falls below one of the above values the appropriate battery warning would be displayed (gtkpbbuttons or something similar must be running to see them).

If the time remaining reaches 'zero' the non-configurable battery warnlevel 4 is entered, which causes the machine to shutdown immediately. The clients will be noticed by a message about the coming shutdown.

Defining new warn levels be aware that you fulfill following conditions:
- BWL_First > BWL_Second > BWM_Last > 0
- the difference of two adjacent warnlevels must be greater than 6 minutes.

Violation of this conditions will result in an error message and fall back to default values.

EmergencyAction = [action] (default: sleep)
    If the battery is critically low the machine have to be set into a safe state. This could be done on different ways. Which way is the right for your system could be configured with this option. There are three actions possible:

sleep - The machine would be forced to sleep mode. This action gives security only for a short period because also in sleep mode the computer consumes power and continue to discharge the battery but slower. This gives you enough time to plug in the AC connector to recharge the battery and go on with your work.
This action could only be chosen if the machine supports sleep mode. If not this action defaults to signal.

signal - A SIGPWR signal would be sent to the INIT process. The further actions depend on your system configuration in /etc/inittab. Please check your installation to be sure the SIGPWR does what you want. Pbbuttonsd won't do anything else to prevent data losses due to battery voltage collapse.
Pbbuttons tried first to send the init process the signal with the new init request through /dev/initctl. If that fails it tried the old method through /etc/powerstatus. If that fails too and the machine supports sleep mode this action defaults to sleep, otherwise it defaults to command.

command - This is the former standard action in case of critically battery power. a command would be executed which usually shut down the computer safely. The script_pmcs (see below) will be called with argument 'emergency' in this case.

HeartbeatBeep = [yes | no] (default: yes)
    Pbbuttonsd can be configured to switch off the display instead of entering sleep mode even though the lid was closed. As configured in such a way the machine only to switch off its display after sleep timeout and continue running on full power. If in this situation also the hard disk spun down, no sign of computer's life would exist anymore and the machine looks like a switched off computer.

This may lead to unexpectedly drained batteries or needlessly long idle runs because the computer looks like already switched-off and you may then forget to switch it off really. Due to pbbuttonsd's smart power management functions nothing harmful can happen to the computer or to your valuable data. So this is a convenience option.

To have always a sign of life from the computer pbbuttonsd will play a beep every roundabout 30 seconds if the computer was still running with switched-off display. Someone will take the risk to get rid of this nice little beep (others called it annoying). For those this option was implemented. It will switch off the heartbeat beep if set to 'no'.

Usual cases when the heartbeat beep will occur are using your PowerBook with closed lid connected to an external keyboard and monitor or access your computer remotely via the network. In the second case the heartbeat beep will first occur with delay of the configured sleep timeout.

Script_PMCS = command (default: none)
    This option sets the script name that should be called at following events: change of power policy, change of power source, change of suspend state and if configured at low battery (emergency). For security reasons this script should only be readable by the user who runs pbbuttonsd (usually root) and not be writable at all.
    Up to three '%s' could be placed in the command string. The first '%s' will be replaced with the action (see etc/power/README for action list), the second with the current powersource ('ac' or 'battery') and the third with an action depending option. (for example the action 'suspend' may get the option 'ram'. This means suspend-to-ram).

CPULoad_sleeplock = [yes | no] (default: no)
    With option enabled high CPU loads prevent the machine from entering sleep mode. Every second the current CPU load will be calculated and compared with a minimum level. Is the current CPU load below this level for a certain period of time the sleep lock will be opened and the machine is allowed to enter sleep mode. Jumps the CPU load over the border line the sleep lock will be closed immediately and the time measurement starts from the beginning.

CPULoad_min = percent (default: 20)
    With this Tag the minimum CPU load level could be set.

CPULoad_period = seconds (default: 20)
    With this option the period of low CPU load time in seconds could be set.

NETLoad_sleeplock = [yes | no] (default: no)
    With option enabled high net loads prevent the machine from entering sleep mode. Every second the current net load will be calculated and compared with a minimum level. Is the transfer rate in bytes per second below this level for a certain period of time the sleep lock will be opened and the machine is allowed to enter sleep mode. Jumps the net load over the border line the sleep lock will be closed immediately and the time measurement starts from the beginning.

NETLoad_min = traffic (default: 4096 Bytes/s)
    With this Tag the minimum transfer rate in bytes per second could be set.

NETLoad_period = seconds (default: 20)
    With this Tag the period of low net load time in seconds could be set.

NETLoad_device = netdevice (default: eth0)
    With this option the network device to observe could be defined. Up to now only one network device could be set and observed.

MODULE DISPLAY
This module controls the light sources inside the laptop. Mostly this is the LCD backlight but recent computers come with an additionally keyboard illumination which is also controlled by this module. The module works hardware independently.

LCD_Brightness = value (default: 12)
    With this option the initial brightness level of the LCD backlight is defined. Every time pbbuttonsd was started this brightness level will be set. Comment this option out if you don't want that.

LCD_FadingSpeed = value (default: 0)
    PBButtonsd is able to dim and recover the display brightness smoothly. Set the value to zero, blending would be disabled. In this case PBButtonsd would work as used to.
    With a value greater than null fading will be activated. The value describes the time between two brightness steps in multiples of 10 milliseconds. A value of '1' is the fastest. Try '3' to '5' for good results.

LCD_AutoAdjust = bool (default: yes)
    Enable automatic LCD brightness adjustment. The brightness of the LCD backlight will be automatically adjusted depending on ambient light.
    This option work only on laptops with an ambient light sensor as for eg. the 17" Aluminum PowerBook from Apple. If such a sensor isn't present this option will be ignored.

LCD_AutoAdjMin_Bat = value (default: 1)
LCD_AutoAdjMax_Bat = value (default: 8)
LCD_AutoAdjMin_AC = value (default: 1)
LCD_AutoAdjMax_AC = value (default: 15)
If automatic brightness adjustment was enabled, this parameters could be used to limit the working range of the automatic regulator depending on the power source active. This could be used to prevent the automatic regulator to drive the display brighter than necessary to save power if running on battery.

LCD_IllumUpKey = key (default: KEY_BRIGHTNESSUP)
    Use alternative key to increase LCD illumination level.
    In conjunction with shift the brightness will be set to maximum level. This second function is statically bound to the modifier shift so that the key definition must not contain shift. It will be ignored, if mentioned.

LCD_IllumDownKey = key (default: KEY_BRIGHTNESSDOWN)
    Use alternative key to decrease LCD illumination level.
    In conjunction with shift the brightness will be set to minimum level. This second function is statically bound to the modifier shift so that the key definition mustn't contain shift. It will be ignored, if mentioned.

KBD_Brightness = value (default: 0)
    With this option the initial brightness level of the keyboard illumination is defined. Every time pbbuttonsd was started this brightness level will be set. Comment this option out if you don't want that.
    This option work only on machines that support keyboard illumination.

KBD_OnBrightness = value (default: 1)
    If you switched on your keyboard illumination with the foreseen on/off key the keyboard illumination would switch to level 1 by default. With this option you could set a different start value.
    This value is only valid during startup because the level will follow all manual and automatic brightness changes during program runtime. So if you set this option to 5 and pressed the keyboard-illumination-up key twice the on/off key would switch beween 7 and 0 because you manually modified the start value. The same happens if the automatic adjustment algorithm changes the keyboard brightness.
    The initial value will only have an effect if automatic keyboard illumination adjustment is disabled.

KBD_FadingSpeed = value (default: 30)
    PBButtonsd is able to dim and recover the keyboard illumination smoothly. Set the value to zero, blending would be disabled.
    With a value greater than null fading will be activated. The value describes the time between two brightness steps in multiples of 10 milliseconds.
    This option work only on machines that support keyboard illumination.

KBD_AutoAdjust = bool (default: yes)
    Enable automatic keyboard brightness adjustment. The brightness of the keyboard illumination will be automatically adjusted depending on ambient light.
    This option work only on laptops with an ambient light sensor as for example the 17" Aluminum PowerBook from Apple. If such a sensor isn't present this option will be ignored. Also support for keyboard illumination is needed.

KBD_IllumUpKey = key (default: KEY_KBDILLUMUP)
    Use alternative key to increase keyboard illumination level.
    In conjunction with shift the brightness will be set to maximum level. This second function is statically bound to the modifier shift so that the key definition must not contain shift. It will be ignored, if mentioned.
    This option work only on machines that support keyboard illumination.

KBD_IllumDownKey = key (default: KEY_KBDILLUMDOWN)
    Use alternative key to decrease keyboard illumination level.
    In conjunction with shift the brightness will be set to minimum level. This second function is statically bound to the modifier shift so that the key definition mustn't contain shift. It will be ignored, if mentioned.
    This option work only on machines that support keyboard illumination.

KBD_IllumOnKey = key (default: KEY_KBDILLUMTOGGLE)
    Use alternative key to switch keyboard illumination on/off. Pbbuttonsd tried to remember the brightness level but on some machines the currently set level can't be evaluated so that the keyboard illumination may start with minimum level.
    This option work only on machines that support keyboard illumination.

dev_framebuffer = device (default: /dev/fb0)
    This option defines the framebuffer device to be used for blanking the screen.

UseFBBlank = [yes | no] (default: yes)
    In the case only the display should be blanked instead of putting the machine into sleep mode, the framebuffer device could switch the whole display off. If you want that set this option to 'yes'. If not only the backlight will be switched off on blank.

DimFullyDark = [yes | no] (default: no)
    Normally the display brightness will be dimmed to the lowest possible value if the machine is idle for some time. This will save a lot of power and keep the user able to loom what happened on the screen.

With this option set to yes the display will be dimmed to fully darkness. This was requested by users who want to use this function as simple screensaver.

Please keep in mind that switching the backlight of a laptop to often will decrease its lifetime so the author of pbbuttons doesn't recommend to use this option. Use it at your own risk.

LCD_Threshold = value (default: 94)
KBD_Threshold = value (default: 28)
If there was an ambient light sensor available keyboard and LCD illumination levels could automatically adjusted. If enabled the automatic adjustment will work if the ambient light falls below a certain threshold. This threshold in percent can be defined with this options independently for LCD backlight and keyboard illumination. The sensors full range is always 100%.
To avoid a negative feedback from the LCD backlight to the ambient light sensors don't set one of this values to 100%.

CRT_MirrorKey = key (default: KEY_F7 + CTRL)
    Set the key to switch the external video output on/off. This will only work if the framebuffer device of the used graphics card support this feature. Pbbuttonsd will only send an IOCTL to the framebuffer like m3mirror from Ben Herrenschmidt does.

MODULE MIXER
This module controls a mixer device.

SoundSystem = name (default: OSS)
    If support for more than one soundsystem is compiled into pbbuttonsd this option decides which one is used. Currently two soundsystems are supported:
     - Open Sound System (OSS) and
     - Advanced Linux Sound Architecture (ALSA).

none mixer control disabled.

auto pbbuttonsd automatically detects the soundsystem to be used. First it will check for ALSA and if it couldn't be found it checks for OSS.

OSS The OSS mixer module will be activated. This will also work for ALSA's OSS emulation mode.

ALSA The native ALSA mixer will be activated.

OSS_Device = devicename (default: /dev/mixer)
    Use an alternative mixer device. This option will be ignored if soundsystem is set to ALSA.

This device is used to control the sound volume or to mute/unmute the sound channels.

OSS_Channels = channels (default: volume)
    This option defines the OSS mixer channels which pbbuttonsd should control. Every combination is valid nevertheless if the combination makes sense or not. Valid channel names are: volume, bass, treble, synth, pcm, speaker, line, mic, cd, imix, altpcm, reclev, igain, ogain, line1, line2, line3, digital1, digital2, digital3, phonein, phoneout, video, radio and monitor.

The first channel in the list is the master, all following are slaves. Only the volume level of the master channel is read back to adjust pbbuttonsd's internal volume reference. Slave channels will be set to master channel's volume on every volume change from pbbuttonsd.

ALSA_Card = cardname (default: "default")
    Use an alternative sound card. This option will be ignored if soundsystem is set to OSS.

This card is used to control the sound volume or to mute/unmute the sound channels or elements as they are called from ALSA.

ALSA_Elements = elements (default: Master)
    This option defines the ALSA mixer elements (ALSA) which pbbuttonsd should control. Every combination is valid nevertheless if the combination makes sense or not. Valid element names for ALSA could be queried from the program amixer.

The first element in the list is the master (not to confuse with the ALSA element 'Master'), all following are slaves. Only the volume level of the master element is read back to adjust pbbuttonsd's internal volume reference. Slave elements will be set to master element's volume on every volume change.

Volume = value (default: 50)
    With this option the initial volume level could be set. Every time pbbuttonsd was started the volume level would be set to this value. Comment this option out if you did't want that.

Speakers_muted = [yes | no] (default: no)
    If set to 'yes' the speakers would be muted at startup.

volumeupkey = key (default: KEY_VOLUMEUP)
    Use alternative key to increase volume.
    In conjunction with shift the volume will be increased by 10. This second function is statically bound to the modifier shift so that the key definition mustn't contain shift. It will be ignored, if mentioned.

volumedownkey = key (default: KEY_VOLUMEDOWN)
    Use alternative key to decrease volume.
    In conjunction with shift the volume will be decreased by 10. This second function is statically bound to the modifier shift so that the key definition mustn't contain shift. It will be ignored, if mentioned.

mutekey = key definition (default: KEY_MUTE)
    Use alternative key to mute/unmute.

mixerinitdelay = [yes | no] (default: no)
    If this option was given, pbbuttonsd wouldn't setup the mixer at startup. That makes it possible to start pbbuttonsd without loaded sound module, which could save battery power on some machines.
    If any time later the sound module was loaded, it would be enough to press a volume hotkey and the mixer control will be initialized and ready to work. If any of the volume hotkeys were pressed without a working sound module, a kernel with the kernel module loader compiled in, would try to load the sound module automatically. If he succeeded, the volume control would work as usual, otherwise pbbuttonsd would try it again next time a volume hotkey is pressed.
    It is also safe to unload the sound module again.

MODULE CDROM
This module controls a CDROM drive.

dev_cdrom = devicename (default: /dev/cdrom)
    Use an alternative cdrom device. The device will be checked but no error would be reported if it did't exist because of a possibly not plugged-in CDROM drive.

ejectcdkey = key (default: KEY_EJECTCD)
    Use alternative key to eject a CDROM.

ejectcdkeydelay = time in milliseconds (default: 0)
    This option sets the delay time used for an additional validity check of the eject key to prevent ejects of the CD by mistake due to small keyboards. The key must be pressed for longer than the given time period to eject the CDROM. The value must be given in milliseconds, for example to set a delay time of 2 seconds set the delay time to 2000. If the given value is zero, the CD-Drive reacts immediatly.

MODULE PMAC
This module contains all the hardware dependent stuff for Apple PowerBooks.

dev_adb = devicename (default: /dev/adb)
    Use an alternative ADB device.
    This device is used to read battery status and some other information. It is also used to control the keyboard and trackpad settings.

dev_pmu = devicename (default: /dev/pmu)
    Use an alternative PMU device.
    This device is used to control sleep mode and the backlight device.

TPModeUpKey = key (default: ALT+KEY_BRIGHTNESSUP)
    Use alternative key to cycle forward through the trackpad operating modes. These modes are: notap, tap, drag, lock. Please see your computer manual to learn what those modes mean and how they work.

TPModeDownKey = key (default: ALT+KEY_BRIGHTNESSDOWN)
    Use alternative key to cycle backward through the trackpad operation modes.

TPMode = trackpad mode (default: none)
    If this option was set, the given trackpad mode will be setup during startup otherwise the current mode won't be changed. Following modes are supported: notap, tap, drag and lock.

NoTapTyping = [yes | no] (default: no)
    Usually the trackpad would stay in it's current mode if the keyboard was used. With this option set the trackpad would be configured in 'notap-mode' as soon as the first key is hit. This will prevent cursor movement through accidently touching the trackpad while typing.

WARNING: It was reported that computers using this option and recent kernels might freeze once and again. The reason is not known yet. Therefore please use this option with care.

This option is only usefull if mouseemu is not running. Mouseemu offer this and some more trackpad related functions. Set this option to 'no', if you have mouseemu running.

KBDMode = keyboard mode (default: none)
    If this option was set, the given keyboard mode will be setup during startup otherwise the current mode won't be changed. Following modes are supported: fkeysfirst and fkeyslast.

batlog = battery log mode (default: none)
    Setting this option to one of the following values activates some sort of battery data logging.

none disable battery data logging

cycle Pbbuttonsd counts the battery cycles so that it would be possible to estimate batteries lifetime. Usually Li-Ion batteries allow 500 charge/discharge cycles.

log Pbbuttonsd writes detailed battery data like current charge, voltage, time remaining, etc. on a regularly time basis to a log file. Also charge/discharge cycles will be counted and displayed. Each charge/discharge cycle gets its own battery log file. This data should allow investigation of a battery ageing. This option includes the cycle option.

SEE ALSO
pbbuttonsd (1)

AUTHOR
Matthias Grimm.