diff options
author | Erik Troan <ewt@redhat.com> | 1999-08-25 23:34:11 +0000 |
---|---|---|
committer | Erik Troan <ewt@redhat.com> | 1999-08-25 23:34:11 +0000 |
commit | ce3f6d0b037062383ce14ed35cfc28fc65f576b4 (patch) | |
tree | 6a99f95a42dc78d57936ea438dc9cab7a89aad83 /mouse.py | |
parent | aabf3800ac1be00fd6acfe57780e4858d9eddb56 (diff) | |
download | anaconda-ce3f6d0b037062383ce14ed35cfc28fc65f576b4.tar.gz anaconda-ce3f6d0b037062383ce14ed35cfc28fc65f576b4.tar.xz anaconda-ce3f6d0b037062383ce14ed35cfc28fc65f576b4.zip |
*** empty log message ***
Diffstat (limited to 'mouse.py')
-rw-r--r-- | mouse.py | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/mouse.py b/mouse.py new file mode 100644 index 000000000..4a863e1be --- /dev/null +++ b/mouse.py @@ -0,0 +1,137 @@ +import kudzu +from simpleconfig import SimpleConfigFile +from snack import * + +class Mouse (SimpleConfigFile): + mice = { + "ALPS - GlidePoint (PS/2)" : + ("ps/2", "GlidePointPS/2", "psaux", 1), + "ASCII - MieMouse (serial)" : + ("ms3", "IntelliMouse", "ttyS", 1), + "ASCII - MieMouse (PS/2)" : + ("ps/2", "NetMousePS/2", "psaux", 1), + "ATI - Bus Mouse" : + ("Busmouse", "BusMouse", "atibm", 1), + "Generic - 2 Button Mouse (serial)" : + ("Microsoft", "Microsoft", "ttyS", 1), + "Generic - 3 Button Mouse (serial)" : + ("Microsoft", "Microsoft", "ttyS", 0), + "Generic - 2 Button Mouse (PS/2)" : + ("ps/2", "PS/2", "psaux", 1), + "Generic - 3 Button Mouse (PS/2)" : + ("ps/2", "PS/2", "psaux", 0), + "Genius - NetMouse (serial)" : + ("ms3", "IntelliMouse", "ttyS", 1), + "Genius - NetMouse (PS/2)" : + ("netmouse", "NetMousePS/2", "psaux", 1), + "Genius - NetMouse Pro (PS/2)" : + ("netmouse", "NetMousePS/2", "psaux", 1), + "Genius - NetScroll (PS/2)" : + ("netmouse", "NetScrollPS/2", "psaux", 1), + "Kensington - Thinking Mouse (PS/2)" : + ("ps/2", "ThinkingMousePS/2", "psaux", 1), + "Logitech - C7 Mouse (serial, old C7 type)" : + ("Logitech", "Logitech", "ttyS", 0), + "Logitech - CC Series (serial)" : + ("logim", "MouseMan", "ttyS", 0), + "Logitech - Bus Mouse" : + ("Busmouse", "BusMouse", "logibm", 0), + "Logitech - MouseMan/FirstMouse (serial)" : + ("MouseMan", "MouseMan", "ttyS", 0), + "Logitech - MouseMan/FirstMouse (ps/2)" : + ("ps/2", "PS/2", "psaux", 0), + "Logitech - MouseMan+/FirstMouse+ (serial)" : + ("pnp", "IntelliMouse", "ttyS", 0), + "Logitech - MouseMan+/FirstMouse+ (PS/2)" : + ("ps/2", "MouseManPlusPS/2", "psaux", 0), + "Microsoft - Compatible Mouse (serial)" : + ("Microsoft", "Microsoft", "ttyS", 1), + "Microsoft - Rev 2.1A or higher (serial)" : + ("pnp", "Auto", "ttyS", 1), + "Microsoft - IntelliMouse (serial)" : + ("ms3", "IntelliMouse", "ttyS", 1), + "Microsoft - IntelliMouse (PS/2)" : + ("imps2", "IMPS/2", "psaux", 1), + "Microsoft - Bus Mouse" : + ("Busmouse", "BusMouse", "inportbm", 1), + "Mouse Systems - Mouse (serial)" : + ("MouseSystems", "MouseSystems", "ttyS", 1), + "MM - Series (serial)" : + ("MMSeries", "MMSeries", "ttyS", 1), + "MM - HitTablet (serial)" : + ("MMHitTab", "MMHittab", "ttyS", 1), + } + + # XXX fixme - externalize + def __init__ (self, xmouseType = None, mouseType = None): + self.info = {} + self.device = None + + if (xmouseType): + (proto, emulate, device) = xmouseType + mouseType = None + mice = self.mice.keys() + mice.sort() + for desc in mice: + (gpm, x11, dev, em) = self.mice[desc] + print "trying %s: '%s', '%s'" % (desc, x11, proto) + if (x11 == proto and desc[0:7] == "Generic" and emulate == em): + mouseType = (desc, emulate, device) + break + self.device = device + if not mouseType: + raise KeyError, "unknown X11 mouse type %s" % proto + + if (mouseType): + if (len(mouseType) == 3): + apply(self.set, mouseType) + else: + list = kudzu.probe(kudzu.CLASS_MOUSE, kudzu.BUS_UNSPEC, + kudzu.PROBE_ONE) + if (list): + (device, module, desc) = list[0] + + if device == "psaux": + self.set("Generic - 3 Button Mouse (PS/2)", 0) + else: + self.set("Generic - 2 Button Mouse (serial)", 1) + + self.device = device + else: + self.set("Generic - 2 Button Mouse (serial)", 1, 'ttyS0') + + def available (self): + return self.mice + + def get (self): + return (self.info ["FULLNAME"], self.emulate) + + def __str__(self): + if (self.emulate): + self.info["XEMU3"] = "yes" + else: + self.info["XEMU3"] = "no" + return SimpleConfigFile.__str__(self) + + def makeLink(self, root): + try: + os.unlink(root + "/dev/mouse") + except: + pass + if (sel.device): + os.symlink(self.device, root + "/dev/mouse") + + def getDevice(self): + return self.device + + def setDevice(self, device): + self.device = device + + def set (self, mouse, emulateThreeButtons): + (gpm, x11, dev, em) = self.mice[mouse] + self.info["MOUSETYPE"] = gpm + self.info["XMOUSETYPE"] = x11 + self.info["FULLNAME"] = mouse + self.emulate = emulateThreeButtons + if (not self.device): self.device = dev + |