On Thursday 28 August 2003 10:54, Ivan Pascal wrote: > Hello, > > There are some issues related to a symbols composing and Compose files that > were mentioned here (and in Bugzilla) during last monthes. > The choice of Compose file depends on the current locale and is very > unflexible. The files are placed far from other keyboard-related files > (many people even can't find them). There is not any way to customize them > (e.g. per-user compose file). > > I'd like to offer some changes in that mechanism that solve at least a part > of problems. > > First of all I should remind that whereas in many systems a composing > mechanism (dealing with dead_keys and/or Mylti_key like prefix) is a part > of keyboard driver and composing rules are a part of keyboard maps, in X > Window it has no relations to XKB and its files. Moreover that composing > should work if Xserver and/or Xlib are built without XKB. > The most unpleasant consequence is that Xlib use different ways to get > Compose files and other keyboard-related data. A keyboard map is kept on a > server and Xlib retrives it using XKB protocol (or some core protocol > requests) but Compose file is always read localy from client machine > filesystem.
> An ideal solution would be to integrate compose rules into XKB (or core > protocols) maps but it needs changes in the protocol or a making new > extension. My proposals touch existent files (and compose subsytem) only. I agree that the Compose configuration should be integrated into XKB. However, I'd think that you could leave the old Xlib stuff the way it is. If Jane Doe wants to be able to have personal Compose sequences, she has to enable XKB. Of course, that's only if it's less work to develop and maintain. Also, what I understand is that you want to change XKB to provide compose sequences. Will that break interoperabilty with non XFree86 servers or clients compiled with non-XFree86 xlibs? > Locale independence. Absolutely. Configuring how the keyboard reacts to keypresses should be handled in one way, not a server file here, a client file there, and an environment variable, too. > Customization. > > I added to Compose file an 'include' instriction. It allows to compose > Compose file :-) from some files and add small corrections that user > prefers. E.g. if user has custom Compose file it can look like > > include "<system wide file>" > my_own_rules > ... I guess before I can say anything intelligent about this style of customization, I'd want to know what is the method for configuring a private XKB keymap? The classic way is with xmodmap, but that's not at all XKBish. What should a user do to select an XKB symbol map in his home directory? Put setxkbmap -symbols $HOME/.xkb/mycustom or something? Whatever that is, there should then be a -composerules flag to do the same thing. Then the KDE and Gnome tools that modify XKB from the client side can do the same thing for Compose as they do for the XKB symbols. > Of course, if some rules overlap, Xlib just discards a previous rule and > uses latest one. Xlib or XKB? Or both/either? > In finally a most doubtfull part: how to specify needed Compose file. > Now I made an environment variable XCOMPOSEFILE which value should be a > name (with a path) of Compose file. But I realize it is unhandly for > users. Any ideas are welcome. Ug. As in Ug-ly. Desktop-level customization by environment variables is pretty crappy. I'd rather see something that was more general to XKB, too. It's good to see these problems being addressed. Thanks for taking the time. Frank _______________________________________________ I18n mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/i18n
