1 |
drac 08/07/30 13:13:25 |
2 |
|
3 |
Added: |
4 |
synaptics-0.14.6-configurable_polling_interval.patch |
5 |
Log: |
6 |
Apply configurable polling interval patch from Novell so that syndaemon doesn't wake up CPU so often. Bug 216679, thanks to Roland Tapken, Thomas Kirchner and Krister Bäckman. |
7 |
(Portage version: 2.2_rc3/cvs/Linux 2.6.26-rc3 x86_64) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 x11-drivers/synaptics/files/synaptics-0.14.6-configurable_polling_interval.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-drivers/synaptics/files/synaptics-0.14.6-configurable_polling_interval.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-drivers/synaptics/files/synaptics-0.14.6-configurable_polling_interval.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: synaptics-0.14.6-configurable_polling_interval.patch |
16 |
=================================================================== |
17 |
--- ./syndaemon.c 2006-04-16 21:31:43.000000000 +0200 |
18 |
+++ ./syndaemon.c 2007-10-16 13:40:02.000000000 +0200 |
19 |
@@ -43,9 +43,11 @@ |
20 |
static void |
21 |
usage() |
22 |
{ |
23 |
- fprintf(stderr, "Usage: syndaemon [-i idle-time] [-d] [-t] [-k]\n"); |
24 |
+ fprintf(stderr, "Usage: syndaemon [-i idle-time] [-m poll-delay] [-d] [-t] [-k]\n"); |
25 |
fprintf(stderr, " -i How many seconds to wait after the last key press before\n"); |
26 |
fprintf(stderr, " enabling the touchpad. (default is 2.0s)\n"); |
27 |
+ fprintf(stderr, " -m How many milli-seconds to wait until next poll.\n"); |
28 |
+ fprintf(stderr, " (default is 20ms)\n"); |
29 |
fprintf(stderr, " -d Start as a daemon, ie in the background.\n"); |
30 |
fprintf(stderr, " -p Create a pid file with the specified name.\n"); |
31 |
fprintf(stderr, " -t Only disable tapping and scrolling, not mouse movements.\n"); |
32 |
@@ -159,9 +161,8 @@ |
33 |
} |
34 |
|
35 |
static void |
36 |
-main_loop(Display *display, double idle_time) |
37 |
+main_loop(Display *display, double idle_time, int poll_delay) |
38 |
{ |
39 |
- const int poll_delay = 20000; /* 20 ms */ |
40 |
double last_activity = 0.0; |
41 |
double current_time; |
42 |
|
43 |
@@ -228,17 +229,21 @@ |
44 |
main(int argc, char *argv[]) |
45 |
{ |
46 |
double idle_time = 2.0; |
47 |
+ int poll_delay = 20000; /* 20 ms */ |
48 |
Display *display; |
49 |
int c; |
50 |
int shmid; |
51 |
int ignore_modifier_keys = 0; |
52 |
|
53 |
/* Parse command line parameters */ |
54 |
- while ((c = getopt(argc, argv, "i:dtp:kK?")) != EOF) { |
55 |
+ while ((c = getopt(argc, argv, "i:m:dtp:kK?")) != EOF) { |
56 |
switch(c) { |
57 |
case 'i': |
58 |
idle_time = atof(optarg); |
59 |
break; |
60 |
+ case 'm': |
61 |
+ poll_delay = atoi(optarg) * 1000; |
62 |
+ break; |
63 |
case 'd': |
64 |
background = 1; |
65 |
break; |
66 |
@@ -314,7 +319,7 @@ |
67 |
setup_keyboard_mask(display, ignore_modifier_keys); |
68 |
|
69 |
/* Run the main loop */ |
70 |
- main_loop(display, idle_time); |
71 |
+ main_loop(display, idle_time, poll_delay); |
72 |
|
73 |
return 0; |
74 |
} |