Re: FunKey: Discussion topic

From: Borislav Deianov (borislav@lix.polytechnique.fr)
Date: Sun Apr 16 2000 - 14:32:13 EST


Hi,

In article <200004161204.OAA01113@cc4409-a.ensch1.ov.nl.home.com> you wrote:
> Funny/Functional Keys such as `play' and `mute' should not be
> treated as normal keys. Rather than delivering a string to be
> interpreted by listening applications, it is better to invoke
> an action when the keys are pressed.

I strongly disagree. I believe that all keys are created equal. They
may differ by position, size, label and color (and sometimes shape and
construction - some manufacturers seem to believe that to be different
they have to make some keys ugly and awkward to use) but in the end
they all send a scancode down the cable which the OS/applications are
free to interpret whichever way they want.

Currently I use a Windows keyboard. I can't use the "start key" for
its intended function since I don't have a start menu, but that's OK -
X sees it as a distinct keycode and I can map it to whatever I want.
It's now yet another modifier (Esc-Meta-Alt-Ctrl-Shift are not enough
for me). I also got tired of turning on Caps Lock by accident; it now
servers me as an extra Ctrl. I'm happy.

I was not so happy last summer when I got an ergonomic keyboard
(Logitech, I believe). It was fairly decent and it even had three
extra keys in the middle, where the normal keyboard is split in two.
Two of them were supposed to be extra Tab and Backspace, the third was
a "Mouse" key. I quickly thought up more useful roles for them but
unfortunately couldn't make them work. FunnyTab and FunnyBackspace
seemed hardwired to these roles and the "Mouse" key acted as NumLock
on every second press. Three useless keys right in the middle of my
keyboard, what a waste.

Suppose now that I had a Play button that doesn't try to be clever and
just gives me a standard-looking scancode. I have the choice of either
seeing a keycode under X or reading /dev/funkey with the Groovy
daemon. Let's see, I already know how to tell X that keycode 115 is
called Super_L and my window manager to bring up xterm on F1, all in
the same configuration file. So I just add a couple more lines for
Play and I'm in business. Teaching X applications to ignore the new
key is not necessary - the window manager gets to see it and interpret
it first.

The Groovy daemon would work too. It's configured separately, so now I
have to figure out yet another config file format. And three months
from now when I decide to change what Play does (I've embarked on the
never-ending quest for the perfect keymap / window manager config)
I'll have to look in both places to find it (Murphy's Law). Why?
Because the key was labeled "Play" rather than "P"? Please.

Don't get me wrong, I'm not saying your idea is useless - I do think
it makes sense for the console where there isn't an easy way to
intercept keys. As for X, you'll be doing the world a better service
if you teach the X server to give you keycodes for the funny keys and
let you handle them from there.

And sorry about the rant, I needed to get this off my chest.

Regards,
Borislav

P.S. Here is a depressing article on the subject of "internet"
keyboards:

http://www.salon.com/tech/log/2000/03/24/aol_keyboard/index.html The

The good thing is that on my machine the chances of the AOL key
bringing up any AOL content are pretty slim, even if I can't make it
do anything useful.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 23 2000 - 21:00:09 EST