DESCRIPTION
LinEAK, Linux support for Easy Access and Internet Keyboards, features X11 support, windowmanager independence, ability to configure all keys through GUI or .conf file, volume control and sound controls.This plugin contains macros that can be used in a configuration file that facilitate controlling of volume (through the pcm or standard mixer), cdrom eject, etc. These macros use to be a part of the lineakd daemon. However, since version 0.8 they have been separated out into this plugin. The lineakd daemon no longer implicitly knows about configuration file macros.
lineakd is the daemon that runs in the background of an X session and listens to incoming events from multimedia buttons.
MACROS
The default plugin supports 11 Macros. Since lineakd 0.7 macros can also take one or more arguments.Macro definitions are as follows.
EAK_MUTE, EAK_PCM_MUTE
For the EAK_MUTE, EAK_PCM_MUTE macro. We have three forms that are acceptible.
This is the default and original macro form. In this form you require a directive in your config file in order for the macro to know which mixer device to adjust.
e.g. MixerDevice = /dev/mixer
EAK_MUTE(X)
EAK_PCM_MUTE(X)
Here X is a number. The number is a volume to mute to. Currently this needs revisiting. If the number is too low it will merely change the balance. I suggest a value around 10000. I will fix this later so that it's a relative value from the minimum. In this form you require a directive in your config file in order for the macro to know which mixer device to adjust.
e.g. MixerDevice = /dev/mixer
EAK_MUTE(X,device,X2,device2,X3,device3,...)
EAK_PCM_MUTE(X,device,X2,device2,X3,device3,...)
X is a volume to mute to, and device is a string name of a mixer device (e.g. "/dev/mixer" to mute to. As with the previous macro, you will have to experiment with a good value.
EAK_VOLUP, EAK_PCM_UP, EAK_VOLDOWN, EAK_PCM_DOWN
For the EAK_VOLUP, EAK_PCM_UP and EAK_VOLDOWN, EAK_PCM_DOWN macros. Each have the following three forms.
Increment or decrement the sound by the default amount. In this form you require a directive in your config file such as: MixerDevice = /dev/mixer in order for the macro to know which mixer device to adjust.
EAK_VOLUP(X)
EAK_PCM_UP(X) or EAK_VOLDOWN(X)
EAK_PCM_DOWN(X)
Increment or decrement the sound by X. This value is best used between 1 and 5, and the sound modification code scales the value, unlike the MUTE macro. In this form you require a directive in your config file such as: MixerDevice = /dev/mixer in order for the macro to know which mixer device to adjust.
EAK_VOLUP(X,device,X2,device2,X3,device3,...)
EAK_PCM_UP(X,device,X2,device2,X3,device3,...)
EAK_VOLDOWN(X,device,X2,device2,X3,device3,...)
EAK_PCM_DOWN(X,device,X2,device2,X3,device3,...)
X is the volume to adjust the following device by. Like the previous form of this macro, a value of 1-5 is best.
EAK_OPEN_TRAY, EAK_OPEN_TRAY_SCSI, EAK_CLOSE_TRAY
For the EAK_OPEN_TRAY, EAK_OPEN_TRAY_SCSI and EAK_CLOSE_TRAY macros. There are two forms for each. These are the default macros. It will eject or close the device defined in your config file as: CdromDevice = /dev/cdrom
EAK_OPEN_TRAY(device1,device2,device3,...)
EAK_OPEN_TRAY_SCSI(device1,device2,device3,...)
EAK_CLOSE_TRAY(device1,device2,device3,...)
This macro form allows you to choose the device to eject. You can have a list of one or more devices separated by a comma.
EAK_SLEEP
The EAK_SLEEP macro currently does nothing. In the future I will probably use it to invoke software suspend.
EAK_SCREEN_LOCK
For the EAK_SCREEN_LOCK macro. There is only one form.
EAK_SCREEN_LOCK(X) Where X is either KDE, GNOME or XSCREENSAVER The values GNOME or XSCREENSAVER do the same thing. They invoke the Xscreensaver program to lock the desktop.
EAK_MEDIADETECT(COMMAND)
Valid commands are:
PLAY
STOP
PAUSE
PLAYPAUSE
NEXT
PREVIOUS
See the media-detect.conf file in this source package for detailed configuration information.
EAK_SENDKEYS(<options>)
<options> := <modifers>+<character>
<modifiers> := <modifier>[+<modifier>]
<character> := A single alphanumeric character, (i.e. 0-9 or a-z) or
an arrow key (Right, Left, Up, Down) or other printible character.
<modifier> := A modifier such as shift, control or alt.
For example: "shift+a" or "control+shift+f"
This macro allows you to send events to X. You can send a single character, such as a,b or c, or you can send combinations of keys. If you send key combinations, all of the previous keys must be modifiers such as shift, control or alt. All modifiers must precede the character you wish to send.
More Examples:
To send the '$' key, your options would be:
shift+4
To and alt+tab combination, your options would be:
alt+Tab
To send a capital a 'A', your options would be:
shift+a
FILES
$HOME/.lineak/lineakd.conf$HOME/.lineak/media-detect.conf
Personal configuration file.
AUTHOR
lineakd was written by Sheldon Lee-Wen <[email protected]> and Mark Smulders <[email protected]>. This plugin package is a derivative of code from the lineakd distribution.