[Openmcl-devel] support for International keyboards

Rainer Joswig joswig at lisp.de
Tue Apr 7 07:18:07 UTC 2009


A while ago I wrote the following email about this topic (not to this  
list). Maybe it is worth to send it to this list also, since it  
describes the perspective of a German keyboard user:

----

I have keys for ü, ä, ö (and some others)
on a German keyboard. I don't press these keys with option-something.
My keyboard ALU keyboard looks like this:

unshifted

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedGraphic.tiff
Type: image/tiff
Size: 67880 bytes
Desc: not available
URL: <http://lists.clozure.com/pipermail/openmcl-devel/attachments/20090407/507b5f14/attachment.tiff>
-------------- next part --------------



shifted

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedGraphic.tiff
Type: image/tiff
Size: 68224 bytes
Desc: not available
URL: <http://lists.clozure.com/pipermail/openmcl-devel/attachments/20090407/507b5f14/attachment-0001.tiff>
-------------- next part --------------



option

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedGraphic.tiff
Type: image/tiff
Size: 67986 bytes
Desc: not available
URL: <http://lists.clozure.com/pipermail/openmcl-devel/attachments/20090407/507b5f14/attachment-0002.tiff>
-------------- next part --------------



option-shifted

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedGraphic.tiff
Type: image/tiff
Size: 66772 bytes
Desc: not available
URL: <http://lists.clozure.com/pipermail/openmcl-devel/attachments/20090407/507b5f14/attachment-0003.tiff>
-------------- next part --------------



there are basically three problems to address:

1) normal keys like ä, ö, ü, ß, Ä, Ö, Ü should just work (shifted and  
unshifted)

2) in many Lisp environments the OPTION key is used for META
  (sometimes COMMAND is used as the META key)

  This is for Lisp programming a problem, since many useful characters
  can only be reached with the option key: @, [, ], {, }, |, ...

  There are usually two solutions to this: a) use c-q as a prefix.
  b) make some meta-key combinations available, so that they
  input characters. For example Aquamacs does that.
  Aquamacs has under the Options menu the entry 'Option key'
  where I can select Meta & German - this then makes
  for example option-x act like meta-x and option-l enters
  the @ character.

  Then there is the possibility to use esc as the meta key prefix
  and use option key as the OPTION key. Probably something
  that some users might like.

3) dead keys. CCL should understand the dead key combinations.
  The orange keys above are 'dead' keys. So 'option-u a'
  should enter an ä.


I don't have the newest version of CCL, but 'Clozure Common Lisp  
Version 1.1-r8157 (DarwinX8664)'
makes quite a few problems:

1) öäüßÄÖÜ don't work. If I press these keys nothing gets entered.

2) control-q option-somekey  works. But the option key otherwise
    is used as the meta key. So, I can't enter any character via
    the option character and have to quote ALL characters with control- 
q.
    For example to enter  {    I have to type  control-q option-8 .
    Probably that is something to live with.

3) dead keys don't work. Unfortunately some keys need to be typed
    with them. the character ^  is the key ^ followed the space key.
    As you see above the german keyboard does not even have an
    'undead' ^ key.
    The ^ is not recognized as a dead key. Same for the other dead keys:
    ´`¨~  . Note that there are different dead keys for shift, option,  
and option-shift.

   Note that I can enter dead-key combination using the prefix control- 
q.
  So control-q option-shift-6 space  enters ^ . Unfortunately pressing
  control-q option-shift-6 and then doing something else leaves
  CCL in some state, where ^ is printed with a yellow background and
  the editor basically stops working.

----


Rainer Joswig, Hamburg, Germany
http://lispm.dyndns.org/
mailto:joswig at lisp.de





More information about the Openmcl-devel mailing list