diff options
-rw-r--r-- | mouse.py | 18 | ||||
-rw-r--r-- | todo.py | 13 | ||||
-rw-r--r-- | xf86config.py | 1 | ||||
-rw-r--r-- | xserver.py | 4 |
4 files changed, 33 insertions, 3 deletions
@@ -20,6 +20,10 @@ class Mouse (SimpleConfigFile): ("ps/2", "PS/2", "psaux", 1), "Generic - 3 Button Mouse (PS/2)" : ("ps/2", "PS/2", "psaux", 0), + "Generic - 2 Button Mouse (USB)" : + ("ps/2", "PS/2", "input/mice", 1), + "Generic - 3 Button Mouse (USB)" : + ("ps/2", "PS/2", "input/mice", 0), "Genius - NetMouse (serial)" : ("ms3", "IntelliMouse", "ttyS", 1), "Genius - NetMouse (PS/2)" : @@ -78,8 +82,10 @@ class Mouse (SimpleConfigFile): def probe (self): list = kudzu.probe(kudzu.CLASS_MOUSE, kudzu.BUS_UNSPEC, kudzu.PROBE_ONE) + if (list): (device, module, desc) = list[0] + if device == 'psaux': # kickstart some ps/2 mice. Blame the kernel try: @@ -93,6 +99,11 @@ class Mouse (SimpleConfigFile): self.set("Sun - Mouse", 0) elif device == "psaux": self.set("Generic - 3 Button Mouse (PS/2)", 0) + elif device == "input/mice": + if module == "generic3usb": + self.set("Generic - 3 Button Mouse (USB)", 0) + elif module == "genericusb": + self.set("Generic - 2 Button Mouse (USB)", 1) else: self.set("Generic - 2 Button Mouse (serial)", 1) @@ -130,6 +141,7 @@ class Mouse (SimpleConfigFile): self.device = device def set (self, mouse, emulateThreeButtons = -1, thedev = None): + (gpm, x11, dev, em) = self.mice[mouse] self.info["MOUSETYPE"] = gpm self.info["XMOUSETYPE"] = x11 @@ -138,8 +150,10 @@ class Mouse (SimpleConfigFile): self.emulate = emulateThreeButtons else: self.emu = em - if not self.device and thedev: self.device = thedev - if not self.device: self.device = dev + if not self.device and thedev: + self.device = thedev + if not self.device: + self.device = dev def setXProtocol (self): import xmouse @@ -329,7 +329,16 @@ class ToDo: self.network = Network () self.rootpassword = Password () self.extraModules = extraModules - self.mouse = Mouse () + + log.open(0,0,0) + log("In todo we were passed mouse = %s" % mouse) + if mouse: + self.mouse = mouse + else: + log("calling Mouse from todo") + self.mouse = Mouse () + log.close() + self.keyboard = Keyboard () self.auth = Authentication () self.desktop = Desktop () @@ -338,6 +347,8 @@ class ToDo: log.open (serial, reconfigOnly, test) + log ("In todo mouse = %s" % self.mouse) + self.fstab = None # liloDevice, liloLinear, liloAppend are initialized form the diff --git a/xf86config.py b/xf86config.py index dd31f134a..970302263 100644 --- a/xf86config.py +++ b/xf86config.py @@ -527,6 +527,7 @@ EndSection class XF86Config: def __init__ (self, mouse = None): + if mouse: self.setMouse(mouse) else: diff --git a/xserver.py b/xserver.py index 4b82e1948..8e950e1fb 100644 --- a/xserver.py +++ b/xserver.py @@ -71,6 +71,10 @@ def startX(): if not mouse.probe (): if not mouseWindow(mouse): raise RuntimeError, "failed to get a mouse for X startup" + else: + (Xtype, Xtmp) = mouse.get() + print "Found a ", Xtype + time.sleep(2) x = XF86Config (mouse) x.probe () |