Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#9133 - initscripts: problem loading keymap

Attached to Project: Arch Linux
Opened by Sergey Karpukhin (KSerZ) - Tuesday, 08 January 2008, 14:53 GMT
Last edited by Roman Kyrylych (Romashka) - Thursday, 28 February 2008, 10:46 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Aaron Griffin (phrakture)
Roman Kyrylych (Romashka)
Architecture All
Severity Low
Priority Normal
Reported Version 2007.08-2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

I use KEYMAP="ru-ms" in /etc/rc.conf and utf8 locale, and I don't able to type anything with russian symbols. It results in incorrect symbols with "ru-ms" and in hanging of console with "ru4". Local text in programs and files display well.

A solution is to add "dumpkeys -c koi8-r | loadkeys -u" to rc.sysinit. I think that it will be good to add new var in rc.conf like

---
DUMPKEYS_CHARSET="koi8-r" # Or any other
---

and in rc.sysinit:

/usr/bin/dumpkeys -c koi8-r | /bin/loadkeys -u

Popular solution on russian forums is to provide native unicode keymaps, but there's no one in kbd or in core packages, and it's difficult working with livecd for example.
This task depends upon

Closed by  Roman Kyrylych (Romashka)
Thursday, 28 February 2008, 10:46 GMT
Reason for closing:  Won't fix
Comment by Sergey Karpukhin (KSerZ) - Tuesday, 08 January 2008, 15:33 GMT
And by the way, does anybody know anything about described console hangs?
Comment by Roman Kyrylych (Romashka) - Thursday, 10 January 2008, 12:35 GMT
Hm, it seems it was broken during fixing  FS#7641 .
Comment by Roman Kyrylych (Romashka) - Thursday, 10 January 2008, 12:44 GMT
When fixing  FS#7641  we changed
/usr/bin/dumpkeys | /bin/loadkeys --unicode
to
/bin/loadkeys -q -u "$KEYMAP"
The original proposal was to use /usr/bin/dumpkeys ${KEYMAP_CHARSET:+"-c${KEYMAP_CHARSET}"} | /bin/loadkeys --unicode
(same as you propose)
but everyone confirmed that /bin/loadkeys -q -u "$KEYMAP" works the same way.
So I'm a bit confused.

BTW, AFAIR ru.map in kbd-1.13 package is an Unicode map. It's not the same as old ru.map from pre-1.13 kbd definetely.
Can you check and confirm this? (if it's not a unicode keymap - please provide one, it will be included)
Comment by Aaron Griffin (phrakture) - Thursday, 10 January 2008, 17:12 GMT
Is the problem here that there is no mapping from the keymap "ru-ms" to the "koi8-r" charset ?
Comment by Sergey Karpukhin (KSerZ) - Thursday, 10 January 2008, 21:16 GMT
I updated kbd, the last version is 1.12.20070827-2 and tested loadkeys -q -u with all maps. ru.map is really Unicode, it's the only able to work. I also tried various options of loadkeys on ru-ms and ru4, they don't work without dumpkeys -c koi8-r|loadkeys. I think it will be good to add more Unicode keymaps(with different switching models) or to use existing ones throw dumpkeys -c | loadkeys.

P.S. There is a little mismatch in ru.map on right key "\ |" which must be "\ /" in russian layout, but is "\ |". New variant included.
Comment by Aaron Griffin (phrakture) - Thursday, 10 January 2008, 21:41 GMT
Ok, how about this. I keep coming across initscripts changes to add. I will switch loadkeys to this line:

/usr/bin/dumpkeys ${KEYMAP_CHARSET:+"-c${KEYMAP_CHARSET}"} | /bin/loadkeys --unicode

And add KEYMAP_CHARSET to rc.conf. Is this acceptable?

Regarding the ru keymap, please file a separate bug report for the appropriate package (kbd). It'd also, probably, be nice to file a bug upstream as well
Comment by Roman Kyrylych (Romashka) - Thursday, 10 January 2008, 22:19 GMT
@Aaron: $KEYMAP_CHARSET sounds fine to me, and because it's the same solution as originally proposed by the author of  FS#7641  - that bug shouldn't reappear.
However there's another important issue - support for multiple keymaps (see  FS#8579 ).
From the summary of  FS#8579  it looks like "dumpkeys | loadkeys" worked fine for multiple keymaps,
but I don't know if using dumpkeys with $KEYMAP_CHARSET won't break this.
So it would be nice to get authors of  FS#7641  and  FS#8579  involved in testing of the proposed change.

About kbd - it's no longer developed by mainstream. The version in our repo is a patched version maintained by a developer of ALT Linux (for Aaron - it's one of 2 major Russian distros).
So, Sergey, while we can improve our kbd package (open a new report), I suggest you to send a patched version that fixes the "/|" bug to Alexey Gladkov at ALT Linux. ;-)

P.S.: since both  FS#7641  and  FS#8579  are fixed now - the best solution IMO would be to actually fix all broken keymaps (Russian keymaps in kbd<=1.12 are ancient) to make them working with our current initscripts. This would also eliminate the need in yet another variable (KEYMAP_CHARSET).
Comment by Sergey Karpukhin (KSerZ) - Friday, 11 January 2008, 17:02 GMT
OK, I'll talk with kbd maintainers from ALT Linux and probably make some Unicode keymaps to include them in kbd or in other package. And, in general, shall kbd contain many keymaps in Unicode? I don't know exactly, but in russian Unicode locale seems to be a de facto standard, so users probably need many Unicode keymaps, but if there's a locale with widely used native single-byte encodings, then most keymaps for such language in kbd would be single-byte and need transformation in initscripts to support Unicode.
Comment by Aaron Griffin (phrakture) - Friday, 11 January 2008, 20:56 GMT
Hrm, Roman, so your suggestion is to simply fix the keymap for Russian so that we need no iniscripts change? If we reencode the keymap, this should fix itself, yes?
Comment by Roman Kyrylych (Romashka) - Friday, 11 January 2008, 22:02 GMT
Yes. That's not only to make our life easier (by not introducing another variable), but because Russian keymaps are total crap - there are 5 or 6 of them, but only in post-1.12 there is at least one Unicode map.
Most other languages had good keymaps for ages (e.g. there are ua and ua-utf Ukrainian keymaps, which are 95% similar to Russian keymaps, the most important difference is that they work out of the box).

(edit: lol, I've written 'language' instead of 'variable' first :D)
Comment by Roman Kyrylych (Romashka) - Thursday, 28 February 2008, 10:44 GMT

Loading...