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

(-)drivers/char/keyboard.c (-1 / +12 lines)
Lines 94-99 Link Here
94
static struct tty_struct **ttytab;
95
static struct tty_struct **ttytab;
95
static struct kbd_struct * kbd = kbd_table;
96
static struct kbd_struct * kbd = kbd_table;
96
static struct tty_struct * tty;
97
static struct tty_struct * tty;
98
static unsigned char prev_scancode;
97
99
98
void compute_shiftstate(void);
100
void compute_shiftstate(void);
99
101
Lines 213-219 Link Here
213
	}
215
	}
214
	kbd = kbd_table + fg_console;
216
	kbd = kbd_table + fg_console;
215
	if ((raw_mode = (kbd->kbdmode == VC_RAW))) {
217
	if ((raw_mode = (kbd->kbdmode == VC_RAW))) {
216
		put_queue(scancode | up_flag);
218
		/*
219
		 *	The following is a workaround for hardware
220
		 *	which sometimes send the key release event twice 
221
		 */
222
		unsigned char next_scancode = scancode|up_flag;
223
		if (up_flag && next_scancode==prev_scancode) {
224
			/* unexpected 2nd release event */
225
		} else {
226
			prev_scancode=next_scancode;
227
			put_queue(next_scancode);
228
		}
217
		/* we do not return yet, because we want to maintain
229
		/* we do not return yet, because we want to maintain
218
		   the key_down array, so that we have the correct
230
		   the key_down array, so that we have the correct
219
		   values when finishing RAW mode or when changing VT's */
231
		   values when finishing RAW mode or when changing VT's */

Return to bug 18628