---
name: "lineak_defaultplugin"
section: "1"
platform: "linux"
package: "lineak-defaultplugin"
version: "1:0.9-6"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/lineak_defaultplugin"
---

# lineak\_defaultplugin(1)

Macro plugin for the lineakd daemon

## NAME

lineak\_defaultplugin - Macro plugin for the lineakd daemon

## 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.

- For the EAK\_MUTE, EAK\_PCM\_MUTE macro. We have three forms that are acceptible.

  ### EAK\_MUTE, EAK\_PCM\_MUTE

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.

- For the EAK\_VOLUP, EAK\_PCM\_UP and EAK\_VOLDOWN, EAK\_PCM\_DOWN macros. Each have the following three forms.

  ### EAK\_VOLUP, EAK\_PCM\_UP, EAK\_VOLDOWN, EAK\_PCM\_DOWN

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.

- For the EAK\_OPEN\_TRAY, EAK\_OPEN\_TRAY\_SCSI and EAK\_CLOSE\_TRAY macros. There are two forms for each.

  ### EAK\_OPEN\_TRAY, EAK\_OPEN\_TRAY\_SCSI, EAK\_CLOSE\_TRAY

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.

- The EAK\_SLEEP macro currently does nothing. In the future I will probably use it to invoke software suspend.

  ### EAK\_SLEEP

- For the EAK\_SCREEN\_LOCK macro. There is only one form.

  ### EAK\_SCREEN\_LOCK

**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.

- This macro allows you to use the media detect plugin to run one of the supported commands. This plugins requires that you have a configuration file in your ~/.lineak directory called media-detect.conf

  ### 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.

- \<options\> := \<modifers\>+\<character\>

  ### EAK\_SENDKEYS("\<options\>")

   \<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.

## SEE ALSO

[lineakd(1)](/lineakd/1.md), [lineak\_kdeplugins(1)](/lineak_kdeplugins/1.md), [lineak\_xosdplugin(1)](/lineak_xosdplugin/1.md).

## AUTHOR

**lineakd** was written by Sheldon Lee-Wen \<leewsb@hotmail.com\> and Mark Smulders \<Mark@PIRnet.nl\>. This plugin package is a derivative of code from the lineakd distribution.
