I just finished the set of features Pascal called meta-input. Or at least I think I 
have, I'll have to let Pascal or Philippe be the judge of that :)

- Driver Messages

  This is my solution to allow cursor blanking, backlight control, sleep mode, and 
more from clients and from other drivers. Input drivers or video drivers can define 
handlers for these messages, and send them with the drivermessage() function. They can 
be called client-side with pgDriverMessage(). If a loaded driver implements 
PGDM_SOUNDFX, keyclicks and mouse clicks can be enabled in the config file.

- Inactivity Timer

  PicoGUI now keeps track of the amount of time it has had no user input. The client 
can access this timer with pgGetInactive() and pgSetInactive(). The driver can call 
similar functions in the server, defined in pgserver/timer.h. Accessing the inactivity 
timer from the client-side is demonstrated by the new screensaver demo. The server 
itself (in gcore/timer.c) can trigger driver messages based on this timer. Currently 
cursor blanking, backlight auto-off, and sleep mode are implemented. README.configfile 
documents the new options to set these timeouts.

- Keyboard Control

  Tab, shift-tab, and the arrow keys can be used to move between widgets according to 
geometric proximity. The spacebar can be used to activate the hilighted button. Escape 
closes the topmost popup menu. As always, keys like escape, enter, Y, and N are mapped 
to message dialog buttons. Applications can set their own key mappings with 
PG_WP_HOTKEY. When the display is rotated, the arrow keys are rotated also. With a few 
exceptions, PicoGUI can be used entirely via the keyboard.

- Dynamic Input Drivers

  Loading drivers from a shared library has not been implemented yet, but drivers that 
are compiled in can be loaded and unloaded at runtime. As always, the load_inlib(), 
unload_inlib(), and find_inputdriver() functions could be used within one input or 
video driver to load another input driver. I added the client-side function 
pgLoadDriver() that loads an input driver and returns a handle to it. Contexts or 
pgDelete can be used to unload the driver.


--
To the systems programmer, users and applications serve only to provide a 
test load.


_______________________________________________
Pgui-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/pgui-devel

Reply via email to