1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
It is possible to use the driver with an ALPS Glidepoint device, if
you are using a 2.6 linux kernel and the ALPS kernel patch. (The
alps.patch file.)
One user reported success with the following parameter settings:
LeftEdge = 60
RightEdge = 830
TopEdge = 70
BottomEdge = 650
FingerLow = 25
FingerHigh = 30
MaxTapTime = 180
MaxTapMove = 110
EmulateMidButtonTime = 75
VertScrollDelta = 50
HorizScrollDelta = 50
MinSpeed = 0.2
MaxSpeed = 0.5
AccelFactor = 0.01
EdgeMotionSpeed = 40
UpDownScrolling = 1
TouchpadOff = 0
Note though that the auto-dev protocol option doesn't work for ALPS
devices, so you have to use the "event" protocol instead and set the
device option to the correct event device. (Look for a mouse device in
/proc/bus/input/devices and see which event device it is connected
to.) Here is an example InputDevice section for the XF86Config file.
Section "InputDevice"
Driver "synaptics"
Identifier "Mouse[1]"
Option "Device" "/dev/input/event1"
Option "Protocol" "event"
Option "LeftEdge" "60"
Option "RightEdge" "830"
Option "TopEdge" "70"
Option "BottomEdge" "650"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "110"
Option "EmulateMidButtonTime" "75"
Option "VertScrollDelta" "50"
Option "HorizScrollDelta" "50"
Option "MinSpeed" "0.2"
Option "MaxSpeed" "0.5"
Option "AccelFactor" "0.01"
Option "EdgeMotionSpeed" "40"
Option "UpDownScrolling" "1"
Option "TouchpadOff" "0"
EndSection
On some (all?) ALPS hardware, it is not possible to disable tapping
unless you apply the patch below. However, some users have reported
that this patch breaks tap-and-drag operations, which is why the patch
is not included in the main alps.patch file.
--- linux/drivers/input/mouse/alps.c~alps-test3 2004-02-28 20:46:34.000000000 +0100
+++ linux-petero/drivers/input/mouse/alps.c 2004-02-28 20:49:12.000000000 +0100
@@ -87,6 +87,10 @@ static void ALPS_process_packet(struct p
y = (packet[4] & 0x7f) | ((packet[3] & 0x70)<<(7-4));
z = packet[5];
+ if (packet[2] & 1) {
+ z = 35;
+ }
+
if (z > 0) {
input_report_abs(dev, ABS_X, x);
input_report_abs(dev, ABS_Y, y);
@@ -97,7 +101,6 @@ static void ALPS_process_packet(struct p
if (z > 30) input_report_key(dev, BTN_TOUCH, 1);
if (z < 25) input_report_key(dev, BTN_TOUCH, 0);
- left |= (packet[2] ) & 1;
left |= (packet[3] ) & 1;
right |= (packet[3] >> 1) & 1;
if (packet[0] == 0xff) {
|