From: Alexey Gladkov <gladkov.alexey@gmail.com>
To: Linux console tools development discussion <kbd@lists.altlinux.org>
Subject: Re: [kbd] [PATCH] loadkeys: Auto-convert “traditional”/Unicode keysyms
Date: Wed, 15 Apr 2009 01:37:32 +0400 [thread overview]
Message-ID: <49E5021C.5040703@gmail.com> (raw)
In-Reply-To: <20090414174549.GA4174@graeme>
[-- Attachment #1: Type: text/plain, Size: 928 bytes --]
14.04.2009 21:45, Michael Schutte wrote:
> The Linux kernel distinguishes between K(KTYP, KVAL) keysyms and Unicode
> characters. This patch makes loadkeys query the console’s Unicode mode
> and convert between the two keysym types according to the result. The
> theoretical advantage is that less keymaps need both an 8-bit and a
> Unicode variant (cf. trq[u], ua[-utf]).
I have a problem with your patch:
LANG: ru_RU.UTF-8
keymap: data/keymaps/i386/qwerty/ruwin_cplk-UTF-8.map
The difference between the old and the new behavior is attached. This
is 'dumpkeys -n' output.
For example keycode 52 = U+044e -> U+f44e:
$ /usr/bin/printf '\u044e\n\uf44e\n'
ю
First character is cyrillic 'yu':
http://www.fileformat.info/info/unicode/char/044e/index.htm
Second is:
http://www.fileformat.info/info/unicode/char/f44e/index.htm
And also, you have not updated the documentation for new behaviour.
--
Rgrds, legion
[-- Attachment #2: auto-detect-keymaps-ru.diff --]
[-- Type: text/plain, Size: 16736 bytes --]
--- old.dump 2009-04-15 01:03:49 +0400
+++ new.dump 2009-04-15 01:03:53 +0400
@@ -74,81 +74,81 @@
keycode 15 = 0x0009 0x0009 0x0009 0x0009
alt keycode 15 = 0x0809
altgr alt keycode 15 = 0x0809
-keycode 16 = +0x0b71 +0x0b51 U+0439 U+0419 0x0011 0x0011 0x0011
+keycode 16 = +0x0b71 +0x0b51 U+f439 U+f419 0x0011 0x0011 0x0011
alt keycode 16 = 0x0871
shift alt keycode 16 = 0x0851
altgr alt keycode 16 = 0x0871
shift altgr alt keycode 16 = 0x0851
control alt keycode 16 = 0x0811
altgr control alt keycode 16 = 0x0811
-keycode 17 = +0x0b77 +0x0b57 U+0446 U+0426 0x0017 0x0017 0x0017
+keycode 17 = +0x0b77 +0x0b57 U+f446 U+f426 0x0017 0x0017 0x0017
alt keycode 17 = 0x0877
shift alt keycode 17 = 0x0857
altgr alt keycode 17 = 0x0877
shift altgr alt keycode 17 = 0x0857
control alt keycode 17 = 0x0817
altgr control alt keycode 17 = 0x0817
-keycode 18 = +0x0b65 +0x0b45 U+0443 U+0423 0x0005 0x0005 0x0005
+keycode 18 = +0x0b65 +0x0b45 U+f443 U+f423 0x0005 0x0005 0x0005
alt keycode 18 = 0x0865
shift alt keycode 18 = 0x0845
altgr alt keycode 18 = 0x0865
shift altgr alt keycode 18 = 0x0845
control alt keycode 18 = 0x0805
altgr control alt keycode 18 = 0x0805
-keycode 19 = +0x0b72 +0x0b52 U+043a U+041a 0x0012 0x0012 0x0012
+keycode 19 = +0x0b72 +0x0b52 U+f43a U+f41a 0x0012 0x0012 0x0012
alt keycode 19 = 0x0872
shift alt keycode 19 = 0x0852
altgr alt keycode 19 = 0x0872
shift altgr alt keycode 19 = 0x0852
control alt keycode 19 = 0x0812
altgr control alt keycode 19 = 0x0812
-keycode 20 = +0x0b74 +0x0b54 U+0435 U+0415 0x0014 0x0014 0x0014
+keycode 20 = +0x0b74 +0x0b54 U+f435 U+f415 0x0014 0x0014 0x0014
alt keycode 20 = 0x0874
shift alt keycode 20 = 0x0854
altgr alt keycode 20 = 0x0874
shift altgr alt keycode 20 = 0x0854
control alt keycode 20 = 0x0814
altgr control alt keycode 20 = 0x0814
-keycode 21 = +0x0b79 +0x0b59 U+043d U+041d 0x0019 0x0019 0x0019
+keycode 21 = +0x0b79 +0x0b59 U+f43d U+f41d 0x0019 0x0019 0x0019
alt keycode 21 = 0x0879
shift alt keycode 21 = 0x0859
altgr alt keycode 21 = 0x0879
shift altgr alt keycode 21 = 0x0859
control alt keycode 21 = 0x0819
altgr control alt keycode 21 = 0x0819
-keycode 22 = +0x0b75 +0x0b55 U+0433 U+0413 0x0015 0x0015 0x0015
+keycode 22 = +0x0b75 +0x0b55 U+f433 U+f413 0x0015 0x0015 0x0015
alt keycode 22 = 0x0875
shift alt keycode 22 = 0x0855
altgr alt keycode 22 = 0x0875
shift altgr alt keycode 22 = 0x0855
control alt keycode 22 = 0x0815
altgr control alt keycode 22 = 0x0815
-keycode 23 = +0x0b69 +0x0b49 U+0448 U+0428 0x0009 0x0009 0x0009
+keycode 23 = +0x0b69 +0x0b49 U+f448 U+f428 0x0009 0x0009 0x0009
alt keycode 23 = 0x0869
shift alt keycode 23 = 0x0849
altgr alt keycode 23 = 0x0869
shift altgr alt keycode 23 = 0x0849
control alt keycode 23 = 0x0809
altgr control alt keycode 23 = 0x0809
-keycode 24 = +0x0b6f +0x0b4f U+0449 U+0429 0x000f 0x000f 0x000f
+keycode 24 = +0x0b6f +0x0b4f U+f449 U+f429 0x000f 0x000f 0x000f
alt keycode 24 = 0x086f
shift alt keycode 24 = 0x084f
altgr alt keycode 24 = 0x086f
shift altgr alt keycode 24 = 0x084f
control alt keycode 24 = 0x080f
altgr control alt keycode 24 = 0x080f
-keycode 25 = +0x0b70 +0x0b50 U+0437 U+0417 0x0010 0x0010 0x0010
+keycode 25 = +0x0b70 +0x0b50 U+f437 U+f417 0x0010 0x0010 0x0010
alt keycode 25 = 0x0870
shift alt keycode 25 = 0x0850
altgr alt keycode 25 = 0x0870
shift altgr alt keycode 25 = 0x0850
control alt keycode 25 = 0x0810
altgr control alt keycode 25 = 0x0810
-keycode 26 = 0x005b 0x007b U+0445 U+0425 0x001b
+keycode 26 = 0x005b 0x007b U+f445 U+f425 0x001b
altgr control keycode 26 = 0x001b
alt keycode 26 = 0x085b
altgr alt keycode 26 = 0x085b
-keycode 27 = 0x005d 0x007d U+044a U+042a 0x001d
+keycode 27 = 0x005d 0x007d U+f44a U+f42a 0x001d
altgr control keycode 27 = 0x001d
alt keycode 27 = 0x085d
altgr alt keycode 27 = 0x085d
@@ -166,77 +166,77 @@
shift altgr alt keycode 29 = 0x0702
control alt keycode 29 = 0x0702
altgr control alt keycode 29 = 0x0702
-keycode 30 = +0x0b61 +0x0b41 U+0444 U+0424 0x0001 0x0001 0x0001
+keycode 30 = +0x0b61 +0x0b41 U+f444 U+f424 0x0001 0x0001 0x0001
alt keycode 30 = 0x0861
shift alt keycode 30 = 0x0841
altgr alt keycode 30 = 0x0861
shift altgr alt keycode 30 = 0x0841
control alt keycode 30 = 0x0801
altgr control alt keycode 30 = 0x0801
-keycode 31 = +0x0b73 +0x0b53 U+044b U+042b 0x0013 0x0013 0x0013
+keycode 31 = +0x0b73 +0x0b53 U+f44b U+f42b 0x0013 0x0013 0x0013
alt keycode 31 = 0x0873
shift alt keycode 31 = 0x0853
altgr alt keycode 31 = 0x0873
shift altgr alt keycode 31 = 0x0853
control alt keycode 31 = 0x0813
altgr control alt keycode 31 = 0x0813
-keycode 32 = +0x0b64 +0x0b44 U+0432 U+0412 0x0004 0x0004 0x0004
+keycode 32 = +0x0b64 +0x0b44 U+f432 U+f412 0x0004 0x0004 0x0004
alt keycode 32 = 0x0864
shift alt keycode 32 = 0x0844
altgr alt keycode 32 = 0x0864
shift altgr alt keycode 32 = 0x0844
control alt keycode 32 = 0x0804
altgr control alt keycode 32 = 0x0804
-keycode 33 = +0x0b66 +0x0b46 U+0430 U+0410 0x0006 0x0006 0x0006
+keycode 33 = +0x0b66 +0x0b46 U+f430 U+f410 0x0006 0x0006 0x0006
alt keycode 33 = 0x0866
shift alt keycode 33 = 0x0846
altgr alt keycode 33 = 0x0866
shift altgr alt keycode 33 = 0x0846
control alt keycode 33 = 0x0806
altgr control alt keycode 33 = 0x0806
-keycode 34 = +0x0b67 +0x0b47 U+043f U+041f 0x0007 0x0007 0x0007
+keycode 34 = +0x0b67 +0x0b47 U+f43f U+f41f 0x0007 0x0007 0x0007
alt keycode 34 = 0x0867
shift alt keycode 34 = 0x0847
altgr alt keycode 34 = 0x0867
shift altgr alt keycode 34 = 0x0847
control alt keycode 34 = 0x0807
altgr control alt keycode 34 = 0x0807
-keycode 35 = +0x0b68 +0x0b48 U+0440 U+0420 0x0008 0x0008 0x0008
+keycode 35 = +0x0b68 +0x0b48 U+f440 U+f420 0x0008 0x0008 0x0008
alt keycode 35 = 0x0868
shift alt keycode 35 = 0x0848
altgr alt keycode 35 = 0x0868
shift altgr alt keycode 35 = 0x0848
control alt keycode 35 = 0x0808
altgr control alt keycode 35 = 0x0808
-keycode 36 = +0x0b6a +0x0b4a U+043e U+041e 0x000a 0x000a 0x000a
+keycode 36 = +0x0b6a +0x0b4a U+f43e U+f41e 0x000a 0x000a 0x000a
alt keycode 36 = 0x086a
shift alt keycode 36 = 0x084a
altgr alt keycode 36 = 0x086a
shift altgr alt keycode 36 = 0x084a
control alt keycode 36 = 0x080a
altgr control alt keycode 36 = 0x080a
-keycode 37 = +0x0b6b +0x0b4b U+043b U+041b 0x000b 0x000b 0x000b
+keycode 37 = +0x0b6b +0x0b4b U+f43b U+f41b 0x000b 0x000b 0x000b
alt keycode 37 = 0x086b
shift alt keycode 37 = 0x084b
altgr alt keycode 37 = 0x086b
shift altgr alt keycode 37 = 0x084b
control alt keycode 37 = 0x080b
altgr control alt keycode 37 = 0x080b
-keycode 38 = +0x0b6c +0x0b4c U+0434 U+0414 0x000c 0x000c 0x000c
+keycode 38 = +0x0b6c +0x0b4c U+f434 U+f414 0x000c 0x000c 0x000c
alt keycode 38 = 0x086c
shift alt keycode 38 = 0x084c
altgr alt keycode 38 = 0x086c
shift altgr alt keycode 38 = 0x084c
control alt keycode 38 = 0x080c
altgr control alt keycode 38 = 0x080c
-keycode 39 = 0x003b 0x003a U+0436 U+0416
+keycode 39 = 0x003b 0x003a U+f436 U+f416
alt keycode 39 = 0x083b
altgr alt keycode 39 = 0x083b
-keycode 40 = 0x0027 0x0022 U+044d U+042d 0x0007
+keycode 40 = 0x0027 0x0022 U+f44d U+f42d 0x0007
altgr control keycode 40 = 0x0007
alt keycode 40 = 0x0827
altgr alt keycode 40 = 0x0827
-keycode 41 = 0x0060 0x007e U+0451 U+0401 0x0000
+keycode 41 = 0x0060 0x007e U+f451 U+f401 0x0000
altgr control keycode 41 = 0x0000
alt keycode 41 = 0x0860
altgr alt keycode 41 = 0x0860
@@ -253,61 +253,61 @@
shift alt keycode 43 = 0x087c
altgr alt keycode 43 = 0x085c
shift altgr alt keycode 43 = 0x087c
-keycode 44 = +0x0b7a +0x0b5a U+044f U+042f 0x001a 0x001a 0x001a
+keycode 44 = +0x0b7a +0x0b5a U+f44f U+f42f 0x001a 0x001a 0x001a
alt keycode 44 = 0x087a
shift alt keycode 44 = 0x085a
altgr alt keycode 44 = 0x087a
shift altgr alt keycode 44 = 0x085a
control alt keycode 44 = 0x081a
altgr control alt keycode 44 = 0x081a
-keycode 45 = +0x0b78 +0x0b58 U+0447 U+0427 0x0018 0x0018 0x0018
+keycode 45 = +0x0b78 +0x0b58 U+f447 U+f427 0x0018 0x0018 0x0018
alt keycode 45 = 0x0878
shift alt keycode 45 = 0x0858
altgr alt keycode 45 = 0x0878
shift altgr alt keycode 45 = 0x0858
control alt keycode 45 = 0x0818
altgr control alt keycode 45 = 0x0818
-keycode 46 = +0x0b63 +0x0b43 U+0441 U+0421 0x0003 0x0003 0x0003
+keycode 46 = +0x0b63 +0x0b43 U+f441 U+f421 0x0003 0x0003 0x0003
alt keycode 46 = 0x0863
shift alt keycode 46 = 0x0843
altgr alt keycode 46 = 0x0863
shift altgr alt keycode 46 = 0x0843
control alt keycode 46 = 0x0803
altgr control alt keycode 46 = 0x0803
-keycode 47 = +0x0b76 +0x0b56 U+043c U+041c 0x0016 0x0016 0x0016
+keycode 47 = +0x0b76 +0x0b56 U+f43c U+f41c 0x0016 0x0016 0x0016
alt keycode 47 = 0x0876
shift alt keycode 47 = 0x0856
altgr alt keycode 47 = 0x0876
shift altgr alt keycode 47 = 0x0856
control alt keycode 47 = 0x0816
altgr control alt keycode 47 = 0x0816
-keycode 48 = +0x0b62 +0x0b42 U+0438 U+0418 0x0002 0x0002 0x0002
+keycode 48 = +0x0b62 +0x0b42 U+f438 U+f418 0x0002 0x0002 0x0002
alt keycode 48 = 0x0862
shift alt keycode 48 = 0x0842
altgr alt keycode 48 = 0x0862
shift altgr alt keycode 48 = 0x0842
control alt keycode 48 = 0x0802
altgr control alt keycode 48 = 0x0802
-keycode 49 = +0x0b6e +0x0b4e U+0442 U+0422 0x000e 0x000e 0x000e
+keycode 49 = +0x0b6e +0x0b4e U+f442 U+f422 0x000e 0x000e 0x000e
alt keycode 49 = 0x086e
shift alt keycode 49 = 0x084e
altgr alt keycode 49 = 0x086e
shift altgr alt keycode 49 = 0x084e
control alt keycode 49 = 0x080e
altgr control alt keycode 49 = 0x080e
-keycode 50 = +0x0b6d +0x0b4d U+044c U+042c 0x000d 0x000d 0x000d
+keycode 50 = +0x0b6d +0x0b4d U+f44c U+f42c 0x000d 0x000d 0x000d
alt keycode 50 = 0x086d
shift alt keycode 50 = 0x084d
altgr alt keycode 50 = 0x086d
shift altgr alt keycode 50 = 0x084d
control alt keycode 50 = 0x080d
altgr control alt keycode 50 = 0x080d
-keycode 51 = 0x002c 0x003c U+0431 U+0411
+keycode 51 = 0x002c 0x003c U+f431 U+f411
alt keycode 51 = 0x082c
shift alt keycode 51 = 0x083c
altgr alt keycode 51 = 0x082c
shift altgr alt keycode 51 = 0x083c
-keycode 52 = 0x002e 0x003e U+044e U+042e 0x020e
+keycode 52 = 0x002e 0x003e U+f44e U+f42e 0x020e
alt keycode 52 = 0x082e
shift alt keycode 52 = 0x083e
altgr alt keycode 52 = 0x082e
next prev parent reply other threads:[~2009-04-14 21:37 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-14 17:45 [kbd] [PATCH] loadkeys: Auto-convert “traditional”/Unicode keysyms Michael Schutte
2009-04-14 21:37 ` Alexey Gladkov [this message]
2009-04-15 13:53 ` Michael Schutte
2009-04-16 0:07 ` Alexey Gladkov
2009-04-16 15:45 ` Michael Schutte
2009-04-16 23:01 ` Alexey Gladkov
2009-04-17 13:44 ` Alexey Gladkov
2009-04-17 20:01 ` Michael Schutte
2009-04-19 15:59 ` Alexey Gladkov
2009-04-19 16:50 ` Michael Schutte
2009-04-19 17:14 ` Alexey Gladkov
2009-04-20 18:39 ` Michael Schutte
2009-04-21 10:08 ` Alexey Gladkov
2009-04-21 13:20 ` Michael Schutte
2009-04-16 23:36 ` Alexey Gladkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49E5021C.5040703@gmail.com \
--to=gladkov.alexey@gmail.com \
--cc=kbd@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.