Index: [thread] [date] [subject] [author]
  From: Andrew Apted <ajapted@netspace.net.au>
  To  : ggi-develop@eskimo.com
  Date: Sun, 7 Mar 1999 11:51:21 +1100

Re: Dead keys

Marcus writes:

>  How do we want to support dead keys?
>  
>  "sym" is fairly obvious, GIIK_VOID when a dead key is pressed and
>  then the symbol when the next key is pressed. What about "label"?
>  People might have both normal and dead versions of the same key,
>  so we need labels for them.

No, labels aren't affected.  There is only one label per key (so you can't
have "normal and dead versions").

>  It would make most sense to add a GII_KT_DEAD, as it makes it easy
>  to construct dead keys and doesn't limit us to a few keys.
  
Hehehe, it's funny you say that, we used to have it (from linux: KT_DEAD).

There isn't really a big need for it IMHO, either you know the dead key
(e.g. DIERESIS) and handle it in a switch() statement, or you don't know
it and you ignore it.  Hmmm... do _applications_ really want to know ?
I don't think so.

Now, should we add code to e.g. linux-kbd to do dead key processing ?
It's possible, there is the KDGKBDIACR ioctl for reading the
accent_table...  I'd say yeah, give it a go if you want to.  

The event sequence would look like this:

   user action     ev.type     sym         label
   
   press dieresis  KeyPress    GIIK_VOID   '.' (for example)
   release it      KeyRelease  GIIK_VOID   '.'
   
   press 'a'       KeyPress    a-umlaut    'a'
   release it      KeyRelease  a-umlaut    'a'

Cheers,
___________________________________________________
                                               \  /
  Andrew Apted   <andrew@ggi-project.org>       \/
 

Index: [thread] [date] [subject] [author]