-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I am developing the touchscreen driver for the Lifebook B-Series.
Newer versions of X enforce the setting "CorePointer" in the file
XF86Config-4 (older versions did not). If "CorePointer" is set KDE and
Gnome seem to stall (Well actually the X-Server exits with Signal 11).
It seems that a call to the Function "XGetPointerControl" causes this
fault. Below you'll find the source of a little test program which
causes the error. This error is independent of the version of my driver
you use (download from www.conan.de/lifebook/lifebook.html). I think
someone from the xfree-team has a 2154-model of the B-Series -- it
would be very nice if he could help me and try to find out more about
this failure.
I think something is wrong in my driver but the X-Server shouldn't
stall either.
Below you find the test program and my XF86Config-4 which causes this
error.
Thank for your help
Kenan
***********************Test-program*********************************************************
#include <stdlib.h> /* getenv(), etc. */
#include <unistd.h> /* sleep(), etc. */
#include <stddef.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <pthread.h>
#include <X11/keysym.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h> /* BitmapOpenFailed, etc. */
#include <X11/cursorfont.h> /* pre-defined crusor shapes */
#include "lb_calibrate.h"
int main (void)
{
unsigned char map[5];
int num_buttons;
int accel_num, accel_den, threshold;
Display* display;
Screen* screen;
Window win;
Colormap cmap;
int depth;
int screen_num;
int screen_width;
int screen_height;
Window root_window;
/*
these variables will be used to store the IDs of the black and white
colors of the given screen. More on this will be explained later.
*/
unsigned long white_pixel;
unsigned long black_pixel;
display = XOpenDisplay(":0");
if (display == NULL) {
fprintf(stderr, "Cannot connect to X server %s\n", ":0");
exit(-1);
}
/* check the number of the default screen for our X server. */
screen_num = DefaultScreen(display);
/* find the width of the default screen of our X server, in pixels. */
screen_width = DisplayWidth(display, screen_num);
/* find the height of the default screen of our X server, in pixels. */
screen_height = DisplayHeight(display, screen_num);
/* find the ID of the root window of the screen. */
root_window = RootWindow(display, screen_num);
/* find the value of a white pixel on this screen. */
white_pixel = WhitePixel(display, screen_num);
/* find the value of a black pixel on this screen. */
black_pixel = BlackPixel(display, screen_num);
win = XCreateSimpleWindow(display,
RootWindow(display, screen_num),
0, 0,
screen_width, screen_height,
2,
BlackPixel(display, screen_num),
WhitePixel(display, screen_num));
/*XQueryTree(display, win,
&root_win,
&parent_win,
&child_windows, &num_child_windows);
XFree(child_windows);*/
screen = DefaultScreenOfDisplay(display);
cmap = DefaultColormapOfScreen(screen);
depth = XDefaultDepth(display, screen_num);
XGetPointerControl( display,
&accel_num, &accel_den, &threshold );
accel_num /= accel_den; // integer acceleration only
num_buttons = XGetPointerMapping(display, map, 5);
XCloseDisplay(display);
return 1;
}
***********************Test-program*********************************************************
***********************XF86Config-4********************************************************
#
# Copyright (c) 1999 by The XFree86 Project, Inc.
#
# Permission is hereby granted, free of charge, to any person obtaining
a
# copy of this software and associated documentation files (the
"Software"),
# to deal in the Software without restriction, including without
limitation
# the rights to use, copy, modify, merge, publish, distribute,
sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be
included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL
# THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF
# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# Except as contained in this notice, the name of the XFree86 Project
shall
# not be used in advertising or otherwise to promote the sale, use or
other
# dealings in this Software without prior written authorization from the
# XFree86 Project.
#
# **********************************************************************
# Refer to the XF86Config(4/5) man page for details about the format of
# this file.
# **********************************************************************
# **********************************************************************
# Module section -- this section is used to specify
# which dynamically loadable modules to load.
# **********************************************************************
#
#Section "Pointer"
# Protocol "Microsoft"
# Device "/dev/ttyS0"
# Emulate3Timeout 50
# Resolution 100
## Buttons 2
# Buttons 3
# Emulate3Buttons
#EndSection
Section "Module"
# This loads the DBE extension module.
Load "dbe" # Double buffer extension
# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
#SubSection "extmod"
# Option "omit xfree86-dga" # don't initialise the DGA
extension
#EndSubSection
# This loads the Type1 and FreeType font modules
Load "type1"
Load "freetype"
# This loads the GLX module
Load "glx"
Load "GLcore"
Load "xie"
Load "record"
Load "dri"
EndSection
# **********************************************************************
# Files section. This allows default font and rgb paths to be set
# **********************************************************************
Section "Files"
# The location of the RGB database. Note, this is the name of the
# file minus the extension (like ".txt" or ".db"). There is normally
# no need to change the default.
RgbPath "/usr/X11R6/lib/X11/rgb"
# Multiple FontPath entries are allowed (which are concatenated
together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
#
# If you don't have a floating point coprocessor and emacs, Mosaic or
other
# programs take long to start up, try moving the Type1 and Speedo
directory
# to the end of this list (or comment them out).
#
# FontPath "/usr/X11R6/lib/X11/fonts/local/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
# The module search path. The default path is shown here.
# ModulePath "/usr/X11R6/lib/modules"
EndSection
# **********************************************************************
# Server flags section.
# **********************************************************************
Section "ServerFlags"
# Uncomment this to cause a core dump at the spot where a signal is
# received. This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging
# Option "NoTrapSignals"
# Uncomment this to disable the <Crtl><Alt><BS> server abort sequence
# This allows clients to receive this key event.
# Option "DontZap"
# Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching
# sequences. This allows clients to receive these key events.
# Option "Dont Zoom"
# Uncomment this to disable tuning with the xvidtune client. With
# it the client can still run and fetch card and monitor attributes,
# but it will not be allowed to change them. If it tries it will
# receive a protocol error.
# Option "DisableVidModeExtension"
# Uncomment this to enable the use of a non-local xvidtune client.
# Option "AllowNonLocalXvidtune"
# Uncomment this to disable dynamically modifying the input device
# (mouse and keyboard) settings.
# Option "DisableModInDev"
# Uncomment this to enable the use of a non-local client to
# change the keyboard or mouse settings (currently only xset).
# Option "AllowNonLocalModInDev"
EndSection
# **********************************************************************
# Input devices
# **********************************************************************
# **********************************************************************
# Core keyboard's InputDevice section
# **********************************************************************
Section "InputDevice"
Identifier "Keyboard1"
Driver "Keyboard"
# For most OSs the protocol can be omitted (it defaults to "Standard").
# When using XQUEUE (only for SVR3 and SVR4, but not Solaris),
# uncomment the following line.
# Option "Protocol" "Xqueue"
Option "AutoRepeat" "500 30"
# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
# Option "Xleds" "1 2 3"
# Option "LeftAlt" "Meta"
# Option "RightAlt" "ModeShift"
# To customise the XKB settings to suit your keyboard, modify the
# lines below (which are the defaults). For example, for a non-U.S.
# keyboard, you will probably want to use:
# Option "XkbModel" "pc102"
# If you have a US Microsoft Natural keyboard, you can use:
# Option "XkbModel" "microsoft"
#
# Then to change the language, change the Layout setting.
# For example, a german layout can be obtained with:
# Option "XkbLayout" "de"
# or:
# Option "XkbLayout" "de"
# Option "XkbVariant" "nodeadkeys"
#
# If you'd like to switch the positions of your capslock and
# control keys, use:
# Option "XkbOptions" "ctrl:swapcaps"
# These are the default XKB settings for XFree86
# Option "XkbRules" "xfree86"
# Option "XkbModel" "pc101"
# Option "XkbLayout" "us"
# Option "XkbVariant" ""
# Option "XkbOptions" ""
# Option "XkbDisable"
# **********************************************************************
# Core Pointer's InputDevice section Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "de"
Option "XkbVariant" "nodeadkeys"
Option "XkbOptions" "grp:toggle,ctrl:ctrl_aa,grp_led:caps"
# **********************************************************************
# Option "XkbRules" "xfree86"
# Option "XkbModel" "pc101"
# Option "XkbLayout" "de"
# Option "XkbVariant" "nodeadkeys"
# Option "XkbOptions" "grp:switch,ctrl:nocaps,grp_led:num"
EndSection
Section "InputDevice"
# Identifier and driver
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "PS/2"
#Option "Protocol" "Microsoft"
Option "Device" "/dev/psaux"
# When using XQUEUE, comment out the above two lines, and uncomment
# the following line.
# Option "Protocol" "Xqueue"
# Baudrate and SampleRate are only for some Logitech mice. In
# almost every case these lines should be omitted.
# Option "BaudRate" "9600"
# Option "SampleRate" "150"
# Emulate3Buttons is an option for 2-button Microsoft mice
# Emulate3Timeout is the timeout in milliseconds (default is 50ms)
Option "Emulate3Buttons"
Option "Emulate3Timeout" "50"
# ChordMiddle is an option for some 3-button Logitech mice
# Option "ChordMiddle"
EndSection
Section "InputDevice"
Identifier "touchscreen"
Driver "lbtouch"
Option "Device" "/dev/psaux"
#Option "Device" "/dev/ttyS1"
#Option "DeviceName" "touchscreen"
#Option "MinX" "86"
#Option "MinY" "37"
#Option "MaxX" "955"
#Option "MaxY" "937"
Option "MinX" "86"
Option "MinY" "37"
Option "MaxX" "958"
Option "MaxY" "940"
Option "x0" "-9"
Option "y0" "-2"
Option "x1" "4"
Option "y1" "-4"
Option "x2" "6"
Option "y2" "-6"
Option "x3" "-7"
Option "y3" "1"
Option "x4" "3"
Option "y4" "-1"
Option "x5" "4"
Option "y5" "-2"
Option "x6" "-2"
Option "y6" "1"
Option "x7" "3"
Option "y7" "0"
Option "x8" "-1"
Option "y8" "-2"
Option "ReportingMode" "Raw"
#Option "DebugLevel" "9"
Option "Emulate3Buttons"
Option "Emulate3Timeout" "50"
Option "SendCoreEvents" "On"
#Option "Calibrate" "1"
EndSection
# **********************************************************************
# Monitor section
# **********************************************************************
# Any number of monitor sections may be present
Section "Monitor"
Identifier "lcd"
# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.
HorizSync 31.5 - 48.5
# HorizSync 30-64 # multisync
# HorizSync 31.5, 35.2 # multiple fixed sync frequencies
# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies
# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.
VertRefresh 50-90
DisplaySize 213 160
EndSection
# **********************************************************************
# Graphics device section
# **********************************************************************
# Any number of graphics device sections may be present
# Standard VGA Device:
Section "Device"
Identifier "Standard VGA"
VendorName "Unknown"
BoardName "Unknown"
# The chipset line is optional in most cases. It can be used to
override
# the driver's chipset detection, and should not normally be specified.
# Chipset "generic"
# The Driver line must be present. When using run-time loadable driver
# modules, this line instructs the server to load the specified driver
# module. Even when not using loadable driver modules, this line
# indicates which driver should interpret the information in this
section.
Driver "vga"
# The BusID line is used to specify which of possibly multiple devices
# this section is intended for. When this line isn't present, a device
# section can only match up with the primary video device. For PCI
# devices a line like the following could be used. This line should not
# normally be included unless there is more than one video device
# intalled.
# BusID "PCI:0:10:0"
# VideoRam 256
# Clocks 25.2 28.3
EndSection
# Device configured by xf86config:
Section "Device"
Identifier "mach64"
Driver "ati"
#VideoRam 4096
# Insert Clocks lines here if appropriate
EndSection
# **********************************************************************
# Screen sections
# **********************************************************************
# Any number of screen sections may be present. Each describes
# the configuration of a single screen. A single specific screen
section
# may be specified from the X server command line with the "-screen"
# option.
Section "Screen"
Identifier "Screen 1"
Device "mach64"
Monitor "lcd"
DefaultDepth 16
Subsection "Display"
Depth 8
Modes "640x480" "800x600" "1024x768" "1280x1024"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "800x600" "1024x768" "1280x1024"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "800x600" "1024x768" "1280x1024"
ViewPort 0 0
EndSubsection
EndSection
# **********************************************************************
# ServerLayout sections.
# **********************************************************************
Section "ServerLayout"
# The Identifier line must be present
Identifier "Simple Layout"
# Each Screen line specifies a Screen section name, and optionally
# the relative position of other screens. The four names after
# primary screen name are the screens to the top, bottom, left and right
# of the primary screen. In this example, screen 2 is located to the
# right of screen 1.
Screen "Screen 1"
# Each InputDevice line specifies an InputDevice section name and
# optionally some options to specify the way the device is to be
# used. Those options include "CorePointer", "CoreKeyboard" and
# "SendCoreEvents".
#InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "touchscreen" "CorePointer"
#InputDevice "touchscreen"
EndSection
Section "DRI"
Mode 0666
EndSection
***********************XF86Config-4********************************************************
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE8cTp/5tWSo2eXmVARAplsAJ97bWrLZCiucA/+3ivHcrguDy3HcwCgm6o7
quqEIQLDHAmuPUKXPr6lHVY=
=HYCi
-----END PGP SIGNATURE-----
_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert