Jump to content

Touchpad+extra PS/2 mouse


Recommended Posts

I have a PS/2 keyboard and 3-button PS/2 mouse connected to the laptop through a port replicator. And of cousre, the laptop has a touchpad... I'd like to be able to use the touchpad when I am away from my desk and I want the external mouse to take over, when I drop the laptop on the port replicator. Currently, if I connect the laptop to the port replicator, the 3B mouse remains dead, and touchpad remains active. Apparently, this is because only one mouse is configured in XF86Config-4:

 

Section "InputDevice"
   Identifier "Mouse1"
   Driver "mouse"
   Option "Protocol" "PS/2"
   Option "Device" "/dev/psaux"
   Option "Emulate3Buttons"
   Option "Emulate3Timeout" "50"
EndSection

 

How should I modify XF86Config-4 to make both mice work at the same time?

Link to comment
Share on other sites

Add two mouses to it should work :)

I found that after a while in Mandrake it worked out i had 2 mice and it just worked!

 

And in arch I find it interesting that I pointed my XF86Config to /dev/usbmouse and both mice work :D 2.6.3 rules :D

 

Anyway, try pointing the Device option to /dev/mice/mouse and all them, and if you have it -- /dev/usbmouse :)

 

Otherwise you might hve to add another mouse entry like the above one to your XF86config

Link to comment
Share on other sites

yep. basically copy that section. Change the identifier (Mouse2) and the device (/dev/mouse or whatever).

 

Then in the section "ServerLayout", add inputdevice Mouse2 "SendCoreEvents" (look at the other entries for the syntax)

 

both of the mice should work :D

Link to comment
Share on other sites

I got my Touchpad and usb mouse to work at the same time. Not sure if it will work with two ps/2 port mice. but here is how I did it:

 

Goto http://www.tuxmobil.org/software/synaptics/ or read and download at http://www.tuxmobil.org/touchpad_driver.html and download the synaptic driver. Copy the "synaptics_drv.o" to your XFree module directory (e.g.: /usr/X11R6/lib/modules/drivers) I did not compile the download I just copied the driver to my directory.

 

In the XF86Config-4

 

Section "InputDevice"

Identifier "Mouse2"

Driver "synaptics"

Option "Protocol" "ImPS/2"

Option "Device" "/dev/psaux"

Option "MaxTapTime" "20"

Option "UpDownScrolling" "on"

Option "VertScrollDelta" "100"

Option "Edges" "1900 5400 1800 3900"

Option "ZAxisMapping" "4 5"

Option "MaxSpeed" "0.18"

Option "MinSpeed" "0.02"

Option "SHMConfig" "on"

Option "Finger" "25 30"

Option "MaxTapMove" "220"

Option "CorePointer" ""

Option "AccelFactor" "0.0007"

EndSection

 

Section "InputDevice"

Identifier "Mouse1"

Driver "mouse"

Option "Protocol" "ExplorerPS/2"

Option "Device" "/dev/usbmouse"

Option "ZAxisMapping" "4 5"

EndSection

 

and at the bottom:

 

Section "ServerLayout"

Identifier "layout1"

InputDevice "Keyboard1" "CoreKeyboard"

InputDevice "Mouse1" "CorePointer"

InputDevice "Mouse2" "SendCoreEvents"

Screen "screen1"

EndSection

 

Works with my Gentoo system with the 2.6.3 kernel also.

Link to comment
Share on other sites

Well, none of those works... I started with ac_dispatcher's suggestion. I had to compile the driver, that went through without any problem. Then I copied the synaptics driver to the directory where other drivers were, edited the XF86Config-4 as suggested (just cut-n-paste). Then I exited X, disconnected the laptop from the port replicator, reboot, startx - no mouse at all... Ctrl+Alt+F1 revealed the message "No synaptics device found" (or something similar).

 

Ok, I removed the synapics driver and everything related to it from XF86Config-4, copied the exting section "Mouse1", called it "Mouse2" and edited to point to /dev/mouse. Started X - touchpad did not respond... Also, for some reasons, X took much longer to start...

 

Now comes the "fun part": I removed the Mouse2 section from XF86Config-4 and reboot. Everything was working fine. But after I put the laptop back on the port replicator, the external keyboard and the external mouse remained dead, and I lost the touchpad as well. I restarted X, that did not change anything, except for the touchpad became operational again. It appears that I have to reboot every time I wish to switch the keyboard and mouse, that's no good...

 

Any suggestions please?

Link to comment
Share on other sites

Okay, I've tried again with modeprobe evdev. The module was there but needed to be modprobed:

# more /proc/modules
evdev                   6112   0 (unused)
input                   6272   0 [evdev]
---snip-------

Here is my /etc/X11/XF86Config-4

# more /etc/X11/XF86Config-4

--- snip ----

Section "InputDevice"
Identifier "Mouse2"
Driver "synaptics"
Option "Protocol" "ImPS/2"
Option "Device" "/dev/psaux"
Option "MaxTapTime" "20"
Option "UpDownScrolling" "on"
Option "VertScrollDelta" "100"
Option "Edges" "1900 5400 1800 3900"
Option "ZAxisMapping" "4 5"
Option "MaxSpeed" "0.18"
Option "MinSpeed" "0.02"
Option "SHMConfig" "on"
Option "Finger" "25 30"
Option "MaxTapMove" "220"
Option "CorePointer" ""
Option "AccelFactor" "0.0007"
EndSection

Section "InputDevice"
   Identifier "Mouse1"
   Driver "mouse"
   Option "Protocol" "PS/2"
   Option "Device" "/dev/mouse"
   Option "Emulate3Buttons"
   Option "Emulate3Timeout" "50"
EndSection

---snip-----

Section "ServerLayout"
   Identifier "layout1"
   Screen "screen1"
   InputDevice "Keyboard1" "CoreKeyboard"
   InputDevice "Mouse1" "CorePointer"
   InputDevice "Mouse2" "SendCoreEvents"
EndSection

Now exit X and startx again.... The primary external 3B mouse works (at least, it worked untill I pulled the laptop off the port replicator). The touchpad is dead... Let's check /var/log/Xfree86.0.log:

  

--- snip----

(**) Option "Protocol" "PS/2"
(**) Mouse1: Protocol: "PS/2"
(**) Option "CorePointer"
(**) Mouse1: Core Pointer
(**) Option "Device" "/dev/mouse"
(**) Option "Emulate3Buttons"
(**) Option "Emulate3Timeout" "50"
(**) Mouse1: Emulate3Buttons, Emulate3Timeout: 50
(==) Mouse1: Buttons: 3
(II) Synaptics touchpad driver version 0.12.5
Mouse2 no synaptics event device found (checked 1 nodes)
(**) Option "Device" "/dev/psaux"
(**) Option "SHMConfig" "on"
(**) Option "MaxTapTime" "20"
(**) Option "MaxTapMove" "220"
(**) Option "VertScrollDelta" "100"
(**) Option "UpDownScrolling" "on"
Query no Synaptics: 000064
(EE) Mouse2 no synaptics touchpad detected and no repeater device
(EE) Mouse2 Unable to query/initialize Synaptics hardware.
(EE) PreInit failed for input device "Mouse2"
(II) UnloadModule: "synaptics"
(II) XINPUT: Adding extended input device "Mouse1" (type: MOUSE)
(II) Mouse1: ps2EnableDataReporting: succeeded

As you can see, loading evdev had no effect... I can only add that the synaptics driver works just fine for Mouse1, with or without evdev, no difference... Should I have used a protocol other than PS/2? Do I have to have the gpm service running? From my previous experience (with XFree86 3.x and older/other model laptops), the touchpad on /dev/psaux and a PS/2 mouse never worked together. But usually, the touchpad was taking over right away after the external mouse was disconnected, and vice versa. Well, another frustration...

Link to comment
Share on other sites

shouldn't the touchpad be the CorePointer? It's always there... :unsure:

 

I'm confused. Synaptics driver works for Mouse1 but Mouse1 is NOT a touchpad, according to your XF86Config. Actually you can use PS/2 on both mice. Synaptics emulates PS/2 but without advanced features.

 

BTW, what kernel are you using? 2.6 handles mice differently from 2.4. look at your dmesg log to see if the Synaptics touchpad is detected.

Link to comment
Share on other sites

Sorry, arthur, I should have made myself more clear...

 

Synaptics driver works just fine when XF86Config-4 contains only one mouse section (I called it Mouse1).

 

The messages "no synaptics touchpad detected and no repeater device" and "Unable to query/initialize Synaptics hardware" are produced when the second mouse is configured in the XF86Config-4 (the evdev driver was loaded at that time). If the laptop is docked and hence the 2nd mouse is connected, X starts but the touchpad is dead. If the laptop is not docked and hence the external mouse is disconnected, then X fails to start. I get those messages no matter which mouse is the "CorePointer".

 

I also tried using PS/2 on both mice in different order (the touchpad was Mouse1 and the other mouse was Mouse2, then swapped them around), priority (changed "CorePointer"). Usually, that resulted in both of them locked or locking them when docking/undocking.

 

I am using a 2.4 kernel. Both /dev/mouse/ and /dev/psaux are symlinked to /dev/misc/psaux. I don't have /dev/input/mice at all.

 

In BIOS, the touchpad set to AUTOMATIC. The comment says that connecting another pointer to the PS/2 port will disable the touchpad. Only other option available is DISABLE to disable the touchpad at all. Under Windows, hot docking works just fine...

Link to comment
Share on other sites

Aha. the 2.4.22-10mdk kernel does not need the Synaptics driver, just use the PS/2 driver. unload it and use driver "mouse". only in 2.6 will you need to install the synaptics driver.

 

What does "dmesg |less" say? I'm quite sure the Mandrake 9.2 default kernel will detect the Synaptics touchpad.

 

To be safe, make the touchpad "CorePointer". the PS/2 port does NOT support hotplugging, windows or linux. your docking port could be using some proprietary port that's designed for M$Win to bypass the hot-plugging limitation. I don't know, I've run out of my knowledge in this topic. Sorry. :(

Link to comment
Share on other sites

Thanks, arthur.

 

I decided to try a usb wheel mouse. To be safe, I connected it to the laptop directly. On boot, the mouse was detected and configured. I edited XF86Config-4 to point the wheel mouse to /dev/usbmouse, then started X - both mice worked!. Then I exited X, reconnected the USB mouse to the port replicator (the port replicator has its own USB port), started X - it worked again. Hot plugging works too...

 

THANKS! :thumbs: :thumbs: :D

 

The next thing will be to get a 3B usb mouse...

Link to comment
Share on other sites

  • 2 weeks later...

Okay, I thought the problem with connecting an external mouse is behind...

 

I connected my 3B mouse through a PS/2 to USB adapter and everything seemed to work - the usb device is recognised on boot, both the mouse and touchpad work... until I suspend the laptop. Upon resume, the external mouse is dead... Restarting X does not help either... Any advise please?

Link to comment
Share on other sites

uh, suspending has always been a delicate issue with linux since many drivers don't support suspend yet.

 

Take a look at your suspend script (maybe /etc/suspend.sh) and see if the modules for usb (ehci and uhci) and the mouse are being reloaded when resumed, the touchpad is apparently configured ok in that script. The comments in the script will give you enough info to edit it.

 

EDIT: no, I think the suspend script is in $PATH, so you should look in those directories. I'll post the location of mine when I get to my computer. just type echo $PATH to see the list of those directories, then start looking.

Edited by arthur
Link to comment
Share on other sites

Thanks, arthur. That did the trick. The script is /etc/sysconfig/suspend.

# Sometime USB doen't support well the suspending, specially for mouse
# you may want to activate USBMOUSE_RESTART to make sure that your
# mouse will work, if you want to restart the whole usb system set the
# variable USB_RESTART
USB_RESTART="NO"

I replaced the last line with

USB_RESTART="YES"
USBMOUSE_RESTART="yes"

and got my USB mouse back on resume.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...