Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 37942
Collapse All | Expand All

(-)xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c.orig (-9 / +10 lines)
Lines 65-71 Link Here
65
65
66
/* kbd rate stuff based on kbdrate.c from Rik Faith <faith@cs.unc.edu> et.al.
66
/* kbd rate stuff based on kbdrate.c from Rik Faith <faith@cs.unc.edu> et.al.
67
 * from util-linux-2.9t package */
67
 * from util-linux-2.9t package */
68
68
/* Linux 2.5 and Linux 2.6 use 'period' instead of 'rate'
69
 * Nico Schottelius <nico-linux-xfree86@schottelius.org> */
69
#include <linux/kd.h>
70
#include <linux/kd.h>
70
#ifdef __sparc__
71
#ifdef __sparc__
71
#include <asm/param.h>
72
#include <asm/param.h>
Lines 87-93 Link Here
87
   struct kbd_repeat kbdrep_s;
88
   struct kbd_repeat kbdrep_s;
88
89
89
   /* don't change, just test */
90
   /* don't change, just test */
90
   kbdrep_s.rate = -1;
91
   kbdrep_s.period = -1;
91
   kbdrep_s.delay = -1;
92
   kbdrep_s.delay = -1;
92
   if (ioctl( 0, KDKBDREP, &kbdrep_s )) {
93
   if (ioctl( 0, KDKBDREP, &kbdrep_s )) {
93
       return 0;
94
       return 0;
Lines 95-105 Link Here
95
96
96
   /* do the change */
97
   /* do the change */
97
   if (rate == 0)				/* switch repeat off */
98
   if (rate == 0)				/* switch repeat off */
98
     kbdrep_s.rate = 0;
99
     kbdrep_s.period = 0;
99
   else
100
   else
100
     kbdrep_s.rate  = 10000 / rate;		/* convert cps to msec */
101
     kbdrep_s.period  = 10000 / rate;		/* convert cps to msec */
101
   if (kbdrep_s.rate < 1)
102
   if (kbdrep_s.period < 1)
102
     kbdrep_s.rate = 1;
103
     kbdrep_s.period = 1;
103
   kbdrep_s.delay = delay;
104
   kbdrep_s.delay = delay;
104
   if (kbdrep_s.delay < 1)
105
   if (kbdrep_s.delay < 1)
105
     kbdrep_s.delay = 1;
106
     kbdrep_s.delay = 1;
Lines 124-133 Link Here
124
   if (fd == -1) 
125
   if (fd == -1) 
125
     return 0;   
126
     return 0;   
126
127
127
   kbdrate_s.rate = (rate + 5) / 10;  /* must be integer, so round up */
128
   kbdrate_s.period = (rate + 5) / 10;  /* must be integer, so round up */
128
   kbdrate_s.delay = delay * HZ / 1000;  /* convert ms to Hz */
129
   kbdrate_s.delay = delay * HZ / 1000;  /* convert ms to Hz */
129
   if (kbdrate_s.rate > 50)
130
   if (kbdrate_s.period > 50)
130
     kbdrate_s.rate = 50;
131
     kbdrate_s.period = 50;
131
132
132
   if (ioctl( fd, KIOCSRATE, &kbdrate_s ))
133
   if (ioctl( fd, KIOCSRATE, &kbdrate_s ))
133
     return 0;
134
     return 0;
(-)xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c.orig (-8 / +10 lines)
Lines 92-97 Link Here
92
92
93
/* kbd rate stuff based on kbdrate.c from Rik Faith <faith@cs.unc.edu> et.al.
93
/* kbd rate stuff based on kbdrate.c from Rik Faith <faith@cs.unc.edu> et.al.
94
 * from util-linux-2.9t package */
94
 * from util-linux-2.9t package */
95
/* changes for Linux 2.6 by
96
 * Nico Schottelius <nico-linux-xfree86@schottelius.org> */
95
97
96
98
97
#ifdef __sparc__
99
#ifdef __sparc__
Lines 107-113 Link Here
107
   struct kbd_repeat kbdrep_s;
109
   struct kbd_repeat kbdrep_s;
108
110
109
   /* don't change, just test */
111
   /* don't change, just test */
110
   kbdrep_s.rate = -1;
112
   kbdrep_s.period = -1;
111
   kbdrep_s.delay = -1;
113
   kbdrep_s.delay = -1;
112
   if (ioctl( 0, KDKBDREP, &kbdrep_s )) {
114
   if (ioctl( 0, KDKBDREP, &kbdrep_s )) {
113
       return 0;
115
       return 0;
Lines 115-125 Link Here
115
117
116
   /* do the change */
118
   /* do the change */
117
   if (rate == 0)				/* switch repeat off */
119
   if (rate == 0)				/* switch repeat off */
118
     kbdrep_s.rate = 0;
120
     kbdrep_s.period = 0;
119
   else
121
   else
120
     kbdrep_s.rate  = 10000 / rate;		/* convert cps to msec */
122
     kbdrep_s.period  = 10000 / rate;		/* convert cps to msec */
121
   if (kbdrep_s.rate < 1)
123
   if (kbdrep_s.period < 1)
122
     kbdrep_s.rate = 1;
124
     kbdrep_s.period = 1;
123
   kbdrep_s.delay = delay;
125
   kbdrep_s.delay = delay;
124
   if (kbdrep_s.delay < 1)
126
   if (kbdrep_s.delay < 1)
125
     kbdrep_s.delay = 1;
127
     kbdrep_s.delay = 1;
Lines 144-153 Link Here
144
   if (fd == -1) 
146
   if (fd == -1) 
145
     return 0;   
147
     return 0;   
146
148
147
   kbdrate_s.rate = (rate + 5) / 10;  /* must be integer, so round up */
149
   kbdrate_s.period = (rate + 5) / 10;  /* must be integer, so round up */
148
   kbdrate_s.delay = delay * HZ / 1000;  /* convert ms to Hz */
150
   kbdrate_s.delay = delay * HZ / 1000;  /* convert ms to Hz */
149
   if (kbdrate_s.rate > 50)
151
   if (kbdrate_s.period > 50)
150
     kbdrate_s.rate = 50;
152
     kbdrate_s.period = 50;
151
153
152
   if (ioctl( fd, KIOCSRATE, &kbdrate_s ))
154
   if (ioctl( fd, KIOCSRATE, &kbdrate_s ))
153
     return 0;
155
     return 0;

Return to bug 37942