FunKey: Discussion topic

From: Rick van Rein (vanrein@zonnet.nl)
Date: Sun Apr 16 2000 - 07:04:24 EST


Hi all,

I released a keyboard patch for `hot keys' and wish to bring up a discussion
topic around it. I made the following observation:

        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 am curious if y'all agree to this.

Here's my further line of thought based on this opinion:

 * Not delivering strings for FunKeys means they're not visible over
   /dev/console.

 * This decouples traditional console apps from the FunKeys, which is good for
   orthogonality:
    (1) apps need not be aware of FunKeys, so no need to program bash, X, etc,
    (2) the kbd_mode of the console is of no influence on FunKey performance.

 * To be able to process keystrokes that are invisible to /dev/console, a
   secondary keyboard device /dev/funkey is needed over which key strokes can
   be transmitted to a simple daemon.

 * The most logical integration in keyboard.c would be by using a new KT_xxx
   value in the keytables that says `transmit byte X to /dev/funkey'.

 * The code gives a hint that this way of integrating is indeed logical, by
   providing shift/ctrl handling for free.

 * The SysRq key is useful, but its implementation does not conform to the
   rest of the keyboard code at all. By treating SysRq as a sort-of shift/meta
   key, it could be possible to take it out of the kernel and put it in a
   daemon. Is this considered a good idea?

For your reference, the home page of the patch is
        http://home.zonnet.nl/vanrein/linux/funkey

Let me hear your thoughts! Sending it Cc. to vanrein@zonnet.nl is appreciated.

Bye,
 -Rick.

-
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