Micha Feigin wrote:
On Tue, 10 Mar 2009 11:44:46 +0200
Ronen Abravanel <ron...@gmail.com> wrote:

Before you rush into this change - Consider the following usecase:
Switching to math - When I'm in math-mode, I always want my keyboard layout
to be English. While In windows, The current keyboard layout override the
global one (If you put the cursor in an Hebrew context, the language will
switch to Hebrew, If you put your cursor in English context - you'll write
in English).
When I'm writing document, I want the Ctrl+m will be the only thing I need
to do in order to start typing math. "Ctrl-m Alt-Shift" Is match to
expensive..


good point, but you also have two input senarios in math.
1. Entering parameters (regular typing). AFAIK it should always be in english
because I don't think that latex can handle anything else
2. in text mode inside math mode, where you want to be able to type both
(although at the moment it requires explicitly entering the \R{} macro to get
hebrew in there

Does everyone agree on the first point and are you willing to manually change
in the second case or do you want some other behviour?

So - If LyX will use the native-system-keyboard-layout - It will have to be
able to change it depending the current context (Math\Regular) - And in
every OS.

On Tue, Mar 10, 2009 at 9:59 AM, Abdelrazak Younes <you...@lyx.org> wrote:

Micha Feigin wrote:

Sorry, sent off list by mistake

On Mon, 9 Mar 2009 22:05:51 +0100
Jean-Marc Lasgouttes <lasgout...@lyx.org> wrote:

 There are two issues. For running the dictionary you need to know  the
language.
For hebrew and arabic it's another issue, you need to know the  system
language
so that you know directionality. Hebrew is right to left. For  hebrew
characters
it may be easy to decide, for what about spaces and numbers? For  these
we need
to know the system keyboard language and not guess it from the
 character.

Under windows I know it's possible since for example word does it.
 Question is
whether this is possible to know under linux (I guess so since  there
are panel
applets that show the language). Which again comes down to the  question
whether
there is a technical issue why to work this way or not.

So you want to change language when the keyboard layout is changed at
 system level, right?
I never thought of these layouts as indicators of the actual  language.
If Qt gives us
this information, we should be able to do it.

JMarc


For every other program the system language is used for input (alt-shift
in my
case). So for example when writing mail or using oowriter I change the
system
language to change input. Lyx is the only exeption where I __have__ to
keep the
system language for english and bind (f12 in this case) to language
hebrew. It
makes things incosistent and non-intuitive, esspecially for new users.

I agree. For RTL languages, it makes a lot of sense to change the current
language together with the system. Advanced users wishing to change the
language independently should be able to disable this feature though.

Now, you have to find someone willing to implement this feature ;-)

FYI, a year or two ago I advocated that the text direction should be based
uniquely on the encoding, independently of the language settings, like Qt
does. But I failed to convince other developers.

Dov, are you reading this? ;-)

Abdel.


A little late, but yes, I am still lurking on the mailing lists... ;)

I think the main reason (to answer the title question) is that we don't know how to get/set the system-wide keyboard language in a cross-platform way. If it's possible to do that, then I think it should be fairly simple to implement a solution along the following lines:

Ideally, if it *were* possible to detect the system-wide keyboard language setting, then LyX should (optionally! for users that *want* this feature) set it's internal language to the system-wide setting, plain and simple. The only thing to make sure, though, is that in the same manner, whenever LyX chooses to change it's internal language, it should also *set* the system-wide keyboard setting to that language. I think that that would solve the issue raised by Ronen: when entering a math inset, LyX would set the internal, as well as the system-wide, language to english (or latex, technically? I forget the exact details), which would mean that the math text would be set correctly; and when exiting that inset, LyX automatically sets the language back to whatever it was before entering the inset. Similarly, when moving the cursor over existing text, LyX changes the language to match the underlying text. I'm almost certain that LyX already does all of this language setting --- except that not at the system-wide level, that's what would have to be added.

Note, however, that even if this is implemented, I think I would *still* choose to use LyX's keymaps, for reasons that I've explained elsewhere (last time around was at http://article.gmane.org/gmane.editors.lyx.general/48426). And while some of the reasons mentioned there may not be relevant after a solution along the lines of what I just outlined is implemented, some of them still are; the main one being that I *prefer* for keyboard setting *not* to be system-wide --- the fact that I am currently writing a Hebrew LyX document has no (or very very little) bearing on the question of what language I want for browsing the web or chatting on IM or whatever (and note the pathological --- but common --- case I raise in the above link). So whatever you do, please don't get rid of keymaps for now, and make "LyX uses system-wide keyboard language" an *option*!

Dov

Reply via email to