patch-2.4.19 linux-2.4.19/drivers/char/keyboard.c

Next file: linux-2.4.19/drivers/char/lcd.c
Previous file: linux-2.4.19/drivers/char/joystick/pcigame.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.18/drivers/char/keyboard.c linux-2.4.19/drivers/char/keyboard.c
@@ -67,15 +67,8 @@
 
 extern void ctrl_alt_del(void);
 
-DECLARE_WAIT_QUEUE_HEAD(keypress_wait);
 struct console;
 
-int keyboard_wait_for_keypress(struct console *co)
-{
-	sleep_on(&keypress_wait);
-	return 0;
-}
-
 /*
  * global state includes the following, and various static variables
  * in this module: prev_scancode, shift_state, diacr, npadch, dead_key_next.
@@ -331,19 +324,32 @@
 	schedule_console_callback();
 }
 
+#ifdef CONFIG_FORWARD_KEYBOARD
+extern int forward_chars;
 
 void put_queue(int ch)
 {
-	wake_up(&keypress_wait);
+	if (forward_chars == fg_console+1){
+		kbd_forward_char (ch);
+	} else {
+		if (tty) {
+			tty_insert_flip_char(tty, ch, 0);
+			con_schedule_flip(tty);
+		}
+	}
+}
+#else
+void put_queue(int ch)
+{
 	if (tty) {
 		tty_insert_flip_char(tty, ch, 0);
 		con_schedule_flip(tty);
 	}
 }
+#endif
 
 static void puts_queue(char *cp)
 {
-	wake_up(&keypress_wait);
 	if (!tty)
 		return;
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)