1 50e6d00c 2008-10-08 rsc #include <u.h>
2 50e6d00c 2008-10-08 rsc #include <libc.h>
3 50e6d00c 2008-10-08 rsc #include <draw.h>
4 50e6d00c 2008-10-08 rsc #include <memdraw.h>
5 50e6d00c 2008-10-08 rsc #include "devdraw.h"
12 50e6d00c 2008-10-08 rsc static int debug;
14 50e6d00c 2008-10-08 rsc static struct
16 50e6d00c 2008-10-08 rsc int b[Nbutton];
21 50e6d00c 2008-10-08 rsc initmap(void)
26 50e6d00c 2008-10-08 rsc p = getenv("mousedebug");
27 50e6d00c 2008-10-08 rsc if(p && p[0])
28 50e6d00c 2008-10-08 rsc debug = atoi(p);
30 50e6d00c 2008-10-08 rsc for(i=0; i<Nbutton; i++)
31 50e6d00c 2008-10-08 rsc map.b[i] = i;
32 50e6d00c 2008-10-08 rsc map.init = 1;
33 50e6d00c 2008-10-08 rsc p = getenv("mousebuttonmap");
35 50e6d00c 2008-10-08 rsc for(i=0; i<Nbutton && p[i]; i++)
36 50e6d00c 2008-10-08 rsc if('0' <= p[i] && p[i] <= '9')
37 50e6d00c 2008-10-08 rsc map.b[i] = p[i] - '1';
39 50e6d00c 2008-10-08 rsc fprint(2, "mousemap: ");
40 50e6d00c 2008-10-08 rsc for(i=0; i<Nbutton; i++)
41 50e6d00c 2008-10-08 rsc fprint(2, " %d", 1+map.b[i]);
42 50e6d00c 2008-10-08 rsc fprint(2, "\n");
47 50e6d00c 2008-10-08 rsc mouseswap(int but)
52 50e6d00c 2008-10-08 rsc if(!map.init)
56 50e6d00c 2008-10-08 rsc for(i=0; i<Nbutton; i++)
57 50e6d00c 2008-10-08 rsc if((but&(1<<i)) && map.b[i] >= 0)
58 50e6d00c 2008-10-08 rsc nbut |= 1<<map.b[i];
60 50e6d00c 2008-10-08 rsc fprint(2, "swap %#b -> %#b\n", but, nbut);