From e03e5ca2a7d379b2c1d11cae3032c6624b41fe9c Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Fri, 28 May 2010 12:37:34 +0200 Subject: [PATCH] gpm2 update Signed-off-by: Nico Schottelius --- software/gpm2.mdwn | 52 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 5 deletions(-) diff --git a/software/gpm2.mdwn b/software/gpm2.mdwn index 723e5cac..b0b25323 100644 --- a/software/gpm2.mdwn +++ b/software/gpm2.mdwn @@ -13,9 +13,8 @@ The idea of gpm2 is to be a nicer hack: gpm2 is in its early design stage, but can so far display movement of a ps/2 compatible mouse. - git clone git://git.schottelius.org/gpm - cd gpm - git checkout -b gpm2 origin/gpm-2-hack + git clone git://git.schottelius.org/gpm2 + cd gpm2 ./gpm2hack.sh /dev/input/mice # move the mouse # press enter key to end demonstration @@ -59,13 +58,56 @@ to take care of: If at some point gpm2d needs to pass protocol options to the protocol handler, they can be found in GPM2_PROTO_OPTS. -## Client protocols +## Support + +### IRC + +You can join #gpm on irc.freenode.org. + + +## WARNING + +Everything below this line are just random thoughts. + +## Events + +Events are produced by the mice handlers and forwarded to gpm2d. + +### Format + +As gpm2 can be used independently of the programming language, no +binary data is exchanged. An event always consists of one line +(terminated with \n), which contains up to GPM2_LINE_MAX characters +(including \n). + + +## Client channel Clients for gpm2 do not need to be c programs, but can be of any kind. The communication is a simple ASCII stream. -### Connect to gpm2d +### Client connection to gpm2d Clients need to open /var/run/gpm2/gpm2d.sock to connect to gpm2d. +### Event: mouse_event + + mouseid ev-type ... (more to follow) + +### Event: mouse_added +### Event: mouse_removed + +## Control channel + +The control channel can be used to change things in gpm2, whereas +the client channel is read-only. + +### Control connection to gpm2d + +If you want to control gpm2d, you need to open /var/run/gpm2/gpm2d-control.sock. + +### Command: mouse_add +### Command: mouse_remove + + [[!tag unix]]