]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/nonworking/xfree86/xfree86-4.3.0/tinyx-tslib-reset-and-vt-switch-fixes.patch
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / nonworking / xfree86 / xfree86-4.3.0 / tinyx-tslib-reset-and-vt-switch-fixes.patch
1 --- xc/programs/Xserver/hw/kdrive/linux/tslib.c.orig    2002-11-05 05:28:06.000000000 +0000
2 +++ xc/programs/Xserver/hw/kdrive/linux/tslib.c 2003-03-11 21:11:37.000000000 +0000
3 @@ -119,6 +119,29 @@
4  int TsInputType;
5  
6  int
7 +TslibEnable (int not_needed_fd, void *closure)
8 +{
9 +  KdMouseInfo      *mi = closure;
10 +  int               fd = 0;
11 +
12 +  if(!(tsDev = ts_open(mi->name, 0))) {
13 +    fprintf(stderr, "%s() failed to open %s\n", __func__, mi->name );
14 +    return -1;                         /* XXX Not sure what to return here */
15 +  }
16 +  
17 +  ts_config(tsDev); 
18 +  fd=ts_fd(tsDev);
19 +
20 +  return fd;
21 +}
22 +
23 +void
24 +TslibDisable (int fd, void *closure)
25 +{
26 +  ts_close(tsDev);
27 +}
28 +
29 +int
30  TslibInit (void)
31  {
32      int                i;
33 @@ -128,7 +151,7 @@
34  
35      if (!TsInputType)
36         TsInputType = KdAllocInputType ();
37 -    
38 +
39      for (mi = kdMouseInfo; mi; mi = next)
40      {
41         next = mi->next;
42 @@ -148,14 +171,25 @@
43                     break;
44                 }
45             }
46 +       } else {
47 +
48 +         if(!(tsDev = ts_open(mi->name,0))) 
49 +           continue;
50 +         ts_config(tsDev); 
51 +         fd=ts_fd(tsDev);
52 +
53         }
54  
55         if (fd > 0 && tsDev != 0) 
56           {
57             mi->driver = (void *) fd;
58             mi->inputType = TsInputType;
59 -               if (KdRegisterFd (TsInputType, fd, TsRead, (void *) mi))
60 -                   n++;
61 +           if (KdRegisterFd (TsInputType, fd, TsRead, (void *) mi))
62 +             n++;
63 +
64 +           /* Set callbacks for vt switches etc */
65 +           KdRegisterFdEnableDisable (fd, TslibEnable, TslibDisable);
66 +
67           } 
68         else 
69           if (fd > 0) close(fd);