www.nico.schottelius.org/software/gpm/browse_source/gpm-1.99.6/gpm2/doc/DESIGN

72 lines
2.1 KiB
Text
Raw Normal View History

Possible design of gpm2:
gpm2-starter:
- reads configuration
- starts daemons
* first gpm2-daemon
- connects daemons
* connects them through stdin and stdout?
- perhaps a job of gpm2-daemon?
* stderr is relayed to the log console
- which can log to syslog
gpm2-daemon:
- main daemon
- starts mice handlers
- listens for ipc
- relays input data abstracted to clients
- does *NOT* draw a cursor or something like that
- can be used by x.org (see below)
- opens mice devices?
- should be portable
gpm2-io:
- gets list of opened fds or of devices
- uses poll() / select() on mice devices
- retrieves data packets
- forwards raw data packets to gpm2-daemon from devices
- either
- forwards raw data packets from gpm2-daemon to devices??
- decodes mice packets: does protocol handling and
forwards decoded packages to gpm2_daemon
- has a mouse - fd_in - fd_out list
- has *NO* root priviliges
gpm2-decode:
- forwards raw data packets from gpm2-daemon
- forwards decoded packages to clients (like gpm2-cdisplay)
gpm2-raw-relay:
- reads data from gpm2-daemon
- writes raw data to clients
- a client needs to connect n times for n mice
gpm2-cdisplay:
- Console DISPLAYS: displays mouse cursor on console
- reads input from gpm2-daemon
- reads mouse information
- perhaps os-specific versions
gpm2-ccandp:
- Console Copy AND Paste daemon
- reads input from gpm2-daemon
- copies selected text into own buffer
- pastes buffer to console
- perhaps os-specific versions
gpm2-xorg:
- interface between gpm2 and x.org
- could make mouse support unecessary in x.org
- should be portable
gpm2-syslog:
- connects to the gpm2-daemon logging port
- reads messages
- relays them to syslog
gpm2-log: needed?
- logging interface for gpm2-daemon
- recieves messages