-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
13992 lines (9672 loc) · 493 KB
/
ChangeLog
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
commit af7d8a15278a968d919bf539628281bf713f747b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Oct 29 12:10:09 2015 +1000
synaptics 1.8.3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 3e7508ac087028f8f8e116f5279dad1ebcdc58e6
Author: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Date: Thu Aug 14 20:03:42 2014 +0200
Use cumulative relative touch movements while scrolling
Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit ec0901e5f81d9cad6cc8bbdcb5ea075009c13de5)
commit 6f8d4bac14ac8f3fd2714f0a8a9e37c5136a4013
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Mar 27 11:26:55 2015 +1000
synaptics 1.8.2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 15caf2b53407379f8e677d48a022f4b46b97d83a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Mar 24 15:41:39 2015 +1000
eventcomm: ignore fake and broken MT devices
An MT device without X/Y is not a touchpad. And neither are fake MT devices.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
(cherry picked from commit fc9f490a2c87e6f87b0f483cd6bf5f526dddbb8d)
commit ef8daaf696584f7c1d3e9f192de18b5b9f923bdc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Mar 23 11:38:15 2015 +1000
eventcomm: prevent possibly division by zero
This came up as a kernel bug, but it's valid to create uinput devices with a
min == max range for x/y. Technically valid, but effectively useless, so catch
it, complain and hobble on along.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
(cherry picked from commit 30866b97be6939b895327b930154ef758eed7ff8)
commit 90c6d7fc60f3db1bd9db1c7702062fcaef3b3352
Author: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Date: Thu Jan 15 22:04:17 2015 +0100
Add a delay between the second button down-up event of double taps
Some applications ignore the second tap of double taps because of the
lack of a delay between the button down and button up events.
Prevent this by replacing the transition from TS_2B to TS_START with a
transition from TS_2B to TS_SINGLETAP that emits only a button down
event. The button up event will be emitted when transitioning from
TS_SINGLETAP to TS_START.
In addition, decrease the default value of MaxDoubleTapTime from 180 ms
to 100 ms in order to make double taps faster.
Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 37d34f0356cc556dd8a49ec5d1ed64d49417a9b2)
commit 649b77f0ce617fd1ec073b281636e304e80b56c0
Author: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Date: Thu Jan 15 22:04:16 2015 +0100
Update machine state diagram
The diagram didn't entirely reflect the current state of the code.
Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit a357647d3fb918b94efbda98138fb0240a949ef2)
commit d50c4bab8ae2836a0f38b29a5d22be2e950e4d08
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Sep 18 07:40:13 2014 +1000
synaptics 1.8.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit bdf6a6b2e2603142e62ae5968c65e6e26f57e51d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Sep 16 10:44:40 2014 +1000
Prohibit negative or zero x/y resolutions
Default resolution is 1, don't allow setting 0 to avoid divisions by 0 or
just general weirdness.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 049611bd7f04e285909c55807478306cce83385f)
commit 2dd60417450af4ac4f9938e09b06707dd91bddfb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Sep 5 15:14:47 2014 +1000
When resetting, reset the open slots to -1
open_slots holds the slot index, resetting it to 0 is a bad idea. And make
sure that we do reset after DEVICE_INIT. We already do so on DEVICE_CLOSE, but
after the first DEVICE_ON the data could still be random.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit afbbcfa10eb3a2295823720907f35bb59972dd82)
commit 9de611219bebd9b101b98bb79cc0173115ee1833
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Sep 5 14:24:29 2014 +1000
eventcomm: add missing axis labels to avoid array overrun
And warn when we run out of labels.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit d239f831f17ccf5468f5dc6b2f199a9c1f6e35af)
commit 36d7ee1c9d60752666a94ee4755b3a1d0f339164
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Aug 28 14:13:38 2014 +1000
eventcomm: ensure we're on the same clock as the server
Default on evdev devices is CLOCK_REALTIME. If that clock falls behind the
server's CLOCK_MONOTONIC, motion after a clickpad click may be delayed by the
difference in the clocks.
In detail:
When the timer func is triggered, GetTimeInMillis() which is CLOCK_MONOTONIC,
is stored as hwState->millis. The eventcomm backend uses struct
input_event time (CLOCK_REALTIME).
When we read events from the device, if the evdev time is less than the server
time, the fix for (#48777) sets the current event time to hwState->millis.
Until the evdev time overtakes that stored time, all events have the
hwState->millis time.
If during that time a clickpad triggers a physical click,
clickpad_click_millis is set to hwState->millis + the ignore-motion timeout.
Thus, all motion is ignored until the event time overtakes that stored
time.
The whole issue is further enhanced by us unconditionally setting the timer
func if we get any events, which is a separate issue anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
(cherry picked from commit 90d19302306f49722e210227b2fb5161e6f51880)
commit 475e0d3668097f4deb9448c8765dd12b3f15534f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Aug 29 07:57:41 2014 +1000
Include xorg-server.h to fix build errors on newest glibc
In file included from /usr/include/string.h:634:0,
from /usr/include/xorg/os.h:53,
from /usr/include/xorg/misc.h:115,
from /usr/include/xorg/xf86str.h:37,
from /usr/include/xorg/xf86Xinput.h:54,
from synproto.h:36,
from synproto.c:24:
/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__'
strndup(const char *str, size_t n);
See http://lists.freedesktop.org/archives/xorg-devel/2014-July/043070.html
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 96e60a4ea242d2decf109835981ae186cc36f642)
commit ae77fdfc8e57e612e8aa0e9b45bbea478a82c30b
Author: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Date: Sun Jul 27 12:58:18 2014 +0200
Prevent two-finger taps from being ignored
When two fingers are used, the coordinates of only one of them is taken into
account. This can lead to sudden variations of the absolute coordinates when
two-fingers taps are performed if the finger considered changes.
Take into account coordinates variations to prevent unwanted taps only if
the number of fingers doesn't change.
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 7d0ff39519e4d3760722b914883bee276035061c)
commit cbf0ca508a14201d2c25f96dd6f38cea2cb1954b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Aug 6 12:04:14 2014 +1000
conf: increase top software button area to 15%
We had reports that the top software button area is hard to hit for those
using the trackpoint and clicking the buttons with their thumb.
Analysis of event recordings (3 different people) for left, right and middle
clicks shows that there is a significant amount of events up to about 10mm
(with outliers up to 12mm) from the top of the touchpad. That maps to 15%.
Interestingly, the middle button does not seem to need this, presumably the
haptic feedback of the little dots sticking out from the surface make hitting
the button easier. Its size is increased to 15% anyway, for simplicity and
because a sample set of 3 is too small to be definitive about this.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
(cherry picked from commit 730101223432f60397c61f74a5e6789b3ee34ecd)
commit 3a4cc96590ca0e0ff526a5e5406f29a402bddd1a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue May 13 11:20:25 2014 +1000
synaptics 1.8.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit d4d7229c41a20cf6757882a24f45e28d936a27c5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Apr 30 13:08:53 2014 +1000
conf: drop the PNPID matching from the fdi file
Rely on INPUT_PROP_TOP_BUTTONPAD and default button areas as well.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit a31ecb669f40d8db3ab1867eaedfe364bbd6fafe
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Apr 30 07:45:34 2014 +1000
synaptics 1.7.99.2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit efa424b5c9c084c1c1136a68329709c7dc9ddfda
Author: Clinton Sprain <clintonsprain@gmail.com>
Date: Tue Apr 29 19:47:17 2014 -0500
Fix product ID cutoff for MODEL_APPLETOUCH/MODEL_UNIBODY_MACBOOK
Some Macbooks are being tagged as MODEL_UNIBODY_MACBOOKs when they should not
be. This causes the default sensitivity to be very low for them, making the
touchpad almost unusable. This change puts those devices into the correct
bucket again.
Signed-off-by: Clinton Sprain <clintonsprain@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 7bf27568417691e772e715f8fc6c30ea7ec892d6
Author: Hans de Goede <hdegoede@redhat.com>
Date: Tue Apr 22 18:58:11 2014 +0200
Add support for INPUT_PROP_TOPBUTTONPAD
Add a HasSecondaryButtons boolean config option which defaults to true for
devices with the INPUT_PROP_TOPBUTTONPAD and false for all other devices.
Only parse the SecondarySoftButtonAreas when this option is true, effectively
disabling the top buttons when it is false. Likewise, only initialize the
SecondarySoftButtonAreas property if we enable support for it.
This means that it is now safe to always set a SecondarySoftButtonAreas
default in 50-synaptics.conf, and that he section which was intended for
use with future pnp-id matching can be dropped, as that is now all handled
in the kernel.
While at also remove the comment about disabling the bottom edge area, as that
is now done automatically.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit 41afac2abf12dd74a171f726b57014f7fb266957
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Apr 29 12:13:10 2014 +1000
man: add some missing quotes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit a6f0f4c9a5bcb0e25343dd4c59d4cc47cc5e8006
Author: Hans de Goede <hdegoede@redhat.com>
Date: Fri Apr 11 20:41:36 2014 +0200
Always count tripletap + click as 3 fingerclick on pads with < 3 touches
When trying to do a 3 fingerclick on a touchpad which only tracks 2 touches,
this may register as a 3 or 2 fingerclick depending on the order in which
the touchpad detects the fingers. If the 2 outer fingers of the 3 get seen
first, then the 2 touches will be too far apart for the heuristic to see
them as being close together, and the click gets counted as a 2 finger click.
A user will likely never do a 2 finger click with a 3th finger resting
somewhere else on the pad, where-as the above misdetection of the clicks is
a real issue, so simply always count a click with trippletap set as a
3 finger click on pads which track less then 3 touches.
https://bugzilla.redhat.com/show_bug.cgi?id=1086218
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit f183c1c38778b659b4c75a0e2c532dd5a9f8d437
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Apr 9 10:41:29 2014 +1000
conf: add more PnPIDs and DMI matches for Lenovos
And expand DMI strings to more precise matches
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit 62ef210d11714703345dc8d35915ff53c37aee01
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Apr 7 16:16:13 2014 +1000
Comment the touch states
Everytime I look at this I get confused about OPEN_EMPTY vs EMPTY. Let's fix
that.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit bfceb1bc580656aceb14e4b0f880bfcb3e4bc368
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Apr 4 15:51:22 2014 +1000
eventcomm: Hook up the libevdev log handler
This is a bit problematic: libevdev only has one global log handler.
So if we have another driver use libevdev, we'll either overwrite that handler
or get overwritten, whichever comes first. So we need to re-set the handler
every time we get an event to make sure we log through our handler.
Likewise, if we ever drop the device, we need to unset the log handler back to
NULL because we may unload the module and our handler may disappear.
Use the lowest logging priority, let the server filter based on the verbosity
level instead.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit 6ad856790630393bbd41b0bd7746ed9b0629a7c6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Apr 3 16:41:15 2014 +1000
eventcomm: read one more event after finishing a sync
Once the sync finishes, we get -EAGAIN. This only indicates the sync is done,
but some events may still be waiting in the pipe for us to read. We must read
those now, otherwise select may not trigger on further data.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit bec41416dbbee73eef9eee122d0acacc148e329d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Apr 3 15:42:45 2014 +1000
eventcomm: drop superflous helper function
last_mt_vals_slot is only used in one location and there we can just use
cur_slot
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit f1948e08ee9894864254a18098e4f4fceb6e322f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Mar 19 15:08:15 2014 +1000
Disable GrabEventDevice by default
This was required when we started supporting hotplugging to avoid duplicate
events. These days the drawback of not being able to record events in the case
of a bug is significant.
Check the configuration source on init. If the device was hotplugged through a
a server config backend, disable the grab. If the device was statically
configured through an xorg.conf then leave the default grab enabled to avoid
a duplicate device.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit fd709900445e3cb9f31ce7e780bfa98ecb6dab9b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Mar 18 07:28:44 2014 +1000
synaptics 1.7.99.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit dc5474964d4ec73b5c324961026e1037bb344946
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Mar 17 14:55:37 2014 +1000
If the touchpad is in TOUCHPAD_OFF mode, allow physical clicks
Enabling clicks in off mode also allows for the new Lenovo *40 series to use
the top software buttons while the touchpad is disabled. This benefits those
that usually disable touchpads altogether but still need the buttons for the
trackstick.
This changes existing behaviour, but TouchpadOff was always intended to stop
erroneous events while typing. Physical button presses are hard to trigger
accidentally. On the touchpads that TouchpadOff concept was originally
designed for the buttons are nowhere near the keyboard and are physically
separated from the touchpad anyway. On Clickpads, triggering a physical
click requires more force than accidentally touching the surface.
https://bugs.freedesktop.org/show_bug.cgi?id=76156
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit 4122db68f61c695eae3a65aec18db08b29898b6a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Mar 13 08:26:08 2014 +1000
conf: automatically enable the top softbutton area for the new Lenovos
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 18dae625eada20c4486542f9bb037fa2782d75bd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Sun Aug 5 14:32:08 2012 +1000
conf: apply ClickPad softbuttons option through fdi file too (fixed version)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit f2cb48e6eee47fa621edaaf2f75b495b12f6eb55
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Mar 13 10:14:40 2014 +1000
Revert "conf: apply ClickPad softbuttons option through fdi file too"
Bad fdi file, type="string" is missing and it wouldn't merge properly.
This reverts commit a35b2d629d85d7a8c82621a5098a17e5ffb341dc.
commit a35b2d629d85d7a8c82621a5098a17e5ffb341dc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Sun Aug 5 14:32:08 2012 +1000
conf: apply ClickPad softbuttons option through fdi file too
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 17bbcad28000bbd896a33047c0720ada89e05f5d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Mar 12 14:11:29 2014 +1000
Revert "Add another third state to TouchpadOff for disabling all but button clicks"
This third state is not needed, the behaviour of the touchpad driver is now
good enough to not need an external syndaemon instance to toggle this third
state.
This reverts commit eea73358760c7ff9c9dac061f265753637c6f25c.
Conflicts:
man/synaptics.man
src/synaptics.c
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit b40a5255fe73f7f95c8ff7145dd91605f3430119
Author: Stephen Chandler Paul <thatslyude@gmail.com>
Date: Mon Mar 10 18:33:20 2014 -0400
Don't allow any type of movement starting in the top softbutton area
Clicking in the top soft button area causes the trackpad to begin
registering motion, even if the finger never leaves the top soft button
area. We don't want this kind of behavior for the top soft button area,
since it makes clicking and dragging items much more difficult when
using a pointing stick.
Signed-off-by: Stephen Chandler Paul <thatslyude@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 9a419ba01c53a38b4b601f4415801fca29a2b4e2
Author: Stephen Chandler Paul <thatslyude@gmail.com>
Date: Mon Mar 10 18:25:20 2014 -0400
Replace is_inside_anybutton_area with current_button_area
Signed-off-by: Stephen Chandler Paul <thatslyude@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 2e5c0cf4395a0cf7b024495deab75f4ebe949e9a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Mar 10 16:43:54 2014 +1000
eventcomm: drop mtdev
All kernel touchpad devices now support slots, there isn't really a need to
support protocol A devices in synaptics. If such devices exist, we just treat
them as non-multitouch devices.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
commit c90a76ab0e752be0be4d9d835289df05d783f979
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Mar 10 16:35:45 2014 +1000
eventcomm: drop some use of mtdev
When checking the device don't open a new mtdev instance, use the existing
libevdev struct.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
commit 5b7e1726369d4973859996f225bec743c2e21288
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Mar 10 16:42:34 2014 +1000
eventcomm: drop calculation of slot offset
The kernel guarantees slots start at 0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
commit 040dfeba6886b8e910fb6b347c283e60fe24a147
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Mar 11 14:50:01 2014 +1000
eventcomm: fix wrong event code for SYN_REPORT
This was supposed to emulate a SYN_REPORT event so that the upper layers
process what's in the queue.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
commit 66240dc329683f0141c1e11590ea2c3d8ca25788
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Mar 10 09:07:59 2014 +1000
Add property support for secondary (top) software buttons
This was originally intended as a fixed xorg.conf option only (and still
largely is seen as such). Secondary software button are required only on a specific series
of touchpads and should be pre-configured by the system and/or the
distribution. As such, the property will not be initialized if it is not set
in the xorg.conf and will thus not respond to runtime changes.
Exposing the property in this way gives clients a chance of detecting if a top
software button area is present and thus adjust their behaviour accordingly.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit 80efc2f54f11a4d45411951f7055bfec2ed40fee
Author: Hans de Goede <hdegoede@redhat.com>
Date: Sat Mar 8 10:41:14 2014 +0100
synaptics: Add support for server managed fds
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit c431d900f54696f608312ea51b1fa671839f7d42
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Feb 26 15:30:55 2014 +1000
man: fix documentation about the new touchpad state
leftover from an earlier revision
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit bbe4c56c4998a90b478581a4d93717251d8e05be
Author: Hans de Goede <hdegoede@redhat.com>
Date: Fri Feb 21 10:31:44 2014 +0100
Wait for *new* coordinates on a clickpad click before reporting the click
It is possible for a click to get reported before any related touch events
get reported, here is the relevant part of an evemu-record session on a T440s:
E: 3.985585 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 3.997419 0003 0039 -001 # EV_ABS / ABS_MT_TRACKING_ID -1
E: 3.997419 0001 014a 0000 # EV_KEY / BTN_TOUCH 0
E: 3.997419 0003 0018 0000 # EV_ABS / ABS_PRESSURE 0
E: 3.997419 0001 0145 0000 # EV_KEY / BTN_TOOL_FINGER 0
E: 3.997419 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 5.117881 0001 0110 0001 # EV_KEY / BTN_LEFT 1
E: 5.117881 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 5.133422 0003 0039 0187 # EV_ABS / ABS_MT_TRACKING_ID 187
E: 5.133422 0003 0035 3098 # EV_ABS / ABS_MT_POSITION_X 3098
E: 5.133422 0003 0036 3282 # EV_ABS / ABS_MT_POSITION_Y 3282
E: 5.133422 0003 003a 0046 # EV_ABS / ABS_MT_PRESSURE 46
E: 5.133422 0001 014a 0001 # EV_KEY / BTN_TOUCH 1
E: 5.133422 0003 0000 3102 # EV_ABS / ABS_X 3102
E: 5.133422 0003 0001 3282 # EV_ABS / ABS_Y 3282
E: 5.133422 0003 0018 0046 # EV_ABS / ABS_PRESSURE 46
E: 5.133422 0001 0145 0001 # EV_KEY / BTN_TOOL_FINGER 1
E: 5.133422 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
Notice the BTN_LEFT event all by itself!
If this happens, it may lead to the following problem scenario:
-touch the touchpad in its right click area
-let go of the touchpad
-rapidly click in the middle area, so that BTN_LEFT gets reported before the
new coordinates (such as seen in the trace above, this may require some
practicing with evemu-record to reproduce)
-the driver registers the click as a right click because it uses the
old coordinates from the cumulative coordinates to determine the
click location
This commit fixes this by:
1) Resetting the cumulative coordinates not only when no button is pressed,
but also when there is no finger touching the touchpad, so that when
we do get a touch the cumulative coordinates start at the right place
2) Delaying processing the BTN_LEFT down transition if there is no finger
touching the touchpad
This approach has one downside, if we wrongly identify a touchpad as
a clickpad, then the left button won't work unless the user touches the
touchpad while clicking the left button.
If we want we can fix this by doing something like this:
1) Making update_hw_button_state return a delay; and
2) Tracking that we've delayed BTN_LEFT down transition processing; and
3) When we've delayed BTN_LEFT down transition return a small delay value; and
4) If when we're called again we still don't have a finger down, just
treat the click as a BTN_LEFT
But this is not worth the trouble IMHO, the proper thing to do in this
scenario is to fix the mis-identification of the touchpad as a clickpad.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 743c45b9cfd057d00c37dab1cfca4b6202fb2642
Author: Hans de Goede <hdegoede@redhat.com>
Date: Fri Feb 21 10:31:43 2014 +0100
On button down update cumulative to current x and y, instead of previous
When a button click and new coordinates get reported in one go we sync the
cumulative coordinates to the old x and y, rather then the newly reported ones.
This keeping of the old coordinates causes the following issue:
-touch the touchpad in its right click area
-let go of the touchpad
-rapidly click in the left click area (or middle area), so that the
new location and the click get reported in one syn (may require some
practicing with evemu-record to reproduce)
-the driver registers the click as a right click because it uses the
old coordinates from the cumulative coordinates to determine the
click location
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 71652fe1f0800b081ba5602e9edda22a8d8d628e
Author: Hans de Goede <hdegoede@redhat.com>
Date: Fri Feb 21 10:31:42 2014 +0100
Ignore motion the first X ms after a clickpad click
This fixes my #1 anoyance with clickpads, where 2 out of 3 clicks turn into
a click + drag unless I hold my finger really really still.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Replaced property with a hardcoded 100ms. This is not something that we should
expose as property, we should find a delay that works best and live with it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 3adaf4623845dce54129b6474f4f8f2966f9bc47
Author: Hans de Goede <hdegoede@redhat.com>
Date: Fri Feb 21 10:31:41 2014 +0100
Don't report motion inside soft-button areas
Unless the motion has started outside the soft-button area.
Note that we must start reporting motions regardless of whether we think we're
in the button area or not as soon as we've switched to using cumulative
coordinates, since then the coordinates are no longer absolute.
This fixes the reporting of unintended motion just before a click in a soft
button area which sometimes causes mis-clicks.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit effeee86c1c286cd09ab750efc4932790dd560dd
Author: Hans de Goede <hdegoede@redhat.com>
Date: Fri Feb 21 10:31:40 2014 +0100
Get rid of old_hw_state
We only use it to store button state which we already have in
priv->lastButtons.
While at it also properly indent the code block checking the various
soft button areas.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 840670508e0150ae11ae744c676253c7fba332dc
Author: Hans de Goede <hdegoede@redhat.com>
Date: Fri Feb 21 10:31:39 2014 +0100
Add an enum for the different soft_button_areas
While at it also move the enum for the soft button edges out of
is_inside_button_area() so that it can be used elsewhere too.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit eea73358760c7ff9c9dac061f265753637c6f25c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Feb 21 10:31:37 2014 +0100
Add another third state to TouchpadOff for disabling all but button clicks
On a new set of laptops like the Lenovo T440 the trackstick does not have
physical buttons. Instead, the touchpad's top edge is supposed to acts
software button area. To avoid spurious cursor jumps when the trackstick is in
use and the finger is resting on the touchpad, add another mode that disables
motion events.
Enabled by syndaemon with -t click-only, the default stays unchanged. No
specific integration with the traditional disable-while-typing is needed. On
such touchpads, disabling motion events is sufficient to avoid spurious
events and we don't want to stop HW buttons to send events.
Note that this only adds the new state to the driver and to syndaemon, there
is nothing hooked up otherwise to actually monitor the trackstick.
Special note for syndaemon: optional arguments are a GNU extension, so work
around it by messing with an optstring starting with ":" which allows us to
manually parse the options.
Original version of this patch by John Pham <jhnphm@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit ac78616d074f2d248543411c106f0d1befeef58d
Author: Keith Packard <keithp@keithp.com>
Date: Sat Feb 22 01:44:38 2014 -0800
When re-opening evdev, set the fd before trying to grab
If we try to grab the evdev device before we've set the new file
descriptor, libevdev_grab returns -EFAULT, which causes DeviceOn to
fail.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 22fe8bdc6668e78853768c62f4d1331114c7eca0
Author: Keith Packard <keithp@keithp.com>
Date: Sat Feb 22 01:44:37 2014 -0800
Close device if DeviceOnHook fails
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 402cc872570b58b8420e7973d0706f3b2a2aaf91
Author: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Date: Thu Feb 20 13:13:18 2014 -0500
Add secondary (top) software buttons area
New generation of laptops with trackstick do not have physical buttons
associated with the trackstick, but instead rely on software buttons at
the top of the clickpad.
Adding a secondary software button area for this purpose.
As we're likely detecting the devices that need it based on udev tags
and MatchTag configuration items, this area doesn't need to be exposed
through properties. So static configuration is fine.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
[couple of man-page additions and rewrites]
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 945acfc261707be78cbc5438c22b061e20076004
Author: Hans de Goede <hdegoede@redhat.com>
Date: Wed Feb 19 18:30:35 2014 +0100
Allow using the entire touchpad for motions started inside the active area
synaptics offers an option to make parts of the touchpad insensitive. This
is ie useful to do palm avoidance rather then palm detection (which may be
unreliable) by disabling an area of 15% on the right and left side of the
touchpad.
Currently a motion which has started inside the active area, stops as soon
as it moves outside of the active area.
If a motion started inside the active area and thus has already generated some
move events, this makes no sense. If the user moves outside of the active
area in this case, this is very likely because the user wants to continue
the motion.
This commit allows such motions to continue normally.
I would like to thank Juerd Waalboer for the basic idea, some coding and lots
of testing for this fix.
Cc: Juerd Waalboer <juerd@tnx.nl>
Reported-by: Juerd Waalboer <juerd@tnx.nl>
Tested-by: Juerd Waalboer <juerd@tnx.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 2ea76fad6545a712713de1a09965158805e83c55
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Feb 18 10:14:37 2014 +1000
man: setting scroll deltas to 0 doesn't work (#75074)
6d47d33 disallows a zero value for horizontal/vertical scroll deltas but the
man page wasn't updated. We've added separate toggles to enable/disable
scrolling a few years ago, setting the distance to 0 is not recommended.
X.Org Bug 75074 <http://bugs.freedesktop.org/show_bug.cgi?id=75074>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 4f543ce1d6ae9ca11086a3009d149505590584a8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Feb 13 14:55:12 2014 +1000
Revert "Drop circular pad support"
This reverts commit 3b02e7fd81da4b100fb9ac32378f6d50f54cf0e2.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Conflicts:
man/synaptics.man
src/synaptics.c
Acked-by: Daniel Stone <daniel@fooishbar.org>
commit 5d8cdaf4b1552c12fe6626059b9af4a6da6491e9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Feb 10 08:57:19 2014 +1000
Drop the half-baked test suite
This suite was never really maintained anyway, and it is quite hard to do so
anyway. The driver is linked to the server's API too tightly to easily do
independent testing. We need to re-implement stubs for the API the driver
uses, have to track API changes, etc. Not worth the effort.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit e0069c154440305ece6def92a9813a9f8004b2fb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Jan 17 08:24:35 2014 +1000
Revert "Purge scrollbuttons (repeat)"
This reverts commit 0903d99ada1755f11a2a5cbf89a345de896e18ec.
Scroll buttons are still present in some modern devices, e.g. the Fujitsu
Lifebook E782 and others in the series.
Conflicts:
include/synaptics.h
man/synaptics.man
src/synaptics.c
commit 48fbf44a3903bc6975add21be35586914a53c310
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Jan 17 08:18:03 2014 +1000
Bump to 1.7.99
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 51b6bf3c1083638527b18696c2b682fd78c97070
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Dec 16 09:43:40 2013 +1000
On clickpads with two touchpoints, try to detect clickfinger 3 actions
Some touchpads provide BTN_TOOL_TRIPLETAP but do not track more than two
touchpoints. For those, try to detect clickfinger3 actions as best as we can.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 9388b54a109bbd634e05611e6c90110d698f13d1)
commit 49fe70e99d1b0932ab915824c78f952a0fdb3ee7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Jan 3 11:23:22 2014 +1000
Fix ABI detection for in-driver scaling
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 29318c1d94510cfb6d5d712e912af111f99edb42
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Dec 5 09:31:11 2013 +1000
Add missing property handler for the pressure motion factor
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 5d391e352f4e502ada6444a7ce860683e3480fbf
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Dec 4 07:58:26 2013 +1000
eventcomm: ungrab the device on DeviceOff
For symmetry, the kernel should ungrab when we close the fd.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 3b9267e5a67a153675174818114e390e17c61f2d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Nov 6 10:52:55 2013 +1000
Drop edge speed from get_delta
Always 0 anyway, and the feature was purged in
xf86-input-synaptics-1.6.0-8-g54f65f3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 0fc2679c4d148f9753e1964d7df8b00dc94401f6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Nov 4 15:23:39 2013 +1000
autogen.sh: support NOCONFIGURE=1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 03b4faeadfb50b26452dd2f494540b0f5a8b7399
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Nov 4 15:22:31 2013 +1000
Drop maintainer mode
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 41840a656f5c790b49fe798b9d99136c23e09a5f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed May 29 15:07:44 2013 +1000
Switch to libevdev for the eventcomm backend
This has a potential bug that would need to be fixed in mtdev first:
if we get a SYN_DROPPED and we miss out on events, the current code emulates a
normal EV_SYN, feeds that to mtdev and hopes that that fills the mtdev output
queue.
If mtdev doesn't generate events on that EV_SYN, we're stuck in limbo and may
get weird results. The loop will continue and sync the device, but there's the
off chance we get odd events.