Home | History | Annotate | Line # | Download | only in pckbport
synapticsreg.h revision 1.1
      1 /*	$NetBSD: synapticsreg.h,v 1.1 2004/12/24 18:33:06 christos Exp $	*/
      2 
      3 /*
      4  * Copyright (c) 2004, Ales Krenek
      5  * Copyright (c) 2004, Kentaro A. Kurahone
      6  * All rights reserved.
      7  *
      8  * Redistribution and use in source and binary forms, with or without
      9  * modification, are permitted provided that the following conditions
     10  * are met:
     11  *
     12  *   * Redistributions of source code must retain the above copyright
     13  *     notice, this list of conditions and the following disclaimer.
     14  *   * Redistributions in binary form must reproduce the above
     15  *     copyright notice, this list of conditions and the following
     16  *     disclaimer in the documentation and/or other materials provided
     17  *     with the distribution.
     18  *   * Neither the name of the Kentaro A. Kurahone nor the names of its
     19  *     contributors may be used to endorse or promote products derived
     20  *     from this software without specific prior written permission.
     21  *
     22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     23  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     24  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
     25  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
     26  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     27  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     28  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     29  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     30  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
     32  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     33  * POSSIBILITY OF SUCH DAMAGE.
     34  *
     35  */
     36 
     37 #ifndef _DEV_PCKBCPORT_SYNAPTICSREG_H_
     38 #define _DEV_PCKBCPORT_SYNAPTICSREG_H_
     39 
     40 /* Synaptics PS/2 commands. */
     41 #define SYNAPTICS_IDENTIFY_TOUCHPAD	0x0
     42 #define SYNAPTICS_READ_CAPABILITIES	0x2
     43 #define SYNAPTICS_EXTENDED_QUERY	0x9
     44 
     45 /* Magic numbers. */
     46 #define SYNAPTICS_MIN_VERSION		45 /* 4.5 */
     47 #define SYNAPTICS_MAGIC_BYTE		0x47
     48 
     49 /* Capability bits. */
     50 #define SYNAPTICS_CAP_EXTENDED		(1 << 15)
     51 #define SYNAPTICS_CAP_EXTNUM		(1 << 14 | 1 << 13)
     52 #define SYNAPTICS_CAP_MBUTTON		(1 << 10)
     53 #define SYNAPTICS_CAP_PASSTHROUGH	(1 << 7)
     54 #define SYNAPTICS_CAP_SLEEP		(1 << 4)
     55 #define SYNAPTICS_CAP_4BUTTON		(1 << 3)
     56 #define SYNAPTICS_CAP_MULTIDETECT	(1 << 1)
     57 #define SYNAPTICS_CAP_PALMDETECT	(1)
     58 
     59 /* Mode bits. */
     60 #define SYNAPTICS_MODE_ABSOLUTE		(1 << 7)
     61 #define SYNAPTICS_MODE_RATE		(1 << 6)
     62 #define SYNAPTICS_MODE_SLEEP		(1 << 3)
     63 #define SYNAPTICS_MODE_GEST		(1 << 2)
     64 #define SYNAPTICS_MODE_W		(1)
     65 
     66 /* Tunables sysctl defaults. */
     67 #define SYNAPTICS_SLOW_LIMIT		(30*30)
     68 #define SYNAPTICS_TAP_TOLERANCE		500
     69 #define SYNAPTICS_TAP_LENGTH		200000
     70 
     71 /* Extended mode button masks. */
     72 #define SYN_1BUTMASK			0x1
     73 #define SYN_2BUTMASK			0x1
     74 
     75 /* Threshold for idleness. */
     76 #define SYNAPTICS_NOTOUCH		30
     77 
     78 #endif
     79