bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#23251: 25.0.92; M-< and M-> don't work with Croatian keyboard


From: Ilya Zakharevich
Subject: bug#23251: 25.0.92; M-< and M-> don't work with Croatian keyboard
Date: Wed, 13 Apr 2016 22:37:13 -0700
User-agent: Mutt/1.5.21 (2010-09-15)

On Sun, Apr 10, 2016 at 12:46:05PM -0700, Ilya Zakharevich wrote:
> keyboards define the ISO key identically:
>    Base         → <
>    Shift  → >
>    Ctrl         → FS=^\
> 
> There is no special binding for any other key (including any Alt).
> Both keyboards look as having the bit KLLF_ALTGR (sp?) defined (but
> probably MSKLC would lie about this!). 

      Explanation for enquiring minds:
      ================================

OK, the reason for a peculiar behaviour of these keys is that they are
SECONDARY keypresses which produce the same character.  So:
  • The “more bullet-proofish” branch in my patch cannot handle such
    keyspresses, and
  • the fallback (“to assume that every modifier keys DID contribute¹⁾
    to the generation of the character”) turned out to be too
    simple-minded (for this unexpectedly frequent situation).

      ¹⁾ On Windows, for typical layouts, Alt (NOT AltGr!) and Win
         modifiers would not affect the generated character.

This behaviour of layouts is a little bit more widespread than what I
expected.  So far I found following pairs:

            Primary                 Secondary         Generate
  Czech:    AltGr-Q, AltGr-W        ISO, Shift-ISO     \, |
  Croat:    AltGr-Q, AltGr-W        US-\, US-|         \, |
  Croat:    AltGr-., AltGr-,        ISO, Shift-ISO     <, >
  Slovak:   AltGr-z                 AltGr-,            >
  Slovak:   AltGr-.                 AltGr-ISO          <
  C-Y:      US-/, US-|              ISO, Shift-ISO     \, |

(The last row is for Czech-QUERTY, but also for most US-compatible
keyboards.)  Here US-foo means “the keypress producing ‘foo’ on US
keyboard”.

Also, on Czech-QUERTY, the following characters allow AltGr access
(“A-” below) at the “US layout locations”; together with
Czech-layout-specific keypresses, this creates duplication as (AFAIK):

  Primary:      US-!    US-`    A-US-_  A-US-:  US-<     US--     A-US--
  Secondary:    A-US-+  A-US-;  US-?    US->    A-US-?   A-US-=   US-/
  Produce:      +       ;       _       :       ?        =        -

This creates a significant mess if one wants to allow using the
secondary locations with Alt modifier (for example, to generate Meta-;
by Alt-AltGr-;).  It does not look like a small workaround is possible
(which does not break OTHER usage scenarios).

Ilya

P.S.  I know a medium-sized workaround which would improve OTHER cases
      as well.  But it cannot be ready in a day or two!]





reply via email to

[Prev in Thread] Current Thread [Next in Thread]