summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mouse.py18
-rw-r--r--todo.py13
-rw-r--r--xf86config.py1
-rw-r--r--xserver.py4
4 files changed, 33 insertions, 3 deletions
diff --git a/mouse.py b/mouse.py
index 6dc827dd8..6c8588e61 100644
--- a/mouse.py
+++ b/mouse.py
@@ -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
diff --git a/todo.py b/todo.py
index 760882698..b2c4aad07 100644
--- a/todo.py
+++ b/todo.py
@@ -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 ()