# "hald" - Xorg and the mouse



## Niatross (Nov 6, 2012)

I am using "hald" to auto-detect my keyboard and mouse.

```
hald_enable="YES"
dbus_enable="YES"
```
I type *startx* and have no mouse. Keyboard works fine.

Here is my /etc/X11/xorg.conf file:


```
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0

EndSection

Section "Files"
	ModulePath   "/usr/local/lib/xorg/modules"
	FontPath     "/usr/local/lib/X11/fonts/misc/"
	FontPath     "/usr/local/lib/X11/fonts/TTF/"
	FontPath     "/usr/local/lib/X11/fonts/OTF"
	FontPath     "/usr/local/lib/X11/fonts/Type1/"
	FontPath     "/usr/local/lib/X11/fonts/100dpi/"
	FontPath     "/usr/local/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
	Load  "dbe"
	Load  "dri"
	Load  "dri2"
	Load  "extmod"
	Load  "record"
	Load  "glx"
EndSection

Section "Device"
    Identifier  "VMware SVGA"
    Driver      "vmware"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device      "VMware SVGA"
    Monitor     "vmware"
    # Don't specify DefaultColorDepth unless you know what you're
    # doing. It will override the driver's preferences which can
    # cause the X server not to run if the host doesn't support the
    # depth.
    Subsection "Display"
        # VGA mode: better left untouched
        Depth       4
        Modes       "640x480"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       8
        Modes       "1600x1200"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       15
        Modes       "1600x1200"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "1600x1200"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "1600x1200"
        ViewPort    0 0
    EndSubsection
EndSection

Section "Monitor"
    Identifier      "vmware"
    VendorName      "VMware, Inc"
    HorizSync       1-10000
    VertRefresh     1-10000
EndSection
```


Note:
The only way I can get the mouse to work in X11 is to place the following line in my /etc/rc.conf file:


```
moused_enable="YES"
```

If "hald" auto-detects keyboards/mice, then I shouldn't have to use the mouse daemon ("moused"), correct?


----------



## SirDice (Nov 7, 2012)

Niatross said:
			
		

> If "hald" auto-detects keyboards/mice, then I shouldn't have to use the mouse daemon ("moused"), correct?


No, it detects the sysmouse created by moused(8).


----------



## Niatross (Nov 7, 2012)

SirDice said:
			
		

> No, it detects the sysmouse created by moused(8).



So anytime you use "hald", you need to enable "moused" in "/etc/rc.conf". Am I understanding this correctly?

Like I said before....If I don't put "moused_enable="YES" in the "/etc/rc.conf", there is no mouse in X11.

I don't remember "hald" working this way. I thought you just loaded "hald" and didn't have to load "moused" in the "rc.conf" file.


----------



## wblock@ (Nov 7, 2012)

No.  Manually enabling moused is usually not required.

Update ports.  A patch was just committed to the mouse driver which should help.

After that, I recommend adding this to xorg.conf:

```
Section "ServerLayout"
        Identifier   "X.org Configured"
        Screen       0  "Screen0" 0 0
        [color="Red"]Option       "AutoAddDevices" "Off"[/color]
EndSection
```


----------



## Niatross (Nov 7, 2012)

wblock@ said:
			
		

> No.  Manually enabling moused is usually not required.
> 
> Update ports.  A patch was just committed to the mouse driver which should help.



That did it. I updated the port. Thanks!


----------



## Niatross (Nov 7, 2012)

wblock@ said:
			
		

> After that, I recommend adding this to xorg.conf:
> 
> ```
> Section "ServerLayout"
> ...




Have you ever heard of the following:


```
Option "NoAutoAddDevices"
```

Is this the same as:


```
Option "AutoAddDevices" "Off"
```

Does "NoAutoAddDevices" supersede  "AutoAddDevices" "Off" or is it the other way around?

I ask this for the following reason. The VMware Tools configuration script ("vmware-config-tools.pl") will place the following in your xorg.conf file:


```
Section "Server Flags"
    Option "NoAutoAddDevices"
EndSection
```


----------



## wblock@ (Nov 7, 2012)

ServerFlags is an unnecessary section.  Anything that can go in there can also go in ServerLayout, so why not keep it simple?

The option is surely the same.  I have not tried the "NoAutoAddDevices" form, but if the xorg server does not recognize it, that will be logged in /var/log/Xorg.0.log.


----------



## KNOStic (Dec 15, 2012)

wblock@ said:
			
		

> No.  Manually enabling moused is usually not required.
> 
> Update ports.  A patch was just committed to the mouse driver which should help.



Just wanted to say THANKS for that! The one line added to mouse.c did the trick, and solves that natty problem with "deadmaus". Biggest problem with the exising xf86-input-mouse was that USB mice weren't detected. Works best now if moused is started from rc.conf for the win. This one's been driving us crazy for months!

Here's hoping that xf86-input-mouse-1.7.1_1 makes it into 9.1 as a package.


----------



## kpa (Dec 15, 2012)

It will be part of the packages-9-stable packages collection. You should be following the stable package repository because the packages-9.1-release packages are not going to be updated after creation. 

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/packages-using.html


----------



## KNOStic (Dec 16, 2012)

And of course, that's what we do. However, since the 9.1 package set hasn't yet appeared on the ftp so far, it would _really_ be a good idea to put that fixed one into the distribution simply in order to keep the whining to a minimum as of "official release". The mouse driver problem with USB and touchpads is pretty serious and in researching it over the past few months, I've seen a lot of people who've been affected by it. This one is really worth getting into the official release build even if the iso's have already been published without it.

One simple line of code fixed it famously!


----------

