scancodes to X-Windows

From: P.Manohar
Date: Fri Apr 08 2005 - 01:10:35 EST



hai all,
The following is the code snippet from drivers/char/keyboard.c

if ((raw_mode = (kbd->kbdmode == VC_RAW))) {
/*
* The following is a workaround for hardware
* which sometimes send the key release event twice
*/
unsigned char next_scancode = scancode|up_flag;
if (up_flag && next_scancode==prev_scancode) {
/* unexpected 2nd release event */
} else {
prev_scancode=next_scancode;
put_queue(next_scancode);
}
/* we do not return yet, because we want to maintain
the key_down array, so that we have the correct
values when finishing RAW mode or when changing VT's */
}

I did so much googling, unable find My doubts are,

1)Is in raw mode also the scancodes are send to tty buffer (as we are using put_queue() here.
2) whether X will read from tty buffer are will it take scancodes directly ,in this case where it will store those scancodes,if X is busy doing
some other work.

In the put_queue function

#ifdef CONFIG_FORWARD_KEYBOARD
extern int forward_chars;

void put_queue(int ch)
{
if (forward_chars == fg_console+1){
kbd_forward_char (ch);
} else {
if (tty) {
tty_insert_flip_char(tty, ch, 0);
con_schedule_flip(tty);
}
}
}

Where that kbd_forward_char is defined or what it will do.
what CONFIG_FORWARD_KEYBOARD signifies.
This is not present in my config file,(I am using RH linux 2.4.20)

I got confused of it , if you know about please mail me.

Thanks&Regards,
P.Manohar,


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/