From: Aivils S. <ai...@un...> - 2005-10-04 07:03:47
|
Hi,All! Current X server uses TTY mostly to get character on keyboard key press. I was decide to merge evdev.c, keyboard.c, vt_ioctl.c and create simple handler, which is capable send character from keyboard to X server. Input layer allow us register unlimited count of handlers. All these handlers recieve events from input device drivers and send output to device files or kernel subsytems. faketty register new input handler named ftty and send characters from keyboard to device files /dev/input/fttyXX. fttyXX device files is created for X server. All unnecessary features are deleted: No VT switch, No text mode, No terminal-io or VT ioctl's. ftty ioctl's will work for keyboard rate and beeper. Files /dev/input/fttyXX will be created for each keyboard or speaker device. On fttyXX open keyboard disconnected from normal text console and send keypress events to fttyXX opener application only. So each keyboard is separate now. faketty is designed for peoples which will run multiple X servers, each for another user, at same time on one linux box. You can cheat X very simple: modprobe faketty rm -f /dev/tty50 ln -s /dev/input/ftty0 /dev/tty50 startx -- vt50 Now X uses keyboard via ftty. If multiple keyboards are pluged in, just choose right fttyXX file. Take a look into /proc/bus/input/devices. http://www.ltn.lv/~aivils/files/faketty-0.04.tar.bz2 Of course You can reach same result if X server does not touch /dev/ttyXX at all, but uses his own evdev drivers. Current X allways uses TTY. Aivils Stoss |