Multitouch X driver (GPL license)

Copyright (C) 2008 Henrik Rydberg <rydberg@euromail.se>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

---

The Multitouch X driver extracts a lot of X knowledge from the
synaptics X driver (MIT license)

Copyright (C) 1997 C. Scott Ananian
Copyright (C) 1998-2000 Bruce Kalk
Copyright (C) 1999 Henry Davies
Copyright (C) 2001 Stefan Gmeiner
Copyright (C) 2002 Linuxcare Inc. David Kennedy
Copyright (C) 2003 Fred Hucht
Copyright (C) 2003 Neil Brown
Copyright (C) 2003 Jörg Bösner
Copyright (C) 2003 Hartwig Felger
Copyright (C) 2002-2007 Peter Osterlund
Copyright (C) 2004 Arne Schwabe
Copyright (C) 2004 Matthias Ihmig
Copyright (C) 2004 Alexei Gilchrist
Copyright (C) 2006-2007 Christian Thaeter
Copyright (C) 2006 Stefan Bethge
Copyright (C) 2007 Joseph P. Skudlarek
Copyright (C) 2007 Florian Loitsch
Copyright (C) 2008 Fedor P. Goncharov
Copyright (C) 2008-2009 Red Hat, 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
AUTHORS OR COPYRIGHT HOLDERS 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.

---
