Jon Baker wrote: > The interface keyboards is quite strange and I dont know how to > support an I/O line which can be either an input or an output at the > choice of the keyboard. Actually, it's in effect a variant of I2C, or vice-versa (that is to say, I2C is a variant of the PC keyboard protocol!). Almost all rules are the same, you have a clock and data; lines are driven by open- collector drivers with a pull-up at one end (at least), the slave can stretch data by holding the clock, other things elude me. If therefore you can write I2C code, you are off to a flying start for a PC keyboard. I fancy the Apple (AKB) is virtually the same concept too (any comments?). Cheers, Paul B.