X11 driver
The driver opens a X11 window based on the geometry specified in the config file. This window cannot be resized.
The driver uses very low cpu time, and requires low bandwitdh, because only modified pixels are redrawn.
Display Section
Display <name> { Driver 'X11' Size <string> Font <string> Pixel <string> Gap <string> Border <number> Foreground <color> Background <color> Basecolor <color> Buttons <number> Brightness <number> Autorepeat <number> }
Parameters
Driver | 'X11' |
Size | size of the virtual display in pixels, specified as <width>x<height> (default is '120×32') |
Font | font size, specified as <width>x<height> (only '5×8' and '6×8' supported at the moment, default is '5×8') |
Pixel | <pixelsize>+<pixelgap>, e.g. '5+1' (see below for detailed explanation, default is '4+1') |
Gap | <row gap>x<column gap>, e.g. '3×3'(see below for detailed explanation, default is '-1x-1') |
Border | border width in pixels (default is 0) |
Foreground | color of active pixels (RRGGBBAA or RRGGBB), default is opaque black '000000ff' (see colors for details) |
Background | color of inactive pixels (RRGGBBAA or RRGGBB), default is transparent 'ffffff00' (see colors for details) |
Basecolor | color of virtual backlight (RRGGBB), default is white 'ffffff' (see colors for details) |
Buttons | number of virtual keys (0..6, default is 0 = none) |
Brightness | simulation of background brightness (0..255, default is 255 = 100%) |
Autorepeat | retrigger keypress event when auto repeat events are received (0..1, default is 1 = on) |
Buttons and Brightness are available in the SVN repository since revision 813. Autorepeat is available since revision 1125.
Example
Display XWindow { Driver 'X11' Size '120x32' Font '6x8' Pixel '4+1' Gap '-1x-1' Border 20 Foreground '000000ff' Background '00000033' Basecolor '70c000' Buttons 6 Brightness 133 AutoRepeat 1 }
Keyboard
The defined buttons are drawn on the right side as a virtual keyboard. The keys are named "Up", "Down", "Left", "Right", "Commit" and "Cancel".
Since revision 1088 in the SVN repository, you may also use your real keyboard (arrow keys, RETURN key and ESCAPE key) to trigger the buttons.
Plugins
The driver provides the following functions:
LCD::brightness() | return current brightness setting |
LCD::brightness(n) | set brightness to n (0..255) |
pixelsize, gaps, ...
This may look weird, but it is weird. Let's explain this a bit further:
The X11 driver tries to emulate a real LC display. A real LCD has a size of columns*rows characters. Each character consists of xres*yres LCD cells. One single cell will be represented by a rectangle of pixelsize*pixelsize pixels.
If you want to, you can emulate the gap between this lcd cells by specifying a pixelgap greater than zero.
Size '3x1' Border 10 Font '5x8' Pixel '8+2' Gap '-1x-1'
size '3x1' border 10 font '5x8' pixel '10+0' gap '-1x-1'
Sometimes there's a gap between characters, too. You can specify this gap (in pixels again) horizontally and vertically. Usually this gap is the same size as a cell (which is pixelsize+pixelgap). If you specify either the row gap or the column gap as -1, this cell size will be used instead.
size '3x1' border 10 font '5x8' pixel '8+2' gap '20x20'
If you use a font of 5×8, some characters may use the first and the last pixel. So you should specify a column gap, otherwise the caracters may touch. On the other hand, the 6×8 font never uses the first pixel. So you can omit the column gap, and will get the same text layout, but uninterupted bars!
size '3x1' border 10 font '6x8' pixel '8+2' gap '0x-1'
After all: don't try to understand this unless you have tried it out!