Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
input
mouse
alps.h
Go to the documentation of this file.
1
/*
2
* ALPS touchpad PS/2 mouse driver
3
*
4
* Copyright (c) 2003 Peter Osterlund <
[email protected]
>
5
* Copyright (c) 2005 Vojtech Pavlik <
[email protected]
>
6
*
7
* This program is free software; you can redistribute it and/or modify it
8
* under the terms of the GNU General Public License version 2 as published by
9
* the Free Software Foundation.
10
*/
11
12
#ifndef _ALPS_H
13
#define _ALPS_H
14
15
#define ALPS_PROTO_V1 0
16
#define ALPS_PROTO_V2 1
17
#define ALPS_PROTO_V3 2
18
#define ALPS_PROTO_V4 3
19
20
struct
alps_model_info
{
21
unsigned
char
signature
[3];
22
unsigned
char
command_mode_resp
;
/* v3/v4 only */
23
unsigned
char
proto_version
;
24
unsigned
char
byte0
,
mask0
;
25
unsigned
char
flags
;
26
};
27
28
struct
alps_nibble_commands
{
29
int
command
;
30
unsigned
char
data
;
31
};
32
33
struct
alps_data
{
34
struct
input_dev *
dev2
;
/* Relative device */
35
char
phys
[32];
/* Phys */
36
const
struct
alps_model_info
*
i
;
/* Info */
37
const
struct
alps_nibble_commands
*
nibble_commands
;
38
int
addr_command
;
/* Command to set register address */
39
int
prev_fin
;
/* Finger bit from previous packet */
40
int
multi_packet
;
/* Multi-packet data in progress */
41
unsigned
char
multi_data
[6];
/* Saved multi-packet data */
42
int
x1
,
x2
,
y1
,
y2
;
/* Coordinates from last MT report */
43
int
fingers
;
/* Number of fingers from MT report */
44
u8
quirks
;
45
struct
timer_list
timer
;
46
};
47
48
#define ALPS_QUIRK_TRACKSTICK_BUTTONS 1
/* trakcstick buttons in trackstick packet */
49
50
#ifdef CONFIG_MOUSE_PS2_ALPS
51
int
alps_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties);
52
int
alps_init
(
struct
psmouse
*
psmouse
);
53
#else
54
inline
int
alps_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties)
55
{
56
return
-
ENOSYS
;
57
}
58
inline
int
alps_init
(
struct
psmouse
*
psmouse
)
59
{
60
return
-
ENOSYS
;
61
}
62
#endif
/* CONFIG_MOUSE_PS2_ALPS */
63
64
#endif
Generated on Thu Jan 10 2013 13:39:40 for Linux Kernel by
1.8.2