Re: [PATCH] kbd: (#7063) make CapsLock work as expected even for non-ASCII

From: Samuel Thibault
Date: Mon Nov 16 2009 - 18:04:43 EST


Alexey Dobriyan, le Tue 17 Nov 2009 01:53:51 +0300, a écrit :
> On Mon, Nov 16, 2009 at 11:27:39PM +0100, Samuel Thibault wrote:
> > Alexey Dobriyan, le Mon 16 Nov 2009 22:53:13 +0300, a écrit :
> > And you could probably also read bug #7746 which is probably now a dup
> > (yes, the original report mixes several issues).
> >
> > > My keymap contains
> > >
> > > keycode 44 = +z
> > > shift keycode 44 = +Z
> > > altgr keycode 44 = U+044F # CYRILLIC SMALL LETTER YA
> > > altgr shift keycode 44 = U+042F # CYRILLIC CAPITAL LETTER YA
> >
> > And U+044F / U+042F is not KT_LETTER.
> >
> > Yes, there's no way you can express a unicode character in KT_LETTER.
> > Limited interface, but that's not a reason to break other interfaces.
>
> What other interfaces?

The caps lock interface. As I said, caps lock is caps lock, it's not
shift lock. For now Linux uses caps lock. If you make it use shift
lock it completely changes the behavior.

> Here, U+044F is sent, now (correctly) U+042F.

Yes, that's shift lock. But then any other key will also be shifted,
not only the KT_LETTER ones, while it's exactly the purpose of KT_LETTER
and caps lock.

> > > > > Note: patch relies on keymap being consistent wrt SMALL/CAPITAL symbols.
> > > >
> > > > And that's not true for a lot of keyboard symbols.
> > >
> > > That's why patch implies keymap is not fucked up.
> >
> > However you can't changed the "fucked up" keyboard of people. They have
> > bought it and it's printed like that on it...
>
> keymap is loadable, what are you talking about?
> /usr/share/keymaps/i386/qwerty/ru.map.gz

It seems we don't understand each other, I'll repeat what I have
understood and explain more:

- you say
> Note: patch relies on keymap being consistent wrt SMALL/CAPITAL symbols.

- I understand
patch relies that keymaps always have the capital variant of letters at
the shifted position of each keys.

- I answer
> And that's not true for a lot of keyboard symbols.

- I mean
Some keyboard (physical, bought at the local store, not just keymaps
from CrazyHacker) do _not_ always have the capital variant of letters at
the shifted position of each keys. On a french keyboard for instance, É
is not at shift+é, but altgr+shift+é. So your patch won't work and
actually do harm.

- You answer
> That's why patch implies keymap is not fucked up.

- I understand
That's why patch implies that french keyboard is not fucked up.

- I answer
> However you can't changed the "fucked up" keyboard of people. They have
> bought it and it's printed like that on it...

- I mean
Maybe it's fucked up, but all the french keyboards are like that, you
can't change that fact.

- You answer
> keymap is loadable, what are you talking about?
> /usr/share/keymaps/i386/qwerty/ru.map.gz

- I didn't understand anything.

Samuel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/