File: pbbuttonsd.conf.5

package info (click to toggle)
pbbuttonsd 0.6.6-3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 2,044 kB
  • ctags: 2,163
  • sloc: ansic: 15,476; sh: 4,517; makefile: 551; yacc: 288; sed: 16
file content (767 lines) | stat: -rw-r--r-- 32,812 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
.\"                              hey, Emacs:   -*- nroff -*-
.\" pbbuttons is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; see the file COPYING.  If not, write to
.\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.\"
.TH PBBUTTONSD.CONF 5 "February 25, 2004"
.\" Please update the above date whenever this man page is modified.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins (default)
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
pbbuttonsd.conf \- configuration file for pbbuttonsd.

.SH DESCRIPTION
\fBpbbuttonsd.conf\fP tells pbbuttonsd how the user wants it to work and is
usually found as /etc/pbbuttons.conf.
.PP
The structure is always:
.PP
\fBkeyword\fR = \fIvalue\fR  [;|# comment]
.PP
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.
.PP
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.
.PP
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.
.PP
It isn't necessary to define every option or a configfile at all
because there are useful default's built into the program.
.PP
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.

.SH KEYCODE DEFINITIONS
Some of the options need \fBkey\fP definitions. A \fBkey\fP could be
defined as follows.
.PP
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.
.PP
The other parts are the optional modifiers that could be combined with the
keycode to trigger the certain function. The \fIshift\fR, \fIalt\fR and
\fIctrl\fR modifier are supported. They are added to the keycode with a
plus-sign (+). The sequence doesn't matter.
.PP
.ad l
.in +9
.ti -9
EXAMPLE: 225 + shift + ctrl
.br
This means the key 225 has to be pressed together with \fIshift\fR and
\fIctrl\fR to trigger the function.
.ad b

.SH GENERAL
.TP
\fBuserallowed\fR = \fIusername\fR (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.
.PP
.in +7
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.
.PP
.in +7
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.
.TP
\fBautorescan\fR = \fI[yes | no]\fR (default: no)
\fBPBButtonsd\fP 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 \fBpbbuttonsd\fP 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 \fBpbbuttonsd\fP. This leads to some inconveniences because
while using the newly connected keyboard \fBpbbuttonsd\fP acts like on an
idle machine.
.PP
.in +7
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 \fBpbbuttonsd\fP. One way to
initiate a scan is to send a HUP signal to the server after a keyboard
was connected or removed:
.PP
.in +7
.ad c
kill \-HUP `cat /var/run/pbbuttonsd.pid`
.PP
.in +7
.ad b
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. 
.TP
\fBCmdTimeout\fR = \fItime in seconds\fR (default = 10)
\fBPbbuttonsd\fR 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 \fBpbbuttonsd\fR's. During a helper process is active 
\fBpbbuttonsd\fR's process is blocked and waits for the child process
to end. Without security mechanism this could lead into an knocked out
\fBpbbuttonsd\fR due to a hanging script. To prevent such a situation
\fBpbbuttonsd\fR has an eye on its child processes and if they consume
too much time they will be killed by the parent process.
.br
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
\fBpbbuttonsd\fR for a long time. The minimum value is 1 second. values
below this will force a one second timeout.

.SH MODULE POWERSAVE
This module does all the hardware independent power saving stuff.
.PP
\fBonAC_Policy\fR = \fIpolicy\fR (default: performance)
.br
\fBonBattery_Policy\fR = \fIpolicy\fR (default: powersave)
.in +7
This options set the power management policies that should become
active after power source has changed. following policies were supported:
.PP
.in +9
 'nochange'    current policy won't be changed
.br
 'powersave'   minimum power consumption
.br
 'custom'      user defined
.br
 'performance' maximum system performance
.PP
.in +7
The pmcs script does all actions needed to activate the options
according the selected power policy.
.PP
\fBonAC_TimerAction\fR = \fIaction\fR (default: suspend-to-ram)
.br
\fBonBattery_TimerAction\fR = \fIaction\fR (default: suspend-to-ram)
.in +7
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.
.PP
.in +7
\fInone\fR
.br
Nothing will be done. If onXX_TimerAction was set to 'none' the
timer event would be ignored.
.PP
.in +7
\fIsuspend-to-ram\fR 
.br
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.
.PP
.in +7
\fIsuspend-to-disk\fR
.br
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.
.PP
.in +7
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.
.PP
.in +7
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.
.PP
.in +7
\fIblankscreen\fR
.br
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.
.PP
.in +7
This mode is the fallback action if suspend-to-ram is not supported by
the hardware.
.PP
.in +7
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.
.PP
\fBonAC_CoverAction\fR = \fIaction\fR (default: suspend-to-ram)
.br
\fBonBattery_CoverAction\fR = \fIaction\fR (default: suspend-to-ram)
.br
.in +7
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.
.PP
.in +7
This options will only work if \fBpbbuttonsd\fP was compiled without pmud
support so that \fBpbbuttonsd\fP has control over the cover.
.PP
.in +7
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.
.PP
\fBonAC_KeyAction\fR = \fIaction\fR (default: suspend-to-ram)
.br
\fBonBattery_KeyAction\fR = \fIaction\fR (default: suspend-to-ram)
.br
.in +7
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.
.PP
\fBonAC_SuspendTime\fR = \fIvalue\fR (default: 3000 = 5 minutes)
.br
\fBonBattery_SuspendTime\fR = \fIvalue\fR (default: 3000 = 5 minutes)
.br
.in +7
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.
.PP
.in +7
Set this value to 0 to disable sleep when idle.
.PP
\fBonAC_DimTime\fR = \fIvalue\fR (default: 600 = 1 minutes)
.br
\fBonBattery_DimTime\fR = \fIvalue\fR (default: 600 = 1 minutes)
.br
.in +7
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.
.PP
.in +7
Set this value to 0 to disable display dimming. The display brightness won't
change automatically and keep its value for unlimited time.
.TP
\fBSleepKey\fR = \fIkey\fR (default: 116)
Key to trigger sleep mode or blank the screen, corresponding to the
current configuration and the machine's abilities.
.TP
\fBSleepKeyDelay\fR = \fItime in milliseconds\fR (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.
.PP
.in +7
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.
.PP
\fBBWL_First\fR = \fIminutes\fR (default: 20)
.br
\fBBWL_Second\fR = \fIminutes\fR (default: 10)
.br
\fBBWL_Last\fR = \fIminutes\fR (default: 3)
.br
.in +7
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).
.PP
.in +7
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.
.PP
.in +7
Defining new warn levels be aware that you fulfill following conditions:
.ad l
.in +2
.ti -2
\- BWL_First > BWL_Second > BWM_Last > 0
.ti -2
\- the difference of two adjacent warnlevels must be greater than 6 minutes.
.ad b
.PP
.in +7
Violation of this conditions will result in an error message and fall back to 
default values.
.TP
\fBEmergencyAction\fR = \fI[action]\fR (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:
.PP
.in +7
\fIsleep\fR - 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. 
.br
This action could only be chosen if the machine supports sleep mode. If not
this action defaults to \fIsignal\fR.
.PP
.in +7
\fIsignal\fR - 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.
.br
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 \fIsleep\fR, otherwise it defaults to \fIcommand\fR.
.PP
.in +7
\fIcommand\fR - 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 \fIscript_pmcs\fR (see below) will be called with argument 'emergency' in
this case.
.TP
\fBHeartbeatBeep\fR = \fI[yes | no]\fR (default: yes)
\fBPbbuttonsd\fR 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.
.PP
.in +7
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 \fBpbbuttonsd\fR's smart power management
functions nothing harmful can happen to the computer or to your valuable data.
So this is a convenience option.
.PP
.in +7
To have always a sign of life from the computer \fBpbbuttonsd\fR 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'.
.PP
.in +7
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.
.TP
\fBScript_PMCS\fR = \fIcommand\fR (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.
.br
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).
.TP
\fBCPULoad_sleeplock\fR = \fI[yes | no]\fR (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.
.TP
\fBCPULoad_min\fR = \fIpercent\fR (default: 20)
With this Tag the minimum CPU load level could be set.
.TP
\fBCPULoad_period\fR = \fIseconds\fR (default: 20)
With this option the period of low CPU load time in seconds could be set.
.TP
\fBNETLoad_sleeplock\fR = \fI[yes | no]\fR (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.
.TP
\fBNETLoad_min\fR = \fItraffic\fR (default: 4096 Bytes/s)
With this Tag the minimum transfer rate in bytes per second could be set.
.TP
\fBNETLoad_period\fR = \fIseconds\fR (default: 20)
With this Tag the period of low net load time in seconds could be set.
.TP
\fBNETLoad_device\fR = \fInetdevice\fR (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.

.SH 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.
.TP
\fBLCD_Brightness\fR = \fIvalue\fR (default: 12)
With this option the initial brightness level of the LCD backlight
is defined. Every time \fBpbbuttonsd\fP was started this brightness
level will be set. Comment this option out if you don't want that.
.TP
\fBLCD_FadingSpeed\fR = \fIvalue\fR (default: 0)
\fBPBButtonsd\fP is able to dim and recover the display brightness
smoothly. Set the value to zero, blending would be disabled. In this
case \fBPBButtonsd\fP would work as used to.
.br
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.
.TP
\fBLCD_AutoAdjust\fR = \fIbool\fR (default: yes)
Enable automatic LCD brightness adjustment. The brightness of
the LCD backlight will be automatically adjusted depending on
ambient light.
.br
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.
.PP
\fBLCD_AutoAdjMin_Bat\fR = \fIvalue\fR (default:  1)
.br
\fBLCD_AutoAdjMax_Bat\fR = \fIvalue\fR (default:  8)
.br
\fBLCD_AutoAdjMin_AC\fR  = \fIvalue\fR (default:  1)
.br
\fBLCD_AutoAdjMax_AC\fR  = \fIvalue\fR (default: 15)
.br
.in +7
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.
.TP
\fBLCD_IllumUpKey\fR = \fIkey\fR (default: KEY_BRIGHTNESSUP)
Use alternative key to increase LCD illumination level.
.br
In conjunction with \fIshift\fR the brightness will be set to maximum
level. This second function is statically bound to the modifier
\fIshift\fR so that the key definition must not contain \fIshift\fR.
It will be ignored, if mentioned.
.TP
\fBLCD_IllumDownKey\fR = \fIkey\fR (default: KEY_BRIGHTNESSDOWN)
Use alternative key to decrease LCD illumination level.
.br
In conjunction with \fIshift\fR the brightness will be set to minimum
level. This second function is statically bound to the modifier
\fIshift\fR so that the key definition mustn't contain \fIshift\fR.
It will be ignored, if mentioned.
.TP
\fBKBD_Brightness\fR = \fIvalue\fR (default: 0)
With this option the initial brightness level of the keyboard
illumination is defined. Every time \fBpbbuttonsd\fP was started this
brightness level will be set. Comment this option out if you don't
want that.
.br
This option work only on machines that support keyboard illumination.
.TP
\fBKBD_OnBrightness\fR = \fIvalue\fR (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.
.br
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.
.br
The initial value will only have an effect if automatic keyboard
illumination adjustment is disabled.
.TP
\fBKBD_FadingSpeed\fR = \fIvalue\fR (default: 30)
\fBPBButtonsd\fP is able to dim and recover the keyboard illumination
smoothly. Set the value to zero, blending would be disabled.
.br
With a value greater than null fading will be activated. The value
describes the time between two brightness steps in multiples of
10 milliseconds.
.br
This option work only on machines that support keyboard illumination.
.TP
\fBKBD_AutoAdjust\fR = \fIbool\fR (default: yes)
Enable automatic keyboard brightness adjustment. The brightness of
the keyboard illumination will be automatically adjusted depending on
ambient light.
.br
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.
.TP
\fBKBD_IllumUpKey\fR = \fIkey\fR (default: KEY_KBDILLUMUP)
Use alternative key to increase keyboard illumination level.
.br
In conjunction with \fIshift\fR the brightness will be set to maximum
level. This second function is statically bound to the modifier
\fIshift\fR so that the key definition must not contain \fIshift\fR.
It will be ignored, if mentioned.
.br
This option work only on machines that support keyboard illumination.
.TP
\fBKBD_IllumDownKey\fR = \fIkey\fR (default: KEY_KBDILLUMDOWN)
Use alternative key to decrease keyboard illumination level.
.br
In conjunction with \fIshift\fR the brightness will be set to minimum
level. This second function is statically bound to the modifier
\fIshift\fR so that the key definition mustn't contain \fIshift\fR.
It will be ignored, if mentioned.
.br
This option work only on machines that support keyboard illumination.
.TP
\fBKBD_IllumOnKey\fR = \fIkey\fR (default: KEY_KBDILLUMTOGGLE)
Use alternative key to switch keyboard illumination on/off. \fBPbbuttonsd\fR
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.
.br
This option work only on machines that support keyboard illumination.
.TP
\fBdev_framebuffer\fR = \fIdevice\fR (default: /dev/fb0)
This option defines the framebuffer device to be used for blanking the
screen.
.TP
\fBUseFBBlank\fR = \fI[yes | no]\fR (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.
.TP
\fBDimFullyDark\fR = \fI[yes | no]\fR (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.
.PP
.in +7
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.
.PP
.in +7
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.
.PP
\fBLCD_Threshold\fR = \fIvalue\fR (default: 94)
.br
\fBKBD_Threshold\fR = \fIvalue\fR (default: 28)
.in +7
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%.
.br
To avoid a negative feedback from the LCD backlight to the ambient
light sensors don't set one of this values to 100%.

.SH MODULE OSSMIXER
This module controls a OSS compatible mixer.
.TP
\fBdev_mixer\fR = \fIdevicename\fR (default: /dev/mixer)
Use an alternative mixer device.
.br
This device is used to control the sound volume or to mute/unmute
the sound channels.
.TP
\fBMixerChannels\fR = \flchannels\fR (default: volume)
This option sets a comma separated list of mixer channels which the
ossmixer module should control. Every channel supported by the OSS
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.
.br
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.
.TP
\fBVolume\fR = \fIvalue\fR (default: 50)
With this option the initial volume level could be set. Every time
\fBpbbuttonsd\fP was started the volume level would be set to this
value. Comment this option out if you did't want that.
.TP
\fBSpeakers_muted\fR = \fI[yes | no]\fR (default: no)
If set to 'yes' the speakers would be muted at startup.
.TP
\fBvolumeupkey\fR = \fIkey\fR (default: KEY_VOLUMEUP)
Use alternative key to increase volume.
.br
In conjunction with \fIshift\fR the volume will be increased by 10.
This second function is statically bound to the modifier \fIshift\fR so
that the key definition mustn't contain \fIshift\fR. It will be ignored, if
mentioned.
.TP
\fBvolumedownkey\fR = \fIkey\fR (default: KEY_VOLUMEDOWN)
Use alternative key to decrease volume.
.br
In conjunction with \fIshift\fR the volume will be decreased by 10.
This second function is statically bound to the modifier \fIshift\fR so
that the key definition mustn't contain \fIshift\fR. It will be ignored, if
mentioned.
.TP
\fBmutekey\fR = \fIkey definition\fR (default: KEY_MUTE)
Use alternative key to mute/unmute.
.TP
\fBmixerinitdelay\fR = \fI[yes | no]\fR (default: no)
If this option was given, \fBpbbuttonsd\fP wouldn't setup the mixer at
startup. That makes it possible to start \fBpbbuttonsd\fP without loaded
sound module, which could save battery power on some machines.
.br
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 \fBpbbuttonsd\fP would try it again next time a volume
hotkey is pressed.
.br
It is also safe to unload the sound module again.

.SH MODULE CDROM
This module controls a CDROM drive.
.TP
\fBdev_cdrom\fR = \fIdevicename\fR (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.
.TP
\fBejectcdkey\fR = \fIkey\fR (default: KEY_EJECTCD)
Use alternative key to eject a CDROM.
.TP
\fBejectcdkeydelay\fR = \fItime in milliseconds\fR (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.

.SH MODULE PMAC
This module contains all the hardware dependent stuff for Apple PowerBooks.
.TP
\fBdev_adb\fR = \fIdevicename\fR (default: /dev/adb)
Use an alternative ADB device.
.br
This device is used to read battery status and some other information.
It is also used to control the keyboard and trackpad settings.
.TP
\fBdev_pmu\fR = \fIdevicename\fR (default: /dev/pmu)
Use an alternative PMU device.
.br
This device is used to control sleep mode and the backlight device.
.TP
\fBtpmodeupkey\fR = \fIkey\fR (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.
.TP
\fBtpmodedownkey\fR = \fIkey\fR (default: ALT+KEY_BRIGHTNESSDOWN)
Use alternative key to cycle backward through the trackpad operation modes.
.TP
\fBtpmode\fR = \fItrackpad mode\fR (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.
.TP
\fBkbdmode\fR = \fIkeyboard mode\fR (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.
.TP
\fBbatlog\fR = \fIbattery log mode\fR (default: none)
Setting this option to one of the following values activates some sort of
battery data logging.
.PP
.ad l
.in +13
.ti -6
\fBnone\fR  disable battery data logging
.PP
.in +13
.ti -6
\fBcycle\fR Pbbuttonsd counts the battery cycles so that it would be possible
to estimate batteries lifetime. Usually Li-Ion batteries allow 500
charge/discharge cycles.
.PP
.in +13
.ti -6
\fBlog\fR   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 \fBcycle\fR
option.

.SH "SEE ALSO"
pbbuttonsd (1)

.SH AUTHOR
Matthias Grimm.