Browse Source

Plan 9 from Bell Labs 2004-04-18

David du Colombier 20 years ago
parent
commit
6e1df1e834

+ 15 - 12
dist/replica/plan9.db

@@ -205,7 +205,7 @@
 386/bin/disk/dump9660 - 775 sys sys 1077422340 152343
 386/bin/disk/exsort - 775 sys sys 1072729312 58501
 386/bin/disk/fdisk - 775 sys sys 1064598124 106639
-386/bin/disk/format - 775 sys sys 1072729312 91581
+386/bin/disk/format - 775 sys sys 1082257737 40960
 386/bin/disk/kfs - 775 sys sys 1073851218 249472
 386/bin/disk/kfscmd - 775 sys sys 1072729312 38425
 386/bin/disk/ksync - 775 sys sys 1020319074 302
@@ -483,8 +483,8 @@
 386/bin/venti/verifyarena - 775 sys sys 1073851257 105348
 386/bin/venti/wrarena - 775 sys sys 1073851257 182651
 386/bin/venti/write - 775 sys sys 1064598391 100783
-386/bin/vncs - 775 sys sys 1081480423 444764
-386/bin/vncv - 775 sys sys 1080134248 271577
+386/bin/vncs - 775 sys sys 1082257738 478312
+386/bin/vncv - 775 sys sys 1082257739 323997
 386/bin/vt - 775 sys sys 1071245372 171391
 386/bin/vtdump - 775 sys sys 1076385623 161557
 386/bin/wc - 775 sys sys 1064598399 42148
@@ -542,7 +542,7 @@
 386/lib/libmach.a - 664 sys sys 1073851272 746962
 386/lib/libmemdraw.a - 664 sys sys 1073851273 291288
 386/lib/libmemlayer.a - 664 sys sys 1073851273 47636
-386/lib/libmp.a - 664 sys sys 1081739421 77700
+386/lib/libmp.a - 664 sys sys 1082257739 81428
 386/lib/libndb.a - 664 sys sys 1079451578 61344
 386/lib/libplumb.a - 664 sys sys 1073851274 18876
 386/lib/libregexp.a - 664 sys sys 1073851274 37502
@@ -3102,7 +3102,7 @@ rc/bin/service/tcp9 - 775 sys sys 945617224 26
 rc/bin/service/tcp993 - 775 sys sys 1018720071 151
 rc/bin/service/telcodata - 775 sys sys 945617224 95
 rc/bin/service/telcofax - 775 sys sys 945617224 93
-rc/bin/sig - 775 sys sys 1059490402 491
+rc/bin/sig - 775 sys sys 1082221092 530
 rc/bin/slay - 775 sys sys 1018387014 123
 rc/bin/spell - 775 sys sys 964540791 312
 rc/bin/src - 775 sys sys 1015089596 869
@@ -3870,13 +3870,14 @@ sys/lib/ghostscript/zeroline.ps - 664 sys sys 1032057362 2643
 sys/lib/grap.defines - 664 sys sys 944956052 375
 sys/lib/httpd.rewrite - 664 sys sys 954262980 825
 sys/lib/kbmap - 20000000775 sys sys 1079535430 0
-sys/lib/kbmap/ascii - 664 sys sys 1080219252 23680
+sys/lib/kbmap/ascii - 664 sys sys 1082221421 6248
 sys/lib/kbmap/azerty - 644 sys sys 1079473812 735
 sys/lib/kbmap/bgmap - 664 sys sys 1079475826 561
 sys/lib/kbmap/ee - 644 sys sys 1080222237 429
 sys/lib/kbmap/es - 664 sys sys 1079535430 1360
 sys/lib/kbmap/fi - 664 sys sys 1079617317 369
 sys/lib/kbmap/uk - 664 sys sys 1079473812 55
+sys/lib/kbmap/us - 664 sys sys 1082221421 6248
 sys/lib/lex - 20000000775 sys sys 945136651 0
 sys/lib/lex/ncform - 664 sys sys 945136651 4060
 sys/lib/lp - 20000000775 sys sys 954037460 0
@@ -4794,7 +4795,7 @@ sys/man/2/bind - 664 sys sys 1015091518 4685
 sys/man/2/bio - 664 sys sys 1017423720 6538
 sys/man/2/blowfish - 664 sys sys 1032058672 1280
 sys/man/2/brk - 664 sys sys 944959694 1179
-sys/man/2/cachechars - 664 sys sys 944959696 7061
+sys/man/2/cachechars - 664 sys sys 1082222350 7061
 sys/man/2/chdir - 664 sys sys 944959694 552
 sys/man/2/cleanname - 664 sys sys 950593488 709
 sys/man/2/color - 664 sys sys 944959697 1335
@@ -7433,7 +7434,7 @@ sys/src/cmd/disk/kfs/main.c - 664 sys sys 1022112155 9420
 sys/src/cmd/disk/kfs/misc.c - 664 sys sys 1015009189 1182
 sys/src/cmd/disk/kfs/mkfile - 664 sys sys 1065916865 717
 sys/src/cmd/disk/kfs/ofcallfmt.c - 664 sys sys 1015009189 4674
-sys/src/cmd/disk/kfs/portdat.h - 664 sys sys 1065916866 6171
+sys/src/cmd/disk/kfs/portdat.h - 664 sys sys 1082221137 6055
 sys/src/cmd/disk/kfs/portfns.h - 664 sys sys 1020313861 2804
 sys/src/cmd/disk/kfs/porttime.c - 664 sys sys 1015009190 3922
 sys/src/cmd/disk/kfs/print.c - 664 sys sys 944960882 3573
@@ -11132,20 +11133,22 @@ sys/src/cmd/vnc/errstr.h - 664 sys sys 1044880749 2018
 sys/src/cmd/vnc/exporter.c - 664 sys sys 1044880749 1312
 sys/src/cmd/vnc/exportfs.c - 664 sys sys 1045529366 13666
 sys/src/cmd/vnc/kbd.h - 664 sys sys 1044880749 301
-sys/src/cmd/vnc/kbds.c - 664 sys sys 1079809881 3256
-sys/src/cmd/vnc/kbdv.c - 664 sys sys 1047512524 3513
+sys/src/cmd/vnc/kbds.c - 664 sys sys 1082221522 3379
+sys/src/cmd/vnc/kbdv.c - 664 sys sys 1082221523 3735
+sys/src/cmd/vnc/ksym2utf.h - 664 sys sys 1082221523 13289
 sys/src/cmd/vnc/latin1.c - 664 sys sys 1044880749 1410
 sys/src/cmd/vnc/latin1.h - 664 sys sys 1044880750 3524
-sys/src/cmd/vnc/mkfile - 664 sys sys 1045529367 661
+sys/src/cmd/vnc/mkfile - 664 sys sys 1082221524 702
 sys/src/cmd/vnc/proto.c - 664 sys sys 1044880750 4365
 sys/src/cmd/vnc/rlist.c - 664 sys sys 1044880750 5300
 sys/src/cmd/vnc/rre.c - 664 sys sys 1044880750 11496
 sys/src/cmd/vnc/screen.c - 664 sys sys 1044880750 7537
 sys/src/cmd/vnc/screen.h - 664 sys sys 1044880750 880
+sys/src/cmd/vnc/utf2ksym.h - 664 sys sys 1082221524 13585
 sys/src/cmd/vnc/vnc.h - 664 sys sys 1044880750 2626
 sys/src/cmd/vnc/vncs.c - 664 sys sys 1046184848 21022
 sys/src/cmd/vnc/vncs.h - 664 sys sys 1046200146 908
-sys/src/cmd/vnc/vncv.c - 664 sys sys 1044880750 3093
+sys/src/cmd/vnc/vncv.c - 664 sys sys 1082221235 3197
 sys/src/cmd/vnc/vncv.h - 664 sys sys 1044880750 643
 sys/src/cmd/vnc/wsys.c - 664 sys sys 1045758533 4049
 sys/src/cmd/vt - 20000000775 sys sys 954038635 0

+ 15 - 0
dist/replica/plan9.log

@@ -14907,3 +14907,18 @@
 1081827182 0 c 386/bin/acid - 775 sys sys 1081825815 379877
 1081827182 1 c 386/bin/echo - 775 sys sys 1081825815 55569
 1081864972 0 c sys/src/9/port/devfs.c - 664 sys sys 1081864735 10779
+1082221286 0 c rc/bin/sig - 775 sys sys 1082221092 530
+1082221286 1 c sys/src/cmd/disk/kfs/portdat.h - 664 sys sys 1082221137 6055
+1082221286 2 c sys/src/cmd/vnc/vncv.c - 664 sys sys 1082221235 3197
+1082223086 0 c sys/lib/kbmap/ascii - 664 sys sys 1082221421 6248
+1082223086 1 a sys/lib/kbmap/us - 664 sys sys 1082221421 6248
+1082223086 2 c sys/man/2/cachechars - 664 sys sys 1082222350 7061
+1082223086 3 c sys/src/cmd/vnc/kbds.c - 664 sys sys 1082221522 3379
+1082223086 4 c sys/src/cmd/vnc/kbdv.c - 664 sys sys 1082221523 3735
+1082223086 5 a sys/src/cmd/vnc/ksym2utf.h - 664 sys sys 1082221523 13289
+1082223086 6 c sys/src/cmd/vnc/mkfile - 664 sys sys 1082221524 702
+1082223086 7 a sys/src/cmd/vnc/utf2ksym.h - 664 sys sys 1082221524 13585
+1082259095 0 c 386/bin/vncs - 775 sys sys 1082257738 478312
+1082259095 1 c 386/bin/vncv - 775 sys sys 1082257739 323997
+1082259095 2 c 386/bin/disk/format - 775 sys sys 1082257737 40960
+1082259095 3 c 386/lib/libmp.a - 664 sys sys 1082257739 81428

+ 9 - 2
rc/bin/sig

@@ -10,11 +10,18 @@ if(~ $#* 0){
 }
 
 for (i) {
-	files=`{grep -l '[ 	]\*?'$i'\(' /sys/man/2/*}
+	files=`{grep -il '[ 	]\*?'$i'\(' /sys/man/2/*}
 	for(j in $files) {
 		{echo .nr LL 20i; sed -n '/^.SH SYNOPSIS/,/^.SH.*DESCR/p'  $j } |
-			sed 's/[ 	]+/ /g;s/^ +//;/^\.nf/d' |
 			nroff -man |
+			sed '
+				:a
+				/,$/ {
+					N
+					s/\n//
+				}
+				ta
+				s/[ 	]+/ /g' |
 			grep -i -e '[ 	]\*?'$i'\(' | sed 's/^[ +]/	/'
 	}
 }

+ 640 - 640
sys/lib/kbmap/ascii

@@ -1,640 +1,640 @@
-          0           0           0 
-          0           1          27 
-          0           2          49 
-          0           3          50 
-          0           4          51 
-          0           5          52 
-          0           6          53 
-          0           7          54 
-          0           8          55 
-          0           9          56 
-          0          10          57 
-          0          11          48 
-          0          12          45 
-          0          13          61 
-          0          14           8 
-          0          15           9 
-          0          16         113 
-          0          17         119 
-          0          18         101 
-          0          19         114 
-          0          20         116 
-          0          21         121 
-          0          22         117 
-          0          23         105 
-          0          24         111 
-          0          25         112 
-          0          26          91 
-          0          27          93 
-          0          28          10 
-          0          29       63586 
-          0          30          97 
-          0          31         115 
-          0          32         100 
-          0          33         102 
-          0          34         103 
-          0          35         104 
-          0          36         106 
-          0          37         107 
-          0          38         108 
-          0          39          59 
-          0          40          39 
-          0          41          96 
-          0          42       63584 
-          0          43          92 
-          0          44         122 
-          0          45         120 
-          0          46          99 
-          0          47         118 
-          0          48          98 
-          0          49         110 
-          0          50         109 
-          0          51          44 
-          0          52          46 
-          0          53          47 
-          0          54       63584 
-          0          55          42 
-          0          56       63587 
-          0          57          32 
-          0          58       63586 
-          0          59       61441 
-          0          60       61442 
-          0          61       61443 
-          0          62       61444 
-          0          63       61445 
-          0          64       61446 
-          0          65       61447 
-          0          66       61448 
-          0          67       61449 
-          0          68       61450 
-          0          69       63589 
-          0          70       61461 
-          0          71          55 
-          0          72          56 
-          0          73          57 
-          0          74          45 
-          0          75          52 
-          0          76          53 
-          0          77          54 
-          0          78          43 
-          0          79          49 
-          0          80          50 
-          0          81          51 
-          0          82          48 
-          0          83          46 
-          0          84           0 
-          0          85           0 
-          0          86           0 
-          0          87       61451 
-          0          88       61452 
-          0          89           0 
-          0          90           0 
-          0          91           0 
-          0          92           0 
-          0          93           0 
-          0          94           0 
-          0          95           0 
-          0          96           0 
-          0          97           0 
-          0          98           0 
-          0          99           0 
-          0         100           0 
-          0         101           0 
-          0         102           0 
-          0         103           0 
-          0         104           0 
-          0         105           0 
-          0         106           0 
-          0         107           0 
-          0         108           0 
-          0         109           0 
-          0         110           0 
-          0         111           0 
-          0         112           0 
-          0         113           0 
-          0         114           0 
-          0         115           0 
-          0         116           0 
-          0         117           0 
-          0         118           0 
-          0         119           0 
-          0         120           0 
-          0         121       63488 
-          0         122           0 
-          0         123       61454 
-          0         124           0 
-          0         125           0 
-          0         126           0 
-          0         127           0 
-          1           0           0 
-          1           1          27 
-          1           2          33 
-          1           3          64 
-          1           4          35 
-          1           5          36 
-          1           6          37 
-          1           7          94 
-          1           8          38 
-          1           9          42 
-          1          10          40 
-          1          11          41 
-          1          12          95 
-          1          13          43 
-          1          14           8 
-          1          15           9 
-          1          16          81 
-          1          17          87 
-          1          18          69 
-          1          19          82 
-          1          20          84 
-          1          21          89 
-          1          22          85 
-          1          23          73 
-          1          24          79 
-          1          25          80 
-          1          26         123 
-          1          27         125 
-          1          28          10 
-          1          29       63586 
-          1          30          65 
-          1          31          83 
-          1          32          68 
-          1          33          70 
-          1          34          71 
-          1          35          72 
-          1          36          74 
-          1          37          75 
-          1          38          76 
-          1          39          58 
-          1          40          34 
-          1          41         126 
-          1          42       63584 
-          1          43         124 
-          1          44          90 
-          1          45          88 
-          1          46          67 
-          1          47          86 
-          1          48          66 
-          1          49          78 
-          1          50          77 
-          1          51          60 
-          1          52          62 
-          1          53          63 
-          1          54       63584 
-          1          55          42 
-          1          56       63587 
-          1          57          32 
-          1          58       63586 
-          1          59       61441 
-          1          60       61442 
-          1          61       61443 
-          1          62       61444 
-          1          63       61445 
-          1          64       61446 
-          1          65       61447 
-          1          66       61448 
-          1          67       61449 
-          1          68       61450 
-          1          69       63589 
-          1          70       61461 
-          1          71          55 
-          1          72          56 
-          1          73          57 
-          1          74          45 
-          1          75          52 
-          1          76          53 
-          1          77          54 
-          1          78          43 
-          1          79          49 
-          1          80          50 
-          1          81          51 
-          1          82          48 
-          1          83          46 
-          1          84           0 
-          1          85           0 
-          1          86           0 
-          1          87       61451 
-          1          88       61452 
-          1          89           0 
-          1          90           0 
-          1          91           0 
-          1          92           0 
-          1          93           0 
-          1          94           0 
-          1          95           0 
-          1          96           0 
-          1          97           0 
-          1          98           0 
-          1          99           0 
-          1         100           0 
-          1         101           0 
-          1         102           0 
-          1         103           0 
-          1         104           0 
-          1         105           0 
-          1         106           0 
-          1         107           0 
-          1         108           0 
-          1         109           0 
-          1         110           0 
-          1         111           0 
-          1         112           0 
-          1         113           0 
-          1         114           0 
-          1         115           0 
-          1         116           0 
-          1         117           0 
-          1         118           0 
-          1         119           0 
-          1         120           0 
-          1         121       61454 
-          1         122           0 
-          1         123       61454 
-          1         124           0 
-          1         125           0 
-          1         126           0 
-          1         127           0 
-          2           0           0 
-          2           1           0 
-          2           2           0 
-          2           3           0 
-          2           4           0 
-          2           5           0 
-          2           6           0 
-          2           7           0 
-          2           8           0 
-          2           9           0 
-          2          10           0 
-          2          11           0 
-          2          12           0 
-          2          13           0 
-          2          14           0 
-          2          15           0 
-          2          16           0 
-          2          17           0 
-          2          18           0 
-          2          19           0 
-          2          20           0 
-          2          21           0 
-          2          22           0 
-          2          23           0 
-          2          24           0 
-          2          25           0 
-          2          26           0 
-          2          27           0 
-          2          28          10 
-          2          29       63586 
-          2          30           0 
-          2          31           0 
-          2          32           0 
-          2          33           0 
-          2          34           0 
-          2          35           0 
-          2          36           0 
-          2          37           0 
-          2          38           0 
-          2          39           0 
-          2          40           0 
-          2          41           0 
-          2          42       63584 
-          2          43           0 
-          2          44           0 
-          2          45           0 
-          2          46           0 
-          2          47           0 
-          2          48           0 
-          2          49           0 
-          2          50           0 
-          2          51           0 
-          2          52           0 
-          2          53          47 
-          2          54           0 
-          2          55       61456 
-          2          56       63591 
-          2          57           0 
-          2          58           0 
-          2          59           0 
-          2          60           0 
-          2          61           0 
-          2          62           0 
-          2          63           0 
-          2          64           0 
-          2          65           0 
-          2          66           0 
-          2          67           0 
-          2          68           0 
-          2          69           0 
-          2          70       63585 
-          2          71       61453 
-          2          72       61454 
-          2          73       61455 
-          2          74           0 
-          2          75       61457 
-          2          76           0 
-          2          77       61458 
-          2          78           0 
-          2          79       61464 
-          2          80       63488 
-          2          81       61459 
-          2          82       61460 
-          2          83         127 
-          2          84           0 
-          2          85           0 
-          2          86           0 
-          2          87           0 
-          2          88           0 
-          2          89           0 
-          2          90           0 
-          2          91           0 
-          2          92           0 
-          2          93           0 
-          2          94           0 
-          2          95           0 
-          2          96           0 
-          2          97           0 
-          2          98           0 
-          2          99           0 
-          2         100           0 
-          2         101           0 
-          2         102           0 
-          2         103           0 
-          2         104           0 
-          2         105           0 
-          2         106           0 
-          2         107           0 
-          2         108           0 
-          2         109           0 
-          2         110           0 
-          2         111           0 
-          2         112           0 
-          2         113           0 
-          2         114           0 
-          2         115           0 
-          2         116           0 
-          2         117           0 
-          2         118           0 
-          2         119           0 
-          2         120           0 
-          2         121       61454 
-          2         122           0 
-          2         123           0 
-          2         124           0 
-          2         125           0 
-          2         126           0 
-          2         127           0 
-          3           0           0 
-          3           1           0 
-          3           2           0 
-          3           3           0 
-          3           4           0 
-          3           5           0 
-          3           6           0 
-          3           7           0 
-          3           8           0 
-          3           9           0 
-          3          10           0 
-          3          11           0 
-          3          12           0 
-          3          13           0 
-          3          14           0 
-          3          15           0 
-          3          16           0 
-          3          17           0 
-          3          18           0 
-          3          19           0 
-          3          20           0 
-          3          21           0 
-          3          22           0 
-          3          23           0 
-          3          24           0 
-          3          25           0 
-          3          26           0 
-          3          27           0 
-          3          28          10 
-          3          29       63586 
-          3          30           0 
-          3          31           0 
-          3          32           0 
-          3          33           0 
-          3          34           0 
-          3          35           0 
-          3          36           0 
-          3          37           0 
-          3          38           0 
-          3          39           0 
-          3          40           0 
-          3          41           0 
-          3          42       63584 
-          3          43           0 
-          3          44           0 
-          3          45           0 
-          3          46           0 
-          3          47           0 
-          3          48           0 
-          3          49           0 
-          3          50           0 
-          3          51           0 
-          3          52           0 
-          3          53          47 
-          3          54           0 
-          3          55       61456 
-          3          56       63591 
-          3          57           0 
-          3          58           0 
-          3          59           0 
-          3          60           0 
-          3          61           0 
-          3          62           0 
-          3          63           0 
-          3          64           0 
-          3          65           0 
-          3          66           0 
-          3          67           0 
-          3          68           0 
-          3          69           0 
-          3          70       63585 
-          3          71       61453 
-          3          72       61454 
-          3          73       61455 
-          3          74           0 
-          3          75       61457 
-          3          76           0 
-          3          77       61458 
-          3          78           0 
-          3          79       61464 
-          3          80       63488 
-          3          81       61459 
-          3          82       61460 
-          3          83         127 
-          3          84           0 
-          3          85           0 
-          3          86           0 
-          3          87           0 
-          3          88           0 
-          3          89           0 
-          3          90           0 
-          3          91           0 
-          3          92           0 
-          3          93           0 
-          3          94           0 
-          3          95           0 
-          3          96           0 
-          3          97           0 
-          3          98           0 
-          3          99           0 
-          3         100           0 
-          3         101           0 
-          3         102           0 
-          3         103           0 
-          3         104           0 
-          3         105           0 
-          3         106           0 
-          3         107           0 
-          3         108           0 
-          3         109           0 
-          3         110           0 
-          3         111           0 
-          3         112           0 
-          3         113           0 
-          3         114           0 
-          3         115           0 
-          3         116           0 
-          3         117           0 
-          3         118           0 
-          3         119           0 
-          3         120           0 
-          3         121       61454 
-          3         122           0 
-          3         123           0 
-          3         124           0 
-          3         125           0 
-          3         126           0 
-          3         127           0 
-          4           0           0 
-          4           1          27 
-          4           2          17 
-          4           3          18 
-          4           4          19 
-          4           5          20 
-          4           6          21 
-          4           7          22 
-          4           8          23 
-          4           9          24 
-          4          10          25 
-          4          11          16 
-          4          12          13 
-          4          13          29 
-          4          14           8 
-          4          15           9 
-          4          16          17 
-          4          17          23 
-          4          18           5 
-          4          19          18 
-          4          20          20 
-          4          21          25 
-          4          22          21 
-          4          23           9 
-          4          24          15 
-          4          25          16 
-          4          26          27 
-          4          27          29 
-          4          28          10 
-          4          29       63586 
-          4          30           1 
-          4          31          19 
-          4          32           4 
-          4          33           6 
-          4          34           7 
-          4          35           8 
-          4          36          10 
-          4          37          11 
-          4          38          12 
-          4          39          27 
-          4          40           7 
-          4          41           0 
-          4          42       63584 
-          4          43          28 
-          4          44          26 
-          4          45          24 
-          4          46           3 
-          4          47          22 
-          4          48           2 
-          4          49          14 
-          4          50          13 
-          4          51          12 
-          4          52          14 
-          4          53          15 
-          4          54       63584 
-          4          55          10 
-          4          56       63587 
-          4          57           0 
-          4          58       63586 
-          4          59           5 
-          4          60           6 
-          4          61           7 
-          4          62           4 
-          4          63           5 
-          4          64           6 
-          4          65           7 
-          4          66          12 
-          4          67          13 
-          4          68          14 
-          4          69           5 
-          4          70           6 
-          4          71          23 
-          4          72          24 
-          4          73          25 
-          4          74          13 
-          4          75          20 
-          4          76          21 
-          4          77          22 
-          4          78          11 
-          4          79          17 
-          4          80          18 
-          4          81          19 
-          4          82          16 
-          4          83          14 
-          4          84           0 
-          4          85           0 
-          4          86           0 
-          4          87          15 
-          4          88          12 
-          4          89           0 
-          4          90           0 
-          4          91           0 
-          4          92           0 
-          4          93           0 
-          4          94           0 
-          4          95           0 
-          4          96           0 
-          4          97           0 
-          4          98           0 
-          4          99           0 
-          4         100           0 
-          4         101           0 
-          4         102           0 
-          4         103           0 
-          4         104           0 
-          4         105           0 
-          4         106           0 
-          4         107           0 
-          4         108           0 
-          4         109           0 
-          4         110           0 
-          4         111           0 
-          4         112           0 
-          4         113           0 
-          4         114           0 
-          4         115           0 
-          4         116           0 
-          4         117           0 
-          4         118           0 
-          4         119           0 
-          4         120           0 
-          4         121           7 
-          4         122           0 
-          4         123           8 
-          4         124           0 
-          4         125           0 
-          4         126           0 
-          4         127           0 
+0	0	0x0
+0	1	0x1b
+0	2	0x31
+0	3	0x32
+0	4	0x33
+0	5	0x34
+0	6	0x35
+0	7	0x36
+0	8	0x37
+0	9	0x38
+0	10	0x39
+0	11	0x30
+0	12	0x2d
+0	13	0x3d
+0	14	0x8
+0	15	0x9
+0	16	0x71
+0	17	0x77
+0	18	0x65
+0	19	0x72
+0	20	0x74
+0	21	0x79
+0	22	0x75
+0	23	0x69
+0	24	0x6f
+0	25	0x70
+0	26	0x5b
+0	27	0x5d
+0	28	0xa
+0	29	0xf862
+0	30	0x61
+0	31	0x73
+0	32	0x64
+0	33	0x66
+0	34	0x67
+0	35	0x68
+0	36	0x6a
+0	37	0x6b
+0	38	0x6c
+0	39	0x3b
+0	40	0x27
+0	41	0x60
+0	42	0xf860
+0	43	0x5c
+0	44	0x7a
+0	45	0x78
+0	46	0x63
+0	47	0x76
+0	48	0x62
+0	49	0x6e
+0	50	0x6d
+0	51	0x2c
+0	52	0x2e
+0	53	0x2f
+0	54	0xf860
+0	55	0x2a
+0	56	0xf863
+0	57	0x20
+0	58	0xf862
+0	59	0xf001
+0	60	0xf002
+0	61	0xf003
+0	62	0xf004
+0	63	0xf005
+0	64	0xf006
+0	65	0xf007
+0	66	0xf008
+0	67	0xf009
+0	68	0xf00a
+0	69	0xf865
+0	70	0xf015
+0	71	0x37
+0	72	0x38
+0	73	0x39
+0	74	0x2d
+0	75	0x34
+0	76	0x35
+0	77	0x36
+0	78	0x2b
+0	79	0x31
+0	80	0x32
+0	81	0x33
+0	82	0x30
+0	83	0x2e
+0	84	0x0
+0	85	0x0
+0	86	0x0
+0	87	0xf00b
+0	88	0xf00c
+0	89	0x0
+0	90	0x0
+0	91	0x0
+0	92	0x0
+0	93	0x0
+0	94	0x0
+0	95	0x0
+0	96	0x0
+0	97	0x0
+0	98	0x0
+0	99	0x0
+0	100	0x0
+0	101	0x0
+0	102	0x0
+0	103	0x0
+0	104	0x0
+0	105	0x0
+0	106	0x0
+0	107	0x0
+0	108	0x0
+0	109	0x0
+0	110	0x0
+0	111	0x0
+0	112	0x0
+0	113	0x0
+0	114	0x0
+0	115	0x0
+0	116	0x0
+0	117	0x0
+0	118	0x0
+0	119	0x0
+0	120	0x0
+0	121	0xf800
+0	122	0x0
+0	123	0xf00e
+0	124	0x0
+0	125	0x0
+0	126	0x0
+0	127	0x0
+1	0	0x0
+1	1	0x1b
+1	2	0x21
+1	3	0x40
+1	4	0x23
+1	5	0x24
+1	6	0x25
+1	7	0x5e
+1	8	0x26
+1	9	0x2a
+1	10	0x28
+1	11	0x29
+1	12	0x5f
+1	13	0x2b
+1	14	0x8
+1	15	0x9
+1	16	0x51
+1	17	0x57
+1	18	0x45
+1	19	0x52
+1	20	0x54
+1	21	0x59
+1	22	0x55
+1	23	0x49
+1	24	0x4f
+1	25	0x50
+1	26	0x7b
+1	27	0x7d
+1	28	0xa
+1	29	0xf862
+1	30	0x41
+1	31	0x53
+1	32	0x44
+1	33	0x46
+1	34	0x47
+1	35	0x48
+1	36	0x4a
+1	37	0x4b
+1	38	0x4c
+1	39	0x3a
+1	40	0x22
+1	41	0x7e
+1	42	0xf860
+1	43	0x7c
+1	44	0x5a
+1	45	0x58
+1	46	0x43
+1	47	0x56
+1	48	0x42
+1	49	0x4e
+1	50	0x4d
+1	51	0x3c
+1	52	0x3e
+1	53	0x3f
+1	54	0xf860
+1	55	0x2a
+1	56	0xf863
+1	57	0x20
+1	58	0xf862
+1	59	0xf001
+1	60	0xf002
+1	61	0xf003
+1	62	0xf004
+1	63	0xf005
+1	64	0xf006
+1	65	0xf007
+1	66	0xf008
+1	67	0xf009
+1	68	0xf00a
+1	69	0xf865
+1	70	0xf015
+1	71	0x37
+1	72	0x38
+1	73	0x39
+1	74	0x2d
+1	75	0x34
+1	76	0x35
+1	77	0x36
+1	78	0x2b
+1	79	0x31
+1	80	0x32
+1	81	0x33
+1	82	0x30
+1	83	0x2e
+1	84	0x0
+1	85	0x0
+1	86	0x0
+1	87	0xf00b
+1	88	0xf00c
+1	89	0x0
+1	90	0x0
+1	91	0x0
+1	92	0x0
+1	93	0x0
+1	94	0x0
+1	95	0x0
+1	96	0x0
+1	97	0x0
+1	98	0x0
+1	99	0x0
+1	100	0x0
+1	101	0x0
+1	102	0x0
+1	103	0x0
+1	104	0x0
+1	105	0x0
+1	106	0x0
+1	107	0x0
+1	108	0x0
+1	109	0x0
+1	110	0x0
+1	111	0x0
+1	112	0x0
+1	113	0x0
+1	114	0x0
+1	115	0x0
+1	116	0x0
+1	117	0x0
+1	118	0x0
+1	119	0x0
+1	120	0x0
+1	121	0xf00e
+1	122	0x0
+1	123	0xf00e
+1	124	0x0
+1	125	0x0
+1	126	0x0
+1	127	0x0
+2	0	0x0
+2	1	0x0
+2	2	0x0
+2	3	0x0
+2	4	0x0
+2	5	0x0
+2	6	0x0
+2	7	0x0
+2	8	0x0
+2	9	0x0
+2	10	0x0
+2	11	0x0
+2	12	0x0
+2	13	0x0
+2	14	0x0
+2	15	0x0
+2	16	0x0
+2	17	0x0
+2	18	0x0
+2	19	0x0
+2	20	0x0
+2	21	0x0
+2	22	0x0
+2	23	0x0
+2	24	0x0
+2	25	0x0
+2	26	0x0
+2	27	0x0
+2	28	0xa
+2	29	0xf862
+2	30	0x0
+2	31	0x0
+2	32	0x0
+2	33	0x0
+2	34	0x0
+2	35	0x0
+2	36	0x0
+2	37	0x0
+2	38	0x0
+2	39	0x0
+2	40	0x0
+2	41	0x0
+2	42	0xf860
+2	43	0x0
+2	44	0x0
+2	45	0x0
+2	46	0x0
+2	47	0x0
+2	48	0x0
+2	49	0x0
+2	50	0x0
+2	51	0x0
+2	52	0x0
+2	53	0x2f
+2	54	0x0
+2	55	0xf010
+2	56	0xf867
+2	57	0x0
+2	58	0x0
+2	59	0x0
+2	60	0x0
+2	61	0x0
+2	62	0x0
+2	63	0x0
+2	64	0x0
+2	65	0x0
+2	66	0x0
+2	67	0x0
+2	68	0x0
+2	69	0x0
+2	70	0xf861
+2	71	0xf00d
+2	72	0xf00e
+2	73	0xf00f
+2	74	0x0
+2	75	0xf011
+2	76	0x0
+2	77	0xf012
+2	78	0x0
+2	79	0xf018
+2	80	0xf800
+2	81	0xf013
+2	82	0xf014
+2	83	0x7f
+2	84	0x0
+2	85	0x0
+2	86	0x0
+2	87	0x0
+2	88	0x0
+2	89	0x0
+2	90	0x0
+2	91	0x0
+2	92	0x0
+2	93	0x0
+2	94	0x0
+2	95	0x0
+2	96	0x0
+2	97	0x0
+2	98	0x0
+2	99	0x0
+2	100	0x0
+2	101	0x0
+2	102	0x0
+2	103	0x0
+2	104	0x0
+2	105	0x0
+2	106	0x0
+2	107	0x0
+2	108	0x0
+2	109	0x0
+2	110	0x0
+2	111	0x0
+2	112	0x0
+2	113	0x0
+2	114	0x0
+2	115	0x0
+2	116	0x0
+2	117	0x0
+2	118	0x0
+2	119	0x0
+2	120	0x0
+2	121	0xf00e
+2	122	0x0
+2	123	0x0
+2	124	0x0
+2	125	0x0
+2	126	0x0
+2	127	0x0
+3	0	0x0
+3	1	0x0
+3	2	0x0
+3	3	0x0
+3	4	0x0
+3	5	0x0
+3	6	0x0
+3	7	0x0
+3	8	0x0
+3	9	0x0
+3	10	0x0
+3	11	0x0
+3	12	0x0
+3	13	0x0
+3	14	0x0
+3	15	0x0
+3	16	0x0
+3	17	0x0
+3	18	0x0
+3	19	0x0
+3	20	0x0
+3	21	0x0
+3	22	0x0
+3	23	0x0
+3	24	0x0
+3	25	0x0
+3	26	0x0
+3	27	0x0
+3	28	0xa
+3	29	0xf862
+3	30	0x0
+3	31	0x0
+3	32	0x0
+3	33	0x0
+3	34	0x0
+3	35	0x0
+3	36	0x0
+3	37	0x0
+3	38	0x0
+3	39	0x0
+3	40	0x0
+3	41	0x0
+3	42	0xf860
+3	43	0x0
+3	44	0x0
+3	45	0x0
+3	46	0x0
+3	47	0x0
+3	48	0x0
+3	49	0x0
+3	50	0x0
+3	51	0x0
+3	52	0x0
+3	53	0x2f
+3	54	0x0
+3	55	0xf010
+3	56	0xf867
+3	57	0x0
+3	58	0x0
+3	59	0x0
+3	60	0x0
+3	61	0x0
+3	62	0x0
+3	63	0x0
+3	64	0x0
+3	65	0x0
+3	66	0x0
+3	67	0x0
+3	68	0x0
+3	69	0x0
+3	70	0xf861
+3	71	0xf00d
+3	72	0xf00e
+3	73	0xf00f
+3	74	0x0
+3	75	0xf011
+3	76	0x0
+3	77	0xf012
+3	78	0x0
+3	79	0xf018
+3	80	0xf800
+3	81	0xf013
+3	82	0xf014
+3	83	0x7f
+3	84	0x0
+3	85	0x0
+3	86	0x0
+3	87	0x0
+3	88	0x0
+3	89	0x0
+3	90	0x0
+3	91	0x0
+3	92	0x0
+3	93	0x0
+3	94	0x0
+3	95	0x0
+3	96	0x0
+3	97	0x0
+3	98	0x0
+3	99	0x0
+3	100	0x0
+3	101	0x0
+3	102	0x0
+3	103	0x0
+3	104	0x0
+3	105	0x0
+3	106	0x0
+3	107	0x0
+3	108	0x0
+3	109	0x0
+3	110	0x0
+3	111	0x0
+3	112	0x0
+3	113	0x0
+3	114	0x0
+3	115	0x0
+3	116	0x0
+3	117	0x0
+3	118	0x0
+3	119	0x0
+3	120	0x0
+3	121	0xf00e
+3	122	0x0
+3	123	0x0
+3	124	0x0
+3	125	0x0
+3	126	0x0
+3	127	0x0
+4	0	0x0
+4	1	0x1b
+4	2	0x11
+4	3	0x12
+4	4	0x13
+4	5	0x14
+4	6	0x15
+4	7	0x16
+4	8	0x17
+4	9	0x18
+4	10	0x19
+4	11	0x10
+4	12	0xd
+4	13	0x1d
+4	14	0x8
+4	15	0x9
+4	16	0x11
+4	17	0x17
+4	18	0x5
+4	19	0x12
+4	20	0x14
+4	21	0x19
+4	22	0x15
+4	23	0x9
+4	24	0xf
+4	25	0x10
+4	26	0x1b
+4	27	0x1d
+4	28	0xa
+4	29	0xf862
+4	30	0x1
+4	31	0x13
+4	32	0x4
+4	33	0x6
+4	34	0x7
+4	35	0x8
+4	36	0xa
+4	37	0xb
+4	38	0xc
+4	39	0x1b
+4	40	0x7
+4	41	0x0
+4	42	0xf860
+4	43	0x1c
+4	44	0x1a
+4	45	0x18
+4	46	0x3
+4	47	0x16
+4	48	0x2
+4	49	0xe
+4	50	0xd
+4	51	0xc
+4	52	0xe
+4	53	0xf
+4	54	0xf860
+4	55	0xa
+4	56	0xf863
+4	57	0x0
+4	58	0xf862
+4	59	0x5
+4	60	0x6
+4	61	0x7
+4	62	0x4
+4	63	0x5
+4	64	0x6
+4	65	0x7
+4	66	0xc
+4	67	0xd
+4	68	0xe
+4	69	0x5
+4	70	0x6
+4	71	0x17
+4	72	0x18
+4	73	0x19
+4	74	0xd
+4	75	0x14
+4	76	0x15
+4	77	0x16
+4	78	0xb
+4	79	0x11
+4	80	0x12
+4	81	0x13
+4	82	0x10
+4	83	0xe
+4	84	0x0
+4	85	0x0
+4	86	0x0
+4	87	0xf
+4	88	0xc
+4	89	0x0
+4	90	0x0
+4	91	0x0
+4	92	0x0
+4	93	0x0
+4	94	0x0
+4	95	0x0
+4	96	0x0
+4	97	0x0
+4	98	0x0
+4	99	0x0
+4	100	0x0
+4	101	0x0
+4	102	0x0
+4	103	0x0
+4	104	0x0
+4	105	0x0
+4	106	0x0
+4	107	0x0
+4	108	0x0
+4	109	0x0
+4	110	0x0
+4	111	0x0
+4	112	0x0
+4	113	0x0
+4	114	0x0
+4	115	0x0
+4	116	0x0
+4	117	0x0
+4	118	0x0
+4	119	0x0
+4	120	0x0
+4	121	0x7
+4	122	0x0
+4	123	0x8
+4	124	0x0
+4	125	0x0
+4	126	0x0
+4	127	0x0

+ 640 - 0
sys/lib/kbmap/us

@@ -0,0 +1,640 @@
+0	0	0x0
+0	1	0x1b
+0	2	0x31
+0	3	0x32
+0	4	0x33
+0	5	0x34
+0	6	0x35
+0	7	0x36
+0	8	0x37
+0	9	0x38
+0	10	0x39
+0	11	0x30
+0	12	0x2d
+0	13	0x3d
+0	14	0x8
+0	15	0x9
+0	16	0x71
+0	17	0x77
+0	18	0x65
+0	19	0x72
+0	20	0x74
+0	21	0x79
+0	22	0x75
+0	23	0x69
+0	24	0x6f
+0	25	0x70
+0	26	0x5b
+0	27	0x5d
+0	28	0xa
+0	29	0xf862
+0	30	0x61
+0	31	0x73
+0	32	0x64
+0	33	0x66
+0	34	0x67
+0	35	0x68
+0	36	0x6a
+0	37	0x6b
+0	38	0x6c
+0	39	0x3b
+0	40	0x27
+0	41	0x60
+0	42	0xf860
+0	43	0x5c
+0	44	0x7a
+0	45	0x78
+0	46	0x63
+0	47	0x76
+0	48	0x62
+0	49	0x6e
+0	50	0x6d
+0	51	0x2c
+0	52	0x2e
+0	53	0x2f
+0	54	0xf860
+0	55	0x2a
+0	56	0xf863
+0	57	0x20
+0	58	0xf862
+0	59	0xf001
+0	60	0xf002
+0	61	0xf003
+0	62	0xf004
+0	63	0xf005
+0	64	0xf006
+0	65	0xf007
+0	66	0xf008
+0	67	0xf009
+0	68	0xf00a
+0	69	0xf865
+0	70	0xf015
+0	71	0x37
+0	72	0x38
+0	73	0x39
+0	74	0x2d
+0	75	0x34
+0	76	0x35
+0	77	0x36
+0	78	0x2b
+0	79	0x31
+0	80	0x32
+0	81	0x33
+0	82	0x30
+0	83	0x2e
+0	84	0x0
+0	85	0x0
+0	86	0x0
+0	87	0xf00b
+0	88	0xf00c
+0	89	0x0
+0	90	0x0
+0	91	0x0
+0	92	0x0
+0	93	0x0
+0	94	0x0
+0	95	0x0
+0	96	0x0
+0	97	0x0
+0	98	0x0
+0	99	0x0
+0	100	0x0
+0	101	0x0
+0	102	0x0
+0	103	0x0
+0	104	0x0
+0	105	0x0
+0	106	0x0
+0	107	0x0
+0	108	0x0
+0	109	0x0
+0	110	0x0
+0	111	0x0
+0	112	0x0
+0	113	0x0
+0	114	0x0
+0	115	0x0
+0	116	0x0
+0	117	0x0
+0	118	0x0
+0	119	0x0
+0	120	0x0
+0	121	0xf800
+0	122	0x0
+0	123	0xf00e
+0	124	0x0
+0	125	0x0
+0	126	0x0
+0	127	0x0
+1	0	0x0
+1	1	0x1b
+1	2	0x21
+1	3	0x40
+1	4	0x23
+1	5	0x24
+1	6	0x25
+1	7	0x5e
+1	8	0x26
+1	9	0x2a
+1	10	0x28
+1	11	0x29
+1	12	0x5f
+1	13	0x2b
+1	14	0x8
+1	15	0x9
+1	16	0x51
+1	17	0x57
+1	18	0x45
+1	19	0x52
+1	20	0x54
+1	21	0x59
+1	22	0x55
+1	23	0x49
+1	24	0x4f
+1	25	0x50
+1	26	0x7b
+1	27	0x7d
+1	28	0xa
+1	29	0xf862
+1	30	0x41
+1	31	0x53
+1	32	0x44
+1	33	0x46
+1	34	0x47
+1	35	0x48
+1	36	0x4a
+1	37	0x4b
+1	38	0x4c
+1	39	0x3a
+1	40	0x22
+1	41	0x7e
+1	42	0xf860
+1	43	0x7c
+1	44	0x5a
+1	45	0x58
+1	46	0x43
+1	47	0x56
+1	48	0x42
+1	49	0x4e
+1	50	0x4d
+1	51	0x3c
+1	52	0x3e
+1	53	0x3f
+1	54	0xf860
+1	55	0x2a
+1	56	0xf863
+1	57	0x20
+1	58	0xf862
+1	59	0xf001
+1	60	0xf002
+1	61	0xf003
+1	62	0xf004
+1	63	0xf005
+1	64	0xf006
+1	65	0xf007
+1	66	0xf008
+1	67	0xf009
+1	68	0xf00a
+1	69	0xf865
+1	70	0xf015
+1	71	0x37
+1	72	0x38
+1	73	0x39
+1	74	0x2d
+1	75	0x34
+1	76	0x35
+1	77	0x36
+1	78	0x2b
+1	79	0x31
+1	80	0x32
+1	81	0x33
+1	82	0x30
+1	83	0x2e
+1	84	0x0
+1	85	0x0
+1	86	0x0
+1	87	0xf00b
+1	88	0xf00c
+1	89	0x0
+1	90	0x0
+1	91	0x0
+1	92	0x0
+1	93	0x0
+1	94	0x0
+1	95	0x0
+1	96	0x0
+1	97	0x0
+1	98	0x0
+1	99	0x0
+1	100	0x0
+1	101	0x0
+1	102	0x0
+1	103	0x0
+1	104	0x0
+1	105	0x0
+1	106	0x0
+1	107	0x0
+1	108	0x0
+1	109	0x0
+1	110	0x0
+1	111	0x0
+1	112	0x0
+1	113	0x0
+1	114	0x0
+1	115	0x0
+1	116	0x0
+1	117	0x0
+1	118	0x0
+1	119	0x0
+1	120	0x0
+1	121	0xf00e
+1	122	0x0
+1	123	0xf00e
+1	124	0x0
+1	125	0x0
+1	126	0x0
+1	127	0x0
+2	0	0x0
+2	1	0x0
+2	2	0x0
+2	3	0x0
+2	4	0x0
+2	5	0x0
+2	6	0x0
+2	7	0x0
+2	8	0x0
+2	9	0x0
+2	10	0x0
+2	11	0x0
+2	12	0x0
+2	13	0x0
+2	14	0x0
+2	15	0x0
+2	16	0x0
+2	17	0x0
+2	18	0x0
+2	19	0x0
+2	20	0x0
+2	21	0x0
+2	22	0x0
+2	23	0x0
+2	24	0x0
+2	25	0x0
+2	26	0x0
+2	27	0x0
+2	28	0xa
+2	29	0xf862
+2	30	0x0
+2	31	0x0
+2	32	0x0
+2	33	0x0
+2	34	0x0
+2	35	0x0
+2	36	0x0
+2	37	0x0
+2	38	0x0
+2	39	0x0
+2	40	0x0
+2	41	0x0
+2	42	0xf860
+2	43	0x0
+2	44	0x0
+2	45	0x0
+2	46	0x0
+2	47	0x0
+2	48	0x0
+2	49	0x0
+2	50	0x0
+2	51	0x0
+2	52	0x0
+2	53	0x2f
+2	54	0x0
+2	55	0xf010
+2	56	0xf867
+2	57	0x0
+2	58	0x0
+2	59	0x0
+2	60	0x0
+2	61	0x0
+2	62	0x0
+2	63	0x0
+2	64	0x0
+2	65	0x0
+2	66	0x0
+2	67	0x0
+2	68	0x0
+2	69	0x0
+2	70	0xf861
+2	71	0xf00d
+2	72	0xf00e
+2	73	0xf00f
+2	74	0x0
+2	75	0xf011
+2	76	0x0
+2	77	0xf012
+2	78	0x0
+2	79	0xf018
+2	80	0xf800
+2	81	0xf013
+2	82	0xf014
+2	83	0x7f
+2	84	0x0
+2	85	0x0
+2	86	0x0
+2	87	0x0
+2	88	0x0
+2	89	0x0
+2	90	0x0
+2	91	0x0
+2	92	0x0
+2	93	0x0
+2	94	0x0
+2	95	0x0
+2	96	0x0
+2	97	0x0
+2	98	0x0
+2	99	0x0
+2	100	0x0
+2	101	0x0
+2	102	0x0
+2	103	0x0
+2	104	0x0
+2	105	0x0
+2	106	0x0
+2	107	0x0
+2	108	0x0
+2	109	0x0
+2	110	0x0
+2	111	0x0
+2	112	0x0
+2	113	0x0
+2	114	0x0
+2	115	0x0
+2	116	0x0
+2	117	0x0
+2	118	0x0
+2	119	0x0
+2	120	0x0
+2	121	0xf00e
+2	122	0x0
+2	123	0x0
+2	124	0x0
+2	125	0x0
+2	126	0x0
+2	127	0x0
+3	0	0x0
+3	1	0x0
+3	2	0x0
+3	3	0x0
+3	4	0x0
+3	5	0x0
+3	6	0x0
+3	7	0x0
+3	8	0x0
+3	9	0x0
+3	10	0x0
+3	11	0x0
+3	12	0x0
+3	13	0x0
+3	14	0x0
+3	15	0x0
+3	16	0x0
+3	17	0x0
+3	18	0x0
+3	19	0x0
+3	20	0x0
+3	21	0x0
+3	22	0x0
+3	23	0x0
+3	24	0x0
+3	25	0x0
+3	26	0x0
+3	27	0x0
+3	28	0xa
+3	29	0xf862
+3	30	0x0
+3	31	0x0
+3	32	0x0
+3	33	0x0
+3	34	0x0
+3	35	0x0
+3	36	0x0
+3	37	0x0
+3	38	0x0
+3	39	0x0
+3	40	0x0
+3	41	0x0
+3	42	0xf860
+3	43	0x0
+3	44	0x0
+3	45	0x0
+3	46	0x0
+3	47	0x0
+3	48	0x0
+3	49	0x0
+3	50	0x0
+3	51	0x0
+3	52	0x0
+3	53	0x2f
+3	54	0x0
+3	55	0xf010
+3	56	0xf867
+3	57	0x0
+3	58	0x0
+3	59	0x0
+3	60	0x0
+3	61	0x0
+3	62	0x0
+3	63	0x0
+3	64	0x0
+3	65	0x0
+3	66	0x0
+3	67	0x0
+3	68	0x0
+3	69	0x0
+3	70	0xf861
+3	71	0xf00d
+3	72	0xf00e
+3	73	0xf00f
+3	74	0x0
+3	75	0xf011
+3	76	0x0
+3	77	0xf012
+3	78	0x0
+3	79	0xf018
+3	80	0xf800
+3	81	0xf013
+3	82	0xf014
+3	83	0x7f
+3	84	0x0
+3	85	0x0
+3	86	0x0
+3	87	0x0
+3	88	0x0
+3	89	0x0
+3	90	0x0
+3	91	0x0
+3	92	0x0
+3	93	0x0
+3	94	0x0
+3	95	0x0
+3	96	0x0
+3	97	0x0
+3	98	0x0
+3	99	0x0
+3	100	0x0
+3	101	0x0
+3	102	0x0
+3	103	0x0
+3	104	0x0
+3	105	0x0
+3	106	0x0
+3	107	0x0
+3	108	0x0
+3	109	0x0
+3	110	0x0
+3	111	0x0
+3	112	0x0
+3	113	0x0
+3	114	0x0
+3	115	0x0
+3	116	0x0
+3	117	0x0
+3	118	0x0
+3	119	0x0
+3	120	0x0
+3	121	0xf00e
+3	122	0x0
+3	123	0x0
+3	124	0x0
+3	125	0x0
+3	126	0x0
+3	127	0x0
+4	0	0x0
+4	1	0x1b
+4	2	0x11
+4	3	0x12
+4	4	0x13
+4	5	0x14
+4	6	0x15
+4	7	0x16
+4	8	0x17
+4	9	0x18
+4	10	0x19
+4	11	0x10
+4	12	0xd
+4	13	0x1d
+4	14	0x8
+4	15	0x9
+4	16	0x11
+4	17	0x17
+4	18	0x5
+4	19	0x12
+4	20	0x14
+4	21	0x19
+4	22	0x15
+4	23	0x9
+4	24	0xf
+4	25	0x10
+4	26	0x1b
+4	27	0x1d
+4	28	0xa
+4	29	0xf862
+4	30	0x1
+4	31	0x13
+4	32	0x4
+4	33	0x6
+4	34	0x7
+4	35	0x8
+4	36	0xa
+4	37	0xb
+4	38	0xc
+4	39	0x1b
+4	40	0x7
+4	41	0x0
+4	42	0xf860
+4	43	0x1c
+4	44	0x1a
+4	45	0x18
+4	46	0x3
+4	47	0x16
+4	48	0x2
+4	49	0xe
+4	50	0xd
+4	51	0xc
+4	52	0xe
+4	53	0xf
+4	54	0xf860
+4	55	0xa
+4	56	0xf863
+4	57	0x0
+4	58	0xf862
+4	59	0x5
+4	60	0x6
+4	61	0x7
+4	62	0x4
+4	63	0x5
+4	64	0x6
+4	65	0x7
+4	66	0xc
+4	67	0xd
+4	68	0xe
+4	69	0x5
+4	70	0x6
+4	71	0x17
+4	72	0x18
+4	73	0x19
+4	74	0xd
+4	75	0x14
+4	76	0x15
+4	77	0x16
+4	78	0xb
+4	79	0x11
+4	80	0x12
+4	81	0x13
+4	82	0x10
+4	83	0xe
+4	84	0x0
+4	85	0x0
+4	86	0x0
+4	87	0xf
+4	88	0xc
+4	89	0x0
+4	90	0x0
+4	91	0x0
+4	92	0x0
+4	93	0x0
+4	94	0x0
+4	95	0x0
+4	96	0x0
+4	97	0x0
+4	98	0x0
+4	99	0x0
+4	100	0x0
+4	101	0x0
+4	102	0x0
+4	103	0x0
+4	104	0x0
+4	105	0x0
+4	106	0x0
+4	107	0x0
+4	108	0x0
+4	109	0x0
+4	110	0x0
+4	111	0x0
+4	112	0x0
+4	113	0x0
+4	114	0x0
+4	115	0x0
+4	116	0x0
+4	117	0x0
+4	118	0x0
+4	119	0x0
+4	120	0x0
+4	121	0x7
+4	122	0x0
+4	123	0x8
+4	124	0x0
+4	125	0x0
+4	126	0x0
+4	127	0x0

+ 1 - 1
sys/man/2/cachechars

@@ -4,7 +4,7 @@ cachechars, agefont, loadchar, Subfont, Fontchar, Font  \- font utilities
 .SH SYNOPSIS
 .B #include <u.h>
 .br
-.B #include <draw.h>
+.B #include <libc.h>
 .br
 .B #include <draw.h>
 .PP

+ 0 - 3
sys/src/cmd/disk/kfs/portdat.h

@@ -229,9 +229,6 @@ struct	Wpath
 	Wpath	*list;		/* link in free chain */
 	long	addr;		/* directory entry addr of parent */
 	long	slot;		/* directory entry slot of parent */
-	long faddr;		/* directory entry addr */
-	long fslot;			/* directory entry slot */
-	Qid qid;			/* qid of current */
 	short	refs;		/* number of files using this structure */
 };
 

+ 7 - 2
sys/src/cmd/vnc/kbds.c

@@ -2,6 +2,7 @@
 #include	<libc.h>
 #include	"compat.h"
 #include	"kbd.h"
+#include   "ksym2utf.h"
 
 enum
 {
@@ -99,8 +100,12 @@ vncputc(int keyup, int c)
 		c = vnckeys[c & 0xff];
 		if(c == No)
 			return;
-	}else if(c & ~0xff)
-		return;
+	}
+	/*
+	 * map an xkeysym onto a utf-8 char
+	 */
+	if((c & 0xff00) && c < nelem(ksym2utf) && ksym2utf[c] != 0)
+			c = ksym2utf[c];
 
 	/*
 	 *  keyup only important for shifts

+ 9 - 1
sys/src/cmd/vnc/kbdv.c

@@ -1,5 +1,6 @@
 #include "vnc.h"
 #include <keyboard.h>
+#include "utf2ksym.h"
 
 enum {
 	Xshift = 0xFFE1,
@@ -88,7 +89,8 @@ void
 readkbd(Vnc *v)
 {
 	char buf[256], k[10];
-	int ctlfd, fd, kr, kn, ks, w, shift, ctl, alt;
+	ulong ks;
+	int ctlfd, fd, kr, kn, w, shift, ctl, alt;
 	Rune r;
 
 	snprint(buf, sizeof buf, "%s/cons", display->devdir);
@@ -143,6 +145,12 @@ readkbd(Vnc *v)
 					shift = 1;
 					keyevent(v, Xshift, 1);
 				}
+				/*
+				 * map an xkeysym onto a utf-8 char.
+				 * allows Xvnc to read us, see utf2ksym.h
+				 */
+				if((ks & 0xff00) && ks < nelem(utf2ksym) && utf2ksym[ks] != 0)
+					ks = utf2ksym[ks];
 				keyevent(v, ks, 1);
 				/*
 				 * up event needed by vmware inside linux vnc server,

+ 759 - 0
sys/src/cmd/vnc/ksym2utf.h

@@ -0,0 +1,759 @@
+/*
+ * VNC uses X11's keysyms defined in X11/keysym.h, this is a converter
+ * to unicode characters
+ */
+static ulong
+ksym2utf [] = {
+	[0x01a1]	L'Ą',
+	[0x01a2]	L'˘',
+	[0x01a3]	L'Ł',
+	[0x01a5]	L'Ľ',
+	[0x01a6]	L'Ś',
+	[0x01a9]	L'Š',
+	[0x01aa]	L'Ş',
+	[0x01ab]	L'Ť',
+	[0x01ac]	L'Ź',
+	[0x01ae]	L'Ž',
+	[0x01af]	L'Ż',
+	[0x01b1]	L'ą',
+	[0x01b2]	L'˛',
+	[0x01b3]	L'ł',
+	[0x01b5]	L'ľ',
+	[0x01b6]	L'ś',
+	[0x01b7]	L'ˇ',
+	[0x01b9]	L'š',
+	[0x01ba]	L'ş',
+	[0x01bb]	L'ť',
+	[0x01bc]	L'ź',
+	[0x01bd]	L'˝',
+	[0x01be]	L'ž',
+	[0x01bf]	L'ż',
+	[0x01c0]	L'Ŕ',
+	[0x01c3]	L'Ă',
+	[0x01c5]	L'Ĺ',
+	[0x01c6]	L'Ć',
+	[0x01c8]	L'Č',
+	[0x01ca]	L'Ę',
+	[0x01cc]	L'Ě',
+	[0x01cf]	L'Ď',
+	[0x01d0]	L'Đ',
+	[0x01d1]	L'Ń',
+	[0x01d2]	L'Ň',
+	[0x01d5]	L'Ő',
+	[0x01d8]	L'Ř',
+	[0x01d9]	L'Ů',
+	[0x01db]	L'Ű',
+	[0x01de]	L'Ţ',
+	[0x01e0]	L'ŕ',
+	[0x01e3]	L'ă',
+	[0x01e5]	L'ĺ',
+	[0x01e6]	L'ć',
+	[0x01e8]	L'č',
+	[0x01ea]	L'ę',
+	[0x01ec]	L'ě',
+	[0x01ef]	L'ď',
+	[0x01f0]	L'đ',
+	[0x01f1]	L'ń',
+	[0x01f2]	L'ň',
+	[0x01f5]	L'ő',
+	[0x01f8]	L'ř',
+	[0x01f9]	L'ů',
+	[0x01fb]	L'ű',
+	[0x01fe]	L'ţ',
+	[0x01ff]	L'˙',
+	[0x02a1]	L'Ħ',
+	[0x02a6]	L'Ĥ',
+	[0x02a9]	L'İ',
+	[0x02ab]	L'Ğ',
+	[0x02ac]	L'Ĵ',
+	[0x02b1]	L'ħ',
+	[0x02b6]	L'ĥ',
+	[0x02b9]	L'ı',
+	[0x02bb]	L'ğ',
+	[0x02bc]	L'ĵ',
+	[0x02c5]	L'Ċ',
+	[0x02c6]	L'Ĉ',
+	[0x02d5]	L'Ġ',
+	[0x02d8]	L'Ĝ',
+	[0x02dd]	L'Ŭ',
+	[0x02de]	L'Ŝ',
+	[0x02e5]	L'ċ',
+	[0x02e6]	L'ĉ',
+	[0x02f5]	L'ġ',
+	[0x02f8]	L'ĝ',
+	[0x02fd]	L'ŭ',
+	[0x02fe]	L'ŝ',
+	[0x03a2]	L'ĸ',
+	[0x03a3]	L'Ŗ',
+	[0x03a5]	L'Ĩ',
+	[0x03a6]	L'Ļ',
+	[0x03aa]	L'Ē',
+	[0x03ab]	L'Ģ',
+	[0x03ac]	L'Ŧ',
+	[0x03b3]	L'ŗ',
+	[0x03b5]	L'ĩ',
+	[0x03b6]	L'ļ',
+	[0x03ba]	L'ē',
+	[0x03bb]	L'ģ',
+	[0x03bc]	L'ŧ',
+	[0x03bd]	L'Ŋ',
+	[0x03bf]	L'ŋ',
+	[0x03c0]	L'Ā',
+	[0x03c7]	L'Į',
+	[0x03cc]	L'Ė',
+	[0x03cf]	L'Ī',
+	[0x03d1]	L'Ņ',
+	[0x03d2]	L'Ō',
+	[0x03d3]	L'Ķ',
+	[0x03d9]	L'Ų',
+	[0x03dd]	L'Ũ',
+	[0x03de]	L'Ū',
+	[0x03e0]	L'ā',
+	[0x03e7]	L'į',
+	[0x03ec]	L'ė',
+	[0x03ef]	L'ī',
+	[0x03f1]	L'ņ',
+	[0x03f2]	L'ō',
+	[0x03f3]	L'ķ',
+	[0x03f9]	L'ų',
+	[0x03fd]	L'ũ',
+	[0x03fe]	L'ū',
+	[0x047e]	L'‾',
+	[0x04a1]	L'。',
+	[0x04a2]	L'「',
+	[0x04a3]	L'」',
+	[0x04a4]	L'、',
+	[0x04a5]	L'・',
+	[0x04a6]	L'ヲ',
+	[0x04a7]	L'ァ',
+	[0x04a8]	L'ィ',
+	[0x04a9]	L'ゥ',
+	[0x04aa]	L'ェ',
+	[0x04ab]	L'ォ',
+	[0x04ac]	L'ャ',
+	[0x04ad]	L'ュ',
+	[0x04ae]	L'ョ',
+	[0x04af]	L'ッ',
+	[0x04b0]	L'ー',
+	[0x04b1]	L'ア',
+	[0x04b2]	L'イ',
+	[0x04b3]	L'ウ',
+	[0x04b4]	L'エ',
+	[0x04b5]	L'オ',
+	[0x04b6]	L'カ',
+	[0x04b7]	L'キ',
+	[0x04b8]	L'ク',
+	[0x04b9]	L'ケ',
+	[0x04ba]	L'コ',
+	[0x04bb]	L'サ',
+	[0x04bc]	L'シ',
+	[0x04bd]	L'ス',
+	[0x04be]	L'セ',
+	[0x04bf]	L'ソ',
+	[0x04c0]	L'タ',
+	[0x04c1]	L'チ',
+	[0x04c2]	L'ツ',
+	[0x04c3]	L'テ',
+	[0x04c4]	L'ト',
+	[0x04c5]	L'ナ',
+	[0x04c6]	L'ニ',
+	[0x04c7]	L'ヌ',
+	[0x04c8]	L'ネ',
+	[0x04c9]	L'ノ',
+	[0x04ca]	L'ハ',
+	[0x04cb]	L'ヒ',
+	[0x04cc]	L'フ',
+	[0x04cd]	L'ヘ',
+	[0x04ce]	L'ホ',
+	[0x04cf]	L'マ',
+	[0x04d0]	L'ミ',
+	[0x04d1]	L'ム',
+	[0x04d2]	L'メ',
+	[0x04d3]	L'モ',
+	[0x04d4]	L'ヤ',
+	[0x04d5]	L'ユ',
+	[0x04d6]	L'ヨ',
+	[0x04d7]	L'ラ',
+	[0x04d8]	L'リ',
+	[0x04d9]	L'ル',
+	[0x04da]	L'レ',
+	[0x04db]	L'ロ',
+	[0x04dc]	L'ワ',
+	[0x04dd]	L'ン',
+	[0x04de]	L'゛',
+	[0x04df]	L'゜',
+	[0x05ac]	L'،',
+	[0x05bb]	L'؛',
+	[0x05bf]	L'؟',
+	[0x05c1]	L'ء',
+	[0x05c2]	L'آ',
+	[0x05c3]	L'أ',
+	[0x05c4]	L'ؤ',
+	[0x05c5]	L'إ',
+	[0x05c6]	L'ئ',
+	[0x05c7]	L'ا',
+	[0x05c8]	L'ب',
+	[0x05c9]	L'ة',
+	[0x05ca]	L'ت',
+	[0x05cb]	L'ث',
+	[0x05cc]	L'ج',
+	[0x05cd]	L'ح',
+	[0x05ce]	L'خ',
+	[0x05cf]	L'د',
+	[0x05d0]	L'ذ',
+	[0x05d1]	L'ر',
+	[0x05d2]	L'ز',
+	[0x05d3]	L'س',
+	[0x05d4]	L'ش',
+	[0x05d5]	L'ص',
+	[0x05d6]	L'ض',
+	[0x05d7]	L'ط',
+	[0x05d8]	L'ظ',
+	[0x05d9]	L'ع',
+	[0x05da]	L'غ',
+	[0x05e0]	L'ـ',
+	[0x05e1]	L'ف',
+	[0x05e2]	L'ق',
+	[0x05e3]	L'ك',
+	[0x05e4]	L'ل',
+	[0x05e5]	L'م',
+	[0x05e6]	L'ن',
+	[0x05e7]	L'ه',
+	[0x05e8]	L'و',
+	[0x05e9]	L'ى',
+	[0x05ea]	L'ي',
+	[0x05eb]	L'ً',
+	[0x05ec]	L'ٌ',
+	[0x05ed]	L'ٍ',
+	[0x05ee]	L'َ',
+	[0x05ef]	L'ُ',
+	[0x05f0]	L'ِ',
+	[0x05f1]	L'ّ',
+	[0x05f2]	L'ْ',
+	[0x06a1]	L'ђ',
+	[0x06a2]	L'ѓ',
+	[0x06a3]	L'ё',
+	[0x06a4]	L'є',
+	[0x06a5]	L'ѕ',
+	[0x06a6]	L'і',
+	[0x06a7]	L'ї',
+	[0x06a8]	L'ј',
+	[0x06a9]	L'љ',
+	[0x06aa]	L'њ',
+	[0x06ab]	L'ћ',
+	[0x06ac]	L'ќ',
+	[0x06ae]	L'ў',
+	[0x06af]	L'џ',
+	[0x06b0]	L'№',
+	[0x06b1]	L'Ђ',
+	[0x06b2]	L'Ѓ',
+	[0x06b3]	L'Ё',
+	[0x06b4]	L'Є',
+	[0x06b5]	L'Ѕ',
+	[0x06b6]	L'І',
+	[0x06b7]	L'Ї',
+	[0x06b8]	L'Ј',
+	[0x06b9]	L'Љ',
+	[0x06ba]	L'Њ',
+	[0x06bb]	L'Ћ',
+	[0x06bc]	L'Ќ',
+	[0x06be]	L'Ў',
+	[0x06bf]	L'Џ',
+	[0x06c0]	L'ю',
+	[0x06c1]	L'а',
+	[0x06c2]	L'б',
+	[0x06c3]	L'ц',
+	[0x06c4]	L'д',
+	[0x06c5]	L'е',
+	[0x06c6]	L'ф',
+	[0x06c7]	L'г',
+	[0x06c8]	L'х',
+	[0x06c9]	L'и',
+	[0x06ca]	L'й',
+	[0x06cb]	L'к',
+	[0x06cc]	L'л',
+	[0x06cd]	L'м',
+	[0x06ce]	L'н',
+	[0x06cf]	L'о',
+	[0x06d0]	L'п',
+	[0x06d1]	L'я',
+	[0x06d2]	L'р',
+	[0x06d3]	L'с',
+	[0x06d4]	L'т',
+	[0x06d5]	L'у',
+	[0x06d6]	L'ж',
+	[0x06d7]	L'в',
+	[0x06d8]	L'ь',
+	[0x06d9]	L'ы',
+	[0x06da]	L'з',
+	[0x06db]	L'ш',
+	[0x06dc]	L'э',
+	[0x06dd]	L'щ',
+	[0x06de]	L'ч',
+	[0x06df]	L'ъ',
+	[0x06e0]	L'Ю',
+	[0x06e1]	L'А',
+	[0x06e2]	L'Б',
+	[0x06e3]	L'Ц',
+	[0x06e4]	L'Д',
+	[0x06e5]	L'Е',
+	[0x06e6]	L'Ф',
+	[0x06e7]	L'Г',
+	[0x06e8]	L'Х',
+	[0x06e9]	L'И',
+	[0x06ea]	L'Й',
+	[0x06eb]	L'К',
+	[0x06ec]	L'Л',
+	[0x06ed]	L'М',
+	[0x06ee]	L'Н',
+	[0x06ef]	L'О',
+	[0x06f0]	L'П',
+	[0x06f1]	L'Я',
+	[0x06f2]	L'Р',
+	[0x06f3]	L'С',
+	[0x06f4]	L'Т',
+	[0x06f5]	L'У',
+	[0x06f6]	L'Ж',
+	[0x06f7]	L'В',
+	[0x06f8]	L'Ь',
+	[0x06f9]	L'Ы',
+	[0x06fa]	L'З',
+	[0x06fb]	L'Ш',
+	[0x06fc]	L'Э',
+	[0x06fd]	L'Щ',
+	[0x06fe]	L'Ч',
+	[0x06ff]	L'Ъ',
+	[0x07a1]	L'Ά',
+	[0x07a2]	L'Έ',
+	[0x07a3]	L'Ή',
+	[0x07a4]	L'Ί',
+	[0x07a5]	L'Ϊ',
+	[0x07a7]	L'Ό',
+	[0x07a8]	L'Ύ',
+	[0x07a9]	L'Ϋ',
+	[0x07ab]	L'Ώ',
+	[0x07ae]	L'΅',
+	[0x07af]	L'―',
+	[0x07b1]	L'ά',
+	[0x07b2]	L'έ',
+	[0x07b3]	L'ή',
+	[0x07b4]	L'ί',
+	[0x07b5]	L'ϊ',
+	[0x07b6]	L'ΐ',
+	[0x07b7]	L'ό',
+	[0x07b8]	L'ύ',
+	[0x07b9]	L'ϋ',
+	[0x07ba]	L'ΰ',
+	[0x07bb]	L'ώ',
+	[0x07c1]	L'Α',
+	[0x07c2]	L'Β',
+	[0x07c3]	L'Γ',
+	[0x07c4]	L'Δ',
+	[0x07c5]	L'Ε',
+	[0x07c6]	L'Ζ',
+	[0x07c7]	L'Η',
+	[0x07c8]	L'Θ',
+	[0x07c9]	L'Ι',
+	[0x07ca]	L'Κ',
+	[0x07cb]	L'Λ',
+	[0x07cc]	L'Μ',
+	[0x07cd]	L'Ν',
+	[0x07ce]	L'Ξ',
+	[0x07cf]	L'Ο',
+	[0x07d0]	L'Π',
+	[0x07d1]	L'Ρ',
+	[0x07d2]	L'Σ',
+	[0x07d4]	L'Τ',
+	[0x07d5]	L'Υ',
+	[0x07d6]	L'Φ',
+	[0x07d7]	L'Χ',
+	[0x07d8]	L'Ψ',
+	[0x07d9]	L'Ω',
+	[0x07e1]	L'α',
+	[0x07e2]	L'β',
+	[0x07e3]	L'γ',
+	[0x07e4]	L'δ',
+	[0x07e5]	L'ε',
+	[0x07e6]	L'ζ',
+	[0x07e7]	L'η',
+	[0x07e8]	L'θ',
+	[0x07e9]	L'ι',
+	[0x07ea]	L'κ',
+	[0x07eb]	L'λ',
+	[0x07ec]	L'μ',
+	[0x07ed]	L'ν',
+	[0x07ee]	L'ξ',
+	[0x07ef]	L'ο',
+	[0x07f0]	L'π',
+	[0x07f1]	L'ρ',
+	[0x07f2]	L'σ',
+	[0x07f3]	L'ς',
+	[0x07f4]	L'τ',
+	[0x07f5]	L'υ',
+	[0x07f6]	L'φ',
+	[0x07f7]	L'χ',
+	[0x07f8]	L'ψ',
+	[0x07f9]	L'ω',
+	[0x08a4]	L'⌠',
+	[0x08a5]	L'⌡',
+	[0x08a6]	L'│',
+	[0x08bc]	L'≤',
+	[0x08bd]	L'≠',
+	[0x08be]	L'≥',
+	[0x08bf]	L'∫',
+	[0x08c0]	L'∴',
+	[0x08c1]	L'∝',
+	[0x08c2]	L'∞',
+	[0x08c5]	L'∇',
+	[0x08c8]	L'≅',
+	[0x08cd]	L'⇔',
+	[0x08ce]	L'⇒',
+	[0x08cf]	L'≡',
+	[0x08d6]	L'√',
+	[0x08da]	L'⊂',
+	[0x08db]	L'⊃',
+	[0x08dc]	L'∩',
+	[0x08dd]	L'∪',
+	[0x08de]	L'∧',
+	[0x08df]	L'∨',
+	[0x08ef]	L'∂',
+	[0x08f6]	L'ƒ',
+	[0x08fb]	L'←',
+	[0x08fc]	L'↑',
+	[0x08fd]	L'→',
+	[0x08fe]	L'↓',
+	[0x09df]	L'␢',
+	[0x09e0]	L'◆',
+	[0x09e1]	L'▒',
+	[0x09e2]	L'␉',
+	[0x09e3]	L'␌',
+	[0x09e4]	L'␍',
+	[0x09e5]	L'␊',
+	[0x09e8]	L'␤',
+	[0x09e9]	L'␋',
+	[0x09ea]	L'┘',
+	[0x09eb]	L'┐',
+	[0x09ec]	L'┌',
+	[0x09ed]	L'└',
+	[0x09ee]	L'┼',
+	[0x09f1]	L'─',
+	[0x09f4]	L'├',
+	[0x09f5]	L'┤',
+	[0x09f6]	L'┴',
+	[0x09f7]	L'┬',
+	[0x09f8]	L'│',
+	[0x0aa1]	L' ',
+	[0x0aa2]	L' ',
+	[0x0aa3]	L' ',
+	[0x0aa4]	L' ',
+	[0x0aa5]	L' ',
+	[0x0aa6]	L' ',
+	[0x0aa7]	L' ',
+	[0x0aa8]	L' ',
+	[0x0aa9]	L'—',
+	[0x0aaa]	L'–',
+	[0x0aae]	L'…',
+	[0x0ab0]	L'⅓',
+	[0x0ab1]	L'⅔',
+	[0x0ab2]	L'⅕',
+	[0x0ab3]	L'⅖',
+	[0x0ab4]	L'⅗',
+	[0x0ab5]	L'⅘',
+	[0x0ab6]	L'⅙',
+	[0x0ab7]	L'⅚',
+	[0x0ab8]	L'℅',
+	[0x0abb]	L'‒',
+	[0x0abc]	L'〈',
+	[0x0abd]	L'.',
+	[0x0abe]	L'〉',
+	[0x0ac3]	L'⅛',
+	[0x0ac4]	L'⅜',
+	[0x0ac5]	L'⅝',
+	[0x0ac6]	L'⅞',
+	[0x0ac9]	L'™',
+	[0x0aca]	L'☓',
+	[0x0acc]	L'◁',
+	[0x0acd]	L'▷',
+	[0x0ace]	L'○',
+	[0x0acf]	L'□',
+	[0x0ad0]	L'‘',
+	[0x0ad1]	L'’',
+	[0x0ad2]	L'“',
+	[0x0ad3]	L'”',
+	[0x0ad4]	L'℞',
+	[0x0ad6]	L'′',
+	[0x0ad7]	L'″',
+	[0x0ad9]	L'✝',
+	[0x0adb]	L'▬',
+	[0x0adc]	L'◀',
+	[0x0add]	L'▶',
+	[0x0ade]	L'●',
+	[0x0adf]	L'■',
+	[0x0ae0]	L'◦',
+	[0x0ae1]	L'▫',
+	[0x0ae2]	L'▭',
+	[0x0ae3]	L'△',
+	[0x0ae4]	L'▽',
+	[0x0ae5]	L'☆',
+	[0x0ae6]	L'•',
+	[0x0ae7]	L'▪',
+	[0x0ae8]	L'▲',
+	[0x0ae9]	L'▼',
+	[0x0aea]	L'☜',
+	[0x0aeb]	L'☞',
+	[0x0aec]	L'♣',
+	[0x0aed]	L'♦',
+	[0x0aee]	L'♥',
+	[0x0af0]	L'✠',
+	[0x0af1]	L'†',
+	[0x0af2]	L'‡',
+	[0x0af3]	L'✓',
+	[0x0af4]	L'✗',
+	[0x0af5]	L'♯',
+	[0x0af6]	L'♭',
+	[0x0af7]	L'♂',
+	[0x0af8]	L'♀',
+	[0x0af9]	L'☎',
+	[0x0afa]	L'⌕',
+	[0x0afb]	L'℗',
+	[0x0afc]	L'‸',
+	[0x0afd]	L'‚',
+	[0x0afe]	L'„',
+	[0x0ba3]	L'<',
+	[0x0ba6]	L'>',
+	[0x0ba8]	L'∨',
+	[0x0ba9]	L'∧',
+	[0x0bc0]	L'¯',
+	[0x0bc2]	L'⊤',
+	[0x0bc3]	L'∩',
+	[0x0bc4]	L'⌊',
+	[0x0bc6]	L'_',
+	[0x0bca]	L'∘',
+	[0x0bcc]	L'⎕',
+	[0x0bce]	L'⊥',
+	[0x0bcf]	L'○',
+	[0x0bd3]	L'⌈',
+	[0x0bd6]	L'∪',
+	[0x0bd8]	L'⊃',
+	[0x0bda]	L'⊂',
+	[0x0bdc]	L'⊣',
+	[0x0bfc]	L'⊢',
+	[0x0cdf]	L'‗',
+	[0x0ce0]	L'א',
+	[0x0ce1]	L'ב',
+	[0x0ce2]	L'ג',
+	[0x0ce3]	L'ד',
+	[0x0ce4]	L'ה',
+	[0x0ce5]	L'ו',
+	[0x0ce6]	L'ז',
+	[0x0ce7]	L'ח',
+	[0x0ce8]	L'ט',
+	[0x0ce9]	L'י',
+	[0x0cea]	L'ך',
+	[0x0ceb]	L'כ',
+	[0x0cec]	L'ל',
+	[0x0ced]	L'ם',
+	[0x0cee]	L'מ',
+	[0x0cef]	L'ן',
+	[0x0cf0]	L'נ',
+	[0x0cf1]	L'ס',
+	[0x0cf2]	L'ע',
+	[0x0cf3]	L'ף',
+	[0x0cf4]	L'פ',
+	[0x0cf5]	L'ץ',
+	[0x0cf6]	L'צ',
+	[0x0cf7]	L'ק',
+	[0x0cf8]	L'ר',
+	[0x0cf9]	L'ש',
+	[0x0cfa]	L'ת',
+	[0x0da1]	L'ก',
+	[0x0da2]	L'ข',
+	[0x0da3]	L'ฃ',
+	[0x0da4]	L'ค',
+	[0x0da5]	L'ฅ',
+	[0x0da6]	L'ฆ',
+	[0x0da7]	L'ง',
+	[0x0da8]	L'จ',
+	[0x0da9]	L'ฉ',
+	[0x0daa]	L'ช',
+	[0x0dab]	L'ซ',
+	[0x0dac]	L'ฌ',
+	[0x0dad]	L'ญ',
+	[0x0dae]	L'ฎ',
+	[0x0daf]	L'ฏ',
+	[0x0db0]	L'ฐ',
+	[0x0db1]	L'ฑ',
+	[0x0db2]	L'ฒ',
+	[0x0db3]	L'ณ',
+	[0x0db4]	L'ด',
+	[0x0db5]	L'ต',
+	[0x0db6]	L'ถ',
+	[0x0db7]	L'ท',
+	[0x0db8]	L'ธ',
+	[0x0db9]	L'น',
+	[0x0dba]	L'บ',
+	[0x0dbb]	L'ป',
+	[0x0dbc]	L'ผ',
+	[0x0dbd]	L'ฝ',
+	[0x0dbe]	L'พ',
+	[0x0dbf]	L'ฟ',
+	[0x0dc0]	L'ภ',
+	[0x0dc1]	L'ม',
+	[0x0dc2]	L'ย',
+	[0x0dc3]	L'ร',
+	[0x0dc4]	L'ฤ',
+	[0x0dc5]	L'ล',
+	[0x0dc6]	L'ฦ',
+	[0x0dc7]	L'ว',
+	[0x0dc8]	L'ศ',
+	[0x0dc9]	L'ษ',
+	[0x0dca]	L'ส',
+	[0x0dcb]	L'ห',
+	[0x0dcc]	L'ฬ',
+	[0x0dcd]	L'อ',
+	[0x0dce]	L'ฮ',
+	[0x0dcf]	L'ฯ',
+	[0x0dd0]	L'ะ',
+	[0x0dd1]	L'ั',
+	[0x0dd2]	L'า',
+	[0x0dd3]	L'ำ',
+	[0x0dd4]	L'ิ',
+	[0x0dd5]	L'ี',
+	[0x0dd6]	L'ึ',
+	[0x0dd7]	L'ื',
+	[0x0dd8]	L'ุ',
+	[0x0dd9]	L'ู',
+	[0x0dda]	L'ฺ',
+	[0x0dde]	L'฾',
+	[0x0ddf]	L'฿',
+	[0x0de0]	L'เ',
+	[0x0de1]	L'แ',
+	[0x0de2]	L'โ',
+	[0x0de3]	L'ใ',
+	[0x0de4]	L'ไ',
+	[0x0de5]	L'ๅ',
+	[0x0de6]	L'ๆ',
+	[0x0de7]	L'็',
+	[0x0de8]	L'่',
+	[0x0de9]	L'้',
+	[0x0dea]	L'๊',
+	[0x0deb]	L'๋',
+	[0x0dec]	L'์',
+	[0x0ded]	L'ํ',
+	[0x0df0]	L'๐',
+	[0x0df1]	L'๑',
+	[0x0df2]	L'๒',
+	[0x0df3]	L'๓',
+	[0x0df4]	L'๔',
+	[0x0df5]	L'๕',
+	[0x0df6]	L'๖',
+	[0x0df7]	L'๗',
+	[0x0df8]	L'๘',
+	[0x0df9]	L'๙',
+	[0x0ea1]	L'ㄱ',
+	[0x0ea2]	L'ㄲ',
+	[0x0ea3]	L'ㄳ',
+	[0x0ea4]	L'ㄴ',
+	[0x0ea5]	L'ㄵ',
+	[0x0ea6]	L'ㄶ',
+	[0x0ea7]	L'ㄷ',
+	[0x0ea8]	L'ㄸ',
+	[0x0ea9]	L'ㄹ',
+	[0x0eaa]	L'ㄺ',
+	[0x0eab]	L'ㄻ',
+	[0x0eac]	L'ㄼ',
+	[0x0ead]	L'ㄽ',
+	[0x0eae]	L'ㄾ',
+	[0x0eaf]	L'ㄿ',
+	[0x0eb0]	L'ㅀ',
+	[0x0eb1]	L'ㅁ',
+	[0x0eb2]	L'ㅂ',
+	[0x0eb3]	L'ㅃ',
+	[0x0eb4]	L'ㅄ',
+	[0x0eb5]	L'ㅅ',
+	[0x0eb6]	L'ㅆ',
+	[0x0eb7]	L'ㅇ',
+	[0x0eb8]	L'ㅈ',
+	[0x0eb9]	L'ㅉ',
+	[0x0eba]	L'ㅊ',
+	[0x0ebb]	L'ㅋ',
+	[0x0ebc]	L'ㅌ',
+	[0x0ebd]	L'ㅍ',
+	[0x0ebe]	L'ㅎ',
+	[0x0ebf]	L'ㅏ',
+	[0x0ec0]	L'ㅐ',
+	[0x0ec1]	L'ㅑ',
+	[0x0ec2]	L'ㅒ',
+	[0x0ec3]	L'ㅓ',
+	[0x0ec4]	L'ㅔ',
+	[0x0ec5]	L'ㅕ',
+	[0x0ec6]	L'ㅖ',
+	[0x0ec7]	L'ㅗ',
+	[0x0ec8]	L'ㅘ',
+	[0x0ec9]	L'ㅙ',
+	[0x0eca]	L'ㅚ',
+	[0x0ecb]	L'ㅛ',
+	[0x0ecc]	L'ㅜ',
+	[0x0ecd]	L'ㅝ',
+	[0x0ece]	L'ㅞ',
+	[0x0ecf]	L'ㅟ',
+	[0x0ed0]	L'ㅠ',
+	[0x0ed1]	L'ㅡ',
+	[0x0ed2]	L'ㅢ',
+	[0x0ed3]	L'ㅣ',
+	[0x0ed4]	L'ᆨ',
+	[0x0ed5]	L'ᆩ',
+	[0x0ed6]	L'ᆪ',
+	[0x0ed7]	L'ᆫ',
+	[0x0ed8]	L'ᆬ',
+	[0x0ed9]	L'ᆭ',
+	[0x0eda]	L'ᆮ',
+	[0x0edb]	L'ᆯ',
+	[0x0edc]	L'ᆰ',
+	[0x0edd]	L'ᆱ',
+	[0x0ede]	L'ᆲ',
+	[0x0edf]	L'ᆳ',
+	[0x0ee0]	L'ᆴ',
+	[0x0ee1]	L'ᆵ',
+	[0x0ee2]	L'ᆶ',
+	[0x0ee3]	L'ᆷ',
+	[0x0ee4]	L'ᆸ',
+	[0x0ee5]	L'ᆹ',
+	[0x0ee6]	L'ᆺ',
+	[0x0ee7]	L'ᆻ',
+	[0x0ee8]	L'ᆼ',
+	[0x0ee9]	L'ᆽ',
+	[0x0eea]	L'ᆾ',
+	[0x0eeb]	L'ᆿ',
+	[0x0eec]	L'ᇀ',
+	[0x0eed]	L'ᇁ',
+	[0x0eee]	L'ᇂ',
+	[0x0eef]	L'ㅭ',
+	[0x0ef0]	L'ㅱ',
+	[0x0ef1]	L'ㅸ',
+	[0x0ef2]	L'ㅿ',
+	[0x0ef4]	L'ㆄ',
+	[0x0ef5]	L'ㆆ',
+	[0x0ef6]	L'ㆍ',
+	[0x0ef7]	L'ㆎ',
+	[0x0ef8]	L'ᇫ',
+	[0x0efa]	L'ᇹ',
+	[0x0eff]	L'₩',
+	[0x13bc]	L'Œ',
+	[0x13bd]	L'œ',
+	[0x13be]	L'Ÿ',
+	[0x20a0]	L'₠',
+	[0x20a1]	L'₡',
+	[0x20a2]	L'₢',
+	[0x20a3]	L'₣',
+	[0x20a4]	L'₤',
+	[0x20a5]	L'₥',
+	[0x20a6]	L'₦',
+	[0x20a7]	L'₧',
+	[0x20a8]	L'₨',
+	[0x20a9]	L'₩',
+	[0x20aa]	L'₪',
+	[0x20ab]	L'₫',
+	[0x20ac]	L'€',
+
+};

+ 3 - 0
sys/src/cmd/vnc/mkfile

@@ -57,3 +57,6 @@ $O.vncv:	$COFILES
 
 errstr.h:	error.h
 	sed 's/extern //;s,;.*/\* (.*) \*/, = "\1";,' < error.h > errstr.h
+
+kbds.$O:	ksym2utf.h
+kbdv.$O:	utf2ksym.h

+ 759 - 0
sys/src/cmd/vnc/utf2ksym.h

@@ -0,0 +1,759 @@
+/*
+ * VNC uses X11's keysyms defined in X11/keysym.h, this is a converter
+ * from unicode characters to ksyms that other servers use.
+ */
+static ulong
+utf2ksym [] = {
+	[L'Ą']	0x01a1,
+	[L'˘']	0x01a2,
+	[L'Ł']	0x01a3,
+	[L'Ľ']	0x01a5,
+	[L'Ś']	0x01a6,
+	[L'Š']	0x01a9,
+	[L'Ş']	0x01aa,
+	[L'Ť']	0x01ab,
+	[L'Ź']	0x01ac,
+	[L'Ž']	0x01ae,
+	[L'Ż']	0x01af,
+	[L'ą']	0x01b1,
+	[L'˛']	0x01b2,
+	[L'ł']	0x01b3,
+	[L'ľ']	0x01b5,
+	[L'ś']	0x01b6,
+	[L'ˇ']	0x01b7,
+	[L'š']	0x01b9,
+	[L'ş']	0x01ba,
+	[L'ť']	0x01bb,
+	[L'ź']	0x01bc,
+	[L'˝']	0x01bd,
+	[L'ž']	0x01be,
+	[L'ż']	0x01bf,
+	[L'Ŕ']	0x01c0,
+	[L'Ă']	0x01c3,
+	[L'Ĺ']	0x01c5,
+	[L'Ć']	0x01c6,
+	[L'Č']	0x01c8,
+	[L'Ę']	0x01ca,
+	[L'Ě']	0x01cc,
+	[L'Ď']	0x01cf,
+	[L'Đ']	0x01d0,
+	[L'Ń']	0x01d1,
+	[L'Ň']	0x01d2,
+	[L'Ő']	0x01d5,
+	[L'Ř']	0x01d8,
+	[L'Ů']	0x01d9,
+	[L'Ű']	0x01db,
+	[L'Ţ']	0x01de,
+	[L'ŕ']	0x01e0,
+	[L'ă']	0x01e3,
+	[L'ĺ']	0x01e5,
+	[L'ć']	0x01e6,
+	[L'č']	0x01e8,
+	[L'ę']	0x01ea,
+	[L'ě']	0x01ec,
+	[L'ď']	0x01ef,
+	[L'đ']	0x01f0,
+	[L'ń']	0x01f1,
+	[L'ň']	0x01f2,
+	[L'ő']	0x01f5,
+	[L'ř']	0x01f8,
+	[L'ů']	0x01f9,
+	[L'ű']	0x01fb,
+	[L'ţ']	0x01fe,
+	[L'˙']	0x01ff,
+	[L'Ħ']	0x02a1,
+	[L'Ĥ']	0x02a6,
+	[L'İ']	0x02a9,
+	[L'Ğ']	0x02ab,
+	[L'Ĵ']	0x02ac,
+	[L'ħ']	0x02b1,
+	[L'ĥ']	0x02b6,
+	[L'ı']	0x02b9,
+	[L'ğ']	0x02bb,
+	[L'ĵ']	0x02bc,
+	[L'Ċ']	0x02c5,
+	[L'Ĉ']	0x02c6,
+	[L'Ġ']	0x02d5,
+	[L'Ĝ']	0x02d8,
+	[L'Ŭ']	0x02dd,
+	[L'Ŝ']	0x02de,
+	[L'ċ']	0x02e5,
+	[L'ĉ']	0x02e6,
+	[L'ġ']	0x02f5,
+	[L'ĝ']	0x02f8,
+	[L'ŭ']	0x02fd,
+	[L'ŝ']	0x02fe,
+	[L'ĸ']	0x03a2,
+	[L'Ŗ']	0x03a3,
+	[L'Ĩ']	0x03a5,
+	[L'Ļ']	0x03a6,
+	[L'Ē']	0x03aa,
+	[L'Ģ']	0x03ab,
+	[L'Ŧ']	0x03ac,
+	[L'ŗ']	0x03b3,
+	[L'ĩ']	0x03b5,
+	[L'ļ']	0x03b6,
+	[L'ē']	0x03ba,
+	[L'ģ']	0x03bb,
+	[L'ŧ']	0x03bc,
+	[L'Ŋ']	0x03bd,
+	[L'ŋ']	0x03bf,
+	[L'Ā']	0x03c0,
+	[L'Į']	0x03c7,
+	[L'Ė']	0x03cc,
+	[L'Ī']	0x03cf,
+	[L'Ņ']	0x03d1,
+	[L'Ō']	0x03d2,
+	[L'Ķ']	0x03d3,
+	[L'Ų']	0x03d9,
+	[L'Ũ']	0x03dd,
+	[L'Ū']	0x03de,
+	[L'ā']	0x03e0,
+	[L'į']	0x03e7,
+	[L'ė']	0x03ec,
+	[L'ī']	0x03ef,
+	[L'ņ']	0x03f1,
+	[L'ō']	0x03f2,
+	[L'ķ']	0x03f3,
+	[L'ų']	0x03f9,
+	[L'ũ']	0x03fd,
+	[L'ū']	0x03fe,
+	[L'‾']	0x047e,
+	[L'。']	0x04a1,
+	[L'「']	0x04a2,
+	[L'」']	0x04a3,
+	[L'、']	0x04a4,
+	[L'・']	0x04a5,
+	[L'ヲ']	0x04a6,
+	[L'ァ']	0x04a7,
+	[L'ィ']	0x04a8,
+	[L'ゥ']	0x04a9,
+	[L'ェ']	0x04aa,
+	[L'ォ']	0x04ab,
+	[L'ャ']	0x04ac,
+	[L'ュ']	0x04ad,
+	[L'ョ']	0x04ae,
+	[L'ッ']	0x04af,
+	[L'ー']	0x04b0,
+	[L'ア']	0x04b1,
+	[L'イ']	0x04b2,
+	[L'ウ']	0x04b3,
+	[L'エ']	0x04b4,
+	[L'オ']	0x04b5,
+	[L'カ']	0x04b6,
+	[L'キ']	0x04b7,
+	[L'ク']	0x04b8,
+	[L'ケ']	0x04b9,
+	[L'コ']	0x04ba,
+	[L'サ']	0x04bb,
+	[L'シ']	0x04bc,
+	[L'ス']	0x04bd,
+	[L'セ']	0x04be,
+	[L'ソ']	0x04bf,
+	[L'タ']	0x04c0,
+	[L'チ']	0x04c1,
+	[L'ツ']	0x04c2,
+	[L'テ']	0x04c3,
+	[L'ト']	0x04c4,
+	[L'ナ']	0x04c5,
+	[L'ニ']	0x04c6,
+	[L'ヌ']	0x04c7,
+	[L'ネ']	0x04c8,
+	[L'ノ']	0x04c9,
+	[L'ハ']	0x04ca,
+	[L'ヒ']	0x04cb,
+	[L'フ']	0x04cc,
+	[L'ヘ']	0x04cd,
+	[L'ホ']	0x04ce,
+	[L'マ']	0x04cf,
+	[L'ミ']	0x04d0,
+	[L'ム']	0x04d1,
+	[L'メ']	0x04d2,
+	[L'モ']	0x04d3,
+	[L'ヤ']	0x04d4,
+	[L'ユ']	0x04d5,
+	[L'ヨ']	0x04d6,
+	[L'ラ']	0x04d7,
+	[L'リ']	0x04d8,
+	[L'ル']	0x04d9,
+	[L'レ']	0x04da,
+	[L'ロ']	0x04db,
+	[L'ワ']	0x04dc,
+	[L'ン']	0x04dd,
+	[L'゛']	0x04de,
+	[L'゜']	0x04df,
+	[L'،']	0x05ac,
+	[L'؛']	0x05bb,
+	[L'؟']	0x05bf,
+	[L'ء']	0x05c1,
+	[L'آ']	0x05c2,
+	[L'أ']	0x05c3,
+	[L'ؤ']	0x05c4,
+	[L'إ']	0x05c5,
+	[L'ئ']	0x05c6,
+	[L'ا']	0x05c7,
+	[L'ب']	0x05c8,
+	[L'ة']	0x05c9,
+	[L'ت']	0x05ca,
+	[L'ث']	0x05cb,
+	[L'ج']	0x05cc,
+	[L'ح']	0x05cd,
+	[L'خ']	0x05ce,
+	[L'د']	0x05cf,
+	[L'ذ']	0x05d0,
+	[L'ر']	0x05d1,
+	[L'ز']	0x05d2,
+	[L'س']	0x05d3,
+	[L'ش']	0x05d4,
+	[L'ص']	0x05d5,
+	[L'ض']	0x05d6,
+	[L'ط']	0x05d7,
+	[L'ظ']	0x05d8,
+	[L'ع']	0x05d9,
+	[L'غ']	0x05da,
+	[L'ـ']	0x05e0,
+	[L'ف']	0x05e1,
+	[L'ق']	0x05e2,
+	[L'ك']	0x05e3,
+	[L'ل']	0x05e4,
+	[L'م']	0x05e5,
+	[L'ن']	0x05e6,
+	[L'ه']	0x05e7,
+	[L'و']	0x05e8,
+	[L'ى']	0x05e9,
+	[L'ي']	0x05ea,
+	[L'ً']	0x05eb,
+	[L'ٌ']	0x05ec,
+	[L'ٍ']	0x05ed,
+	[L'َ']	0x05ee,
+	[L'ُ']	0x05ef,
+	[L'ِ']	0x05f0,
+	[L'ّ']	0x05f1,
+	[L'ْ']	0x05f2,
+	[L'ђ']	0x06a1,
+	[L'ѓ']	0x06a2,
+	[L'ё']	0x06a3,
+	[L'є']	0x06a4,
+	[L'ѕ']	0x06a5,
+	[L'і']	0x06a6,
+	[L'ї']	0x06a7,
+	[L'ј']	0x06a8,
+	[L'љ']	0x06a9,
+	[L'њ']	0x06aa,
+	[L'ћ']	0x06ab,
+	[L'ќ']	0x06ac,
+	[L'ў']	0x06ae,
+	[L'џ']	0x06af,
+	[L'№']	0x06b0,
+	[L'Ђ']	0x06b1,
+	[L'Ѓ']	0x06b2,
+	[L'Ё']	0x06b3,
+	[L'Є']	0x06b4,
+	[L'Ѕ']	0x06b5,
+	[L'І']	0x06b6,
+	[L'Ї']	0x06b7,
+	[L'Ј']	0x06b8,
+	[L'Љ']	0x06b9,
+	[L'Њ']	0x06ba,
+	[L'Ћ']	0x06bb,
+	[L'Ќ']	0x06bc,
+	[L'Ў']	0x06be,
+	[L'Џ']	0x06bf,
+	[L'ю']	0x06c0,
+	[L'а']	0x06c1,
+	[L'б']	0x06c2,
+	[L'ц']	0x06c3,
+	[L'д']	0x06c4,
+	[L'е']	0x06c5,
+	[L'ф']	0x06c6,
+	[L'г']	0x06c7,
+	[L'х']	0x06c8,
+	[L'и']	0x06c9,
+	[L'й']	0x06ca,
+	[L'к']	0x06cb,
+	[L'л']	0x06cc,
+	[L'м']	0x06cd,
+	[L'н']	0x06ce,
+	[L'о']	0x06cf,
+	[L'п']	0x06d0,
+	[L'я']	0x06d1,
+	[L'р']	0x06d2,
+	[L'с']	0x06d3,
+	[L'т']	0x06d4,
+	[L'у']	0x06d5,
+	[L'ж']	0x06d6,
+	[L'в']	0x06d7,
+	[L'ь']	0x06d8,
+	[L'ы']	0x06d9,
+	[L'з']	0x06da,
+	[L'ш']	0x06db,
+	[L'э']	0x06dc,
+	[L'щ']	0x06dd,
+	[L'ч']	0x06de,
+	[L'ъ']	0x06df,
+	[L'Ю']	0x06e0,
+	[L'А']	0x06e1,
+	[L'Б']	0x06e2,
+	[L'Ц']	0x06e3,
+	[L'Д']	0x06e4,
+	[L'Е']	0x06e5,
+	[L'Ф']	0x06e6,
+	[L'Г']	0x06e7,
+	[L'Х']	0x06e8,
+	[L'И']	0x06e9,
+	[L'Й']	0x06ea,
+	[L'К']	0x06eb,
+	[L'Л']	0x06ec,
+	[L'М']	0x06ed,
+	[L'Н']	0x06ee,
+	[L'О']	0x06ef,
+	[L'П']	0x06f0,
+	[L'Я']	0x06f1,
+	[L'Р']	0x06f2,
+	[L'С']	0x06f3,
+	[L'Т']	0x06f4,
+	[L'У']	0x06f5,
+	[L'Ж']	0x06f6,
+	[L'В']	0x06f7,
+	[L'Ь']	0x06f8,
+	[L'Ы']	0x06f9,
+	[L'З']	0x06fa,
+	[L'Ш']	0x06fb,
+	[L'Э']	0x06fc,
+	[L'Щ']	0x06fd,
+	[L'Ч']	0x06fe,
+	[L'Ъ']	0x06ff,
+	[L'Ά']	0x07a1,
+	[L'Έ']	0x07a2,
+	[L'Ή']	0x07a3,
+	[L'Ί']	0x07a4,
+	[L'Ϊ']	0x07a5,
+	[L'Ό']	0x07a7,
+	[L'Ύ']	0x07a8,
+	[L'Ϋ']	0x07a9,
+	[L'Ώ']	0x07ab,
+	[L'΅']	0x07ae,
+	[L'―']	0x07af,
+	[L'ά']	0x07b1,
+	[L'έ']	0x07b2,
+	[L'ή']	0x07b3,
+	[L'ί']	0x07b4,
+	[L'ϊ']	0x07b5,
+	[L'ΐ']	0x07b6,
+	[L'ό']	0x07b7,
+	[L'ύ']	0x07b8,
+	[L'ϋ']	0x07b9,
+	[L'ΰ']	0x07ba,
+	[L'ώ']	0x07bb,
+	[L'Α']	0x07c1,
+	[L'Β']	0x07c2,
+	[L'Γ']	0x07c3,
+	[L'Δ']	0x07c4,
+	[L'Ε']	0x07c5,
+	[L'Ζ']	0x07c6,
+	[L'Η']	0x07c7,
+	[L'Θ']	0x07c8,
+	[L'Ι']	0x07c9,
+	[L'Κ']	0x07ca,
+	[L'Λ']	0x07cb,
+	[L'Μ']	0x07cc,
+	[L'Ν']	0x07cd,
+	[L'Ξ']	0x07ce,
+	[L'Ο']	0x07cf,
+	[L'Π']	0x07d0,
+	[L'Ρ']	0x07d1,
+	[L'Σ']	0x07d2,
+	[L'Τ']	0x07d4,
+	[L'Υ']	0x07d5,
+	[L'Φ']	0x07d6,
+	[L'Χ']	0x07d7,
+	[L'Ψ']	0x07d8,
+	[L'Ω']	0x07d9,
+	[L'α']	0x07e1,
+	[L'β']	0x07e2,
+	[L'γ']	0x07e3,
+	[L'δ']	0x07e4,
+	[L'ε']	0x07e5,
+	[L'ζ']	0x07e6,
+	[L'η']	0x07e7,
+	[L'θ']	0x07e8,
+	[L'ι']	0x07e9,
+	[L'κ']	0x07ea,
+	[L'λ']	0x07eb,
+	[L'μ']	0x07ec,
+	[L'ν']	0x07ed,
+	[L'ξ']	0x07ee,
+	[L'ο']	0x07ef,
+	[L'π']	0x07f0,
+	[L'ρ']	0x07f1,
+	[L'σ']	0x07f2,
+	[L'ς']	0x07f3,
+	[L'τ']	0x07f4,
+	[L'υ']	0x07f5,
+	[L'φ']	0x07f6,
+	[L'χ']	0x07f7,
+	[L'ψ']	0x07f8,
+	[L'ω']	0x07f9,
+	[L'⌠']	0x08a4,
+	[L'⌡']	0x08a5,
+	[L'│']	0x08a6,
+	[L'≤']	0x08bc,
+	[L'≠']	0x08bd,
+	[L'≥']	0x08be,
+	[L'∫']	0x08bf,
+	[L'∴']	0x08c0,
+	[L'∝']	0x08c1,
+	[L'∞']	0x08c2,
+	[L'∇']	0x08c5,
+	[L'≅']	0x08c8,
+	[L'⇔']	0x08cd,
+	[L'⇒']	0x08ce,
+	[L'≡']	0x08cf,
+	[L'√']	0x08d6,
+	[L'⊂']	0x08da,
+	[L'⊃']	0x08db,
+	[L'∩']	0x08dc,
+	[L'∪']	0x08dd,
+	[L'∧']	0x08de,
+	[L'∨']	0x08df,
+	[L'∂']	0x08ef,
+	[L'ƒ']	0x08f6,
+	[L'←']	0x08fb,
+	[L'↑']	0x08fc,
+	[L'→']	0x08fd,
+	[L'↓']	0x08fe,
+	[L'␢']	0x09df,
+	[L'◆']	0x09e0,
+	[L'▒']	0x09e1,
+	[L'␉']	0x09e2,
+	[L'␌']	0x09e3,
+	[L'␍']	0x09e4,
+	[L'␊']	0x09e5,
+	[L'␤']	0x09e8,
+	[L'␋']	0x09e9,
+	[L'┘']	0x09ea,
+	[L'┐']	0x09eb,
+	[L'┌']	0x09ec,
+	[L'└']	0x09ed,
+	[L'┼']	0x09ee,
+	[L'─']	0x09f1,
+	[L'├']	0x09f4,
+	[L'┤']	0x09f5,
+	[L'┴']	0x09f6,
+	[L'┬']	0x09f7,
+/* 	[L'│']	0x09f8, andrey: already mapped */
+	[L' ']	0x0aa1,
+	[L' ']	0x0aa2,
+	[L' ']	0x0aa3,
+	[L' ']	0x0aa4,
+	[L' ']	0x0aa5,
+	[L' ']	0x0aa6,
+	[L' ']	0x0aa7,
+	[L' ']	0x0aa8,
+	[L'—']	0x0aa9,
+	[L'–']	0x0aaa,
+	[L'…']	0x0aae,
+	[L'⅓']	0x0ab0,
+	[L'⅔']	0x0ab1,
+	[L'⅕']	0x0ab2,
+	[L'⅖']	0x0ab3,
+	[L'⅗']	0x0ab4,
+	[L'⅘']	0x0ab5,
+	[L'⅙']	0x0ab6,
+	[L'⅚']	0x0ab7,
+	[L'℅']	0x0ab8,
+	[L'‒']	0x0abb,
+	[L'〈']	0x0abc,
+	[L'.']	0x0abd,
+	[L'〉']	0x0abe,
+	[L'⅛']	0x0ac3,
+	[L'⅜']	0x0ac4,
+	[L'⅝']	0x0ac5,
+	[L'⅞']	0x0ac6,
+	[L'™']	0x0ac9,
+	[L'☓']	0x0aca,
+	[L'◁']	0x0acc,
+	[L'▷']	0x0acd,
+	[L'○']	0x0ace,
+	[L'□']	0x0acf,
+	[L'‘']	0x0ad0,
+	[L'’']	0x0ad1,
+	[L'“']	0x0ad2,
+	[L'”']	0x0ad3,
+	[L'℞']	0x0ad4,
+	[L'′']	0x0ad6,
+	[L'″']	0x0ad7,
+	[L'✝']	0x0ad9,
+	[L'▬']	0x0adb,
+	[L'◀']	0x0adc,
+	[L'▶']	0x0add,
+	[L'●']	0x0ade,
+	[L'■']	0x0adf,
+	[L'◦']	0x0ae0,
+	[L'▫']	0x0ae1,
+	[L'▭']	0x0ae2,
+	[L'△']	0x0ae3,
+	[L'▽']	0x0ae4,
+	[L'☆']	0x0ae5,
+	[L'•']	0x0ae6,
+	[L'▪']	0x0ae7,
+	[L'▲']	0x0ae8,
+	[L'▼']	0x0ae9,
+	[L'☜']	0x0aea,
+	[L'☞']	0x0aeb,
+	[L'♣']	0x0aec,
+	[L'♦']	0x0aed,
+	[L'♥']	0x0aee,
+	[L'✠']	0x0af0,
+	[L'†']	0x0af1,
+	[L'‡']	0x0af2,
+	[L'✓']	0x0af3,
+	[L'✗']	0x0af4,
+	[L'♯']	0x0af5,
+	[L'♭']	0x0af6,
+	[L'♂']	0x0af7,
+	[L'♀']	0x0af8,
+	[L'☎']	0x0af9,
+	[L'⌕']	0x0afa,
+	[L'℗']	0x0afb,
+	[L'‸']	0x0afc,
+	[L'‚']	0x0afd,
+	[L'„']	0x0afe,
+	[L'<']	0x0ba3,
+	[L'>']	0x0ba6,
+/*	[L'∨']	0x0ba8,		andrey: mapped earlier */
+/*	[L'∧']	0x0ba9,		andrey: mapped earlier */
+	[L'¯']	0x0bc0,
+	[L'⊤']	0x0bc2,
+/*	[L'∩']	0x0bc3,		andrey: mapped earlier */
+	[L'⌊']	0x0bc4,
+	[L'_']	0x0bc6,
+	[L'∘']	0x0bca,
+	[L'⎕']	0x0bcc,
+	[L'⊥']	0x0bce,
+/*	[L'○']	0x0bcf,		andrey: mapped earlier */
+	[L'⌈']	0x0bd3,
+/*	[L'∪']	0x0bd6,		andrey: mapped earlier */
+/*	[L'⊃']	0x0bd8,		andrey: mapped earlier */
+/*	[L'⊂']	0x0bda,		andrey: mapped earlier */
+	[L'⊣']	0x0bdc,
+	[L'⊢']	0x0bfc,
+	[L'‗']	0x0cdf,
+	[L'א']	0x0ce0,
+	[L'ב']	0x0ce1,
+	[L'ג']	0x0ce2,
+	[L'ד']	0x0ce3,
+	[L'ה']	0x0ce4,
+	[L'ו']	0x0ce5,
+	[L'ז']	0x0ce6,
+	[L'ח']	0x0ce7,
+	[L'ט']	0x0ce8,
+	[L'י']	0x0ce9,
+	[L'ך']	0x0cea,
+	[L'כ']	0x0ceb,
+	[L'ל']	0x0cec,
+	[L'ם']	0x0ced,
+	[L'מ']	0x0cee,
+	[L'ן']	0x0cef,
+	[L'נ']	0x0cf0,
+	[L'ס']	0x0cf1,
+	[L'ע']	0x0cf2,
+	[L'ף']	0x0cf3,
+	[L'פ']	0x0cf4,
+	[L'ץ']	0x0cf5,
+	[L'צ']	0x0cf6,
+	[L'ק']	0x0cf7,
+	[L'ר']	0x0cf8,
+	[L'ש']	0x0cf9,
+	[L'ת']	0x0cfa,
+	[L'ก']	0x0da1,
+	[L'ข']	0x0da2,
+	[L'ฃ']	0x0da3,
+	[L'ค']	0x0da4,
+	[L'ฅ']	0x0da5,
+	[L'ฆ']	0x0da6,
+	[L'ง']	0x0da7,
+	[L'จ']	0x0da8,
+	[L'ฉ']	0x0da9,
+	[L'ช']	0x0daa,
+	[L'ซ']	0x0dab,
+	[L'ฌ']	0x0dac,
+	[L'ญ']	0x0dad,
+	[L'ฎ']	0x0dae,
+	[L'ฏ']	0x0daf,
+	[L'ฐ']	0x0db0,
+	[L'ฑ']	0x0db1,
+	[L'ฒ']	0x0db2,
+	[L'ณ']	0x0db3,
+	[L'ด']	0x0db4,
+	[L'ต']	0x0db5,
+	[L'ถ']	0x0db6,
+	[L'ท']	0x0db7,
+	[L'ธ']	0x0db8,
+	[L'น']	0x0db9,
+	[L'บ']	0x0dba,
+	[L'ป']	0x0dbb,
+	[L'ผ']	0x0dbc,
+	[L'ฝ']	0x0dbd,
+	[L'พ']	0x0dbe,
+	[L'ฟ']	0x0dbf,
+	[L'ภ']	0x0dc0,
+	[L'ม']	0x0dc1,
+	[L'ย']	0x0dc2,
+	[L'ร']	0x0dc3,
+	[L'ฤ']	0x0dc4,
+	[L'ล']	0x0dc5,
+	[L'ฦ']	0x0dc6,
+	[L'ว']	0x0dc7,
+	[L'ศ']	0x0dc8,
+	[L'ษ']	0x0dc9,
+	[L'ส']	0x0dca,
+	[L'ห']	0x0dcb,
+	[L'ฬ']	0x0dcc,
+	[L'อ']	0x0dcd,
+	[L'ฮ']	0x0dce,
+	[L'ฯ']	0x0dcf,
+	[L'ะ']	0x0dd0,
+	[L'ั']	0x0dd1,
+	[L'า']	0x0dd2,
+	[L'ำ']	0x0dd3,
+	[L'ิ']	0x0dd4,
+	[L'ี']	0x0dd5,
+	[L'ึ']	0x0dd6,
+	[L'ื']	0x0dd7,
+	[L'ุ']	0x0dd8,
+	[L'ู']	0x0dd9,
+	[L'ฺ']	0x0dda,
+	[L'฾']	0x0dde,
+	[L'฿']	0x0ddf,
+	[L'เ']	0x0de0,
+	[L'แ']	0x0de1,
+	[L'โ']	0x0de2,
+	[L'ใ']	0x0de3,
+	[L'ไ']	0x0de4,
+	[L'ๅ']	0x0de5,
+	[L'ๆ']	0x0de6,
+	[L'็']	0x0de7,
+	[L'่']	0x0de8,
+	[L'้']	0x0de9,
+	[L'๊']	0x0dea,
+	[L'๋']	0x0deb,
+	[L'์']	0x0dec,
+	[L'ํ']	0x0ded,
+	[L'๐']	0x0df0,
+	[L'๑']	0x0df1,
+	[L'๒']	0x0df2,
+	[L'๓']	0x0df3,
+	[L'๔']	0x0df4,
+	[L'๕']	0x0df5,
+	[L'๖']	0x0df6,
+	[L'๗']	0x0df7,
+	[L'๘']	0x0df8,
+	[L'๙']	0x0df9,
+	[L'ㄱ']	0x0ea1,
+	[L'ㄲ']	0x0ea2,
+	[L'ㄳ']	0x0ea3,
+	[L'ㄴ']	0x0ea4,
+	[L'ㄵ']	0x0ea5,
+	[L'ㄶ']	0x0ea6,
+	[L'ㄷ']	0x0ea7,
+	[L'ㄸ']	0x0ea8,
+	[L'ㄹ']	0x0ea9,
+	[L'ㄺ']	0x0eaa,
+	[L'ㄻ']	0x0eab,
+	[L'ㄼ']	0x0eac,
+	[L'ㄽ']	0x0ead,
+	[L'ㄾ']	0x0eae,
+	[L'ㄿ']	0x0eaf,
+	[L'ㅀ']	0x0eb0,
+	[L'ㅁ']	0x0eb1,
+	[L'ㅂ']	0x0eb2,
+	[L'ㅃ']	0x0eb3,
+	[L'ㅄ']	0x0eb4,
+	[L'ㅅ']	0x0eb5,
+	[L'ㅆ']	0x0eb6,
+	[L'ㅇ']	0x0eb7,
+	[L'ㅈ']	0x0eb8,
+	[L'ㅉ']	0x0eb9,
+	[L'ㅊ']	0x0eba,
+	[L'ㅋ']	0x0ebb,
+	[L'ㅌ']	0x0ebc,
+	[L'ㅍ']	0x0ebd,
+	[L'ㅎ']	0x0ebe,
+	[L'ㅏ']	0x0ebf,
+	[L'ㅐ']	0x0ec0,
+	[L'ㅑ']	0x0ec1,
+	[L'ㅒ']	0x0ec2,
+	[L'ㅓ']	0x0ec3,
+	[L'ㅔ']	0x0ec4,
+	[L'ㅕ']	0x0ec5,
+	[L'ㅖ']	0x0ec6,
+	[L'ㅗ']	0x0ec7,
+	[L'ㅘ']	0x0ec8,
+	[L'ㅙ']	0x0ec9,
+	[L'ㅚ']	0x0eca,
+	[L'ㅛ']	0x0ecb,
+	[L'ㅜ']	0x0ecc,
+	[L'ㅝ']	0x0ecd,
+	[L'ㅞ']	0x0ece,
+	[L'ㅟ']	0x0ecf,
+	[L'ㅠ']	0x0ed0,
+	[L'ㅡ']	0x0ed1,
+	[L'ㅢ']	0x0ed2,
+	[L'ㅣ']	0x0ed3,
+	[L'ᆨ']	0x0ed4,
+	[L'ᆩ']	0x0ed5,
+	[L'ᆪ']	0x0ed6,
+	[L'ᆫ']	0x0ed7,
+	[L'ᆬ']	0x0ed8,
+	[L'ᆭ']	0x0ed9,
+	[L'ᆮ']	0x0eda,
+	[L'ᆯ']	0x0edb,
+	[L'ᆰ']	0x0edc,
+	[L'ᆱ']	0x0edd,
+	[L'ᆲ']	0x0ede,
+	[L'ᆳ']	0x0edf,
+	[L'ᆴ']	0x0ee0,
+	[L'ᆵ']	0x0ee1,
+	[L'ᆶ']	0x0ee2,
+	[L'ᆷ']	0x0ee3,
+	[L'ᆸ']	0x0ee4,
+	[L'ᆹ']	0x0ee5,
+	[L'ᆺ']	0x0ee6,
+	[L'ᆻ']	0x0ee7,
+	[L'ᆼ']	0x0ee8,
+	[L'ᆽ']	0x0ee9,
+	[L'ᆾ']	0x0eea,
+	[L'ᆿ']	0x0eeb,
+	[L'ᇀ']	0x0eec,
+	[L'ᇁ']	0x0eed,
+	[L'ᇂ']	0x0eee,
+	[L'ㅭ']	0x0eef,
+	[L'ㅱ']	0x0ef0,
+	[L'ㅸ']	0x0ef1,
+	[L'ㅿ']	0x0ef2,
+	[L'ㆄ']	0x0ef4,
+	[L'ㆆ']	0x0ef5,
+	[L'ㆍ']	0x0ef6,
+	[L'ㆎ']	0x0ef7,
+	[L'ᇫ']	0x0ef8,
+	[L'ᇹ']	0x0efa,
+	[L'₩']	0x0eff,
+	[L'Œ']	0x13bc,
+	[L'œ']	0x13bd,
+	[L'Ÿ']	0x13be,
+	[L'₠']	0x20a0,
+	[L'₡']	0x20a1,
+	[L'₢']	0x20a2,
+	[L'₣']	0x20a3,
+	[L'₤']	0x20a4,
+	[L'₥']	0x20a5,
+	[L'₦']	0x20a6,
+	[L'₧']	0x20a7,
+	[L'₨']	0x20a8,
+/*	[L'₩']	0x20a9,		andrey: mapped earlier */
+	[L'₪']	0x20aa,
+	[L'₫']	0x20ab,
+	[L'€']	0x20ac,
+
+};

+ 6 - 1
sys/src/cmd/vnc/vncv.c

@@ -79,7 +79,7 @@ usage(void)
 void
 main(int argc, char **argv)
 {
-	int p, dfd, cfd, shared;
+	int p, fd, dfd, cfd, shared;
 	char *addr;
 	Point d;
 	TLSconn conn;
@@ -168,6 +168,11 @@ main(int argc, char **argv)
 	}
 	pids[2] = p;
 
+	fd = open("/dev/label", OWRITE);
+	if(fd >= 0){
+		fprint(fd, "vnc %s", serveraddr);
+		close(fd);
+	}
 	if(access("/dev/snarf", AEXIST) >= 0){
 		switch(p = rfork(RFPROC|RFMEM)){
 		case -1: