From: James S. <jsi...@us...> - 2002-03-05 17:14:31
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/char In directory usw-pr-cvs1:/tmp/cvs-serv19726/drivers/char Modified Files: keyboard.c Log Message: MOved to cleaner fbdev api for accel handling. Index: keyboard.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/keyboard.c,v retrieving revision 1.72 retrieving revision 1.73 diff -u -d -r1.72 -r1.73 --- keyboard.c 4 Mar 2002 18:07:25 -0000 1.72 +++ keyboard.c 5 Mar 2002 17:14:28 -0000 1.73 @@ -945,9 +945,8 @@ } #endif -void kbd_keycode(void *private, unsigned int keycode, int down) +void kbd_keycode(struct vt_struct *vt, unsigned int keycode, int down) { - struct vt_struct *vt = (struct vt_struct *) private; struct vc_data *vc = vt->fg_console; unsigned short keysym, *key_map; unsigned char type, raw_mode; @@ -1044,9 +1043,11 @@ static void kbd_event(struct input_handle *handle, unsigned int event_type, unsigned int keycode, int down) { - if (event_type != EV_KEY) return; - if (handle->private) - kbd_keycode(handle->private, keycode, down); + struct vt_struct *vt = (struct vt_struct *) handle->private; + + if ((event_type != EV_KEY) || !vt || !vt->fg_console->vc_kam) + return; + kbd_keycode(vt, keycode, down); tasklet_schedule(&keyboard_tasklet); } |