KII stands for Kernel Input Interface. It is known as the kernel side of GII the General Input Interface (part of the GGI project). KII is part of KGI.

It provides KgiInput with declarations and registrations routines to connect to a KgiFocus.

Currently, KII is on top of FreeBSD keyboard drivers. The main benefit is to get immediatly FreeBSD keyboards supported by KII and KGI. But in the long term FreeBSD current kbd abstraction should be discarded and true KII drivers should be written.

The original kbd (atkbd or usbkbd) is a KII input connected to focus 0. Moused events are redirect to focus 0 by mean of another KII input (made by ioctls) and finally a KII client is given to provide the /dev/sysmouse interface to user apps. Hmm, little graphic:

/dev/consolectl -----------+
                           |
      ttyv1 <--------+     v
                     |- focus 0 <------ kbd
      ttyv2 <--------+     |
                           |
/dev/sysmouse <------------+

KII (last edited 2008-06-17 21:37:54 by localhost)