LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Laptop and Netbook (https://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/)
-   -   Panasonic Toughbook CF-29 Touch Screen (https://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/panasonic-toughbook-cf-29-touch-screen-485053/)

bnr 05-04-2010 08:32 AM

flipjarg you are using the wrong driver. To the best of my knowledge the evdev module does not work with the Fujitsu LBPS/2 Touchpad/Touchscreen controller found in these Panasonic Toughbooks. It could be that recent development has changed this, but it has been my experience that the only working driver is the evtouch module. I don't personally own a CF-29, but my CF-72 has the exact same input hardware. The evtouch module is somewhat stagnant and deprecated in some distros, so it may be worth the effort to figure out how to get evdev to work if you feel up to the challenge.

At any rate, here is a short list from my experience with the touchscreen;

- evtouch is not compatible with fglrx, you will need to use the OS radeon module
- configuration is done through hal; see previous post for the rules file
- configuration utilities don't work with evtouch; you will have to manually change numbers

Azizcoos 05-15-2010 10:01 AM

Yet Another Upgrade...
 
Upgraded my CF-29 from kubuntu 9.10 to 10.04. You would think I would know better by now. But I figured that since I had the hal thing working, and the numbers tweaked to near perfection, that I was all set for a painless upgrade, touchscreen-wise. I was wrong.:cry:

Now it looks like the numbers are off a little, but the big issue is that it appears that the mouse pointer acceleration is being applied to the touchscreen output. If I touch a point on the screen, the pointer jumps to a position near that point. But if I then move quickly, the pointer shoots across the screen. If I move slowly, the pointer tracks more or less the way it is supposed to.

I have checked the hal file, and the upgrade did not touch it.

Anyone know where that acceleration setting is coming from?

Flipjarg- Take a look at the dates on the beginning of this thread. It's older than dirt in internet time.;) A lot of that old stuff is obsolete.

flipjarg 05-15-2010 09:57 PM

Quote:

Originally Posted by Azizcoos (Post 3969625)
...Flipjarg- Take a look at the dates on the beginning of this thread. It's older than dirt in internet time.;) A lot of that old stuff is obsolete.

Haha (older then dirt). I know. But it is the best thing I could find. I have evtouch now, and have only been able to get 'autogen.sh' to run properly for X.org, using --prefix=/path/to/xorg.conf.

When I run make, I get this:
Code:

make  all-am
make[1]: Entering directory `/home/flipjarg/Desktop/evtouch-0.8.8'
make[1]: *** No rule to make target `evtouch.c', needed by `evtouch_drv_la-evtouch.lo'.  Stop.
make[1]: Leaving directory `/home/flipjarg/Desktop/evtouch-0.8.8'
make: *** [all] Error 2

I think I need to get a version of that lifebook.c everyone talked about... and name it evtouch.c and make sure the cf-29 DMI option is in there. May be wrong. If that is correct. Where can I get an evtouch.c/lifebook.c file that will work? Any input?

bnr 05-16-2010 01:48 PM

Quote:

Upgraded my CF-29 from kubuntu 9.10 to 10.04
HAL had been deprecated in 10.04, I think it actually had something to do with the latest version of Xorg. Most hardware is now configured with udev, input configuration however is going back (sort of) to xorg.conf.

Ordinarily no configuration is necessary, however odd hardware still needs to be manually configured. The new home for xorg.conf is /etc/ (eg "/etc/xorg.conf"), there is also support for "xorg snippets" that are placed in /etc/xorg.conf.d/.

If you use xorg snippets you need to make several to cover all your inputs, I tried just one for the touchscreen and ended up with a functioning touchscreen and nothing else. Acording to this blog post you should be able to combine a general purpose xorg.conf with snippets, but I never had any luck with that. What did work for me was making three snippets;

for the touchscreen:

Code:

# /etc/xorg.conf.d/90-touchscreen.conf
Section "InputDevice"
        Identifier      "Fujitsu TouchScreen"
        Driver          "evtouch"
        Option          "Device" "/dev/input/event6"
        Option          "DeviceName" "touchscreen"
        Option          "MinX" "230"
        Option          "MinY" "220"
        Option          "MaxX" "3900"
        Option          "MaxY" "3850"
        Option          "MoveLimit" "5"
        Option          "ReportingMode" "Raw"
        Option          "SendCoreEvents" "true"
        Option          "Emulate3Buttons" "true"
        Option          "Emulate3Timeout" "40"
        Option          "AutoServerLayout" "on"
EndSection

the keyboard:

Code:

# /etc/xorg.conf.d/97-keyboard.conf
Section "InputDevice"
        Identifier      "Default Keyboard"
        Driver          "kbd"
        Option          "AutoServerLayout" "on"
EndSection

and the evdev catchall (touchpad, mice, etc):

Code:

# /etc/xorg.conf.d/99-evdev.conf
Section "InputClass"
        Identifier      "evdev-catchall"
        Driver          "evdev"
EndSection

**Edit**
digging a little deeper, both evdev and evtouch are used in conjunction for the touchscreen, but as far as Xorg is concerned it is evtouch.

Azizcoos 05-18-2010 10:59 AM

The 10.04 upgrade came with broken kernels that didn't even boot far enough to kick out an error message, so I had to go back to the last working kernel, 2.6.31-20. That probably makes no difference to this issue, but I thought I should mention it.

I have no /etc/xorg.conf nor an /etc/xorg.conf.d on this machine. There is also no /etc/X11/xorg.conf.

Does that mean that hal is not deprecated in 10.04?

bnr 05-18-2010 05:02 PM

Quote:

The 10.04 upgrade came with broken kernels that didn't even boot far enough to kick out an error message, so I had to go back to the last working kernel, 2.6.31-20. That probably makes no difference to this issue, but I thought I should mention it.
I guess I lucked out (or waiting a week paid off), my upgrades went ok.
Quote:

I have no /etc/xorg.conf nor an /etc/xorg.conf.d on this machine. There is also no /etc/X11/xorg.conf.
These files are not included by default because ordinarily most devices are automatically configured by udev

Quote:

Does that mean that hal is not deprecated in 10.04?
hal is deprecated, its still there but is ignored by xorg. here is a status page on the ongoing Halsectomy

bnr 05-18-2010 05:19 PM

flipjarg

Quote:

make sure the cf-29 DMI option is in there
It is there, if you are using a halfway recent kernel you shouldn't need to compile anything, just configure the xorg.conf or xorg.conf.d snippets, use your package manager to install xserver-xorg-input-evtouch and reboot

flipjarg 05-22-2010 10:19 PM

Thanks for all the input.

I am running Debian Lenny:

Code:

root@llocalhost:# uname -r
2.6.26-2-686

I am wondering what difference it would make if I just dropped those snippets right into my xorg.conf instead of making separate files. I have tried just dropping those Sections for Input Devices into my xorg.conf and the only thing that changes is xserver fails because of the evdev-catchall section. It is now commented out and xserver is running but the touch screen is still not working properly, of course. I am doing something wrong.

I am not too familiar with Linux anymore but its coming back slowly. Sorry if I am not understanding something correctly. This the hardest time I have ever had getting a device to work with Linux. I am not giving up though!

Oh yeah, and where do I need to have the CF-29 DMI option?

bnr 05-24-2010 12:59 PM

Quote:

where do I need to have the CF-29 DMI option?
you shouldn't have to do anything with it, the CF-29 DMI code (the device signature) is written into the psmouse module already; if you get any response from the touchsceen then its there. To correctly interpret the touchscreen input you need to install xserver-xorg-input-evtouch;
Code:

sudo apt-get install xserver-xorg-input-evtouch
I don't think that xorg in lenny supports xorg.conf.d snippets, but a regular /etc/X11/xorg.conf should work just fine;
Quote:

# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# Note that some configuration settings that could be done previously
# in this file, now are automatically configured by the server and settings
# here are ignored.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "GLcore"
Load "int10"
Load "type1"
Load "vbe"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us
Option "XkbOptions" "lv3:ralt_switch"
EndSection

Section "InputDevice"
Identifier "touchscreen"
Driver "evtouch"
Option "Device" "/dev/input/by-path/platform-i8042-serio-1-event-mouse"
Option "DeviceName" "touchscreen"
Option "MinX" "230"
Option "MinY" "220"
Option "MaxX" "3900"
Option "MaxY" "3850"
Option "MoveLimit" "5"
Option "ReportingMode" "Raw"
Option "SendCoreEvents" "true"
Option "Emulate3Buttons" "true"
Option "Emulate3Timeout" "40"
EndSection

Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "mouse"
Option "Mode" "Relative"
Option "CorePointer" "true"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "Emulate3Buttons" "true"
#Option "HorizScrollDelta" "0"
EndSection

Section "Device"
Identifier "Configured Video Device"
EndSection

Section "Monitor"
Identifier "Configured Monitor"
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Synaptics Touchpad" "CorePointer"
InputDevice "touchscreen" "SendCoreEvents"
EndSection

Section "DRI"
Mode 0666
EndSection
This is my old one, although the numbers in the touchscreen section might need to be adjusted to suit your computer. You might be best off starting with a fresh automatically created one with ;
Code:

sudo dpkg-reconfigure -phigh xserver-xorg
then add the touch screen section and the touchscreen entry in the inputs and server sections.

Azizcoos 05-25-2010 02:20 PM

I have no /etc/xorg.conf.d because for some unfathomable reason, (k)ubuntu has moved it out of /etc/. It is located at /usr/lib/X11/xorg.conf.d . Now to figure out what to do with it...

Azizcoos 05-25-2010 03:36 PM

xorg.conf.d
 
Here are the contents of my /usr/lib/X11/xorg.conf.d. I have not modified any of these, they are stock kubuntu 10.04, after the installation of package xserver-xorg-input-evtouch.
Code:

/usr/lib/X11/xorg.conf.d$ ls
05-evdev.conf  10-evtouch.conf  10-synaptics.conf  10-vmmouse.conf  10-wacom.conf

/usr/lib/X11/xorg.conf.d$ cat 05-evdev.conf
# Catchall classes for input devices
# We don't simply match on any device since that also adds accelerometers
# and other devices that we don't really want to use. The list below
# matches everything but joysticks.

Section "InputClass"
        Identifier "evdev pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev tablet catchall"
        MatchIsTablet "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

$ cat 10-evtouch.conf
Section "InputClass"
        Identifier "touchscreen catchall"
        MatchIsTouchscreen "on"
        Driver "evtouch"
EndSection

$ cat 10-synaptics.conf
Section "InputClass"
        Identifier "touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "synaptics"
EndSection

Section "InputClass"
        Identifier "Dell Inspiron embedded buttons quirks"
        MatchTag "inspiron_1011|inspiron_1012"
        MatchDevicePath "/dev/input/event*"
        Driver "synaptics"
        Option "JumpyCursorThreshold" "90"
        Option "AreaBottomEdge" "4100"
EndSection

Section "InputClass"
        Identifier "Dell Inspiron quirks"
        MatchTag "inspiron_1120"
        MatchDevicePath "/dev/input/event*"
        Driver "synaptics"
        Option "JumpyCursorThreshold" "250"
EndSection

Section "InputClass"
        Identifier "HP Mininote quirks"
        MatchTag "mininote_1000"
        MatchDevicePath "/dev/input/event*"
        Driver "synaptics"
        Option "JumpyCursorThreshold" "20"
EndSection

$ cat 10-vmmouse.conf
Section "InputClass"
        Identifier "vmmouse catchall"
        MatchTag "vmmouse"
        MatchDevicePath "/dev/input/event*"
        Driver "vmmouse"
EndSection

$ cat 10-wacom.conf
Section "InputClass"
        Identifier "Wacom class"
        MatchProduct "Wacom|WACOM"
        MatchDevicePath "/dev/input/event*"
        Driver "wacom"
EndSection

Section "InputClass"
        Identifier "Wacom serial class"
        MatchProduct "Serial Wacom Tablet"
        Driver "wacom"
        Option "ForceDevice" "ISDV4"
EndSection

# N-Trig Duosense Electromagnetic Digitizer
Section "InputClass"
        Identifier "Wacom N-Trig class"
        MatchProduct "HID 1b96:0001"
        MatchDevicePath "/dev/input/event*"
        Driver "wacom"
EndSection

Now I have added the following as /usr/lib/X11/xorg.conf.d/90-touchscreen.conf
Code:

Section "InputDevice"
        Identifier      "Fujitsu TouchScreen"
        Driver          "evtouch"
        Option          "Device" "/dev/input/by-path/platform-i8042-serio-1-event-mouse"
        Option          "DeviceName" "touchscreen"
        Option          "MinX" "235"
        Option          "MinY" "305"
        Option          "MaxX" "4000"
        Option          "MaxY" "3830"
        Option          "MoveLimit" "5"
        Option          "ReportingMode" "Raw"
        Option          "SendCoreEvents" "true"
        Option          "Emulate3Buttons" "true"
        Option          "Emulate3Timeout" "40"
        Option          "AutoServerLayout" "on"
        Option          "AccelerationProfile" "-1"
EndSection

:D JOY! JOY! JOY! :D

This works here, on a CF-29 running Kubuntu 10.04 (Lucid Lynx). The calibration numbers are the same ones I had previously.

bnr 05-26-2010 09:27 AM

Quote:

I have no /etc/xorg.conf.d
By default neither the /etc/xorg.conf.d folder nor /etc/xorg.conf file exist since most systems are automatically configured.

Quote:

/usr/lib/X11/xorg.conf.d
These are the generic catchalls and specific common configs that are used to configure most systems. While there is probably no harm in putting a custom file in there as well, editing them risks the configuration being over written during an update. The suggested place for making machine specific configuration is the /etc/xorg.conf.d/ folder or in a /etc/xorg.conf file, but they are both in the search path and if it works it works.

flipjarg 05-26-2010 10:22 AM

Quote:

Originally Posted by bnr (Post 3979664)
...
I don't think that xorg in lenny supports xorg.conf.d snippets, but a regular /etc/X11/xorg.conf should work just fine;

I didn't think it did either. I used the xorg you gave me and the touchscreen functioned how it should. The calibration is super close, I just need to tweak it by like 25 pixels up and to the left! Awesome!

The only problem now is getting my touchpad to work. The mouse buttons next to the touchpad work. If I tap the touchpad it acts as a click but I cannot move the mouse cursor with the touchpad.

I am shooting in the dark. I will keep playing with it and see what I come up with. If you have any ideas please let me know.

Thanks again!

Azizcoos 06-06-2010 09:45 PM

Quote:

Originally Posted by bnr (Post 3981804)
The suggested place for making machine specific configuration is the /etc/xorg.conf.d/ folder or in a /etc/xorg.conf file, but they are both in the search path and if it works it works.

I would think that placing the touchscreen config file in the same xorg.conf.d/ that the system uses would be safe. The system did not write that file, so it would be unlikely to overwrite it. It's a good case for using the xorg.conf.d method over a single xorg.conf file, regardless of where you put it. Best to have a backup anyway...

doveas 08-29-2010 10:13 PM

lost
 
Quote:

Originally Posted by bnr (Post 3699882)
to configure the touchscreen, change the MinX MaxX MinY MaxY numbers in the /etc/hal/fdi/policy/10-x11-input.fdi file. Since you won't be able to see a change I would recommend temporarily moving or deleting this file after replacing it with the proper configuration in the /etc/X11/xorg.conf file;
Code:

# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# Note that some configuration settings that could be done previously
# in this file, now are automatically configured by the server and settings
# here are ignored.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#  sudo dpkg-reconfigure -phigh xserver-xorg

Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "GLcore"
Load "int10"
Load "type1"
Load "vbe"
EndSection

Section "InputDevice"
        Identifier        "Generic Keyboard"
        Driver                "kbd"
        Option                "CoreKeyboard"
        Option                "XkbRules" "xorg"
        Option                "XkbModel" "pc105"
        Option                "XkbLayout" "us
        Option                "XkbOptions" "lv3:ralt_switch"
EndSection

Section "InputDevice"
        Identifier        "touchscreen"
        Driver                "evtouch"
        Option                "Device" "/dev/input/by-path/platform-i8042-serio-1-event-mouse"
        Option                "DeviceName" "touchscreen"
        Option                "MinX" "230" #"230"
        Option                "MinY" "220" #"220"
        Option                "MaxX" "3900" #"3900"
        Option                "MaxY" "3850" #"3850"
        Option                "MoveLimit"        "5"
        Option                "ReportingMode" "Raw"
        Option                "SendCoreEvents" "true"
        Option                "Emulate3Buttons" "true"
        Option                "Emulate3Timeout" "40"
EndSection

Section "InputDevice"
        Identifier        "Synaptics Touchpad"
        Driver                "mouse"
        Option                "Mode" "Relative"
        Option                "CorePointer" "true"
        Option                "Device" "/dev/input/mice"
        Option                "Protocol" "ExplorerPS/2"
        Option                "Emulate3Buttons" "true"
        #Option        "HorizScrollDelta" "0"
EndSection

Section "Device"
        Identifier        "Configured Video Device"
EndSection

Section "Monitor"
        Identifier        "Configured Monitor"
EndSection

Section "Screen"
        Identifier        "Default Screen"
        Monitor                "Configured Monitor"
        Device                "Configured Video Device"
EndSection

Section "ServerLayout"
        Identifier        "Default Layout"
        Screen                "Default Screen"
        InputDevice        "Generic Keyboard"
        InputDevice        "Synaptics Touchpad" "CorePointer"
        InputDevice        "touchscreen" "SendCoreEvents"
EndSection

Section "DRI"
Mode 0666
EndSection

With this file in place you will be able to log out and back in again between number changes. You will probably have to reboot once after replacing the /etc/hal/fdi/policy/10-x11-input.fdi with the /etc/X11/xorg.conf file just to get xorg off of the hal configuration and onto the xorg.conf configuration.

As for the configuartion, I would tackle one number at a time, start with minX trying to get the configuration near the left edge horizontally as accurate as possible (don't worry about vertical yet). Then move to MaxX and do the same for the right edge. Repeat for the top (minY) and then the bottom. I believe that both X numbers affect each other to some degree as do both Y numbers, so after you get MinX adjusted changing MaxX will slight unadjust it. You may have to change all of the numbers several times before it is perfect. I would recommend changing in increments of 5 or 10, leave the commented numbers there as references until you are happy with the final result of your efforts. I got it 'close enough' after an hour or so, but mine started out far worse than yours. I later came back and got it closer and it is now almost perfect. For some reason it will never be completely perfect, some areas tend to have bias. When you are happy with the numbers make a new /etc/hal/fdi/policy/10-x11-input.fdi file and rename the /etc/X11/xorg.conf file to /etc/X11/xorg.bak and reboot. At some point use of xorg.conf will be phased out, so I wouldn't recommend using it indefinitely.



Can someone tell me in laymans terms how to do this? Im still learning and i have gotten my touchscreen to work but im at a loss on how to configure it. thanks in advance.


All times are GMT -5. The time now is 02:38 PM.