serio_raw only binds to non-translated devices. Enable serio_raw to bind to normal (translated) keyboards which can have non-standard extensions (like POS Keyboards). With this it is possible to send commands to the device over /dev/serio_raw<n>. Signed-off-by: Niels de Vos <niels.devos@xxxxxxxxxxxxxxxxxx> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> --- In ReplyTo: "[RFC][PATCH] POSKeyboard driver for exclusive keyboard access" On Fri, Aug 22, 2008 at 8:02 PM, Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote: > Hi Niels, > > On Fri, Aug 22, 2008 at 06:17:28PM +0200, Niels de Vos wrote: >> This new driver makes it possible for middleware like JavaPOS to use >> a POSKeyboard (connected to PS/2) with exclusive access. This is >> required by the UnifiedPOS Specification which is available from >> http://www.nrf-arts.org/UnifiedPOS. Any middleware using this driver >> should implement the full exception-handling in user-space. Therefor >> it is possible to use specific POS-extensions of POSKeyboards, without >> abusing other keyboard-drivers. >> >> Opening /dev/poskeyboard will route all scancodes to this device. The >> scancodes will not be processes by the input-subsystem anymore. Reading >> /dev/poskeyboard results in receiving the scancodes as raw data for >> further processing by the reader. Sending commands to the hardware can >> be done by writing to /dev/poskeyboard. >> >> If the driver is loaded and /dev/poskeyboard is not opened, all >> scancodes are given to the input-subsystem. This allows 'normal' use of >> the keyboard. >> >> Making the driver active involves some commands like the following: >> echo -n serio1 > /sys/bus/serio/drivers/atkbd/unbind >> echo -n serio1 > /sys/bus/serio/drivers/poskbd/bind >> > > It seems you have just reimplemented serio_raw driver, therefore NAK. > Right now serio_raw is limited to untranslated ports but adding > SERIO_I8042XL signature should be easy. --- diff --git a/drivers/input/serio/serio_raw.c b/drivers/input/serio/serio_raw.c index c9397c8..470770c 100644 --- a/drivers/input/serio/serio_raw.c +++ b/drivers/input/serio/serio_raw.c @@ -373,6 +373,12 @@ static struct serio_device_id serio_raw_serio_ids[] = { .id = SERIO_ANY, .extra = SERIO_ANY, }, + { + .type = SERIO_8042_XL, + .proto = SERIO_ANY, + .id = SERIO_ANY, + .extra = SERIO_ANY, + }, { 0 } }; -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html