As I’ve remarked here previously, I have Debian installed on my EEE. I keep it uptodate with the testing releases, which means I currently have Squeeze running here. One of the minor annoyances I’ve had with it is the accidental taps on the touchpad while typing- which causes the cursor to unexpectedly jump to a new point and creates a hassle when typing.
There’s a package available called touchfreeze that can solve this problem. It basically monitors the keyboard and, if it sees keyboard activity, disables the touch responses on the touchpad. Cursor movement is still possible, but who can type and manipulate a touchpad simultaneously?
Unfortunately, touchfreeze does not work. It complains about SHMConfig not being set. It seems it needs access to the touchpad shared memory and can’t get it. So, off to xorg.conf to enable SHMConfig. Naturally, no dice. Grrrr.
The problem boils down to stock support for the Synaptics driver- it doesn’t exist. This is all known and documented out at the Debian EEE Wiki. The options are to build the kernel, synaptics driver and Xorg stuff from scratch with patches, or to do what I did- find someone smarter than me.
Basically, I followed the instructions for what this guy did- the only holes I had to fill in were first, where specifically to copy the psmouse.ko file- which it turned out was under /lib/modules/…/kernel/drivers/input/mouse. After that I ran depmod but I’m not clear if this was necessary. I installed the software he provides a link for using “dpkg -i” and then, after numerous attempts of stopping and restarting X, I rebooted the system. The synaptics driver was loaded and touchfreeze is working for me. No more random touches while typing.
An offshoot of the synaptics driver kicking in is the sensitivity of the touchpad is noticably reduced- which isn’t necessarily bad. It’ll take a little usage to determine if this is another annoyance to be dealt with.
UPDATE: When I was done and ready to shut down, I killed touchfreeze. I then noticed I had no ability for touch-clicks. Don’t know if they are related, but that’s what I noticed. I’ll keep an eye out and update further.
UPDATE II: Well, the last update affected the kernel and broke the synaptics driver. As it turns out I just have to copy the psmouse.ko into the appropriate spot. No depmod needed, So question answered.
5 replies on “EEE 900 Touchpad”
Gerry, Thanks for this, it looked like just what I needed, but I hit a roadblock as I stumble along with this issue.
(Eee PC 900 running MEPIS 8 (debian)). I put the psmouse.ko in /lib/modules/2.6.27-1-mepis-smp/kernel/drivers/input/mouse. I installed timdoug’s deb with kpackage. Touchpad is not working at all now.
I’m thinking the problem is with xorg.conf. I added what timdoug had, but I still have several other InputDevice sections. Could you share your xorg.conf so I can compare it.?
This is also a clue, but synclient -l still results with:
“Can’t access shared memory area. SHMConfig disabled?”
Thanks!
Timdoug’s psmouse.ko module was compiled for kernel version 2.6.30. That’s likely the problem you’re having if in fact your kernel version is 2.6.27 as you indicate. The error you mention regarding SHMConfig, as near as I can tell, is a symptom of the problem that the synaptics driver is not getting loaded- check your xorg logs. If memory serves, MEPIS is tied to Debian/stable, so upgrading the kernel might not be an option. Perhaps you can build the psmouse module with the appropriate option set. Check out the Debian EEE Wiki as they have info related to this.
Following is the xorg.conf I was running that worked.
Section “InputDevice”
Identifier “Generic Keyboard”
Driver “kbd”
Option “CoreKeyboard”
Option “XkbRules” “xorg”
Option “XkbModel” “pc104”
Option “XkbLayout” “us”
EndSection
Section “InputDevice”
Identifier “Synaptics Touchpad”
Driver “synaptics”
Option “CorePointer”
Option “Device” “/dev/input/event9”
Option “Protocol” “auto-dev”
Option “SHMConfig” “on”
Option “VertEdgeScroll” “1”
Option “HorizEdgeScroll” “1”
Option “MaxSpeed” “1”
Option “AccelFactor” “0.05”
Option “TapButton1” “1”
Option “TapButton2” “2”
Option “TapButton3” “3”
EndSection
Section “Device”
Identifier “Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller”
Driver “intel”
Option “AccelMethod” “XAA”
EndSection
Section “Monitor”
Identifier “Configured Monitor”
EndSection
Section “Screen”
Identifier “Default Screen”
Device “Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller”
Monitor “Configured Monitor”
EndSection
Section “Server Layout”
Identifier “Default Layout”
Screen “Default Screen”
InputDevice “Generic Keyboard”
InputDevice “Synaptics Touchpad”
EndSection
I now have a very minimal xorg.conf as I discovered that HAL can be leveraged to configure synaptics, assuming it is loaded. I have a post on that if you’re curious here.
As I said at the beginning, most of this will likely be a moot point if your module isn’t built for use with the kernel version.
Thanks for the quick reply. This is all over my head and seems it will be harder than I thought. I guess I need to study build/modules/kernels more. Thanks though.
Any reason you chose Mepis versus straight Debian? I’m using squeeze on my EEE and the stability has been very good.
If it makes you feel any better, most of this was over my head at one point as well. Actually, a lot is still over my head but it can be worked through.
Check out the Debian EEE Wiki, it should be useful to you in this particular case.