Re: Experiments with classical Greek keyboard input
Today at 1:00, Vasilis Vasaitis wrote: For the others to work, you need to have at least LC_CTYPE=el_GR.UTF-8. In my system, with LANG=el_GR.UTF-8, everything is working as it should. Keep in mind that for GTK+ applications you also need GTK_IM_MODULE=xim defined (or else you have to right-click on each textbox, and select Input Methods - X Input Method). With a more recent X, you can also create your own ~/.Xcompose and stick relevant combinations there. Cheers, Danilo -- Linux-UTF8: i18n of Linux on all levels Archive: http://mail.nl.linux.org/linux-utf8/
Re: Experiments with classical Greek keyboard input
Joe Schaffner wrote: After lengthy consideration, I have come to the conclusion xkb [..] only maps keyboard events to keysyms, which are not characters Many of them really are just characters. I have these two keymaps i.e. groups on my system: /etc/X11/xkb/symbols/el -- The one I'm using /etc/X11/xkb/symbols/gr -- The dirty bastard Isn't this dirty bastard /etc/X11/xkb/symbols/pc/gr? Which version of X do you have? include el(extended) This shows that you are really using both, because gr includes el. BTW in newer versions of X there is no el, only the dirty bastard. key.type = THREE_LEVEL; key AD11 {[], [ dead_tilde, dead_diaeresis, dead_macron ]}; key AD12 {[], [ dead_iota, VoidSymbol, dead_breve ]}; key AC10 {[], [ dead_acute, dead_horn ]}; key AC11 {[], [ dead_grave, dead_ogonek ]}; }; I assume the list of keysyms captures the shifted state of the key i.e. dead_acute is on the semi-colon key and dead_horn is on the same key, shifted, the colon key. Yes, and in the case of three-level keys, the third level is accessed by the AltGr key (right-alt, most probably). So that's how you get the dead macron etc. Some keys might be four-level, in which case the fourth level is accessed by means of Shift-AltGr. dead_grave is on the single-quote key and dead_ogonek is on the double-quote key. That's a pretty good layout. I like it. Why not name these keysyms dead_psili and dead_dasia? Because these names are not known to the system. However, all UTF-8 characters are known to the system by default, having names beginning with U. So the designer of this layout could, and in my opinion should, have called them U0313 (for the dead psili) and U0314 (for the dead dasia). This would have avoided the need for a special Greek Compose file, the existence of which is just a bother, ergo censeo delendam esse. There already exists an international Compose file (it is called the US file but it is really international), which serves all languages, including ancient and modern Greek, and which knows how to combine U0313 and U0314 with Greek letters and with other accents. Anyway, I activate the gr keymap like this: setxkbmap us,gr(polytonic) -option grp:alt_shift_toggle The command syntax is troublesome. There seem to be other ways of doing it. Maybe I'm wrong, but it seems to work. You can put the keyboard options in the X configuration file (/etc/X11/xorg.conf, or /etc/X11/XF86Config-4). [..] Yes, I can enter greek characters. The dead_acute seems to work, but I am not sure if it is outputting a tonos or a acute. It's probably a tonos. It should be, because having a separate acute is not considered correct anymore. The fonts you use should display the tonos as an acute. But if you really want to have the separate acute (oxia), there are ways. None of the other dead keys seem to work. Any ideas? All the dead keys can be made to work. It is not magic; it is not even difficult. I apologise for blowing my own horn, but perhaps you really should read the bits relating to keyboard and Greek on http://www.jw-stumpel.nl/stestu.html. It would be nice to see the entire character map in the same place. To get a picture of your character map (or maps, if you have defined multiple maps) you could try xkbcomp -xkm $DISPLAY xkbprint server-0_0.xkm server-0_0.eps The resulting file, server-0_0.eps, can be viewed with gv. This xkbprint system seems a little bit flaky, though. You may have difficulty actually printing the map. 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
O/H Jan Willem Stumpel έγραψε: Joe Schaffner wrote: After lengthy consideration, I have come to the conclusion xkb [..] only maps keyboard events to keysyms, which are not characters Many of them really are just characters. I have these two keymaps i.e. groups on my system: /etc/X11/xkb/symbols/el -- The one I'm using /etc/X11/xkb/symbols/gr -- The dirty bastard Isn't this dirty bastard /etc/X11/xkb/symbols/pc/gr? Which version of X do you have? include el(extended) This shows that you are really using both, because gr includes el. BTW in newer versions of X there is no el, only the dirty bastard. Now the official is gr. el is an alias to gr, to let old configurations continue to work. This is in Xorg 7.0+ and xkeyboard-config, in earlier Xorg your mileage may vary. key.type = THREE_LEVEL; key AD11 {[], [ dead_tilde, dead_diaeresis, dead_macron ]}; key AD12 {[], [ dead_iota, VoidSymbol, dead_breve ]}; key AC10 {[], [ dead_acute, dead_horn ]}; key AC11 {[], [ dead_grave, dead_ogonek ]}; }; I assume the list of keysyms captures the shifted state of the key i.e. dead_acute is on the semi-colon key and dead_horn is on the same key, shifted, the colon key. Yes, and in the case of three-level keys, the third level is accessed by the AltGr key (right-alt, most probably). So that's how you get the dead macron etc. Some keys might be four-level, in which case the fourth level is accessed by means of Shift-AltGr. dead_grave is on the single-quote key and dead_ogonek is on the double-quote key. That's a pretty good layout. I like it. Why not name these keysyms dead_psili and dead_dasia? Because these names are not known to the system. However, all UTF-8 characters are known to the system by default, having names beginning with U. So the designer of this layout could, and in my opinion should, have called them U0313 (for the dead psili) and U0314 (for the dead dasia). The U notation for Unicode characters in the Compose file should be edited so that any numbers have 0x1000 added to them. For more on this and the chance to try out such an updated Compose file, see https://bugs.freedesktop.org/show_bug.cgi?id=5129 I did not manage to try the file myself as I run Breezy (Oldish Xorg 6.8.2). In Xorg 6.8.2 on Breezy I have an issue of typing psili, daseia and several other combinations based on these. I think this relates to the merging of the greek compose file to the common international one. See https://launchpad.net/distros/ubuntu/+source/gtk+2.0/+bug/21637 for more. If someone has Xorg 7.0 and want to try out, please do and report back. This would have avoided the need for a special Greek Compose file, the existence of which is just a bother, ergo censeo delendam esse. There already exists an international Compose file (it is called the US file but it is really international), which serves all languages, including ancient and modern Greek, and which knows how to combine U0313 and U0314 with Greek letters and with other accents. I second that. Anyway, I activate the gr keymap like this: setxkbmap us,gr(polytonic) -option grp:alt_shift_toggle The command syntax is troublesome. There seem to be other ways of doing it. Maybe I'm wrong, but it seems to work. You can put the keyboard options in the X configuration file (/etc/X11/xorg.conf, or /etc/X11/XF86Config-4). [..] Yes, I can enter greek characters. The dead_acute seems to work, but I am not sure if it is outputting a tonos or a acute. It's probably a tonos. It should be, because having a separate acute is not considered correct anymore. The fonts you use should display the tonos as an acute. But if you really want to have the separate acute (oxia), there are ways. None of the other dead keys seem to work. Any ideas? All the dead keys can be made to work. It is not magic; it is not even difficult. I apologise for blowing my own horn, but perhaps you really should read the bits relating to keyboard and Greek on http://www.jw-stumpel.nl/stestu.html. It would be nice to see the entire character map in the same place. To get a picture of your character map (or maps, if you have defined multiple maps) you could try xkbcomp -xkm $DISPLAY xkbprint server-0_0.xkm server-0_0.eps The resulting file, server-0_0.eps, can be viewed with gv. This xkbprint system seems a little bit flaky, though. You may have difficulty actually printing the map. You can also use xev. Run it from command line and give focus to the xev window. Switch keyboard to Greek Polytonic and type ancient greek. You will be able to see the individual characters being sent. You will also be able to see if GTK+ filters and cuts off any dead keys. There are some patches for GTK+ to add support for Greek polytonic (it actually synchs Compose-Xorg with GTK+). If you are the compile type of person (Gentoo?), try out
Re: Experiments with classical Greek keyboard input
Thanks to Everyone for your help. It looks like my system is configured properly, only something is not working, perhaps in the implementation. I have a SuSE 9.2 which I installed last year, but I believe I have seen copyright notices dating to 2003. I know that 9.3 came out last year, and I think a friend of mine was telling me that 9.4 was already available. Only I don't have the time to make such frequent updates. For the moment, I'll stick with my perl script. It's really no problem. In fact, it's GREAT! You know, I have Fedora on another partition. Maybe I'll give that a try... Oh yeah, I did. It didn't work either, and the configuration files were virtually identical. Let's drink a toast... to the next version! Cheers! Joe http://modern-greek-verbs.tripod.com/sarris/ On 5/10/06, Jan Willem Stumpel [EMAIL PROTECTED] wrote: Joe Schaffner wrote: After lengthy consideration, I have come to the conclusion xkb [..] only maps keyboard events to keysyms, which are not characters Many of them really are just characters. I have these two keymaps i.e. groups on my system: /etc/X11/xkb/symbols/el -- The one I'm using /etc/X11/xkb/symbols/gr -- The dirty bastard Isn't this dirty bastard /etc/X11/xkb/symbols/pc/gr? Which version of X do you have? include el(extended) This shows that you are really using both, because gr includes el. BTW in newer versions of X there is no el, only the dirty bastard. key.type = THREE_LEVEL; key AD11 {[], [ dead_tilde, dead_diaeresis, dead_macron ]}; key AD12 {[], [ dead_iota, VoidSymbol, dead_breve ]}; key AC10 {[], [ dead_acute, dead_horn ]}; key AC11 {[], [ dead_grave, dead_ogonek ]}; }; I assume the list of keysyms captures the shifted state of the key i.e. dead_acute is on the semi-colon key and dead_horn is on the same key, shifted, the colon key. Yes, and in the case of three-level keys, the third level is accessed by the AltGr key (right-alt, most probably). So that's how you get the dead macron etc. Some keys might be four-level, in which case the fourth level is accessed by means of Shift-AltGr. dead_grave is on the single-quote key and dead_ogonek is on the double-quote key. That's a pretty good layout. I like it. Why not name these keysyms dead_psili and dead_dasia? Because these names are not known to the system. However, all UTF-8 characters are known to the system by default, having names beginning with U. So the designer of this layout could, and in my opinion should, have called them U0313 (for the dead psili) and U0314 (for the dead dasia). This would have avoided the need for a special Greek Compose file, the existence of which is just a bother, ergo censeo delendam esse. There already exists an international Compose file (it is called the US file but it is really international), which serves all languages, including ancient and modern Greek, and which knows how to combine U0313 and U0314 with Greek letters and with other accents. Anyway, I activate the gr keymap like this: setxkbmap us,gr(polytonic) -option grp:alt_shift_toggle The command syntax is troublesome. There seem to be other ways of doing it. Maybe I'm wrong, but it seems to work. You can put the keyboard options in the X configuration file (/etc/X11/xorg.conf, or /etc/X11/XF86Config-4). [..] Yes, I can enter greek characters. The dead_acute seems to work, but I am not sure if it is outputting a tonos or a acute. It's probably a tonos. It should be, because having a separate acute is not considered correct anymore. The fonts you use should display the tonos as an acute. But if you really want to have the separate acute (oxia), there are ways. None of the other dead keys seem to work. Any ideas? All the dead keys can be made to work. It is not magic; it is not even difficult. I apologise for blowing my own horn, but perhaps you really should read the bits relating to keyboard and Greek on http://www.jw-stumpel.nl/stestu.html. It would be nice to see the entire character map in the same place. To get a picture of your character map (or maps, if you have defined multiple maps) you could try xkbcomp -xkm $DISPLAY xkbprint server-0_0.xkm server-0_0.eps The resulting file, server-0_0.eps, can be viewed with gv. This xkbprint system seems a little bit flaky, though. You may have difficulty actually printing the map. Regards, Jan -- Linux-UTF8: i18n of Linux on all levels Archive: http://mail.nl.linux.org/linux-utf8/ -- Linux-UTF8: i18n of Linux on all levels Archive: http://mail.nl.linux.org/linux-utf8/
Re: Experiments with classical Greek keyboard input
Hi Jan, Today at 13:02, Jan Willem Stumpel wrote: key.type = THREE_LEVEL; key AD11 {[], [ dead_tilde, dead_diaeresis, dead_macron ]}; key AD12 {[], [ dead_iota, VoidSymbol, dead_breve ]}; key AC10 {[], [ dead_acute, dead_horn ]}; key AC11 {[], [ dead_grave, dead_ogonek ]}; }; I assume the list of keysyms captures the shifted state of the key i.e. dead_acute is on the semi-colon key and dead_horn is on the same key, shifted, the colon key. Yes, and in the case of three-level keys, the third level is accessed by the AltGr key (right-alt, most probably). So that's how you get the dead macron etc. Note that the layout listed above contains two *groups* as well, i.e. it's not an xkeyboard-config layout (or, do we still have some of these left?) Some keys might be four-level, in which case the fourth level is accessed by means of Shift-AltGr. Not with key.type = THREE_LEVEL. :) Because these names are not known to the system. However, all UTF-8 characters are known to the system by default, having names beginning with U. So the designer of this layout could, and in my opinion should, have called them U0313 (for the dead psili) and U0314 (for the dead dasia). I think U-ames are available only for those Unicode characters not having any other representation in keysymdef.h. Cheers, Danilo -- Linux-UTF8: i18n of Linux on all levels Archive: http://mail.nl.linux.org/linux-utf8/