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 88ed92aa 2020-01-13 rsc #include <memlayer.h>
6 88ed92aa 2020-01-13 rsc #include <mouse.h>
7 88ed92aa 2020-01-13 rsc #include <cursor.h>
8 88ed92aa 2020-01-13 rsc #include <keyboard.h>
9 88ed92aa 2020-01-13 rsc #include <drawfcall.h>
10 50e6d00c 2008-10-08 rsc #include "devdraw.h"
17 50e6d00c 2008-10-08 rsc static int debug;
19 50e6d00c 2008-10-08 rsc static struct
21 50e6d00c 2008-10-08 rsc int b[Nbutton];
26 50e6d00c 2008-10-08 rsc initmap(void)
31 50e6d00c 2008-10-08 rsc p = getenv("mousedebug");
32 50e6d00c 2008-10-08 rsc if(p && p[0])
33 50e6d00c 2008-10-08 rsc debug = atoi(p);
35 50e6d00c 2008-10-08 rsc for(i=0; i<Nbutton; i++)
36 50e6d00c 2008-10-08 rsc map.b[i] = i;
37 50e6d00c 2008-10-08 rsc map.init = 1;
38 50e6d00c 2008-10-08 rsc p = getenv("mousebuttonmap");
40 50e6d00c 2008-10-08 rsc for(i=0; i<Nbutton && p[i]; i++)
41 50e6d00c 2008-10-08 rsc if('0' <= p[i] && p[i] <= '9')
42 50e6d00c 2008-10-08 rsc map.b[i] = p[i] - '1';
44 50e6d00c 2008-10-08 rsc fprint(2, "mousemap: ");
45 50e6d00c 2008-10-08 rsc for(i=0; i<Nbutton; i++)
46 50e6d00c 2008-10-08 rsc fprint(2, " %d", 1+map.b[i]);
47 50e6d00c 2008-10-08 rsc fprint(2, "\n");
52 50e6d00c 2008-10-08 rsc mouseswap(int but)
57 50e6d00c 2008-10-08 rsc if(!map.init)
61 50e6d00c 2008-10-08 rsc for(i=0; i<Nbutton; i++)
62 50e6d00c 2008-10-08 rsc if((but&(1<<i)) && map.b[i] >= 0)
63 50e6d00c 2008-10-08 rsc nbut |= 1<<map.b[i];
65 50e6d00c 2008-10-08 rsc fprint(2, "swap %#b -> %#b\n", but, nbut);