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
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 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
Linux console tools development discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/kbd/0 kbd/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 kbd kbd/ http://lore.altlinux.org/kbd \
kbd@lists.altlinux.org kbd@lists.altlinux.ru kbd@lists.altlinux.com
public-inbox-index kbd
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.kbd
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git