Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » U++ Developers corner » Touch panel driver !!!
Re: Touch panel driver !!! [message #22325 is a reply to message #22310] Fri, 03 July 2009 18:15 Go to previous messageGo to previous message
Didier is currently offline  Didier
Messages: 736
Registered: November 2008
Location: France
Contributor
Hi,


On linux, or any other unix system, a common way to build a project is to use the following steps:
./configure ==> it manages make configuration in order to
enable correct compilation on you're target

make ==> builds the project

make install ==> install the project binaries and other config
files if there are any


In the copy of the source code you made ( step 2 ), you should have a file called 'configure' ==> it is the script that you must launch with ' ./configure '

NB: you will have to update ther makefile in order for it to properly
name you're binary (or you can rename it by hand afterwards)



Configuration:
--------------

On linux all the graphical stuff is usually managed by the X server. It's configuration is written in '/etc/X11/xorg.conf' file.

All the devices used be the server are also configured inside this file and the server loads all the linux modules indicated:
For each device there is a driver module (binary if you prefer), it's name is included in the 'xorg.conf' file and it is therefor automatically loaded by the X server.


Here is an example config file for a Penmount touchpad (I only put the sections where the touchpad is involved):

Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Keyboard0" "CoreKeyboard"
	InputDevice    "PenMount" "AlwaysCore"            ==> has to be the same name as the Identifier
EndSection                                                   in section "InputDevice"


Section "InputDevice"
	Identifier	"PenMount"
	Driver		"penmount"                         ==> The module name: - penmount_drv.so
                                                                                - penmount_drv.la
	Option		"Protocol"		"PM9000"
	Option		"Device"		"/dev/ttyS3"
	Option		"PMode"			"1"
	Option		"MinX"			"10"
	Option		"MaxX"			"1000"
	Option		"MinY"			"10"
	Option		"MaxY"			"1000"
	Option		"ADBit"			"10"
	Option		"Baudrate"		"19200"
	Option		"Beep"			"0"		#  0 = no beep, 1 = beep enabled
	Option		"PressVol"		"100"	#  volume of beep (press event)
	Option		"PressPitch"	"880"	#  pitch of beep (press event)
	Option		"PressDur"		"15"	#  length of beep in 10ms (press event)
	Option		"ReleaseVol"	"0"		#  volume of beep (release event)
	Option		"ReleasePitch"	"1200"	#  pitch of beep (release event)
	Option		"ReleaseDur"	"10"	#  len of beep in 10ms (release event)
	Option		"RightButton"	"0"	#  right button active in ms
	Option		"RightButtonStart"	"500"	#  right button active in ms
	Option		"RightButtonEnd"	"900"	#  right button inactive in ms
	Option		"PenDownMode"	"1"	#  0=stream mode, 1=point mode
EndSection





NB: all the code written for the Xorg server is GPL since it works at kernel level
So you're driver will also be GPL.

If it is for a commercial touchpad, publish it. sommebody else might be glad to find it latter.


I hope this will help you.

 
Read Message icon5.gif
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message icon14.gif
Read Message
Read Message
Read Message
Read Message
Previous Topic: CeGCC
Next Topic: Warning: RichText
Goto Forum:
  


Current Time: Fri Jul 18 03:14:43 CEST 2025

Total time taken to generate the page: 0.04121 seconds