Re: QUESTION: How can I make a driver for a special serial keyboard which also supports output (maybe via serio_raw)?

From: Benoit Boissinot
Date: Tue May 27 2008 - 13:41:17 EST


[please keep the cc list and reply to all]

On Tue, May 27, 2008 at 7:27 PM, Néstor Amigo Cairo <nestorac@xxxxxxxxx> wrote:
> I have been thinking on it, but it's easier to reimplement some
> widgets on Qt for just three keys (I can reuse them easily because of
> OOP), than managing focus on every widget communicating the
> application directly with the serial port (I've been using a switch
> structure for this purpose, which is not very kindly). I saw the
> device as a keyboard with just three keys and which can also receive
> some bytes from the application. This makes debugging and testing much
> easier than dealing directly with the serial interface for changing
> the focus and managing the application. The only problem is that a
> driver must be written for the device, but my long-term idea is to
> write some kind of programmable driver, so it could be reused easily
> (by instance, assigning a matrix of values to binary data sent to the
> serial port, and converting those bytes into Keys using these values,
> as in the original driver, but allowing userspace apps to change this
> behaviour). I'm not sure if it would be helpful for anyone else. And I
> also lack any knowledge of the kernel internals, as you can see.

If you just want to use it in X, then you could use ttyx (you can find
it at http://youpibouh.thefreecat.org/download/) It translates events
from the serial device to X keyboard event, it was developped by
Samuel for a similar project (a device with a couple buttons that sends
the key via a serial port).
I thinks it would be quite easy to add a table to translate to a different
key if you need that.

regards,

Benoit
--
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/