Experiments with classical Greek keyboard input

2006-01-14 Thread Jan Willem Stumpel

Some results for classical Greek: this is with Debian Sid, en_GB.UTF-8
locale, PC104 (US) keyboard. No KDE, no Gnome. Just X with icewm.

Uim and scim do not provide methods for classical Greek. The immodule 
im-classicalgreek does not seem to work anymore with the newer versions 
(2.4.0) of gtk-2. So another method has to be found.


I tried to use the facilities offered by xkb.

Open an xterm and type
  setxkbmap us_intl (or whatever your favourite keyboard is).

This is an insurance policy; by pressing up-arrow you can always get
this command back.

Then type
  setxkbmap "gr(polytonic)+level3(lwin_switch)"

You keyboard changes to Greek, with some accents available:

dead perispomenon on the [ key, e.g. ῶ, ᾶ
dead macron on the [ key with left-windows pressed, e.g. ᾱ.
dead iota subscriptum on the ] key, e.g. ᾳ, ῃ, ῳ
dead acute accent on the ; key, e.g. ύ, ά, ί
dead grave accent on the ' key, e.g. ὰ, ὸ, ὶ

Accents can be combined, e.g. ][v becomes ῷ, ];h becomes ῄ. The iota
always has to be entered first.

But there is no way to enter the "breathing" signs (spiritus asper and
spiritus lenis, as they were called when I was at school).

The only way I found (so far) to enter the breathing signs is to edit
the file /etc/X11/xkb/symbols/pc/gr and change the lines

key  { [dead_acute,   dead_horn ] };
key  { [dead_grave,   dead_ogonek   ] };

to

key  { [  dead_acute,  dead_horn,0x1000313  ] };
key  { [  dead_grave,  dead_ogonek,  0x1000314  ] };

This makes the "breathing" signs available (after an X restart) on the ; 
and ' keys, when the left-windows key is pressed. It is then possible to 
enter things like ᾦ, ᾔ, ᾇ, ῥ. The breathing signs have to be entered 
last (just before the letter itself).


This system is far from ideal. It should be possible to change from the
default keyboard to classical Greek (and back) by some hotkey instead of 
a setxkbmap command. And also, several accent combinations can,

apparently, only be entered in xterm and openoffice, but not in Mozilla.
Suggestions for improvement are greatly appreciated. Apologies in 
advance if all this has been covered before.


Regards, Jan



--
Linux-UTF8:   i18n of Linux on all levels
Archive:  http://mail.nl.linux.org/linux-utf8/



Re: Experiments with classical Greek keyboard input

2006-01-14 Thread James Cloos
> "Jan" == Jan Willem Stumpel <[EMAIL PROTECTED]> writes:

Jan> setxkbmap "gr(polytonic)+level3(lwin_switch)"

Jan> It should be possible to change from the default keyboard to classical
Jan> Greek (and back) by some hotkey instead of a setxkbmap command.

You can accomplish that part by specifying multiple keymaps on the
setxkbmap line.

I use this command for my standard setup:

setxkbmap -layout us,el,ru,il -variant ,,phonetic,phonetic \
  -option ctrl:nocaps -option grp_led:scroll \
  -option compose:menu -option grp:ctrls_toggle \
  -option altwin:super_win

that gives me four layouts (the max that can be set at any given time)
which I can scroll through by pressing both control keys together (
that is the grp:ctrls_toggle option).  When I am in anything other
than the us map the scroll lock led is on (the grp_led:scroll option).
I also have the cap lock key be a control key and the menu key a
compose key.

Or at least I used to.  el no longer works for me.  

(The goal was to cover Latin/Greek/Cyrillic; I thru il in as well just
cause I could)

I also lack a good key to waste as a level3 key.  (The laptop lacks a
right win key¹ and I use the left win key for icewm.)

-JimC

¹ In fact the Fn key plus the left win key generates the keycode of
  the right win key, but it cannot be used as a modifyier because
  non-Fn-special keys are ignored when holding down Fn

-- 
James H. Cloos, Jr. <[EMAIL PROTECTED]>

--
Linux-UTF8:   i18n of Linux on all levels
Archive:  http://mail.nl.linux.org/linux-utf8/



Re: Experiments with classical Greek keyboard input

2006-01-14 Thread Alexandros Diamantidis
* Jan Willem Stumpel [2006-01-14 16:46]:
> But there is no way to enter the "breathing" signs (spiritus asper and
> spiritus lenis, as they were called when I was at school).
> 
> The only way I found (so far) to enter the breathing signs is to edit
> the file /etc/X11/xkb/symbols/pc/gr and change the lines
> 
> key  { [dead_acute,   dead_horn ] };
> key  { [dead_grave,   dead_ogonek   ] };

That dead_horn and dead_ogonek are "really" dead spiritus lenis (psili)
and spiritus asper (daseia) respectively. Just try, for example, ;:a in
greek mode, and you should get ἄ - with one caveat: this works only when
your locale is el_GR.UTF-8, so that the el_GR.UTF-8/Compose is used.
Alternatively, you can put the line

include "/usr/lib/X11/locale/el_GR.UTF-8/Compose"

at the top of your ~/.XCompose and after that add any sequences you need
that aren't there (or you can just include many other Compose files -
when the same sequence appears multiple times, later ones override
earlier ones).

When I made an initial try at a polytonic Greek keyboard, I couldn't
find a dead_comma_above and a dead_reversed_comma_above, so I just
(ab)used the first two keysyms that weren't otherwise meaningful on a
Greek keyboard. Subsequent updates to the Greek keyboard layout and
Compose files kept this (perhaps not strictly correct) arrangement.

-- 
Alexandros Diamantidis * [EMAIL PROTECTED]

--
Linux-UTF8:   i18n of Linux on all levels
Archive:  http://mail.nl.linux.org/linux-utf8/