2002-06-03 17:53:01

by Andre Bonin

[permalink] [raw]
Subject: Support for keyboards with special scancodes

I have an Logitech Internet Navigator keyboard that has nice little
'play', 'pause', 'e-mail' buttons of all kinds (As many of us do, i
believe). I couldn't find any specialised keyboard drivers in the
kernel. Only different locales.

I'me wondering if it was possible to write a driver that would overlay
the existing keyboard driver and pitch non-standardized scancodes codes
in a /dev file (in a standard format). One could then create a daemon
that would poll this file for changes to this file and perform the
resulting action.

We could create some sort of standardized protocol for many types of
'special' keyboards. For example, a logitech keyboards sends a '0x0e'
as a special scancode.

A simplified example;

The driver reads the scancode and recognizes it as 'Internet Browser'.
The driver therefore writes a 'IBrowserButton' command in the dev file,
which would be polled by a daemon/applet and would launch the
appropriate action relative to this scancode.

Does something like this already exist?

Can I get your comments on my idea?

Thanks!


***********************************
Andre Bonin
Computer Engineering Technologist
Webmotion, Inc.
Ottawa, Ontario
Canada
***********************************


2002-06-03 18:12:07

by Xavier Bestel

[permalink] [raw]
Subject: Re: Support for keyboards with special scancodes

Le lun 03/06/2002 ? 19:52, Andre Bonin a ?crit :
> I have an Logitech Internet Navigator keyboard that has nice little
> 'play', 'pause', 'e-mail' buttons of all kinds (As many of us do, i
> believe). I couldn't find any specialised keyboard drivers in the
> kernel. Only different locales.

Yes, and there's an app called "hotkeys" which assigns actions to these
keys (e.g. launch Evolution or KMail on a press of the "mail" key)

Xav


2002-06-03 19:32:13

by Thunder from the hill

[permalink] [raw]
Subject: Re: Support for keyboards with special scancodes

Hi,

On Mon, 3 Jun 2002, Andre Bonin wrote:
> [Blah...]

Gosh, that sounds insane!

I'd rather add it as usual, dumb, boring, static keys.

Regards,
Thunder
--
ship is leaving right on time | Thunder from the hill at ngforever
empty harbour, wave goodbye |
evacuation of the isle | free inhabitant not directly
caveman's paintings drowning | belonging anywhere

2002-06-03 19:39:40

by Andries E. Brouwer

[permalink] [raw]
Subject: Re: Support for keyboards with special scancodes

I have an Logitech Internet Navigator keyboard that has nice little
'play', 'pause', 'e-mail' buttons of all kinds (As many of us do, i
believe). I couldn't find any specialised keyboard drivers in the
kernel. Only different locales.

I'me wondering if it was possible to write a driver that would overlay
the existing keyboard driver and pitch non-standardized scancodes codes
in a /dev file (in a standard format). One could then create a daemon
that would poll this file for changes to this file and perform the
resulting action.

Does something like this already exist?

Yes, several people made such things.
To quote one example:

=====
The FunKey kernel patch that adds a `keycode interpretation type' that says
`send a code out over /dev/funkey'. The `funky' daemon reads this character
device and starts plain Un*x commands in response. The code is independent
of the kbd_mode, so it works under textual mode as well as under XFree86.

The patch applies to Linux 2.2.14 and comes with a simple example daemon.
You can pick both up at

http://home.zonnet.nl/vanrein/linux/funkey
=====

(I have not checked whether the URL still works -
this post is two years old.)

Andries

2002-06-03 19:44:55

by Andre Bonin

[permalink] [raw]
Subject: Re: Support for keyboards with special scancodes

Thunder from the hill wrote:
> Hi,
>
> On Mon, 3 Jun 2002, Andre Bonin wrote:
>
>>[Blah...]
>
>
> Gosh, that sounds insane!
>
> I'd rather add it as usual, dumb, boring, static keys.

I don't think they are standard on every keyboard. Unless we have a way
to have different keyboard drivers...



>
> Regards,
> Thunder