1.10
diff --git a/CHANGES b/CHANGES
index 019f6ea..acf214d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,28 @@
+Changes for 1.10
+
+o Programs:
+  - openvt: new -e option (damjan@legolas)
+  - Makefiles: DESTDIR handling improved
+o Keymaps:
+  - New bg-cp1251.map (Dimitar Zhekov)
+  - New bg_bds-cp1251.map, bg_pho-cp1251.map (Peter Georgiev)
+  - New bg_bds-utf8.map, bg_pho-utf8.map (Peter Georgiev)
+  - Renamed bg.map to bg-cp855.map
+  Probably one of bg-cp1251.map and bg_pho-cp1251.map should be deleted.
+  Can some Bulgarian tell me which one?
+o Fonts:
+  - Added greek-polytonic.psfu (mpGr.psf, from Lefteris Dimitroulakis)
+o New translations: cs.po, es.po, gr.po
+
+Changes for 1.09
+
+o Programs, docs:
+  - update for Linux 2.6.1, with PIO_UNIMAP for non-fg consoles
+  - update for Linux 2.5.42: NR_KEYS=256
+o Keymaps:
+  - small fix for nl.map
+o New translations: pl.po, ro.po
+
 Changes for 1.08
 
 o Programs:
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..c2c292f
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,2 @@
+all:
+	@echo "Please run ./configure first"
diff --git a/Makefile.in b/Makefile.in
index b9dcbfb..3cb5a57 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,10 +1,13 @@
 # Note: BINDIR, DATA_DIR, and DESTDIR also occur in src/Makefile.
-DESTDIR = @prefix@
+# Note: The binaries, manpages, data files and messages will eventually be
+#       installed under @prefix@/bin, @mandir@, @datadir@ and @prefix@/share,
+#       respectively; these locations are all prefixed with $(DESTDIR)
+#       which can be used, e.g. to build a binary package.
 DATA_DIR = @datadir@
 MAN_DIR = @mandir@
-BINDIR  = $(DESTDIR)/bin
-MANDIR  = $(MAN_DIR)
-DATADIR = $(DATA_DIR)
+BINDIR  = $(DESTDIR)@prefix@/bin
+DATADIR = $(DESTDIR)/$(DATA_DIR)
+MANDIR  = $(DESTDIR)/$(MAN_DIR)
 # If you change the names of any of the following subdirs,
 # also change paths.h.
 OLDKEYMAPDIR = keytables
@@ -24,6 +27,7 @@
 
 all:
 	for i in $(SUBDIRS) data; do $(MAKE) -C $$i all || exit 1; done
+	@echo
 	@echo "Done. You can now do  make install"
 
 install:	install-progs install-data install-man
@@ -46,4 +50,4 @@
 	find . -name "*~" -exec rm {} ";"
 	for i in $(SUBDIRS); do $(MAKE) -C $$i distclean || exit 1; done
 	rm -f Makefile src/Makefile make_include defines.h
-
+	cp Makefile.x Makefile
diff --git a/Makefile.x b/Makefile.x
new file mode 100644
index 0000000..c2c292f
--- /dev/null
+++ b/Makefile.x
@@ -0,0 +1,2 @@
+all:
+	@echo "Please run ./configure first"
diff --git a/README b/README
index d5c53a5..1a40af9 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-This is kbd-1.08.tar.gz
+This is kbd-1.10.tar.gz
 
 This package contains keytable files and keyboard utilities compatible
 with kernel version 1.1.54 and later. Setfont requires 1.1.92 or later.
@@ -12,16 +12,12 @@
 "./configure", "make" and "make install".  This copies the utilities
 to /usr/bin, man pages to /usr/man/man{1,4,5,8} and data files to the
 subdirectories keymaps, unimaps, consolefonts, consoletrans and videomodes
-of the datadirectory chosen during configure, probably /usr/lib/kbd.
-
-Older versions of kbd used /usr/lib/kbd/keytables (instead of .../keymaps).
-This directory can now be removed. (Just to be sure, preserve a copy
-of your favourite keymap, for example in /usr/lib/kbd/keymaps/mykeymap.
-Note that it may be used from a script in /etc/rc.d/rc.local or so.)
+of the datadirectory chosen during configure, probably /usr/share/kbd.
 
 The home site of this package is
 	ftp://ftp.win.tue.nl/pub/linux-local/utils/kbd/
 Report problems with this package to Andries Brouwer <aeb@cwi.nl>.
 
-Oct 2002
+Jan 2004
+
 
diff --git a/configure b/configure
index a6d84f1..836d939 100755
--- a/configure
+++ b/configure
@@ -67,7 +67,7 @@
 else
     case "$datadir" in
 	/*)
-		datadir="$prefix$datadir"
+		datadir="$datadir"
 		echo "Configuring for DATADIR=$datadir"
 		;;
 	*)
@@ -86,7 +86,7 @@
 else
     case "$mandir" in
 	/*)
-		mandir="$prefix$mandir"
+		mandir="$mandir"
 		echo "Configuring for MANDIR=$mandir"
 		;;
 	*)
@@ -96,7 +96,7 @@
     esac
 fi
 
-for i in Makefile src/Makefile man/man1/dumpkeys.1 man/man1/loadkeys.1 man/man8/setfont.8 man/man8/loadunimap.8 man/man8/mapscrn.8; do
+for i in Makefile src/Makefile po/Makefile man/man1/dumpkeys.1 man/man1/loadkeys.1 man/man8/setfont.8 man/man8/loadunimap.8 man/man8/mapscrn.8; do
 	sed -e "
 s,@datadir@,$datadir,
 s,@mandir@,$mandir,
@@ -193,3 +193,6 @@
 else
 	echo "HAVE_XGETTEXT=no" >> make_include
 fi
+
+echo
+echo "Done. You can run make now."
diff --git a/data/Makefile b/data/Makefile
index d812f0c..3bafa09 100644
--- a/data/Makefile
+++ b/data/Makefile
@@ -34,7 +34,7 @@
 $(FONTDIR)_Z:
 	cp -r $(FONTDIR) $(FONTDIR)_Z
 	cp -r $(PARTIALDIR) $(PARTIALDIR)_Z
-	cd $(FONTDIR)_Z && $(MYGZIP) * && gunzip README*
+	cd $(FONTDIR)_Z && $(MYGZIP) * && gunzip ERRORS* README*
 	cd $(PARTIALDIR)_Z && $(MYGZIP) *
 # (not yet screenmaps - some other time)
 
diff --git a/data/consolefonts/greek-polytonic.psfu b/data/consolefonts/greek-polytonic.psfu
new file mode 100644
index 0000000..a666ce6
--- /dev/null
+++ b/data/consolefonts/greek-polytonic.psfu
Binary files differ
diff --git a/data/keymaps/README b/data/keymaps/README
index ccaabe3..29960d7 100644
--- a/data/keymaps/README
+++ b/data/keymaps/README
@@ -3,7 +3,7 @@
 Mail corrections, improvements and new maps to aeb@cwi.nl.
 
 If the below talks about /usr/lib/kbd, that may well be
-something like /usr/share/kbd in other distributions.
+something like /lib/kbd or /usr/share/kbd in other distributions.
 
 The old setup had a directory /usr/lib/kbd/keytables containing
 all keymaps. But this is getting messy - there are too many.
@@ -34,7 +34,7 @@
 Note that only files *.map are candidate keymaps.
 
 Andries
-
+aeb@cwi.nl
 
 
 Added in kbd-1.00: symlink ppc -> mac.
diff --git a/data/keymaps/i386/qwerty/bg-cp1251.map b/data/keymaps/i386/qwerty/bg-cp1251.map
index 9fc4019..071fadd 100644
--- a/data/keymaps/i386/qwerty/bg-cp1251.map
+++ b/data/keymaps/i386/qwerty/bg-cp1251.map
@@ -1,293 +1,349 @@
-# Bulgarian Phonetic Cyrillic code page 1251 keyboard map.
+# Bulgarian Phonetic Cyrillic code page 1251 keyboard map version 0.2.
 # Cyrillic mode is toggled by Right_Ctrl key and shifted by AltGr key.
-# Based on the default linux kernel keyboard map.   -- Dimitar Zhekov
+# Console_13...24 are invoked with Alt-Shift-F1...F12. All other AltGr
+# keys are bound to Control-Shift, except for the unbound AltGr-Minus.
+# Based on the kbd defkeymap.       -- Dimitar Zhekov <jimmy@is-vn.bg>
 
-keymaps 0-5,8,12
-
-# Change the above line into:
-#	keymaps 0-6,8,12
-# in case you want the entries:
-#	altgr   control keycode  83 = Boot            
-#	altgr   control keycode 111 = Boot            
-# below.
+keymaps 0-15
 
 strings as usual
 
-keycode   1 = Escape
-	alt     keycode   1 = Meta_Escape     
-keycode   2 = one              exclam          
-	alt     keycode   2 = Meta_one        
-keycode   3 = two              at               at              
-	control	keycode   3 = nul             
-	shift	control	keycode   3 = nul             
-	alt	keycode   3 = Meta_two        
-keycode   4 = three            numbersign      
-	control keycode   4 = Escape          
-	alt     keycode   4 = Meta_three      
-keycode   5 = four             dollar           dollar          
-	control keycode   5 = Control_backslash
-	alt     keycode   5 = Meta_four       
-keycode   6 = five             percent         
-	control keycode   6 = Control_bracketright
-	alt     keycode   6 = Meta_five       
-keycode   7 = six              asciicircum     
-	control keycode   7 = Control_asciicircum
-	alt     keycode   7 = Meta_six        
-keycode   8 = seven            ampersand        braceleft       
-	control keycode   8 = Control_underscore
-	alt     keycode   8 = Meta_seven      
-keycode   9 = eight            asterisk         bracketleft     
-	control keycode   9 = Delete          
-	alt     keycode   9 = Meta_eight      
-keycode  10 = nine             parenleft        bracketright    
-	alt     keycode  10 = Meta_nine       
-keycode  11 = zero             parenright       braceright      
-	alt     keycode  11 = Meta_zero       
-keycode  12 = minus            underscore       backslash       
-	control	keycode  12 = Control_underscore
-	shift	control	keycode  12 = Control_underscore
-	alt	keycode  12 = Meta_minus      
-keycode  13 = equal            plus            
-	alt     keycode  13 = Meta_equal      
-keycode  14 = Delete           Delete          
+keycode   1 =	Escape		Escape		Escape		Escape
+	alt	keycode   1 = Meta_Escape
+	altgr	alt	keycode   1 = Meta_Escape
+keycode   2 =	one		exclam		one		exclam         \
+		VoidSymbol	VoidSymbol	VoidSymbol	VoidSymbol     \
+		Meta_one	Meta_exclam	Meta_one	Meta_exclam
+keycode   3 =	two		at		two		at             \
+		nul		nul		nul		nul            \
+		Meta_two	Meta_at		Meta_two	Meta_at
+keycode   4 =	three		numbersign	three		numbersign     \
+		Escape		VoidSymbol	Escape		VoidSymbol     \
+		Meta_three	Meta_numbersign	Meta_three	Meta_numbersign
+keycode   5 =	four		dollar		four		dollar         \
+		Control_backslash    dollar	Control_backslash    dollar    \
+		Meta_four	Meta_dollar	Meta_four	Meta_dollar
+keycode   6 =	five		percent		five		percent        \
+		Control_bracketright VoidSymbol	Control_bracketright VoidSymbol\
+		Meta_five	Meta_percent	Meta_five	Meta_percent
+keycode   7 =	six		asciicircum	six		asciicircum    \
+		Control_asciicircum VoidSymbol	Control_asciicircum VoidSymbol \
+		Meta_six      Meta_asciicircum	Meta_six      Meta_asciicircum
+keycode   8 =	seven		ampersand	seven		ampersand      \
+		Control_underscore  braceleft	Control_underscore  braceleft  \
+		Meta_seven	Meta_ampersand	Meta_seven	Meta_ampersand
+keycode   9 =	eight		asterisk	eight		asterisk       \
+		Delete		bracketleft	Delete		bracketleft    \
+		Meta_eight	Meta_asterisk	Meta_eight	Meta_asterisk
+keycode  10 =	nine		parenleft	nine		parenleft      \
+		VoidSymbol	bracketright	VoidSymbol	bracketright   \
+		Meta_nine	Meta_parenleft	Meta_nine	Meta_parenleft
+keycode  11 =	zero		parenright	zero		parenright     \
+		VoidSymbol	braceright	VoidSymbol	braceright     \
+		Meta_zero	Meta_parenright	Meta_zero	Meta_parenright
+keycode  12 =	minus		underscore	minus		underscore     \
+    Control_underscore Control_underscore Control_underscore Control_underscore\
+		Meta_minus	Meta_underscore	Meta_minus	Meta_underscore
+keycode  13 =	equal		plus		equal		plus           \
+		VoidSymbol	VoidSymbol	VoidSymbol	VoidSymbol     \
+		Meta_equal	Meta_plus	Meta_equal	Meta_plus
+keycode  14 =	Delete		Delete		Delete		Delete
 	control keycode  14 = BackSpace
-	alt     keycode  14 = Meta_Delete     
-keycode  15 = Tab
-	alt     keycode  15 = Meta_Tab        
-keycode  16 = q			Q		+255	+223	Control_q
-	alt	keycode  16 = Meta_q
-	control alt	keycode 16 = Meta_Control_q
-keycode  17 = w			W		+226	+194	Control_w
-	alt	keycode  17 = Meta_w
-	control alt	keycode  17 = Meta_Control_w
-keycode  18 = e			E		+229	+197	Control_e
-	alt	keycode  18 = Meta_e
-	control alt	keycode  18 = Meta_Control_e
-keycode  19 = r			R		+240	+208	Control_r
-	alt	keycode  19 = Meta_r
-	control alt	keycode  19 = Meta_Control_r
-keycode  20 = t			T		+242	+210	Control_t
-	alt	keycode  20 = Meta_t
-	control alt	keycode  20 = Meta_Control_t
-keycode  21 = y			Y		+250	+218	Control_y
-	alt	keycode  21 = Meta_y
-	control alt	keycode  21 = Meta_Control_y
-keycode  22 = u			U		+243	+211	Control_u
-	alt	keycode  22 = Meta_u
-	control alt	keycode  22 = Meta_Control_u
-keycode  23 = i			I		+232	+200	Tab
-	alt	keycode  23 = Meta_i
-	control alt	keycode  23 = Meta_Tab
-keycode  24 = o			O		+238	+206	Control_o
-	alt	keycode  24 = Meta_o
-	control alt	keycode  24 = Meta_Control_o
-keycode  25 = p			P		+239	+207	Control_p
-	alt	keycode  25 = Meta_p
-	control alt	keycode  25 = Meta_Control_p
-keycode  26 = bracketleft	braceleft	+248	+216	Escape
-	alt	keycode  26 = Meta_bracketleft
-	control alt	keycode  26 = Meta_Escape
-keycode  27 = bracketright	braceright	+249	+217	Control_bracketright
-	alt     keycode  27 = Meta_bracketright
-	control alt	keycode 27 = Meta_Control_bracketright
-keycode  28 = Return          
-	alt     keycode  28 = Meta_Control_m  
-keycode  29 = Control         
-keycode  30 = a			A		+224	+192	Control_a
-	alt	keycode  30 = Meta_a
-	control alt	keycode  30 = Meta_Control_a
-keycode  31 = s			S		+241	+209	Control_s
-	alt	keycode  31 = Meta_s
-	control alt	keycode  31 = Meta_Control_s
-keycode  32 = d			D		+228	+196	Control_d
-	alt	keycode  32 = Meta_d
-	control alt	keycode  32 = Meta_Control_d
-keycode  33 = f			F		+244	+212	Control_f
-	alt	keycode  33 = Meta_f
-	control alt	keycode  33 = Meta_Control_f
-keycode  34 = g			G		+227	+195	Control_g
-	alt	keycode  34 = Meta_g
-	control alt	keycode  34 = Meta_Control_g
-keycode  35 = h			H		+245	+213	Control_h
-	alt	keycode  35 = Meta_h
-	control alt	keycode  35 = Meta_Control_h
-keycode  36 = j			J		+233	+201	Control_j
-	alt	keycode  35 = Meta_j
-	control alt	keycode  35 = Meta_Control_j
-keycode  37 = k			K		+234	+202	Control_k
-	alt	keycode  37 = Meta_k
-	control alt	keycode  37 = Meta_Control_k
-keycode  38 = l			L		+235	+203	Control_l
-	alt	keycode  38 = Meta_l
-	control alt	keycode  38 = Meta_Control_l
-keycode  39 = semicolon        colon           
-	alt     keycode  39 = Meta_semicolon  
-keycode  40 = apostrophe       quotedbl        
-	control keycode  40 = Control_g       
-	alt     keycode  40 = Meta_apostrophe 
-keycode  41 = grave		asciitilde	+247	+215	nul
-	alt     keycode  41 = Meta_grave      
-keycode  42 = Shift           
-keycode  43 = backslash		bar		+254	+222	Control_backslash
-	alt	keycode  43 = Meta_backslash
-	control alt	keycode  43 = Meta_Control_backslash
-keycode  44 = z			Z		+231	+199	Control_z
-	alt	keycode  44 = Meta_z
-	control alt	keycode  44 = Meta_Control_z
-keycode  45 = x			X		+252	+220	Control_x
-	alt	keycode  45 = Meta_x
-	control alt	keycode  45 = Meta_Control_x
-keycode  46 = c			C		+246	+214	Control_c
-	alt	keycode  46 = Meta_c
-	control alt	keycode  46 = Meta_Control_c
-keycode  47 = v			V		+230	+198	Control_v
-	alt	keycode  47 = Meta_v
-	control alt	keycode  47 = Meta_Control_v
-keycode  48 = b			B		+225	+193	Control_b
-	alt	keycode  48 = Meta_b
-	control alt	keycode  48 = Meta_Control_b
-keycode  49 = n			N		+237	+205	Control_n
-	alt	keycode  49 = Meta_n
-	control alt	keycode  49 = Meta_Control_n
-keycode  50 = m			M		+236	+204	Control_m
-	alt	keycode  50 = Meta_m
-	control alt	keycode  50 = Meta_Control_m
-keycode  51 = comma            less            
-	alt     keycode  51 = Meta_comma      
-keycode  52 = period           greater         
-	control keycode  52 = Compose         
-	alt     keycode  52 = Meta_period     
-keycode  53 = slash            question        
-	control keycode  53 = Delete          
-	alt     keycode  53 = Meta_slash      
-keycode  54 = Shift           
-keycode  55 = KP_Multiply     
-keycode  56 = Alt             
-keycode  57 = space
-	control keycode  57 = nul             
-	alt     keycode  57 = Meta_space      
-keycode  58 = Caps_Lock       
-keycode  59 = F1               F11              Console_13      
-	control keycode  59 = F1              
-	alt     keycode  59 = Console_1       
-	control alt     keycode  59 = Console_1       
-keycode  60 = F2               F12              Console_14      
-	control keycode  60 = F2              
-	alt     keycode  60 = Console_2       
-	control alt     keycode  60 = Console_2       
-keycode  61 = F3               F13              Console_15      
-	control keycode  61 = F3              
-	alt     keycode  61 = Console_3       
-	control alt     keycode  61 = Console_3       
-keycode  62 = F4               F14              Console_16      
-	control keycode  62 = F4              
-	alt     keycode  62 = Console_4       
-	control alt     keycode  62 = Console_4       
-keycode  63 = F5               F15              Console_17      
-	control keycode  63 = F5              
-	alt     keycode  63 = Console_5       
-	control alt     keycode  63 = Console_5       
-keycode  64 = F6               F16              Console_18      
-	control keycode  64 = F6              
-	alt     keycode  64 = Console_6       
-	control alt     keycode  64 = Console_6       
-keycode  65 = F7               F17              Console_19      
-	control keycode  65 = F7              
-	alt     keycode  65 = Console_7       
-	control alt     keycode  65 = Console_7       
-keycode  66 = F8               F18              Console_20      
-	control keycode  66 = F8              
-	alt     keycode  66 = Console_8       
-	control alt     keycode  66 = Console_8       
-keycode  67 = F9               F19              Console_21      
-	control keycode  67 = F9              
-	alt     keycode  67 = Console_9       
-	control alt     keycode  67 = Console_9       
-keycode  68 = F10              F20              Console_22      
-	control keycode  68 = F10             
-	alt     keycode  68 = Console_10      
-	control alt     keycode  68 = Console_10      
-keycode  69 = Num_Lock
-	shift   keycode  69 = Bare_Num_Lock
-keycode  70 = Scroll_Lock      Show_Memory      Show_Registers  
-	control keycode  70 = Show_State      
-	alt     keycode  70 = Scroll_Lock     
-keycode  71 = KP_7            
-	alt     keycode  71 = Ascii_7         
-	altgr   keycode  71 = Hex_7         
-keycode  72 = KP_8            
-	alt     keycode  72 = Ascii_8         
-	altgr   keycode  72 = Hex_8         
-keycode  73 = KP_9            
-	alt     keycode  73 = Ascii_9         
-	altgr   keycode  73 = Hex_9         
-keycode  74 = KP_Subtract     
-keycode  75 = KP_4            
-	alt     keycode  75 = Ascii_4         
-	altgr   keycode  75 = Hex_4         
-keycode  76 = KP_5            
-	alt     keycode  76 = Ascii_5         
-	altgr   keycode  76 = Hex_5         
-keycode  77 = KP_6            
-	alt     keycode  77 = Ascii_6         
-	altgr   keycode  77 = Hex_6         
-keycode  78 = KP_Add          
-keycode  79 = KP_1            
-	alt     keycode  79 = Ascii_1         
-	altgr   keycode  79 = Hex_1         
-keycode  80 = KP_2            
-	alt     keycode  80 = Ascii_2         
-	altgr   keycode  80 = Hex_2         
-keycode  81 = KP_3            
-	alt     keycode  81 = Ascii_3         
-	altgr   keycode  81 = Hex_3         
-keycode  82 = KP_0            
-	alt     keycode  82 = Ascii_0         
-	altgr   keycode  82 = Hex_0         
-keycode  83 = KP_Period       
-#	altgr   control keycode  83 = Boot            
-	control alt     keycode  83 = Boot            
-keycode  84 = Last_Console    
+	alt	keycode  14 = Meta_Delete
+	altgr	control keycode  14 = BackSpace
+	altgr	alt	keycode  14 = Meta_Delete
+keycode  15 =	Tab		Tab		Tab		Tab
+	alt	keycode  15 = Meta_Tab
+	altgr	alt	keycode  15 = Meta_Tab
+keycode  16 =	q		Q		+255		+223           \
+		Control_q	Control_q	Control_q	Control_q      \
+		Meta_q		Meta_Q		Meta_q		Meta_Q         \
+		Meta_Control_q	Meta_Control_q	Meta_Control_q	Meta_Control_q
+keycode  17 =	w		W		+226		+194           \
+		Control_w	Control_w	Control_w	Control_w      \
+		Meta_w		Meta_W		Meta_w		Meta_W         \
+		Meta_Control_w	Meta_Control_w	Meta_Control_w	Meta_Control_w
+keycode  18 =	e		E		+229		+197           \
+		Control_e	Control_e	Control_e	Control_e      \
+		Meta_e		Meta_E		Meta_e		Meta_E         \
+		Meta_Control_e	Meta_Control_e	Meta_Control_e	Meta_Control_e
+keycode  19 =	r		R		+240		+208           \
+		Control_r	Control_r	Control_r	Control_r      \
+		Meta_r		Meta_R		Meta_r		Meta_R         \
+		Meta_Control_r	Meta_Control_r	Meta_Control_r	Meta_Control_r
+keycode  20 =	t		T		+242		+210           \
+		Control_t	Control_t	Control_t	Control_t      \
+		Meta_t		Meta_T		Meta_t		Meta_T         \
+		Meta_Control_t	Meta_Control_t	Meta_Control_t	Meta_Control_t
+keycode  21 =	y		Y		+250		+218           \
+		Control_y	Control_y	Control_y	Control_y      \
+		Meta_y		Meta_Y		Meta_y		Meta_Y         \
+		Meta_Control_y	Meta_Control_y	Meta_Control_y	Meta_Control_y
+keycode  22 =	u		U		+243		+211           \
+		Control_u	Control_u	Control_u	Control_u      \
+		Meta_u		Meta_U		Meta_u		Meta_U         \
+		Meta_Control_u	Meta_Control_u	Meta_Control_u	Meta_Control_u
+keycode  23 =	i		I		+232		+200           \
+		Control_i	Control_i	Control_i	Control_i      \
+		Meta_i		Meta_I		Meta_i		Meta_I         \
+		Meta_Control_i	Meta_Control_i	Meta_Control_i	Meta_Control_i
+keycode  24 =	o		O		+238		+206           \
+		Control_o	Control_o	Control_o	Control_o      \
+		Meta_o		Meta_O		Meta_o		Meta_O         \
+		Meta_Control_o	Meta_Control_o	Meta_Control_o	Meta_Control_o
+keycode  25 =	p		P		+239		+207           \
+		Control_p	Control_p	Control_p	Control_p      \
+		Meta_p		Meta_P		Meta_p		Meta_P         \
+		Meta_Control_p	Meta_Control_p	Meta_Control_p	Meta_Control_p
+keycode  26 =	bracketleft	braceleft	+248		+216           \
+		Escape		VoidSymbol	Escape		VoidSymbol     \
+		Meta_bracketleft Meta_braceleft	Meta_bracketleft Meta_braceleft
+keycode  27 =	bracketright	braceright	+249		+217           \
+		Control_bracketright asciitilde	Control_bracketright asciitilde\
+	    Meta_bracketright Meta_braceright Meta_bracketright Meta_braceright
+keycode  28 =	Return
+	alt	keycode  28 = Meta_Control_m
+	altgr	alt	keycode  28 = Meta_Control_m
+keycode  29 =	Control
+keycode  30 =	a		A		+224		+192           \
+		Control_a	Control_a	Control_a	Control_a      \
+		Meta_a		Meta_A		Meta_a		Meta_A         \
+		Meta_Control_a	Meta_Control_a	Meta_Control_a	Meta_Control_a
+keycode  31 =	s		S		+241		+209           \
+		Control_s	Control_s	Control_s	Control_s      \
+		Meta_s		Meta_S		Meta_s		Meta_S         \
+		Meta_Control_s	Meta_Control_s	Meta_Control_s	Meta_Control_s
+keycode  32 =	d		D		+228		+196           \
+		Control_d	Control_d	Control_d	Control_d      \
+		Meta_d		Meta_D		Meta_d		Meta_D         \
+		Meta_Control_d	Meta_Control_d	Meta_Control_d	Meta_Control_d
+keycode  33 =	f		F		+244		+212           \
+		Control_f	Control_f	Control_f	Control_f      \
+		Meta_f		Meta_F		Meta_f		Meta_F         \
+		Meta_Control_f	Meta_Control_f	Meta_Control_f	Meta_Control_f
+keycode  34 =	g		G		+227		+195           \
+		Control_g	Control_g	Control_g	Control_g      \
+		Meta_g		Meta_G		Meta_g		Meta_G         \
+		Meta_Control_g	Meta_Control_g	Meta_Control_g	Meta_Control_g
+keycode  35 =	h		H		+245		+213           \
+		Control_h	Control_h	Control_h	Control_h      \
+		Meta_h		Meta_H		Meta_h		Meta_H         \
+		Meta_Control_h	Meta_Control_h	Meta_Control_h	Meta_Control_h
+keycode  36 =	j		J		+233		+201           \
+		Control_j	Control_j	Control_j	Control_j      \
+		Meta_j		Meta_J		Meta_j		Meta_J         \
+		Meta_Control_j	Meta_Control_j	Meta_Control_j	Meta_Control_j
+keycode  37 =	k		K		+234		+202           \
+		Control_k	Control_k	Control_k	Control_k      \
+		Meta_k		Meta_K		Meta_k		Meta_K         \
+		Meta_Control_k	Meta_Control_k	Meta_Control_k	Meta_Control_k
+keycode  38 =	l		L		+235		+203           \
+		Control_l	Control_l	Control_l	Control_l      \
+		Meta_l		Meta_L		Meta_l		Meta_L         \
+		Meta_Control_l	Meta_Control_l	Meta_Control_l	Meta_Control_l
+keycode  39 =	semicolon	colon		semicolon	colon          \
+		VoidSymbol	VoidSymbol	VoidSymbol	VoidSymbol     \
+		Meta_semicolon	Meta_colon	Meta_semicolon	Meta_colon
+keycode  40 =	apostrophe	quotedbl	apostrophe	quotedbl       \
+		Control_g	VoidSymbol	Control_g	VoidSymbol     \
+		Meta_apostrophe	Meta_quotedbl	Meta_apostrophe	Meta_quotedbl
+keycode  41 =	grave		asciitilde	+247		+215           \
+		nul		VoidSymbol	nul		VoidSymbol     \
+		Meta_grave	Meta_asciitilde	Meta_grave	Meta_asciitilde
+keycode  42 =	Shift
+keycode  43 =	backslash	bar		+254		+222           \
+		Control_backslash  VoidSymbol	Control_backslash  VoidSymbol  \
+		Meta_backslash	Meta_bar	Meta_backslash	Meta_bar
+keycode  44 =	z		Z		+231		+199           \
+		Control_z	Control_z	Control_z	Control_z      \
+		Meta_z		Meta_Z		Meta_z		Meta_Z         \
+		Meta_Control_z	Meta_Control_z	Meta_Control_z	Meta_Control_z
+keycode  45 =	x		X		+252		+220           \
+		Control_x	Control_x	Control_x	Control_x      \
+		Meta_x		Meta_X		Meta_x		Meta_X         \
+		Meta_Control_x	Meta_Control_x	Meta_Control_x	Meta_Control_x
+keycode  46 =	c		C		+246		+214           \
+		Control_c	Control_c	Control_c	Control_c      \
+		Meta_c		Meta_C		Meta_c		Meta_C         \
+		Meta_Control_c	Meta_Control_c	Meta_Control_c	Meta_Control_c
+keycode  47 =	v		V		+230		+198           \
+		Control_v	Control_v	Control_v	Control_v      \
+		Meta_v		Meta_V		Meta_v		Meta_V         \
+		Meta_Control_v	Meta_Control_v	Meta_Control_v	Meta_Control_v
+keycode  48 =	b		B		+225		+193           \
+		Control_b	Control_b	Control_b	Control_b      \
+		Meta_b		Meta_B		Meta_b		Meta_B         \
+		Meta_Control_b	Meta_Control_b	Meta_Control_b	Meta_Control_b
+keycode  49 =	n		N		+237		+205           \
+		Control_n	Control_n	Control_n	Control_n      \
+		Meta_n		Meta_N		Meta_n		Meta_N         \
+		Meta_Control_n	Meta_Control_n	Meta_Control_n	Meta_Control_n
+keycode  50 =	m		M		+236		+204           \
+		Control_m	Control_m	Control_m	Control_m      \
+		Meta_m		Meta_M		Meta_m		Meta_M         \
+		Meta_Control_m	Meta_Control_m	Meta_Control_m	Meta_Control_m
+keycode  51 =	comma		less		comma		less           \
+		VoidSymbol	VoidSymbol	VoidSymbol	VoidSymbol     \
+		Meta_comma	Meta_less	Meta_comma	Meta_less
+keycode  52 =	period		greater		period		greater        \
+		Compose		VoidSymbol	Compose		VoidSymbol     \
+		Meta_period	Meta_greater	Meta_period	Meta_greater
+keycode  53 =	slash		question	slash		question       \
+		Delete		Delete		Delete		Delete         \
+		Meta_slash	Meta_question	Meta_slash	Meta_question
+keycode  54 =	Shift
+keycode  55 =	KP_Multiply
+keycode  56 =	Alt
+keycode  57 =	space		space		space		space
+	control	keycode  57 = nul
+	alt	keycode  57 = Meta_space
+	altgr	control	keycode  57 = nul
+	altgr	alt	keycode  57 = Meta_space
+keycode  58 =	Caps_Lock
+keycode  59 =	F1		F13		F1		F13            \
+		F25		F37		F25		F37            \
+		Console_1	Console_13	Console_1	Console_13     \
+		Console_1	Console_13	Console_1	Console_13
+keycode  60 =	F2		F14		F2		F14            \
+		F26		F38		F26		F38            \
+		Console_2	Console_14	Console_2	Console_14     \
+		Console_2	Console_14	Console_2	Console_14
+keycode  61 =	F3		F15		F3		F15            \
+		F27		F39		F27		F39            \
+		Console_3	Console_15	Console_3	Console_15     \
+		Console_3	Console_15	Console_3	Console_15
+keycode  62 =	F4		F16		F4		F16            \
+		F28		F40		F28		F40            \
+		Console_4	Console_16	Console_4	Console_16     \
+		Console_4	Console_16	Console_4	Console_16
+keycode  63 =	F5		F17		F5		F17            \
+		F29		F41		F29		F41            \
+		Console_5	Console_17	Console_5	Console_17     \
+		Console_5	Console_17	Console_5	Console_17
+keycode  64 =	F6		F18		F6		F18            \
+		F30		F42		F30		F42            \
+		Console_6	Console_18	Console_6	Console_18     \
+		Console_6	Console_18	Console_6	Console_18
+keycode  65 =	F7		F19		F7		F19            \
+		F31		F43		F31		F43            \
+		Console_7	Console_19	Console_7	Console_19     \
+		Console_7	Console_19	Console_7	Console_19
+keycode  66 =	F8		F20		F8		F20            \
+		F32		F44		F32		F44            \
+		Console_8	Console_20	Console_8	Console_20     \
+		Console_8	Console_20	Console_8	Console_20
+keycode  67 =	F9		F21		F9		F21            \
+		F33		F45		F33		F45            \
+		Console_9	Console_21	Console_9	Console_21     \
+		Console_9	Console_21	Console_9	Console_21
+keycode  68 =	F10		F22		F10		F22            \
+		F34		F46		F34		F46            \
+		Console_10	Console_22	Console_10	Console_22     \
+		Console_10	Console_22	Console_10	Console_22
+keycode  69 =	Num_Lock
+	shift	keycode  69 =	Bare_Num_Lock
+	altgr	shift	keycode  69 =	Bare_Num_Lock
+keycode  70 =	Scroll_Lock	Show_Memory	Scroll_Lock	Show_Memory    \
+		Show_State	Show_Registers	Show_State	Show_Registers \
+		Scroll_Lock	VoidSymbol	Scroll_Lock	VoidSymbol
+keycode  71 =	KP_7
+	alt	keycode  71 = Ascii_7
+	altgr	alt	keycode  71 = Ascii_7
+keycode  72 =	KP_8
+	alt	keycode  72 = Ascii_8
+	altgr	alt	keycode  72 = Ascii_8
+keycode  73 =	KP_9
+	alt	keycode  73 = Ascii_9
+	altgr	alt	keycode  73 = Ascii_9
+keycode  74 =	KP_Subtract
+keycode  75 =	KP_4
+	alt	keycode  75 = Ascii_4
+	altgr	alt	keycode  75 = Ascii_4
+keycode  76 =	KP_5
+	alt	keycode  76 = Ascii_5
+	altgr	alt	keycode  76 = Ascii_5
+keycode  77 =	KP_6
+	alt	keycode  77 = Ascii_6
+	altgr	alt	keycode  77 = Ascii_6
+keycode  78 =	KP_Add
+keycode  79 =	KP_1
+	alt	keycode  79 = Ascii_1
+	altgr	alt	keycode  79 = Ascii_1
+keycode  80 =	KP_2
+	alt	keycode  80 = Ascii_2
+	altgr	alt	keycode  80 = Ascii_2
+keycode  81 =	KP_3
+	alt	keycode  81 = Ascii_3
+	altgr	alt	keycode  81 = Ascii_3
+keycode  82 =	KP_0
+	alt	keycode  82 = Ascii_0
+	altgr	alt	keycode  82 = Ascii_0
+keycode  83 =	KP_Period
+	alt	control	keycode  83 = Boot
+	altgr	alt	control	keycode  83 = Boot
+keycode  84 =	Last_Console
 keycode  85 =
-keycode  86 = less             greater          bar             
-	alt     keycode  86 = Meta_less       
-keycode  87 = F11              F11              Console_23      
-	control keycode  87 = F11             
-	alt     keycode  87 = Console_11      
-	control alt     keycode  87 = Console_11      
-keycode  88 = F12              F12              Console_24      
-	control keycode  88 = F12             
-	alt     keycode  88 = Console_12      
-	control alt     keycode  88 = Console_12      
-keycode  96 = KP_Enter        
-keycode  97 = AltGr_Lock
-keycode  98 = KP_Divide       
-keycode  99 = VoidSymbol
-	control keycode  99 = Control_backslash
-	alt     keycode  99 = Control_backslash
-keycode 100 = AltGr           
-keycode 101 = Break           
-keycode 102 = Find            
-keycode 103 = Up              
-keycode 104 = Prior           
-	shift   keycode 104 = Scroll_Backward 
-keycode 105 = Left            
-	alt     keycode 105 = Decr_Console
-keycode 106 = Right           
-	alt     keycode 106 = Incr_Console
-keycode 107 = Select          
-keycode 108 = Down            
-keycode 109 = Next            
-	shift   keycode 109 = Scroll_Forward  
-keycode 110 = Insert          
-keycode 111 = Remove          
-#	altgr   control keycode 111 = Boot            
-	control alt     keycode 111 = Boot            
-keycode 112 = Macro           
-keycode 113 = F13             
-keycode 114 = F14             
-keycode 115 = Help            
-keycode 116 = Do              
-keycode 117 = F17             
-keycode 118 = KP_MinPlus      
-keycode 119 = Pause           
+keycode  86 =	less		greater		less		greater        \
+		VoidSymbol	bar		VoidSymbol	bar            \
+		Meta_less	Meta_greater	Meta_less	Meta_greater
+keycode  87 =	F11		F23		F11		F23            \
+		F35		F47		F35		F47            \
+		Console_11	Console_23	Console_11	Console_23     \
+		Console_11	Console_23	Console_11	Console_23
+keycode  88 =	F12		F24		F12		F24            \
+		F36		F48		F36		F48            \
+		Console_12	Console_24	Console_12	Console_24     \
+		Console_12	Console_24	Console_12	Console_24
+keycode  89 =
+keycode  90 =
+keycode  91 =
+keycode  92 =
+keycode  93 =
+keycode  94 =
+keycode  95 =
+keycode  96 =	KP_Enter
+keycode  97 =	AltGr_Lock
+keycode  98 =	KP_Divide
+keycode  99 =	Control_backslash
+	control	keycode  99 = Control_backslash
+	alt	keycode  99 = Control_backslash
+	altgr	control	keycode  99 = Control_backslash
+	altgr	alt	keycode  99 = Control_backslash
+keycode 100 =	AltGr
+keycode 101 =	Break
+keycode 102 =	Find
+keycode 103 =	Up
+keycode 104 =	Prior
+	shift	keycode 104 = Scroll_Backward
+	altgr	shift	keycode 104 = Scroll_Backward
+keycode 105 =	Left
+	alt	keycode 105 = Decr_Console
+	altgr	alt	keycode 105 = Decr_Console
+keycode 106 =	Right
+	alt	keycode 106 = Incr_Console
+	altgr	alt	keycode 106 = Incr_Console
+keycode 107 =	Select
+keycode 108 =	Down
+keycode 109 =	Next
+	shift	keycode 109 = Scroll_Forward
+	altgr	shift	keycode 109 = Scroll_Forward
+keycode 110 =	Insert
+keycode 111 =	Remove
+	alt	control	keycode 111 = Boot
+	altgr	alt	control	keycode 111 = Boot
+keycode 112 =	Macro
+keycode 113 =	F13
+keycode 114 =	F14
+keycode 115 =	Help
+keycode 116 =	Do
+keycode 117 =	F17
+keycode 118 =	KP_MinPlus
+keycode 119 =	Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/data/keymaps/i386/qwerty/bg.map b/data/keymaps/i386/qwerty/bg-cp855.map
similarity index 100%
rename from data/keymaps/i386/qwerty/bg.map
rename to data/keymaps/i386/qwerty/bg-cp855.map
diff --git a/data/keymaps/i386/qwerty/bg_bds-cp1251.map b/data/keymaps/i386/qwerty/bg_bds-cp1251.map
new file mode 100644
index 0000000..14fa312
--- /dev/null
+++ b/data/keymaps/i386/qwerty/bg_bds-cp1251.map
@@ -0,0 +1,771 @@
+###  Ver 0.2 - 20021013 
+###  Linux console Bulgarian keymap, BDS (Bulgarian National Standart) cyrillic layout.
+###  Charset: CP1251 
+###  Author: Peter Georgiev <peterg@mail.bg>
+###
+###     Temporary switching between CYR and LAT is done with AltGr (R_Alt) key or the L_WIN key. 
+###     AltGr (R_Alt), kakto i L_WIN prevkliuchvat vremenno mezhdu CYR i LAT.                                                                     
+###     Permanent switching between CYR and LAT is done with Ctrl+Shift, or the WIN_MENU key.
+###     Ctrl+Shift, kakto i WIN_MENU prevkliuchvat mezhdu CYR i LAT.           
+###
+###	Compose key is R_WIN key.
+###
+###	EURO sign is Ctrl+Alt+E
+###	Ctrl+Alt+E e znak za Evro
+###     
+###	Ctrl+Alt+2 e maimunsko "a" /kliomba/ - @ (dobaveno za udobstvo ot latin layout)
+###     Ctrl+Alt+7 e ampersand - & (dobaweno za udobstvo ot latin layout)
+
+keymaps 0-15
+alt_is_meta
+strings as usual
+
+keycode   1 = Escape          
+keycode   2 = one              exclam           one              exclam          
+keycode   3 = two             
+	shift	keycode   3 = at              
+	shift	altgr	keycode   3 = question              
+	control	keycode   3 = nul             
+	shift	control	keycode   3 = nul             
+	altgr	control	keycode   3 = nul             
+	altgr	control alt	keycode	  3 = at
+	shift	altgr	control	keycode   3 = nul             
+keycode   4 = three           
+	shift	keycode   4 = numbersign      
+	shift	altgr	keycode   4 = plus      
+	control	keycode   4 = Escape          
+	shift	control	keycode   4 = Escape          
+	altgr	control	keycode   4 = Escape          
+	shift	altgr	control	keycode   4 = Escape          
+keycode   5 = four            
+	shift	keycode   5 = dollar          
+	shift	altgr	keycode   5 = quotedbl          
+	control	keycode   5 = Control_backslash
+	shift	control	keycode   5 = Control_backslash
+	altgr	control	keycode   5 = Control_backslash
+	shift	altgr	control	keycode   5 = Control_backslash
+keycode   6 = five            
+	shift	keycode   6 = percent         
+	shift	altgr	keycode   6 = percent         
+	control	keycode   6 = Control_bracketright
+	shift	control	keycode   6 = Control_bracketright
+	altgr	control	keycode   6 = Control_bracketright
+	shift	altgr	control	keycode   6 = Control_bracketright
+keycode   7 = six             
+	shift	keycode   7 = asciicircum     
+	shift	altgr	keycode   7 = equal     
+	control	keycode   7 = Control_asciicircum
+	shift	control	keycode   7 = Control_asciicircum
+	altgr	control	keycode   7 = Control_asciicircum
+	shift	altgr	control	keycode   7 = Control_asciicircum
+keycode   8 = seven           
+	shift	keycode   8 = ampersand       
+	shift	altgr	keycode   8 = colon       
+	control	keycode   8 = Control_underscore
+	shift	control	keycode   8 = Control_underscore
+	altgr	control	keycode   8 = Control_underscore
+	shift	altgr	control	keycode   8 = Control_underscore
+keycode   9 = eight           
+	shift	keycode   9 = asterisk        
+	shift	altgr	keycode   9 = slash        
+	control	keycode   9 = Delete          
+	shift	control	keycode   9 = Delete          
+	altgr	control	keycode   9 = Delete          
+	shift	altgr	control	keycode   9 = Delete          
+keycode  10 = nine             parenleft        nine             underscore      
+keycode  11 = zero             parenright       zero             +0xB9      
+keycode  12 = minus           
+	shift	keycode  12 = underscore      
+	shift	altgr	keycode  12 = I      
+	control	keycode  12 = Control_underscore
+	shift	control	keycode  12 = Control_underscore
+	altgr	control	keycode  12 = Control_underscore
+	shift	altgr	control	keycode  12 = Control_underscore
+keycode  13 = equal            plus             period            V            
+keycode  14 = Delete          
+	control	keycode  14 = BackSpace       
+	shift	control	keycode  14 = BackSpace       
+	altgr	control	keycode  14 = BackSpace       
+	shift	altgr	control	keycode  14 = BackSpace       
+keycode  15 = Tab             
+keycode  16 = +q               
+	shift	keycode  16 = +Q               
+	altgr	keycode  16 = comma
+	shift	altgr	keycode  16 = +0xFB
+	control	keycode  16 = Control_q       
+	shift	control	keycode  16 = Control_q       
+	altgr	control	keycode  16 = Control_q       
+	shift	altgr	control	keycode  16 = Control_q       
+	altgr	alt	keycode  16 = Meta_q          
+	shift	altgr	alt	keycode  16 = Meta_Q          
+keycode  17 = +w               
+	shift	keycode  17 = +W               
+	altgr	keycode  17 = +0xF3
+	shift	altgr	keycode  17 = +0xD3
+	control	keycode  17 = Control_w       
+	shift	control	keycode  17 = Control_w       
+	altgr	control	keycode  17 = Control_w       
+	shift	altgr	control	keycode  17 = Control_w       
+	altgr	alt	keycode  17 = Meta_w          
+	shift	altgr	alt	keycode  17 = Meta_W          
+keycode  18 = +e               
+	shift	keycode  18 = +E               
+	altgr	keycode  18 = +0xE5
+	shift	altgr	keycode  18 = +0xC5
+	control	keycode  18 = Control_e       
+	control alt     keycode  18 = +0x88
+	shift	control	keycode  18 = Control_e       
+	altgr	control	keycode  18 = Control_e       
+	shift	altgr	control	keycode  18 = Control_e       
+	altgr	alt	keycode  18 = Meta_e          
+	shift	altgr	alt	keycode  18 = Meta_E          
+	altgr   control alt     keycode  18 = +0x88 
+keycode  19 = +r               
+	shift	keycode  19 = +R               
+	altgr	keycode  19 = +0xE8
+	shift	altgr	keycode  19 = +0xC8
+	control	keycode  19 = Control_r       
+	shift	control	keycode  19 = Control_r       
+	altgr	control	keycode  19 = Control_r       
+	shift	altgr	control	keycode  19 = Control_r       
+	altgr	alt	keycode  19 = Meta_r          
+	shift	altgr	alt	keycode  19 = Meta_R          
+keycode  20 = +t               
+	shift	keycode  20 = +T               
+	altgr	keycode  20 = +0xF8
+	shift	altgr	keycode  20 = +0xD8
+	control	keycode  20 = Control_t       
+	shift	control	keycode  20 = Control_t       
+	altgr	control	keycode  20 = Control_t       
+	shift	altgr	control	keycode  20 = Control_t       
+	altgr	alt	keycode  20 = Meta_t          
+	shift	altgr	alt	keycode  20 = Meta_T          
+keycode  21 = +y               
+	shift	keycode  21 = +Y               
+	altgr	keycode  21 = +0xF9
+	shift	altgr	keycode  21 = +0xD9
+	control	keycode  21 = Control_y       
+	shift	control	keycode  21 = Control_y       
+	altgr	control	keycode  21 = Control_y       
+	shift	altgr	control	keycode  21 = Control_y       
+	altgr	alt	keycode  21 = Meta_y          
+	shift	altgr	alt	keycode  21 = Meta_Y          
+keycode  22 = +u               
+	shift	keycode  22 = +U               
+	altgr	keycode  22 = +0xEA
+	shift	altgr	keycode  22 = +0xCA
+	control	keycode  22 = Control_u       
+	shift	control	keycode  22 = Control_u       
+	altgr	control	keycode  22 = Control_u       
+	shift	altgr	control	keycode  22 = Control_u       
+	altgr	alt	keycode  22 = Meta_u          
+	shift	altgr	alt	keycode  22 = Meta_U          
+keycode  23 = +i               
+	shift	keycode  23 = +I               
+	altgr	keycode  23 = +0xF1
+	shift	altgr	keycode  23 = +0xD1
+	control	keycode  23 = Tab             
+	shift	control	keycode  23 = Tab             
+	altgr	control	keycode  23 = Tab             
+	shift	altgr	control	keycode  23 = Tab             
+	altgr	alt	keycode  23 = Meta_i          
+	shift	altgr	alt	keycode  23 = Meta_I          
+keycode  24 = +o               
+	shift	keycode  24 = +O               
+	altgr	keycode  24 = +0xE4
+	shift	altgr	keycode  24 = +0xC4 
+	control	keycode  24 = Control_o       
+	shift	control	keycode  24 = Control_o       
+	altgr	control	keycode  24 = Control_o       
+	shift	altgr	control	keycode  24 = Control_o       
+	altgr	alt	keycode  24 = Meta_o          
+	shift	altgr	alt	keycode  24 = Meta_O          
+keycode  25 = +p               
+	shift	keycode  25 = +P               
+	altgr	keycode  25 = +0xE7
+	shift	altgr	keycode  25 = +0xC7
+	control	keycode  25 = Control_p       
+	shift	control	keycode  25 = Control_p       
+	altgr	control	keycode  25 = Control_p       
+	shift	altgr	control	keycode  25 = Control_p       
+	altgr	alt	keycode  25 = Meta_p          
+	shift	altgr	alt	keycode  25 = Meta_P          
+keycode  26 = bracketleft     
+	shift	keycode  26 = braceleft       
+	altgr	keycode  26 = +0xF6
+	shift	altgr	keycode  26 = +0xD6
+	control	keycode  26 = Escape          
+	shift	control	keycode  26 = Escape          
+	altgr	control	keycode  26 = Escape          
+	shift	altgr	control	keycode  26 = Escape          
+	altgr	alt	keycode  26 = Meta_bracketleft
+	shift	altgr	alt	keycode  26 = Meta_braceleft  
+keycode  27 = bracketright    
+	shift	keycode  27 = braceright      
+	altgr	keycode  27 = semicolon          
+	shift	altgr	keycode  27 = +0xA7
+	control	keycode  27 = Control_bracketright
+	shift	control	keycode  27 = Control_bracketright
+	altgr	control	keycode  27 = Control_bracketright
+	shift	altgr	control	keycode  27 = Control_bracketright
+	altgr	alt	keycode  27 = Meta_bracketright
+	shift	altgr	alt	keycode  27 = Meta_braceright 
+keycode  28 = Return          
+	alt	keycode  28 = Meta_Control_m  
+	shift	alt	keycode  28 = Meta_Control_m  
+	altgr	alt	keycode  28 = Meta_Control_m  
+	shift	altgr	alt	keycode  28 = Meta_Control_m  
+	control	alt	keycode  28 = Meta_Control_m  
+	shift	control	alt	keycode  28 = Meta_Control_m  
+	altgr	control	alt	keycode  28 = Meta_Control_m  
+	shift	altgr	control	alt	keycode  28 = Meta_Control_m  
+keycode  29 = Control         
+	shift	keycode  29 = AltGr_Lock      
+	shift	altgr	keycode  29 = AltGr_Lock      
+keycode  30 = +a               
+	shift	keycode  30 = +A               
+	altgr	keycode  30 = +0xFC
+	shift	altgr	keycode  30 = +0xDC
+	control	keycode  30 = Control_a       
+	shift	control	keycode  30 = Control_a       
+	altgr	control	keycode  30 = Control_a       
+	shift	altgr	control	keycode  30 = Control_a       
+	altgr	alt	keycode  30 = Meta_a          
+	shift	altgr	alt	keycode  30 = Meta_A          
+keycode  31 = +s               
+	shift	keycode  31 = +S               
+	altgr	keycode  31 = +0xFF
+	shift	altgr	keycode  31 = +0xDF
+	control	keycode  31 = Control_s       
+	shift	control	keycode  31 = Control_s       
+	altgr	control	keycode  31 = Control_s       
+	shift	altgr	control	keycode  31 = Control_s       
+	altgr	alt	keycode  31 = Meta_s          
+	shift	altgr	alt	keycode  31 = Meta_S          
+keycode  32 = +d               
+	shift	keycode  32 = +D               
+	altgr	keycode  32 = +0xE0
+	shift	altgr	keycode  32 = +0xC0
+	control	keycode  32 = Control_d       
+	shift	control	keycode  32 = Control_d       
+	altgr	control	keycode  32 = Control_d       
+	shift	altgr	control	keycode  32 = Control_d       
+	altgr	alt	keycode  32 = Meta_d          
+	shift	altgr	alt	keycode  32 = Meta_D          
+keycode  33 = +f               
+	shift	keycode  33 = +F               
+	altgr	keycode  33 = +0xEE
+	shift	altgr	keycode  33 = +0xCE
+	control	keycode  33 = Control_f       
+	shift	control	keycode  33 = Control_f       
+	altgr	control	keycode  33 = Control_f       
+	shift	altgr	control	keycode  33 = Control_f       
+	altgr	alt	keycode  33 = Meta_f          
+	shift	altgr	alt	keycode  33 = Meta_F          
+keycode  34 = +g               
+	shift	keycode  34 = +G               
+	altgr	keycode  34 = +0xE6
+	shift	altgr	keycode  34 = +0xC6
+	control	keycode  34 = Control_g       
+	shift	control	keycode  34 = Control_g       
+	altgr	control	keycode  34 = Control_g       
+	shift	altgr	control	keycode  34 = Control_g       
+	altgr	alt	keycode  34 = Meta_g          
+	shift	altgr	alt	keycode  34 = Meta_G          
+keycode  35 = +h               
+	shift	keycode  35 = +H               
+	altgr	keycode  35 = +0xE3
+	shift	altgr	keycode  35 = +0xC3
+	control	keycode  35 = BackSpace       
+	shift	control	keycode  35 = BackSpace       
+	altgr	control	keycode  35 = BackSpace       
+	shift	altgr	control	keycode  35 = BackSpace       
+	altgr	alt	keycode  35 = Meta_h          
+	shift	altgr	alt	keycode  35 = Meta_H          
+keycode  36 = +j               
+	shift	keycode  36 = +J               
+	altgr	keycode  36 = +0xF2
+	shift	altgr	keycode  36 = +0xD2
+	control	keycode  36 = Linefeed        
+	shift	control	keycode  36 = Linefeed        
+	altgr	control	keycode  36 = Linefeed        
+	shift	altgr	control	keycode  36 = Linefeed        
+	altgr	alt	keycode  36 = Meta_j          
+	shift	altgr	alt	keycode  36 = Meta_J          
+keycode  37 = +k               
+	shift	keycode  37 = +K               
+	altgr	keycode  37 = +0xED
+	shift	altgr	keycode  37 = +0xCD
+	control	keycode  37 = Control_k       
+	shift	control	keycode  37 = Control_k       
+	altgr	control	keycode  37 = Control_k       
+	shift	altgr	control	keycode  37 = Control_k       
+	altgr	alt	keycode  37 = Meta_k          
+	shift	altgr	alt	keycode  37 = Meta_K          
+keycode  38 = +l               
+	shift	keycode  38 = +L               
+	altgr	keycode  38 = +0xE2
+	shift	altgr	keycode  38 = +0xC2
+	control	keycode  38 = Control_l       
+	shift	control	keycode  38 = Control_l       
+	altgr	control	keycode  38 = Control_l       
+	shift	altgr	control	keycode  38 = Control_l       
+	altgr	alt	keycode  38 = Meta_l          
+	shift	altgr	alt	keycode  38 = Meta_L          
+keycode  39 = semicolon        colon            +0xEC        +0xCC           
+keycode  40 = apostrophe       quotedbl		+0xF7	      +0xD7
+	control	keycode  40 = Control_g       
+	shift	control	keycode  40 = Control_g       
+	altgr	control	keycode  40 = Control_g       
+	shift	altgr	control	keycode  40 = Control_g       
+keycode  41 = grave     asciitilde		grave	      asciitilde      
+	control	keycode  41 = nul             
+	shift	control	keycode  41 = nul             
+	altgr	control	keycode  41 = nul             
+	shift	altgr	control	keycode  41 = nul             
+	altgr	alt	keycode  41 = Meta_grave      
+	shift	altgr	alt	keycode  41 = Meta_asciitilde 
+keycode  42 = Shift           
+	control	keycode  42 = AltGr_Lock      
+	altgr	control	keycode  42 = AltGr_Lock      
+keycode  43 = backslash       
+	shift	keycode  43 = bar             
+	altgr	keycode  43 = parenleft
+	shift	altgr	keycode  43 = parenright
+	control	keycode  43 = Control_backslash
+	shift	control	keycode  43 = Control_backslash
+	altgr	control	keycode  43 = Control_backslash
+	shift	altgr	control	keycode  43 = Control_backslash
+	altgr	alt	keycode  43 = Meta_backslash  
+	shift	altgr	alt	keycode  43 = Meta_bar        
+keycode  44 = +z               
+	shift	keycode  44 = +Z               
+	altgr	keycode  44 = +0xFE
+	shift	altgr	keycode  44 = +0xDE
+	control	keycode  44 = Control_z       
+	shift	control	keycode  44 = Control_z       
+	altgr	control	keycode  44 = Control_z       
+	shift	altgr	control	keycode  44 = Control_z       
+	altgr	alt	keycode  44 = Meta_z          
+	shift	altgr	alt	keycode  44 = Meta_Z          
+keycode  45 = +x               
+	shift	keycode  45 = +X               
+	altgr	keycode  45 = +0xE9
+	shift	altgr	keycode  45 = +0xC9
+	control	keycode  45 = Control_x       
+	shift	control	keycode  45 = Control_x       
+	altgr	control	keycode  45 = Control_x       
+	shift	altgr	control	keycode  45 = Control_x       
+	altgr	alt	keycode  45 = Meta_x          
+	shift	altgr	alt	keycode  45 = Meta_X          
+keycode  46 = +c               
+	shift	keycode  46 = +C               
+	altgr	keycode  46 = +0xFA
+	shift	altgr	keycode  46 = +0xDA
+	control	keycode  46 = Control_c       
+	shift	control	keycode  46 = Control_c       
+	altgr	control	keycode  46 = Control_c       
+	shift	altgr	control	keycode  46 = Control_c       
+	altgr	alt	keycode  46 = Meta_c          
+	shift	altgr	alt	keycode  46 = Meta_C          
+keycode  47 = +v               
+	shift	keycode  47 = +V               
+	altgr	keycode  47 = +0xFD
+	shift	altgr	keycode  47 = +0xDD
+	control	keycode  47 = Control_v       
+	shift	control	keycode  47 = Control_v       
+	altgr	control	keycode  47 = Control_v       
+	shift	altgr	control	keycode  47 = Control_v       
+	altgr	alt	keycode  47 = Meta_v          
+	shift	altgr	alt	keycode  47 = Meta_V          
+keycode  48 = +b               
+	shift	keycode  48 = +B               
+	altgr	keycode  48 = +0xF4
+	shift	altgr	keycode  48 = +0xD4
+	control	keycode  48 = Control_b       
+	shift	control	keycode  48 = Control_b       
+	altgr	control	keycode  48 = Control_b       
+	shift	altgr	control	keycode  48 = Control_b       
+	altgr	alt	keycode  48 = Meta_b          
+	shift	altgr	alt	keycode  48 = Meta_B          
+keycode  49 = +n               
+	shift	keycode  49 = +N               
+	altgr	keycode  49 = +0xF5
+	shift	altgr	keycode  49 = +0xD5
+	control	keycode  49 = Control_n       
+	shift	control	keycode  49 = Control_n       
+	altgr	control	keycode  49 = Control_n       
+	shift	altgr	control	keycode  49 = Control_n       
+	altgr	alt	keycode  49 = Meta_n          
+	shift	altgr	alt	keycode  49 = Meta_N          
+keycode  50 = +m               
+	shift	keycode  50 = +M               
+	altgr	keycode  50 = +0xEF
+	shift	altgr	keycode  50 = +0xCF
+	control	keycode  50 = Control_m       
+	shift	control	keycode  50 = Control_m       
+	altgr	control	keycode  50 = Control_m       
+	shift	altgr	control	keycode  50 = Control_m       
+	altgr	alt	keycode  50 = Meta_m          
+	shift	altgr	alt	keycode  50 = Meta_M          
+keycode  51 = comma     less             +0xF0         +0xD0            
+keycode  52 = period    greater          +0xEB         +0xCB          Compose         
+	altgr	control	keycode  52 = Compose         
+keycode  53 = slash     question	 +0xE1		+0xC1     
+	control	keycode  53 = Delete          
+	shift	control	keycode  53 = Delete          
+	altgr	control	keycode  53 = Delete          
+	shift	altgr	control	keycode  53 = Delete          
+keycode  54 = Shift           
+	control	keycode  54 = AltGr_Lock      
+	altgr	control	keycode  54 = AltGr_Lock      
+keycode  55 = KP_Multiply     
+keycode  56 = Alt             
+keycode  57 = space           
+	control	keycode  57 = nul             
+	shift	control	keycode  57 = nul             
+	altgr	control	keycode  57 = nul             
+	shift	altgr	control	keycode  57 = nul             
+keycode  58 = Caps_Lock       
+keycode  59 = F1              
+	shift	keycode  59 = F11             
+	shift	altgr	keycode  59 = F11             
+	shift	control	keycode  59 = F11             
+	shift	altgr	control	keycode  59 = F11             
+	alt	keycode  59 = Console_1       
+	shift	alt	keycode  59 = Console_1       
+	altgr	alt	keycode  59 = Console_1       
+	shift	altgr	alt	keycode  59 = Console_1       
+	control	alt	keycode  59 = Console_1       
+	shift	control	alt	keycode  59 = Console_1       
+	altgr	control	alt	keycode  59 = Console_1       
+	shift	altgr	control	alt	keycode  59 = Console_1       
+keycode  60 = F2              
+	shift	keycode  60 = F12             
+	shift	altgr	keycode  60 = F12             
+	shift	control	keycode  60 = F12             
+	shift	altgr	control	keycode  60 = F12             
+	alt	keycode  60 = Console_2       
+	shift	alt	keycode  60 = Console_2       
+	altgr	alt	keycode  60 = Console_2       
+	shift	altgr	alt	keycode  60 = Console_2       
+	control	alt	keycode  60 = Console_2       
+	shift	control	alt	keycode  60 = Console_2       
+	altgr	control	alt	keycode  60 = Console_2       
+	shift	altgr	control	alt	keycode  60 = Console_2       
+keycode  61 = F3              
+	shift	keycode  61 = F13             
+	shift	altgr	keycode  61 = F13             
+	shift	control	keycode  61 = F13             
+	shift	altgr	control	keycode  61 = F13             
+	alt	keycode  61 = Console_3       
+	shift	alt	keycode  61 = Console_3       
+	altgr	alt	keycode  61 = Console_3       
+	shift	altgr	alt	keycode  61 = Console_3       
+	control	alt	keycode  61 = Console_3       
+	shift	control	alt	keycode  61 = Console_3       
+	altgr	control	alt	keycode  61 = Console_3       
+	shift	altgr	control	alt	keycode  61 = Console_3       
+keycode  62 = F4              
+	shift	keycode  62 = F14             
+	shift	altgr	keycode  62 = F14             
+	shift	control	keycode  62 = F14             
+	shift	altgr	control	keycode  62 = F14             
+	alt	keycode  62 = Console_4       
+	shift	alt	keycode  62 = Console_4       
+	altgr	alt	keycode  62 = Console_4       
+	shift	altgr	alt	keycode  62 = Console_4       
+	control	alt	keycode  62 = Console_4       
+	shift	control	alt	keycode  62 = Console_4       
+	altgr	control	alt	keycode  62 = Console_4       
+	shift	altgr	control	alt	keycode  62 = Console_4       
+keycode  63 = F5              
+	shift	keycode  63 = F15             
+	shift	altgr	keycode  63 = F15             
+	shift	control	keycode  63 = F15             
+	shift	altgr	control	keycode  63 = F15             
+	alt	keycode  63 = Console_5       
+	shift	alt	keycode  63 = Console_5       
+	altgr	alt	keycode  63 = Console_5       
+	shift	altgr	alt	keycode  63 = Console_5       
+	control	alt	keycode  63 = Console_5       
+	shift	control	alt	keycode  63 = Console_5       
+	altgr	control	alt	keycode  63 = Console_5       
+	shift	altgr	control	alt	keycode  63 = Console_5       
+keycode  64 = F6              
+	shift	keycode  64 = F16             
+	shift	altgr	keycode  64 = F16             
+	shift	control	keycode  64 = F16             
+	shift	altgr	control	keycode  64 = F16             
+	alt	keycode  64 = Console_6       
+	shift	alt	keycode  64 = Console_6       
+	altgr	alt	keycode  64 = Console_6       
+	shift	altgr	alt	keycode  64 = Console_6       
+	control	alt	keycode  64 = Console_6       
+	shift	control	alt	keycode  64 = Console_6       
+	altgr	control	alt	keycode  64 = Console_6       
+	shift	altgr	control	alt	keycode  64 = Console_6       
+keycode  65 = F7              
+	shift	keycode  65 = F17             
+	shift	altgr	keycode  65 = F17             
+	shift	control	keycode  65 = F17             
+	shift	altgr	control	keycode  65 = F17             
+	alt	keycode  65 = Console_7       
+	shift	alt	keycode  65 = Console_7       
+	altgr	alt	keycode  65 = Console_7       
+	shift	altgr	alt	keycode  65 = Console_7       
+	control	alt	keycode  65 = Console_7       
+	shift	control	alt	keycode  65 = Console_7       
+	altgr	control	alt	keycode  65 = Console_7       
+	shift	altgr	control	alt	keycode  65 = Console_7       
+keycode  66 = F8              
+	shift	keycode  66 = F18             
+	shift	altgr	keycode  66 = F18             
+	shift	control	keycode  66 = F18             
+	shift	altgr	control	keycode  66 = F18             
+	alt	keycode  66 = Console_8       
+	shift	alt	keycode  66 = Console_8       
+	altgr	alt	keycode  66 = Console_8       
+	shift	altgr	alt	keycode  66 = Console_8       
+	control	alt	keycode  66 = Console_8       
+	shift	control	alt	keycode  66 = Console_8       
+	altgr	control	alt	keycode  66 = Console_8       
+	shift	altgr	control	alt	keycode  66 = Console_8       
+keycode  67 = F9              
+	shift	keycode  67 = F19             
+	shift	altgr	keycode  67 = F19             
+	shift	control	keycode  67 = F19             
+	shift	altgr	control	keycode  67 = F19             
+	alt	keycode  67 = Console_9       
+	shift	alt	keycode  67 = Console_9       
+	altgr	alt	keycode  67 = Console_9       
+	shift	altgr	alt	keycode  67 = Console_9       
+	control	alt	keycode  67 = Console_9       
+	shift	control	alt	keycode  67 = Console_9       
+	altgr	control	alt	keycode  67 = Console_9       
+	shift	altgr	control	alt	keycode  67 = Console_9       
+keycode  68 = F10             
+	shift	keycode  68 = F20             
+	shift	altgr	keycode  68 = F20             
+	shift	control	keycode  68 = F20             
+	shift	altgr	control	keycode  68 = F20             
+	alt	keycode  68 = Console_10      
+	shift	alt	keycode  68 = Console_10      
+	altgr	alt	keycode  68 = Console_10      
+	shift	altgr	alt	keycode  68 = Console_10      
+	control	alt	keycode  68 = Console_10      
+	shift	control	alt	keycode  68 = Console_10      
+	altgr	control	alt	keycode  68 = Console_10      
+	shift	altgr	control	alt	keycode  68 = Console_10      
+keycode  69 = Num_Lock        
+keycode  70 = Scroll_Lock     
+	shift	keycode  70 = Show_Memory     
+	shift	altgr	keycode  70 = Show_Memory     
+	control	keycode  70 = Show_State      
+	altgr	control	keycode  70 = Show_State      
+	alt	keycode  70 = Show_Registers  
+	altgr	alt	keycode  70 = Show_Registers  
+keycode  71 = KP_7            
+	alt	keycode  71 = Ascii_7         
+	altgr	alt	keycode  71 = Ascii_7         
+keycode  72 = KP_8            
+	alt	keycode  72 = Ascii_8         
+	altgr	alt	keycode  72 = Ascii_8         
+keycode  73 = KP_9            
+	alt	keycode  73 = Ascii_9         
+	altgr	alt	keycode  73 = Ascii_9         
+keycode  74 = KP_Subtract     
+keycode  75 = KP_4            
+	alt	keycode  75 = Ascii_4         
+	altgr	alt	keycode  75 = Ascii_4         
+keycode  76 = KP_5            
+	alt	keycode  76 = Ascii_5         
+	altgr	alt	keycode  76 = Ascii_5         
+keycode  77 = KP_6            
+	alt	keycode  77 = Ascii_6         
+	altgr	alt	keycode  77 = Ascii_6         
+keycode  78 = KP_Add          
+keycode  79 = KP_1            
+	alt	keycode  79 = Ascii_1         
+	altgr	alt	keycode  79 = Ascii_1         
+keycode  80 = KP_2            
+	alt	keycode  80 = Ascii_2         
+	altgr	alt	keycode  80 = Ascii_2         
+keycode  81 = KP_3            
+	alt	keycode  81 = Ascii_3         
+	altgr	alt	keycode  81 = Ascii_3         
+keycode  82 = KP_0            
+	alt	keycode  82 = Ascii_0         
+	altgr	alt	keycode  82 = Ascii_0         
+keycode  83 = KP_Period       
+	control	alt	keycode  83 = Boot            
+	altgr	control	alt	keycode  83 = Boot            
+keycode  84 = Last_Console    
+keycode  85 =
+keycode  86 = less             greater          less             greater         
+keycode  87 = F11             
+	alt	keycode  87 = Console_11      
+	shift	alt	keycode  87 = Console_11      
+	altgr	alt	keycode  87 = Console_11      
+	shift	altgr	alt	keycode  87 = Console_11      
+	control	alt	keycode  87 = Console_11      
+	shift	control	alt	keycode  87 = Console_11      
+	altgr	control	alt	keycode  87 = Console_11      
+	shift	altgr	control	alt	keycode  87 = Console_11      
+keycode  88 = F12             
+	alt	keycode  88 = Console_12      
+	shift	alt	keycode  88 = Console_12      
+	altgr	alt	keycode  88 = Console_12      
+	shift	altgr	alt	keycode  88 = Console_12      
+	control	alt	keycode  88 = Console_12      
+	shift	control	alt	keycode  88 = Console_12      
+	altgr	control	alt	keycode  88 = Console_12      
+	shift	altgr	control	alt	keycode  88 = Console_12      
+keycode  89 =
+keycode  90 =
+keycode  91 =
+keycode  92 =
+keycode  93 =
+keycode  94 =
+keycode  95 =
+keycode  96 = KP_Enter        
+keycode  97 = Control         
+	shift	keycode  97 = AltGr_Lock      
+	shift	altgr	keycode  97 = AltGr_Lock      
+keycode  98 = KP_Divide       
+keycode  99 = Control_backslash
+keycode 100 = AltGr           
+keycode 101 = Break           
+keycode 102 = Find            
+keycode 103 = Up              
+keycode 104 = Prior           
+	shift	keycode 104 = Scroll_Backward 
+	shift	altgr	keycode 104 = Scroll_Backward 
+keycode 105 = Left            
+	alt	keycode 105 = Decr_Console    
+	altgr	alt	keycode 105 = Decr_Console    
+keycode 106 = Right           
+	alt	keycode 106 = Incr_Console    
+	altgr	alt	keycode 106 = Incr_Console    
+keycode 107 = Select          
+keycode 108 = Down            
+keycode 109 = Next            
+	shift	keycode 109 = Scroll_Forward  
+	shift	altgr	keycode 109 = Scroll_Forward  
+keycode 110 = Insert          
+keycode 111 = Remove          
+	control	alt	keycode 111 = Boot            
+	altgr	control	alt	keycode 111 = Boot            
+keycode 112 = Macro           
+keycode 113 = F13             
+keycode 114 = F14             
+keycode 115 = Help            
+keycode 116 = Do              
+keycode 117 = F17             
+keycode 118 = KP_MinPlus      
+keycode 119 = Pause           
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = AltGr           
+keycode 126 = Compose         
+keycode 127 = AltGr_Lock      
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+string F24 = "\37777777763\37777777777\37777777677o\016\005\010"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/data/keymaps/i386/qwerty/bg_bds-utf8.map b/data/keymaps/i386/qwerty/bg_bds-utf8.map
new file mode 100644
index 0000000..9a4bf84
--- /dev/null
+++ b/data/keymaps/i386/qwerty/bg_bds-utf8.map
@@ -0,0 +1,771 @@
+###  Ver 0.1 - 20021013 
+###  Linux console Bulgarian keymap, BDS (Bulgarian National Standart) cyrillic layout.
+###  Charset: UTF-8 
+###  Author: Peter Georgiev <peterg@mail.bg>
+###
+###     Temporary switching between CYR and LAT is done with AltGr (R_Alt) key or the L_WIN key. 
+###     AltGr (R_Alt), kakto i L_WIN prevkliuchvat vremenno mezhdu CYR i LAT.                                                                     
+###     Permanent switching between CYR and LAT is done with Ctrl+Shift, or the WIN_MENU key.
+###     Ctrl+Shift, kakto i WIN_MENU prevkliuchvat mezhdu CYR i LAT.           
+###
+###	Compose key is R_WIN key.
+###
+###	EURO sign is Ctrl+Alt+E
+###	Ctrl+Alt+E e znak za Evro
+###     
+###	Ctrl+Alt+2 e maimunsko "a" /kliomba/ - @ (dobaveno za udobstvo ot phonetic layout)
+###     Ctrl+Alt+7 e ampersand - & (dobaweno za udobstvo ot latin1 layout)
+
+keymaps 0-15
+alt_is_meta
+strings as usual
+
+keycode   1 = Escape          
+keycode   2 = one              exclam           one              exclam          
+keycode   3 = two             
+	shift	keycode   3 = at              
+	shift	altgr	keycode   3 = question              
+	control	keycode   3 = nul             
+	shift	control	keycode   3 = nul             
+	altgr	control	keycode   3 = nul             
+	altgr	control alt	keycode	  3 = at
+	shift	altgr	control	keycode   3 = nul             
+keycode   4 = three           
+	shift	keycode   4 = numbersign      
+	shift	altgr	keycode   4 = plus      
+	control	keycode   4 = Escape          
+	shift	control	keycode   4 = Escape          
+	altgr	control	keycode   4 = Escape          
+	shift	altgr	control	keycode   4 = Escape          
+keycode   5 = four            
+	shift	keycode   5 = dollar          
+	shift	altgr	keycode   5 = quotedbl          
+	control	keycode   5 = Control_backslash
+	shift	control	keycode   5 = Control_backslash
+	altgr	control	keycode   5 = Control_backslash
+	shift	altgr	control	keycode   5 = Control_backslash
+keycode   6 = five            
+	shift	keycode   6 = percent         
+	shift	altgr	keycode   6 = percent         
+	control	keycode   6 = Control_bracketright
+	shift	control	keycode   6 = Control_bracketright
+	altgr	control	keycode   6 = Control_bracketright
+	shift	altgr	control	keycode   6 = Control_bracketright
+keycode   7 = six             
+	shift	keycode   7 = asciicircum     
+	shift	altgr	keycode   7 = equal     
+	control	keycode   7 = Control_asciicircum
+	shift	control	keycode   7 = Control_asciicircum
+	altgr	control	keycode   7 = Control_asciicircum
+	shift	altgr	control	keycode   7 = Control_asciicircum
+keycode   8 = seven           
+	shift	keycode   8 = ampersand       
+	shift	altgr	keycode   8 = colon       
+	control	keycode   8 = Control_underscore
+	shift	control	keycode   8 = Control_underscore
+	altgr	control	keycode   8 = Control_underscore
+	shift	altgr	control	keycode   8 = Control_underscore
+keycode   9 = eight           
+	shift	keycode   9 = asterisk        
+	shift	altgr	keycode   9 = slash        
+	control	keycode   9 = Delete          
+	shift	control	keycode   9 = Delete          
+	altgr	control	keycode   9 = Delete          
+	shift	altgr	control	keycode   9 = Delete          
+keycode  10 = nine             parenleft        nine             underscore      
+keycode  11 = zero             parenright       zero             U+2116      
+keycode  12 = minus           
+	shift	keycode  12 = underscore      
+	shift	altgr	keycode  12 = I      
+	control	keycode  12 = Control_underscore
+	shift	control	keycode  12 = Control_underscore
+	altgr	control	keycode  12 = Control_underscore
+	shift	altgr	control	keycode  12 = Control_underscore
+keycode  13 = equal            plus             period            V            
+keycode  14 = Delete          
+	control	keycode  14 = BackSpace       
+	shift	control	keycode  14 = BackSpace       
+	altgr	control	keycode  14 = BackSpace       
+	shift	altgr	control	keycode  14 = BackSpace       
+keycode  15 = Tab             
+keycode  16 = +q               
+	shift	keycode  16 = +Q               
+	altgr	keycode  16 = comma
+	shift	altgr	keycode  16 = U+044B
+	control	keycode  16 = Control_q       
+	shift	control	keycode  16 = Control_q       
+	altgr	control	keycode  16 = Control_q       
+	shift	altgr	control	keycode  16 = Control_q       
+	altgr	alt	keycode  16 = Meta_q          
+	shift	altgr	alt	keycode  16 = Meta_Q          
+keycode  17 = +w               
+	shift	keycode  17 = +W               
+	altgr	keycode  17 = U+0443
+	shift	altgr	keycode  17 = U+0423
+	control	keycode  17 = Control_w       
+	shift	control	keycode  17 = Control_w       
+	altgr	control	keycode  17 = Control_w       
+	shift	altgr	control	keycode  17 = Control_w       
+	altgr	alt	keycode  17 = Meta_w          
+	shift	altgr	alt	keycode  17 = Meta_W          
+keycode  18 = +e               
+	shift	keycode  18 = +E               
+	altgr	keycode  18 = U+0435
+	shift	altgr	keycode  18 = U+0415
+	control	keycode  18 = Control_e       
+	control alt     keycode  18 = U+20AC
+	shift	control	keycode  18 = Control_e       
+	altgr	control	keycode  18 = Control_e       
+	shift	altgr	control	keycode  18 = Control_e       
+	altgr	alt	keycode  18 = Meta_e          
+	shift	altgr	alt	keycode  18 = Meta_E          
+	altgr   control alt     keycode  18 = U+20AC 
+keycode  19 = +r               
+	shift	keycode  19 = +R               
+	altgr	keycode  19 = U+0438
+	shift	altgr	keycode  19 = U+0418
+	control	keycode  19 = Control_r       
+	shift	control	keycode  19 = Control_r       
+	altgr	control	keycode  19 = Control_r       
+	shift	altgr	control	keycode  19 = Control_r       
+	altgr	alt	keycode  19 = Meta_r          
+	shift	altgr	alt	keycode  19 = Meta_R          
+keycode  20 = +t               
+	shift	keycode  20 = +T               
+	altgr	keycode  20 = U+0448
+	shift	altgr	keycode  20 = U+0428
+	control	keycode  20 = Control_t       
+	shift	control	keycode  20 = Control_t       
+	altgr	control	keycode  20 = Control_t       
+	shift	altgr	control	keycode  20 = Control_t       
+	altgr	alt	keycode  20 = Meta_t          
+	shift	altgr	alt	keycode  20 = Meta_T          
+keycode  21 = +y               
+	shift	keycode  21 = +Y               
+	altgr	keycode  21 = U+0449
+	shift	altgr	keycode  21 = U+0429
+	control	keycode  21 = Control_y       
+	shift	control	keycode  21 = Control_y       
+	altgr	control	keycode  21 = Control_y       
+	shift	altgr	control	keycode  21 = Control_y       
+	altgr	alt	keycode  21 = Meta_y          
+	shift	altgr	alt	keycode  21 = Meta_Y          
+keycode  22 = +u               
+	shift	keycode  22 = +U               
+	altgr	keycode  22 = U+043A
+	shift	altgr	keycode  22 = U+041A
+	control	keycode  22 = Control_u       
+	shift	control	keycode  22 = Control_u       
+	altgr	control	keycode  22 = Control_u       
+	shift	altgr	control	keycode  22 = Control_u       
+	altgr	alt	keycode  22 = Meta_u          
+	shift	altgr	alt	keycode  22 = Meta_U          
+keycode  23 = +i               
+	shift	keycode  23 = +I               
+	altgr	keycode  23 = U+0441
+	shift	altgr	keycode  23 = U+0421
+	control	keycode  23 = Tab             
+	shift	control	keycode  23 = Tab             
+	altgr	control	keycode  23 = Tab             
+	shift	altgr	control	keycode  23 = Tab             
+	altgr	alt	keycode  23 = Meta_i          
+	shift	altgr	alt	keycode  23 = Meta_I          
+keycode  24 = +o               
+	shift	keycode  24 = +O               
+	altgr	keycode  24 = U+0434
+	shift	altgr	keycode  24 = U+0414 
+	control	keycode  24 = Control_o       
+	shift	control	keycode  24 = Control_o       
+	altgr	control	keycode  24 = Control_o       
+	shift	altgr	control	keycode  24 = Control_o       
+	altgr	alt	keycode  24 = Meta_o          
+	shift	altgr	alt	keycode  24 = Meta_O          
+keycode  25 = +p               
+	shift	keycode  25 = +P               
+	altgr	keycode  25 = U+0437
+	shift	altgr	keycode  25 = U+0417
+	control	keycode  25 = Control_p       
+	shift	control	keycode  25 = Control_p       
+	altgr	control	keycode  25 = Control_p       
+	shift	altgr	control	keycode  25 = Control_p       
+	altgr	alt	keycode  25 = Meta_p          
+	shift	altgr	alt	keycode  25 = Meta_P          
+keycode  26 = bracketleft     
+	shift	keycode  26 = braceleft       
+	altgr	keycode  26 = U+0446
+	shift	altgr	keycode  26 = U+0426
+	control	keycode  26 = Escape          
+	shift	control	keycode  26 = Escape          
+	altgr	control	keycode  26 = Escape          
+	shift	altgr	control	keycode  26 = Escape          
+	altgr	alt	keycode  26 = Meta_bracketleft
+	shift	altgr	alt	keycode  26 = Meta_braceleft  
+keycode  27 = bracketright    
+	shift	keycode  27 = braceright      
+	altgr	keycode  27 = colon          
+	shift	altgr	keycode  27 = U+00A7
+	control	keycode  27 = Control_bracketright
+	shift	control	keycode  27 = Control_bracketright
+	altgr	control	keycode  27 = Control_bracketright
+	shift	altgr	control	keycode  27 = Control_bracketright
+	altgr	alt	keycode  27 = Meta_bracketright
+	shift	altgr	alt	keycode  27 = Meta_braceright 
+keycode  28 = Return          
+	alt	keycode  28 = Meta_Control_m  
+	shift	alt	keycode  28 = Meta_Control_m  
+	altgr	alt	keycode  28 = Meta_Control_m  
+	shift	altgr	alt	keycode  28 = Meta_Control_m  
+	control	alt	keycode  28 = Meta_Control_m  
+	shift	control	alt	keycode  28 = Meta_Control_m  
+	altgr	control	alt	keycode  28 = Meta_Control_m  
+	shift	altgr	control	alt	keycode  28 = Meta_Control_m  
+keycode  29 = Control         
+	shift	keycode  29 = AltGr_Lock      
+	shift	altgr	keycode  29 = AltGr_Lock      
+keycode  30 = +a               
+	shift	keycode  30 = +A               
+	altgr	keycode  30 = U+044C
+	shift	altgr	keycode  30 = U+042C
+	control	keycode  30 = Control_a       
+	shift	control	keycode  30 = Control_a       
+	altgr	control	keycode  30 = Control_a       
+	shift	altgr	control	keycode  30 = Control_a       
+	altgr	alt	keycode  30 = Meta_a          
+	shift	altgr	alt	keycode  30 = Meta_A          
+keycode  31 = +s               
+	shift	keycode  31 = +S               
+	altgr	keycode  31 = U+044F
+	shift	altgr	keycode  31 = U+042F
+	control	keycode  31 = Control_s       
+	shift	control	keycode  31 = Control_s       
+	altgr	control	keycode  31 = Control_s       
+	shift	altgr	control	keycode  31 = Control_s       
+	altgr	alt	keycode  31 = Meta_s          
+	shift	altgr	alt	keycode  31 = Meta_S          
+keycode  32 = +d               
+	shift	keycode  32 = +D               
+	altgr	keycode  32 = U+0430
+	shift	altgr	keycode  32 = U+0410
+	control	keycode  32 = Control_d       
+	shift	control	keycode  32 = Control_d       
+	altgr	control	keycode  32 = Control_d       
+	shift	altgr	control	keycode  32 = Control_d       
+	altgr	alt	keycode  32 = Meta_d          
+	shift	altgr	alt	keycode  32 = Meta_D          
+keycode  33 = +f               
+	shift	keycode  33 = +F               
+	altgr	keycode  33 = U+043E
+	shift	altgr	keycode  33 = U+041E
+	control	keycode  33 = Control_f       
+	shift	control	keycode  33 = Control_f       
+	altgr	control	keycode  33 = Control_f       
+	shift	altgr	control	keycode  33 = Control_f       
+	altgr	alt	keycode  33 = Meta_f          
+	shift	altgr	alt	keycode  33 = Meta_F          
+keycode  34 = +g               
+	shift	keycode  34 = +G               
+	altgr	keycode  34 = U+0436
+	shift	altgr	keycode  34 = U+0416
+	control	keycode  34 = Control_g       
+	shift	control	keycode  34 = Control_g       
+	altgr	control	keycode  34 = Control_g       
+	shift	altgr	control	keycode  34 = Control_g       
+	altgr	alt	keycode  34 = Meta_g          
+	shift	altgr	alt	keycode  34 = Meta_G          
+keycode  35 = +h               
+	shift	keycode  35 = +H               
+	altgr	keycode  35 = U+0433
+	shift	altgr	keycode  35 = U+0413
+	control	keycode  35 = BackSpace       
+	shift	control	keycode  35 = BackSpace       
+	altgr	control	keycode  35 = BackSpace       
+	shift	altgr	control	keycode  35 = BackSpace       
+	altgr	alt	keycode  35 = Meta_h          
+	shift	altgr	alt	keycode  35 = Meta_H          
+keycode  36 = +j               
+	shift	keycode  36 = +J               
+	altgr	keycode  36 = U+0442
+	shift	altgr	keycode  36 = U+0422
+	control	keycode  36 = Linefeed        
+	shift	control	keycode  36 = Linefeed        
+	altgr	control	keycode  36 = Linefeed        
+	shift	altgr	control	keycode  36 = Linefeed        
+	altgr	alt	keycode  36 = Meta_j          
+	shift	altgr	alt	keycode  36 = Meta_J          
+keycode  37 = +k               
+	shift	keycode  37 = +K               
+	altgr	keycode  37 = U+043D
+	shift	altgr	keycode  37 = U+041D
+	control	keycode  37 = Control_k       
+	shift	control	keycode  37 = Control_k       
+	altgr	control	keycode  37 = Control_k       
+	shift	altgr	control	keycode  37 = Control_k       
+	altgr	alt	keycode  37 = Meta_k          
+	shift	altgr	alt	keycode  37 = Meta_K          
+keycode  38 = +l               
+	shift	keycode  38 = +L               
+	altgr	keycode  38 = U+0432
+	shift	altgr	keycode  38 = U+0412
+	control	keycode  38 = Control_l       
+	shift	control	keycode  38 = Control_l       
+	altgr	control	keycode  38 = Control_l       
+	shift	altgr	control	keycode  38 = Control_l       
+	altgr	alt	keycode  38 = Meta_l          
+	shift	altgr	alt	keycode  38 = Meta_L          
+keycode  39 = semicolon        colon            U+043C        U+041C           
+keycode  40 = apostrophe       quotedbl		U+0447	      U+0427
+	control	keycode  40 = Control_g       
+	shift	control	keycode  40 = Control_g       
+	altgr	control	keycode  40 = Control_g       
+	shift	altgr	control	keycode  40 = Control_g       
+keycode  41 = grave     asciitilde		grave	      asciitilde      
+	control	keycode  41 = nul             
+	shift	control	keycode  41 = nul             
+	altgr	control	keycode  41 = nul             
+	shift	altgr	control	keycode  41 = nul             
+	altgr	alt	keycode  41 = Meta_grave      
+	shift	altgr	alt	keycode  41 = Meta_asciitilde 
+keycode  42 = Shift           
+	control	keycode  42 = AltGr_Lock      
+	altgr	control	keycode  42 = AltGr_Lock      
+keycode  43 = backslash       
+	shift	keycode  43 = bar             
+	altgr	keycode  43 = parenleft
+	shift	altgr	keycode  43 = parenright
+	control	keycode  43 = Control_backslash
+	shift	control	keycode  43 = Control_backslash
+	altgr	control	keycode  43 = Control_backslash
+	shift	altgr	control	keycode  43 = Control_backslash
+	altgr	alt	keycode  43 = Meta_backslash  
+	shift	altgr	alt	keycode  43 = Meta_bar        
+keycode  44 = +z               
+	shift	keycode  44 = +Z               
+	altgr	keycode  44 = U+044E
+	shift	altgr	keycode  44 = U+042E
+	control	keycode  44 = Control_z       
+	shift	control	keycode  44 = Control_z       
+	altgr	control	keycode  44 = Control_z       
+	shift	altgr	control	keycode  44 = Control_z       
+	altgr	alt	keycode  44 = Meta_z          
+	shift	altgr	alt	keycode  44 = Meta_Z          
+keycode  45 = +x               
+	shift	keycode  45 = +X               
+	altgr	keycode  45 = U+0439
+	shift	altgr	keycode  45 = U+0419
+	control	keycode  45 = Control_x       
+	shift	control	keycode  45 = Control_x       
+	altgr	control	keycode  45 = Control_x       
+	shift	altgr	control	keycode  45 = Control_x       
+	altgr	alt	keycode  45 = Meta_x          
+	shift	altgr	alt	keycode  45 = Meta_X          
+keycode  46 = +c               
+	shift	keycode  46 = +C               
+	altgr	keycode  46 = U+044A
+	shift	altgr	keycode  46 = U+042A
+	control	keycode  46 = Control_c       
+	shift	control	keycode  46 = Control_c       
+	altgr	control	keycode  46 = Control_c       
+	shift	altgr	control	keycode  46 = Control_c       
+	altgr	alt	keycode  46 = Meta_c          
+	shift	altgr	alt	keycode  46 = Meta_C          
+keycode  47 = +v               
+	shift	keycode  47 = +V               
+	altgr	keycode  47 = U+044D
+	shift	altgr	keycode  47 = U+042D
+	control	keycode  47 = Control_v       
+	shift	control	keycode  47 = Control_v       
+	altgr	control	keycode  47 = Control_v       
+	shift	altgr	control	keycode  47 = Control_v       
+	altgr	alt	keycode  47 = Meta_v          
+	shift	altgr	alt	keycode  47 = Meta_V          
+keycode  48 = +b               
+	shift	keycode  48 = +B               
+	altgr	keycode  48 = U+0444
+	shift	altgr	keycode  48 = U+0424
+	control	keycode  48 = Control_b       
+	shift	control	keycode  48 = Control_b       
+	altgr	control	keycode  48 = Control_b       
+	shift	altgr	control	keycode  48 = Control_b       
+	altgr	alt	keycode  48 = Meta_b          
+	shift	altgr	alt	keycode  48 = Meta_B          
+keycode  49 = +n               
+	shift	keycode  49 = +N               
+	altgr	keycode  49 = U+0445
+	shift	altgr	keycode  49 = U+0425
+	control	keycode  49 = Control_n       
+	shift	control	keycode  49 = Control_n       
+	altgr	control	keycode  49 = Control_n       
+	shift	altgr	control	keycode  49 = Control_n       
+	altgr	alt	keycode  49 = Meta_n          
+	shift	altgr	alt	keycode  49 = Meta_N          
+keycode  50 = +m               
+	shift	keycode  50 = +M               
+	altgr	keycode  50 = U+043F
+	shift	altgr	keycode  50 = U+041F
+	control	keycode  50 = Control_m       
+	shift	control	keycode  50 = Control_m       
+	altgr	control	keycode  50 = Control_m       
+	shift	altgr	control	keycode  50 = Control_m       
+	altgr	alt	keycode  50 = Meta_m          
+	shift	altgr	alt	keycode  50 = Meta_M          
+keycode  51 = comma     less             U+0440         U+0420            
+keycode  52 = period    greater          U+043B         U+041B          Compose         
+	altgr	control	keycode  52 = Compose         
+keycode  53 = slash     question	 U+0431		U+0411     
+	control	keycode  53 = Delete          
+	shift	control	keycode  53 = Delete          
+	altgr	control	keycode  53 = Delete          
+	shift	altgr	control	keycode  53 = Delete          
+keycode  54 = Shift           
+	control	keycode  54 = AltGr_Lock      
+	altgr	control	keycode  54 = AltGr_Lock      
+keycode  55 = KP_Multiply     
+keycode  56 = Alt             
+keycode  57 = space           
+	control	keycode  57 = nul             
+	shift	control	keycode  57 = nul             
+	altgr	control	keycode  57 = nul             
+	shift	altgr	control	keycode  57 = nul             
+keycode  58 = Caps_Lock       
+keycode  59 = F1              
+	shift	keycode  59 = F11             
+	shift	altgr	keycode  59 = F11             
+	shift	control	keycode  59 = F11             
+	shift	altgr	control	keycode  59 = F11             
+	alt	keycode  59 = Console_1       
+	shift	alt	keycode  59 = Console_1       
+	altgr	alt	keycode  59 = Console_1       
+	shift	altgr	alt	keycode  59 = Console_1       
+	control	alt	keycode  59 = Console_1       
+	shift	control	alt	keycode  59 = Console_1       
+	altgr	control	alt	keycode  59 = Console_1       
+	shift	altgr	control	alt	keycode  59 = Console_1       
+keycode  60 = F2              
+	shift	keycode  60 = F12             
+	shift	altgr	keycode  60 = F12             
+	shift	control	keycode  60 = F12             
+	shift	altgr	control	keycode  60 = F12             
+	alt	keycode  60 = Console_2       
+	shift	alt	keycode  60 = Console_2       
+	altgr	alt	keycode  60 = Console_2       
+	shift	altgr	alt	keycode  60 = Console_2       
+	control	alt	keycode  60 = Console_2       
+	shift	control	alt	keycode  60 = Console_2       
+	altgr	control	alt	keycode  60 = Console_2       
+	shift	altgr	control	alt	keycode  60 = Console_2       
+keycode  61 = F3              
+	shift	keycode  61 = F13             
+	shift	altgr	keycode  61 = F13             
+	shift	control	keycode  61 = F13             
+	shift	altgr	control	keycode  61 = F13             
+	alt	keycode  61 = Console_3       
+	shift	alt	keycode  61 = Console_3       
+	altgr	alt	keycode  61 = Console_3       
+	shift	altgr	alt	keycode  61 = Console_3       
+	control	alt	keycode  61 = Console_3       
+	shift	control	alt	keycode  61 = Console_3       
+	altgr	control	alt	keycode  61 = Console_3       
+	shift	altgr	control	alt	keycode  61 = Console_3       
+keycode  62 = F4              
+	shift	keycode  62 = F14             
+	shift	altgr	keycode  62 = F14             
+	shift	control	keycode  62 = F14             
+	shift	altgr	control	keycode  62 = F14             
+	alt	keycode  62 = Console_4       
+	shift	alt	keycode  62 = Console_4       
+	altgr	alt	keycode  62 = Console_4       
+	shift	altgr	alt	keycode  62 = Console_4       
+	control	alt	keycode  62 = Console_4       
+	shift	control	alt	keycode  62 = Console_4       
+	altgr	control	alt	keycode  62 = Console_4       
+	shift	altgr	control	alt	keycode  62 = Console_4       
+keycode  63 = F5              
+	shift	keycode  63 = F15             
+	shift	altgr	keycode  63 = F15             
+	shift	control	keycode  63 = F15             
+	shift	altgr	control	keycode  63 = F15             
+	alt	keycode  63 = Console_5       
+	shift	alt	keycode  63 = Console_5       
+	altgr	alt	keycode  63 = Console_5       
+	shift	altgr	alt	keycode  63 = Console_5       
+	control	alt	keycode  63 = Console_5       
+	shift	control	alt	keycode  63 = Console_5       
+	altgr	control	alt	keycode  63 = Console_5       
+	shift	altgr	control	alt	keycode  63 = Console_5       
+keycode  64 = F6              
+	shift	keycode  64 = F16             
+	shift	altgr	keycode  64 = F16             
+	shift	control	keycode  64 = F16             
+	shift	altgr	control	keycode  64 = F16             
+	alt	keycode  64 = Console_6       
+	shift	alt	keycode  64 = Console_6       
+	altgr	alt	keycode  64 = Console_6       
+	shift	altgr	alt	keycode  64 = Console_6       
+	control	alt	keycode  64 = Console_6       
+	shift	control	alt	keycode  64 = Console_6       
+	altgr	control	alt	keycode  64 = Console_6       
+	shift	altgr	control	alt	keycode  64 = Console_6       
+keycode  65 = F7              
+	shift	keycode  65 = F17             
+	shift	altgr	keycode  65 = F17             
+	shift	control	keycode  65 = F17             
+	shift	altgr	control	keycode  65 = F17             
+	alt	keycode  65 = Console_7       
+	shift	alt	keycode  65 = Console_7       
+	altgr	alt	keycode  65 = Console_7       
+	shift	altgr	alt	keycode  65 = Console_7       
+	control	alt	keycode  65 = Console_7       
+	shift	control	alt	keycode  65 = Console_7       
+	altgr	control	alt	keycode  65 = Console_7       
+	shift	altgr	control	alt	keycode  65 = Console_7       
+keycode  66 = F8              
+	shift	keycode  66 = F18             
+	shift	altgr	keycode  66 = F18             
+	shift	control	keycode  66 = F18             
+	shift	altgr	control	keycode  66 = F18             
+	alt	keycode  66 = Console_8       
+	shift	alt	keycode  66 = Console_8       
+	altgr	alt	keycode  66 = Console_8       
+	shift	altgr	alt	keycode  66 = Console_8       
+	control	alt	keycode  66 = Console_8       
+	shift	control	alt	keycode  66 = Console_8       
+	altgr	control	alt	keycode  66 = Console_8       
+	shift	altgr	control	alt	keycode  66 = Console_8       
+keycode  67 = F9              
+	shift	keycode  67 = F19             
+	shift	altgr	keycode  67 = F19             
+	shift	control	keycode  67 = F19             
+	shift	altgr	control	keycode  67 = F19             
+	alt	keycode  67 = Console_9       
+	shift	alt	keycode  67 = Console_9       
+	altgr	alt	keycode  67 = Console_9       
+	shift	altgr	alt	keycode  67 = Console_9       
+	control	alt	keycode  67 = Console_9       
+	shift	control	alt	keycode  67 = Console_9       
+	altgr	control	alt	keycode  67 = Console_9       
+	shift	altgr	control	alt	keycode  67 = Console_9       
+keycode  68 = F10             
+	shift	keycode  68 = F20             
+	shift	altgr	keycode  68 = F20             
+	shift	control	keycode  68 = F20             
+	shift	altgr	control	keycode  68 = F20             
+	alt	keycode  68 = Console_10      
+	shift	alt	keycode  68 = Console_10      
+	altgr	alt	keycode  68 = Console_10      
+	shift	altgr	alt	keycode  68 = Console_10      
+	control	alt	keycode  68 = Console_10      
+	shift	control	alt	keycode  68 = Console_10      
+	altgr	control	alt	keycode  68 = Console_10      
+	shift	altgr	control	alt	keycode  68 = Console_10      
+keycode  69 = Num_Lock        
+keycode  70 = Scroll_Lock     
+	shift	keycode  70 = Show_Memory     
+	shift	altgr	keycode  70 = Show_Memory     
+	control	keycode  70 = Show_State      
+	altgr	control	keycode  70 = Show_State      
+	alt	keycode  70 = Show_Registers  
+	altgr	alt	keycode  70 = Show_Registers  
+keycode  71 = KP_7            
+	alt	keycode  71 = Ascii_7         
+	altgr	alt	keycode  71 = Ascii_7         
+keycode  72 = KP_8            
+	alt	keycode  72 = Ascii_8         
+	altgr	alt	keycode  72 = Ascii_8         
+keycode  73 = KP_9            
+	alt	keycode  73 = Ascii_9         
+	altgr	alt	keycode  73 = Ascii_9         
+keycode  74 = KP_Subtract     
+keycode  75 = KP_4            
+	alt	keycode  75 = Ascii_4         
+	altgr	alt	keycode  75 = Ascii_4         
+keycode  76 = KP_5            
+	alt	keycode  76 = Ascii_5         
+	altgr	alt	keycode  76 = Ascii_5         
+keycode  77 = KP_6            
+	alt	keycode  77 = Ascii_6         
+	altgr	alt	keycode  77 = Ascii_6         
+keycode  78 = KP_Add          
+keycode  79 = KP_1            
+	alt	keycode  79 = Ascii_1         
+	altgr	alt	keycode  79 = Ascii_1         
+keycode  80 = KP_2            
+	alt	keycode  80 = Ascii_2         
+	altgr	alt	keycode  80 = Ascii_2         
+keycode  81 = KP_3            
+	alt	keycode  81 = Ascii_3         
+	altgr	alt	keycode  81 = Ascii_3         
+keycode  82 = KP_0            
+	alt	keycode  82 = Ascii_0         
+	altgr	alt	keycode  82 = Ascii_0         
+keycode  83 = KP_Period       
+	control	alt	keycode  83 = Boot            
+	altgr	control	alt	keycode  83 = Boot            
+keycode  84 = Last_Console    
+keycode  85 =
+keycode  86 = less             greater          less             greater         
+keycode  87 = F11             
+	alt	keycode  87 = Console_11      
+	shift	alt	keycode  87 = Console_11      
+	altgr	alt	keycode  87 = Console_11      
+	shift	altgr	alt	keycode  87 = Console_11      
+	control	alt	keycode  87 = Console_11      
+	shift	control	alt	keycode  87 = Console_11      
+	altgr	control	alt	keycode  87 = Console_11      
+	shift	altgr	control	alt	keycode  87 = Console_11      
+keycode  88 = F12             
+	alt	keycode  88 = Console_12      
+	shift	alt	keycode  88 = Console_12      
+	altgr	alt	keycode  88 = Console_12      
+	shift	altgr	alt	keycode  88 = Console_12      
+	control	alt	keycode  88 = Console_12      
+	shift	control	alt	keycode  88 = Console_12      
+	altgr	control	alt	keycode  88 = Console_12      
+	shift	altgr	control	alt	keycode  88 = Console_12      
+keycode  89 =
+keycode  90 =
+keycode  91 =
+keycode  92 =
+keycode  93 =
+keycode  94 =
+keycode  95 =
+keycode  96 = KP_Enter        
+keycode  97 = Control         
+	shift	keycode  97 = AltGr_Lock      
+	shift	altgr	keycode  97 = AltGr_Lock      
+keycode  98 = KP_Divide       
+keycode  99 = Control_backslash
+keycode 100 = AltGr           
+keycode 101 = Break           
+keycode 102 = Find            
+keycode 103 = Up              
+keycode 104 = Prior           
+	shift	keycode 104 = Scroll_Backward 
+	shift	altgr	keycode 104 = Scroll_Backward 
+keycode 105 = Left            
+	alt	keycode 105 = Decr_Console    
+	altgr	alt	keycode 105 = Decr_Console    
+keycode 106 = Right           
+	alt	keycode 106 = Incr_Console    
+	altgr	alt	keycode 106 = Incr_Console    
+keycode 107 = Select          
+keycode 108 = Down            
+keycode 109 = Next            
+	shift	keycode 109 = Scroll_Forward  
+	shift	altgr	keycode 109 = Scroll_Forward  
+keycode 110 = Insert          
+keycode 111 = Remove          
+	control	alt	keycode 111 = Boot            
+	altgr	control	alt	keycode 111 = Boot            
+keycode 112 = Macro           
+keycode 113 = F13             
+keycode 114 = F14             
+keycode 115 = Help            
+keycode 116 = Do              
+keycode 117 = F17             
+keycode 118 = KP_MinPlus      
+keycode 119 = Pause           
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = AltGr           
+keycode 126 = Compose         
+keycode 127 = AltGr_Lock      
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+string F24 = "\37777777763\37777777777\37777777677o\016\005\010"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/data/keymaps/i386/qwerty/bg_pho-cp1251.map b/data/keymaps/i386/qwerty/bg_pho-cp1251.map
new file mode 100644
index 0000000..5751287
--- /dev/null
+++ b/data/keymaps/i386/qwerty/bg_pho-cp1251.map
@@ -0,0 +1,778 @@
+###  Ver 0.2 - 20021013 
+###  Linux console Bulgarian keymap, phonetic cyrillic layout.
+###  Charset: CP1251 
+###  Author: Peter Georgiev <peterg@mail.bg>
+###
+###     Temporary switching between CYR and LAT is done with AltGr (R_Alt) key or the L_WIN key. 
+###     AltGr (R_Alt), kakto i L_WIN prevkliuchvat vremenno mezhdu CYR i LAT.                                                                     
+###     Permanent switching between CYR and LAT is done with Ctrl+Shift, or the WIN_MENU key.
+###     Ctrl+Shift, kakto i WIN_MENU prevkliuchvat mezhdu CYR i LAT.           
+###
+###	Compose key is R_WIN key.
+###
+###	EURO sign is Ctrl+Alt+E
+###	Ctrl+Alt+E e znak za Evro
+###     Number sign is Ctrl+Alt+0 (as per BDS layout)
+###	Ctrl+Alt+0 e znak za nomer (dobaven za udobstvo ot BDS layout)
+
+keymaps 0-15
+alt_is_meta
+strings as usual
+
+keycode   1 = Escape          
+keycode   2 = one              exclam           one              exclam          
+keycode   3 = two             
+	shift	keycode   3 = at              
+	shift	altgr	keycode   3 = at              
+	control	keycode   3 = nul             
+	shift	control	keycode   3 = nul             
+	altgr	control	keycode   3 = nul             
+	shift	altgr	control	keycode   3 = nul             
+keycode   4 = three           
+	shift	keycode   4 = numbersign      
+	shift	altgr	keycode   4 = numbersign      
+	control	keycode   4 = Escape          
+	shift	control	keycode   4 = Escape          
+	altgr	control	keycode   4 = Escape          
+	shift	altgr	control	keycode   4 = Escape          
+keycode   5 = four            
+	shift	keycode   5 = dollar          
+	shift	altgr	keycode   5 = dollar          
+	control	keycode   5 = Control_backslash
+	shift	control	keycode   5 = Control_backslash
+	altgr	control	keycode   5 = Control_backslash
+	shift	altgr	control	keycode   5 = Control_backslash
+keycode   6 = five            
+	shift	keycode   6 = percent         
+	shift	altgr	keycode   6 = percent         
+	control	keycode   6 = Control_bracketright
+	shift	control	keycode   6 = Control_bracketright
+	altgr	control	keycode   6 = Control_bracketright
+	shift	altgr	control	keycode   6 = Control_bracketright
+keycode   7 = six             
+	shift	keycode   7 = asciicircum     
+	shift	altgr	keycode   7 = asciicircum     
+	control	keycode   7 = Control_asciicircum
+	shift	control	keycode   7 = Control_asciicircum
+	altgr	control	keycode   7 = Control_asciicircum
+	shift	altgr	control	keycode   7 = Control_asciicircum
+keycode   8 = seven           
+	shift	keycode   8 = ampersand       
+	shift	altgr	keycode   8 = ampersand       
+	control	keycode   8 = Control_underscore
+	shift	control	keycode   8 = Control_underscore
+	altgr	control	keycode   8 = Control_underscore
+	shift	altgr	control	keycode   8 = Control_underscore
+keycode   9 = eight           
+	shift	keycode   9 = asterisk        
+	shift	altgr	keycode   9 = asterisk        
+	control	keycode   9 = Delete          
+	shift	control	keycode   9 = Delete          
+	altgr	control	keycode   9 = Delete          
+	shift	altgr	control	keycode   9 = Delete          
+keycode  10 = nine             parenleft        nine             parenleft       
+keycode  11 = zero             parenright       zero             parenright      
+	control alt     keycode  11 = +0xB9
+	altgr   control alt	keycode	11 = +0xB9	
+keycode  12 = minus           
+	shift	keycode  12 = underscore      
+	shift	altgr	keycode  12 = underscore      
+	control	keycode  12 = Control_underscore
+	shift	control	keycode  12 = Control_underscore
+	altgr	control	keycode  12 = Control_underscore
+	shift	altgr	control	keycode  12 = Control_underscore
+keycode  13 = equal            plus             equal            plus            
+keycode  14 = Delete          
+	control	keycode  14 = BackSpace       
+	shift	control	keycode  14 = BackSpace       
+	altgr	control	keycode  14 = BackSpace       
+	shift	altgr	control	keycode  14 = BackSpace       
+keycode  15 = Tab             
+keycode  16 = +q               
+	shift	keycode  16 = +Q               
+	altgr	keycode  16 = +0xFF
+	shift	altgr	keycode  16 = +0xDF
+	control	keycode  16 = Control_q       
+	shift	control	keycode  16 = Control_q       
+	altgr	control	keycode  16 = Control_q       
+	shift	altgr	control	keycode  16 = Control_q       
+	altgr	alt	keycode  16 = Meta_q          
+	shift	altgr	alt	keycode  16 = Meta_Q          
+keycode  17 = +w               
+	shift	keycode  17 = +W               
+	altgr	keycode  17 = +0xE2
+	shift	altgr	keycode  17 = +0xC2
+	control	keycode  17 = Control_w       
+	shift	control	keycode  17 = Control_w       
+	altgr	control	keycode  17 = Control_w       
+	shift	altgr	control	keycode  17 = Control_w       
+	altgr	alt	keycode  17 = Meta_w          
+	shift	altgr	alt	keycode  17 = Meta_W          
+keycode  18 = +e               
+	shift	keycode  18 = +E               
+	altgr	keycode  18 = +0xE5
+	shift	altgr	keycode  18 = +0xC5
+	control	keycode  18 = Control_e       
+	control alt     keycode  18 = +0x88
+	shift	control	keycode  18 = Control_e       
+	altgr	control	keycode  18 = Control_e       
+	shift	altgr	control	keycode  18 = Control_e       
+	altgr	alt	keycode  18 = Meta_e          
+	shift	altgr	alt	keycode  18 = Meta_E          
+	altgr   control alt     keycode  18 = +0x88 
+keycode  19 = +r               
+	shift	keycode  19 = +R               
+	altgr	keycode  19 = +0xF0
+	shift	altgr	keycode  19 = +0xD0
+	control	keycode  19 = Control_r       
+	shift	control	keycode  19 = Control_r       
+	altgr	control	keycode  19 = Control_r       
+	shift	altgr	control	keycode  19 = Control_r       
+	altgr	alt	keycode  19 = Meta_r          
+	shift	altgr	alt	keycode  19 = Meta_R          
+keycode  20 = +t               
+	shift	keycode  20 = +T               
+	altgr	keycode  20 = +0xF2
+	shift	altgr	keycode  20 = +0xD2
+	control	keycode  20 = Control_t       
+	shift	control	keycode  20 = Control_t       
+	altgr	control	keycode  20 = Control_t       
+	shift	altgr	control	keycode  20 = Control_t       
+	altgr	alt	keycode  20 = Meta_t          
+	shift	altgr	alt	keycode  20 = Meta_T          
+keycode  21 = +y               
+	shift	keycode  21 = +Y               
+	altgr	keycode  21 = +0xFA
+	shift	altgr	keycode  21 = +0xDA
+	control	keycode  21 = Control_y       
+	shift	control	keycode  21 = Control_y       
+	altgr	control	keycode  21 = Control_y       
+	shift	altgr	control	keycode  21 = Control_y       
+	altgr	alt	keycode  21 = Meta_y          
+	shift	altgr	alt	keycode  21 = Meta_Y          
+keycode  22 = +u               
+	shift	keycode  22 = +U               
+	altgr	keycode  22 = +0xF3
+	shift	altgr	keycode  22 = +0xD3
+	control	keycode  22 = Control_u       
+	shift	control	keycode  22 = Control_u       
+	altgr	control	keycode  22 = Control_u       
+	shift	altgr	control	keycode  22 = Control_u       
+	altgr	alt	keycode  22 = Meta_u          
+	shift	altgr	alt	keycode  22 = Meta_U          
+keycode  23 = +i               
+	shift	keycode  23 = +I               
+	altgr	keycode  23 = +0xE8
+	shift	altgr	keycode  23 = +0xC8
+	control	keycode  23 = Tab             
+	shift	control	keycode  23 = Tab             
+	altgr	control	keycode  23 = Tab             
+	shift	altgr	control	keycode  23 = Tab             
+	altgr	alt	keycode  23 = Meta_i          
+	shift	altgr	alt	keycode  23 = Meta_I          
+keycode  24 = +o               
+	shift	keycode  24 = +O               
+	altgr	keycode  24 = +0xEE
+	shift	altgr	keycode  24 = +0xCE 
+	control	keycode  24 = Control_o       
+	shift	control	keycode  24 = Control_o       
+	altgr	control	keycode  24 = Control_o       
+	shift	altgr	control	keycode  24 = Control_o       
+	altgr	alt	keycode  24 = Meta_o          
+	shift	altgr	alt	keycode  24 = Meta_O          
+keycode  25 = +p               
+	shift	keycode  25 = +P               
+	altgr	keycode  25 = +0xEF
+	shift	altgr	keycode  25 = +0xCF
+	control	keycode  25 = Control_p       
+	shift	control	keycode  25 = Control_p       
+	altgr	control	keycode  25 = Control_p       
+	shift	altgr	control	keycode  25 = Control_p       
+	altgr	alt	keycode  25 = Meta_p          
+	shift	altgr	alt	keycode  25 = Meta_P          
+keycode  26 = bracketleft     
+	shift	keycode  26 = braceleft       
+	altgr	keycode  26 = +0xF8
+	shift	altgr	keycode  26 = +0xD8
+	control	keycode  26 = Escape          
+	shift	control	keycode  26 = Escape          
+	altgr	control	keycode  26 = Escape          
+	shift	altgr	control	keycode  26 = Escape          
+	altgr	alt	keycode  26 = Meta_bracketleft
+	shift	altgr	alt	keycode  26 = Meta_braceleft  
+keycode  27 = bracketright    
+	shift	keycode  27 = braceright      
+	altgr	keycode  27 = +0xF9          
+	shift	altgr	keycode  27 = +0xD9
+	control	keycode  27 = Control_bracketright
+	shift	control	keycode  27 = Control_bracketright
+	altgr	control	keycode  27 = Control_bracketright
+	shift	altgr	control	keycode  27 = Control_bracketright
+	altgr	alt	keycode  27 = Meta_bracketright
+	shift	altgr	alt	keycode  27 = Meta_braceright 
+keycode  28 = Return          
+	alt	keycode  28 = Meta_Control_m  
+	shift	alt	keycode  28 = Meta_Control_m  
+	altgr	alt	keycode  28 = Meta_Control_m  
+	shift	altgr	alt	keycode  28 = Meta_Control_m  
+	control	alt	keycode  28 = Meta_Control_m  
+	shift	control	alt	keycode  28 = Meta_Control_m  
+	altgr	control	alt	keycode  28 = Meta_Control_m  
+	shift	altgr	control	alt	keycode  28 = Meta_Control_m  
+keycode  29 = Control         
+	shift	keycode  29 = AltGr_Lock      
+	shift	altgr	keycode  29 = AltGr_Lock      
+keycode  30 = +a               
+	shift	keycode  30 = +A               
+	altgr	keycode  30 = +0xE0
+	shift	altgr	keycode  30 = +0xC0
+	control	keycode  30 = Control_a       
+	shift	control	keycode  30 = Control_a       
+	altgr	control	keycode  30 = Control_a       
+	shift	altgr	control	keycode  30 = Control_a       
+	altgr	alt	keycode  30 = Meta_a          
+	shift	altgr	alt	keycode  30 = Meta_A          
+keycode  31 = +s               
+	shift	keycode  31 = +S               
+	altgr	keycode  31 = +0xF1
+	shift	altgr	keycode  31 = +0xD1
+	control	keycode  31 = Control_s       
+	shift	control	keycode  31 = Control_s       
+	altgr	control	keycode  31 = Control_s       
+	shift	altgr	control	keycode  31 = Control_s       
+	altgr	alt	keycode  31 = Meta_s          
+	shift	altgr	alt	keycode  31 = Meta_S          
+keycode  32 = +d               
+	shift	keycode  32 = +D               
+	altgr	keycode  32 = +0xE4
+	shift	altgr	keycode  32 = +0xC4
+	control	keycode  32 = Control_d       
+	shift	control	keycode  32 = Control_d       
+	altgr	control	keycode  32 = Control_d       
+	shift	altgr	control	keycode  32 = Control_d       
+	altgr	alt	keycode  32 = Meta_d          
+	shift	altgr	alt	keycode  32 = Meta_D          
+keycode  33 = +f               
+	shift	keycode  33 = +F               
+	altgr	keycode  33 = +0xF4
+	shift	altgr	keycode  33 = +0xD4
+	control	keycode  33 = Control_f       
+	shift	control	keycode  33 = Control_f       
+	altgr	control	keycode  33 = Control_f       
+	shift	altgr	control	keycode  33 = Control_f       
+	altgr	alt	keycode  33 = Meta_f          
+	shift	altgr	alt	keycode  33 = Meta_F          
+keycode  34 = +g               
+	shift	keycode  34 = +G               
+	altgr	keycode  34 = +0xE3
+	shift	altgr	keycode  34 = +0xC3
+	control	keycode  34 = Control_g       
+	shift	control	keycode  34 = Control_g       
+	altgr	control	keycode  34 = Control_g       
+	shift	altgr	control	keycode  34 = Control_g       
+	altgr	alt	keycode  34 = Meta_g          
+	shift	altgr	alt	keycode  34 = Meta_G          
+keycode  35 = +h               
+	shift	keycode  35 = +H               
+	altgr	keycode  35 = +0xF5
+	shift	altgr	keycode  35 = +0xD5
+	control	keycode  35 = BackSpace       
+	shift	control	keycode  35 = BackSpace       
+	altgr	control	keycode  35 = BackSpace       
+	shift	altgr	control	keycode  35 = BackSpace       
+	altgr	alt	keycode  35 = Meta_h          
+	shift	altgr	alt	keycode  35 = Meta_H          
+keycode  36 = +j               
+	shift	keycode  36 = +J               
+	altgr	keycode  36 = +0xE9
+	shift	altgr	keycode  36 = +0xC9
+	control	keycode  36 = Linefeed        
+	shift	control	keycode  36 = Linefeed        
+	altgr	control	keycode  36 = Linefeed        
+	shift	altgr	control	keycode  36 = Linefeed        
+	altgr	alt	keycode  36 = Meta_j          
+	shift	altgr	alt	keycode  36 = Meta_J          
+keycode  37 = +k               
+	shift	keycode  37 = +K               
+	altgr	keycode  37 = +0xEA
+	shift	altgr	keycode  37 = +0xCA
+	control	keycode  37 = Control_k       
+	shift	control	keycode  37 = Control_k       
+	altgr	control	keycode  37 = Control_k       
+	shift	altgr	control	keycode  37 = Control_k       
+	altgr	alt	keycode  37 = Meta_k          
+	shift	altgr	alt	keycode  37 = Meta_K          
+keycode  38 = +l               
+	shift	keycode  38 = +L               
+	altgr	keycode  38 = +0xEB
+	shift	altgr	keycode  38 = +0xCB
+	control	keycode  38 = Control_l       
+	shift	control	keycode  38 = Control_l       
+	altgr	control	keycode  38 = Control_l       
+	shift	altgr	control	keycode  38 = Control_l       
+	altgr	alt	keycode  38 = Meta_l          
+	shift	altgr	alt	keycode  38 = Meta_L          
+keycode  39 = semicolon        colon            semicolon        colon           
+keycode  40 = apostrophe      
+	shift	keycode  40 = quotedbl        
+	shift	altgr	keycode  40 = quotedbl        
+	control	keycode  40 = Control_g       
+	shift	control	keycode  40 = Control_g       
+	altgr	control	keycode  40 = Control_g       
+	shift	altgr	control	keycode  40 = Control_g       
+keycode  41 = grave           
+	shift	keycode  41 = asciitilde      
+	altgr	keycode  41 = +0xF7
+	shift	altgr	keycode  41 = +0xD7
+	control	keycode  41 = nul             
+	shift	control	keycode  41 = nul             
+	altgr	control	keycode  41 = nul             
+	shift	altgr	control	keycode  41 = nul             
+	altgr	alt	keycode  41 = Meta_grave      
+	shift	altgr	alt	keycode  41 = Meta_asciitilde 
+keycode  42 = Shift           
+	control	keycode  42 = AltGr_Lock      
+	altgr	control	keycode  42 = AltGr_Lock      
+keycode  43 = backslash       
+	shift	keycode  43 = bar             
+	altgr	keycode  43 = +0xFE
+	shift	altgr	keycode  43 = +0xDE
+	control	keycode  43 = Control_backslash
+	shift	control	keycode  43 = Control_backslash
+	altgr	control	keycode  43 = Control_backslash
+	shift	altgr	control	keycode  43 = Control_backslash
+	altgr	alt	keycode  43 = Meta_backslash  
+	shift	altgr	alt	keycode  43 = Meta_bar        
+keycode  44 = +z               
+	shift	keycode  44 = +Z               
+	altgr	keycode  44 = +0xE7
+	shift	altgr	keycode  44 = +0xC7
+	control	keycode  44 = Control_z       
+	shift	control	keycode  44 = Control_z       
+	altgr	control	keycode  44 = Control_z       
+	shift	altgr	control	keycode  44 = Control_z       
+	altgr	alt	keycode  44 = Meta_z          
+	shift	altgr	alt	keycode  44 = Meta_Z          
+keycode  45 = +x               
+	shift	keycode  45 = +X               
+	altgr	keycode  45 = +0xFC
+	shift	altgr	keycode  45 = +0xDC
+	control	keycode  45 = Control_x       
+	shift	control	keycode  45 = Control_x       
+	altgr	control	keycode  45 = Control_x       
+	shift	altgr	control	keycode  45 = Control_x       
+	altgr	alt	keycode  45 = Meta_x          
+	shift	altgr	alt	keycode  45 = Meta_X          
+keycode  46 = +c               
+	shift	keycode  46 = +C               
+	altgr	keycode  46 = +0xF6
+	shift	altgr	keycode  46 = +0xD6
+	control	keycode  46 = Control_c       
+	shift	control	keycode  46 = Control_c       
+	altgr	control	keycode  46 = Control_c       
+	shift	altgr	control	keycode  46 = Control_c       
+	altgr	alt	keycode  46 = Meta_c          
+	shift	altgr	alt	keycode  46 = Meta_C          
+keycode  47 = +v               
+	shift	keycode  47 = +V               
+	altgr	keycode  47 = +0xE6
+	shift	altgr	keycode  47 = +0xC6
+	control	keycode  47 = Control_v       
+	shift	control	keycode  47 = Control_v       
+	altgr	control	keycode  47 = Control_v       
+	shift	altgr	control	keycode  47 = Control_v       
+	altgr	alt	keycode  47 = Meta_v          
+	shift	altgr	alt	keycode  47 = Meta_V          
+keycode  48 = +b               
+	shift	keycode  48 = +B               
+	altgr	keycode  48 = +0xE1
+	shift	altgr	keycode  48 = +0xC1
+	control	keycode  48 = Control_b       
+	shift	control	keycode  48 = Control_b       
+	altgr	control	keycode  48 = Control_b       
+	shift	altgr	control	keycode  48 = Control_b       
+	altgr	alt	keycode  48 = Meta_b          
+	shift	altgr	alt	keycode  48 = Meta_B          
+keycode  49 = +n               
+	shift	keycode  49 = +N               
+	altgr	keycode  49 = +0xED
+	shift	altgr	keycode  49 = +0xCD
+	control	keycode  49 = Control_n       
+	shift	control	keycode  49 = Control_n       
+	altgr	control	keycode  49 = Control_n       
+	shift	altgr	control	keycode  49 = Control_n       
+	altgr	alt	keycode  49 = Meta_n          
+	shift	altgr	alt	keycode  49 = Meta_N          
+keycode  50 = +m               
+	shift	keycode  50 = +M               
+	altgr	keycode  50 = +0xEC
+	shift	altgr	keycode  50 = +0xCC
+	control	keycode  50 = Control_m       
+	shift	control	keycode  50 = Control_m       
+	altgr	control	keycode  50 = Control_m       
+	shift	altgr	control	keycode  50 = Control_m       
+	altgr	alt	keycode  50 = Meta_m          
+	shift	altgr	alt	keycode  50 = Meta_M          
+keycode  51 = comma            less             comma            less            
+keycode  52 = period           greater          period           greater          Compose         
+	altgr	control	keycode  52 = Compose         
+keycode  53 = slash           
+	shift	keycode  53 = question        
+	shift	altgr	keycode  53 = question        
+	control	keycode  53 = Delete          
+	shift	control	keycode  53 = Delete          
+	altgr	control	keycode  53 = Delete          
+	shift	altgr	control	keycode  53 = Delete          
+keycode  54 = Shift           
+	control	keycode  54 = AltGr_Lock      
+	altgr	control	keycode  54 = AltGr_Lock      
+keycode  55 = KP_Multiply     
+keycode  56 = Alt             
+keycode  57 = space           
+	control	keycode  57 = nul             
+	shift	control	keycode  57 = nul             
+	altgr	control	keycode  57 = nul             
+	shift	altgr	control	keycode  57 = nul             
+keycode  58 = Caps_Lock       
+keycode  59 = F1              
+	shift	keycode  59 = F11             
+	shift	altgr	keycode  59 = F11             
+	shift	control	keycode  59 = F11             
+	shift	altgr	control	keycode  59 = F11             
+	alt	keycode  59 = Console_1       
+	shift	alt	keycode  59 = Console_1       
+	altgr	alt	keycode  59 = Console_1       
+	shift	altgr	alt	keycode  59 = Console_1       
+	control	alt	keycode  59 = Console_1       
+	shift	control	alt	keycode  59 = Console_1       
+	altgr	control	alt	keycode  59 = Console_1       
+	shift	altgr	control	alt	keycode  59 = Console_1       
+keycode  60 = F2              
+	shift	keycode  60 = F12             
+	shift	altgr	keycode  60 = F12             
+	shift	control	keycode  60 = F12             
+	shift	altgr	control	keycode  60 = F12             
+	alt	keycode  60 = Console_2       
+	shift	alt	keycode  60 = Console_2       
+	altgr	alt	keycode  60 = Console_2       
+	shift	altgr	alt	keycode  60 = Console_2       
+	control	alt	keycode  60 = Console_2       
+	shift	control	alt	keycode  60 = Console_2       
+	altgr	control	alt	keycode  60 = Console_2       
+	shift	altgr	control	alt	keycode  60 = Console_2       
+keycode  61 = F3              
+	shift	keycode  61 = F13             
+	shift	altgr	keycode  61 = F13             
+	shift	control	keycode  61 = F13             
+	shift	altgr	control	keycode  61 = F13             
+	alt	keycode  61 = Console_3       
+	shift	alt	keycode  61 = Console_3       
+	altgr	alt	keycode  61 = Console_3       
+	shift	altgr	alt	keycode  61 = Console_3       
+	control	alt	keycode  61 = Console_3       
+	shift	control	alt	keycode  61 = Console_3       
+	altgr	control	alt	keycode  61 = Console_3       
+	shift	altgr	control	alt	keycode  61 = Console_3       
+keycode  62 = F4              
+	shift	keycode  62 = F14             
+	shift	altgr	keycode  62 = F14             
+	shift	control	keycode  62 = F14             
+	shift	altgr	control	keycode  62 = F14             
+	alt	keycode  62 = Console_4       
+	shift	alt	keycode  62 = Console_4       
+	altgr	alt	keycode  62 = Console_4       
+	shift	altgr	alt	keycode  62 = Console_4       
+	control	alt	keycode  62 = Console_4       
+	shift	control	alt	keycode  62 = Console_4       
+	altgr	control	alt	keycode  62 = Console_4       
+	shift	altgr	control	alt	keycode  62 = Console_4       
+keycode  63 = F5              
+	shift	keycode  63 = F15             
+	shift	altgr	keycode  63 = F15             
+	shift	control	keycode  63 = F15             
+	shift	altgr	control	keycode  63 = F15             
+	alt	keycode  63 = Console_5       
+	shift	alt	keycode  63 = Console_5       
+	altgr	alt	keycode  63 = Console_5       
+	shift	altgr	alt	keycode  63 = Console_5       
+	control	alt	keycode  63 = Console_5       
+	shift	control	alt	keycode  63 = Console_5       
+	altgr	control	alt	keycode  63 = Console_5       
+	shift	altgr	control	alt	keycode  63 = Console_5       
+keycode  64 = F6              
+	shift	keycode  64 = F16             
+	shift	altgr	keycode  64 = F16             
+	shift	control	keycode  64 = F16             
+	shift	altgr	control	keycode  64 = F16             
+	alt	keycode  64 = Console_6       
+	shift	alt	keycode  64 = Console_6       
+	altgr	alt	keycode  64 = Console_6       
+	shift	altgr	alt	keycode  64 = Console_6       
+	control	alt	keycode  64 = Console_6       
+	shift	control	alt	keycode  64 = Console_6       
+	altgr	control	alt	keycode  64 = Console_6       
+	shift	altgr	control	alt	keycode  64 = Console_6       
+keycode  65 = F7              
+	shift	keycode  65 = F17             
+	shift	altgr	keycode  65 = F17             
+	shift	control	keycode  65 = F17             
+	shift	altgr	control	keycode  65 = F17             
+	alt	keycode  65 = Console_7       
+	shift	alt	keycode  65 = Console_7       
+	altgr	alt	keycode  65 = Console_7       
+	shift	altgr	alt	keycode  65 = Console_7       
+	control	alt	keycode  65 = Console_7       
+	shift	control	alt	keycode  65 = Console_7       
+	altgr	control	alt	keycode  65 = Console_7       
+	shift	altgr	control	alt	keycode  65 = Console_7       
+keycode  66 = F8              
+	shift	keycode  66 = F18             
+	shift	altgr	keycode  66 = F18             
+	shift	control	keycode  66 = F18             
+	shift	altgr	control	keycode  66 = F18             
+	alt	keycode  66 = Console_8       
+	shift	alt	keycode  66 = Console_8       
+	altgr	alt	keycode  66 = Console_8       
+	shift	altgr	alt	keycode  66 = Console_8       
+	control	alt	keycode  66 = Console_8       
+	shift	control	alt	keycode  66 = Console_8       
+	altgr	control	alt	keycode  66 = Console_8       
+	shift	altgr	control	alt	keycode  66 = Console_8       
+keycode  67 = F9              
+	shift	keycode  67 = F19             
+	shift	altgr	keycode  67 = F19             
+	shift	control	keycode  67 = F19             
+	shift	altgr	control	keycode  67 = F19             
+	alt	keycode  67 = Console_9       
+	shift	alt	keycode  67 = Console_9       
+	altgr	alt	keycode  67 = Console_9       
+	shift	altgr	alt	keycode  67 = Console_9       
+	control	alt	keycode  67 = Console_9       
+	shift	control	alt	keycode  67 = Console_9       
+	altgr	control	alt	keycode  67 = Console_9       
+	shift	altgr	control	alt	keycode  67 = Console_9       
+keycode  68 = F10             
+	shift	keycode  68 = F20             
+	shift	altgr	keycode  68 = F20             
+	shift	control	keycode  68 = F20             
+	shift	altgr	control	keycode  68 = F20             
+	alt	keycode  68 = Console_10      
+	shift	alt	keycode  68 = Console_10      
+	altgr	alt	keycode  68 = Console_10      
+	shift	altgr	alt	keycode  68 = Console_10      
+	control	alt	keycode  68 = Console_10      
+	shift	control	alt	keycode  68 = Console_10      
+	altgr	control	alt	keycode  68 = Console_10      
+	shift	altgr	control	alt	keycode  68 = Console_10      
+keycode  69 = Num_Lock        
+keycode  70 = Scroll_Lock     
+	shift	keycode  70 = Show_Memory     
+	shift	altgr	keycode  70 = Show_Memory     
+	control	keycode  70 = Show_State      
+	altgr	control	keycode  70 = Show_State      
+	alt	keycode  70 = Show_Registers  
+	altgr	alt	keycode  70 = Show_Registers  
+keycode  71 = KP_7            
+	alt	keycode  71 = Ascii_7         
+	altgr	alt	keycode  71 = Ascii_7         
+keycode  72 = KP_8            
+	alt	keycode  72 = Ascii_8         
+	altgr	alt	keycode  72 = Ascii_8         
+keycode  73 = KP_9            
+	alt	keycode  73 = Ascii_9         
+	altgr	alt	keycode  73 = Ascii_9         
+keycode  74 = KP_Subtract     
+keycode  75 = KP_4            
+	alt	keycode  75 = Ascii_4         
+	altgr	alt	keycode  75 = Ascii_4         
+keycode  76 = KP_5            
+	alt	keycode  76 = Ascii_5         
+	altgr	alt	keycode  76 = Ascii_5         
+keycode  77 = KP_6            
+	alt	keycode  77 = Ascii_6         
+	altgr	alt	keycode  77 = Ascii_6         
+keycode  78 = KP_Add          
+keycode  79 = KP_1            
+	alt	keycode  79 = Ascii_1         
+	altgr	alt	keycode  79 = Ascii_1         
+keycode  80 = KP_2            
+	alt	keycode  80 = Ascii_2         
+	altgr	alt	keycode  80 = Ascii_2         
+keycode  81 = KP_3            
+	alt	keycode  81 = Ascii_3         
+	altgr	alt	keycode  81 = Ascii_3         
+keycode  82 = KP_0            
+	alt	keycode  82 = Ascii_0         
+	altgr	alt	keycode  82 = Ascii_0         
+keycode  83 = KP_Period       
+	control	alt	keycode  83 = Boot            
+	altgr	control	alt	keycode  83 = Boot            
+keycode  84 = Last_Console    
+keycode  85 =
+keycode  86 = less             greater          less             greater         
+keycode  87 = F11             
+	alt	keycode  87 = Console_11      
+	shift	alt	keycode  87 = Console_11      
+	altgr	alt	keycode  87 = Console_11      
+	shift	altgr	alt	keycode  87 = Console_11      
+	control	alt	keycode  87 = Console_11      
+	shift	control	alt	keycode  87 = Console_11      
+	altgr	control	alt	keycode  87 = Console_11      
+	shift	altgr	control	alt	keycode  87 = Console_11      
+keycode  88 = F12             
+	alt	keycode  88 = Console_12      
+	shift	alt	keycode  88 = Console_12      
+	altgr	alt	keycode  88 = Console_12      
+	shift	altgr	alt	keycode  88 = Console_12      
+	control	alt	keycode  88 = Console_12      
+	shift	control	alt	keycode  88 = Console_12      
+	altgr	control	alt	keycode  88 = Console_12      
+	shift	altgr	control	alt	keycode  88 = Console_12      
+keycode  89 =
+keycode  90 =
+keycode  91 =
+keycode  92 =
+keycode  93 =
+keycode  94 =
+keycode  95 =
+keycode  96 = KP_Enter        
+keycode  97 = Control         
+	shift	keycode  97 = AltGr_Lock      
+	shift	altgr	keycode  97 = AltGr_Lock      
+keycode  98 = KP_Divide       
+keycode  99 = Control_backslash
+keycode 100 = AltGr           
+keycode 101 = Break           
+keycode 102 = Find            
+keycode 103 = Up              
+keycode 104 = Prior           
+	shift	keycode 104 = Scroll_Backward 
+	shift	altgr	keycode 104 = Scroll_Backward 
+keycode 105 = Left            
+	alt	keycode 105 = Decr_Console    
+	altgr	alt	keycode 105 = Decr_Console    
+keycode 106 = Right           
+	alt	keycode 106 = Incr_Console    
+	altgr	alt	keycode 106 = Incr_Console    
+keycode 107 = Select          
+keycode 108 = Down            
+keycode 109 = Next            
+	shift	keycode 109 = Scroll_Forward  
+	shift	altgr	keycode 109 = Scroll_Forward  
+keycode 110 = Insert          
+keycode 111 = Remove          
+	control	alt	keycode 111 = Boot            
+	altgr	control	alt	keycode 111 = Boot            
+keycode 112 = Macro           
+keycode 113 = F13             
+keycode 114 = F14             
+keycode 115 = Help            
+keycode 116 = Do              
+keycode 117 = F17             
+keycode 118 = KP_MinPlus      
+keycode 119 = Pause           
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = AltGr           
+keycode 126 = Compose         
+keycode 127 = AltGr_Lock      
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+string F24 = "\37777777763\37777777777\37777777677o\016\005\010"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/data/keymaps/i386/qwerty/bg_pho-utf8.map b/data/keymaps/i386/qwerty/bg_pho-utf8.map
new file mode 100644
index 0000000..fdc368b
--- /dev/null
+++ b/data/keymaps/i386/qwerty/bg_pho-utf8.map
@@ -0,0 +1,778 @@
+###  Ver 0.2 - 20021013 
+###  Linux console Bulgarian keymap, phonetic cyrillic layout.
+###  Charset: UTF-8 
+###  Author: Peter Georgiev <peterg@mail.bg>
+###
+###     Temporary switching between CYR and LAT is done with AltGr (R_Alt) key or the L_WIN key. 
+###     AltGr (R_Alt), kakto i L_WIN prevkliuchvat vremenno mezhdu CYR i LAT.                                                                     
+###     Permanent switching between CYR and LAT is done with Ctrl+Shift, or the WIN_MENU key.
+###     Ctrl+Shift, kakto i WIN_MENU prevkliuchvat mezhdu CYR i LAT.           
+###
+###	Compose key is R_WIN key.
+###
+###	EURO sign is Ctrl+Alt+E
+###	Ctrl+Alt+E e znak za Evro
+###     Number sign is Ctrl+Alt+0 (as per BDS layout)
+###	Ctrl+Alt+0 e znak za nomer (dobaven za udobstvo ot BDS layout)
+
+keymaps 0-15
+alt_is_meta
+strings as usual
+
+keycode   1 = Escape          
+keycode   2 = one              exclam           one              exclam          
+keycode   3 = two             
+	shift	keycode   3 = at              
+	shift	altgr	keycode   3 = at              
+	control	keycode   3 = nul             
+	shift	control	keycode   3 = nul             
+	altgr	control	keycode   3 = nul             
+	shift	altgr	control	keycode   3 = nul             
+keycode   4 = three           
+	shift	keycode   4 = numbersign      
+	shift	altgr	keycode   4 = numbersign      
+	control	keycode   4 = Escape          
+	shift	control	keycode   4 = Escape          
+	altgr	control	keycode   4 = Escape          
+	shift	altgr	control	keycode   4 = Escape          
+keycode   5 = four            
+	shift	keycode   5 = dollar          
+	shift	altgr	keycode   5 = dollar          
+	control	keycode   5 = Control_backslash
+	shift	control	keycode   5 = Control_backslash
+	altgr	control	keycode   5 = Control_backslash
+	shift	altgr	control	keycode   5 = Control_backslash
+keycode   6 = five            
+	shift	keycode   6 = percent         
+	shift	altgr	keycode   6 = percent         
+	control	keycode   6 = Control_bracketright
+	shift	control	keycode   6 = Control_bracketright
+	altgr	control	keycode   6 = Control_bracketright
+	shift	altgr	control	keycode   6 = Control_bracketright
+keycode   7 = six             
+	shift	keycode   7 = asciicircum     
+	shift	altgr	keycode   7 = asciicircum     
+	control	keycode   7 = Control_asciicircum
+	shift	control	keycode   7 = Control_asciicircum
+	altgr	control	keycode   7 = Control_asciicircum
+	shift	altgr	control	keycode   7 = Control_asciicircum
+keycode   8 = seven           
+	shift	keycode   8 = ampersand       
+	shift	altgr	keycode   8 = ampersand       
+	control	keycode   8 = Control_underscore
+	shift	control	keycode   8 = Control_underscore
+	altgr	control	keycode   8 = Control_underscore
+	shift	altgr	control	keycode   8 = Control_underscore
+keycode   9 = eight           
+	shift	keycode   9 = asterisk        
+	shift	altgr	keycode   9 = asterisk        
+	control	keycode   9 = Delete          
+	shift	control	keycode   9 = Delete          
+	altgr	control	keycode   9 = Delete          
+	shift	altgr	control	keycode   9 = Delete          
+keycode  10 = nine             parenleft        nine             parenleft       
+keycode  11 = zero             parenright       zero             parenright      
+	control alt     keycode  11 = U+2116
+	altgr   control alt	keycode	11 = U+2116	
+keycode  12 = minus           
+	shift	keycode  12 = underscore      
+	shift	altgr	keycode  12 = underscore      
+	control	keycode  12 = Control_underscore
+	shift	control	keycode  12 = Control_underscore
+	altgr	control	keycode  12 = Control_underscore
+	shift	altgr	control	keycode  12 = Control_underscore
+keycode  13 = equal            plus             equal            plus            
+keycode  14 = Delete          
+	control	keycode  14 = BackSpace       
+	shift	control	keycode  14 = BackSpace       
+	altgr	control	keycode  14 = BackSpace       
+	shift	altgr	control	keycode  14 = BackSpace       
+keycode  15 = Tab             
+keycode  16 = +q               
+	shift	keycode  16 = +Q               
+	altgr	keycode  16 = U+044F
+	shift	altgr	keycode  16 = U+042F
+	control	keycode  16 = Control_q       
+	shift	control	keycode  16 = Control_q       
+	altgr	control	keycode  16 = Control_q       
+	shift	altgr	control	keycode  16 = Control_q       
+	altgr	alt	keycode  16 = Meta_q          
+	shift	altgr	alt	keycode  16 = Meta_Q          
+keycode  17 = +w               
+	shift	keycode  17 = +W               
+	altgr	keycode  17 = U+0432
+	shift	altgr	keycode  17 = U+0412
+	control	keycode  17 = Control_w       
+	shift	control	keycode  17 = Control_w       
+	altgr	control	keycode  17 = Control_w       
+	shift	altgr	control	keycode  17 = Control_w       
+	altgr	alt	keycode  17 = Meta_w          
+	shift	altgr	alt	keycode  17 = Meta_W          
+keycode  18 = +e               
+	shift	keycode  18 = +E               
+	altgr	keycode  18 = U+0435
+	shift	altgr	keycode  18 = U+0415
+	control	keycode  18 = Control_e       
+	control alt     keycode  18 = U+20AC
+	shift	control	keycode  18 = Control_e       
+	altgr	control	keycode  18 = Control_e       
+	shift	altgr	control	keycode  18 = Control_e       
+	altgr	alt	keycode  18 = Meta_e          
+	shift	altgr	alt	keycode  18 = Meta_E          
+	altgr   control alt     keycode  18 = U+20AC 
+keycode  19 = +r               
+	shift	keycode  19 = +R               
+	altgr	keycode  19 = U+0440
+	shift	altgr	keycode  19 = U+0420
+	control	keycode  19 = Control_r       
+	shift	control	keycode  19 = Control_r       
+	altgr	control	keycode  19 = Control_r       
+	shift	altgr	control	keycode  19 = Control_r       
+	altgr	alt	keycode  19 = Meta_r          
+	shift	altgr	alt	keycode  19 = Meta_R          
+keycode  20 = +t               
+	shift	keycode  20 = +T               
+	altgr	keycode  20 = U+0442
+	shift	altgr	keycode  20 = U+0422
+	control	keycode  20 = Control_t       
+	shift	control	keycode  20 = Control_t       
+	altgr	control	keycode  20 = Control_t       
+	shift	altgr	control	keycode  20 = Control_t       
+	altgr	alt	keycode  20 = Meta_t          
+	shift	altgr	alt	keycode  20 = Meta_T          
+keycode  21 = +y               
+	shift	keycode  21 = +Y               
+	altgr	keycode  21 = U+044A
+	shift	altgr	keycode  21 = U+042A
+	control	keycode  21 = Control_y       
+	shift	control	keycode  21 = Control_y       
+	altgr	control	keycode  21 = Control_y       
+	shift	altgr	control	keycode  21 = Control_y       
+	altgr	alt	keycode  21 = Meta_y          
+	shift	altgr	alt	keycode  21 = Meta_Y          
+keycode  22 = +u               
+	shift	keycode  22 = +U               
+	altgr	keycode  22 = U+0443
+	shift	altgr	keycode  22 = U+0423
+	control	keycode  22 = Control_u       
+	shift	control	keycode  22 = Control_u       
+	altgr	control	keycode  22 = Control_u       
+	shift	altgr	control	keycode  22 = Control_u       
+	altgr	alt	keycode  22 = Meta_u          
+	shift	altgr	alt	keycode  22 = Meta_U          
+keycode  23 = +i               
+	shift	keycode  23 = +I               
+	altgr	keycode  23 = U+0438
+	shift	altgr	keycode  23 = U+0418
+	control	keycode  23 = Tab             
+	shift	control	keycode  23 = Tab             
+	altgr	control	keycode  23 = Tab             
+	shift	altgr	control	keycode  23 = Tab             
+	altgr	alt	keycode  23 = Meta_i          
+	shift	altgr	alt	keycode  23 = Meta_I          
+keycode  24 = +o               
+	shift	keycode  24 = +O               
+	altgr	keycode  24 = U+043E
+	shift	altgr	keycode  24 = U+041E 
+	control	keycode  24 = Control_o       
+	shift	control	keycode  24 = Control_o       
+	altgr	control	keycode  24 = Control_o       
+	shift	altgr	control	keycode  24 = Control_o       
+	altgr	alt	keycode  24 = Meta_o          
+	shift	altgr	alt	keycode  24 = Meta_O          
+keycode  25 = +p               
+	shift	keycode  25 = +P               
+	altgr	keycode  25 = U+043F
+	shift	altgr	keycode  25 = U+041F
+	control	keycode  25 = Control_p       
+	shift	control	keycode  25 = Control_p       
+	altgr	control	keycode  25 = Control_p       
+	shift	altgr	control	keycode  25 = Control_p       
+	altgr	alt	keycode  25 = Meta_p          
+	shift	altgr	alt	keycode  25 = Meta_P          
+keycode  26 = bracketleft     
+	shift	keycode  26 = braceleft       
+	altgr	keycode  26 = U+0448
+	shift	altgr	keycode  26 = U+0428
+	control	keycode  26 = Escape          
+	shift	control	keycode  26 = Escape          
+	altgr	control	keycode  26 = Escape          
+	shift	altgr	control	keycode  26 = Escape          
+	altgr	alt	keycode  26 = Meta_bracketleft
+	shift	altgr	alt	keycode  26 = Meta_braceleft  
+keycode  27 = bracketright    
+	shift	keycode  27 = braceright      
+	altgr	keycode  27 = U+0449          
+	shift	altgr	keycode  27 = U+0429
+	control	keycode  27 = Control_bracketright
+	shift	control	keycode  27 = Control_bracketright
+	altgr	control	keycode  27 = Control_bracketright
+	shift	altgr	control	keycode  27 = Control_bracketright
+	altgr	alt	keycode  27 = Meta_bracketright
+	shift	altgr	alt	keycode  27 = Meta_braceright 
+keycode  28 = Return          
+	alt	keycode  28 = Meta_Control_m  
+	shift	alt	keycode  28 = Meta_Control_m  
+	altgr	alt	keycode  28 = Meta_Control_m  
+	shift	altgr	alt	keycode  28 = Meta_Control_m  
+	control	alt	keycode  28 = Meta_Control_m  
+	shift	control	alt	keycode  28 = Meta_Control_m  
+	altgr	control	alt	keycode  28 = Meta_Control_m  
+	shift	altgr	control	alt	keycode  28 = Meta_Control_m  
+keycode  29 = Control         
+	shift	keycode  29 = AltGr_Lock      
+	shift	altgr	keycode  29 = AltGr_Lock      
+keycode  30 = +a               
+	shift	keycode  30 = +A               
+	altgr	keycode  30 = U+0430
+	shift	altgr	keycode  30 = U+0410
+	control	keycode  30 = Control_a       
+	shift	control	keycode  30 = Control_a       
+	altgr	control	keycode  30 = Control_a       
+	shift	altgr	control	keycode  30 = Control_a       
+	altgr	alt	keycode  30 = Meta_a          
+	shift	altgr	alt	keycode  30 = Meta_A          
+keycode  31 = +s               
+	shift	keycode  31 = +S               
+	altgr	keycode  31 = U+0441
+	shift	altgr	keycode  31 = U+0421
+	control	keycode  31 = Control_s       
+	shift	control	keycode  31 = Control_s       
+	altgr	control	keycode  31 = Control_s       
+	shift	altgr	control	keycode  31 = Control_s       
+	altgr	alt	keycode  31 = Meta_s          
+	shift	altgr	alt	keycode  31 = Meta_S          
+keycode  32 = +d               
+	shift	keycode  32 = +D               
+	altgr	keycode  32 = U+0434
+	shift	altgr	keycode  32 = U+0414
+	control	keycode  32 = Control_d       
+	shift	control	keycode  32 = Control_d       
+	altgr	control	keycode  32 = Control_d       
+	shift	altgr	control	keycode  32 = Control_d       
+	altgr	alt	keycode  32 = Meta_d          
+	shift	altgr	alt	keycode  32 = Meta_D          
+keycode  33 = +f               
+	shift	keycode  33 = +F               
+	altgr	keycode  33 = U+0444
+	shift	altgr	keycode  33 = U+0424
+	control	keycode  33 = Control_f       
+	shift	control	keycode  33 = Control_f       
+	altgr	control	keycode  33 = Control_f       
+	shift	altgr	control	keycode  33 = Control_f       
+	altgr	alt	keycode  33 = Meta_f          
+	shift	altgr	alt	keycode  33 = Meta_F          
+keycode  34 = +g               
+	shift	keycode  34 = +G               
+	altgr	keycode  34 = U+0433
+	shift	altgr	keycode  34 = U+0413
+	control	keycode  34 = Control_g       
+	shift	control	keycode  34 = Control_g       
+	altgr	control	keycode  34 = Control_g       
+	shift	altgr	control	keycode  34 = Control_g       
+	altgr	alt	keycode  34 = Meta_g          
+	shift	altgr	alt	keycode  34 = Meta_G          
+keycode  35 = +h               
+	shift	keycode  35 = +H               
+	altgr	keycode  35 = U+0445
+	shift	altgr	keycode  35 = U+0425
+	control	keycode  35 = BackSpace       
+	shift	control	keycode  35 = BackSpace       
+	altgr	control	keycode  35 = BackSpace       
+	shift	altgr	control	keycode  35 = BackSpace       
+	altgr	alt	keycode  35 = Meta_h          
+	shift	altgr	alt	keycode  35 = Meta_H          
+keycode  36 = +j               
+	shift	keycode  36 = +J               
+	altgr	keycode  36 = U+0439
+	shift	altgr	keycode  36 = U+0419
+	control	keycode  36 = Linefeed        
+	shift	control	keycode  36 = Linefeed        
+	altgr	control	keycode  36 = Linefeed        
+	shift	altgr	control	keycode  36 = Linefeed        
+	altgr	alt	keycode  36 = Meta_j          
+	shift	altgr	alt	keycode  36 = Meta_J          
+keycode  37 = +k               
+	shift	keycode  37 = +K               
+	altgr	keycode  37 = U+043A
+	shift	altgr	keycode  37 = U+041A
+	control	keycode  37 = Control_k       
+	shift	control	keycode  37 = Control_k       
+	altgr	control	keycode  37 = Control_k       
+	shift	altgr	control	keycode  37 = Control_k       
+	altgr	alt	keycode  37 = Meta_k          
+	shift	altgr	alt	keycode  37 = Meta_K          
+keycode  38 = +l               
+	shift	keycode  38 = +L               
+	altgr	keycode  38 = U+0438
+	shift	altgr	keycode  38 = U+0418
+	control	keycode  38 = Control_l       
+	shift	control	keycode  38 = Control_l       
+	altgr	control	keycode  38 = Control_l       
+	shift	altgr	control	keycode  38 = Control_l       
+	altgr	alt	keycode  38 = Meta_l          
+	shift	altgr	alt	keycode  38 = Meta_L          
+keycode  39 = semicolon        colon            semicolon        colon           
+keycode  40 = apostrophe      
+	shift	keycode  40 = quotedbl        
+	shift	altgr	keycode  40 = quotedbl        
+	control	keycode  40 = Control_g       
+	shift	control	keycode  40 = Control_g       
+	altgr	control	keycode  40 = Control_g       
+	shift	altgr	control	keycode  40 = Control_g       
+keycode  41 = grave           
+	shift	keycode  41 = asciitilde      
+	altgr	keycode  41 = U+0447
+	shift	altgr	keycode  41 = U+0427
+	control	keycode  41 = nul             
+	shift	control	keycode  41 = nul             
+	altgr	control	keycode  41 = nul             
+	shift	altgr	control	keycode  41 = nul             
+	altgr	alt	keycode  41 = Meta_grave      
+	shift	altgr	alt	keycode  41 = Meta_asciitilde 
+keycode  42 = Shift           
+	control	keycode  42 = AltGr_Lock      
+	altgr	control	keycode  42 = AltGr_Lock      
+keycode  43 = backslash       
+	shift	keycode  43 = bar             
+	altgr	keycode  43 = U+044E
+	shift	altgr	keycode  43 = U+042E
+	control	keycode  43 = Control_backslash
+	shift	control	keycode  43 = Control_backslash
+	altgr	control	keycode  43 = Control_backslash
+	shift	altgr	control	keycode  43 = Control_backslash
+	altgr	alt	keycode  43 = Meta_backslash  
+	shift	altgr	alt	keycode  43 = Meta_bar        
+keycode  44 = +z               
+	shift	keycode  44 = +Z               
+	altgr	keycode  44 = U+0437
+	shift	altgr	keycode  44 = U+0417
+	control	keycode  44 = Control_z       
+	shift	control	keycode  44 = Control_z       
+	altgr	control	keycode  44 = Control_z       
+	shift	altgr	control	keycode  44 = Control_z       
+	altgr	alt	keycode  44 = Meta_z          
+	shift	altgr	alt	keycode  44 = Meta_Z          
+keycode  45 = +x               
+	shift	keycode  45 = +X               
+	altgr	keycode  45 = U+044C
+	shift	altgr	keycode  45 = U+042C
+	control	keycode  45 = Control_x       
+	shift	control	keycode  45 = Control_x       
+	altgr	control	keycode  45 = Control_x       
+	shift	altgr	control	keycode  45 = Control_x       
+	altgr	alt	keycode  45 = Meta_x          
+	shift	altgr	alt	keycode  45 = Meta_X          
+keycode  46 = +c               
+	shift	keycode  46 = +C               
+	altgr	keycode  46 = U+0446
+	shift	altgr	keycode  46 = U+0426
+	control	keycode  46 = Control_c       
+	shift	control	keycode  46 = Control_c       
+	altgr	control	keycode  46 = Control_c       
+	shift	altgr	control	keycode  46 = Control_c       
+	altgr	alt	keycode  46 = Meta_c          
+	shift	altgr	alt	keycode  46 = Meta_C          
+keycode  47 = +v               
+	shift	keycode  47 = +V               
+	altgr	keycode  47 = U+0436
+	shift	altgr	keycode  47 = U+0416
+	control	keycode  47 = Control_v       
+	shift	control	keycode  47 = Control_v       
+	altgr	control	keycode  47 = Control_v       
+	shift	altgr	control	keycode  47 = Control_v       
+	altgr	alt	keycode  47 = Meta_v          
+	shift	altgr	alt	keycode  47 = Meta_V          
+keycode  48 = +b               
+	shift	keycode  48 = +B               
+	altgr	keycode  48 = U+0431
+	shift	altgr	keycode  48 = U+0411
+	control	keycode  48 = Control_b       
+	shift	control	keycode  48 = Control_b       
+	altgr	control	keycode  48 = Control_b       
+	shift	altgr	control	keycode  48 = Control_b       
+	altgr	alt	keycode  48 = Meta_b          
+	shift	altgr	alt	keycode  48 = Meta_B          
+keycode  49 = +n               
+	shift	keycode  49 = +N               
+	altgr	keycode  49 = U+043D
+	shift	altgr	keycode  49 = U+041D
+	control	keycode  49 = Control_n       
+	shift	control	keycode  49 = Control_n       
+	altgr	control	keycode  49 = Control_n       
+	shift	altgr	control	keycode  49 = Control_n       
+	altgr	alt	keycode  49 = Meta_n          
+	shift	altgr	alt	keycode  49 = Meta_N          
+keycode  50 = +m               
+	shift	keycode  50 = +M               
+	altgr	keycode  50 = U+043C
+	shift	altgr	keycode  50 = U+041C
+	control	keycode  50 = Control_m       
+	shift	control	keycode  50 = Control_m       
+	altgr	control	keycode  50 = Control_m       
+	shift	altgr	control	keycode  50 = Control_m       
+	altgr	alt	keycode  50 = Meta_m          
+	shift	altgr	alt	keycode  50 = Meta_M          
+keycode  51 = comma            less             comma            less            
+keycode  52 = period           greater          period           greater          Compose         
+	altgr	control	keycode  52 = Compose         
+keycode  53 = slash           
+	shift	keycode  53 = question        
+	shift	altgr	keycode  53 = question        
+	control	keycode  53 = Delete          
+	shift	control	keycode  53 = Delete          
+	altgr	control	keycode  53 = Delete          
+	shift	altgr	control	keycode  53 = Delete          
+keycode  54 = Shift           
+	control	keycode  54 = AltGr_Lock      
+	altgr	control	keycode  54 = AltGr_Lock      
+keycode  55 = KP_Multiply     
+keycode  56 = Alt             
+keycode  57 = space           
+	control	keycode  57 = nul             
+	shift	control	keycode  57 = nul             
+	altgr	control	keycode  57 = nul             
+	shift	altgr	control	keycode  57 = nul             
+keycode  58 = Caps_Lock       
+keycode  59 = F1              
+	shift	keycode  59 = F11             
+	shift	altgr	keycode  59 = F11             
+	shift	control	keycode  59 = F11             
+	shift	altgr	control	keycode  59 = F11             
+	alt	keycode  59 = Console_1       
+	shift	alt	keycode  59 = Console_1       
+	altgr	alt	keycode  59 = Console_1       
+	shift	altgr	alt	keycode  59 = Console_1       
+	control	alt	keycode  59 = Console_1       
+	shift	control	alt	keycode  59 = Console_1       
+	altgr	control	alt	keycode  59 = Console_1       
+	shift	altgr	control	alt	keycode  59 = Console_1       
+keycode  60 = F2              
+	shift	keycode  60 = F12             
+	shift	altgr	keycode  60 = F12             
+	shift	control	keycode  60 = F12             
+	shift	altgr	control	keycode  60 = F12             
+	alt	keycode  60 = Console_2       
+	shift	alt	keycode  60 = Console_2       
+	altgr	alt	keycode  60 = Console_2       
+	shift	altgr	alt	keycode  60 = Console_2       
+	control	alt	keycode  60 = Console_2       
+	shift	control	alt	keycode  60 = Console_2       
+	altgr	control	alt	keycode  60 = Console_2       
+	shift	altgr	control	alt	keycode  60 = Console_2       
+keycode  61 = F3              
+	shift	keycode  61 = F13             
+	shift	altgr	keycode  61 = F13             
+	shift	control	keycode  61 = F13             
+	shift	altgr	control	keycode  61 = F13             
+	alt	keycode  61 = Console_3       
+	shift	alt	keycode  61 = Console_3       
+	altgr	alt	keycode  61 = Console_3       
+	shift	altgr	alt	keycode  61 = Console_3       
+	control	alt	keycode  61 = Console_3       
+	shift	control	alt	keycode  61 = Console_3       
+	altgr	control	alt	keycode  61 = Console_3       
+	shift	altgr	control	alt	keycode  61 = Console_3       
+keycode  62 = F4              
+	shift	keycode  62 = F14             
+	shift	altgr	keycode  62 = F14             
+	shift	control	keycode  62 = F14             
+	shift	altgr	control	keycode  62 = F14             
+	alt	keycode  62 = Console_4       
+	shift	alt	keycode  62 = Console_4       
+	altgr	alt	keycode  62 = Console_4       
+	shift	altgr	alt	keycode  62 = Console_4       
+	control	alt	keycode  62 = Console_4       
+	shift	control	alt	keycode  62 = Console_4       
+	altgr	control	alt	keycode  62 = Console_4       
+	shift	altgr	control	alt	keycode  62 = Console_4       
+keycode  63 = F5              
+	shift	keycode  63 = F15             
+	shift	altgr	keycode  63 = F15             
+	shift	control	keycode  63 = F15             
+	shift	altgr	control	keycode  63 = F15             
+	alt	keycode  63 = Console_5       
+	shift	alt	keycode  63 = Console_5       
+	altgr	alt	keycode  63 = Console_5       
+	shift	altgr	alt	keycode  63 = Console_5       
+	control	alt	keycode  63 = Console_5       
+	shift	control	alt	keycode  63 = Console_5       
+	altgr	control	alt	keycode  63 = Console_5       
+	shift	altgr	control	alt	keycode  63 = Console_5       
+keycode  64 = F6              
+	shift	keycode  64 = F16             
+	shift	altgr	keycode  64 = F16             
+	shift	control	keycode  64 = F16             
+	shift	altgr	control	keycode  64 = F16             
+	alt	keycode  64 = Console_6       
+	shift	alt	keycode  64 = Console_6       
+	altgr	alt	keycode  64 = Console_6       
+	shift	altgr	alt	keycode  64 = Console_6       
+	control	alt	keycode  64 = Console_6       
+	shift	control	alt	keycode  64 = Console_6       
+	altgr	control	alt	keycode  64 = Console_6       
+	shift	altgr	control	alt	keycode  64 = Console_6       
+keycode  65 = F7              
+	shift	keycode  65 = F17             
+	shift	altgr	keycode  65 = F17             
+	shift	control	keycode  65 = F17             
+	shift	altgr	control	keycode  65 = F17             
+	alt	keycode  65 = Console_7       
+	shift	alt	keycode  65 = Console_7       
+	altgr	alt	keycode  65 = Console_7       
+	shift	altgr	alt	keycode  65 = Console_7       
+	control	alt	keycode  65 = Console_7       
+	shift	control	alt	keycode  65 = Console_7       
+	altgr	control	alt	keycode  65 = Console_7       
+	shift	altgr	control	alt	keycode  65 = Console_7       
+keycode  66 = F8              
+	shift	keycode  66 = F18             
+	shift	altgr	keycode  66 = F18             
+	shift	control	keycode  66 = F18             
+	shift	altgr	control	keycode  66 = F18             
+	alt	keycode  66 = Console_8       
+	shift	alt	keycode  66 = Console_8       
+	altgr	alt	keycode  66 = Console_8       
+	shift	altgr	alt	keycode  66 = Console_8       
+	control	alt	keycode  66 = Console_8       
+	shift	control	alt	keycode  66 = Console_8       
+	altgr	control	alt	keycode  66 = Console_8       
+	shift	altgr	control	alt	keycode  66 = Console_8       
+keycode  67 = F9              
+	shift	keycode  67 = F19             
+	shift	altgr	keycode  67 = F19             
+	shift	control	keycode  67 = F19             
+	shift	altgr	control	keycode  67 = F19             
+	alt	keycode  67 = Console_9       
+	shift	alt	keycode  67 = Console_9       
+	altgr	alt	keycode  67 = Console_9       
+	shift	altgr	alt	keycode  67 = Console_9       
+	control	alt	keycode  67 = Console_9       
+	shift	control	alt	keycode  67 = Console_9       
+	altgr	control	alt	keycode  67 = Console_9       
+	shift	altgr	control	alt	keycode  67 = Console_9       
+keycode  68 = F10             
+	shift	keycode  68 = F20             
+	shift	altgr	keycode  68 = F20             
+	shift	control	keycode  68 = F20             
+	shift	altgr	control	keycode  68 = F20             
+	alt	keycode  68 = Console_10      
+	shift	alt	keycode  68 = Console_10      
+	altgr	alt	keycode  68 = Console_10      
+	shift	altgr	alt	keycode  68 = Console_10      
+	control	alt	keycode  68 = Console_10      
+	shift	control	alt	keycode  68 = Console_10      
+	altgr	control	alt	keycode  68 = Console_10      
+	shift	altgr	control	alt	keycode  68 = Console_10      
+keycode  69 = Num_Lock        
+keycode  70 = Scroll_Lock     
+	shift	keycode  70 = Show_Memory     
+	shift	altgr	keycode  70 = Show_Memory     
+	control	keycode  70 = Show_State      
+	altgr	control	keycode  70 = Show_State      
+	alt	keycode  70 = Show_Registers  
+	altgr	alt	keycode  70 = Show_Registers  
+keycode  71 = KP_7            
+	alt	keycode  71 = Ascii_7         
+	altgr	alt	keycode  71 = Ascii_7         
+keycode  72 = KP_8            
+	alt	keycode  72 = Ascii_8         
+	altgr	alt	keycode  72 = Ascii_8         
+keycode  73 = KP_9            
+	alt	keycode  73 = Ascii_9         
+	altgr	alt	keycode  73 = Ascii_9         
+keycode  74 = KP_Subtract     
+keycode  75 = KP_4            
+	alt	keycode  75 = Ascii_4         
+	altgr	alt	keycode  75 = Ascii_4         
+keycode  76 = KP_5            
+	alt	keycode  76 = Ascii_5         
+	altgr	alt	keycode  76 = Ascii_5         
+keycode  77 = KP_6            
+	alt	keycode  77 = Ascii_6         
+	altgr	alt	keycode  77 = Ascii_6         
+keycode  78 = KP_Add          
+keycode  79 = KP_1            
+	alt	keycode  79 = Ascii_1         
+	altgr	alt	keycode  79 = Ascii_1         
+keycode  80 = KP_2            
+	alt	keycode  80 = Ascii_2         
+	altgr	alt	keycode  80 = Ascii_2         
+keycode  81 = KP_3            
+	alt	keycode  81 = Ascii_3         
+	altgr	alt	keycode  81 = Ascii_3         
+keycode  82 = KP_0            
+	alt	keycode  82 = Ascii_0         
+	altgr	alt	keycode  82 = Ascii_0         
+keycode  83 = KP_Period       
+	control	alt	keycode  83 = Boot            
+	altgr	control	alt	keycode  83 = Boot            
+keycode  84 = Last_Console    
+keycode  85 =
+keycode  86 = less             greater          less             greater         
+keycode  87 = F11             
+	alt	keycode  87 = Console_11      
+	shift	alt	keycode  87 = Console_11      
+	altgr	alt	keycode  87 = Console_11      
+	shift	altgr	alt	keycode  87 = Console_11      
+	control	alt	keycode  87 = Console_11      
+	shift	control	alt	keycode  87 = Console_11      
+	altgr	control	alt	keycode  87 = Console_11      
+	shift	altgr	control	alt	keycode  87 = Console_11      
+keycode  88 = F12             
+	alt	keycode  88 = Console_12      
+	shift	alt	keycode  88 = Console_12      
+	altgr	alt	keycode  88 = Console_12      
+	shift	altgr	alt	keycode  88 = Console_12      
+	control	alt	keycode  88 = Console_12      
+	shift	control	alt	keycode  88 = Console_12      
+	altgr	control	alt	keycode  88 = Console_12      
+	shift	altgr	control	alt	keycode  88 = Console_12      
+keycode  89 =
+keycode  90 =
+keycode  91 =
+keycode  92 =
+keycode  93 =
+keycode  94 =
+keycode  95 =
+keycode  96 = KP_Enter        
+keycode  97 = Control         
+	shift	keycode  97 = AltGr_Lock      
+	shift	altgr	keycode  97 = AltGr_Lock      
+keycode  98 = KP_Divide       
+keycode  99 = Control_backslash
+keycode 100 = AltGr           
+keycode 101 = Break           
+keycode 102 = Find            
+keycode 103 = Up              
+keycode 104 = Prior           
+	shift	keycode 104 = Scroll_Backward 
+	shift	altgr	keycode 104 = Scroll_Backward 
+keycode 105 = Left            
+	alt	keycode 105 = Decr_Console    
+	altgr	alt	keycode 105 = Decr_Console    
+keycode 106 = Right           
+	alt	keycode 106 = Incr_Console    
+	altgr	alt	keycode 106 = Incr_Console    
+keycode 107 = Select          
+keycode 108 = Down            
+keycode 109 = Next            
+	shift	keycode 109 = Scroll_Forward  
+	shift	altgr	keycode 109 = Scroll_Forward  
+keycode 110 = Insert          
+keycode 111 = Remove          
+	control	alt	keycode 111 = Boot            
+	altgr	control	alt	keycode 111 = Boot            
+keycode 112 = Macro           
+keycode 113 = F13             
+keycode 114 = F14             
+keycode 115 = Help            
+keycode 116 = Do              
+keycode 117 = F17             
+keycode 118 = KP_MinPlus      
+keycode 119 = Pause           
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = AltGr           
+keycode 126 = Compose         
+keycode 127 = AltGr_Lock      
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+string F24 = "\37777777763\37777777777\37777777677o\016\005\010"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/data/keymaps/i386/qwerty/nl.map b/data/keymaps/i386/qwerty/nl.map
index a072887..c56a38d 100644
--- a/data/keymaps/i386/qwerty/nl.map
+++ b/data/keymaps/i386/qwerty/nl.map
@@ -9,7 +9,7 @@
 #   Added the circumflex as AltGr func. of the key with the dead_circumflex
 #
 charset "iso-8859-1"
-keymaps 0-2,4-6,8-9,12
+keymaps 0-6,8-9,12
 alt_is_meta
 include "qwerty-layout"
   altgr        keycode  19 = paragraph
@@ -44,6 +44,7 @@
 keycode  10 = nine		parenright	braceright
 keycode  11 = zero		apostrophe
 keycode  12 = slash		question	backslash
+  control altgr keycode  12 = Control_backslash
 # some use dead_tilde instead of asciitilde
 keycode  13 = degree		asciitilde	dead_cedilla
 keycode  14 = Delete
@@ -58,6 +59,7 @@
 keycode  39 = plus		plusminus
 keycode  40 = dead_acute	dead_grave
   control      keycode  40 = Control_g
+  alt          keycode  40 = Meta_apostrophe
 keycode  41 = at		section		notsign
   control keycode  41 = nul
   control shift keycode 41 = nul
diff --git a/doc/kbd.FAQ-12.html b/doc/kbd.FAQ-12.html
index 7a4c38f..e9d9cce 100644
--- a/doc/kbd.FAQ-12.html
+++ b/doc/kbd.FAQ-12.html
@@ -26,6 +26,13 @@
 Note that in recent versions of libc the routine setlocale() only
 works if you have installed the locale files (e.g. in
 <CODE>/usr/lib/locale</CODE>).
+<P>NOTE! The above was written years ago. Today locale stuff is a bit different.
+Try the command <CODE>locale -a</CODE> to see which locales are available.
+Then use one of these locale names instead of the <CODE>iso_8859-1</CODE>
+mentioned above. For example, <CODE>LC_CTYPE=fr_FR.ISO-8859-1</CODE> or
+<CODE>LC_CTYPE=fr_FR@euro</CODE>.
+<P>NOTE! Some of the below may still be true. Most of it is outdated.
+(Please report on what is incorrect today, so that it can be deleted.)
 <P>First of all, the 8-th bit should survive the kernel input processing,
 so make sure to have <CODE>stty cs8 -istrip -parenb</CODE> set.
 <P>A. For <CODE>emacs</CODE> the details strongly depend on the version.
@@ -135,7 +142,7 @@
 <P>E. For <CODE>tcsh</CODE>, use
 <BLOCKQUOTE><CODE>
 <PRE>
-        setenv LANG     US_en
+        setenv LANG     en_US
         setenv LC_CTYPE iso_8859_1
 </PRE>
 </CODE></BLOCKQUOTE>
@@ -156,9 +163,6 @@
 <P>I. For programs using <CODE>groff</CODE> (such as <CODE>man</CODE>), make sure to use
 <CODE>-Tlatin1</CODE> instead of <CODE>-Tascii</CODE>. Old versions of the program <CODE>man</CODE>
 also use <CODE>col</CODE>, and the next point also applies.
-<P>J. For <CODE>col</CODE>, make sure 1) that it is fixed so as to do
-<CODE>setlocale(LC_CTYPE,"");</CODE> and 2) put
-<CODE>LC_CTYPE=ISO-8859-1</CODE> in the environment.
 <P>K. For <CODE>rlogin</CODE>, use option <CODE>-8</CODE>.
 <P>L. For <CODE>joe</CODE>,
 <CODE>metalab.unc.edu:/pub/Linux/apps/editors/joe-1.0.8-linux.tar.gz</CODE>
diff --git a/doc/kbd.FAQ-4.html b/doc/kbd.FAQ-4.html
index 29911e7..373db6b 100644
--- a/doc/kbd.FAQ-4.html
+++ b/doc/kbd.FAQ-4.html
@@ -176,9 +176,24 @@
 <P>This usually settles the output side.
 <P>On the input side there are many things that might be wrong. If <CODE>X</CODE> or
 <CODE>DOOM</CODE> or some other program using raw mode crashed, your keyboard may
-still be in raw (or mediumraw) mode, and it is difficult to give commands.
+still be in raw (or mediumraw) mode, and you must give the command
+<BLOCKQUOTE><CODE>
+<PRE>
+        % kbd_mode -a
+</PRE>
+</CODE></BLOCKQUOTE>
+
+or
+<BLOCKQUOTE><CODE>
+<PRE>
+        % kbd_mode -u
+</PRE>
+</CODE></BLOCKQUOTE>
+
+to get back to normal 8-bit or Unicode mode again. Of course in this
+situation it may be difficult to give commands.
 (See "How to get out of raw mode" below.)
-If you loaded a bad keymap, then
+<P>If you loaded a bad keymap, then
 <BLOCKQUOTE><CODE>
 <PRE>
         % loadkeys -d
diff --git a/doc/kbd.FAQ-5.html b/doc/kbd.FAQ-5.html
index 386bdc1..4c84e43 100644
--- a/doc/kbd.FAQ-5.html
+++ b/doc/kbd.FAQ-5.html
@@ -84,8 +84,7 @@
 
 into <CODE>~/.inputrc</CODE>.
 <P>
-<H2><A NAME="ss5.1.1">5.1.1 `Getty used to do the right thing with DEL and BS but is broken now?'</A>
-</H2>
+<H3>`Getty used to do the right thing with DEL and BS but is broken now?'</H3>
 
 <P>
 <!--
@@ -98,8 +97,7 @@
 since the driver emulates a vt100). Get a better getty, i.e.,
 one that does not output DEL.
 <P>
-<H2><A NAME="ss5.1.2">5.1.2 `Login behaves differently at the first and second login attempts?'</A>
-</H2>
+<H3>`Login behaves differently at the first and second login attempts?'</H3>
 
 <P>
 <!--
@@ -176,8 +174,7 @@
 keymaps) and this may not yet be available in single user boot before
 <CODE>/usr</CODE> has been mounted.
 <P>
-<H2><A NAME="ss5.2.1">5.2.1 `How do I get a dvorak keyboard?'</A>
-</H2>
+<H3>`How do I get a dvorak keyboard?'</H3>
 
 <P>
 <!--
@@ -202,8 +199,7 @@
 
 in <CODE>XF86Config</CODE>.
 <P>
-<H2><A NAME="ss5.2.2">5.2.2 `Why doesn't the Backspace key generate BackSpace by default?'</A>
-</H2>
+<H3>`Why doesn't the Backspace key generate BackSpace by default?'</H3>
 
 <P>
 <!--
diff --git a/doc/kbd.FAQ-8.html b/doc/kbd.FAQ-8.html
index 4f0ee92..89d01c3 100644
--- a/doc/kbd.FAQ-8.html
+++ b/doc/kbd.FAQ-8.html
@@ -95,6 +95,9 @@
 AMI BIOS has a feature that locks up the keyboard and flashes the LED's
 if the Ctrl-Alt-Backspace combination is pressed while a BIOS password
 is enabled, until the CMOS/BIOS password is typed in.
+<P>On some SiS based motherboards the combination Ctrl-Alt-Backspace
+will cause a power off, or puts the machine in power save mode.
+(Reported for SiS 630 and for SiS645DX.)
 <P>
 <H2><A NAME="ss8.4">8.4 Dosemu Combinations</A>
 </H2>
diff --git a/doc/kbd.FAQ.html b/doc/kbd.FAQ.html
index 1b66a3e..a716887 100644
--- a/doc/kbd.FAQ.html
+++ b/doc/kbd.FAQ.html
@@ -48,17 +48,7 @@
 
 <UL>
 <LI><A HREF="kbd.FAQ-5.html#ss5.1">5.1 How to tell Unix what character you want to use to delete the last typed character</A>
-<UL>
-<LI><A HREF="kbd.FAQ-5.html#ss5.1.1">5.1.1 `Getty used to do the right thing with DEL and BS but is broken now?'</A>
-<LI><A HREF="kbd.FAQ-5.html#ss5.1.2">5.1.2 `Login behaves differently at the first and second login attempts?'</A>
-</UL>
-<P>
 <LI><A HREF="kbd.FAQ-5.html#ss5.2">5.2 How to tell Linux what code to generate when a key is pressed</A>
-<UL>
-<LI><A HREF="kbd.FAQ-5.html#ss5.2.1">5.2.1 `How do I get a dvorak keyboard?'</A>
-<LI><A HREF="kbd.FAQ-5.html#ss5.2.2">5.2.2 `Why doesn't the Backspace key generate BackSpace by default?'</A>
-</UL>
-<P>
 <LI><A HREF="kbd.FAQ-5.html#ss5.3">5.3 How to tell X to interchange Delete and Backspace</A>
 <LI><A HREF="kbd.FAQ-5.html#ss5.4">5.4 How to tell emacs what to do when it receives a Delete or Backspace</A>
 <LI><A HREF="kbd.FAQ-5.html#ss5.5">5.5 How to tell emacs to interchange Delete and Backspace</A>
diff --git a/doc/kbd.FAQ.sgml b/doc/kbd.FAQ.sgml
index 68d02ec..ce512a8 100644
--- a/doc/kbd.FAQ.sgml
+++ b/doc/kbd.FAQ.sgml
@@ -286,8 +286,18 @@
 
 On the input side there are many things that might be wrong. If <tt/X/ or
 <tt/DOOM/ or some other program using raw mode crashed, your keyboard may
-still be in raw (or mediumraw) mode, and it is difficult to give commands.
+still be in raw (or mediumraw) mode, and you must give the command
+<tscreen><verb>
+        % kbd_mode -a
+</verb></tscreen>
+or
+<tscreen><verb>
+        % kbd_mode -u
+</verb></tscreen>
+to get back to normal 8-bit or Unicode mode again. Of course in this
+situation it may be difficult to give commands.
 (See "How to get out of raw mode" below.)
+
 If you loaded a bad keymap, then
 <tscreen><verb>
 	% loadkeys -d
@@ -928,6 +938,10 @@
 if the Ctrl-Alt-Backspace combination is pressed while a BIOS password
 is enabled, until the CMOS/BIOS password is typed in.
 
+On some SiS based motherboards the combination Ctrl-Alt-Backspace
+will cause a power off, or puts the machine in power save mode.
+(Reported for SiS 630 and for SiS645DX.)
+
 <sect1>Dosemu Combinations<p>
 <nidx>key combinations!dosemu</nidx>
 <nidx>dosemu!key combinations for</nidx>
@@ -1193,6 +1207,15 @@
 works if you have installed the locale files (e.g. in
 <tt>/usr/lib/locale</tt>).
 
+NOTE! The above was written years ago. Today locale stuff is a bit different.
+Try the command <tt>locale -a</tt> to see which locales are available.
+Then use one of these locale names instead of the <tt>iso_8859-1</tt>
+mentioned above. For example, <tt>LC_CTYPE=fr_FR.ISO-8859-1</tt> or
+<tt/LC_CTYPE=fr_FR@euro</tt>.
+
+NOTE! Some of the below may still be true. Most of it is outdated.
+(Please report on what is incorrect today, so that it can be deleted.)
+
 First of all, the 8-th bit should survive the kernel input processing,
 so make sure to have <tt/stty cs8 -istrip -parenb/ set.
 
@@ -1285,7 +1308,7 @@
 
 E. For <tt/tcsh/, use
 <tscreen><verb>
-	setenv LANG     US_en
+	setenv LANG     en_US
 	setenv LC_CTYPE iso_8859_1
 </verb></tscreen>
 If you have nls on your system, then the corresponding routines are used.
@@ -1309,10 +1332,6 @@
 <tt/-Tlatin1/ instead of <tt/-Tascii/. Old versions of the program <tt/man/
 also use <tt/col/, and the next point also applies.
 
-J. For <tt/col/, make sure 1) that it is fixed so as to do
-<tt>setlocale(LC_CTYPE,"");</tt> and 2) put
-<tt>LC_CTYPE=ISO-8859-1</tt> in the environment.
-
 K. For <tt/rlogin/, use option <tt/-8/.
 
 L. For <tt/joe/,
diff --git a/man/man8/loadunimap.8.in b/man/man8/loadunimap.8.in
index ea848c3..39bd518 100644
--- a/man/man8/loadunimap.8.in
+++ b/man/man8/loadunimap.8.in
@@ -1,11 +1,14 @@
 .\" @(#)loadunimap.8 1.0 970317 aeb
-.TH LOADUNIMAP 8 "17 Mar 1997"
+.TH LOADUNIMAP 8 "2004-01-01"
 .SH NAME
 loadunimap \- load the kernel unicode-to-font mapping table
 .SH SYNOPSIS
 .B loadunimap
 [
-.B -o
+.B \-C
+.I console
+] [
+.B \-o
 .I oldmap
 ] [
 .I map
@@ -25,10 +28,16 @@
 is assumed.
 The default extension (that can be omitted) is
 .IR .uni .
+.LP
 If the
 .B -o
 .I oldmap
 option is given, the old map is saved in the file specified.
+.LP
+On Linux 2.6.1 and later one can specify the console device using the
+.B \-C
+option.
+.LP
 Usually one does not call
 .B loadunimap
 directly - its function is also built into
diff --git a/man/man8/setfont.8.in b/man/man8/setfont.8.in
index 2d4b70d..8aec17b 100644
--- a/man/man8/setfont.8.in
+++ b/man/man8/setfont.8.in
@@ -9,6 +9,7 @@
 .RI "[-" "N" "] [" "font.new ..." ]
 .RI "[-m " "cmap" ]
 .RI "[-u " "umap" ]
+.RI "[-C " "console" ]
 .RI "[-h" "H" ]
 .RI "[-v] [-V]"
 .IX "setfont command" "" "\fLsetfont\fR command"
@@ -202,6 +203,9 @@
 Load Unicode table describing the font from
 .IR file .
 .TP
+.BI "\-C " console
+Set the font for the indicated console. (May require root permissions.)
+.TP
 .B \-v
 Be verbose.
 .TP
diff --git a/man/man8/showconsolefont.8 b/man/man8/showconsolefont.8
index c86a788..e3e24f3 100644
--- a/man/man8/showconsolefont.8
+++ b/man/man8/showconsolefont.8
@@ -5,23 +5,23 @@
 
 .SH SYNOPSIS
 .B showconsolefont
-.RI "[-V]"
-.RI "[-v]"
+[
+.B \-V
+] [
+.B \-v
+] [
+.B \-C
+.I console
+]
 
 .SH DESCRIPTION
 The
 .B showconsolefont
 command outputs the current console font to stdout.
-The option
-.RI \-v 
-prints additional information, while the option
-.RI \-V
-prints the program version number.
+The option \-v prints additional information, while
+the option \-V prints the program version number.
+On Linux 2.6.1 and later, the option \-C allows one
+to indicate the console involved. Its argument is a pathname.
 
 .SH "SEE ALSO"
-.BR setfont (8).
-
-.\" .SH AUTHORS
-.\" Andries Brouwer
-.\" .br
-.\" Manpage by Alastair McKinstry <mckinstry@computer.org>
+.BR setfont (8)
diff --git a/man/man8misc/getunimap.8 b/man/man8misc/getunimap.8
index 54262fa..087d85c 100644
--- a/man/man8misc/getunimap.8
+++ b/man/man8misc/getunimap.8
@@ -1,11 +1,11 @@
-.TH GETUNIMAP 8 "2002-02-20" "Console Tools" "Linux"
+.TH GETUNIMAP 8 "2004-01-01" "Console Tools" "Linux"
 
 .SH NAME
 getunimap \- dump the unicode map for the current console to stdout
 
 .SH SYNOPSIS
-.B getunimap [
-.I \-s 
+.B getunimap [ \-s ] [ \-C
+.I console
 ]
 
 .SH DESCRIPTION
@@ -17,8 +17,16 @@
 The 
 .B getunimap
 program outputs the unicode map (also called a "Screen Font Map") 
-for the current console to standard out.
-The output will be of the form
+for the current console to standard output.
+.LP
+The
+.B \-C
+option may be used with Linux 2.6.1 and later to get the map for
+a console different from the current one. Its argument is a pathname.
+.LP
+The output of
+.B getunimap
+is of the form
 .LP
 .RS
 	0xAA U+1234 # comment
diff --git a/openvt/Makefile b/openvt/Makefile
index 415d508..51dcf51 100644
--- a/openvt/Makefile
+++ b/openvt/Makefile
@@ -25,8 +25,8 @@
 
 install: $(PROGS)
 	install -d -m 755 $(BINDIR) $(MANDIR)/man1
-	install -c $(PROGS) $(BINDIR)
-	install -c $(MAN) $(MANDIR)/man1
+	install $(PROGS) $(BINDIR)
+	install -m 644 $(MAN) $(MANDIR)/man1
 
 # don't change 4711 to 0711 - this is the setuid target
 setuid:
diff --git a/openvt/openvt.1 b/openvt/openvt.1
index d701747..610ad34 100644
--- a/openvt/openvt.1
+++ b/openvt/openvt.1
@@ -21,6 +21,11 @@
 Use the given VT number and not the first available. Note you
 must have write access to the supplied VT for this to work.
 .TP
+.I "\-e"
+Directly execute the given command, without forking.
+This option is meant for use in
+.IR /etc/inittab .
+.TP
 .I "\-s"
 Switch to the new VT when starting the command. The VT of the new command
 will be made the new current VT.
diff --git a/openvt/openvt.c b/openvt/openvt.c
index d94462d..92d904d 100644
--- a/openvt/openvt.c
+++ b/openvt/openvt.c
@@ -22,6 +22,7 @@
  * Fixed some bugs; made it a bit more robust; renamed to openvt
  *  aeb@cwi.nl, 1998-06-06.
  * Applied patch by Chuck Martin <cmartin@bigfoot.com>, i18n, aeb, 990316.
+ * Applied patch by damjan@legolas (-e option), aeb, 2004-01-03.
  */
 
 #include "openvt.h"
@@ -48,6 +49,7 @@
    char login   = FALSE;
    char force   = FALSE;
    char verbose = FALSE;
+   char direct_exec	= FALSE;
    char do_wait	= FALSE;
    char as_user = FALSE;
    char vtname[sizeof VTNAME + 2]; /* allow 999 possible VTs */
@@ -58,7 +60,7 @@
     * POSIX/Gnu getopt forces the use of -- to separate child/program
     * options. RTFM.
     */
-   while ((opt = getopt(argc, argv, "c:lsvfuw")) != -1) {
+   while ((opt = getopt(argc, argv, "c:lsvfuew")) != -1) {
       switch (opt) {
 	case 'c':
 	  optc = 1;		/* vtno was specified by the user */
@@ -82,6 +84,9 @@
         case 'f':
 	  force = TRUE;
 	  break;
+	case 'e':
+	  direct_exec = TRUE;
+	  break;
 	case 'w':
 	  do_wait = TRUE;
 	  break;
@@ -119,7 +124,8 @@
      }
    } else if (!force) {
      if (vtno >= 16) {
-        fprintf(stderr, _("openvt: cannot check whether vt %d is free\n"), vtno);
+        fprintf(stderr, _("openvt: cannot check whether vt %d is free\n"),
+		vtno);
 	fprintf(stderr, _("        use `openvt -f' to force.\n"));
 	return(7);
      }
@@ -206,16 +212,18 @@
 	
    fflush(stderr);
 
-   if((pid = fork()) == 0) {
+   if (direct_exec || ((pid = fork()) == 0)) {
       /* leave current vt */
+      if (!direct_exec) {
 #ifdef   ESIX_5_3_2_D
-      if (setpgrp() < 0) {
+         if (setpgrp() < 0) {
 #else
-      if (setsid() < 0) {
+         if (setsid() < 0) {
 #endif
-        int errsv = errno;
-        fprintf(stderr, _("openvt: Unable to set new session (%s)\n"),
-		strerror(errsv));
+           int errsv = errno;
+           fprintf(stderr, _("openvt: Unable to set new session (%s)\n"),
+		   strerror(errsv));
+         }
       }
       close(0);			/* so that new vt becomes stdin */
 
@@ -251,6 +259,8 @@
       dup(fd);
       dup(fd);
 
+      /* slight problem: after "openvt -su" has finished, the
+	 utmp entry is not removed */
       if(as_user)
 	 execlp("login", "login", "-f", username, NULL);
       else if (def_cmd)
diff --git a/po/Makefile b/po/Makefile
index 3fa1950..0691bb4 100644
--- a/po/Makefile
+++ b/po/Makefile
@@ -1,9 +1,8 @@
 PACKAGE = kbd
-VERSION = 1.06
+VERSION = 1.10
 
 include ../make_include
 
-#
 # po2tbl.sed is not taken from /usr/share/gettext/intl
 # Often it is not present.
 # A RedHat 5.2 installation only has po2tbl.sed.in.
@@ -14,20 +13,19 @@
 FOREIGN=
 SHELL = /bin/sh
 
-prefix = ${DESTDIR}
+prefix = $(DESTDIR)/usr
 datadir = $(prefix)/share
 localedir = $(datadir)/locale
 gnulocaledir = $(prefix)/share/locale
 gettextsrcdir = $(prefix)/share/gettext/po
 
-INSTALL = /usr/bin/install -c
-INSTALL_DATA = ${INSTALL} -m 644
-
 # Not giving an explicit path improves the chances of finding these
 GENCAT = gencat
 MSGFMT = msgfmt
 XGETTEXT = xgettext
 MSGMERGE = msgmerge
+INSTALL = install -c
+INSTALL_DATA = ${INSTALL} -m 644
 
 # ..      for <config.h> (if HAVE_CONFIG_H is set)
 # $(INTL) for "libgettext.h"
@@ -36,9 +34,9 @@
 COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
 
 # Enter here all .po files
-POFILES =  es.po nl.po ru.po
+POFILES =  cs.po da.po de.po es.po fr.po gr.po nl.po pl.po ro.po ru.po sv.po tr.po
 # the same but with .gmo
-GMOFILES = es.gmo nl.gmo ru.gmo
+GMOFILES = cs.gmo da.gmo de.gmo es.gmo fr.gmo gr.gmo nl.gmo pl.gmo ro.gmo ru.gmo sv.gmo tr.gmo
 
 CATALOGS = $(GMOFILES)
 CATOBJEXT = .gmo
diff --git a/po/Makefile.in b/po/Makefile.in
new file mode 100644
index 0000000..99e762a
--- /dev/null
+++ b/po/Makefile.in
@@ -0,0 +1,144 @@
+PACKAGE = kbd
+VERSION = 1.10
+
+include ../make_include
+
+# po2tbl.sed is not taken from /usr/share/gettext/intl
+# Often it is not present.
+# A RedHat 5.2 installation only has po2tbl.sed.in.
+#
+PO2TBL = ./po2tbl.sed
+INTL = /usr/share/gettext/intl
+# FOREIGN=--foreign-user
+FOREIGN=
+SHELL = /bin/sh
+
+prefix = $(DESTDIR)@prefix@
+datadir = $(prefix)/share
+localedir = $(datadir)/locale
+gnulocaledir = $(prefix)/share/locale
+gettextsrcdir = $(prefix)/share/gettext/po
+
+# Not giving an explicit path improves the chances of finding these
+GENCAT = gencat
+MSGFMT = msgfmt
+XGETTEXT = xgettext
+MSGMERGE = msgmerge
+INSTALL = install -c
+INSTALL_DATA = ${INSTALL} -m 644
+
+# ..      for <config.h> (if HAVE_CONFIG_H is set)
+# $(INTL) for "libgettext.h"
+INCLUDES = -I.. -I$(INTL)
+
+COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
+
+# Enter here all .po files
+POFILES =  cs.po da.po de.po es.po fr.po gr.po nl.po pl.po ro.po ru.po sv.po tr.po
+# the same but with .gmo
+GMOFILES = cs.gmo da.gmo de.gmo es.gmo fr.gmo gr.gmo nl.gmo pl.gmo ro.gmo ru.gmo sv.gmo tr.gmo
+
+CATALOGS = $(GMOFILES)
+CATOBJEXT = .gmo
+INSTOBJEXT = .mo
+
+.SUFFIXES:
+.SUFFIXES: .c .o .po .gmo .mo .msg .cat
+
+.c.o:
+	$(COMPILE) $<
+
+.po.mo:
+	$(MSGFMT) -o $@ $<
+
+.po.gmo:
+	$(MSGFMT) -o $@ $<
+
+.po.cat:
+	sed -f $(PO2TBL) < $< > $*.msg \
+	  && rm -f $@ && $(GENCAT) $@ $*.msg
+
+all: all-$(HAVE_XGETTEXT)
+
+all-yes: cat-id-tbl.c $(CATALOGS)
+all-no:
+
+kbd.pot:
+	$(XGETTEXT) --default-domain=kbd --directory=.. \
+	  --add-comments --keyword=_ --keyword=N_ \
+	  --files-from=POTFILES.in $(FOREIGN)
+	mv kbd.po kbd.pot
+
+cat-id-tbl.c: stamp-cat-id
+stamp-cat-id: kbd.pot
+	rm -f cat-id-tbl.tmp
+	sed -f $(PO2TBL) kbd.pot \
+		| sed -e "s/@PACKAGE NAME@/kbd/" > cat-id-tbl.tmp
+	if cmp -s cat-id-tbl.tmp cat-id-tbl.c; then \
+	  rm cat-id-tbl.tmp; \
+	else \
+	  echo cat-id-tbl.c changed; \
+	  rm -f cat-id-tbl.c; \
+	  mv cat-id-tbl.tmp cat-id-tbl.c; \
+	fi
+	rm -f stamp-cat-id && echo timestamp > stamp-cat-id
+
+install: install-data-$(HAVE_XGETTEXT)
+install-data-no: all
+install-data-yes: all
+	../mkinstalldirs $(datadir);
+	@catalogs='$(CATALOGS)'; \
+	for cat in $$catalogs; do \
+	  case "$$cat" in \
+	    *.gmo) destdir=$(gnulocaledir);; \
+	    *)     destdir=$(localedir);; \
+	  esac; \
+	  lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \
+	  dir=$$destdir/$$lang/LC_MESSAGES; \
+	  ../mkinstalldirs $$dir; \
+	  $(INSTALL_DATA) $$cat $$dir/kbd$(INSTOBJEXT); \
+	  echo "installing $$cat as $$dir/kbd$(INSTOBJEXT)"; \
+	  if test -r $$cat.m; then \
+	    $(INSTALL_DATA) $$cat.m $$dir/kbd$(INSTOBJEXT).m; \
+	    echo "installing $$cat.m as $$dir/kbd$(INSTOBJEXT).m"; \
+	  fi; \
+	done
+
+uninstall:
+	catalogs='$(CATALOGS)'; \
+	for cat in $$catalogs; do \
+	  lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \
+	  rm -f $(localedir)/$$lang/LC_MESSAGES/kbd$(INSTOBJEXT); \
+	  rm -f $(localedir)/$$lang/LC_MESSAGES/kbd$(INSTOBJEXT).m; \
+	  rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/kbd$(INSTOBJEXT); \
+	  rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/kbd$(INSTOBJEXT).m; \
+	done
+	rm -f $(gettextsrcdir)/po-Makefile.in.in
+
+cat-id-tbl.o: $(INTL)/libgettext.h
+
+clean:
+	rm -f core core.* *~ *.o kbd.pot cat-id-tbl.tmp
+
+distclean: clean
+	rm -f POTFILES *.gmo *.mo *.msg *.cat *.cat.m
+
+update-po: 
+	$(MAKE) kbd.pot
+	catalogs='$(CATALOGS)'; \
+	for cat in $$catalogs; do \
+	  lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \
+	  mv $$lang.po $$lang.old.po; \
+	  echo "$$lang:"; \
+	  if $(MSGMERGE) $$lang.old.po kbd.pot -o $$lang.po; then \
+	    rm -f $$lang.old.po; \
+	  else \
+	    echo "msgmerge for $$cat failed!"; \
+	    rm -f $$lang.po; \
+	    mv $$lang.old.po $$lang.po; \
+	  fi; \
+	done
+
+POTFILES: 
+	./update-potfiles
+
diff --git a/po/cat-id-tbl.c b/po/cat-id-tbl.c
index 4a90ff3..44b6e56 100644
--- a/po/cat-id-tbl.c
+++ b/po/cat-id-tbl.c
@@ -29,10 +29,10 @@
   {"%s: 0: illegal VT number\n", 18},
   {"%s: VT 1 is the console and cannot be deallocated\n", 19},
   {"%s: could not deallocate console %d\n", 20},
-  {"KDGKBENT error at index 0 in table %d: ", 21},
+  {"KDGKBENT error at index 0 in table %d\n", 21},
   {"%s: cannot find any keymaps?\n", 22},
   {"%s: plain map not allocated? very strange ...\n", 23},
-  {"KDGKBENT error at index %d in table %d: ", 24},
+  {"KDGKBENT error at index %d in table %d\n", 24},
   {"keycode range supported by kernel:           1 - %d\n", 25},
   {"max number of actions bindable to a key:         %d\n", 26},
   {"number of keymaps in actual use:                 %d\n", 27},
@@ -77,135 +77,138 @@
 \t\t\t    interpret character action codes to be from the\n\
 \t\t\t    specified character set\n", 42},
   {"error executing  %s\n", 43},
-  {"usage: getkeycodes\n", 44},
-  {"Plain scancodes xx (hex) versus keycodes (dec)\n", 45},
-  {"0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n", 46},
+  {"Couldnt open %s\n", 44},
+  {"usage: getkeycodes\n", 45},
+  {"Plain scancodes xx (hex) versus keycodes (dec)\n", 46},
+  {"0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n", 47},
   {"\
 \n\
 \n\
-Escaped scancodes e0 xx (hex)\n", 47},
-  {"failed to get keycode for scancode 0x%x\n", 48},
+Escaped scancodes e0 xx (hex)\n", 48},
+  {"failed to get keycode for scancode 0x%x\n", 49},
   {"\
 Usage:\n\
-\t%s [-s]\n", 49},
-  {"usage: kbd_mode [-a|-u|-k|-s]\n", 50},
-  {"kbd_mode: error reading keyboard mode\n", 51},
-  {"The keyboard is in raw (scancode) mode\n", 52},
-  {"The keyboard is in mediumraw (keycode) mode\n", 53},
-  {"The keyboard is in the default (ASCII) mode\n", 54},
-  {"The keyboard is in Unicode (UTF-8) mode\n", 55},
-  {"The keyboard is in some unknown mode\n", 56},
-  {"%s: error setting keyboard mode\n", 57},
-  {"Typematic Rate set to %.1f cps (delay = %d ms)\n", 58},
-  {"Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n", 59},
-  {"Cannot open /dev/port", 60},
-  {"bug: getfont called with count<256\n", 61},
-  {"%s: out of memory\n", 62},
-  {"unknown charset %s - ignoring charset request\n", 63},
-  {"assuming iso-8859-1 %s\n", 64},
-  {"assuming iso-8859-15 %s\n", 65},
-  {"assuming iso-8859-2 %s\n", 66},
-  {"assuming iso-8859-3 %s\n", 67},
-  {"assuming iso-8859-4 %s\n", 68},
-  {"unknown keysym '%s'\n", 69},
-  {"plus before %s ignored\n", 70},
-  {"usage: %s [-o map.orig] [map-file]\n", 71},
-  {"Bad input line: %s\n", 72},
-  {"%s: Glyph number (0x%x) larger than font length\n", 73},
-  {"%s: Bad end of range (0x%x)\n", 74},
-  {"%s: Bad Unicode range corresponding to font position range 0x%x-0x%x\n", 75},
+\t%s [-s] [-C console]\n", 50},
+  {"usage: kbd_mode [-a|-u|-k|-s]\n", 51},
+  {"kbd_mode: error reading keyboard mode\n", 52},
+  {"The keyboard is in raw (scancode) mode\n", 53},
+  {"The keyboard is in mediumraw (keycode) mode\n", 54},
+  {"The keyboard is in the default (ASCII) mode\n", 55},
+  {"The keyboard is in Unicode (UTF-8) mode\n", 56},
+  {"The keyboard is in some unknown mode\n", 57},
+  {"%s: error setting keyboard mode\n", 58},
+  {"Typematic Rate set to %.1f cps (delay = %d ms)\n", 59},
+  {"Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n", 60},
+  {"Cannot open /dev/port", 61},
+  {"bug: getfont called with count<256\n", 62},
+  {"%s: out of memory\n", 63},
+  {"unknown charset %s - ignoring charset request\n", 64},
+  {"assuming iso-8859-1 %s\n", 65},
+  {"assuming iso-8859-15 %s\n", 66},
+  {"assuming iso-8859-2 %s\n", 67},
+  {"assuming iso-8859-3 %s\n", 68},
+  {"assuming iso-8859-4 %s\n", 69},
+  {"unknown keysym '%s'\n", 70},
+  {"plus before %s ignored\n", 71},
+  {"\
+Usage:\n\
+\t%s [-C console] [-o map.orig]\n", 72},
+  {"Bad input line: %s\n", 73},
+  {"%s: Glyph number (0x%x) larger than font length\n", 74},
+  {"%s: Bad end of range (0x%x)\n", 75},
+  {"%s: Bad Unicode range corresponding to font position range 0x%x-0x%x\n", 76},
   {"\
 %s: Unicode range U+%x-U+%x not of the same length as font position range 0x%\
-x-0x%x\n", 76},
-  {"%s: trailing junk (%s) ignored\n", 77},
-  {"Loading unicode map from file %s\n", 78},
-  {"%s: %s: Warning: line too long\n", 79},
+x-0x%x\n", 77},
+  {"%s: trailing junk (%s) ignored\n", 78},
+  {"Loading unicode map from file %s\n", 79},
+  {"%s: %s: Warning: line too long\n", 80},
   {"\
 %s: not loading empty unimap\n\
-(if you insist: use option -f to override)\n", 80},
-  {"entry", 81},
-  {"entries", 82},
-  {"Saved unicode map on `%s'\n", 83},
-  {"Appended Unicode map\n", 84},
-  {"usage: %s [-v] [-o map.orig] map-file\n", 85},
-  {"mapscrn: cannot open map file _%s_\n", 86},
-  {"Cannot stat map file", 87},
-  {"Loading binary direct-to-font screen map from file %s\n", 88},
-  {"Error reading map from file `%s'\n", 89},
-  {"Loading binary unicode screen map from file %s\n", 90},
-  {"Loading symbolic screen map from file %s\n", 91},
-  {"Error parsing symbolic map from `%s', line %d\n", 92},
-  {"Error writing map to file\n", 93},
-  {"Cannot read console map\n", 94},
-  {"Saved screen map in `%s'\n", 95},
-  {"%s: short ucs2 unicode table\n", 96},
-  {"%s: short utf8 unicode table\n", 97},
-  {"%s: bad utf8\n", 98},
-  {"%s: unknown utf8 error\n", 99},
-  {"%s: short unicode table\n", 100},
-  {"%s: Error reading input font", 101},
-  {"%s: Bad call of readpsffont\n", 102},
-  {"%s: Unsupported psf file mode (%d)\n", 103},
-  {"%s: Unsupported psf version (%d)\n", 104},
-  {"%s: zero input font length?\n", 105},
-  {"%s: zero input character size?\n", 106},
-  {"%s: Input file: bad input length (%d)\n", 107},
-  {"%s: Input file: trailing garbage\n", 108},
-  {"appendunicode: illegal unicode %u\n", 109},
-  {"Cannot write font file header", 110},
-  {"%s: Warning: line too long\n", 111},
-  {"%s: Bad input line: %s\n", 112},
-  {"%s: Glyph number (0x%lx) past end of font\n", 113},
-  {"%s: Bad end of range (0x%lx)\n", 114},
+(if you insist: use option -f to override)\n", 81},
+  {"entry", 82},
+  {"entries", 83},
+  {"Saved unicode map on `%s'\n", 84},
+  {"Appended Unicode map\n", 85},
+  {"usage: %s [-v] [-o map.orig] map-file\n", 86},
+  {"mapscrn: cannot open map file _%s_\n", 87},
+  {"Cannot stat map file", 88},
+  {"Loading binary direct-to-font screen map from file %s\n", 89},
+  {"Error reading map from file `%s'\n", 90},
+  {"Loading binary unicode screen map from file %s\n", 91},
+  {"Loading symbolic screen map from file %s\n", 92},
+  {"Error parsing symbolic map from `%s', line %d\n", 93},
+  {"Error writing map to file\n", 94},
+  {"Cannot read console map\n", 95},
+  {"Saved screen map in `%s'\n", 96},
+  {"%s: short ucs2 unicode table\n", 97},
+  {"%s: short utf8 unicode table\n", 98},
+  {"%s: bad utf8\n", 99},
+  {"%s: unknown utf8 error\n", 100},
+  {"%s: short unicode table\n", 101},
+  {"%s: Error reading input font", 102},
+  {"%s: Bad call of readpsffont\n", 103},
+  {"%s: Unsupported psf file mode (%d)\n", 104},
+  {"%s: Unsupported psf version (%d)\n", 105},
+  {"%s: zero input font length?\n", 106},
+  {"%s: zero input character size?\n", 107},
+  {"%s: Input file: bad input length (%d)\n", 108},
+  {"%s: Input file: trailing garbage\n", 109},
+  {"appendunicode: illegal unicode %u\n", 110},
+  {"Cannot write font file header", 111},
+  {"%s: Warning: line too long\n", 112},
+  {"%s: Bad input line: %s\n", 113},
+  {"%s: Glyph number (0x%lx) past end of font\n", 114},
+  {"%s: Bad end of range (0x%lx)\n", 115},
   {"\
 %s: Corresponding to a range of font positions, there should be a Unicode \
-range\n", 115},
+range\n", 116},
   {"\
 Usage:\n\
-\t%s infont intable outfont\n", 116},
+\t%s infont intable outfont\n", 117},
   {"\
 Usage:\n\
-\t%s infont [outtable]\n", 117},
+\t%s infont [outtable]\n", 118},
   {"\
 Usage:\n\
-\t%s infont outfont\n", 118},
+\t%s infont outfont\n", 119},
   {"\
 Usage:\n\
-\t%s [-i infont] [-o outfont] [-it intable] [-ot outtable] [-nt]\n", 119},
-  {"%s: Bad magic number on %s\n", 120},
-  {"%s: psf file with unknown magic\n", 121},
-  {"%s: input font does not have an index\n", 122},
-  {"resizecons: cannot find videomode file %s\n", 123},
-  {"Invalid number of lines\n", 124},
-  {"Old mode: %dx%d  New mode: %dx%d\n", 125},
-  {"Old #scanlines: %d  New #scanlines: %d  Character height: %d\n", 126},
-  {"resizecons: the command `%s' failed\n", 127},
+\t%s [-i infont] [-o outfont] [-it intable] [-ot outtable] [-nt]\n", 120},
+  {"%s: Bad magic number on %s\n", 121},
+  {"%s: psf file with unknown magic\n", 122},
+  {"%s: input font does not have an index\n", 123},
+  {"resizecons: cannot find videomode file %s\n", 124},
+  {"Invalid number of lines\n", 125},
+  {"Old mode: %dx%d  New mode: %dx%d\n", 126},
+  {"Old #scanlines: %d  New #scanlines: %d  Character height: %d\n", 127},
+  {"resizecons: the command `%s' failed\n", 128},
   {"\
-resizecons: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n", 128},
+resizecons: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n", 129},
   {"\
 resizecons:\n\
 call is:  resizecons COLSxROWS  or:  resizecons COLS ROWS\n\
 or: resizecons -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, \
-60\n", 129},
-  {"resizecons: cannot get I/O permissions.\n", 130},
-  {"usage: screendump [n]\n", 131},
-  {"Error reading %s\n", 132},
-  {"couldn't read %s, and cannot ioctl dump\n", 133},
-  {"couldn't read %s\n", 134},
-  {"Strange ... screen is both %dx%d and %dx%d ??\n", 135},
-  {"Error writing screendump\n", 136},
+60\n", 130},
+  {"resizecons: cannot get I/O permissions.\n", 131},
+  {"usage: screendump [n]\n", 132},
+  {"Error reading %s\n", 133},
+  {"couldn't read %s, and cannot ioctl dump\n", 134},
+  {"couldn't read %s\n", 135},
+  {"Strange ... screen is both %dx%d and %dx%d ??\n", 136},
+  {"Error writing screendump\n", 137},
   {"\
 Usage: setfont [write-options] [-<N>] [newfont..] [-m consolemap] [-u \
 unicodemap]\n\
   write-options (take place before file loading):\n\
-    -o  <filename>\tWrite current font to <filename>\n\
-    -O  <filename>\tWrite current font and unicode map to <filename>\n\
-    -om <filename>\tWrite current consolemap to <filename>\n\
-    -ou <filename>\tWrite current unicodemap to <filename>\n\
+    -o  <filename>  Write current font to <filename>\n\
+    -O  <filename>  Write current font and unicode map to <filename>\n\
+    -om <filename>  Write current consolemap to <filename>\n\
+    -ou <filename>  Write current unicodemap to <filename>\n\
 If no newfont and no -[o|O|om|ou|m|u] option is given,\n\
 a default font is loaded:\n\
-    setfont             Load font \"default[.gz]\"\n\
-    setfont -<N>        Load font \"default8x<N>[.gz]\"\n\
+    setfont         Load font \"default[.gz]\"\n\
+    setfont -<N>    Load font \"default8x<N>[.gz]\"\n\
 The -<N> option selects a font from a codepage that contains three fonts:\n\
     setfont -{8|14|16} codepage.cp[.gz]   Load 8x<N> font from codepage.cp\n\
 Explicitly (with -m or -u) or implicitly (in the fontfile) given mappings\n\
@@ -213,53 +216,54 @@
     -h<N>      (no space) Override font height.\n\
     -m <fn>    Load console screen map.\n\
     -u <fn>    Load font unicode map.\n\
-    -m none\tSuppress loading and activation of a screen map.\n\
-    -u none\tSuppress loading of a unicode map.\n\
-    -v\t\tBe verbose.\n\
-    -V\t\tPrint version and exit.\n\
-Files are loaded from the current directory or /usr/lib/kbd/*/.\n", 137},
-  {"setfont: too many input files\n", 138},
+    -m none    Suppress loading and activation of a screen map.\n\
+    -u none    Suppress loading of a unicode map.\n\
+    -v         Be verbose.\n\
+    -C <cons>  Indicate console device to be used.\n\
+    -V         Print version and exit.\n\
+Files are loaded from the current directory or /usr/lib/kbd/*/.\n", 138},
+  {"setfont: too many input files\n", 139},
   {"\
 setfont: cannot both restore from character ROM and from file. Font \
-unchanged.\n", 139},
-  {"Bad character height %d\n", 140},
-  {"Bad character width %d\n", 141},
-  {"%s: font position 32 is nonblank\n", 142},
-  {"%s: wiped it\n", 143},
-  {"%s: background will look funny\n", 144},
-  {"Loading %d-char %dx%d font from file %s\n", 145},
-  {"Loading %d-char %dx%d font\n", 146},
-  {"Loading %d-char %dx%d (%d) font from file %s\n", 147},
-  {"Loading %d-char %dx%d (%d) font\n", 148},
-  {"%s: bug in do_loadtable\n", 149},
-  {"Loading Unicode mapping table...\n", 150},
-  {"Cannot open font file %s\n", 151},
-  {"When loading several fonts, all must be psf fonts - %s isn't\n", 152},
-  {"Read %d-char %dx%d font from file %s\n", 153},
-  {"When loading several fonts, all must have the same height\n", 154},
-  {"When loading several fonts, all must have the same width\n", 155},
-  {"Cannot find default font\n", 156},
-  {"Cannot find %s font\n", 157},
-  {"Reading font file %s\n", 158},
-  {"No final newline in combine file\n", 159},
-  {"Too many files to combine\n", 160},
-  {"Hmm - a font from restorefont? Using the first half.\n", 161},
-  {"Bad input file size\n", 162},
+unchanged.\n", 140},
+  {"Bad character height %d\n", 141},
+  {"Bad character width %d\n", 142},
+  {"%s: font position 32 is nonblank\n", 143},
+  {"%s: wiped it\n", 144},
+  {"%s: background will look funny\n", 145},
+  {"Loading %d-char %dx%d font from file %s\n", 146},
+  {"Loading %d-char %dx%d font\n", 147},
+  {"Loading %d-char %dx%d (%d) font from file %s\n", 148},
+  {"Loading %d-char %dx%d (%d) font\n", 149},
+  {"%s: bug in do_loadtable\n", 150},
+  {"Loading Unicode mapping table...\n", 151},
+  {"Cannot open font file %s\n", 152},
+  {"When loading several fonts, all must be psf fonts - %s isn't\n", 153},
+  {"Read %d-char %dx%d font from file %s\n", 154},
+  {"When loading several fonts, all must have the same height\n", 155},
+  {"When loading several fonts, all must have the same width\n", 156},
+  {"Cannot find default font\n", 157},
+  {"Cannot find %s font\n", 158},
+  {"Reading font file %s\n", 159},
+  {"No final newline in combine file\n", 160},
+  {"Too many files to combine\n", 161},
+  {"Hmm - a font from restorefont? Using the first half.\n", 162},
+  {"Bad input file size\n", 163},
   {"\
 This file contains 3 fonts: 8x8, 8x14 and 8x16. Please indicate\n\
-using an option -8 or -14 or -16 which one you want loaded.\n", 163},
-  {"You asked for font size %d, but only 8, 14, 16 are possible here.\n", 164},
-  {"Found nothing to save\n", 165},
-  {"Cannot write font file", 166},
-  {"Saved %d-char %dx%d font file on %s\n", 167},
+using an option -8 or -14 or -16 which one you want loaded.\n", 164},
+  {"You asked for font size %d, but only 8, 14, 16 are possible here.\n", 165},
+  {"Found nothing to save\n", 166},
+  {"Cannot write font file", 167},
+  {"Saved %d-char %dx%d font file on %s\n", 168},
   {"\
 usage: setkeycode scancode keycode ...\n\
  (where scancode is either xx or e0xx, given in hexadecimal,\n\
-  and keycode is given in decimal)\n", 168},
-  {"even number of arguments expected", 169},
-  {"error reading scancode", 170},
-  {"code outside bounds", 171},
-  {"failed to set scancode %x to keycode %d\n", 172},
+  and keycode is given in decimal)\n", 169},
+  {"even number of arguments expected", 170},
+  {"error reading scancode", 171},
+  {"code outside bounds", 172},
+  {"failed to set scancode %x to keycode %d\n", 173},
   {"\
 Usage:\n\
 \tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n\
@@ -272,56 +276,56 @@
 (and these are usually reflected in the leds).\n\
 With -L, setleds only sets the leds, and leaves the flags alone.\n\
 With -D, setleds sets both the flags and the default flags, so\n\
-that a subsequent reset will not change the flags.\n", 173},
-  {"on ", 174},
-  {"off", 175},
-  {"Error reading current led setting. Maybe stdin is not a VT?\n", 176},
+that a subsequent reset will not change the flags.\n", 174},
+  {"on ", 175},
+  {"off", 176},
+  {"Error reading current led setting. Maybe stdin is not a VT?\n", 177},
   {"\
-Error reading current flags setting. Maybe you are not on the console?\n", 177},
-  {"Error reading current led setting from /dev/kbd.\n", 178},
-  {"KIOCGLED unavailable?\n", 179},
-  {"KIOCSLED unavailable?\n", 180},
-  {"Error opening /dev/kbd.\n", 181},
-  {"Error resetting ledmode\n", 182},
-  {"Current default flags:  ", 183},
-  {"Current flags:          ", 184},
-  {"Current leds:           ", 185},
+Error reading current flags setting. Maybe you are not on the console?\n", 178},
+  {"Error reading current led setting from /dev/kbd.\n", 179},
+  {"KIOCGLED unavailable?\n", 180},
+  {"KIOCSLED unavailable?\n", 181},
+  {"Error opening /dev/kbd.\n", 182},
+  {"Error resetting ledmode\n", 183},
+  {"Current default flags:  ", 184},
+  {"Current flags:          ", 185},
+  {"Current leds:           ", 186},
   {"\
 unrecognized argument: _%s_\n\
-\n", 186},
-  {"Old default flags:    ", 187},
-  {"New default flags:    ", 188},
-  {"Old flags:            ", 189},
-  {"New flags:            ", 190},
-  {"Old leds:             ", 191},
-  {"New leds:             ", 192},
+\n", 187},
+  {"Old default flags:    ", 188},
+  {"New default flags:    ", 189},
+  {"Old flags:            ", 190},
+  {"New flags:            ", 191},
+  {"Old leds:             ", 192},
+  {"New leds:             ", 193},
   {"\
 Usage:\n\
 \tsetmetamode [ metabit | meta | bit | escprefix | esc | prefix ]\n\
 Each vt has his own copy of this bit. Use\n\
 \tsetmetamode [arg] < /dev/ttyn\n\
 to change the settings of another vt.\n\
-The setting before and after the change are reported.\n", 193},
-  {"Meta key sets high order bit\n", 194},
-  {"Meta key gives Esc prefix\n", 195},
-  {"Strange mode for Meta key?\n", 196},
-  {"Error reading current setting. Maybe stdin is not a VT?\n", 197},
-  {"old state:    ", 198},
-  {"new state:    ", 199},
-  {"usage: %s\n", 200},
-  {"failed to restore original translation table\n", 201},
-  {"failed to restore original unimap\n", 202},
-  {"cannot change translation table\n", 203},
-  {"%s: out of memory?\n", 204},
+The setting before and after the change are reported.\n", 194},
+  {"Meta key sets high order bit\n", 195},
+  {"Meta key gives Esc prefix\n", 196},
+  {"Strange mode for Meta key?\n", 197},
+  {"Error reading current setting. Maybe stdin is not a VT?\n", 198},
+  {"old state:    ", 199},
+  {"new state:    ", 200},
+  {"usage: %s\n", 201},
+  {"failed to restore original translation table\n", 202},
+  {"failed to restore original unimap\n", 203},
+  {"cannot change translation table\n", 204},
+  {"%s: out of memory?\n", 205},
   {"\
 usage: showconsolefont [-v|-V]\n\
-(probably after loading a font with `setfont font')\n", 205},
-  {"?UNKNOWN?", 206},
-  {"kb mode was %s\n", 207},
+(probably after loading a font with `setfont font')\n", 206},
+  {"?UNKNOWN?", 207},
+  {"kb mode was %s\n", 208},
   {"\
 [ if you are trying this under X, it might not work\n\
-since the X server is also reading /dev/console ]\n", 208},
-  {"caught signal %d, cleaning up...\n", 209},
+since the X server is also reading /dev/console ]\n", 209},
+  {"caught signal %d, cleaning up...\n", 210},
   {"\
 showkey version %s\n\
 \n\
@@ -332,16 +336,16 @@
 \t-h --help\tdisplay this help text\n\
 \t-a --ascii\tdisplay the decimal/octal/hex values of the keys\n\
 \t-s --scancodes\tdisplay only the raw scan-codes\n\
-\t-k --keycodes\tdisplay only the interpreted keycodes (default)\n", 210},
+\t-k --keycodes\tdisplay only the interpreted keycodes (default)\n", 211},
   {"\
 \n\
 Press any keys - Ctrl-D will terminate this program\n\
-\n", 211},
-  {"press any key (program terminates 10s after last keypress)...\n", 212},
-  {"keycode %3d %s\n", 213},
-  {"release", 214},
-  {"press", 215},
-  {"%s from %s\n", 216},
+\n", 212},
+  {"press any key (program terminates 10s after last keypress)...\n", 213},
+  {"keycode %3d %s\n", 214},
+  {"release", 215},
+  {"press", 216},
+  {"%s from %s\n", 217},
 };
 
-int _msg_tbl_length = 216;
+int _msg_tbl_length = 217;
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 0000000..6b457e7
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,1228 @@
+# Czech translation of kbd
+# Copyright (C) 2003 THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the kbd package.
+# Miloslav Trmac <mitr@volny.cz>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kbd 1.08\n"
+"POT-Creation-Date: 2002-10-25 09:40-0400\n"
+"PO-Revision-Date: 2003-04-30 11:42+0200\n"
+"Last-Translator: Miloslav Trmac <mitr@volny.cz>\n"
+"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: openvt/openvt.c:67
+#, c-format
+msgid "openvt: %s: illegal vt number\n"
+msgstr "openvt: %s: neplatné číslo vt\n"
+
+#: openvt/openvt.c:91
+msgid "openvt: only root can use the -u flag.\n"
+msgstr "openvt: jen root může používat přepínač -u.\n"
+
+#: openvt/openvt.c:105 src/getfd.c:68
+msgid "Couldnt get a file descriptor referring to the console\n"
+msgstr "Nemohu získat deskriptor souboru odkazující na konzolu\n"
+
+#: openvt/openvt.c:117
+msgid "openvt: cannot find a free vt\n"
+msgstr "openvt: nemohu najít volný vt\n"
+
+#: openvt/openvt.c:122
+#, c-format
+msgid "openvt: cannot check whether vt %d is free\n"
+msgstr "openvt: nemohu zkontrolovat, jestli vt %d je volný\n"
+
+#: openvt/openvt.c:123 openvt/openvt.c:128
+msgid "        use `openvt -f' to force.\n"
+msgstr "        použijte `openvt -f' pro vynucení.\n"
+
+#: openvt/openvt.c:127
+#, c-format
+msgid "openvt: vt %d is in use; command aborted\n"
+msgstr "openvt: vt %d se používá; příkaz přerušen\n"
+
+#: openvt/openvt.c:155
+#, c-format
+msgid "openvt: Unable to open %s: %s\n"
+msgstr "openvt: Nemohu otevřít %s: %s\n"
+
+#: openvt/openvt.c:167
+#, c-format
+msgid "openvt: Cannot open %s read/write (%s)\n"
+msgstr "openvt: Nemohu otevřít %s pro čtení i zápis (%s)\n"
+
+#: openvt/openvt.c:205
+#, c-format
+msgid "openvt: using VT %s\n"
+msgstr "openvt: používám VT %s\n"
+
+#: openvt/openvt.c:217
+#, c-format
+msgid "openvt: Unable to set new session (%s)\n"
+msgstr "openvt: Nemohu nastavit nové sezení (%s)\n"
+
+#: openvt/openvt.c:225
+#, c-format
+msgid ""
+"\n"
+"openvt: could not open %s R/W (%s)\n"
+msgstr ""
+"\n"
+"openvt: nemohu otevřít %s pro čtení i zápis (%s)\n"
+
+#: openvt/openvt.c:281
+#, c-format
+msgid "openvt: could not deallocate console %d\n"
+msgstr "openvt: nemohu dealokovat konzolu %d\n"
+
+#: src/chvt.c:28
+msgid "usage: chvt N\n"
+msgstr "použití: chvt N\n"
+
+#: src/deallocvt.c:33
+#, c-format
+msgid "%s: unknown option\n"
+msgstr "%s: neznámý přepínač\n"
+
+#: src/deallocvt.c:45
+#, c-format
+msgid "%s: deallocating all unused consoles failed\n"
+msgstr "%s: dealokace všech nepoužitých konzol selhala\n"
+
+#: src/deallocvt.c:53
+#, c-format
+msgid "%s: 0: illegal VT number\n"
+msgstr "%s: 0: neplatné číslo VT\n"
+
+#: src/deallocvt.c:57
+#, c-format
+msgid "%s: VT 1 is the console and cannot be deallocated\n"
+msgstr "%s: VT 1 je konzole a nemůže být dealokován\n"
+
+#: src/deallocvt.c:63
+#, c-format
+msgid "%s: could not deallocate console %d\n"
+msgstr "%s: nemohu dealokovat konzolu %d\n"
+
+#: src/dumpkeys.c:63
+#, c-format
+msgid "KDGKBENT error at index 0 in table %d: "
+msgstr "chyba KDGKBENT na indexu 0 v tabulce %d: "
+
+#: src/dumpkeys.c:76
+#, c-format
+msgid "%s: cannot find any keymaps?\n"
+msgstr "%s: nemohu najít žádné mapy kláves?\n"
+
+#: src/dumpkeys.c:81
+#, c-format
+msgid "%s: plain map not allocated? very strange ...\n"
+msgstr "%s: jednoduchá mapa nealokována? velice divné ...\n"
+
+#: src/dumpkeys.c:113
+#, c-format
+msgid "KDGKBENT error at index %d in table %d: "
+msgstr "chyba KDGKBENT na indexu %d v tabulce %d: "
+
+#: src/dumpkeys.c:241
+#, c-format
+msgid "keycode range supported by kernel:           1 - %d\n"
+msgstr "rozsah kódů kláves podporovaný jádrem:       1 - %d\n"
+
+#: src/dumpkeys.c:243
+#, c-format
+msgid "max number of actions bindable to a key:         %d\n"
+msgstr "maximální počet akcí přiřaditelných klávese:     %d\n"
+
+#: src/dumpkeys.c:246
+#, c-format
+msgid "number of keymaps in actual use:                 %d\n"
+msgstr "počet skutečně používaných klávesových map:      %d\n"
+
+#: src/dumpkeys.c:249
+#, c-format
+msgid "of which %d dynamically allocated\n"
+msgstr "z nich %d dynamicky alokovaných\n"
+
+#: src/dumpkeys.c:250
+msgid "ranges of action codes supported by kernel:\n"
+msgstr "rozsahy kódů akce podporované jádrem:\n"
+
+#: src/dumpkeys.c:255
+#, c-format
+msgid "number of function keys supported by kernel: %d\n"
+msgstr "počet funkčních klávesa podporovaných jádrem: %d\n"
+
+#: src/dumpkeys.c:258
+#, c-format
+msgid "max nr of compose definitions: %d\n"
+msgstr "maximální počet definic compose: %d\n"
+
+#: src/dumpkeys.c:260
+#, c-format
+msgid "nr of compose definitions in actual use: %d\n"
+msgstr "počet skutečně používaných definic compose: %d\n"
+
+#: src/dumpkeys.c:284
+#, c-format
+msgid ""
+"Symbols recognized by %s:\n"
+"(numeric value, symbol)\n"
+"\n"
+msgstr ""
+"Symboly rozpoznávané %s:\n"
+"(číselná hodnota, symbol)\n"
+"\n"
+
+#: src/dumpkeys.c:297
+msgid ""
+"\n"
+"The following synonyms are recognized:\n"
+"\n"
+msgstr ""
+"\n"
+"Jsou rozpoznávána následující synonyma:\n"
+"\n"
+
+#: src/dumpkeys.c:299
+#, c-format
+msgid "%-15s for %s\n"
+msgstr "%-15s znamená %s\n"
+
+#: src/dumpkeys.c:301
+msgid ""
+"\n"
+"Recognized modifier names and their column numbers:\n"
+msgstr ""
+"\n"
+"Rozpoznávané názvy modifikátorů a jejich čísla sloupců:\n"
+
+#: src/dumpkeys.c:364
+#, c-format
+msgid "# not alt_is_meta: on keymap %d key %d is bound to"
+msgstr "# ne alt_is_meta: v klávesové mapě %d je klávesa %d přiřazena"
+
+#: src/dumpkeys.c:439
+msgid "impossible: not meta?\n"
+msgstr "nemožné: není meta?\n"
+
+#: src/dumpkeys.c:496
+#, c-format
+msgid "KDGKBSENT failed at index %d: "
+msgstr "KDGKBSENT selhalo na indexu %d: "
+
+#: src/dumpkeys.c:516
+#, c-format
+msgid "dumpkeys version %s"
+msgstr "verze dumpkeys %s"
+
+#: src/dumpkeys.c:517
+msgid ""
+"\n"
+"usage: dumpkeys [options...]\n"
+"\n"
+"valid options are:\n"
+"\n"
+"\t-h --help\t    display this help text\n"
+"\t-i --short-info\t    display information about keyboard driver\n"
+"\t-l --long-info\t    display above and symbols known to loadkeys\n"
+"\t-n --numeric\t    display keytable in hexadecimal notation\n"
+"\t-f --full-table\t    don't use short-hand notations, one row per keycode\n"
+"\t-1 --separate-lines one line per (modifier,keycode) pair\n"
+"\t   --funcs-only\t    display only the function key strings\n"
+"\t   --keys-only\t    display only key bindings\n"
+"\t   --compose-only   display only compose key combinations\n"
+"\t-c --charset="
+msgstr ""
+"\n"
+"použití: dumpkeys [přepínače...]\n"
+"\n"
+"platné přepínače jsou:\n"
+"\n"
+"\t-h --help\t    zobrazit tento text nápovědy\n"
+"\t-i --short-info\t    zobrazit informace o ovladači klávesnice\n"
+"\t-l --long-info\t    zobrazit výše uvedené a symboly známé v loadkeys\n"
+"\t-n --numeric\t    zobrazit tabulku kláves v šestnáctkovém zápisu\n"
+"\t-f --full-table\t    nepoužívat zkratky, jeden řádek na kód klávesy\n"
+"\t-1 --separate-lines jeden řádek na dvojici (modifikátor,kód klávesy)\n"
+"\t   --funcs-only\t    zobrazit jen řetězce funkčních kláves\n"
+"\t   --keys-only\t    zobrazit jen přiřazení kláves\n"
+"\t   --compose-only   zobrazit jen kombinace kláves compose\n"
+"\t-c --charset="
+
+#: src/dumpkeys.c:534
+msgid ""
+"\t\t\t    interpret character action codes to be from the\n"
+"\t\t\t    specified character set\n"
+msgstr ""
+"\t\t\t    interpretovat kódy akce znaků, že jsou z\n"
+"\t\t\t    určené znakové sady\n"
+
+#: src/findfile.c:43
+#, c-format
+msgid "error executing  %s\n"
+msgstr "chyba při spouštění  %s\n"
+
+#: src/getkeycodes.c:18
+msgid "usage: getkeycodes\n"
+msgstr "použití: getkeycodes\n"
+
+#: src/getkeycodes.c:39
+msgid "Plain scancodes xx (hex) versus keycodes (dec)\n"
+msgstr "Jednoduché scankódy xx (hex) versus kódy kláves (dec)\n"
+
+#: src/getkeycodes.c:40
+msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n"
+msgstr "0 je chyba; pro 1-88 (0x01-0x58) se scankód rovná kódu klávesy\n"
+
+#: src/getkeycodes.c:44
+msgid ""
+"\n"
+"\n"
+"Escaped scancodes e0 xx (hex)\n"
+msgstr ""
+"\n"
+"\n"
+"Uvozené scankódy e0 xx (hex)\n"
+
+#: src/getkeycodes.c:64
+#, c-format
+msgid "failed to get keycode for scancode 0x%x\n"
+msgstr "nemohu získat kód klávesy pro scankód 0x%x\n"
+
+#: src/getunimap.c:49
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s [-s]\n"
+msgstr ""
+"Použití:\n"
+"\t%s [-s]\n"
+
+#: src/kbd_mode.c:18
+msgid "usage: kbd_mode [-a|-u|-k|-s]\n"
+msgstr "použití: kbd_mode [-a|-u|-k|-s]\n"
+
+#: src/kbd_mode.c:41
+msgid "kbd_mode: error reading keyboard mode\n"
+msgstr "kbd_mode: chyba při čtení režimu klávesnice\n"
+
+#: src/kbd_mode.c:46
+msgid "The keyboard is in raw (scancode) mode\n"
+msgstr "Klávesnice je v přímém režimu (scankódy)\n"
+
+#: src/kbd_mode.c:49
+msgid "The keyboard is in mediumraw (keycode) mode\n"
+msgstr "Klávesnice je v prostředně přímém režimu (kódy kláves)\n"
+
+#: src/kbd_mode.c:52
+msgid "The keyboard is in the default (ASCII) mode\n"
+msgstr "Klávesnice je v implicitním režimu (ASCII)\n"
+
+#: src/kbd_mode.c:55
+msgid "The keyboard is in Unicode (UTF-8) mode\n"
+msgstr "Klávesnice je v režimu Unicode (UTF-8)\n"
+
+#: src/kbd_mode.c:58
+msgid "The keyboard is in some unknown mode\n"
+msgstr "Klávesnice je v nějakém neznámém režimu\n"
+
+#: src/kbd_mode.c:76
+#, c-format
+msgid "%s: error setting keyboard mode\n"
+msgstr "%s: chyba při nastavování režimu klávesnice\n"
+
+#: src/kbdrate.c:149 src/kbdrate.c:284
+#, c-format
+msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
+msgstr "Rychlost opakování nastavena %.1f z/s (zpoždění = %d ms)\n"
+
+#: src/kbdrate.c:229
+msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+msgstr "Použití: kbdrate [-V] [-s] [-r rychlost] [-d zpoždění]\n"
+
+#: src/kbdrate.c:259
+msgid "Cannot open /dev/port"
+msgstr "Nemohu otevřít /dev/port"
+
+#: src/kdfontop.c:193
+msgid "bug: getfont called with count<256\n"
+msgstr "chyba: getfont zavoláno s count<256\n"
+
+#: src/kdfontop.c:252 src/xmalloc.c:14
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: nedostatek paměti\n"
+
+#: src/ksyms.c:1674
+#, c-format
+msgid "unknown charset %s - ignoring charset request\n"
+msgstr "neznámá znaková sada %s - ignoruji požadavek na znakovou sadu\n"
+
+#: src/ksyms.c:1746
+#, c-format
+msgid "assuming iso-8859-1 %s\n"
+msgstr "předpokládám iso-8859-1 %s\n"
+
+#: src/ksyms.c:1753
+#, c-format
+msgid "assuming iso-8859-15 %s\n"
+msgstr "předpokládám iso-8859-15 %s\n"
+
+#: src/ksyms.c:1760
+#, c-format
+msgid "assuming iso-8859-2 %s\n"
+msgstr "předpokládám iso-8859-2 %s\n"
+
+#: src/ksyms.c:1767
+#, c-format
+msgid "assuming iso-8859-3 %s\n"
+msgstr "předpokládám iso-8859-3 %s\n"
+
+#: src/ksyms.c:1774
+#, c-format
+msgid "assuming iso-8859-4 %s\n"
+msgstr "předpokládám iso-8859-4 %s\n"
+
+#: src/ksyms.c:1779
+#, c-format
+msgid "unknown keysym '%s'\n"
+msgstr "neznámý symbol klávesy '%s'\n"
+
+#: src/ksyms.c:1814
+#, c-format
+msgid "plus before %s ignored\n"
+msgstr "plus před %s ignorováno\n"
+
+#: src/loadunimap.c:62
+#, c-format
+msgid "usage: %s [-o map.orig] [map-file]\n"
+msgstr "použití: %s [-o mapa.původní] [soubor-mapy]\n"
+
+#: src/loadunimap.c:152 src/loadunimap.c:163
+#, c-format
+msgid "Bad input line: %s\n"
+msgstr "Špatný řádek vstupu: %s\n"
+
+#: src/loadunimap.c:172
+#, c-format
+msgid "%s: Glyph number (0x%x) larger than font length\n"
+msgstr "%s: Číslo glyphu (0x%x) větší než délka písma\n"
+
+#: src/loadunimap.c:178
+#, c-format
+msgid "%s: Bad end of range (0x%x)\n"
+msgstr "%s: Špatný konec rozsahu (0x%x)\n"
+
+#: src/loadunimap.c:208 src/psfxtable.c:175
+#, c-format
+msgid "%s: Bad Unicode range corresponding to font position range 0x%x-0x%x\n"
+msgstr "%s: Špatný rozsah Unicode odpovídající rozsahu pozic písma 0x%x-0x%x\n"
+
+#: src/loadunimap.c:215 src/psfxtable.c:182
+#, c-format
+msgid "%s: Unicode range U+%x-U+%x not of the same length as font position range 0x%x-0x%x\n"
+msgstr "%s: Rozsah Unicode U+%x-U+%x není stejné délky jako rozsah pozic písma 0x%x-0x%x\n"
+
+#: src/loadunimap.c:234 src/psfxtable.c:203
+#, c-format
+msgid "%s: trailing junk (%s) ignored\n"
+msgstr "%s: smetí na konci (%s) ignorováno\n"
+
+#: src/loadunimap.c:251
+#, c-format
+msgid "Loading unicode map from file %s\n"
+msgstr "Načítám mapu unicode ze souboru %s\n"
+
+#: src/loadunimap.c:257
+#, c-format
+msgid "%s: %s: Warning: line too long\n"
+msgstr "%s: %s: Varování: řádek příliš dlouhý\n"
+
+#: src/loadunimap.c:267
+#, c-format
+msgid ""
+"%s: not loading empty unimap\n"
+"(if you insist: use option -f to override)\n"
+msgstr ""
+"%s: nenačítám prázdnou unimap\n"
+"(pokud na tom trváte: použijte přepínač -f pro vnucení)\n"
+
+#: src/loadunimap.c:288
+msgid "entry"
+msgstr "položka"
+
+#: src/loadunimap.c:288
+msgid "entries"
+msgstr "položek"
+
+#: src/loadunimap.c:314
+#, c-format
+msgid "Saved unicode map on `%s'\n"
+msgstr "Uložena mapa unicode do `%s'\n"
+
+#: src/loadunimap.c:334
+msgid "Appended Unicode map\n"
+msgstr "Připojena mapa Unicode\n"
+
+#: src/mapscrn.c:66
+#, c-format
+msgid "usage: %s [-v] [-o map.orig] map-file\n"
+msgstr "použití: %s [-v] [-o mapa.původní] soubor-mapy\n"
+
+#: src/mapscrn.c:131
+#, c-format
+msgid "mapscrn: cannot open map file _%s_\n"
+msgstr "mapscrn: nemohu otevřít soubor mapy _%s_\n"
+
+#: src/mapscrn.c:137
+msgid "Cannot stat map file"
+msgstr "Nemohu stat soubor mapy"
+
+#: src/mapscrn.c:142
+#, c-format
+msgid "Loading binary direct-to-font screen map from file %s\n"
+msgstr "Načítám binární mapu obrazovky přímo do písma ze souboru %s\n"
+
+#: src/mapscrn.c:147 src/mapscrn.c:158
+#, c-format
+msgid "Error reading map from file `%s'\n"
+msgstr "Chyba při čtení mapy ze souboru `%s'\n"
+
+#: src/mapscrn.c:153
+#, c-format
+msgid "Loading binary unicode screen map from file %s\n"
+msgstr "Načítám binární mapu obrazovky unicode ze souboru %s\n"
+
+#: src/mapscrn.c:165
+#, c-format
+msgid "Loading symbolic screen map from file %s\n"
+msgstr "Načítám symbolickou mapu obrazovky ze souboru %s\n"
+
+#: src/mapscrn.c:169
+#, c-format
+msgid "Error parsing symbolic map from `%s', line %d\n"
+msgstr "Chyba při zpracovávání symbolické mapy z `%s', řádek %d\n"
+
+#: src/mapscrn.c:273 src/mapscrn.c:278
+msgid "Error writing map to file\n"
+msgstr "Chyba při zápisu mapy do souboru\n"
+
+#: src/mapscrn.c:282
+msgid "Cannot read console map\n"
+msgstr "Nemohu číst mapu konzoly\n"
+
+#: src/mapscrn.c:288
+#, c-format
+msgid "Saved screen map in `%s'\n"
+msgstr "Mapa obrazovky uložena v `%s'\n"
+
+#: src/psffontop.c:66
+#, c-format
+msgid "%s: short ucs2 unicode table\n"
+msgstr "%s: krátká tabulka unicode ucs2\n"
+
+#: src/psffontop.c:87
+#, c-format
+msgid "%s: short utf8 unicode table\n"
+msgstr "%s: krátká tabulka unicode utf8\n"
+
+#: src/psffontop.c:90
+#, c-format
+msgid "%s: bad utf8\n"
+msgstr "%s: špatné utf8\n"
+
+#: src/psffontop.c:93
+#, c-format
+msgid "%s: unknown utf8 error\n"
+msgstr "%s: neznámá chyba utf8\n"
+
+#: src/psffontop.c:124
+#, c-format
+msgid "%s: short unicode table\n"
+msgstr "%s: krátká tabulka unicode\n"
+
+#: src/psffontop.c:204
+#, c-format
+msgid "%s: Error reading input font"
+msgstr "%s: Chyba při čtení vstupního písma"
+
+#: src/psffontop.c:218
+#, c-format
+msgid "%s: Bad call of readpsffont\n"
+msgstr "%s: Špatné volání readpsffont\n"
+
+#: src/psffontop.c:233
+#, c-format
+msgid "%s: Unsupported psf file mode (%d)\n"
+msgstr "%s: Nepodporovaný režim souboru psf (%d)\n"
+
+#: src/psffontop.c:251
+#, c-format
+msgid "%s: Unsupported psf version (%d)\n"
+msgstr "%s: Nepodporovaná verze psf (%d)\n"
+
+#: src/psffontop.c:267
+#, c-format
+msgid "%s: zero input font length?\n"
+msgstr "%s: nulová délka vstupního písma?\n"
+
+#: src/psffontop.c:272
+#, c-format
+msgid "%s: zero input character size?\n"
+msgstr "%s: nulová velikost vstupního znaku?\n"
+
+#: src/psffontop.c:278
+#, c-format
+msgid "%s: Input file: bad input length (%d)\n"
+msgstr "%s: Vstupní soubor: špatná délka vstupu (%d)\n"
+
+#: src/psffontop.c:310
+#, c-format
+msgid "%s: Input file: trailing garbage\n"
+msgstr "%s: Vstupní soubor: smetí na konci\n"
+
+#: src/psffontop.c:348
+#, c-format
+msgid "appendunicode: illegal unicode %u\n"
+msgstr "appendunicode: neplatné unicode %u\n"
+
+#: src/psffontop.c:434
+msgid "Cannot write font file header"
+msgstr "Nemohu zapsat hlavičku souboru písma"
+
+#: src/psfxtable.c:109
+#, c-format
+msgid "%s: Warning: line too long\n"
+msgstr "%s: Varování: řádek příliš dlouhý\n"
+
+#: src/psfxtable.c:123 src/psfxtable.c:133
+#, c-format
+msgid "%s: Bad input line: %s\n"
+msgstr "%s: Špatný řádek vstupu: %s\n"
+
+#: src/psfxtable.c:142
+#, c-format
+msgid "%s: Glyph number (0x%lx) past end of font\n"
+msgstr "%s: Číslo glyphu (0x%lx) za koncem písma\n"
+
+#: src/psfxtable.c:147
+#, c-format
+msgid "%s: Bad end of range (0x%lx)\n"
+msgstr "%s: Špatný konec rozsahu (0x%lx)\n"
+
+#: src/psfxtable.c:166
+#, c-format
+msgid "%s: Corresponding to a range of font positions, there should be a Unicode range\n"
+msgstr "%s: Měl by existovat rozsah Unicode odpovídající rozsahu pozic písma\n"
+
+#: src/psfxtable.c:255
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont intable outfont\n"
+msgstr ""
+"Použití:\n"
+"\t%s vstupnípísmo vstupnítabulka výstupnípísmo\n"
+
+#: src/psfxtable.c:264
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont [outtable]\n"
+msgstr ""
+"Použití:\n"
+"\t%s vstupnípísmo [výstupnítabulka]\n"
+
+#: src/psfxtable.c:273
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont outfont\n"
+msgstr ""
+"Použití:\n"
+"\t%s vstupnípísmo výstupnípísmo\n"
+
+#: src/psfxtable.c:298
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s [-i infont] [-o outfont] [-it intable] [-ot outtable] [-nt]\n"
+msgstr ""
+"Použití:\n"
+"\t%s [-i vstupnípísmo] [-o výstupnípíso] [-it vstupnítabulka]\n"
+"           [-ot výstupnítabulka] [-nt]\n"
+
+#: src/psfxtable.c:358
+#, c-format
+msgid "%s: Bad magic number on %s\n"
+msgstr "%s: Špatné magické číslo v %s\n"
+
+#: src/psfxtable.c:377
+#, c-format
+msgid "%s: psf file with unknown magic\n"
+msgstr "%s: soubor psf s neznámým magickým číslem\n"
+
+#: src/psfxtable.c:393
+#, c-format
+msgid "%s: input font does not have an index\n"
+msgstr "%s: vstupní písmo nemá index\n"
+
+#: src/resizecons.c:153
+#, c-format
+msgid "resizecons: cannot find videomode file %s\n"
+msgstr "resizecons: nemohu najít soubor videorežimu %s\n"
+
+#: src/resizecons.c:172
+msgid "Invalid number of lines\n"
+msgstr "Neplatný počet řádků\n"
+
+#: src/resizecons.c:238
+#, c-format
+msgid "Old mode: %dx%d  New mode: %dx%d\n"
+msgstr "Starý režim: %d×%d  New mode: %d×%d\n"
+
+#: src/resizecons.c:240
+#, c-format
+msgid "Old #scanlines: %d  New #scanlines: %d  Character height: %d\n"
+msgstr "Starý počet #scanline: %d  Nový #scanline: %d  Výška znaku: %d\n"
+
+#: src/resizecons.c:251
+#, c-format
+msgid "resizecons: the command `%s' failed\n"
+msgstr "resizecons: příkaz `%s' selhal\n"
+
+#: src/resizecons.c:324
+#, c-format
+msgid "resizecons: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n"
+msgstr "resizecons: nezapomeňte změnit TERM (možná na con%dx%d nebo linux-%dx%d)\n"
+
+#: src/resizecons.c:337
+msgid ""
+"resizecons:\n"
+"call is:  resizecons COLSxROWS  or:  resizecons COLS ROWS\n"
+"or: resizecons -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n"
+msgstr ""
+"resizecons:\n"
+"volání je:  resizecons SLOUPCŮxŘÁDKŮ  nebo:  resizecons SLOUPCŮ ŘÁDKŮ\n"
+"nebo: resizecons -lines ŘÁDKŮ, ke ŘÁDKŮ je jedno z 25, 28, 30, 34, 36, 40, 44, 50, 60\n"
+
+#: src/resizecons.c:375
+msgid "resizecons: cannot get I/O permissions.\n"
+msgstr "resizecons: nemohu získat oprávnění k I/O.\n"
+
+#: src/screendump.c:48
+msgid "usage: screendump [n]\n"
+msgstr "použití: screendump [n]\n"
+
+#: src/screendump.c:78
+#, c-format
+msgid "Error reading %s\n"
+msgstr "Chyba při čtení %s\n"
+
+#: src/screendump.c:126
+#, c-format
+msgid "couldn't read %s, and cannot ioctl dump\n"
+msgstr "nemohu načíst %s a nemohu ioctl dump\n"
+
+#. we tried this just to be sure, but TIOCLINUX
+#. function 0 has been disabled since 1.1.92
+#. Do not mention `ioctl dump' in error msg
+#: src/screendump.c:132
+#, c-format
+msgid "couldn't read %s\n"
+msgstr "nemohu načíst %s\n"
+
+#: src/screendump.c:141
+#, c-format
+msgid "Strange ... screen is both %dx%d and %dx%d ??\n"
+msgstr "Divné ... obrazovka je zároveň %d×%d a %d×%d ??\n"
+
+#: src/screendump.c:159
+msgid "Error writing screendump\n"
+msgstr "Chyba při zápisu zachycení obrazovky\n"
+
+#: src/setfont.c:73
+msgid ""
+"Usage: setfont [write-options] [-<N>] [newfont..] [-m consolemap] [-u unicodemap]\n"
+"  write-options (take place before file loading):\n"
+"    -o  <filename>\tWrite current font to <filename>\n"
+"    -O  <filename>\tWrite current font and unicode map to <filename>\n"
+"    -om <filename>\tWrite current consolemap to <filename>\n"
+"    -ou <filename>\tWrite current unicodemap to <filename>\n"
+"If no newfont and no -[o|O|om|ou|m|u] option is given,\n"
+"a default font is loaded:\n"
+"    setfont             Load font \"default[.gz]\"\n"
+"    setfont -<N>        Load font \"default8x<N>[.gz]\"\n"
+"The -<N> option selects a font from a codepage that contains three fonts:\n"
+"    setfont -{8|14|16} codepage.cp[.gz]   Load 8x<N> font from codepage.cp\n"
+"Explicitly (with -m or -u) or implicitly (in the fontfile) given mappings\n"
+"will be loaded and, in the case of consolemaps, activated.\n"
+"    -h<N>      (no space) Override font height.\n"
+"    -m <fn>    Load console screen map.\n"
+"    -u <fn>    Load font unicode map.\n"
+"    -m none\tSuppress loading and activation of a screen map.\n"
+"    -u none\tSuppress loading of a unicode map.\n"
+"    -v\t\tBe verbose.\n"
+"    -V\t\tPrint version and exit.\n"
+"Files are loaded from the current directory or /usr/lib/kbd/*/.\n"
+msgstr ""
+"Použití: setfont [přepínače-zápisu] [-<N>] [novépísmo..] [-m mapakonzoly] [-u mapaunicode]\n"
+"  přepínače-zápisu (mají vliv před načítáním písma):\n"
+"    -o  <názevsouboru>\tZapsat aktuální písmo do <názevsouboru>\n"
+"    -O  <názevsouboru>\tZapsat aktuální písmo a mapu unicode do <názevsouboru>\n"
+"    -om <názevsouboru>\tZapsat aktuální mapu konzoly do <názevsouboru>\n"
+"    -ou <názevsouboru>\tZapsat aktuální mapu unicode do <názevsouboru>\n"
+"Není-li zadáno novépísmo ani přepínač -[o|O|om|ou|m|u],\n"
+"ne načteno implicitní písmo:\n"
+"    setfont             Načíst písmo \"default[.gz]\"\n"
+"    setfont -<N>        Načíst písmo \"default8x<N>[.gz]\"\n"
+"Přepínač -<N> vybírá písmo z codepage, která obsahuje tři písma:\n"
+"    setfont -{8|14|16} codepage.cp[.gz]   Načíst písmo 8×<N> z codepage.cp\n"
+"Explicitně (pomocí -m nebo -u) nebo implicitně (v souboru písma) daná mapování\n"
+"budou načtena a, v případě map konzoly, aktivována.\n"
+"    -h<N>      (bez mezery) Vnutit výšku písma.\n"
+"    -m <fn>    Načíst mapu obrazovky konzoly.\n"
+"    -u <fn>    Načíst mapu unicode písma.\n"
+"    -m none\tPotlačit načítání a aktivaci mapy obrazovky.\n"
+"    -u none\tPotlačit načítání mapy unicode.\n"
+"    -v\t\tBýt podrobný.\n"
+"    -V\t\tVytisknout verzi a skončit.\n"
+"Soubory jsou načítány z aktuálního adresáře nebo /usr/lib/kbd/*/.\n"
+
+#: src/setfont.c:169
+msgid "setfont: too many input files\n"
+msgstr "setfont: příliš mnoho vstupních souborů\n"
+
+#: src/setfont.c:177
+msgid "setfont: cannot both restore from character ROM and from file. Font unchanged.\n"
+msgstr "setfont: nemohu zároveň obnovovat z ROM znaků a ze souboru. Písmo nezměněno.\n"
+
+#: src/setfont.c:236
+#, c-format
+msgid "Bad character height %d\n"
+msgstr "Špatná výška znaku %d\n"
+
+#: src/setfont.c:240
+#, c-format
+msgid "Bad character width %d\n"
+msgstr "Špatná šířka znaku %d\n"
+
+#: src/setfont.c:265
+#, c-format
+msgid "%s: font position 32 is nonblank\n"
+msgstr "%s: pozice písma 32 je neprázdná\n"
+
+#: src/setfont.c:273
+#, c-format
+msgid "%s: wiped it\n"
+msgstr "%s: vymazal jsem ji\n"
+
+#: src/setfont.c:277
+#, c-format
+msgid "%s: background will look funny\n"
+msgstr "%s: pozadí bude vypadat divně\n"
+
+#: src/setfont.c:287
+#, c-format
+msgid "Loading %d-char %dx%d font from file %s\n"
+msgstr "Načítám  %d-znakové písmo %d×%d ze souboru %s\n"
+
+#: src/setfont.c:290
+#, c-format
+msgid "Loading %d-char %dx%d font\n"
+msgstr "Načítám %d-znakové písmo %d×%d\n"
+
+#: src/setfont.c:293
+#, c-format
+msgid "Loading %d-char %dx%d (%d) font from file %s\n"
+msgstr "Načítám %d-znakové písmo %d×%d (%d) ze souboru %s\n"
+
+#: src/setfont.c:296
+#, c-format
+msgid "Loading %d-char %dx%d (%d) font\n"
+msgstr "Načítám %d-znakové písmo %d×%d (%d)\n"
+
+#: src/setfont.c:336
+#, c-format
+msgid "%s: bug in do_loadtable\n"
+msgstr "%s: chyba v do_loadtable\n"
+
+#: src/setfont.c:342
+msgid "Loading Unicode mapping table...\n"
+msgstr "Načítám mapovací tabulku Unicode...\n"
+
+#: src/setfont.c:378 src/setfont.c:462
+#, c-format
+msgid "Cannot open font file %s\n"
+msgstr "Nemohu otevřít soubor písma %s\n"
+
+#: src/setfont.c:389
+#, c-format
+msgid "When loading several fonts, all must be psf fonts - %s isn't\n"
+msgstr "Při načítání více písem musí všechna být písma psf - %s není\n"
+
+#: src/setfont.c:397
+#, c-format
+msgid "Read %d-char %dx%d font from file %s\n"
+msgstr "Načten %d-znakové písmo %d×%d ze souboru %s\n"
+
+#: src/setfont.c:403
+msgid "When loading several fonts, all must have the same height\n"
+msgstr "Při načítání více písem musí všechna míst stejnou výšku\n"
+
+#: src/setfont.c:410
+msgid "When loading several fonts, all must have the same width\n"
+msgstr "Při načítání více písem musí všechna míst stejnou šířku\n"
+
+#: src/setfont.c:449
+msgid "Cannot find default font\n"
+msgstr "Nemohu najít implicitní písmo\n"
+
+#: src/setfont.c:456
+#, c-format
+msgid "Cannot find %s font\n"
+msgstr "Nemohu najít písmo %s\n"
+
+#: src/setfont.c:468
+#, c-format
+msgid "Reading font file %s\n"
+msgstr "Čtu soubor písma %s\n"
+
+#: src/setfont.c:506
+msgid "No final newline in combine file\n"
+msgstr "Chybí koncový konec řádku v souboru combine\n"
+
+#: src/setfont.c:512
+msgid "Too many files to combine\n"
+msgstr "Příliš mnoho souborů pro kombinování\n"
+
+#. restorefont -w writes a SVGA font to file
+#. restorefont -r restores it
+#. These fonts have size 32768, for two 512-char fonts.
+#. In fact, when BROKEN_GRAPHICS_PROGRAMS is defined,
+#. and it always is, there is no default font that is saved,
+#. so probably the second half is always garbage.
+#: src/setfont.c:536
+msgid "Hmm - a font from restorefont? Using the first half.\n"
+msgstr "Hmm - písmo z restorefont? Používám první polovinu.\n"
+
+#: src/setfont.c:553
+msgid "Bad input file size\n"
+msgstr "Špatná velikost vstupního souboru\n"
+
+#: src/setfont.c:574
+msgid ""
+"This file contains 3 fonts: 8x8, 8x14 and 8x16. Please indicate\n"
+"using an option -8 or -14 or -16 which one you want loaded.\n"
+msgstr ""
+"Tento soubor obsahuje tři písma: 8×8, 8×14 a 8×16. Naznačte prosím\n"
+"pomocí přepínače -8 nebo -14 nebo -16, které chcete načíst.\n"
+
+#: src/setfont.c:588
+#, c-format
+msgid "You asked for font size %d, but only 8, 14, 16 are possible here.\n"
+msgstr "Požádali jste o velikost písma %d, ale tady je možné jen 8, 14, 16.\n"
+
+#: src/setfont.c:633
+msgid "Found nothing to save\n"
+msgstr "Nenalezeno nic k uložení\n"
+
+#: src/setfont.c:637
+msgid "Cannot write font file"
+msgstr "Nemohu zapsat soubor písma"
+
+#: src/setfont.c:642
+#, c-format
+msgid "Saved %d-char %dx%d font file on %s\n"
+msgstr "Uložen %d-znakový soubor písma %d×%d do %s\n"
+
+#: src/setkeycodes.c:21
+msgid ""
+"usage: setkeycode scancode keycode ...\n"
+" (where scancode is either xx or e0xx, given in hexadecimal,\n"
+"  and keycode is given in decimal)\n"
+msgstr ""
+"použití: setkeycode scankód kódklávesy ...\n"
+" (kde scankód je buď xx nebo e0xx, dáno šestnáctkově,\n"
+"  a kód klávesy je dán desítkově)\n"
+
+#: src/setkeycodes.c:43
+msgid "even number of arguments expected"
+msgstr "očekáván sudý počet argumentů"
+
+#: src/setkeycodes.c:50
+msgid "error reading scancode"
+msgstr "chyba při čtení scankódu"
+
+#: src/setkeycodes.c:56
+msgid "code outside bounds"
+msgstr "kód mimo hranice"
+
+#: src/setkeycodes.c:59
+#, c-format
+msgid "failed to set scancode %x to keycode %d\n"
+msgstr "nemohu nastavit scankód %x na kód klávesy %d\n"
+
+#: src/setleds.c:25
+#, c-format
+msgid ""
+"Usage:\n"
+"\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n"
+"Thus,\n"
+"\tsetleds +caps -num\n"
+"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n"
+"The settings before and after the change (if any) are reported\n"
+"when the -v option is given or when no change is requested.\n"
+"Normally, setleds influences the vt flag settings\n"
+"(and these are usually reflected in the leds).\n"
+"With -L, setleds only sets the leds, and leaves the flags alone.\n"
+"With -D, setleds sets both the flags and the default flags, so\n"
+"that a subsequent reset will not change the flags.\n"
+msgstr ""
+"Použití:\n"
+"\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n"
+"Takže,\n"
+"\tsetleds +caps -num\n"
+"nastaví CapsLock, vymaže NumLock a nechá ScrollLock beze změny.\n"
+"Nastavení před a po změně (je-li nějaká) jsou vypsány, když je\n"
+"dán přepínač -v nebo když není požadována změna.\n"
+"Normálně setleds ovlivňuje nastavení příznaku vt\n"
+"(které jsou obvykle promítnuty do led).\n"
+"S -L, setleds jen nastaví led a nechá příznaky na pokoji.\n"
+"S -D, setleds nastaví jak příznaky a implicitní příznaky,\n"
+"takže následný reset nezmění příznaky.\n"
+
+#: src/setleds.c:47
+msgid "on "
+msgstr "zapnut "
+
+#: src/setleds.c:47
+msgid "off"
+msgstr "vypnut "
+
+#: src/setleds.c:90
+msgid "Error reading current led setting. Maybe stdin is not a VT?\n"
+msgstr "Chyba při čtení aktuálního nastavení led. Možná stdin není VT?\n"
+
+#: src/setleds.c:109
+msgid "Error reading current flags setting. Maybe you are not on the console?\n"
+msgstr "Chyba při čtení aktuálního nastavení příznaku. Možná nejste na konzole?\n"
+
+#: src/setleds.c:123 src/setleds.c:138
+msgid "Error reading current led setting from /dev/kbd.\n"
+msgstr "Chyba při čtení aktuálního nastavení led z /dev/kbd.\n"
+
+#: src/setleds.c:127
+msgid "KIOCGLED unavailable?\n"
+msgstr "KIOCGLED není k dispozici?\n"
+
+#: src/setleds.c:142
+msgid "KIOCSLED unavailable?\n"
+msgstr "KIOCSLED není k dispozici?\n"
+
+#: src/setleds.c:169
+msgid "Error opening /dev/kbd.\n"
+msgstr "Chyba při otevírání /dev/kbd.\n"
+
+#: src/setleds.c:201
+msgid "Error resetting ledmode\n"
+msgstr "Chyba při nulování ledmode\n"
+
+#: src/setleds.c:210
+msgid "Current default flags:  "
+msgstr "Momentální implicitní příznaky: "
+
+#: src/setleds.c:214
+msgid "Current flags:          "
+msgstr "Momentální příznaky:            "
+
+#: src/setleds.c:218
+msgid "Current leds:           "
+msgstr "Momentální led:                 "
+
+#: src/setleds.c:254 src/setmetamode.c:94
+#, c-format
+msgid ""
+"unrecognized argument: _%s_\n"
+"\n"
+msgstr ""
+"nerozpoznaný argument: _%s_\n"
+"\n"
+
+#: src/setleds.c:263
+msgid "Old default flags:    "
+msgstr "Staré implicitní příznaky:      "
+
+#: src/setleds.c:265
+msgid "New default flags:    "
+msgstr "Nové implicitní příznaky:       "
+
+#: src/setleds.c:272
+msgid "Old flags:            "
+msgstr "Staré příznaky:                 "
+
+#: src/setleds.c:274
+msgid "New flags:            "
+msgstr "Nové příznaky:                  "
+
+#: src/setleds.c:288 src/setleds.c:297
+msgid "Old leds:             "
+msgstr "Staré led:                      "
+
+#: src/setleds.c:290 src/setleds.c:299
+msgid "New leds:             "
+msgstr "Nové led:                       "
+
+#: src/setmetamode.c:20
+msgid ""
+"Usage:\n"
+"\tsetmetamode [ metabit | meta | bit | escprefix | esc | prefix ]\n"
+"Each vt has his own copy of this bit. Use\n"
+"\tsetmetamode [arg] < /dev/ttyn\n"
+"to change the settings of another vt.\n"
+"The setting before and after the change are reported.\n"
+msgstr ""
+"Použití:\n"
+"\tsetmetamode [ metabit | meta | bit | escprefix | esc | prefix ]\n"
+"Každý vt má svou vlastní kopii tohoto bitu. Použijte\n"
+"\tsetmetamode [arg] < /dev/ttyn\n"
+"pro změnu nastavení na jiném vt.\n"
+"Nastavení před a po změně je vypsáno.\n"
+
+#: src/setmetamode.c:36
+msgid "Meta key sets high order bit\n"
+msgstr "Klávesa meta nastavuje nejvyšší bit\n"
+
+#: src/setmetamode.c:39
+msgid "Meta key gives Esc prefix\n"
+msgstr "Klávesa meta dává předponu Esc\n"
+
+#: src/setmetamode.c:42
+msgid "Strange mode for Meta key?\n"
+msgstr "Divný režim klávesy meta?\n"
+
+#: src/setmetamode.c:78
+msgid "Error reading current setting. Maybe stdin is not a VT?\n"
+msgstr "Chyba při čtená aktuálního nastavení. Možná stdin není VT?\n"
+
+#: src/setmetamode.c:98
+msgid "old state:    "
+msgstr "starý stav:   "
+
+#: src/setmetamode.c:104
+msgid "new state:    "
+msgstr "nový stav:    "
+
+#: src/setvesablank.c:23
+#, c-format
+msgid "usage: %s\n"
+msgstr "použití: %s\n"
+
+#: src/showconsolefont.c:31
+msgid "failed to restore original translation table\n"
+msgstr "nemohu obnovit původní tabulku překladu\n"
+
+#: src/showconsolefont.c:36
+msgid "failed to restore original unimap\n"
+msgstr "nemohu obnovit původní unimap\n"
+
+#: src/showconsolefont.c:54
+msgid "cannot change translation table\n"
+msgstr "nemohu změnit tabulku překladu\n"
+
+#: src/showconsolefont.c:61
+#, c-format
+msgid "%s: out of memory?\n"
+msgstr "%s: nedostatek paměti?\n"
+
+#: src/showconsolefont.c:102
+msgid ""
+"usage: showconsolefont [-v|-V]\n"
+"(probably after loading a font with `setfont font')\n"
+msgstr ""
+"použití: showconsolefont [-v|-V]\n"
+"(pravděpodobně po načtení písma pomocí `setfont font')\n"
+
+#: src/showkey.c:42
+msgid "?UNKNOWN?"
+msgstr "?NEZNÁMÝ?"
+
+#: src/showkey.c:44
+#, c-format
+msgid "kb mode was %s\n"
+msgstr "režim klávesnice byl %s\n"
+
+#: src/showkey.c:46
+msgid ""
+"[ if you are trying this under X, it might not work\n"
+"since the X server is also reading /dev/console ]\n"
+msgstr ""
+"[ pokud to zkoušíte pod X, možná to nebude fungovat,\n"
+"protože X server také čte /dev/console ]\n"
+
+#: src/showkey.c:65
+#, c-format
+msgid "caught signal %d, cleaning up...\n"
+msgstr "chytil jsem signál %d, uklízím...\n"
+
+#: src/showkey.c:79
+#, c-format
+msgid ""
+"showkey version %s\n"
+"\n"
+"usage: showkey [options...]\n"
+"\n"
+"valid options are:\n"
+"\n"
+"\t-h --help\tdisplay this help text\n"
+"\t-a --ascii\tdisplay the decimal/octal/hex values of the keys\n"
+"\t-s --scancodes\tdisplay only the raw scan-codes\n"
+"\t-k --keycodes\tdisplay only the interpreted keycodes (default)\n"
+msgstr ""
+"showkey verze %s\n"
+"\n"
+"použití: showkey [přepínače...]\n"
+"\n"
+"platné přepínače jsou:\n"
+"\n"
+"\t-h --help\tzobrazit tento text nápovědy\n"
+"\t-a --ascii\tzobrazit desítkové/osmičkové/hex hodnoty kláves\n"
+"\t-s --scancodes\tzobrazit jen přímé scan-kódy\n"
+"\t-k --keycodes\tzobrazit jen interpretované kódy kláves (implicitní)\n"
+
+#: src/showkey.c:157
+msgid ""
+"\n"
+"Press any keys - Ctrl-D will terminate this program\n"
+"\n"
+msgstr ""
+"\n"
+"Stiskněte libovolné klávesy - Ctrl-D ukončí tento program\n"
+"\n"
+
+#: src/showkey.c:226
+msgid "press any key (program terminates 10s after last keypress)...\n"
+msgstr "stiskněte libovolnou klávesu (program skončí 10 s po posledním stisku klávesy)...\n"
+
+#: src/showkey.c:234
+#, c-format
+msgid "keycode %3d %s\n"
+msgstr "kód klávesy %3d %s\n"
+
+#: src/showkey.c:236
+msgid "release"
+msgstr "uvolnění"
+
+#: src/showkey.c:237
+msgid "press"
+msgstr "stisknutí"
+
+#: src/version.h:18
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s z %s\n"
diff --git a/po/da.po b/po/da.po
new file mode 100644
index 0000000..3aee934
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1 @@
+# Not added because copyright FSF without permission to distribute
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..6875f04
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,1228 @@
+# German messages for kbd.
+# Copyright (C) 2002 Nils Naumann
+# This file is distributed under the same license as the kbd package.
+# Nils Naumann <naumann@epost.de>, 2002.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kbd 1.08\n"
+"POT-Creation-Date: 2002-10-25 09:40-0400\n"
+"PO-Revision-Date: 2002-10-26 14:29+0200\n"
+"Last-Translator: Nils Naumann <naumann@epost.de>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: openvt/openvt.c:67
+#, c-format
+msgid "openvt: %s: illegal vt number\n"
+msgstr "openvt: %s: ungültige VT-Nummer\n"
+
+#: openvt/openvt.c:91
+msgid "openvt: only root can use the -u flag.\n"
+msgstr "openvt: Nur root darf die -u Option benutzen.\n"
+
+#: openvt/openvt.c:105 src/getfd.c:68
+msgid "Couldnt get a file descriptor referring to the console\n"
+msgstr "Konnte keinen Dateibezeichner finden, der auf die Konsole verweist.\n"
+
+#: openvt/openvt.c:117
+msgid "openvt: cannot find a free vt\n"
+msgstr "openvt: Kann kein freies VT finden.\n"
+
+#: openvt/openvt.c:122
+#, c-format
+msgid "openvt: cannot check whether vt %d is free\n"
+msgstr "openvt: Kann nicht überprüfen ob das VT %d verfügbar ist.\n"
+
+#: openvt/openvt.c:123 openvt/openvt.c:128
+msgid "        use `openvt -f' to force.\n"
+msgstr "        Benutzen Sie \"openvt -f\", um die Aktion zu erzwingen.\n"
+
+#: openvt/openvt.c:127
+#, c-format
+msgid "openvt: vt %d is in use; command aborted\n"
+msgstr "openvt: VT %d wird bereits benutzt; das Kommando wurde abgebrochen.\n"
+
+#: openvt/openvt.c:155
+#, c-format
+msgid "openvt: Unable to open %s: %s\n"
+msgstr "openvt: Unable to open %s: %s\n"
+
+#: openvt/openvt.c:167
+#, c-format
+msgid "openvt: Cannot open %s read/write (%s)\n"
+msgstr "openvt: Kann %s nicht zum schreiben und lesen öffnen (%s).\n"
+
+#: openvt/openvt.c:205
+#, c-format
+msgid "openvt: using VT %s\n"
+msgstr "openvt: Benutze VT %s.\n"
+
+#: openvt/openvt.c:217
+#, c-format
+msgid "openvt: Unable to set new session (%s)\n"
+msgstr "openvt: Kann keine neue Sitzung erzeugen (%s).\n"
+
+#: openvt/openvt.c:225
+#, c-format
+msgid ""
+"\n"
+"openvt: could not open %s R/W (%s)\n"
+msgstr ""
+"\n"
+"openvt: Kann %s nicht zum lesen und schreiben öffnen (%s).\n"
+
+#: openvt/openvt.c:281
+#, c-format
+msgid "openvt: could not deallocate console %d\n"
+msgstr "openvt: Kann die Konsole nicht freigeben %d.\n"
+
+#: src/chvt.c:28
+msgid "usage: chvt N\n"
+msgstr "Verwendung: chvt N\n"
+
+#: src/deallocvt.c:33
+#, c-format
+msgid "%s: unknown option\n"
+msgstr "%s: Unbekannte Option\n"
+
+#: src/deallocvt.c:45
+#, c-format
+msgid "%s: deallocating all unused consoles failed\n"
+msgstr "%s: Das Freigeben aller unbenutzter Konsolen schlug fehl.\n"
+
+#: src/deallocvt.c:53
+#, c-format
+msgid "%s: 0: illegal VT number\n"
+msgstr "%s: 0: Ungültige VT Nummer.\n"
+
+#: src/deallocvt.c:57
+#, c-format
+msgid "%s: VT 1 is the console and cannot be deallocated\n"
+msgstr "%s: VT 1 ist die Konsole und kann deshalb nicht freigegeben werden.\n"
+
+#: src/deallocvt.c:63
+#, c-format
+msgid "%s: could not deallocate console %d\n"
+msgstr "%s: Kann die Konsole nicht freigeben %d.\n"
+
+#: src/dumpkeys.c:63
+#, c-format
+msgid "KDGKBENT error at index 0 in table %d: "
+msgstr "KDGKBENT Fehler am Index 0 in Tabelle %d: "
+
+#: src/dumpkeys.c:76
+#, c-format
+msgid "%s: cannot find any keymaps?\n"
+msgstr "%s: Kann keine Tastaturtabellen finden.\n"
+
+#: src/dumpkeys.c:81
+#, c-format
+msgid "%s: plain map not allocated? very strange ...\n"
+msgstr "%s: Eine einfache Tastaturtabelle wurde nicht zugeteilt. Zu dumm ...\n"
+
+#: src/dumpkeys.c:113
+#, c-format
+msgid "KDGKBENT error at index %d in table %d: "
+msgstr "KDGKBENT Fehler am Index %d in Tabelle %d: "
+
+#: src/dumpkeys.c:241
+#, c-format
+msgid "keycode range supported by kernel:           1 - %d\n"
+msgstr "Vom Kernel unterstützter Tastencodebereich:         1 - %d\n"
+
+#: src/dumpkeys.c:243
+#, c-format
+msgid "max number of actions bindable to a key:         %d\n"
+msgstr "Das Maximum an eine Taste zu bindender Aktionen ist:         %d\n"
+
+#: src/dumpkeys.c:246
+#, c-format
+msgid "number of keymaps in actual use:                 %d\n"
+msgstr "Aktuelle Anzahl benutzter Tastenzuweisungen:                 %d\n"
+
+#: src/dumpkeys.c:249
+#, c-format
+msgid "of which %d dynamically allocated\n"
+msgstr "Davon sind %d dynamisch zugewiesen.\n"
+
+#: src/dumpkeys.c:250
+msgid "ranges of action codes supported by kernel:\n"
+msgstr "Bereich der vom Kernel unterstützten Aktionscodes:\n"
+
+#: src/dumpkeys.c:255
+#, c-format
+msgid "number of function keys supported by kernel: %d\n"
+msgstr "Anzahl der vom Kernel unterstützten Funktionstasten: %d\n"
+
+#: src/dumpkeys.c:258
+#, c-format
+msgid "max nr of compose definitions: %d\n"
+msgstr "Maximale Anzahl von Tastenfolgen: %d\n"
+
+#: src/dumpkeys.c:260
+#, c-format
+msgid "nr of compose definitions in actual use: %d\n"
+msgstr "Benutzte Anzahl von Tastenfolgen: %d\n"
+
+#: src/dumpkeys.c:284
+#, c-format
+msgid ""
+"Symbols recognized by %s:\n"
+"(numeric value, symbol)\n"
+"\n"
+msgstr ""
+"Symbole erkannt nach %s:\n"
+"(Numerischer Wert, Symbol)\n"
+"\n"
+
+#: src/dumpkeys.c:297
+msgid ""
+"\n"
+"The following synonyms are recognized:\n"
+"\n"
+msgstr ""
+"\n"
+"Die folgenden Synonyme werden erkannt:\n"
+"\n"
+
+#: src/dumpkeys.c:299
+#, c-format
+msgid "%-15s for %s\n"
+msgstr "%-15s für %s\n"
+
+#: src/dumpkeys.c:301
+msgid ""
+"\n"
+"Recognized modifier names and their column numbers:\n"
+msgstr ""
+"\n"
+"Erkannte Wandlernamen und ihre Spaltennummern:\n"
+
+#: src/dumpkeys.c:364
+#, c-format
+msgid "# not alt_is_meta: on keymap %d key %d is bound to"
+msgstr "# keine alt_is_meta: in der Tastaturtabelle %d Taste %d ist"
+
+#: src/dumpkeys.c:439
+msgid "impossible: not meta?\n"
+msgstr "unmöglich: fehlende meta?\n"
+
+#: src/dumpkeys.c:496
+#, c-format
+msgid "KDGKBSENT failed at index %d: "
+msgstr "KDGKBSENT misslungen am Index %d: "
+
+#: src/dumpkeys.c:516
+#, c-format
+msgid "dumpkeys version %s"
+msgstr "dumpkeys Version %s"
+
+#: src/dumpkeys.c:517
+msgid ""
+"\n"
+"usage: dumpkeys [options...]\n"
+"\n"
+"valid options are:\n"
+"\n"
+"\t-h --help\t    display this help text\n"
+"\t-i --short-info\t    display information about keyboard driver\n"
+"\t-l --long-info\t    display above and symbols known to loadkeys\n"
+"\t-n --numeric\t    display keytable in hexadecimal notation\n"
+"\t-f --full-table\t    don't use short-hand notations, one row per keycode\n"
+"\t-1 --separate-lines one line per (modifier,keycode) pair\n"
+"\t   --funcs-only\t    display only the function key strings\n"
+"\t   --keys-only\t    display only key bindings\n"
+"\t   --compose-only   display only compose key combinations\n"
+"\t-c --charset="
+msgstr ""
+"\n"
+"Gebrauch: dumpkeys [Optionen...]\n"
+"\n"
+"Gültige Optionen sind:\n"
+"\n"
+"\t-h --help\t    gibt diese Hilfe aus\n"
+"\t-i --short-info\t    zeigt Informationen über den Tastaturtreiber\n"
+"\t-l --long-info\t    short-info und die von loadkeys erkannten Symbole\n"
+"\t-n --numeric\t    Tastaturtabelle in hexadezimaler Notierung\n"
+"\t-f --full-table\t    ohne Abkürzungen, eine Zeile pro Tastencode\n"
+"\t-1 --separate-lines eine Zeile für jedes (Wandler, Tastencode) Paar\n"
+"\t   --funcs-only\t    zeigt nur die Funktionstastenbelegungen\n"
+"\t   --keys-only\t    zeigt nur die Tastenbelegungen\n"
+"\t   --compose-only   zeigt nur die Tastenfolgen an\n"
+"\t-c --charset="
+
+#: src/dumpkeys.c:534
+msgid ""
+"\t\t\t    interpret character action codes to be from the\n"
+"\t\t\t    specified character set\n"
+msgstr ""
+"\t\t\t    Interpretiere Zeichencodes, als kämen sie aus dem\n"
+"\t\t\t    angegebenen Zeichensatz.\n"
+
+#: src/findfile.c:43
+#, c-format
+msgid "error executing  %s\n"
+msgstr "Fehler beim Ausführen von %s\n"
+
+#: src/getkeycodes.c:18
+msgid "usage: getkeycodes\n"
+msgstr "Gebrauch: getkeycodes\n"
+
+#: src/getkeycodes.c:39
+msgid "Plain scancodes xx (hex) versus keycodes (dec)\n"
+msgstr "Einfache Scancodes xx (hexadezimal) und Tastencodes (dezimal).\n"
+
+#: src/getkeycodes.c:40
+msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n"
+msgstr "0 ist ein Fehler; für 1-88 (0x01-0x58) ist Scancode gleich Tastencode\n"
+
+#: src/getkeycodes.c:44
+msgid ""
+"\n"
+"\n"
+"Escaped scancodes e0 xx (hex)\n"
+msgstr ""
+"\n"
+"\n"
+"Scancodes mit Escape e0 xx (hex).\n"
+
+#: src/getkeycodes.c:64
+#, c-format
+msgid "failed to get keycode for scancode 0x%x\n"
+msgstr "Kann den Tastencode für den Scancode 0x%x nicht erhalten.\n"
+
+#: src/getunimap.c:49
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s [-s]\n"
+msgstr ""
+"Aufruf:\n"
+"\t%s [-s]\n"
+
+#: src/kbd_mode.c:18
+msgid "usage: kbd_mode [-a|-u|-k|-s]\n"
+msgstr "Gebrauch: kbd_mode [-a|-u|-k|-s]\n"
+
+#: src/kbd_mode.c:41
+msgid "kbd_mode: error reading keyboard mode\n"
+msgstr "kbd_mode: Fehler beim Lesen des Tastaturmodus\n"
+
+#: src/kbd_mode.c:46
+msgid "The keyboard is in raw (scancode) mode\n"
+msgstr "Die Tastatur ist im Urmodus (scancode).\n"
+
+#: src/kbd_mode.c:49
+msgid "The keyboard is in mediumraw (keycode) mode\n"
+msgstr "Die Tastatur ist im Tastencode (mediumraw) Modus.\n"
+
+#: src/kbd_mode.c:52
+msgid "The keyboard is in the default (ASCII) mode\n"
+msgstr "Die Tastatur ist im voreingestellten (ASCII) Modus.\n"
+
+#: src/kbd_mode.c:55
+msgid "The keyboard is in Unicode (UTF-8) mode\n"
+msgstr "Die Tastatur ist im Unicode (UTF-8) Modus.\n"
+
+#: src/kbd_mode.c:58
+msgid "The keyboard is in some unknown mode\n"
+msgstr "Der Tastaturmodus ist unbekannt.\n"
+
+#: src/kbd_mode.c:76
+#, c-format
+msgid "%s: error setting keyboard mode\n"
+msgstr "%s: Fehler beim Einstellen des Tastaturmodus\n"
+
+#: src/kbdrate.c:149 src/kbdrate.c:284
+#, c-format
+msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
+msgstr "Die Wiederholrate ist auf %.1f Zeichen/s gesetzt (Verzögerung = %d ms).\n"
+
+#: src/kbdrate.c:229
+msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+msgstr "Gebrauch: kbdrate [-V] [-s] [-r Wert] [-d Verzögerung]\n"
+
+#: src/kbdrate.c:259
+msgid "Cannot open /dev/port"
+msgstr "Kann /dev/port nicht öffnen."
+
+#: src/kdfontop.c:193
+msgid "bug: getfont called with count<256\n"
+msgstr "bug: Getfont wurde mit einer Anzahl < 256 aufgerufen.\n"
+
+#: src/kdfontop.c:252 src/xmalloc.c:14
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: Arbeitsspeicher erschöpft.\n"
+
+#: src/ksyms.c:1674
+#, c-format
+msgid "unknown charset %s - ignoring charset request\n"
+msgstr "Unbekannter Zeichensatz %s - Zeichensatzanforderung wird ignoriert\n"
+
+#: src/ksyms.c:1746
+#, c-format
+msgid "assuming iso-8859-1 %s\n"
+msgstr "Verwende iso-8859-1 %s\n"
+
+#: src/ksyms.c:1753
+#, c-format
+msgid "assuming iso-8859-15 %s\n"
+msgstr "Verwende iso-8859-15 %s\n"
+
+#: src/ksyms.c:1760
+#, c-format
+msgid "assuming iso-8859-2 %s\n"
+msgstr "Verwende iso-8859-2 %s\n"
+
+#: src/ksyms.c:1767
+#, c-format
+msgid "assuming iso-8859-3 %s\n"
+msgstr "Verwende iso-8859-3 %s\n"
+
+#: src/ksyms.c:1774
+#, c-format
+msgid "assuming iso-8859-4 %s\n"
+msgstr "Verwende iso-8859-4 %s\n"
+
+#: src/ksyms.c:1779
+#, c-format
+msgid "unknown keysym '%s'\n"
+msgstr "Unbekanntes Tastensymbol '%s'\n"
+
+#: src/ksyms.c:1814
+#, c-format
+msgid "plus before %s ignored\n"
+msgstr "Plus vor %s ignoriert.\n"
+
+#: src/loadunimap.c:62
+#, c-format
+msgid "usage: %s [-o map.orig] [map-file]\n"
+msgstr "Gebrauch: %s [-o map.orig] [map-file]\n"
+
+#: src/loadunimap.c:152 src/loadunimap.c:163
+#, c-format
+msgid "Bad input line: %s\n"
+msgstr "Falsche Eingabezeile: %s\n"
+
+#: src/loadunimap.c:172
+#, c-format
+msgid "%s: Glyph number (0x%x) larger than font length\n"
+msgstr "%s: Glyph (0x%x) länger als Zeichensatzlänge\n"
+
+#: src/loadunimap.c:178
+#, c-format
+msgid "%s: Bad end of range (0x%x)\n"
+msgstr "%s: Falsches Bereichsende (0x%x)\n"
+
+#: src/loadunimap.c:208 src/psfxtable.c:175
+#, c-format
+msgid "%s: Bad Unicode range corresponding to font position range 0x%x-0x%x\n"
+msgstr "%s: Falscher Unicode-Bereich zum Zeichensatz-Bereich 0x%x-0x%x.\n"
+
+#: src/loadunimap.c:215 src/psfxtable.c:182
+#, c-format
+msgid "%s: Unicode range U+%x-U+%x not of the same length as font position range 0x%x-0x%x\n"
+msgstr "%s: Der Unicode Bereich U+%x-U+%x differiert vom Zeichensatzbereich 0x%x-0x%x\n"
+
+#: src/loadunimap.c:234 src/psfxtable.c:203
+#, c-format
+msgid "%s: trailing junk (%s) ignored\n"
+msgstr "%s: Nachfolgende Zeichen (%s) ignoriert.\n"
+
+#: src/loadunimap.c:251
+#, c-format
+msgid "Loading unicode map from file %s\n"
+msgstr "Lade Unicodetabelle aus der Datei %s\n"
+
+#: src/loadunimap.c:257
+#, c-format
+msgid "%s: %s: Warning: line too long\n"
+msgstr "%s: %s: Warnung: Die Zeile ist zu lang.\n"
+
+#: src/loadunimap.c:267
+#, c-format
+msgid ""
+"%s: not loading empty unimap\n"
+"(if you insist: use option -f to override)\n"
+msgstr ""
+"%s: Eine leere Unimap wird nicht geladen\n"
+"(Benutzen Sie die Option -f zum Erzwingen der Aktion)\n"
+
+#: src/loadunimap.c:288
+msgid "entry"
+msgstr "Eintrag"
+
+#: src/loadunimap.c:288
+msgid "entries"
+msgstr "Einträge"
+
+#: src/loadunimap.c:314
+#, c-format
+msgid "Saved unicode map on `%s'\n"
+msgstr "Speichere Unicode Tabelle in `%s'\n"
+
+#: src/loadunimap.c:334
+msgid "Appended Unicode map\n"
+msgstr "Hänge Unicode Tabelle an.\n"
+
+#: src/mapscrn.c:66
+#, c-format
+msgid "usage: %s [-v] [-o map.orig] map-file\n"
+msgstr "Gebrauch: %s [-v] [-o Originaltabelle] Tabellendatei\n"
+
+#: src/mapscrn.c:131
+#, c-format
+msgid "mapscrn: cannot open map file _%s_\n"
+msgstr "mapscrn: Kann Tabellendatei _%s_ nicht öffnen.\n"
+
+#: src/mapscrn.c:137
+msgid "Cannot stat map file"
+msgstr "Kann Datei nicht finden."
+
+#: src/mapscrn.c:142
+#, c-format
+msgid "Loading binary direct-to-font screen map from file %s\n"
+msgstr "Lade eine binären Font aus der Datei %s.\n"
+
+#: src/mapscrn.c:147 src/mapscrn.c:158
+#, c-format
+msgid "Error reading map from file `%s'\n"
+msgstr "Fehler beim lesen der Tabelle aus der Datei `%s'.\n"
+
+#: src/mapscrn.c:153
+#, c-format
+msgid "Loading binary unicode screen map from file %s\n"
+msgstr "Lade binäre Unicode Tabelle aus %s.\n"
+
+#: src/mapscrn.c:165
+#, c-format
+msgid "Loading symbolic screen map from file %s\n"
+msgstr "Lade Symboltabelle aus %s.\n"
+
+#: src/mapscrn.c:169
+#, c-format
+msgid "Error parsing symbolic map from `%s', line %d\n"
+msgstr "Fehler beim Verarbeiten der Symboltabelle `%s', Zeile %d.\n"
+
+#: src/mapscrn.c:273 src/mapscrn.c:278
+msgid "Error writing map to file\n"
+msgstr "Fehler beim Schreiben der Tabelle zur Datei.\n"
+
+#: src/mapscrn.c:282
+msgid "Cannot read console map\n"
+msgstr "Kann Konsolentabelle nicht lesen.\n"
+
+#: src/mapscrn.c:288
+#, c-format
+msgid "Saved screen map in `%s'\n"
+msgstr "Speichere Bildschirmtabelle in `%s'.\n"
+
+#: src/psffontop.c:66
+#, c-format
+msgid "%s: short ucs2 unicode table\n"
+msgstr "%s: Kurze ucs2 Unicode Tabelle.\n"
+
+#: src/psffontop.c:87
+#, c-format
+msgid "%s: short utf8 unicode table\n"
+msgstr "%s: Kurze utf8 Unicode Tabelle.\n"
+
+#: src/psffontop.c:90
+#, c-format
+msgid "%s: bad utf8\n"
+msgstr "%s: Falsches UTF-8.\n"
+
+#: src/psffontop.c:93
+#, c-format
+msgid "%s: unknown utf8 error\n"
+msgstr "%s: Unbekannter UTF-8 Fehler.\n"
+
+#: src/psffontop.c:124
+#, c-format
+msgid "%s: short unicode table\n"
+msgstr "%s: Kurze Unicode Tabelle.\n"
+
+#: src/psffontop.c:204
+#, c-format
+msgid "%s: Error reading input font"
+msgstr "%s: Fehler beim Lesen des Zeichensatzes."
+
+#: src/psffontop.c:218
+#, c-format
+msgid "%s: Bad call of readpsffont\n"
+msgstr "%s: Falscher Aufruf von readpsffont.\n"
+
+#: src/psffontop.c:233
+#, c-format
+msgid "%s: Unsupported psf file mode (%d)\n"
+msgstr "%s: Nicht unterstütze PSF Dateiversion (%d).\n"
+
+#: src/psffontop.c:251
+#, c-format
+msgid "%s: Unsupported psf version (%d)\n"
+msgstr "%s: Nicht unterstützte PSF Version (%d).\n"
+
+#: src/psffontop.c:267
+#, c-format
+msgid "%s: zero input font length?\n"
+msgstr "%s: Leerer Zeichensatz?\n"
+
+#: src/psffontop.c:272
+#, c-format
+msgid "%s: zero input character size?\n"
+msgstr "%s: Die Zeichengröße ist Null?\n"
+
+#: src/psffontop.c:278
+#, c-format
+msgid "%s: Input file: bad input length (%d)\n"
+msgstr "%s: Eingabedatei: Falsche Länge (%d).\n"
+
+#: src/psffontop.c:310
+#, c-format
+msgid "%s: Input file: trailing garbage\n"
+msgstr "%s: Eingabedatei: Unerkannte Zeichen am Dateiende.\n"
+
+#: src/psffontop.c:348
+#, c-format
+msgid "appendunicode: illegal unicode %u\n"
+msgstr "appendunicode: Illegales unicode %u\n"
+
+#: src/psffontop.c:434
+msgid "Cannot write font file header"
+msgstr "Kann den Kopf der Zeichensatzdatei nicht schreiben."
+
+#: src/psfxtable.c:109
+#, c-format
+msgid "%s: Warning: line too long\n"
+msgstr "%s: Warnung: Die Zeile ist zu lang.\n"
+
+#: src/psfxtable.c:123 src/psfxtable.c:133
+#, c-format
+msgid "%s: Bad input line: %s\n"
+msgstr "%s: Falsche Eingabezeile: %s\n"
+
+#: src/psfxtable.c:142
+#, c-format
+msgid "%s: Glyph number (0x%lx) past end of font\n"
+msgstr "%s: Glyph Nummer (0x%lx) nach dem Ende des Zeichens.\n"
+
+#: src/psfxtable.c:147
+#, c-format
+msgid "%s: Bad end of range (0x%lx)\n"
+msgstr "%s: Falsches Bereichsende (0x%lx).\n"
+
+#: src/psfxtable.c:166
+#, c-format
+msgid "%s: Corresponding to a range of font positions, there should be a Unicode range\n"
+msgstr "%s: Zu einem Bereich von Zeichensatz-Positionen sollte auch ein Unicode-Bereich existieren\n"
+
+#: src/psfxtable.c:255
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont intable outfont\n"
+msgstr ""
+"Gebrauch:\n"
+"\t%s Eingabezeichen Eingabetabelle Ausgabezeichen\n"
+
+#: src/psfxtable.c:264
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont [outtable]\n"
+msgstr ""
+"Gebrauch:\n"
+"\t%s Eingabezeichen [Ausgabetabelle]\n"
+
+#: src/psfxtable.c:273
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont outfont\n"
+msgstr ""
+"Gebrauch:\n"
+"\t%s Eingabezeichen Ausgabezeichen\n"
+
+#: src/psfxtable.c:298
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s [-i infont] [-o outfont] [-it intable] [-ot outtable] [-nt]\n"
+msgstr ""
+"Gebrauch:\n"
+"\t%s [-i infont] [-o outfont] [-it intable] [-ot outtable] [-nt]\n"
+
+#: src/psfxtable.c:358
+#, c-format
+msgid "%s: Bad magic number on %s\n"
+msgstr "%s: Falsche magische Zeichenkette in %s.\n"
+
+#: src/psfxtable.c:377
+#, c-format
+msgid "%s: psf file with unknown magic\n"
+msgstr "%s: PSF Datei mit unbekannter magischer Zeichenkette.\n"
+
+#: src/psfxtable.c:393
+#, c-format
+msgid "%s: input font does not have an index\n"
+msgstr "%s: Der Zeichensatz hat keinen Index.\n"
+
+#: src/resizecons.c:153
+#, c-format
+msgid "resizecons: cannot find videomode file %s\n"
+msgstr "resizecons: Kann die Videomodus Datei %s nicht finden.\n"
+
+#: src/resizecons.c:172
+msgid "Invalid number of lines\n"
+msgstr "Ungültige Zeilenanzahl.\n"
+
+#: src/resizecons.c:238
+#, c-format
+msgid "Old mode: %dx%d  New mode: %dx%d\n"
+msgstr "Alter Modus: %dx%d  Neuer Modus: %dx%d\n"
+
+#: src/resizecons.c:240
+#, c-format
+msgid "Old #scanlines: %d  New #scanlines: %d  Character height: %d\n"
+msgstr "Zeilenzahl alt: %d  Zeilenzahl neu: %d  Zeichenhöhe: %d\n"
+
+#: src/resizecons.c:251
+#, c-format
+msgid "resizecons: the command `%s' failed\n"
+msgstr "resizecons: Das Kommando `%s' schlug fehl.\n"
+
+#: src/resizecons.c:324
+#, c-format
+msgid "resizecons: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n"
+msgstr "resizecons: Nicht vergessen TERM zu ändern (z.B. zu con%dx%d oder linux-%dx%d).\n"
+
+#: src/resizecons.c:337
+msgid ""
+"resizecons:\n"
+"call is:  resizecons COLSxROWS  or:  resizecons COLS ROWS\n"
+"or: resizecons -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n"
+msgstr ""
+"resizecons:\n"
+"Der Aufruf ist:  resizecons SPALTENxZEILEN  oder:  resizecons SPALTEN ZEILEN\n"
+"oder: resizecons -lines ZEILEN, mit ZEILEN in 25, 28, 30, 34, 36, 40, 44, 50, 60\n"
+
+#: src/resizecons.c:375
+msgid "resizecons: cannot get I/O permissions.\n"
+msgstr "resizecons: Kann keine Ein-/Ausgabe-Erlaubnis erhalten.\n"
+
+#: src/screendump.c:48
+msgid "usage: screendump [n]\n"
+msgstr "Gebrauch: screendump [n]\n"
+
+#: src/screendump.c:78
+#, c-format
+msgid "Error reading %s\n"
+msgstr "Fehler beim lesen von %s.\n"
+
+#: src/screendump.c:126
+#, c-format
+msgid "couldn't read %s, and cannot ioctl dump\n"
+msgstr "Kann %s nicht lesen und ioctl auf den Bildschirminhalt anwenden.\n"
+
+#. we tried this just to be sure, but TIOCLINUX
+#. function 0 has been disabled since 1.1.92
+#. Do not mention `ioctl dump' in error msg
+#: src/screendump.c:132
+#, c-format
+msgid "couldn't read %s\n"
+msgstr "Kann %s nicht lesen.\n"
+
+#: src/screendump.c:141
+#, c-format
+msgid "Strange ... screen is both %dx%d and %dx%d ??\n"
+msgstr "Seltsam ... der Bildschirm ist sowohl %dx%d als auch %dx%d ??\n"
+
+#: src/screendump.c:159
+msgid "Error writing screendump\n"
+msgstr "Fehler beim Schreiben des Bildschirminhalts.\n"
+
+#: src/setfont.c:73
+msgid ""
+"Usage: setfont [write-options] [-<N>] [newfont..] [-m consolemap] [-u unicodemap]\n"
+"  write-options (take place before file loading):\n"
+"    -o  <filename>\tWrite current font to <filename>\n"
+"    -O  <filename>\tWrite current font and unicode map to <filename>\n"
+"    -om <filename>\tWrite current consolemap to <filename>\n"
+"    -ou <filename>\tWrite current unicodemap to <filename>\n"
+"If no newfont and no -[o|O|om|ou|m|u] option is given,\n"
+"a default font is loaded:\n"
+"    setfont             Load font \"default[.gz]\"\n"
+"    setfont -<N>        Load font \"default8x<N>[.gz]\"\n"
+"The -<N> option selects a font from a codepage that contains three fonts:\n"
+"    setfont -{8|14|16} codepage.cp[.gz]   Load 8x<N> font from codepage.cp\n"
+"Explicitly (with -m or -u) or implicitly (in the fontfile) given mappings\n"
+"will be loaded and, in the case of consolemaps, activated.\n"
+"    -h<N>      (no space) Override font height.\n"
+"    -m <fn>    Load console screen map.\n"
+"    -u <fn>    Load font unicode map.\n"
+"    -m none\tSuppress loading and activation of a screen map.\n"
+"    -u none\tSuppress loading of a unicode map.\n"
+"    -v\t\tBe verbose.\n"
+"    -V\t\tPrint version and exit.\n"
+"Files are loaded from the current directory or /usr/lib/kbd/*/.\n"
+msgstr ""
+"Aufruf: setfont [Schreib-Optionen] [-<N>] [neuer_font..] [-m Konsolemap] [-u Unicodemap]\n"
+"  Schreib-Optionen (werden vor dem Dateiladen aktiviert):\n"
+"    -o  <Dateiname>\tSchreibe den aktuellen Font nach <Dateiname>.\n"
+"    -O  <Dateiname>\tSchreibe zusätzlich die Unicode Map nach <Dateiname>.\n"
+"    -om <Dateiname>\tSchreibe die aktuelle Konsolemap nach <Dateiname>.\n"
+"    -ou <Dateiname>\tSchreibe die aktuelle Unicodemap nach <Dateiname>.\n"
+"Wenn weder ein Font noch die -[o|O|om|ou|m|u] angegeben wurde,\n"
+"wird die Vorgabe verwendet:\n"
+"    setfont             Lade Font \"default[.gz]\"\n"
+"    setfont -<N>        Lade Font \"default8x<N>[.gz]\"\n"
+"Die -<N> Option wählt einen Font aus einer Codepage die drei Fonts enthält:\n"
+"    setfont -{8|14|16} codepage.cp[.gz]   Lade 8x<N> Font aus codepage.cp\n"
+"Explizit (mit -m or -u) oder implizit (in der Fontdatei) gegebene Zuordnungen\n"
+"werden geladen und, im Fall von Konsolemaps, aktiviert.\n"
+"    -h<N>      (ohne Leerzeichen) Überschreibe Fonthöhe.\n"
+"    -m <fn>    Lade Konsolen screen map.\n"
+"    -u <fn>    Lade Font unicode map.\n"
+"    -m none\tUnterdrücke das Laden und Aktivieren der Screen Map.\n"
+"    -u none\tUnterdrücke das Laden der Unicode Map.\n"
+"    -v\t\tGeschwätziger Modus.\n"
+"    -V\t\tAusgabe der Versionsnummer und Beenden.\n"
+"Dateien werden im aktuellen Verzeichnis oder in /usr/lib/kbd/*/ gesucht.\n"
+
+#: src/setfont.c:169
+msgid "setfont: too many input files\n"
+msgstr "setfont: Zu viele Eingabedateien.\n"
+
+#: src/setfont.c:177
+msgid "setfont: cannot both restore from character ROM and from file. Font unchanged.\n"
+msgstr "setfont: Kann den Zeichensatz nicht zugleich von ROM und Datei wiederherstellen.\n"
+
+#: src/setfont.c:236
+#, c-format
+msgid "Bad character height %d\n"
+msgstr "Falsche Zeichenhöhe %d.\n"
+
+#: src/setfont.c:240
+#, c-format
+msgid "Bad character width %d\n"
+msgstr "Falsche Zeichenbreite %d.\n"
+
+#: src/setfont.c:265
+#, c-format
+msgid "%s: font position 32 is nonblank\n"
+msgstr "%s: Zeichenposition 32 kein Leerzeichen.\n"
+
+#: src/setfont.c:273
+#, c-format
+msgid "%s: wiped it\n"
+msgstr "%s: löschte es.\n"
+
+#: src/setfont.c:277
+#, c-format
+msgid "%s: background will look funny\n"
+msgstr "%s: Der Hintergrund wird seltsam aussehen.\n"
+
+#: src/setfont.c:287
+#, c-format
+msgid "Loading %d-char %dx%d font from file %s\n"
+msgstr "Lade %d-Zeichen %dx%d aus der Datei %s.\n"
+
+#: src/setfont.c:290
+#, c-format
+msgid "Loading %d-char %dx%d font\n"
+msgstr "Lade %d-Zeichen %dx%d.\n"
+
+#: src/setfont.c:293
+#, c-format
+msgid "Loading %d-char %dx%d (%d) font from file %s\n"
+msgstr "Lade %d-Zeichen %dx%d (%d) Aus Datei %s.\n"
+
+#: src/setfont.c:296
+#, c-format
+msgid "Loading %d-char %dx%d (%d) font\n"
+msgstr "Lade %d-Zeichen %dx%d (%d).\n"
+
+#: src/setfont.c:336
+#, c-format
+msgid "%s: bug in do_loadtable\n"
+msgstr "%s: Fehler in do_loadtable.\n"
+
+#: src/setfont.c:342
+msgid "Loading Unicode mapping table...\n"
+msgstr "Lade Unicodetabelle...\n"
+
+#: src/setfont.c:378 src/setfont.c:462
+#, c-format
+msgid "Cannot open font file %s\n"
+msgstr "Kann Zeichensatzdatei %s nicht lesen.\n"
+
+#: src/setfont.c:389
+#, c-format
+msgid "When loading several fonts, all must be psf fonts - %s isn't\n"
+msgstr "Gleichzeitig geladene Zeichensätze müssen im PSF Format sein - %s ist es nicht.\n"
+
+#: src/setfont.c:397
+#, c-format
+msgid "Read %d-char %dx%d font from file %s\n"
+msgstr "Lese %d-Zeichen %dx%d aus der Datei %s.\n"
+
+#: src/setfont.c:403
+msgid "When loading several fonts, all must have the same height\n"
+msgstr "Wenn mehrere Zeichensätze geladen werden, müssen sie die gleiche Höhe haben.\n"
+
+#: src/setfont.c:410
+msgid "When loading several fonts, all must have the same width\n"
+msgstr "Wenn mehrere Zeichensätze geladen werden, müssen alle die gleiche Weite haben.\n"
+
+#: src/setfont.c:449
+msgid "Cannot find default font\n"
+msgstr "Kann den Standardzeichensatz nicht finden.\n"
+
+#: src/setfont.c:456
+#, c-format
+msgid "Cannot find %s font\n"
+msgstr "Kann den Zeichensatz %s nicht finden.\n"
+
+#: src/setfont.c:468
+#, c-format
+msgid "Reading font file %s\n"
+msgstr "Lese Zeichensatzdatei %s.\n"
+
+#: src/setfont.c:506
+msgid "No final newline in combine file\n"
+msgstr "Keine abschließender Zeilenumbruch in zusammengefügter Datei.\n"
+
+#: src/setfont.c:512
+msgid "Too many files to combine\n"
+msgstr "Zu viele Dateien zum zusammenfassen.\n"
+
+#. restorefont -w writes a SVGA font to file
+#. restorefont -r restores it
+#. These fonts have size 32768, for two 512-char fonts.
+#. In fact, when BROKEN_GRAPHICS_PROGRAMS is defined,
+#. and it always is, there is no default font that is saved,
+#. so probably the second half is always garbage.
+#: src/setfont.c:536
+msgid "Hmm - a font from restorefont? Using the first half.\n"
+msgstr "Hmm - ein Zeichensatz von restorefont? Die erste Hälfte wird verwendet.\n"
+
+#: src/setfont.c:553
+msgid "Bad input file size\n"
+msgstr "Falsche Eingabedateigröße.\n"
+
+#: src/setfont.c:574
+msgid ""
+"This file contains 3 fonts: 8x8, 8x14 and 8x16. Please indicate\n"
+"using an option -8 or -14 or -16 which one you want loaded.\n"
+msgstr ""
+"Diese Datei enthält 3 Zeichensätze: 8x8, 8x14 und 8x16.  Wählen Sie bitte\n"
+"mit einer Option aus -8, -14 oder -16 den zu ladenden Zeichensatz aus.\n"
+
+#: src/setfont.c:588
+#, c-format
+msgid "You asked for font size %d, but only 8, 14, 16 are possible here.\n"
+msgstr "Die Zeichengröße %d wurde verlangt.  Es sind aber nur 8, 14, 16 verfügbar.\n"
+
+#: src/setfont.c:633
+msgid "Found nothing to save\n"
+msgstr "Nichts zum Speichern da.\n"
+
+#: src/setfont.c:637
+msgid "Cannot write font file"
+msgstr "Kann die Zeichensatzdatei nicht schreiben."
+
+#: src/setfont.c:642
+#, c-format
+msgid "Saved %d-char %dx%d font file on %s\n"
+msgstr "Speichere %d-Zeichen %dx%d in Zeichensatzdatei %s.\n"
+
+#: src/setkeycodes.c:21
+msgid ""
+"usage: setkeycode scancode keycode ...\n"
+" (where scancode is either xx or e0xx, given in hexadecimal,\n"
+"  and keycode is given in decimal)\n"
+msgstr ""
+"Gebrauch: setkeycode Scancode Tastencode ...\n"
+" (Wobei Scancode entweder xx oder e0xx hexadezimal\n"
+"  und der Tastencodedezimal angegeben wird.)\n"
+
+#: src/setkeycodes.c:43
+msgid "even number of arguments expected"
+msgstr "Eine gerade Anzahl von Argumenten wird erwartet."
+
+#: src/setkeycodes.c:50
+msgid "error reading scancode"
+msgstr "Fehler beim Lesen der Scancodes."
+
+#: src/setkeycodes.c:56
+msgid "code outside bounds"
+msgstr "Scancode außerhalb der Grenzen."
+
+#: src/setkeycodes.c:59
+#, c-format
+msgid "failed to set scancode %x to keycode %d\n"
+msgstr "Der Scancode %x konnte nicht für den Tastencode %d gesetzt werden.\n"
+
+#: src/setleds.c:25
+#, c-format
+msgid ""
+"Usage:\n"
+"\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n"
+"Thus,\n"
+"\tsetleds +caps -num\n"
+"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n"
+"The settings before and after the change (if any) are reported\n"
+"when the -v option is given or when no change is requested.\n"
+"Normally, setleds influences the vt flag settings\n"
+"(and these are usually reflected in the leds).\n"
+"With -L, setleds only sets the leds, and leaves the flags alone.\n"
+"With -D, setleds sets both the flags and the default flags, so\n"
+"that a subsequent reset will not change the flags.\n"
+msgstr ""
+"Aufruf:\n"
+"\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n"
+"Beispiel:\n"
+"\tsetleds +caps -num\n"
+"setzt CapsLock, löscht NumLock und ändert ScrollLock nicht.\n"
+"\n"
+"Die Einstellungen vor und nach der Änderung (falls erfolgt) werden\n"
+"ausgegeben wenn die -v Option angegeben oder keine Änderung gewünscht\n"
+"wird.  Normalerweise beeinflusst setleds die vt Einstellungen (die\n"
+"gewöhnlich mit den LED's auf der Tastatur angezeigt werden).  Mit -L\n"
+"setzt setleds nur die LED's und verändert die Einstellungen nicht.\n"
+"Mit -D setzt setleds die Schalter und die Standardeinstellungen, so\n"
+"daß ein nachfolgendes Reset die Einstellungen nicht ändert.\n"
+
+#: src/setleds.c:47
+msgid "on "
+msgstr "an "
+
+#: src/setleds.c:47
+msgid "off"
+msgstr "aus"
+
+#: src/setleds.c:90
+msgid "Error reading current led setting. Maybe stdin is not a VT?\n"
+msgstr "Fehler beim Lesen der LED Zustände. Ist stdin wirklich ein VT?\n"
+
+#: src/setleds.c:109
+msgid "Error reading current flags setting. Maybe you are not on the console?\n"
+msgstr "Fehler beim Lesen der Schalterstellungen.  Sind Sie wirklich an der Konsole?\n"
+
+#: src/setleds.c:123 src/setleds.c:138
+msgid "Error reading current led setting from /dev/kbd.\n"
+msgstr "Fehler beim Lesen der LED Zustände von  /dev/kbd.\n"
+
+#: src/setleds.c:127
+msgid "KIOCGLED unavailable?\n"
+msgstr "Ist KIOCGLED nicht verfügbar?\n"
+
+#: src/setleds.c:142
+msgid "KIOCSLED unavailable?\n"
+msgstr "Ist KIOCSLED nicht verfügbar?\n"
+
+#: src/setleds.c:169
+msgid "Error opening /dev/kbd.\n"
+msgstr "Fehler beim Öffnen von /dev/kbd.\n"
+
+#: src/setleds.c:201
+msgid "Error resetting ledmode\n"
+msgstr "Fehler beim Setzen der LED's.\n"
+
+#: src/setleds.c:210
+msgid "Current default flags:  "
+msgstr "Aktuelle Standardeinstellungen:  "
+
+#: src/setleds.c:214
+msgid "Current flags:          "
+msgstr "Aktive Einstellungen:          "
+
+#: src/setleds.c:218
+msgid "Current leds:           "
+msgstr "Aktive LED's:           "
+
+#: src/setleds.c:254 src/setmetamode.c:94
+#, c-format
+msgid ""
+"unrecognized argument: _%s_\n"
+"\n"
+msgstr ""
+"Unerkanntes Argument: _%s_\n"
+"\n"
+
+#: src/setleds.c:263
+msgid "Old default flags:    "
+msgstr "Alte Standardeinstellungen:    "
+
+#: src/setleds.c:265
+msgid "New default flags:    "
+msgstr "Neue Standardeinstellungen:    "
+
+#: src/setleds.c:272
+msgid "Old flags:            "
+msgstr "Alte Einstellungen:            "
+
+#: src/setleds.c:274
+msgid "New flags:            "
+msgstr "Neue Einstellungen:            "
+
+#: src/setleds.c:288 src/setleds.c:297
+msgid "Old leds:             "
+msgstr "Alte LED's:             "
+
+#: src/setleds.c:290 src/setleds.c:299
+msgid "New leds:             "
+msgstr "Neue LED's:             "
+
+#: src/setmetamode.c:20
+msgid ""
+"Usage:\n"
+"\tsetmetamode [ metabit | meta | bit | escprefix | esc | prefix ]\n"
+"Each vt has his own copy of this bit. Use\n"
+"\tsetmetamode [arg] < /dev/ttyn\n"
+"to change the settings of another vt.\n"
+"The setting before and after the change are reported.\n"
+msgstr ""
+"Aufruf:\n"
+"\tsetmetamode [ metabit | meta | bit | escprefix | esc | prefix ]\n"
+"Jedes vt besitzt eine eigene Kopie dieses Bits. Mit\n"
+"\tsetmetamode [arg] < /dev/ttyn\n"
+"kann dieses Bit eines anderen vt geändert werden.\n"
+"Die Einstellungen vor und nach der Änderung werden ausgegeben.\n"
+
+#: src/setmetamode.c:36
+msgid "Meta key sets high order bit\n"
+msgstr "Meta Taste setzt das Bit mit den höchsten Stellenwert.\n"
+
+#: src/setmetamode.c:39
+msgid "Meta key gives Esc prefix\n"
+msgstr "Meta Taste erzeugt ein Umschaltpräfix.\n"
+
+#: src/setmetamode.c:42
+msgid "Strange mode for Meta key?\n"
+msgstr "Merkwürdiger Modus für die Meta Taste?\n"
+
+#: src/setmetamode.c:78
+msgid "Error reading current setting. Maybe stdin is not a VT?\n"
+msgstr "Die aktuellen Einstellungen sind nicht lesbar. Ist stdin wirklich ein VT?\n"
+
+#: src/setmetamode.c:98
+msgid "old state:    "
+msgstr "Alter Status:    "
+
+#: src/setmetamode.c:104
+msgid "new state:    "
+msgstr "Neuer Status:    "
+
+#: src/setvesablank.c:23
+#, c-format
+msgid "usage: %s\n"
+msgstr "Gebrauch: %s\n"
+
+#: src/showconsolefont.c:31
+msgid "failed to restore original translation table\n"
+msgstr "Das Wiederherstellen der ursprünglichen Übersetzungstabelle ist fehlgeschlagen.\n"
+
+#: src/showconsolefont.c:36
+msgid "failed to restore original unimap\n"
+msgstr "Das Wiederherstellen der ursprünglichen Unimap ist fehlgeschlagen.\n"
+
+#: src/showconsolefont.c:54
+msgid "cannot change translation table\n"
+msgstr "Die Übersetzungstabelle konnte nicht gewechselt werden.\n"
+
+#: src/showconsolefont.c:61
+#, c-format
+msgid "%s: out of memory?\n"
+msgstr "%s: Virtueller Speicher erschöpft.\n"
+
+#: src/showconsolefont.c:102
+msgid ""
+"usage: showconsolefont [-v|-V]\n"
+"(probably after loading a font with `setfont font')\n"
+msgstr ""
+"Gebrauch: showconsolefont [-v|-V]\n"
+"(vermutlich nach Laden eines Zeichensatzes mit `setfont font')\n"
+
+#: src/showkey.c:42
+msgid "?UNKNOWN?"
+msgstr "?UNBEKANNT?"
+
+#: src/showkey.c:44
+#, c-format
+msgid "kb mode was %s\n"
+msgstr "kb Modus war %s\n"
+
+#: src/showkey.c:46
+msgid ""
+"[ if you are trying this under X, it might not work\n"
+"since the X server is also reading /dev/console ]\n"
+msgstr ""
+"[ Wenn Sie das unter X probieren, muß es nicht funktionieren, \n"
+"  da der X Server ebenfalls von /dev/console liest. ]\n"
+
+#: src/showkey.c:65
+#, c-format
+msgid "caught signal %d, cleaning up...\n"
+msgstr "Erhielt Signal %d, Räume auf ...\n"
+
+#: src/showkey.c:79
+#, c-format
+msgid ""
+"showkey version %s\n"
+"\n"
+"usage: showkey [options...]\n"
+"\n"
+"valid options are:\n"
+"\n"
+"\t-h --help\tdisplay this help text\n"
+"\t-a --ascii\tdisplay the decimal/octal/hex values of the keys\n"
+"\t-s --scancodes\tdisplay only the raw scan-codes\n"
+"\t-k --keycodes\tdisplay only the interpreted keycodes (default)\n"
+msgstr ""
+"showkey Version %s\n"
+"\n"
+"Gebrauch: showkey [Optionen...]\n"
+"\n"
+"Gültige Optionen sind:\n"
+"\n"
+"\t-h --help\tzeigt diesen Hilfetext an\n"
+"\t-a --ascii\tzeigt die dezimalen/oktalen/hexadezimalen Tastencodes\n"
+"\t-s --scancodes\tzeigt die originalen Tastaturcodes an\n"
+"\t-k --keycodes\tzeigt nur die übersetzten Tastaturcodes an (Vorgabe)\n"
+
+#: src/showkey.c:157
+msgid ""
+"\n"
+"Press any keys - Ctrl-D will terminate this program\n"
+"\n"
+msgstr ""
+"\n"
+"Drücken Sie eine Taste - Strg+D beendet das Programm\n"
+"\n"
+
+#: src/showkey.c:226
+msgid "press any key (program terminates 10s after last keypress)...\n"
+msgstr "Drücken Sie eine Taste (Programmende 10 s nach dem letzten Tastendruck)...\n"
+
+#: src/showkey.c:234
+#, c-format
+msgid "keycode %3d %s\n"
+msgstr "Tastencode %3d %s\n"
+
+#: src/showkey.c:236
+msgid "release"
+msgstr "loslassen"
+
+#: src/showkey.c:237
+msgid "press"
+msgstr "drücken"
+
+#: src/version.h:18
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s von %s\n"
diff --git a/po/es.po b/po/es.po
index a3fca86..ca122dd 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,13 +1,15 @@
 # kbd-es.po, mensajes en español para kbd.
-# Copyright (C) 2002 Free Software Foundation, Inc.
+# Copyright (C) 2002 Juan Rafael Fernández García, 2002.
 # Juan Rafael Fernández García <jrfern@bigfoot.com>, 2002.
-#
 # Permission is granted to freely copy and distribute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked
+# as such.
 msgid ""
 msgstr ""
 "Project-Id-Version: kbd 1.06\n"
 "POT-Creation-Date: 2001-06-19 08:44+0200\n"
-"PO-Revision-Date: 2002-01-29 20:32GMT+2\n"
+"PO-Revision-Date: 2002-03-01 09:47GMT+2\n"
 "Last-Translator: Juan Rafael Fernández García <jrfern@bigfoot.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -30,12 +32,12 @@
 
 #: openvt/openvt.c:117
 msgid "openvt: cannot find a free vt\n"
-msgstr "openvt: no se encuentra un term.virt. libre\n"
+msgstr "openvt: no se encuentra ninguna term. virt. libre\n"
 
 #: openvt/openvt.c:122
 #, c-format
 msgid "openvt: cannot check whether vt %d is free\n"
-msgstr "openvt: no se puede comprobar si el term.virt. %d está disponible\n"
+msgstr "openvt: no se puede comprobar si la term. virt. %d está disponible\n"
 
 #: openvt/openvt.c:123 openvt/openvt.c:128
 msgid "        use `openvt -f' to force.\n"
@@ -44,7 +46,7 @@
 #: openvt/openvt.c:127
 #, c-format
 msgid "openvt: vt %d is in use; command aborted\n"
-msgstr "openvt: la tv %d está siendo utilizada; orden abortada\n"
+msgstr "openvt: la term. virt. %d está siendo utilizada; orden abortada\n"
 
 #: openvt/openvt.c:155
 #, c-format
@@ -59,7 +61,7 @@
 #: openvt/openvt.c:205
 #, c-format
 msgid "openvt: using VT %s\n"
-msgstr "openvt: usando TV %s\n"
+msgstr "openvt: usando la Term. Virt. %s\n"
 
 #: openvt/openvt.c:217
 #, c-format
@@ -68,8 +70,12 @@
 
 #: openvt/openvt.c:225
 #, c-format
-msgid "\nopenvt: could not open %s R/W (%s)\n"
-msgstr "\nopenvt: no se pudo abrir %s para lectura/escritura (%s)\n"
+msgid ""
+"\n"
+"openvt: could not open %s R/W (%s)\n"
+msgstr ""
+"\n"
+"openvt: no se pudo abrir %s para lectura/escritura (%s)\n"
 
 #: openvt/openvt.c:281
 #, c-format
@@ -93,12 +99,12 @@
 #: src/deallocvt.c:53
 #, c-format
 msgid "%s: 0: illegal VT number\n"
-msgstr "%s: 0: número ilegal de TV\n"
+msgstr "%s: 0: número ilegal de Term. Virt.\n"
 
 #: src/deallocvt.c:56
 #, c-format
 msgid "%s: VT 1 is the console and cannot be deallocated\n"
-msgstr "%s: TV 1 es la consola y no puede liberarse\n"
+msgstr "%s: Term. Virt. 1 es la consola y no puede liberarse\n"
 
 #: src/deallocvt.c:61
 #, c-format
@@ -176,8 +182,14 @@
 "\n"
 
 #: src/dumpkeys.c:297
-msgid "\nThe following synonyms are recognized:\n\n"
-msgstr "\nSe reconocen los siguientes sinónimos:\n\n"
+msgid ""
+"\n"
+"The following synonyms are recognized:\n"
+"\n"
+msgstr ""
+"\n"
+"Se reconocen los siguientes sinónimos:\n"
+"\n"
 
 #: src/dumpkeys.c:299
 #, c-format
@@ -185,8 +197,12 @@
 msgstr "%-15s para %s\n"
 
 #: src/dumpkeys.c:301
-msgid "\nRecognized modifier names and their column numbers:\n"
-msgstr "\nNombres de modificador reconocidos y sus números de columna:\n"
+msgid ""
+"\n"
+"Recognized modifier names and their column numbers:\n"
+msgstr ""
+"\n"
+"Nombres de modificador reconocidos y sus números de columna:\n"
 
 #: src/dumpkeys.c:364
 #, c-format
@@ -195,7 +211,7 @@
 
 #: src/dumpkeys.c:439
 msgid "impossible: not meta?\n"
-msgstr "imposible: ¿no meta?\n"
+msgstr "imposible: ¿no será una tecla Meta?\n"
 
 #: src/dumpkeys.c:496
 #, c-format
@@ -205,7 +221,7 @@
 #: src/dumpkeys.c:516
 #, c-format
 msgid "dumpkeys version %s"
-msgstr "versión %s de dumpkeys"
+msgstr "dumpkeys, versión %s"
 
 #: src/dumpkeys.c:517
 msgid ""
@@ -267,8 +283,14 @@
 msgstr "0 es un error; para 1-88 (0x01-0x58) los códigos de rastreo son iguales que los de tecla\n"
 
 #: src/getkeycodes.c:44
-msgid "\n\nEscaped scancodes e0 xx (hex)\n"
-msgstr "\n\nCódigos de rastreo con escape e0 xx (hex)\n"
+msgid ""
+"\n"
+"\n"
+"Escaped scancodes e0 xx (hex)\n"
+msgstr ""
+"\n"
+"\n"
+"Códigos de rastreo con escape e0 xx (hex)\n"
 
 #: src/getkeycodes.c:64
 #, c-format
@@ -417,7 +439,7 @@
 #: src/loadunimap.c:251
 #, c-format
 msgid "Loading unicode map from file %s\n"
-msgstr "Cargando el mapa unicode del archivo %s\n"
+msgstr "Cargando la tabla asociativa unicode del archivo %s\n"
 
 #: src/loadunimap.c:257
 #, c-format
@@ -430,8 +452,8 @@
 "%s: not loading empty unimap\n"
 "(if you insist: use option -f to override)\n"
 msgstr ""
-"%s: no se carga mapa unicode vacío\n"
-"(para forzar a cargarlo, use la opción -f)\n"
+"%s: no se carga una tabla asociativa unicode vacía\n"
+"(para forzar a cargarla, use la opción -f)\n"
 
 #: src/loadunimap.c:288
 msgid "entry"
@@ -444,11 +466,11 @@
 #: src/loadunimap.c:314
 #, c-format
 msgid "Saved unicode map on `%s'\n"
-msgstr "Se ha salvado el mapa unicode en `%s'\n"
+msgstr "Se ha salvado la tabla asociativa unicode en `%s'\n"
 
 #: src/loadunimap.c:334
 msgid "Appended Unicode map\n"
-msgstr "Se ha añadido un mapa Unicode\n"
+msgstr "Se ha añadido una tabla asociativa Unicode\n"
 
 #: src/mapscrn.c:65
 #, c-format
@@ -467,12 +489,12 @@
 #: src/mapscrn.c:141
 #, c-format
 msgid "Loading binary direct-to-font screen map from file %s\n"
-msgstr "Cargando mapa de pantalla binario directo-a-fuente desde el fichero %s\n"
+msgstr "Cargando tabla asociativa de pantalla binaria directa-a-fuente desde el fichero %s\n"
 
 #: src/mapscrn.c:146 src/mapscrn.c:157
 #, c-format
 msgid "Error reading map from file `%s'\n"
-msgstr "Error de lectura del mapa contenido en el fichero `%s'\n"
+msgstr "Error de lectura de la tabla asociativa contenida en el fichero `%s'\n"
 
 #: src/mapscrn.c:152
 #, c-format
@@ -599,7 +621,7 @@
 #: src/psfxtable.c:166
 #, c-format
 msgid "%s: Corresponding to a range of font positions, there should be a Unicode range\n"
-msgstr ""
+msgstr "%s: Correspondiendo a un rango de posiciones de fuente, debería haber un rango Unicode\n"
 
 #: src/psfxtable.c:255
 #, c-format
@@ -607,6 +629,8 @@
 "Usage:\n"
 "\t%s infont intable outfont\n"
 msgstr ""
+"Uso:\n"
+"ºt%s: fuente-de-entrada tabla-de-entrada fuente-de-salida\n"
 
 #: src/psfxtable.c:264
 #, c-format
@@ -614,6 +638,8 @@
 "Usage:\n"
 "\t%s infont [outtable]\n"
 msgstr ""
+"Uso:\n"
+"\t%s fuente-de-entrada [tabla-de-salida]\n"
 
 #: src/psfxtable.c:273
 #, c-format
@@ -621,6 +647,8 @@
 "Usage:\n"
 "\t%s infont outfont\n"
 msgstr ""
+"Uso:\n"
+"\t%s fuente-de-entrada fuente-de-salida\n"
 
 #: src/psfxtable.c:298
 #, c-format
@@ -628,50 +656,52 @@
 "Usage:\n"
 "\t%s [-i infont] [-o outfont] [-it intable] [-ot outtable] [-nt]\n"
 msgstr ""
+"Uso:\n"
+" \t%s [-i fuente-de-entrada] [-o fuente-de-salida] [-it tabla-de-entrada] [-ot tabla-de-salida] [-nt]\n"
 
 #: src/psfxtable.c:358
 #, c-format
 msgid "%s: Bad magic number on %s\n"
-msgstr ""
+msgstr "%s: Número mágico incorrecto en %s\n"
 
 #: src/psfxtable.c:377
 #, c-format
 msgid "%s: psf file with unknown magic\n"
-msgstr ""
+msgstr "%s: fichero psf con número mágico incorrecto\n"
 
 #: src/psfxtable.c:393
 #, c-format
 msgid "%s: input font does not have an index\n"
-msgstr ""
+msgstr "%s: el fichero de entrada no tiene un índice\n"
 
 #: src/resizecons.c:153
 #, c-format
 msgid "resizecons: cannot find videomode file %s\n"
-msgstr ""
+msgstr "resizecons: no se encuentra el fichero de modos de video %s\n"
 
 #: src/resizecons.c:172
 msgid "Invalid number of lines\n"
-msgstr ""
+msgstr "Número de líneas inválido\n"
 
 #: src/resizecons.c:238
 #, c-format
 msgid "Old mode: %dx%d  New mode: %dx%d\n"
-msgstr ""
+msgstr "Modo antiguo: %dx%d  Modo nuevo: %dx%d\n"
 
 #: src/resizecons.c:240
 #, c-format
 msgid "Old #scanlines: %d  New #scanlines: %d  Character height: %d\n"
-msgstr ""
+msgstr "Antes Num._Códigos_de_Rastreo: %d  Ahora Num._Códigos_de_Rastreo: %d  Altura del carácter: %d\n"
 
 #: src/resizecons.c:251
 #, c-format
 msgid "resizecons: the command `%s' failed\n"
-msgstr ""
+msgstr "resizecons: el comando `%s' devuelve error\n"
 
 #: src/resizecons.c:319
 #, c-format
 msgid "resizecons: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n"
-msgstr ""
+msgstr "resizecons: no olvide cambiar TERM (quizás a con%dx%d o a linux-%dx%d)\n"
 
 #: src/resizecons.c:332
 msgid ""
@@ -679,24 +709,27 @@
 "call is:  resizecons COLSxROWS  or:  resizecons COLS ROWS\n"
 "or: resizecons -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n"
 msgstr ""
+"resizecons:\n"
+"la llamada es:  resizecons COLSxFILAS  o:  resizecons COLS FILAS\n"
+"o: resizecons -lines FILAS, donde FILAS es 25, 28, 30, 34, 36, 40, 44, 50, o 60\n"
 
 #: src/resizecons.c:370
 msgid "resizecons: cannot get I/O permissions.\n"
-msgstr ""
+msgstr "resizecons: no se pueden obtener permisos de Entrada/Salida (I/O).\n"
 
 #: src/screendump.c:48
 msgid "usage: screendump [n]\n"
-msgstr ""
+msgstr "uso: screendump [n]\n"
 
 #: src/screendump.c:68
 #, c-format
 msgid "Error reading %s\n"
-msgstr ""
+msgstr "Error al leer %s\n"
 
 #: src/screendump.c:109
 #, c-format
 msgid "couldn't read %s, and cannot ioctl dump\n"
-msgstr ""
+msgstr "no se pudo leer %s, y no se puede volcar con ioctl\n"
 
 #. we tried this just to be sure, but TIOCLINUX
 #. function 0 has been disabled since 1.1.92
@@ -704,16 +737,16 @@
 #: src/screendump.c:115
 #, c-format
 msgid "couldn't read %s\n"
-msgstr ""
+msgstr "no se pudo leer %s\n"
 
 #: src/screendump.c:124
 #, c-format
 msgid "Strange ... screen is both %dx%d and %dx%d ??\n"
-msgstr ""
+msgstr "Extraño ... ¡¡la pantalla es a la vez %dx%d y %dx%d ??\n"
 
 #: src/screendump.c:142
 msgid "Error writing screendump\n"
-msgstr ""
+msgstr "Error al escribir el volcado de pantalla\n"
 
 #: src/setfont.c:73
 msgid ""
@@ -740,113 +773,137 @@
 "    -V\t\tPrint version and exit.\n"
 "Files are loaded from the current directory or /usr/lib/kbd/*/.\n"
 msgstr ""
+"Uso: setfont [opciones-de-escritura] [-<N>] [nueva-fuente..] [-m mapa-de-consola] [-u mapa-unicode]\n"
+"  opciones-de-escritura (previas a la carga del fichero):\n"
+"    -o  <nombre-de-fichero>\tEscribir la fuente actual en <nombre-de-fichero>\n"
+"    -O  <nombre-de-fichero>\tEscribir la fuente y la tabla asociativa unicode actuales en <nombre-de-fichero>\n"
+"    -om <nombre-de-fichero>\tEscribir la tabla asociativa de consola actual en <nombre-de-fichero>\n"
+"    -ou <nombre-de-fichero>\tEscribir la tabla asociativa unicode actual en <nombre-de-fichero>\n"
+"Si no se proporcionan nueva-fuente ni ninguna de las opciones -[o|O|om|ou|u],\n"
+"se carga una fuente por defecto:\n"
+"    setfont             Carga fuente \"default[.gz]\"\n"
+"    setfont -<N>        Carga fuente \"default8x<N>[.gz]\"\n"
+"La opción -<N> selecciona una fuente de una página de código que contiene tres fuentes:\n"
+"    setfont -{8|14|16} página-de-código.cp[.gz]   Carga la fuente 8x<N> de página-de-código.cp\n"
+"Se cargarán las correspondencias dadas de forma explícita (con -m o -u)\n"
+"o implícita (en el fichero de fuente) y, en el caso de las tablas asociativas de consola, se activarán.\n"
+"    -h<N>      (sin espacios) Modificar la altura de la fuente.\n"
+"    -m <fn>    Cargar una tabla asociativa de pantalla de la consola.\n"
+"    -u <fn>    Cargar una tabla asociativa unicode de la fuente.\n"
+"    -m none\tSuprimir la carga y activación de la tabla asociativa de pantalla.\n"
+"    -u none\tSuprimir la carga de una tabla asociativa unicode.\n"
+"    -v\t\tModo verboso.\n"
+"    -V\t\tImprimir la versión y salir.\n"
+"Los ficheros se cargan del directorio actual o de /usr/lib/kbd/*/.\n"
 
 #: src/setfont.c:169
 msgid "setfont: too many input files\n"
-msgstr ""
+msgstr "setfont: demasiados ficheros de entrada\n"
 
 #: src/setfont.c:177
 msgid "setfont: cannot both restore from character ROM and from file. Font unchanged.\n"
-msgstr ""
+msgstr "setfont: no se puede recuperar a la vez de la ROM de caracteres y de archivo. No se ha modificado la fuente.\n"
 
 #: src/setfont.c:236
 #, c-format
 msgid "Bad character height %d\n"
-msgstr ""
+msgstr "Altura de carácter incorrecta: %d\n"
 
 #: src/setfont.c:240
 #, c-format
 msgid "Bad character width %d\n"
-msgstr ""
+msgstr "Anchura de carácter incorrecta: %d\n"
 
 #: src/setfont.c:265
 #, c-format
 msgid "%s: font position 32 is nonblank\n"
-msgstr ""
+msgstr "%s: la posición 32 en la fuente no es un blanco\n"
 
 #: src/setfont.c:273
 #, c-format
 msgid "%s: wiped it\n"
-msgstr ""
+msgstr "%s: eliminado\n"
 
 #: src/setfont.c:277
 #, c-format
 msgid "%s: background will look funny\n"
-msgstr ""
+msgstr "%s: el fondo va a tener un aspecto extraño\n"
 
+# Tengo que conservar el orden de los %d aunque
+# en español sería `fuente de caracteres'
 #: src/setfont.c:287
 #, c-format
 msgid "Loading %d-char %dx%d font from file %s\n"
-msgstr ""
+msgstr "Cargando, de %d caract., la fuente %dx%d desde el fichero %s\n"
 
 #: src/setfont.c:290
 #, c-format
 msgid "Loading %d-char %dx%d font\n"
-msgstr ""
+msgstr "Cargando, de %d caract., la fuente %dx%d\n"
 
 #: src/setfont.c:293
 #, c-format
 msgid "Loading %d-char %dx%d (%d) font from file %s\n"
-msgstr ""
+msgstr "Cargando, de %d caract., la fuente %dx%d (%d)  desde el fichero %s\n"
 
 #: src/setfont.c:296
 #, c-format
 msgid "Loading %d-char %dx%d (%d) font\n"
-msgstr ""
+msgstr "Cargando, de %d caract., la fuente %dx%d (%d)\n"
 
 #: src/setfont.c:336
 #, c-format
 msgid "%s: bug in do_loadtable\n"
-msgstr ""
+msgstr "%s: error en do_loadtable()\n"
 
 #: src/setfont.c:342
 msgid "Loading Unicode mapping table...\n"
-msgstr ""
+msgstr "Cargando la tabla asociativa Unicode...\n"
 
 #: src/setfont.c:378 src/setfont.c:462
 #, c-format
 msgid "Cannot open font file %s\n"
-msgstr ""
+msgstr "No se pudo abrir el fichero de fuente %s\n"
 
 #: src/setfont.c:389
 #, c-format
 msgid "When loading several fonts, all must be psf fonts - %s isn't\n"
-msgstr ""
+msgstr "Cuando se cargan varias fuentes, todas deben ser ficheros psf - %s no lo es\n"
 
 #: src/setfont.c:397
 #, c-format
 msgid "Read %d-char %dx%d font from file %s\n"
-msgstr ""
+msgstr "Leer, de %d caract., la fuente %dx%d a partir del fichero %s\n"
 
 #: src/setfont.c:403
 msgid "When loading several fonts, all must have the same height\n"
-msgstr ""
+msgstr "Cuando se cargan varias fuentes, todas deben tener la misma altura\n"
 
 #: src/setfont.c:410
 msgid "When loading several fonts, all must have the same width\n"
-msgstr ""
+msgstr "Cuando se cargan varias fuentes, todas deben tener la misma anchura\n"
 
 #: src/setfont.c:449
 msgid "Cannot find default font\n"
-msgstr ""
+msgstr "No se encontró la fuente por defecto\n"
 
 #: src/setfont.c:456
 #, c-format
 msgid "Cannot find %s font\n"
-msgstr ""
+msgstr "No se encontró la fuente %s\n"
 
 #: src/setfont.c:468
 #, c-format
 msgid "Reading font file %s\n"
-msgstr ""
+msgstr "Leyendo el fichero de fuente %s\n"
 
 #: src/setfont.c:506
 msgid "No final newline in combine file\n"
-msgstr ""
+msgstr "Falta Nueva Línea final en el fichero combinado\n"
 
 #: src/setfont.c:512
 msgid "Too many files to combine\n"
-msgstr ""
+msgstr "Demasiados ficheros que combinar\n"
 
 #. restorefont -w writes a SVGA font to file
 #. restorefont -r restores it
@@ -856,35 +913,37 @@
 #. so probably the second half is always garbage.
 #: src/setfont.c:536
 msgid "Hmm - a font from restorefont? Using the first half.\n"
-msgstr ""
+msgstr "Hmm - ¿una fuente derivada de un restorefont? Usaremos la primera mitad.\n"
 
 #: src/setfont.c:553
 msgid "Bad input file size\n"
-msgstr ""
+msgstr "Tamaño de fichero de entrada incorrecto\n"
 
 #: src/setfont.c:574
 msgid ""
 "This file contains 3 fonts: 8x8, 8x14 and 8x16. Please indicate\n"
 "using an option -8 or -14 or -16 which one you want loaded.\n"
 msgstr ""
+"Este fichero contiene tres fuentes: 8x8, 8x14 and 8x16. Por favor indique\n"
+"cuál quiere cargar mediante una opción -8, -14 ó -16.\n"
 
 #: src/setfont.c:588
 #, c-format
 msgid "You asked for font size %d, but only 8, 14, 16 are possible here.\n"
-msgstr ""
+msgstr "Usted pidió un tamaño de fuente %d, pero sólo son posibles 8, 14 ó 16.\n"
 
 #: src/setfont.c:633
 msgid "Found nothing to save\n"
-msgstr ""
+msgstr "No se encontró nada que salvar\n"
 
 #: src/setfont.c:637
 msgid "Cannot write font file"
-msgstr ""
+msgstr "No se pudo escribir el fichero de fuente "
 
 #: src/setfont.c:642
 #, c-format
 msgid "Saved %d-char %dx%d font file on %s\n"
-msgstr ""
+msgstr "Salvado, con %d caract., el fichero de fuente %dx%d en %s\n"
 
 #: src/setkeycodes.c:21
 msgid ""
@@ -892,23 +951,26 @@
 " (where scancode is either xx or e0xx, given in hexadecimal,\n"
 "  and keycode is given in decimal)\n"
 msgstr ""
+"uso: setkeycode código_de_rastreo código_de_tecla ...\n"
+" (donde código_de_rastreo es ó xx ó e0xx, en hexadecimal,\n"
+" y código_de_tecla se da en decimal)\n"
 
 #: src/setkeycodes.c:43
 msgid "even number of arguments expected"
-msgstr ""
+msgstr "se espera un número par de argumentos"
 
 #: src/setkeycodes.c:50
 msgid "error reading scancode"
-msgstr ""
+msgstr "error al leer el código de rastreo"
 
 #: src/setkeycodes.c:56
 msgid "code outside bounds"
-msgstr ""
+msgstr "código fuera de los límites"
 
 #: src/setkeycodes.c:59
 #, c-format
 msgid "failed to set scancode %x to keycode %d\n"
-msgstr ""
+msgstr "no se pudo asignar el código de rastreo %x al código de tecla %d\n"
 
 #: src/setleds.c:25
 #, c-format
@@ -926,83 +988,105 @@
 "With -D, setleds sets both the flags and the default flags, so\n"
 "that a subsequent reset will not change the flags.\n"
 msgstr ""
+"Uso:\n"
+"\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n"
+"De manera que,\n"
+"\tsetleds +caps -num\n"
+"activará CapsLock, desactivará NumLock y no hará nada con ScrollLock.\n"
+"Con la opción -v o cuando no se solicita ningún cambio, se informa de su estado\n"
+"antes y, de producirse, después del cambio.\n"
+"Normalmente, setleds influye en el estado de los indicadores de las term. virt.\n"
+"(y estos normalmente se reflejan en los LEDs).\n"
+"Con -L, setleds sólo modifica los LEDs, sin afectar a los indicadores (flags).\n"
+"Con -D, setleds modifica tanto los indicadores como los indicadores por defecto,\n"
+"de forma que una reinicialización posterior no cambie los modificadores.\n"
 
 #: src/setleds.c:47
 msgid "on "
-msgstr ""
+msgstr "activado "
 
 #: src/setleds.c:47
 msgid "off"
-msgstr ""
+msgstr "desactivado"
 
 #: src/setleds.c:90
 msgid "Error reading current led setting. Maybe stdin is not a VT?\n"
-msgstr ""
+msgstr "Error al leer el estado actual de los leds. ¿Quizás stdin no es una Term. Virt.?\n"
 
 #: src/setleds.c:109
 msgid "Error reading current flags setting. Maybe you are not on the console?\n"
-msgstr ""
+msgstr "Error al leer el estado actual de los indicadores. ¿Quizás no se esté en una consola?\n"
 
 #: src/setleds.c:123 src/setleds.c:138
 msgid "Error reading current led setting from /dev/kbd.\n"
-msgstr ""
+msgstr "Error al leer de /dev/kbd el estado actual de los LEDs.\n"
 
 #: src/setleds.c:127
 msgid "KIOCGLED unavailable?\n"
-msgstr ""
+msgstr "¿no está disponible KIOCGLED?\n"
 
 #: src/setleds.c:142
 msgid "KIOCSLED unavailable?\n"
-msgstr ""
+msgstr "¿no está disponible KIOCSLED?\n"
 
 #: src/setleds.c:169
 msgid "Error opening /dev/kbd.\n"
-msgstr ""
+msgstr "Error al abrir /dev/kbd.\n"
 
 #: src/setleds.c:201
 msgid "Error resetting ledmode\n"
-msgstr ""
+msgstr "Erro al reinicializar el modo de los LEDs\n"
 
 #: src/setleds.c:210
 msgid "Current default flags:  "
 msgstr ""
+"Indicadores (flags) actuales por defecto:\n"
+"\t  "
 
 #: src/setleds.c:214
 msgid "Current flags:          "
 msgstr ""
+"Indicadores actuales:\n"
+"\t "
 
 #: src/setleds.c:218
 msgid "Current leds:           "
 msgstr ""
+"Leds actuales:\n"
+"\t "
 
 #: src/setleds.c:254 src/setmetamode.c:94
 #, c-format
-msgid "unrecognized argument: _%s_\n\n"
+msgid ""
+"unrecognized argument: _%s_\n"
+"\n"
 msgstr ""
+"argumento desconocido: _%s_\n"
+"\n"
 
 #: src/setleds.c:263
 msgid "Old default flags:    "
-msgstr ""
+msgstr "Indicadores por defecto anteriores:    "
 
 #: src/setleds.c:265
 msgid "New default flags:    "
-msgstr ""
+msgstr "Indicadores por defecto nuevos:    "
 
 #: src/setleds.c:272
 msgid "Old flags:            "
-msgstr ""
+msgstr "Indicadores anteriores:            "
 
 #: src/setleds.c:274
 msgid "New flags:            "
-msgstr ""
+msgstr "Indicadores nuevos:            "
 
 #: src/setleds.c:288 src/setleds.c:297
 msgid "Old leds:             "
-msgstr ""
+msgstr "LEDs anteriores:             "
 
 #: src/setleds.c:290 src/setleds.c:299
 msgid "New leds:             "
-msgstr ""
+msgstr "LEDs nuevos:             "
 
 #: src/setmetamode.c:20
 msgid ""
@@ -1013,78 +1097,88 @@
 "to change the settings of another vt.\n"
 "The setting before and after the change are reported.\n"
 msgstr ""
+"Uso:\n"
+"\tsetmetamode [ metabit | meta | bit | escprefix | esc | prefix ]\n"
+"Cada term. virt. tiene su propia copia de este bit. Use\n"
+"\tsetmetamode [arg] < /dev/ttyn\n"
+"para cambiar la configuración de otra term. virt.\n"
+"Informará de las configuraciones anterior y posterior al cambio.\n"
 
 #: src/setmetamode.c:36
 msgid "Meta key sets high order bit\n"
-msgstr ""
+msgstr "La tecla Meta activa el bit de orden alto\n"
 
 #: src/setmetamode.c:39
 msgid "Meta key gives Esc prefix\n"
-msgstr ""
+msgstr "La tecla Meta genera un prefijo de Esc\n"
 
 #: src/setmetamode.c:42
 msgid "Strange mode for Meta key?\n"
-msgstr ""
+msgstr "¿Modo extraño para una tecla Meta?\n"
 
 #: src/setmetamode.c:78
 msgid "Error reading current setting. Maybe stdin is not a VT?\n"
-msgstr ""
+msgstr "Error al leer el estado actual. ¿Quizás stdin no es una Term. Virt.?\n"
 
 #: src/setmetamode.c:98
 msgid "old state:    "
-msgstr ""
+msgstr "Estado anterior:    "
 
 #: src/setmetamode.c:104
 msgid "new state:    "
-msgstr ""
+msgstr "estado nuevo:    "
 
 #: src/setvesablank.c:21
 #, c-format
 msgid "usage: %s\n"
-msgstr ""
+msgstr "uso: %s\n"
 
-#: src/showconsolefont.c:30
+#: src/showfont.c:30
 msgid "failed to restore original translation table\n"
-msgstr ""
+msgstr "error al restaurar la tabla de traducciones original\n"
 
-#: src/showconsolefont.c:35
+#: src/showfont.c:35
 msgid "failed to restore original unimap\n"
-msgstr ""
+msgstr "error al restaurar la tabla asociativa unimap original\n"
 
-#: src/showconsolefont.c:53
+#: src/showfont.c:53
 msgid "cannot change translation table\n"
-msgstr ""
+msgstr "no se puede cambiar de tabla de traducciones\n"
 
-#: src/showconsolefont.c:60
+#: src/showfont.c:60
 #, c-format
 msgid "%s: out of memory?\n"
-msgstr ""
+msgstr "%s: ¿sin memoria?\n"
 
-#: src/showconsolefont.c:101
+#: src/showfont.c:101
 msgid ""
-"usage: showconsolefont [-v|-V]\n"
+"usage: showfont [-v|-V]\n"
 "(probably after loading a font with `setfont font')\n"
 msgstr ""
+"uso: showfont (Debian: shfont) [-v|-V]\n"
+"(probablemente después de cambiar una fuente con `setfont fuente')\n"
 
 #: src/showkey.c:42
 msgid "?UNKNOWN?"
-msgstr ""
+msgstr "¿DESCONOCIDO?"
 
 #: src/showkey.c:44
 #, c-format
 msgid "kb mode was %s\n"
-msgstr ""
+msgstr "el modo kb era %s\n"
 
 #: src/showkey.c:46
 msgid ""
 "[ if you are trying this under X, it might not work\n"
 "since the X server is also reading /dev/console ]\n"
 msgstr ""
+"[ si lo está intentando bajo las X, podría no funcionar\n"
+"ya que el servidor X también está leyendo /dev/console ]\n"
 
 #: src/showkey.c:65
 #, c-format
 msgid "caught signal %d, cleaning up...\n"
-msgstr ""
+msgstr "se recibió la señal %d, limpiando...\n"
 
 #: src/showkey.c:79
 #, c-format
@@ -1100,29 +1194,45 @@
 "\t-s --scancodes\tdisplay only the raw scan-codes\n"
 "\t-k --keycodes\tdisplay only the interpreted keycodes (default)\n"
 msgstr ""
+"showkey, versión %s\n"
+"\n"
+"uso: showkey [opciones...]\n"
+"\n"
+"las opciones válidas son:\n"
+" \n"
+"\t-h --help\tmostrar este texto de ayuda\n"
+"\t-a --ascii\tmostrar los valores decimal/octal/hex de las teclas\n"
+"\t-s --scancodes\tmostrar únicamente los códigos de rastreo en bruto\n"
+"\t-k --keycodes\tmostrar únicamente los códigos de teclado interpretados (por defecto)\n"
 
 #: src/showkey.c:157
-msgid "\nPress any keys - Ctrl-D will terminate this program\n\n"
+msgid ""
+"\n"
+"Press any keys - Ctrl-D will terminate this program\n"
+"\n"
 msgstr ""
+"\n"
+"Pulse cualquier tecla - Ctrl-D para salir de este programa\n"
+"\n"
 
 #: src/showkey.c:226
 msgid "press any key (program terminates 10s after last keypress)...\n"
-msgstr ""
+msgstr "pulse cualquier tecla (el programa termina 10s después de la última pulsación de tecla)...\n"
 
 #: src/showkey.c:234
 #, c-format
 msgid "keycode %3d %s\n"
-msgstr ""
+msgstr "código de tecla %3d %s\n"
 
 #: src/showkey.c:236
 msgid "release"
-msgstr ""
+msgstr "soltar"
 
 #: src/showkey.c:237
 msgid "press"
-msgstr ""
+msgstr "pulsar"
 
 #: src/version.h:17
 #, c-format
 msgid "%s from %s\n"
-msgstr ""
+msgstr "%s, de %s\n"
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 0000000..3aee934
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1 @@
+# Not added because copyright FSF without permission to distribute
diff --git a/po/gr.po b/po/gr.po
new file mode 100644
index 0000000..a195e83
--- /dev/null
+++ b/po/gr.po
@@ -0,0 +1,1233 @@
+# Messages in greek from kbd.
+# Copyright (C) 2003 Free Software Foundation
+# This file is distributed under the same license as the PACKAGE package.
+# Lefteris Dimitroulakis <edimitro@tee.gr>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kbd 1.08\n"
+"POT-Creation-Date: 2002-10-25 09:40-0400\n"
+"PO-Revision-Date: 2003-02-16 20:56+0200\n"
+"Last-Translator: Lefteris Dimitroulakis <edimitro@tee.gr>\n"
+"Language-Team: Greek <nls@tux.hellug.gr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.6\n"
+
+#: openvt/openvt.c:67
+#, c-format
+msgid "openvt: %s: illegal vt number\n"
+msgstr "openvt: %s: παράτυπος αριθμός vt\n"
+
+#: openvt/openvt.c:91
+msgid "openvt: only root can use the -u flag.\n"
+msgstr "openvt: μόνο ο διαχειριστής (root) μπορεί να χρησιμοποιήσει τη σημαία -u.\n"
+
+#: openvt/openvt.c:105 src/getfd.c:68
+msgid "Couldnt get a file descriptor referring to the console\n"
+msgstr "Δε μπορώ να λάβω περιγραφέα αρχείου που αφορά την κονσόλα\n"
+
+#: openvt/openvt.c:117
+msgid "openvt: cannot find a free vt\n"
+msgstr "openvt: δε μπορώ να βρω ένα ελεύθερο vt\n"
+
+#: openvt/openvt.c:122
+#, c-format
+msgid "openvt: cannot check whether vt %d is free\n"
+msgstr "openvt: αδύνατος ο έλεγχος αν το vt %d είναι ελεύθερο\n"
+
+#: openvt/openvt.c:123 openvt/openvt.c:128
+msgid "        use `openvt -f' to force.\n"
+msgstr "        χρησιμοποιείστε `openvt -f' προς εξαναγκασμό.\n"
+
+#: openvt/openvt.c:127
+#, c-format
+msgid "openvt: vt %d is in use; command aborted\n"
+msgstr "openvt: vt %d εν χρήσει εκτέλεση διαταγής ματαιώθηκε\n"
+
+#: openvt/openvt.c:155
+#, c-format
+msgid "openvt: Unable to open %s: %s\n"
+msgstr "openvt: Δε μπορώ ν' ανοίξω το %s: %s\n"
+
+#: openvt/openvt.c:167
+#, c-format
+msgid "openvt: Cannot open %s read/write (%s)\n"
+msgstr "openvt: Δε μπορώ ν' ανοίξω το %s για ανάγνωση/εγγραφή (%s)\n"
+
+#: openvt/openvt.c:205
+#, c-format
+msgid "openvt: using VT %s\n"
+msgstr "openvt: χρησιμοποίηση VT %s\n"
+
+#: openvt/openvt.c:217
+#, c-format
+msgid "openvt: Unable to set new session (%s)\n"
+msgstr "openvt: Αδύνατον το άνοιγμα νέας συνόδου (%s)\n"
+
+#: openvt/openvt.c:225
+#, c-format
+msgid ""
+"\n"
+"openvt: could not open %s R/W (%s)\n"
+msgstr ""
+"\n"
+"openvt: αδύνατον το άνοιγμα του %s σε Α/Ε (%s)\n"
+
+#: openvt/openvt.c:281
+#, c-format
+msgid "openvt: could not deallocate console %d\n"
+msgstr "openvt: δε μπορώ ν' αποδεσμεύσω την κονσόλα %d\n"
+
+#: src/chvt.c:28
+msgid "usage: chvt N\n"
+msgstr "χρήση: chvt N\n"
+
+#: src/deallocvt.c:33
+#, c-format
+msgid "%s: unknown option\n"
+msgstr "%s: άγνωστη επιλογή\n"
+
+#: src/deallocvt.c:45
+#, c-format
+msgid "%s: deallocating all unused consoles failed\n"
+msgstr "%s: αποτυχία αποδέσμευσης όλων των μή χρησιμοποιουμένων κονσολών\n"
+
+#: src/deallocvt.c:53
+#, c-format
+msgid "%s: 0: illegal VT number\n"
+msgstr "%s: 0: παράτυπος αριθμός VT\n"
+
+#: src/deallocvt.c:57
+#, c-format
+msgid "%s: VT 1 is the console and cannot be deallocated\n"
+msgstr "%s: VT 1 είναι η κονσόλα και δε μπορεί ν' αποδεσμευτεί\n"
+
+#: src/deallocvt.c:63
+#, c-format
+msgid "%s: could not deallocate console %d\n"
+msgstr "%s: αδυναμία αποδέσμευσης της κονσόλας %d\n"
+
+#: src/dumpkeys.c:63
+#, c-format
+msgid "KDGKBENT error at index 0 in table %d: "
+msgstr "Σφάλμα KDGKBENT στο ευρετήριο 0 στον πίνακα %d: "
+
+#: src/dumpkeys.c:76
+#, c-format
+msgid "%s: cannot find any keymaps?\n"
+msgstr "%s: δε βρέθηκε καμία απεικόνιση πλήκτρων (keymap);\n"
+
+#: src/dumpkeys.c:81
+#, c-format
+msgid "%s: plain map not allocated? very strange ...\n"
+msgstr "%s: δεν εκχωρήθηκε μιά απλή απεικόνιση; πολύ περίεργο ...\n"
+
+#: src/dumpkeys.c:113
+#, c-format
+msgid "KDGKBENT error at index %d in table %d: "
+msgstr "Σφάλμα KDGKBENT στο ευρετήριο %d στον πίνακα %d: "
+
+#: src/dumpkeys.c:241
+#, c-format
+msgid "keycode range supported by kernel:           1 - %d\n"
+msgstr "περιοχή των keycode που υποστηρίζεται απο τον πυρήνα:           1 - %d\n"
+
+#: src/dumpkeys.c:243
+#, c-format
+msgid "max number of actions bindable to a key:         %d\n"
+msgstr "μέγιστος αριθμός ενεργειών αποδοτέων σ' ένα πλήκτρο:       %d\n"
+
+#: src/dumpkeys.c:246
+#, c-format
+msgid "number of keymaps in actual use:                 %d\n"
+msgstr "αριθμός απεικονίσεων πλήκτρων εν χρήσει:                 %d\n"
+
+#: src/dumpkeys.c:249
+#, c-format
+msgid "of which %d dynamically allocated\n"
+msgstr "από τους οποίους %d έχουν διατεθεί δυναμικά\n"
+
+#: src/dumpkeys.c:250
+msgid "ranges of action codes supported by kernel:\n"
+msgstr "περιοχές κωδικών ενέργειας που υποστηρίζονται από τον πυρήνα:\n"
+
+#: src/dumpkeys.c:255
+#, c-format
+msgid "number of function keys supported by kernel: %d\n"
+msgstr "αριθμός πλήκτρων λειτουργιών υποστηριζομένων απ' τον πυρήνα : %d\n"
+
+#: src/dumpkeys.c:258
+#, c-format
+msgid "max nr of compose definitions: %d\n"
+msgstr "μέγιστος αριθμός συνθέτων προσδιορισμών: %d\n"
+
+#: src/dumpkeys.c:260
+#, c-format
+msgid "nr of compose definitions in actual use: %d\n"
+msgstr "αριθμός συνθέτων προσδιορισμών εν χρήσει: %d\n"
+
+#: src/dumpkeys.c:284
+#, c-format
+msgid ""
+"Symbols recognized by %s:\n"
+"(numeric value, symbol)\n"
+"\n"
+msgstr ""
+"Σύμβολα αναγνωρισμένα από %s:\n"
+"(αριθμητική τιμή, σύμβολο)\n"
+"\n"
+
+#: src/dumpkeys.c:297
+msgid ""
+"\n"
+"The following synonyms are recognized:\n"
+"\n"
+msgstr ""
+"\n"
+"Τα παρακάτω συνώνημα αναγνωρίστηκαν:\n"
+"\n"
+
+#: src/dumpkeys.c:299
+#, c-format
+msgid "%-15s for %s\n"
+msgstr "%-15s για %s\n"
+
+#: src/dumpkeys.c:301
+msgid ""
+"\n"
+"Recognized modifier names and their column numbers:\n"
+msgstr ""
+"\n"
+"Ονόματα αναγνωρισμένων μετατροπέων και οι αριθμοί τους στήλης :\n"
+
+#: src/dumpkeys.c:364
+#, c-format
+msgid "# not alt_is_meta: on keymap %d key %d is bound to"
+msgstr "# δεν είναι alt_is_meta: στην keymap %d το πλήκτρο %d αντιστοιχεί σε"
+
+#: src/dumpkeys.c:439
+msgid "impossible: not meta?\n"
+msgstr "αδύνατον: δεν είναι meta;\n"
+
+#: src/dumpkeys.c:496
+#, c-format
+msgid "KDGKBSENT failed at index %d: "
+msgstr "Αποτυχία KDGKBSENT στο ευρετήριο %d: "
+
+#: src/dumpkeys.c:516
+#, c-format
+msgid "dumpkeys version %s"
+msgstr "dumpkeys έκδοση %s"
+
+#: src/dumpkeys.c:517
+msgid ""
+"\n"
+"usage: dumpkeys [options...]\n"
+"\n"
+"valid options are:\n"
+"\n"
+"\t-h --help\t    display this help text\n"
+"\t-i --short-info\t    display information about keyboard driver\n"
+"\t-l --long-info\t    display above and symbols known to loadkeys\n"
+"\t-n --numeric\t    display keytable in hexadecimal notation\n"
+"\t-f --full-table\t    don't use short-hand notations, one row per keycode\n"
+"\t-1 --separate-lines one line per (modifier,keycode) pair\n"
+"\t   --funcs-only\t    display only the function key strings\n"
+"\t   --keys-only\t    display only key bindings\n"
+"\t   --compose-only   display only compose key combinations\n"
+"\t-c --charset="
+msgstr ""
+"\n"
+"χρήση: dumpkeys [επιλογές...]\n"
+"\n"
+"έγκυρες επιλογές είναι:\n"
+"\n"
+"\t-h --help\t          εμφάνιση αυτής της βοήθειας\n"
+"\t-i --short-info\t    εμφάνιση πληροφοριών για τον οδηγό πληκτρολογίου\n"
+"\t-l --long-info\t     εμφάνιση των παραπάνω πληροφοριών\n"
+"                       και συμβόλων γνωστών στο loadkeys\n"
+"\t-n --numeric\t       εμφάνιση keytable σε δεκαεξαδική μορφή\n"
+"\t-f --full-table\t    μη χρήση συντομογραφίας αλλά ενός στοίχου ανά κωδικό πλήκτρου\n"
+"\t-1 --separate-lines  μία γραμμή ανά ζεύγος (μετατροπέα, κωδικό πλήκτρου)\n"
+"\t   --funcs-only\t    εμφάνιση μόνο των συμβολοσειρών των πλήκτρων λειτουργιών\n"
+"\t   --keys-only\t     εμφάνιση μόνο συνδέσμων των πλήκτρων\n"
+"\t   --compose-only    εμφάνιση μόνο των συνδιασμών των πλήκτρων\n"
+"\t-c --charset="
+
+#: src/dumpkeys.c:534
+msgid ""
+"\t\t\t    interpret character action codes to be from the\n"
+"\t\t\t    specified character set\n"
+msgstr ""
+"\t\t\t    διερμηνεία κωδικών των χαρακτήρων ενέργειας\n"
+"\t\t\t    από το προδιαγεγραμμένο σύνολο χαρακτήρων\n"
+
+#: src/findfile.c:43
+#, c-format
+msgid "error executing  %s\n"
+msgstr "σφάλμα κατά την εκτέλεση  %s\n"
+
+#: src/getkeycodes.c:18
+msgid "usage: getkeycodes\n"
+msgstr "χρήση: getkeycodes\n"
+
+#: src/getkeycodes.c:39
+msgid "Plain scancodes xx (hex) versus keycodes (dec)\n"
+msgstr "Απλοί κωδικοί σάρωσης xx (hex) και οι αντίστοιχοι κωδικοί πλήκτρων (dec)\n"
+
+#: src/getkeycodes.c:40
+msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n"
+msgstr "0 είναι ένα σφάλμα; για 1-88 (0x01-0x58) ο κωδικός σάρωσης ισούται με τον κωδικό πλήκτρου\n"
+
+#: src/getkeycodes.c:44
+msgid ""
+"\n"
+"\n"
+"Escaped scancodes e0 xx (hex)\n"
+msgstr ""
+"\n"
+"\n"
+"Κωδικοί σάρωσης διαφυγής e0 xx (hex)\n"
+
+#: src/getkeycodes.c:64
+#, c-format
+msgid "failed to get keycode for scancode 0x%x\n"
+msgstr "αποτυχία κατά τη λήψη κωδικού πλήκτρου για τον κώδικα σάρωσης 0x%x\n"
+
+#: src/getunimap.c:49
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s [-s]\n"
+msgstr ""
+"Χρήση:\n"
+"\t%s [-s]\n"
+
+#: src/kbd_mode.c:18
+msgid "usage: kbd_mode [-a|-u|-k|-s]\n"
+msgstr "χρήση: kbd_mode [-a|-u|-k|-s]\n"
+
+#: src/kbd_mode.c:41
+msgid "kbd_mode: error reading keyboard mode\n"
+msgstr "kbd_mode: σφάλμα ανάγνωσης καταστάσεως πληκτρολογίου\n"
+
+#: src/kbd_mode.c:46
+msgid "The keyboard is in raw (scancode) mode\n"
+msgstr "Το πληκτρολόγιο βρίσκεται σε ακατέργαστη (scancode) κατάσταση\n"
+
+#: src/kbd_mode.c:49
+msgid "The keyboard is in mediumraw (keycode) mode\n"
+msgstr "Το πληκτρολόγιο βρίσκεται σε ημικατεργασμένη (keycode) κατάσταση\n"
+
+#: src/kbd_mode.c:52
+msgid "The keyboard is in the default (ASCII) mode\n"
+msgstr "Το πληκτρολόγιο βρίσκεται στην προεπιλεγμένη κατάσταση (ASCII)\n"
+
+#: src/kbd_mode.c:55
+msgid "The keyboard is in Unicode (UTF-8) mode\n"
+msgstr "Το πληκτρολόγιο βρίσκεται σε κατάσταση Unicode (UTF-8)\n"
+
+#: src/kbd_mode.c:58
+msgid "The keyboard is in some unknown mode\n"
+msgstr "Το πληκτρολόγιο βρίσκεται σε κάποια άγνωστη κατάσταση\n"
+
+#: src/kbd_mode.c:76
+#, c-format
+msgid "%s: error setting keyboard mode\n"
+msgstr "%s: σφάλμα κατά τον ορισμό της κατάστασης πληκτρολογίου\n"
+
+#: src/kbdrate.c:149 src/kbdrate.c:284
+#, c-format
+msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
+msgstr "Ο ρυθμός επανάληψης ρυθμίστηκε σε %.1f cps (καθυστέρηση = %d ms)\n"
+
+#: src/kbdrate.c:229
+msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+msgstr "Χρήση: kbdrate [-V] [-s] [-r ρυθμός] [-d καθυστέρηση]\n"
+
+#: src/kbdrate.c:259
+msgid "Cannot open /dev/port"
+msgstr "Αδυναμία ανοίγματος του /dev/port"
+
+#: src/kdfontop.c:193
+msgid "bug: getfont called with count<256\n"
+msgstr "bug: getfont κλήθηκε με μετρητή<256\n"
+
+#: src/kdfontop.c:252 src/xmalloc.c:14
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: η μνήμη εξαντλήθηκε\n"
+
+#: src/ksyms.c:1674
+#, c-format
+msgid "unknown charset %s - ignoring charset request\n"
+msgstr "άγνωστο σύνολο χαρακτήρων %s - η αίτηση αγνοήθηκε\n"
+
+#: src/ksyms.c:1746
+#, c-format
+msgid "assuming iso-8859-1 %s\n"
+msgstr "υποθέτοντας iso-8859-1 %s\n"
+
+#: src/ksyms.c:1753
+#, c-format
+msgid "assuming iso-8859-15 %s\n"
+msgstr "υποθέτοντας iso-8859-15 %s\n"
+
+#: src/ksyms.c:1760
+#, c-format
+msgid "assuming iso-8859-2 %s\n"
+msgstr "υποθέτοντας iso-8859-2 %s\n"
+
+#: src/ksyms.c:1767
+#, c-format
+msgid "assuming iso-8859-3 %s\n"
+msgstr "υποθέτοντας iso-8859-3 %s\n"
+
+#: src/ksyms.c:1774
+#, c-format
+msgid "assuming iso-8859-4 %s\n"
+msgstr "υποθέτοντας iso-8859-4 %s\n"
+
+#: src/ksyms.c:1779
+#, c-format
+msgid "unknown keysym '%s'\n"
+msgstr "άγνωστο keysym '%s'\n"
+
+#: src/ksyms.c:1814
+#, c-format
+msgid "plus before %s ignored\n"
+msgstr "συν πριν το %s αγνοήθηκε\n"
+
+#: src/loadunimap.c:62
+#, c-format
+msgid "usage: %s [-o map.orig] [map-file]\n"
+msgstr "χρήση: %s [-o map.orig] [map-αρχείο]\n"
+
+#: src/loadunimap.c:152 src/loadunimap.c:163
+#, c-format
+msgid "Bad input line: %s\n"
+msgstr "Εσφαλμένη γραμμή εισόδου: %s\n"
+
+#: src/loadunimap.c:172
+#, c-format
+msgid "%s: Glyph number (0x%x) larger than font length\n"
+msgstr "%s: Αριθμός γλύφου (0x%x) μεγαλύτερος απ' το μήκος της γραμματοσειράς\n"
+
+#: src/loadunimap.c:178
+#, c-format
+msgid "%s: Bad end of range (0x%x)\n"
+msgstr "%s: Εσφαλμένο πέρας περιοχής (0x%x)\n"
+
+#: src/loadunimap.c:208 src/psfxtable.c:175
+#, c-format
+msgid "%s: Bad Unicode range corresponding to font position range 0x%x-0x%x\n"
+msgstr "%s: Εσφαλμένη Unicode περιοχή που αντιστοιχεί στην περιοχή θέσεων 0x%x-0x%xτης γραμματοσειράς.\n"
+
+#: src/loadunimap.c:215 src/psfxtable.c:182
+#, c-format
+msgid "%s: Unicode range U+%x-U+%x not of the same length as font position range 0x%x-0x%x\n"
+msgstr "%s: Unicode περιοχή U+%x-U+%x όχι του ιδίου μήκους με την περιοχή θέσεων 0x%x-0x%x της γραμματοσειράς\n"
+
+#: src/loadunimap.c:234 src/psfxtable.c:203
+#, c-format
+msgid "%s: trailing junk (%s) ignored\n"
+msgstr "%s: αγνοήθηκαν σκουπίδια στο τέλος (%s)\n"
+
+#: src/loadunimap.c:251
+#, c-format
+msgid "Loading unicode map from file %s\n"
+msgstr "Φόρτωση της απεικόνισης unicode από το αρχείο %s\n"
+
+#: src/loadunimap.c:257
+#, c-format
+msgid "%s: %s: Warning: line too long\n"
+msgstr "%s: %s: Προειδοποίηση: πολύ μεγάλη γραμμή\n"
+
+#: src/loadunimap.c:267
+#, c-format
+msgid ""
+"%s: not loading empty unimap\n"
+"(if you insist: use option -f to override)\n"
+msgstr ""
+"%s: δε φορτώνεται άδειο unimap\n"
+"(αν επιμένετε: χρησιμοποιείστε την επιλογή -f για παράβλεψη)\n"
+
+#: src/loadunimap.c:288
+msgid "entry"
+msgstr "καταχώρηση"
+
+#: src/loadunimap.c:288
+msgid "entries"
+msgstr "καταχωρήσεις"
+
+#: src/loadunimap.c:314
+#, c-format
+msgid "Saved unicode map on `%s'\n"
+msgstr "Η απεικόνιση unicode αποθηκεύθηκε στο `%s'\n"
+
+#: src/loadunimap.c:334
+msgid "Appended Unicode map\n"
+msgstr "Προσαρτήθηκε απεικόνιση Unicode\n"
+
+#: src/mapscrn.c:66
+#, c-format
+msgid "usage: %s [-v] [-o map.orig] map-file\n"
+msgstr "χρήση: %s [-v] [-o map.orig] αρχείο-map\n"
+
+#: src/mapscrn.c:131
+#, c-format
+msgid "mapscrn: cannot open map file _%s_\n"
+msgstr "mapscrn: αδυνατώ ν' ανοίξω το αρχείο απεικόνισης _%s_\n"
+
+#: src/mapscrn.c:137
+msgid "Cannot stat map file"
+msgstr "Δε μπορώ να αξιολογήσω το αρχείο απεικόνισης με τη stat()"
+
+#: src/mapscrn.c:142
+#, c-format
+msgid "Loading binary direct-to-font screen map from file %s\n"
+msgstr "Φόρτωση δυαδικής απεικόνισης της οθόνης απευθείας-στη-γραμματοσειρά από το αρχείο %s\n"
+
+#: src/mapscrn.c:147 src/mapscrn.c:158
+#, c-format
+msgid "Error reading map from file `%s'\n"
+msgstr "Σφάλμα ανάγνωσης απεικόνισης από το αρχείο `%s'\n"
+
+#: src/mapscrn.c:153
+#, c-format
+msgid "Loading binary unicode screen map from file %s\n"
+msgstr "Φόρτωση της δυαδικής unicode απεικόνισης της οθόνης από το αρχείο %s\n"
+
+#: src/mapscrn.c:165
+#, c-format
+msgid "Loading symbolic screen map from file %s\n"
+msgstr "Φόρτωση της συμβολικής απεικόνισης της οθόνης από το αρχείο %s\n"
+
+#: src/mapscrn.c:169
+#, c-format
+msgid "Error parsing symbolic map from `%s', line %d\n"
+msgstr "Σφάλμα κατά τη γραμματοσυντακτική ανάλυσητης συμβολικής απεικόνισης από `%s', γραμμή %d\n"
+
+#: src/mapscrn.c:273 src/mapscrn.c:278
+msgid "Error writing map to file\n"
+msgstr "Σφάλμα εγγραφής της απεικόνισης στο αρχείο\n"
+
+#: src/mapscrn.c:282
+msgid "Cannot read console map\n"
+msgstr "Αδυναμία ανάγνωσης της απεικόνισης της κονσόλας\n"
+
+#: src/mapscrn.c:288
+#, c-format
+msgid "Saved screen map in `%s'\n"
+msgstr "Η απεικόνιση της οθόνης αποθηκεύθηκε στο `%s'\n"
+
+#: src/psffontop.c:66
+#, c-format
+msgid "%s: short ucs2 unicode table\n"
+msgstr "%s: λειψός πίνακας unicode usc2\n"
+
+#: src/psffontop.c:87
+#, c-format
+msgid "%s: short utf8 unicode table\n"
+msgstr "%s: λειψός πίνακας utf8 unicode\n"
+
+#: src/psffontop.c:90
+#, c-format
+msgid "%s: bad utf8\n"
+msgstr "%s: εσφαλμένο utf8\n"
+
+#: src/psffontop.c:93
+#, c-format
+msgid "%s: unknown utf8 error\n"
+msgstr "%s: άγνωστο σφάλμα utf8\n"
+
+#: src/psffontop.c:124
+#, c-format
+msgid "%s: short unicode table\n"
+msgstr "%s: λειψός πίνακας unicode\n"
+
+#: src/psffontop.c:204
+#, c-format
+msgid "%s: Error reading input font"
+msgstr "%s: Σφάλμα κατά την ανάγνωση της γραμματοσειράς"
+
+#: src/psffontop.c:218
+#, c-format
+msgid "%s: Bad call of readpsffont\n"
+msgstr "%s: Εσφαλμένη κλήση της readpsffont\n"
+
+#: src/psffontop.c:233
+#, c-format
+msgid "%s: Unsupported psf file mode (%d)\n"
+msgstr "%s: Μη υποστηριζόμενη κατάσταση αρχείου psf (%d)\n"
+
+#: src/psffontop.c:251
+#, c-format
+msgid "%s: Unsupported psf version (%d)\n"
+msgstr "%s: Μή υποστηριζόμενη έκδοση psf (%d)\n"
+
+#: src/psffontop.c:267
+#, c-format
+msgid "%s: zero input font length?\n"
+msgstr "%s: μηδέν μήκος γραμματοσειράς εισόδου;\n"
+
+#: src/psffontop.c:272
+#, c-format
+msgid "%s: zero input character size?\n"
+msgstr "%s: μηδέν μέγεθος χαρακτήρα εισόδου;\n"
+
+#: src/psffontop.c:278
+#, c-format
+msgid "%s: Input file: bad input length (%d)\n"
+msgstr "%s: Αρχείο εισόδου: εσφαλμένο μήκος εισόδου (%d)\n"
+
+#: src/psffontop.c:310
+#, c-format
+msgid "%s: Input file: trailing garbage\n"
+msgstr "%s: Αρχείο εισόδου: σκουπίδια στο τέλος\n"
+
+#: src/psffontop.c:348
+#, c-format
+msgid "appendunicode: illegal unicode %u\n"
+msgstr "appendunicode: παράτυπο unicode %u\n"
+
+#: src/psffontop.c:434
+msgid "Cannot write font file header"
+msgstr "Αδυναμία εγγραφής της επικεφαλίδας του αρχείου γραμματοσειράς"
+
+#: src/psfxtable.c:109
+#, c-format
+msgid "%s: Warning: line too long\n"
+msgstr "%s: Προειδοποίηση: πολύ μεγάλη γραμμή\n"
+
+#: src/psfxtable.c:123 src/psfxtable.c:133
+#, c-format
+msgid "%s: Bad input line: %s\n"
+msgstr "%s: Εσφαλμένη γραμμή εισόδου: %s\n"
+
+#: src/psfxtable.c:142
+#, c-format
+msgid "%s: Glyph number (0x%lx) past end of font\n"
+msgstr "%s: Ο αριθμός γλύφου (0x%lx) υπερβαίνει το πέρας της γραμματοσειράς\n"
+
+#: src/psfxtable.c:147
+#, c-format
+msgid "%s: Bad end of range (0x%lx)\n"
+msgstr "%s: Εσφαλμένο πέρας περιοχής (0x%lx)\n"
+
+#: src/psfxtable.c:166
+#, c-format
+msgid "%s: Corresponding to a range of font positions, there should be a Unicode range\n"
+msgstr "%s: Θα πρέπει να υπάρχει μια Unicode περιοχήπου αντιστοιχεί στη περιοχή θέσεων της γραμματοσειράς\n"
+
+#: src/psfxtable.c:255
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont intable outfont\n"
+msgstr ""
+"Χρήση:\n"
+"\t%s γραμματοσειράΕισόδου πίνακαςΕισόδου γραμματοσειράΕξόδου\n"
+
+#: src/psfxtable.c:264
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont [outtable]\n"
+msgstr ""
+"Χρήση:\n"
+"\t%s γραμματοσειράΕισόδου [πίνακαςΕξόδου]\n"
+
+#: src/psfxtable.c:273
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont outfont\n"
+msgstr ""
+"Χρήση:\n"
+"\t%s γραμματοσειράΕισόδου γραμματοσειράΕξόδου\n"
+
+#: src/psfxtable.c:298
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s [-i infont] [-o outfont] [-it intable] [-ot outtable] [-nt]\n"
+msgstr ""
+"Χρήση:\n"
+"\t%s [-i γραμματοσειράΕισόδου] [-o γραμματοσειράΕξόδου] [-it πίνακαςΕισόδου] [-ot πίνακαςΕξόδου] [-nt]\n"
+
+#: src/psfxtable.c:358
+#, c-format
+msgid "%s: Bad magic number on %s\n"
+msgstr "%s: Εσφαλμένος μαγικός αριθμός για %s\n"
+
+#: src/psfxtable.c:377
+#, c-format
+msgid "%s: psf file with unknown magic\n"
+msgstr "%s: αρχείο psf με άγνωστο μαγικό αριθμό\n"
+
+#: src/psfxtable.c:393
+#, c-format
+msgid "%s: input font does not have an index\n"
+msgstr "%s: η γραμματοσειρά εισόδου δεν περιέχει ευρετήριο\n"
+
+#: src/resizecons.c:153
+#, c-format
+msgid "resizecons: cannot find videomode file %s\n"
+msgstr "resizecons: αδυνατώ να βρω το αρχείο videomode %s\n"
+
+#: src/resizecons.c:172
+msgid "Invalid number of lines\n"
+msgstr "Άκυρος αριθμός γραμμών\n"
+
+#: src/resizecons.c:238
+#, c-format
+msgid "Old mode: %dx%d  New mode: %dx%d\n"
+msgstr "Παλαιά κατάσταση: %dx%d  Νέα κατάσταση: %dx%d\n"
+
+#: src/resizecons.c:240
+#, c-format
+msgid "Old #scanlines: %d  New #scanlines: %d  Character height: %d\n"
+msgstr "Παλαιές #scanlines: %d  Νέες #scanlines: %d  Ύψος χαρακτήρα: %d\n"
+
+#: src/resizecons.c:251
+#, c-format
+msgid "resizecons: the command `%s' failed\n"
+msgstr "resizecons: αποτυχία εντολής `%s'\n"
+
+#: src/resizecons.c:324
+#, c-format
+msgid "resizecons: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n"
+msgstr "resizecons: μή ξεχνάτε την αλλαγή του TERM (ίσως σε con%dx%d ή linux-%dx%d)\n"
+
+#: src/resizecons.c:337
+msgid ""
+"resizecons:\n"
+"call is:  resizecons COLSxROWS  or:  resizecons COLS ROWS\n"
+"or: resizecons -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n"
+msgstr ""
+"resizecons:\n"
+"η κλήση είναι:  resizecons ΣΤΗΛΕΣxΓΡΑΜΜΕΣ  ή:  resizecons ΣΤΗΛΕΣ ΓΡΑΜΜΕΣ\n"
+"ή: resizecons -lines ΓΡΑΜΜΕΣ, με ΓΡΑΜΜΕΣ μία από 25, 28, 30, 34, 36, 40, 44, 50, 60\n"
+
+#: src/resizecons.c:375
+msgid "resizecons: cannot get I/O permissions.\n"
+msgstr "resizecons: αδύνατη η λήψη δικαιωμάτων I/O.\n"
+
+#: src/screendump.c:48
+msgid "usage: screendump [n]\n"
+msgstr "χρήση: screendump [n]\n"
+
+#: src/screendump.c:78
+#, c-format
+msgid "Error reading %s\n"
+msgstr "Σφάλμα ανάγνωσης %s\n"
+
+#: src/screendump.c:126
+#, c-format
+msgid "couldn't read %s, and cannot ioctl dump\n"
+msgstr "αδυναμία ανάγνωσης του %s, και δε μπορώ να το εμφανίσω με την ioctl()\n"
+
+#. we tried this just to be sure, but TIOCLINUX
+#. function 0 has been disabled since 1.1.92
+#. Do not mention `ioctl dump' in error msg
+#: src/screendump.c:132
+#, c-format
+msgid "couldn't read %s\n"
+msgstr "αδύνατη ανάγνωση %s\n"
+
+#: src/screendump.c:141
+#, c-format
+msgid "Strange ... screen is both %dx%d and %dx%d ??\n"
+msgstr "Περίεργο ...η οθόνη είναι συγχρόνως %dx%d και %dx%d ;;\n"
+
+#: src/screendump.c:159
+msgid "Error writing screendump\n"
+msgstr "Σφάλμα εγγραφής screendump\n"
+
+#: src/setfont.c:73
+msgid ""
+"Usage: setfont [write-options] [-<N>] [newfont..] [-m consolemap] [-u unicodemap]\n"
+"  write-options (take place before file loading):\n"
+"    -o  <filename>\tWrite current font to <filename>\n"
+"    -O  <filename>\tWrite current font and unicode map to <filename>\n"
+"    -om <filename>\tWrite current consolemap to <filename>\n"
+"    -ou <filename>\tWrite current unicodemap to <filename>\n"
+"If no newfont and no -[o|O|om|ou|m|u] option is given,\n"
+"a default font is loaded:\n"
+"    setfont             Load font \"default[.gz]\"\n"
+"    setfont -<N>        Load font \"default8x<N>[.gz]\"\n"
+"The -<N> option selects a font from a codepage that contains three fonts:\n"
+"    setfont -{8|14|16} codepage.cp[.gz]   Load 8x<N> font from codepage.cp\n"
+"Explicitly (with -m or -u) or implicitly (in the fontfile) given mappings\n"
+"will be loaded and, in the case of consolemaps, activated.\n"
+"    -h<N>      (no space) Override font height.\n"
+"    -m <fn>    Load console screen map.\n"
+"    -u <fn>    Load font unicode map.\n"
+"    -m none\tSuppress loading and activation of a screen map.\n"
+"    -u none\tSuppress loading of a unicode map.\n"
+"    -v\t\tBe verbose.\n"
+"    -V\t\tPrint version and exit.\n"
+"Files are loaded from the current directory or /usr/lib/kbd/*/.\n"
+msgstr ""
+"Χρήση: setfont [επιλογές-εγγραφής] [-<N>] [νέα-γραμματοσειρά..] [-m consolemap] [-u unicodemap]\n"
+"  Οι επιλογές-εγγραφής (προηγούνται της φόρτωσης του αρχείου):\n"
+"    -o  <αρχείο>   Εγγραφή τρέχουσας γραμμ/σειράς στο <αρχείο>\n"
+"    -O  <αρχείο>   Εγγραφή τρέχουσας γραμμ/σειράς καί unicode map στο <αρχείο>\n"
+"    -om <αρχείο>   Εγγραφή τρέχουσας consolemap στο <αρχείο>\n"
+"    -ou <αρχείο>   Εγγραφή τρέχουσας unicodemap στο <αρχείο>\n"
+"Αν δε δίνεται νέα γραμμ/σειρά και ουδεμία επιλογή -[o|O|om|ou|m|u],\n"
+"τότε φορτώνεται μία προεπιλεγμένη γραμμ/σειρά:\n"
+"    setfont             Φόρτωση γραμμ/σειράς \"default[.gz]\"\n"
+"    setfont -<N>        Φόρτωση γραμμ/σειράς \"default8x<N>[.gz]\"\n"
+"Η -<N> επιλογή επιλέγει μία γραμμ/σειρά από μία κωδικοσελίδα\n"
+"πού περιέχει τρεις γραμμ/σειρές:\n"
+"    setfont -{8|14|16} codepage.cp[.gz]   Φόρτωση γραμμ/σειράς 8x<N> από την codepage.cp\n"
+"Ρητώς (με -m ή -u) ή εμμέσως (στο αρχείο γραμμ/σειράς) οι δεδομένες απεικονίσεις\n"
+"θα φορτωθούν και, στην περίπτωση των consolemaps, θα ενεργοποιηθούν.\n"
+"    -h<N>        (χωρίς διάστημα) Παράκαμψη ύψους γραμμ/σειράς.\n"
+"    -m <fn>      Φόρτωση screen map της κονσόλας.\n"
+"    -u <fn>      Φόρτωση unicode map της γραμμ/σειράς.\n"
+"    -m none      Σταμάτημα φόρτωσης κι ενεργοποίησης της screen map.\n"
+"    -u none      Σταμάτημα φόρτωσης μιάς unicode map.\n"
+"    -v           Πληροφορίες κατά την εκτέλεση της εντολής.\n"
+"    -V           Εμφάνιση πληροφοριών έκδοσης κι έξοδος.\n"
+"Τα αρχεία φορτώνονται από τον τρέχοντα κατάλογο ή από /usr/lib/kbd/*/.\n"
+
+#: src/setfont.c:169
+msgid "setfont: too many input files\n"
+msgstr "setfont: πάρα πολλά αρχεία εισόδου\n"
+
+#: src/setfont.c:177
+msgid "setfont: cannot both restore from character ROM and from file. Font unchanged.\n"
+msgstr "setfont: αδύνατη επαναφορά από τη ROM χαρακτήρων και από αρχείο συγχρόνως. Η γραμματοσειρά παραμένει αμετάβλητη.\n"
+
+#: src/setfont.c:236
+#, c-format
+msgid "Bad character height %d\n"
+msgstr "Εσφαλμένο ύψος χαρακτήρα %d\n"
+
+#: src/setfont.c:240
+#, c-format
+msgid "Bad character width %d\n"
+msgstr "Εσφαλμένο πλάτος χαρακτήρα %d\n"
+
+#: src/setfont.c:265
+#, c-format
+msgid "%s: font position 32 is nonblank\n"
+msgstr "%s: η θέση 32 της γραμματοσειράς δεν είναι κενή\n"
+
+#: src/setfont.c:273
+#, c-format
+msgid "%s: wiped it\n"
+msgstr "%s: το καθάρισα\n"
+
+#: src/setfont.c:277
+#, c-format
+msgid "%s: background will look funny\n"
+msgstr "%s: το παρασκήνιο θα φαίνεται αλλόκοτο\n"
+
+#: src/setfont.c:287
+#, c-format
+msgid "Loading %d-char %dx%d font from file %s\n"
+msgstr "Φόρτωση των %d-χαρακτ. της γραμμ/σειράς %dx%d από το αρχείο %s\n"
+
+#: src/setfont.c:290
+#, c-format
+msgid "Loading %d-char %dx%d font\n"
+msgstr "Φόρτωση των %d-χαρακτ. της γραμμ/σειράς %dx%d\n"
+
+#: src/setfont.c:293
+#, c-format
+msgid "Loading %d-char %dx%d (%d) font from file %s\n"
+msgstr "Φόρτωση των %d-χαρακτ. της γραμμ/σειράς %dx%d (%d) από το αρχείο %s\n"
+
+#: src/setfont.c:296
+#, c-format
+msgid "Loading %d-char %dx%d (%d) font\n"
+msgstr "Φόρτωση των %d-χαρακτ. της γραμμ/σειράς %dx%d (%d)\n"
+
+#: src/setfont.c:336
+#, c-format
+msgid "%s: bug in do_loadtable\n"
+msgstr "%s: σφάλμα στο do_loadtable\n"
+
+#: src/setfont.c:342
+msgid "Loading Unicode mapping table...\n"
+msgstr "Φόρτωση πίνακα απεικόνισης Unicode...\n"
+
+#: src/setfont.c:378 src/setfont.c:462
+#, c-format
+msgid "Cannot open font file %s\n"
+msgstr "Αδύνατο το άνοιγμα του αρχείου γραμματοσειράς %s\n"
+
+#: src/setfont.c:389
+#, c-format
+msgid "When loading several fonts, all must be psf fonts - %s isn't\n"
+msgstr "Κατά τη φόρτωση διαφόρων γραμμ/σειρών, όλες πρέπει να είναι psf - %s δεν είναι\n"
+
+#: src/setfont.c:397
+#, c-format
+msgid "Read %d-char %dx%d font from file %s\n"
+msgstr "Ανάγνωση %d-χαρακτ. της γραμματοσειράς %dx%d από το αρχείο %s\n"
+
+#: src/setfont.c:403
+msgid "When loading several fonts, all must have the same height\n"
+msgstr "Κατά τη φόρτωση πολλών γραμματοσειρών, όλες πρέπει να έχουν το ίδιο ύψος\n"
+
+#: src/setfont.c:410
+msgid "When loading several fonts, all must have the same width\n"
+msgstr "Κατά τη φόρτωση πολλών γραμματοσειρών, όλες πρέπει να έχουν ίδιο πλάτος\n"
+
+#: src/setfont.c:449
+msgid "Cannot find default font\n"
+msgstr "Αδυνατώ να βρω την προεπιλεγμένη γραμματοσειρά\n"
+
+#: src/setfont.c:456
+#, c-format
+msgid "Cannot find %s font\n"
+msgstr "Αδυνατώ να βρω τη γραμματοσειρά %s\n"
+
+#: src/setfont.c:468
+#, c-format
+msgid "Reading font file %s\n"
+msgstr "Ανάγνωση αρχείου γραμματοσειράς %s\n"
+
+#: src/setfont.c:506
+msgid "No final newline in combine file\n"
+msgstr "Δεν υπάρχει τελική νέα γραμμή στο συνδιασμένο αρχείο\n"
+
+#: src/setfont.c:512
+msgid "Too many files to combine\n"
+msgstr "Πάρα πολλά αρχεία για συνδιασμό\n"
+
+#. restorefont -w writes a SVGA font to file
+#. restorefont -r restores it
+#. These fonts have size 32768, for two 512-char fonts.
+#. In fact, when BROKEN_GRAPHICS_PROGRAMS is defined,
+#. and it always is, there is no default font that is saved,
+#. so probably the second half is always garbage.
+#: src/setfont.c:536
+msgid "Hmm - a font from restorefont? Using the first half.\n"
+msgstr "Χμμ - γραμματοσειρά από το restorefont; Χρήση του πρώτου μισού.\n"
+
+#: src/setfont.c:553
+msgid "Bad input file size\n"
+msgstr "Εσφαλμένο μέγεθος αρχείου εισόδου\n"
+
+#: src/setfont.c:574
+msgid ""
+"This file contains 3 fonts: 8x8, 8x14 and 8x16. Please indicate\n"
+"using an option -8 or -14 or -16 which one you want loaded.\n"
+msgstr ""
+"Αυτό το αρχείο περιέχει 3 γραμματοσειρές: 8x8, 8x14 και 8x16. Παρακαλώ\n"
+"υποδείξτε με τις επιλογές -8 ή -14 ή -16 ποια θέλετε.\n"
+
+#: src/setfont.c:588
+#, c-format
+msgid "You asked for font size %d, but only 8, 14, 16 are possible here.\n"
+msgstr ""
+"Ζητήσατε μέγεθος γραμματοσειράς %d, αλλά μόνον 8, 14, 16\n"
+"είναι δυνατόν εδώ.\n"
+
+#: src/setfont.c:633
+msgid "Found nothing to save\n"
+msgstr "Τίποτε για διάσωση\n"
+
+#: src/setfont.c:637
+msgid "Cannot write font file"
+msgstr "Δε μπορώ να γράψω στο αρχείο της γραμματοσειράς"
+
+#: src/setfont.c:642
+#, c-format
+msgid "Saved %d-char %dx%d font file on %s\n"
+msgstr "%d-χαρακτ. της γραμματοσειράς %dx%d διασώθηκαν στο αρχείο %s\n"
+
+#: src/setkeycodes.c:21
+msgid ""
+"usage: setkeycode scancode keycode ...\n"
+" (where scancode is either xx or e0xx, given in hexadecimal,\n"
+"  and keycode is given in decimal)\n"
+msgstr ""
+"χρήση: setkeycode scancode keycode ...\n"
+" (όπου ο scancode είναι xx ή e0xx, σε δεκαεξαδική μορφή,\n"
+"  και ο keycode σε δεκαδική)\n"
+
+#: src/setkeycodes.c:43
+msgid "even number of arguments expected"
+msgstr "αναμενόταν ζυγός αριθμός ορισμάτων "
+
+#: src/setkeycodes.c:50
+msgid "error reading scancode"
+msgstr "σφάλμα ανάγνωσης κωδικού σάρωσης"
+
+#: src/setkeycodes.c:56
+msgid "code outside bounds"
+msgstr "κωδικός εκτός ορίων"
+
+#: src/setkeycodes.c:59
+#, c-format
+msgid "failed to set scancode %x to keycode %d\n"
+msgstr "αποτυχία απόδοσης του κωδικού σάρωσης %x στον κωδικό πλήκτρου %d\n"
+
+#: src/setleds.c:25
+#, c-format
+msgid ""
+"Usage:\n"
+"\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n"
+"Thus,\n"
+"\tsetleds +caps -num\n"
+"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n"
+"The settings before and after the change (if any) are reported\n"
+"when the -v option is given or when no change is requested.\n"
+"Normally, setleds influences the vt flag settings\n"
+"(and these are usually reflected in the leds).\n"
+"With -L, setleds only sets the leds, and leaves the flags alone.\n"
+"With -D, setleds sets both the flags and the default flags, so\n"
+"that a subsequent reset will not change the flags.\n"
+msgstr ""
+"Χρήση:\n"
+"\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n"
+"Επίσης,\n"
+"\tsetleds +caps -num\n"
+"θα ενεργοποιήσει το CapsLock, θα καθαρίσει το NumLock\n"
+"και θα αφήσει το ScrollLock αμετάβλητο.\n"
+"Οι ρυθμίσεις πριν και μετά την αλλαγή (αν υπάρξει) αναφέρονται\n"
+"όταν δοθεί η επιλογή -v ή όταν ουδεμία αλλαγή ζητηθεί.\n"
+"Κανονικά, η setleds επηρεάζει τις ρυθμίσεις σημαίας του vt\n"
+"(και αυτές συνήθως αντανακλώνται στις φωτοδιόδους).\n"
+"Με -L, η setleds ρυθμίζει τις φωτοδιόδους χωρίς να επηρεάσει τις σημαίες.\n"
+"Με -D, η setleds ρυθμίζει και τις σημαίες και τη προεπιλογή σημαιών, έτσι\n"
+"μια επακόλουθη επανάταξη δε θα αλλάξει τις σημαίες.\n"
+
+#: src/setleds.c:47
+msgid "on "
+msgstr "ενεργό"
+
+#: src/setleds.c:47
+msgid "off"
+msgstr "ανενεργό"
+
+#: src/setleds.c:90
+msgid "Error reading current led setting. Maybe stdin is not a VT?\n"
+msgstr "Σφάλμα ανάγνωσης τρέχουσας ρύθμισης φωτοδιόδων. Μήπως η κανονική είσοδος δεν είναι VT;\n"
+
+#: src/setleds.c:109
+msgid "Error reading current flags setting. Maybe you are not on the console?\n"
+msgstr "Σφάλμα ανάγνωσης τρέχουσας ρύθμισης σημαιών. Μήπως δεν είστε στην κονσόλα;\n"
+
+#: src/setleds.c:123 src/setleds.c:138
+msgid "Error reading current led setting from /dev/kbd.\n"
+msgstr "Σφάλμα ανάγνωσης τρέχουσας ρύθμισης φωτοδιόδων από το /dev/kbd.\n"
+
+#: src/setleds.c:127
+msgid "KIOCGLED unavailable?\n"
+msgstr "KIOCGLED μη διαθέσιμο;\n"
+
+#: src/setleds.c:142
+msgid "KIOCSLED unavailable?\n"
+msgstr "KIOCSLED μη διαθέσιμο;\n"
+
+#: src/setleds.c:169
+msgid "Error opening /dev/kbd.\n"
+msgstr "Σφάλμα κατά το άνοιγμα του /dev/kbd.\n"
+
+#: src/setleds.c:201
+msgid "Error resetting ledmode\n"
+msgstr "Σφάλμα επανάταξης ledmode\n"
+
+#: src/setleds.c:210
+msgid "Current default flags:  "
+msgstr "Τρέχουσα προεπιλογή σημαιών:  "
+
+#: src/setleds.c:214
+msgid "Current flags:          "
+msgstr "Τρέχουσες σημαίες:          "
+
+#: src/setleds.c:218
+msgid "Current leds:           "
+msgstr "Τρέχουσες φωτοδίοδοι:  "
+
+#: src/setleds.c:254 src/setmetamode.c:94
+#, c-format
+msgid ""
+"unrecognized argument: _%s_\n"
+"\n"
+msgstr ""
+"μη αναγνωρισμένα ορίσματα: _%s_\n"
+"\n"
+
+#: src/setleds.c:263
+msgid "Old default flags:    "
+msgstr "Παλαιά προεπιλογή σημαιών:      "
+
+#: src/setleds.c:265
+msgid "New default flags:    "
+msgstr "Νέα προεπιλεγή σημαιών:       "
+
+#: src/setleds.c:272
+msgid "Old flags:            "
+msgstr "Παλαιές σημαίες:           "
+
+#: src/setleds.c:274
+msgid "New flags:            "
+msgstr "Νέες σημαίες:          "
+
+#: src/setleds.c:288 src/setleds.c:297
+msgid "Old leds:             "
+msgstr "Παλαιές φωτοδίοδοι:   "
+
+#: src/setleds.c:290 src/setleds.c:299
+msgid "New leds:             "
+msgstr "Νέες φωτοδίοδοι:  "
+
+#: src/setmetamode.c:20
+msgid ""
+"Usage:\n"
+"\tsetmetamode [ metabit | meta | bit | escprefix | esc | prefix ]\n"
+"Each vt has his own copy of this bit. Use\n"
+"\tsetmetamode [arg] < /dev/ttyn\n"
+"to change the settings of another vt.\n"
+"The setting before and after the change are reported.\n"
+msgstr ""
+"Χρήση:\n"
+"\tsetmetamode [ metabit | meta | bit | escprefix | esc | prefix ]\n"
+"Κάθε vt έχει αντίγραφο αυτού του bit. Χρησιμοποιείστε\n"
+"\tsetmetamode [όρισμα] < /dev/ttyn\n"
+"για ν' αλλάξετε τις ρυθμίσεις ενός άλλου vt.\n"
+"Οι ρυθμίσεις πριν και μετά τις αλλαγές εμφανίζονται υπό μορφή αναφοράς.\n"
+
+#: src/setmetamode.c:36
+msgid "Meta key sets high order bit\n"
+msgstr "Το πλήκτρο Meta ενεργοποιεί το bit υψηλής τάξεως\n"
+
+#: src/setmetamode.c:39
+msgid "Meta key gives Esc prefix\n"
+msgstr "Το πλήκτρο Meta δημιουργεί πρόθεμα Esc\n"
+
+#: src/setmetamode.c:42
+msgid "Strange mode for Meta key?\n"
+msgstr "Περίεργη κατάσταση για ένα πλήκτρο Meta;\n"
+
+#: src/setmetamode.c:78
+msgid "Error reading current setting. Maybe stdin is not a VT?\n"
+msgstr "Σφάλμα ανάγνωσης τρέχουσας ρύθμισης. Ισως η κανονική είσοδος δεν είναι ένα VT.\n"
+
+#: src/setmetamode.c:98
+msgid "old state:    "
+msgstr "παλαιά κατάσταση:        "
+
+#: src/setmetamode.c:104
+msgid "new state:    "
+msgstr "νέα κατάσταση:       "
+
+#: src/setvesablank.c:23
+#, c-format
+msgid "usage: %s\n"
+msgstr "χρήση: %s\n"
+
+#: src/showconsolefont.c:31
+msgid "failed to restore original translation table\n"
+msgstr "αποτυχία αποκατάστασης αρχικού πίνακα μετάφρασης\n"
+
+#: src/showconsolefont.c:36
+msgid "failed to restore original unimap\n"
+msgstr "αποτυχία αποκατάστασης αρχικού unimap\n"
+
+#: src/showconsolefont.c:54
+msgid "cannot change translation table\n"
+msgstr "αδυνατώ ν' αλλάξω τον πίνακα μετάφρασης\n"
+
+#: src/showconsolefont.c:61
+#, c-format
+msgid "%s: out of memory?\n"
+msgstr "%s: εξαντλημένη μνήμη;\n"
+
+#: src/showconsolefont.c:102
+msgid ""
+"usage: showconsolefont [-v|-V]\n"
+"(probably after loading a font with `setfont font')\n"
+msgstr ""
+"χρήση: showconsolefont [-v]-V]\n"
+"(πιθανώς μετά τη φόρτωση γραμματοσειράς με `setfont font')\n"
+
+#: src/showkey.c:42
+msgid "?UNKNOWN?"
+msgstr ";ΑΓΝΩΣΤΟ;"
+
+#: src/showkey.c:44
+#, c-format
+msgid "kb mode was %s\n"
+msgstr "Η κατάσταση kb ήταν %s\n"
+
+#: src/showkey.c:46
+msgid ""
+"[ if you are trying this under X, it might not work\n"
+"since the X server is also reading /dev/console ]\n"
+msgstr ""
+"[ αν το προσπαθείτε στα Χ, ίσως να μη δουλεύει\n"
+"αφού κι ο εξυπηρετητής Χ διαβάζει επίσης το /dev/console ]\n"
+
+#: src/showkey.c:65
+#, c-format
+msgid "caught signal %d, cleaning up...\n"
+msgstr "ελήφθη το σήμα %d, καθαρισμός...\n"
+
+#: src/showkey.c:79
+#, c-format
+msgid ""
+"showkey version %s\n"
+"\n"
+"usage: showkey [options...]\n"
+"\n"
+"valid options are:\n"
+"\n"
+"\t-h --help\tdisplay this help text\n"
+"\t-a --ascii\tdisplay the decimal/octal/hex values of the keys\n"
+"\t-s --scancodes\tdisplay only the raw scan-codes\n"
+"\t-k --keycodes\tdisplay only the interpreted keycodes (default)\n"
+msgstr ""
+"showkey έκδοση %s\n"
+"\n"
+"χρήση: showkey [επιλογές...]\n"
+"\n"
+"έγκυρες επιλογές είναι:\n"
+"\n"
+"\t-h --help\tεμφάνιση αυτού εδώ του κειμένου βοήθειας\n"
+"\t-a --ascii\tεμφάνιση δεκαδικών/οκταδικών/εξαδικών τιμών των πλήκτρων\n"
+"\t-s --scancodes\tεμφάνιση μόνον των ακατέργαστων κωδικών σάρωσης\n"
+"\t-k --keycodes\tεμφάνιση μόνον των διερμηνευμένων κωδικών πλήκτρων (προεπιλογή)\n"
+
+#: src/showkey.c:157
+msgid ""
+"\n"
+"Press any keys - Ctrl-D will terminate this program\n"
+"\n"
+msgstr ""
+"\n"
+"Πατήστε οιαδήποτε πλήκτρα - Ctrl-D θα τερματίσει το πρόγραμμα\n"
+"\n"
+
+#: src/showkey.c:226
+msgid "press any key (program terminates 10s after last keypress)...\n"
+msgstr "πατήστε ένα πλήκτρο (το πρόγραμμα τερματίζεται 10s μετά τελευταίο πάτημα)..\n"
+
+#: src/showkey.c:234
+#, c-format
+msgid "keycode %3d %s\n"
+msgstr "κωδικός πλήκτρου %3d %s\n"
+
+#: src/showkey.c:236
+msgid "release"
+msgstr "απελευθέρωση"
+
+#: src/showkey.c:237
+msgid "press"
+msgstr "πάτημα"
+
+#: src/version.h:18
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s από %s\n"
diff --git a/po/nl.po b/po/nl.po
index a5917a1..d69177f 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,30 +1,33 @@
-# SOME DESCRIPTIVE TITLE.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# Dutch translation of kbd.
+# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+# This file is distributed under the same license as the kbd package.
+# Elros Cyriatan <cyriatan@fastmail.fm>, 2003, 2004.
+# 
+# 
 msgid ""
 msgstr ""
-"Project-Id-Version: kbd 0.99\n"
-"POT-Creation-Date: 1999-10-08 20:28+0200\n"
-"PO-Revision-Date: 1999-03-08 11:58+0100\n"
-"Last-Translator: Andries Brouwer <aeb@cwi.nl>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"Project-Id-Version: kbd 1.08\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2002-10-25 09:40-0400\n"
+"PO-Revision-Date: 2004-01-03 14:46+0100\n"
+"Last-Translator: Elros Cyriatan <cyriatan@fastmail.fm>\n"
+"Language-Team: Dutch <vertaling@nl.linux.org>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: ENCODING\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
 
 #: openvt/openvt.c:67
 #, c-format
 msgid "openvt: %s: illegal vt number\n"
-msgstr "openvt: %s: niet-toegestaan VT nummer\n"
+msgstr "openvt: %s: onjuist vt nummer\n"
 
 #: openvt/openvt.c:91
 msgid "openvt: only root can use the -u flag.\n"
-msgstr "openvt: alleen root mag de -u optie gebruiken\n"
+msgstr "openvt: alleen root kan de -u optie gebruiken.\n"
 
-#: openvt/openvt.c:105 src/getfd.c:63
+#: openvt/openvt.c:105 src/getfd.c:68
 msgid "Couldnt get a file descriptor referring to the console\n"
-msgstr "Het lukte me niet een referentie (fd) naar het console te krijgen\n"
+msgstr "Kon geen bestandsbeschrijver opvragen die verwijst naar de console\n"
 
 #: openvt/openvt.c:117
 msgid "openvt: cannot find a free vt\n"
@@ -33,187 +36,193 @@
 #: openvt/openvt.c:122
 #, c-format
 msgid "openvt: cannot check whether vt %d is free\n"
-msgstr "openvt: kan niet nagaan of vt %d vrij is\n"
+msgstr "openvt: kan niet controleren of vt %d vrij is\n"
 
 #: openvt/openvt.c:123 openvt/openvt.c:128
 msgid "        use `openvt -f' to force.\n"
-msgstr "        gebruik `openvt -f' om dit af te dwingen.\n"
+msgstr "        gebruik `openvt -f' om te forceren.\n"
 
 #: openvt/openvt.c:127
 #, c-format
 msgid "openvt: vt %d is in use; command aborted\n"
-msgstr "openvt: vt %d is in gebruik; commando afgebroken\n"
+msgstr "openvt: vt %d is in gebruik; opdracht afgebroken\n"
 
 #: openvt/openvt.c:155
 #, c-format
 msgid "openvt: Unable to open %s: %s\n"
-msgstr "openvt: Kan %s niet openen: %s\n"
+msgstr "openvt: kan %s niet openen: %s\n"
 
 #: openvt/openvt.c:167
 #, c-format
 msgid "openvt: Cannot open %s read/write (%s)\n"
-msgstr "openvt: Kan %s niet openen voor lezen en schrijven (%s)\n"
+msgstr "openvt: kan %s niet lezen/schrijven openen (%s)\n"
 
 #: openvt/openvt.c:205
 #, c-format
 msgid "openvt: using VT %s\n"
-msgstr "openvt: ik gebruik VT %s\n"
+msgstr "openvt: VT %s wordt gebruikt\n"
 
 #: openvt/openvt.c:217
 #, c-format
 msgid "openvt: Unable to set new session (%s)\n"
-msgstr "openvt: Kan geen nieuwe sessie starten (%s)\n"
+msgstr "openvt: kan geen nieuwe sessie instellen (%s)\n"
 
 #: openvt/openvt.c:225
 #, c-format
 msgid ""
 "\n"
 "openvt: could not open %s R/W (%s)\n"
-msgstr "\nopenvt: Kan %s niet openen voor lezen en schrijven (%s)\n"
+msgstr ""
+"\n"
+"openvt: kon %s niet lezen/schrijven openen (%s)\n"
 
 #: openvt/openvt.c:281
-#, fuzzy, c-format
+#, c-format
 msgid "openvt: could not deallocate console %d\n"
-msgstr "openvt: kon console %d niet opruimen\n"
+msgstr "openvt: kon console %d niet vrijgeven\n"
 
-#: src/chvt.c:22
+#: src/chvt.c:28
 msgid "usage: chvt N\n"
-msgstr "aanroep: chvt N\n"
+msgstr "gebruik: chvt N\n"
 
-#: src/deallocvt.c:35
+#: src/deallocvt.c:33
+#, c-format
+msgid "%s: unknown option\n"
+msgstr "%s: onbekende optie\n"
+
+#: src/deallocvt.c:45
 #, c-format
 msgid "%s: deallocating all unused consoles failed\n"
-msgstr "%s: het opruimen van alle ongebruikte consoles faalde\n"
+msgstr "%s: vrijgeven van alle ongebruikte consoles mislukt\n"
 
-#: src/deallocvt.c:43
+#: src/deallocvt.c:53
 #, c-format
 msgid "%s: 0: illegal VT number\n"
-msgstr "%s: 0: niet-toegestaan VT nummer\n"
+msgstr "%s: 0: onjuist VT nummer\n"
 
-#: src/deallocvt.c:46
+#: src/deallocvt.c:57
 #, c-format
 msgid "%s: VT 1 is the console and cannot be deallocated\n"
-msgstr "%s: VT 1 is het console en kan niet opgeruimd worden\n"
+msgstr "%s: VT 1 is de console en kan niet worden vrijgegeven\n"
 
-#: src/deallocvt.c:51
+#: src/deallocvt.c:63
 #, c-format
 msgid "%s: could not deallocate console %d\n"
-msgstr "%s: kon console %d niet opruimen\n"
+msgstr "%s: kon console %d niet vrijgeven\n"
 
-#: src/dumpkeys.c:64
+#: src/dumpkeys.c:63
 #, c-format
 msgid "KDGKBENT error at index 0 in table %d: "
-msgstr "KDGKBENT fout bij index 0 in tabel %d: "
+msgstr "KDGKBENT fout op positie 0 in tabel %d: "
 
-#: src/dumpkeys.c:77
+#: src/dumpkeys.c:76
 #, c-format
 msgid "%s: cannot find any keymaps?\n"
-msgstr "%s: kan geen toetsenbordtabellen vinden?\n"
+msgstr "%s: kan geen toetsenbordkaarten vinden?\n"
 
-#: src/dumpkeys.c:82
+#: src/dumpkeys.c:81
 #, c-format
 msgid "%s: plain map not allocated? very strange ...\n"
-msgstr "%s: geen gewone toetsenbordtabel? vreemd ...\n"
+msgstr "%s: ruwe afbeelding niet toegewezen? erg vreemd ...\n"
 
-#: src/dumpkeys.c:114
+#: src/dumpkeys.c:113
 #, c-format
 msgid "KDGKBENT error at index %d in table %d: "
-msgstr "KDGKBENT fout bij index %d in tabel %d: "
+msgstr "KDGKBENT fout op positie %d in tabel %d: "
 
-#: src/dumpkeys.c:242
+#: src/dumpkeys.c:241
 #, c-format
 msgid "keycode range supported by kernel:           1 - %d\n"
-msgstr "deze kernel kent de toetscodes in het interval: 1 - %d\n"
+msgstr "toetscode bereik ondersteund door kernel:           1 - %d\n"
 
-#: src/dumpkeys.c:244
+#: src/dumpkeys.c:243
 #, c-format
 msgid "max number of actions bindable to a key:         %d\n"
-msgstr "aantal bekende toetsacties:                     %d\n"
+msgstr "max aantal acties verbindbaar met een toets:         %d\n"
 
-#: src/dumpkeys.c:247
+#: src/dumpkeys.c:246
 #, c-format
 msgid "number of keymaps in actual use:                 %d\n"
-msgstr "aantal toetsenbordtabellen nu in gebruik:       %d\n"
+msgstr "aantal toetsenbordkaarten dat nu wordt gebruikt:                 %d\n"
 
-#: src/dumpkeys.c:250
+#: src/dumpkeys.c:249
 #, c-format
 msgid "of which %d dynamically allocated\n"
-msgstr "waarvan %d dynamisch gealloceerd\n"
+msgstr "waarvan %d dynamisch toegewezen\n"
 
-#: src/dumpkeys.c:251
+#: src/dumpkeys.c:250
 msgid "ranges of action codes supported by kernel:\n"
-msgstr "intervallen van actiecodes die deze kernel kent:\n"
+msgstr "bereiken van actiecodes ondersteund door kernel:\n"
 
-#: src/dumpkeys.c:256
+#: src/dumpkeys.c:255
 #, c-format
 msgid "number of function keys supported by kernel: %d\n"
-msgstr "aantal functietoetsen ondersteund door deze kernel: %d\n"
+msgstr "aantal functietoetsen ondersteund door kernel: %d\n"
 
-#: src/dumpkeys.c:259
+#: src/dumpkeys.c:258
 #, c-format
 msgid "max nr of compose definitions: %d\n"
-msgstr "maximum aantal definities van samengestelde symbolen: %d\n"
+msgstr "max aantal samenstel definities: %d\n"
 
-#: src/dumpkeys.c:261
+#: src/dumpkeys.c:260
 #, c-format
 msgid "nr of compose definitions in actual use: %d\n"
-msgstr "huidig aantal definities van samengestelde symbolen: %d\n"
+msgstr "aantal samenstel definities dat nu wordt gebruikt: %d\n"
 
-#: src/dumpkeys.c:285
+#: src/dumpkeys.c:284
 #, c-format
 msgid ""
 "Symbols recognized by %s:\n"
 "(numeric value, symbol)\n"
 "\n"
 msgstr ""
-"Symbolen die %s kent:\n"
-"(getalswaarde, symbool)\n"
+"Symbolen herkend door %s:\n"
+"(numerieke waarde, symbool)\n"
 "\n"
 
-#: src/dumpkeys.c:298
+#: src/dumpkeys.c:297
 msgid ""
 "\n"
 "The following synonyms are recognized:\n"
 "\n"
 msgstr ""
 "\n"
-"De volgende synoniemen kunnen gebruikt worden:\n"
+"De volgende synoniemen worden herkend:\n"
 "\n"
 
-#: src/dumpkeys.c:300
+#: src/dumpkeys.c:299
 #, c-format
 msgid "%-15s for %s\n"
 msgstr "%-15s voor %s\n"
 
-#: src/dumpkeys.c:302
+#: src/dumpkeys.c:301
 msgid ""
 "\n"
 "Recognized modifier names and their column numbers:\n"
 msgstr ""
 "\n"
-"Namen van Shift-achtige toetsen en de bijbehorende kolommen:\n"
+"Herkende optietoets namen en hun kolomnummers:\n"
 
-#: src/dumpkeys.c:365
+#: src/dumpkeys.c:364
 #, c-format
 msgid "# not alt_is_meta: on keymap %d key %d is bound to"
-msgstr "# geen alt_is_meta: op tabel %d is toets %d toegewezen aan"
+msgstr "# niet alt_is_meta: op toetsenkaart %d is toets %d gebonden aan"
 
-#: src/dumpkeys.c:440
+#: src/dumpkeys.c:439
 msgid "impossible: not meta?\n"
-msgstr "dit kan niet: niet meta?\n"
+msgstr "onmogelijk: niet meta?\n"
 
-#: src/dumpkeys.c:497
+#: src/dumpkeys.c:496
 #, c-format
 msgid "KDGKBSENT failed at index %d: "
-msgstr "KDGKBSENT faalde bij index %d: "
+msgstr "KDGKBSENT mislukt op positie %d: "
 
-#: src/dumpkeys.c:517
+#: src/dumpkeys.c:516
 #, c-format
 msgid "dumpkeys version %s"
 msgstr "dumpkeys versie %s"
 
-#: src/dumpkeys.c:518
-#, fuzzy
+#: src/dumpkeys.c:517
 msgid ""
 "\n"
 "usage: dumpkeys [options...]\n"
@@ -232,49 +241,47 @@
 "\t-c --charset="
 msgstr ""
 "\n"
-"aanroep: dumpkeys [opties...]\n"
+"gebruik: dumpkeys [opties...]\n"
 "\n"
-"geldige opties:\n"
+"geldige opties zijn:\n"
 "\n"
-"\t-h --help\t    vertoon deze hulp tekst\n"
-"\t-i --short-info\t    geef informatie over de toetsenbordbesturing\n"
-"\t-l --long-info\t    geef het bovenstaande, en ook de lijst bekende "
-"symbolen\n"
-"\t-n --numeric\t    geef de toetsenbordtabel in hexadecimaal\n"
-"\t-f --full-table\t    gebruik geen afkortingen, een rij per toestcode\n"
-"\t-1 --separate-lines een regel per paar (shift-toets,toetscode)\n"
-"\t   --funcs-only\t    geef alleen de functietoetsdefinities\n"
-"\t   --keys-only\t    geef alleen de toetsenbordtabel\n"
-"\t   --compose-only   geef alleen de lijst met samengestelde symbolen\n"
-"\t-c --charset=iso-8859-{1,2,3,4,5,7,8,9}\n"
-"\t             koi8-{r,u}\t\t\n"
-"\t\t\t    interpreteer de symboolnamen als passend in de genoemde standaard\n"
+"\t-h --help\t    deze hulptekst weergeven\n"
+"\t-i --short-info\t    informatie over toetsenbord stuurprogramma weergeven\n"
+"\t-l --long-info\t    bovenstaande weergeven en symbolen die bekend zijn bij loadkeys\n"
+"\t-n --numeric\t    toetsentabel in hexadecimale notatie weergeven\n"
+"\t-f --full-table\t    niet korte notaties gebruiken, één regel per toetscode\n"
+"\t-1 --separate-lines één regel per (optietoets,toetscode) paar\n"
+"\t   --funcs-only\t    alleen de functietoets teksten weergeven\n"
+"\t   --keys-only\t    alleen toetsbindingen weergeven\n"
+"\t   --compose-only   alleen samenstel toetscombinaties weergeven\n"
+"\t-c --charset="
 
-#: src/dumpkeys.c:535
+#: src/dumpkeys.c:534
 msgid ""
 "\t\t\t    interpret character action codes to be from the\n"
 "\t\t\t    specified character set\n"
 msgstr ""
+"\t\t\t    teken-actiecodes interpreteren als zijnde van de\n"
+"\t\t\t    opgegeven tekenset\n"
 
 #: src/findfile.c:43
 #, c-format
 msgid "error executing  %s\n"
-msgstr "fout bij het uitvoeren van %s\n"
+msgstr "fout bij uitvoeren  %s\n"
 
-#: src/getkeycodes.c:17
+#: src/getkeycodes.c:18
 msgid "usage: getkeycodes\n"
-msgstr "aanroep: getkeycodes\n"
+msgstr "gebruik: getkeycodes\n"
 
-#: src/getkeycodes.c:33
+#: src/getkeycodes.c:39
 msgid "Plain scancodes xx (hex) versus keycodes (dec)\n"
-msgstr "Gewone scancodes xx (hex) met bijbehorende toetscodes (decimaal)\n"
+msgstr "Ruwe scancodes xx (hex) tegenover toetscodes (dec)\n"
 
-#: src/getkeycodes.c:34
+#: src/getkeycodes.c:40
 msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n"
-msgstr ""
-"0 is een fout; voor 1-88 (0x01-0x58) zijn scancode en toetscode gelijk\n"
+msgstr "0 is een fout; voor 1-88 (0x01-0x58) is scancode gelijk aan toetscode\n"
 
-#: src/getkeycodes.c:38
+#: src/getkeycodes.c:44
 msgid ""
 "\n"
 "\n"
@@ -282,843 +289,618 @@
 msgstr ""
 "\n"
 "\n"
-"Scancodes voorafgegaan door e0 (hex)\n"
+"Geëscapede scancodes e0 xx (hex)\n"
 
-#: src/getkeycodes.c:58
+#: src/getkeycodes.c:64
 #, c-format
 msgid "failed to get keycode for scancode 0x%x\n"
-msgstr "kon geen toetscode vinden bij scancode 0x%x\n"
+msgstr "opvragen toetscode voor scancode 0x%x mislukt\n"
 
-#: src/getunimap.c:45
+#: src/getunimap.c:49
 #, c-format
 msgid ""
 "Usage:\n"
 "\t%s [-s]\n"
-msgstr "Aanroep:\n\t%s [-s]\n"
+msgstr ""
+"Gebruik:\n"
+"\t%s [-s]\n"
 
-#: src/getunimap.c:66
-#, c-format
-msgid "strange... ct changed from %d to %d\n"
-msgstr "vreemd... # veranderde van %d in %d\n"
-
-#: src/kbd_mode.c:19
+#: src/kbd_mode.c:18
 msgid "usage: kbd_mode [-a|-u|-k|-s]\n"
-msgstr "aanroep: kbd_mode [-a|-u|-k|-s]\n"
+msgstr "gebruik: kbd_mode [-a|-u|-k|-s]\n"
 
-#: src/kbd_mode.c:39
+#: src/kbd_mode.c:41
 msgid "kbd_mode: error reading keyboard mode\n"
-msgstr "kbd_mode: kan de toetsenbordtoestend niet uitlezen\n"
+msgstr "kbd_mode: fout bij lezen toetsenbordmodus\n"
 
-#: src/kbd_mode.c:44
+#: src/kbd_mode.c:46
 msgid "The keyboard is in raw (scancode) mode\n"
-msgstr "Het toetsenbord levert ruwe scancodes af\n"
+msgstr "Het toetsenbord is in ruwe (scancode) modus\n"
 
-#: src/kbd_mode.c:47
+#: src/kbd_mode.c:49
 msgid "The keyboard is in mediumraw (keycode) mode\n"
-msgstr "Het toetsenbord levert toetscodes af\n"
+msgstr "Het toetsenbord is in middelruwe (toetscode) modus\n"
 
-#: src/kbd_mode.c:50
+#: src/kbd_mode.c:52
 msgid "The keyboard is in the default (ASCII) mode\n"
-msgstr "Het toetsenbord levert gewone letters af\n"
+msgstr "Het toetsenbord is in de standaard (ASCII) modus\n"
 
-#: src/kbd_mode.c:53
+#: src/kbd_mode.c:55
 msgid "The keyboard is in Unicode (UTF-8) mode\n"
-msgstr "Het toetsenbord levert Unicode symbolen af\n"
+msgstr "Het toetsenbord is in Unicode (UTF-8) modus\n"
 
-#: src/kbd_mode.c:56
+#: src/kbd_mode.c:58
 msgid "The keyboard is in some unknown mode\n"
-msgstr "Het toetsenbord levert iets onbekends af\n"
+msgstr "Het toetsenbord is in een onbekende modus\n"
 
-#: src/kbd_mode.c:74
+#: src/kbd_mode.c:76
 #, c-format
 msgid "%s: error setting keyboard mode\n"
-msgstr "%s: fout bij het instellen van de toetsenbord toestand\n"
+msgstr "%s: fout bij instellen toetsenbordmodus\n"
 
-#: src/kbdrate.c:139 src/kbdrate.c:272
+#: src/kbdrate.c:149 src/kbdrate.c:284
 #, c-format
 msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
-msgstr ""
+msgstr "Toetssnelheid ingesteld op %.1f cps (vertraging = %d ms)\n"
 
-#: src/kbdrate.c:247
+#: src/kbdrate.c:229
+msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+msgstr "Gebruik: kbdrate [-V] [-s] [-r frequentie] [-d vertraging]\n"
+
+#: src/kbdrate.c:259
 msgid "Cannot open /dev/port"
 msgstr "Kan /dev/port niet openen"
 
-#: src/kdfontop.c:152
-msgid "kdfontop.c: only width 8 supported\n"
-msgstr "kdfontop.c: alleen breedte 8 wordt ondersteund\n"
-
-#: src/kdfontop.c:178
+#: src/kdfontop.c:193
 msgid "bug: getfont called with count<256\n"
-msgstr "interne fout: getfont aangeroepen met count<256\n"
+msgstr "softwarefout: getfont aangeroepen met count<256\n"
 
-#: src/ksyms.c:1668
+#: src/kdfontop.c:252 src/xmalloc.c:14
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: geheugentekort\n"
+
+#: src/ksyms.c:1674
 #, c-format
 msgid "unknown charset %s - ignoring charset request\n"
-msgstr "onbekende standaard %s - invoerregel genegeerd\n"
+msgstr "onbekende tekenset %s - tekenset verzoek wordt genegeerd\n"
 
-#: src/ksyms.c:1740
+#: src/ksyms.c:1746
 #, c-format
 msgid "assuming iso-8859-1 %s\n"
-msgstr "ik zal %s uit iso-8859-1 nemen\n"
+msgstr "er wordt iso-8859-1 aangenomen %s\n"
 
-#: src/ksyms.c:1747
+#: src/ksyms.c:1753
 #, c-format
 msgid "assuming iso-8859-15 %s\n"
-msgstr "ik zal %s uit iso-8859-15 nemen\n"
+msgstr "er wordt iso-8859-15 aangenomen %s\n"
 
-#: src/ksyms.c:1754
+#: src/ksyms.c:1760
 #, c-format
 msgid "assuming iso-8859-2 %s\n"
-msgstr "ik zal %s uit iso-8859-2 nemen\n"
+msgstr "er wordt iso-8859-2 aangenomen %s\n"
 
-#: src/ksyms.c:1761
+#: src/ksyms.c:1767
 #, c-format
 msgid "assuming iso-8859-3 %s\n"
-msgstr "ik zal %s uit iso-8859-3 nemen\n"
+msgstr "er wordt iso-8859-3 aangenomen %s\n"
 
-#: src/ksyms.c:1768
+#: src/ksyms.c:1774
 #, c-format
 msgid "assuming iso-8859-4 %s\n"
-msgstr "ik zal %s uit iso-8859-4 nemen\n"
+msgstr "er wordt iso-8859-4 aangenomen %s\n"
 
-#: src/ksyms.c:1773
-#, c-format
+#: src/ksyms.c:1779
+#, fuzzy, c-format
 msgid "unknown keysym '%s'\n"
-msgstr "onbekend symbool '%s'\n"
+msgstr "onbekende keysym '%s'\n"
 
-#: src/ksyms.c:1808
+#: src/ksyms.c:1814
 #, c-format
 msgid "plus before %s ignored\n"
-msgstr ""
+msgstr "plus voor %s genegeerd\n"
 
-#: loadkeys.y:197
-#, c-format
-msgid "'%s' is not a function key symbol"
-msgstr "'%s' is geen functietoetssymbool"
-
-#: loadkeys.y:260
-#, c-format
-msgid "too many (%d) entries on one line"
-msgstr "teveel (%d) elementen op een regel"
-
-#: loadkeys.y:273
-msgid "too many keydefinitions on one line"
-msgstr "teveel toetsdefinities op een regel"
-
-#: loadkeys.y:292
-#, c-format
-msgid ""
-"loadkeys version %s\n"
-"\n"
-"Usage: loadkeys [option...] [mapfile...]\n"
-"\n"
-"valid options are:\n"
-"\n"
-"\t-c --clearcompose clear kernel compose table\n"
-"\t-d --default\t  load \""
-msgstr ""
-"loadkeys versie %s\n"
-"\n"
-"Aanroep: loadkeys [option...] [mapfile...]\n"
-"\n"
-"geldige opties zijn:\n"
-"\n"
-"\t-c --clearcompose clear kernel compose table\n"
-"\t-d --default\t  load \""
-
-#: loadkeys.y:368
-msgid "syntax error in map file\n"
-msgstr "Fout in het omnummerbestand\n"
-
-#: loadkeys.y:370
-msgid "key bindings not changed\n"
-msgstr "toetsinstellingen onveranderd\n"
-
-#: loadkeys.y:427
-msgid "includes nested too deeply"
-msgstr "include-bestanden te diep genest"
-
-#. start reading include file
-#: loadkeys.y:550
-#, c-format
-msgid "switching to %s\n"
-msgstr "ik lees nu van %s\n"
-
-#: loadkeys.y:556
-#, c-format
-msgid "cannot open include file %s"
-msgstr "Kan het include-bestand %s niet openen"
-
-#: loadkeys.y:603
-#, c-format
-msgid "Cannot find %s\n"
-msgstr "Kan het bestand %s niet vinden\n"
-
-#: loadkeys.y:616
-#, c-format
-msgid "cannot open file %s\n"
-msgstr "Kan het bestand %s niet openen\n"
-
-#: loadkeys.y:627
-#, c-format
-msgid "Loading %s\n"
-msgstr "Fout bij het lezen van %s\n"
-
-#: loadkeys.y:639
-#, c-format
-msgid "addmap called with bad index %d"
-msgstr "addmap aangeroepen met foute index %d"
-
-#: loadkeys.y:643
-#, c-format
-msgid "adding map %d violates explicit keymaps line"
-msgstr "het toevoegen van tabel %d is in strijd met de gegeven `keymaps' regel"
-
-#: loadkeys.y:657
-#, c-format
-msgid "killkey called with bad index %d"
-msgstr "killkey aangeroepen met foute index %d"
-
-#: loadkeys.y:659
-#, c-format
-msgid "killkey called with bad table %d"
-msgstr "killkey aangeroepen met foute tabel %d"
-
-#: loadkeys.y:673
-#, c-format
-msgid "addkey called with bad index %d"
-msgstr "addkey aangeroepen met foute index %d"
-
-#: loadkeys.y:675
-#, c-format
-msgid "addkey called with bad table %d"
-msgstr "addkey aangeroepen met foute tabel %d"
-
-#: loadkeys.y:715
-#, c-format
-msgid "%s: addfunc called with bad func %d\n"
-msgstr "%s: addfunc aangeroepen met foute func %d\n"
-
-#: loadkeys.y:735
-#, c-format
-msgid "%s: addfunc: func_buf overflow\n"
-msgstr "%s: addfunc: func_buf is te klein\n"
-
-#: loadkeys.y:753
-msgid "compose table overflow\n"
-msgstr "de compose-tabel is te klein\n"
-
-#: loadkeys.y:790
-#, c-format
-msgid "Keymap %d: Permission denied\n"
-msgstr "Toettabel %d: dat mag niet\n"
-
-#: loadkeys.y:799
-msgid "    FAILED"
-msgstr "    FAALDE"
-
-#: loadkeys.y:802
-#, c-format
-msgid "failed to bind key %d to value %d\n"
-msgstr "kon toets %d niet de waarde %d toekennen\n"
-
-#: loadkeys.y:813
-#, c-format
-msgid "deallocate keymap %d\n"
-msgstr "geef het geheugen van toetsdefinitietabel %d vrij\n"
-
-#: loadkeys.y:819
-#, c-format
-msgid "%s: could not deallocate keymap %d\n"
-msgstr "%s: kon toetsdefinitietabel %d niet opruimen\n"
-
-#: loadkeys.y:834
-#, c-format
-msgid "%s: cannot deallocate or clear keymap\n"
-msgstr "%s: kan toetsdefinitietabel niet vrijgeven of schoonvegen\n"
-
-#: loadkeys.y:845
-#, c-format
-msgid "%s: failed to restore keyboard mode\n"
-msgstr "%s: fout bij het herstellen van de toetsenbord toestand\n"
-
-#: loadkeys.y:848
-#, c-format
-msgid ""
-"%s: warning: this map uses Unicode symbols\n"
-"    (perhaps you want to do `kbd_mode -u'?)\n"
-msgstr ""
-"%s: waarschuwing: deze toetsenbordtabel gebruikt Unicode symbolen\n"
-"    (misschien wilt u `kbd_mode -u' zeggen?)\n"
-
-#: loadkeys.y:892
-#, c-format
-msgid "failed to bind string '%s' to function %s\n"
-msgstr "kon de string '%s' niet aan de functie %s binden\n"
-
-#: loadkeys.y:899
-#, c-format
-msgid "failed to clear string %s\n"
-msgstr "kon de string %s niet leegmaken\n"
-
-#: loadkeys.y:916
-msgid "too many compose definitions\n"
-msgstr "teveel definities van samengestelde symbolen\n"
-
-#: loadkeys.y:976
-msgid "impossible error in do_constant"
-msgstr "onmogelijke fout in do_constant"
-
-#: loadkeys.y:994
-#, c-format
-msgid ""
-"\n"
-"Changed %d %s and %d %s.\n"
-msgstr ""
-"\n"
-"Veranderde %d %s en %d %s.\n"
-
-#: loadkeys.y:995
-msgid "key"
-msgstr "toets"
-
-#: loadkeys.y:995
-msgid "keys"
-msgstr "toetsen"
-
-#: loadkeys.y:996
-msgid "string"
-msgstr "string"
-
-#: loadkeys.y:996
-msgid "strings"
-msgstr "strings"
-
-#: loadkeys.y:998
-#, c-format
-msgid "Loaded %d compose %s.\n"
-msgstr "%d %s voor samengestelde symbolen geladen\n"
-
-#: loadkeys.y:999
-msgid "definition"
-msgstr "definitie"
-
-#: loadkeys.y:999
-msgid "definitions"
-msgstr "definities"
-
-#: loadkeys.y:1001
-msgid "(No change in compose definitions.)\n"
-msgstr "(Geen wijziging in definities van samengestelde symbolen.)\n"
-
-#: loadkeys.y:1034
-#, c-format
-msgid "loadkeys: don't know how to compose for %s\n"
-msgstr ""
-"loadkeys: ik ken de definities van de samengestelde symbolen voor %s niet\n"
-
-#: src/loadunimap.c:57
+#: src/loadunimap.c:62
 #, c-format
 msgid "usage: %s [-o map.orig] [map-file]\n"
-msgstr "aanroep: %s [-o toetsbestand.oud] [toetsbestand]\n"
+msgstr "gebruik: %s [-o kaart.orig] [kaartbestand]\n"
 
-#: src/loadunimap.c:109
+#: src/loadunimap.c:152 src/loadunimap.c:163
 #, c-format
-msgid "trying hashlevel %d\n"
-msgstr "ik probeer hash niveau %d\n"
+msgid "Bad input line: %s\n"
+msgstr "Slechte invoerregel: %s\n"
 
-#: src/loadunimap.c:146
+#: src/loadunimap.c:172
+#, c-format
+msgid "%s: Glyph number (0x%x) larger than font length\n"
+msgstr "%s: Glyph getal (0x%x) groter dan lengte lettertype\n"
+
+#: src/loadunimap.c:178
+#, c-format
+msgid "%s: Bad end of range (0x%x)\n"
+msgstr "%s: Slecht einde van bereik (0x%x)\n"
+
+#: src/loadunimap.c:208 src/psfxtable.c:175
+#, c-format
+msgid "%s: Bad Unicode range corresponding to font position range 0x%x-0x%x\n"
+msgstr "%s: Slecht Unicode bereik corresponderend met lettertype-positie bereik 0x%x-0x%x\n"
+
+#: src/loadunimap.c:215 src/psfxtable.c:182
+#, c-format
+msgid "%s: Unicode range U+%x-U+%x not of the same length as font position range 0x%x-0x%x\n"
+msgstr "%s: Unicode bereik U+%x-U+%x is niet van dezelfde lengte als lettertype-positie bereik 0x%x-0x%x\n"
+
+#: src/loadunimap.c:234 src/psfxtable.c:203
+#, c-format
+msgid "%s: trailing junk (%s) ignored\n"
+msgstr "%s: rotzooi (%s) aan het einde genegeerd\n"
+
+#: src/loadunimap.c:251
 #, c-format
 msgid "Loading unicode map from file %s\n"
-msgstr "Zal Unicode toetsbestand %s laden\n"
+msgstr "Bezig met laden unicode kaart uit bestand %s\n"
 
-#: src/loadunimap.c:152
+#: src/loadunimap.c:257
 #, c-format
 msgid "%s: %s: Warning: line too long\n"
 msgstr "%s: %s: Waarschuwing: regel te lang\n"
 
-#: src/loadunimap.c:174 src/loadunimap.c:185
-#, c-format
-msgid "Bad input line: %s\n"
-msgstr "Invoer fout in de regel: %s\n"
-
-#: src/loadunimap.c:195
-#, c-format
-msgid "%s: Glyph number (0x%x) larger than font length\n"
-msgstr "%s: Tekennummer (0x%x) groter dan fontgrootte\n"
-
-#: src/loadunimap.c:201
-#, c-format
-msgid "%s: Bad end of range (0x%x)\n"
-msgstr "%s: Fout intervaleind (0x%x)\n"
-
-#: src/loadunimap.c:221 src/psfxtable.c:167
-#, c-format
-msgid ""
-"%s: Corresponding to a range of font positions, there should be a Unicode "
-"range\n"
-msgstr "%s: Bj een interval van fontposities hoort een Unicode interval\n"
-
-#: src/loadunimap.c:230 src/psfxtable.c:176
-#, c-format
-msgid "%s: Bad Unicode range corresponding to font position range 0x%x-0x%x\n"
-msgstr "%s: Fout Unicode interval bij fontpositieinterval 0x%x-0x%x\n"
-
-#: src/loadunimap.c:237 src/psfxtable.c:183
-#, c-format
-msgid ""
-"%s: Unicode range U+%x-U+%x not of the same length as font position range "
-"0x%x-0x%x\n"
-msgstr ""
-"%s: Unicode interval U+%x-U+%x niet even lang als fontpositie interval "
-"0x%x-0x%x\n"
-
-#: src/loadunimap.c:255 src/psfxtable.c:204
-#, c-format
-msgid "%s: trailing junk (%s) ignored\n"
-msgstr "%s: rommel (%s) aan het eind genegeerd\n"
-
-#: src/loadunimap.c:261
+#: src/loadunimap.c:267
 #, c-format
 msgid ""
 "%s: not loading empty unimap\n"
 "(if you insist: use option -f to override)\n"
 msgstr ""
-"%s: ik laad geen lege Unicodetabel\n"
-"(als je dat echt wilt, gebruik de -f [forceer] optie)\n"
+"%s: lege unikaart wordt niet geladen\n"
+"(als u dit echt wil, kunt u optie -f gebruiken)\n"
 
-#: src/loadunimap.c:282
-#, c-format
-msgid "%s: out of memory?\n"
-msgstr "%s: onvoldoende geheugen?\n"
-
-#: src/loadunimap.c:292
+#: src/loadunimap.c:288
 msgid "entry"
-msgstr "element"
+msgstr "ingang"
 
-#: src/loadunimap.c:292
+#: src/loadunimap.c:288
 msgid "entries"
-msgstr "elementen"
+msgstr "ingangen"
 
-#: src/loadunimap.c:318
+#: src/loadunimap.c:314
 #, c-format
 msgid "Saved unicode map on `%s'\n"
-msgstr "Heb de Unicodetabel weggeschreven in `%s'\n"
+msgstr "Unicode kaart opgeslagen op `%s'\n"
 
-#: src/loadunimap.c:338
+#: src/loadunimap.c:334
 msgid "Appended Unicode map\n"
-msgstr "Heb de Unicodetabel toegevoegd\n"
+msgstr "Unicode kaart achteraan toegevoegd\n"
 
-#: src/mapscrn.c:55
+#: src/mapscrn.c:66
 #, c-format
-msgid "usage: %s [-o map.orig] map-file\n"
-msgstr "aanroep: %s [-o toetsbestand.oud] toetsbestand\n"
+msgid "usage: %s [-v] [-o map.orig] map-file\n"
+msgstr "gebruik: %s [-v] [-o kaart.orig] kaartbestand\n"
 
-#: src/mapscrn.c:72
+#: src/mapscrn.c:131
 #, c-format
 msgid "mapscrn: cannot open map file _%s_\n"
-msgstr "mapscrn: kan het omnummerbestand _%s_ niet openen\n"
+msgstr "mapscrn: kan kaartbestand _%s_ niet openen\n"
 
-#: src/mapscrn.c:77
+#: src/mapscrn.c:137
 msgid "Cannot stat map file"
-msgstr "De stat() aanroep faalt op het omnummerbestand"
+msgstr "Kan kaartbestand niet vinden"
 
-#: src/mapscrn.c:82
+#: src/mapscrn.c:142
 #, c-format
-msgid "Loading symbolic screen map from file %s\n"
-msgstr "Zal het symbolische omnummerbestand %s laden\n"
+msgid "Loading binary direct-to-font screen map from file %s\n"
+msgstr "Bezig met laden binaire direct-naar-lettertype schermkaart uit bestand %s\n"
 
-#: src/mapscrn.c:86
-msgid "Error parsing symbolic map\n"
-msgstr "Fout bij het ontleden van het symbolische omnummerbestand\n"
-
-#: src/mapscrn.c:90
+#: src/mapscrn.c:147 src/mapscrn.c:158
 #, c-format
-msgid "Loading binary screen map from file %s\n"
-msgstr "Zal het binaire omnummerbestand %s laden\n"
-
-#: src/mapscrn.c:94
-msgid "Cannot read map from file"
-msgstr "Fout bij het lezen van het omnummerbestand"
-
-#: src/mapscrn.c:107
-#, c-format
-msgid "Loaded screen map from `%s'\n"
-msgstr "Afbeeldingsbestand uit `%s' geladen\n"
+msgid "Error reading map from file `%s'\n"
+msgstr "Fout bij lezen kaart uit bestand `%s'\n"
 
 #: src/mapscrn.c:153
 #, c-format
-msgid "mapscrn: format error detected in _%s_\n"
-msgstr "mapscrn: syntax fout ontdekt in _%s_\n"
+msgid "Loading binary unicode screen map from file %s\n"
+msgstr "Bezig met laden binaire unicode schermkaart uit bestand %s\n"
 
-#: src/mapscrn.c:176
-msgid "Error writing map to file"
-msgstr "Fout bij het schrijven van het omnummerbestand"
+#: src/mapscrn.c:165
+#, c-format
+msgid "Loading symbolic screen map from file %s\n"
+msgstr "Bezig met laden symbolische schermkaart uit bestand %s\n"
 
-#: src/mapscrn.c:182
+#: src/mapscrn.c:169
+#, c-format
+msgid "Error parsing symbolic map from `%s', line %d\n"
+msgstr "Fout bij verwerken symbolische kaart uit `%s', regel %d\n"
+
+#: src/mapscrn.c:273 src/mapscrn.c:278
+msgid "Error writing map to file\n"
+msgstr "Fout bij schrijven kaart naar bestand\n"
+
+#: src/mapscrn.c:282
+msgid "Cannot read console map\n"
+msgstr "Kan console kaart niet lezen\n"
+
+#: src/mapscrn.c:288
 #, c-format
 msgid "Saved screen map in `%s'\n"
-msgstr "Huidige omnummering weggeschreven in het bestand `%s'\n"
+msgstr "Schermkaart opgeslagen in `%s'\n"
 
-#: src/psffontop.c:52
+#: src/psffontop.c:66
 #, c-format
 msgid "%s: short ucs2 unicode table\n"
-msgstr "%s: te korte UCS2 Unicode tabel\n"
+msgstr "%s: korte ucs2 unicode tabel\n"
 
-#: src/psffontop.c:79
+#: src/psffontop.c:87
 #, c-format
 msgid "%s: short utf8 unicode table\n"
-msgstr "%s: te korte UTF-8 Unicode tabel\n"
+msgstr "%s: korte utf8 unicode tabel\n"
 
-#: src/psffontop.c:94
+#: src/psffontop.c:90
 #, c-format
 msgid "%s: bad utf8\n"
-msgstr "%s: incorrect UTF-8\n"
+msgstr "%s: slechte utf8\n"
 
-#: src/psffontop.c:119
+#: src/psffontop.c:93
+#, c-format
+msgid "%s: unknown utf8 error\n"
+msgstr "%s: onbekende utf8 fout\n"
+
+#: src/psffontop.c:124
 #, c-format
 msgid "%s: short unicode table\n"
-msgstr "%s: te korte Unicode tabel\n"
+msgstr "%s: korte unicode tabel\n"
 
-#: src/psffontop.c:198
+#: src/psffontop.c:204
 #, c-format
 msgid "%s: Error reading input font"
-msgstr "%s: Fout bij het lezen van het font"
+msgstr "%s: Fout bij lezen invoerlettertype"
 
-#: src/psffontop.c:212
+#: src/psffontop.c:218
 #, c-format
 msgid "%s: Bad call of readpsffont\n"
-msgstr ""
+msgstr "%s: Slechte aanroep van readpsffont\n"
 
-#: src/psffontop.c:227
+#: src/psffontop.c:233
 #, c-format
 msgid "%s: Unsupported psf file mode (%d)\n"
-msgstr "%s: Niet ondersteund psf bestand\n"
+msgstr "%s: Niet-ondersteunde psf bestandsmodus (%d)\n"
 
-#: src/psffontop.c:243
+#: src/psffontop.c:251
 #, c-format
 msgid "%s: Unsupported psf version (%d)\n"
-msgstr "%s: Niet ondersteund psf bestand\n"
+msgstr "%s: Niet-ondersteunde psf versie (%d)\n"
 
-#: src/psffontop.c:257
+#: src/psffontop.c:267
 #, c-format
 msgid "%s: zero input font length?\n"
-msgstr ""
+msgstr "%s: invoerlettertype lengte nul?\n"
 
-#: src/psffontop.c:262
+#: src/psffontop.c:272
 #, c-format
 msgid "%s: zero input character size?\n"
-msgstr "%s: lettergrootte 0?\n"
+msgstr "%s: invoer tekengrootte nul?\n"
 
-#: src/psffontop.c:268
+#: src/psffontop.c:278
 #, c-format
 msgid "%s: Input file: bad input length (%d)\n"
-msgstr "%s: Invoer heeft rare grootte (%d)\n"
+msgstr "%s: Invoerbestand: slechte invoerlengte (%d)\n"
 
-#: src/psffontop.c:295
-#, fuzzy, c-format
+#: src/psffontop.c:310
+#, c-format
 msgid "%s: Input file: trailing garbage\n"
-msgstr "Invoer heeft rare grootte\n"
+msgstr "%s: Invoerbestand: troep aan het einde\n"
 
-#: src/psffontop.c:328
+#: src/psffontop.c:348
 #, c-format
 msgid "appendunicode: illegal unicode %u\n"
-msgstr ""
+msgstr "appendunicode: ongeldige unicode %u\n"
 
-#: src/psfxtable.c:110
+#: src/psffontop.c:434
+msgid "Cannot write font file header"
+msgstr "Kan kop van lettertypebestand niet schrijven"
+
+#: src/psfxtable.c:109
 #, c-format
 msgid "%s: Warning: line too long\n"
 msgstr "%s: Waarschuwing: regel te lang\n"
 
-#: src/psfxtable.c:124 src/psfxtable.c:134
-#, fuzzy, c-format
+#: src/psfxtable.c:123 src/psfxtable.c:133
+#, c-format
 msgid "%s: Bad input line: %s\n"
-msgstr "Invoer fout in de regel: %s\n"
+msgstr "%s: Slechte invoerregel: %s\n"
 
-#: src/psfxtable.c:143
-#, fuzzy, c-format
+#: src/psfxtable.c:142
+#, c-format
 msgid "%s: Glyph number (0x%lx) past end of font\n"
-msgstr "%s: Tekennummer (0x%x) groter dan fontgrootte\n"
+msgstr "%s: Glyph getal (0x%lx) na einde van lettertype\n"
 
-#: src/psfxtable.c:148
-#, fuzzy, c-format
+#: src/psfxtable.c:147
+#, c-format
 msgid "%s: Bad end of range (0x%lx)\n"
-msgstr "%s: Fout intervaleind (0x%x)\n"
+msgstr "%s: Slecht einde van bereik (0x%lx)\n"
 
-#: src/psfxtable.c:256
-#, fuzzy, c-format
+#: src/psfxtable.c:166
+#, c-format
+msgid "%s: Corresponding to a range of font positions, there should be a Unicode range\n"
+msgstr "%s: Er moet een Unicode bereik zijn, corresponderend met een bereik van lettertype posities\n"
+
+#: src/psfxtable.c:255
+#, c-format
 msgid ""
 "Usage:\n"
 "\t%s infont intable outfont\n"
 msgstr ""
-"Aanroep: \n"
-"         %s psf-font Unicodetabel [uitvoer]\n"
+"Gebruik:\n"
+"\t%s in-lettertype in-tabel uit-lettertype\n"
 
-#: src/psfxtable.c:265
-#, fuzzy, c-format
+#: src/psfxtable.c:264
+#, c-format
 msgid ""
 "Usage:\n"
 "\t%s infont [outtable]\n"
 msgstr ""
-"Aanroep: \n"
-"         %s psf-font [uitvoer]\n"
+"Gebruik:\n"
+"\t%s in-lettertype [uit-tabel]\n"
 
-#: src/psfxtable.c:274
-#, fuzzy, c-format
+#: src/psfxtable.c:273
+#, c-format
 msgid ""
 "Usage:\n"
 "\t%s infont outfont\n"
 msgstr ""
-"Aanroep: \n"
-"         %s psf-font [uitvoer]\n"
+"Gebruik:\n"
+"\t%s in-lettertype uit-lettertype\n"
 
-#: src/psfxtable.c:297
+#: src/psfxtable.c:298
 #, c-format
 msgid ""
 "Usage:\n"
 "\t%s [-i infont] [-o outfont] [-it intable] [-ot outtable] [-nt]\n"
 msgstr ""
+"Gebruik:\n"
+"\t%s [-i in-lettertype] [-o uit-lettertype] [-it in-tabel] [-ot uit-tabel] [-nt]\n"
 
-#: src/psfxtable.c:356
-#, fuzzy, c-format
+#: src/psfxtable.c:358
+#, c-format
 msgid "%s: Bad magic number on %s\n"
-msgstr "%s: Fout magisch getal\n"
+msgstr "%s: Slecht magisch nummer op %s\n"
 
-#: src/psfxtable.c:371
+#: src/psfxtable.c:377
 #, c-format
 msgid "%s: psf file with unknown magic\n"
-msgstr ""
+msgstr "%s: psf bestand met onbekend magie\n"
 
-#: src/psfxtable.c:387
+#: src/psfxtable.c:393
 #, c-format
 msgid "%s: input font does not have an index\n"
-msgstr ""
+msgstr "%s: invoerlettertype heeft geen index\n"
 
-#: src/resizecons.c:149
+#: src/resizecons.c:153
 #, c-format
 msgid "resizecons: cannot find videomode file %s\n"
-msgstr "resizecons: kan videomode bestand %s niet vinden\n"
+msgstr "resizecons: kan geen grafische modus-bestand %s vinden\n"
 
-#: src/resizecons.c:168
+#: src/resizecons.c:172
 msgid "Invalid number of lines\n"
-msgstr "Ongeldig aantal regels\n"
+msgstr "Onjuist aantal regels\n"
 
-#: src/resizecons.c:234
+#: src/resizecons.c:238
 #, c-format
 msgid "Old mode: %dx%d  New mode: %dx%d\n"
-msgstr "Oud scherm: %dx%d  Nieuw scherm: %dx%d\n"
+msgstr "Oude modus: %dx%d  Nieuwe modus: %dx%d\n"
 
-#: src/resizecons.c:236
+#: src/resizecons.c:240
 #, c-format
 msgid "Old #scanlines: %d  New #scanlines: %d  Character height: %d\n"
-msgstr "Oud #scanlijnen: %d  Nieuw #scanlijnen: %d  Letterhoogte: %d\n"
+msgstr "Oude #scanregel: %d  Nieuwe #scanregels: %d  Tekenhoogte: %d\n"
 
-#: src/resizecons.c:247
+#: src/resizecons.c:251
 #, c-format
 msgid "resizecons: the command `%s' failed\n"
-msgstr "resizecons: het commando `%s' faalde\n"
+msgstr "resizecons: de opdracht `%s' is mislukt\n"
 
-#: src/resizecons.c:315
+#: src/resizecons.c:324
 #, c-format
-msgid ""
-"resizecons: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n"
-msgstr ""
-"resizecons: vergeet niet om TERM aan te passen (mogelijk tot con%dx%d of "
-"linux-%dx%d)\n"
+msgid "resizecons: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n"
+msgstr "resizecons: vergeet niet TERM te veranderen (mogelijk naar con%dx%d of linux-%dx%d)\n"
 
-#: src/resizecons.c:328
+#: src/resizecons.c:337
 msgid ""
 "resizecons:\n"
 "call is:  resizecons COLSxROWS  or:  resizecons COLS ROWS\n"
-"or: resizecons -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, "
-"60\n"
+"or: resizecons -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n"
 msgstr ""
 "resizecons:\n"
-"aanroep: resizecons COLSxROWS  of:  resizecons COLS ROWS\n"
-"of: resizecons -lines ROWS, waarbij ROWS een van de waarden 25, 28, 30, 34, "
-"36, 40, 44, 50, 60 heeft\n"
+"aanroep is:  resizecons KOLOMMENxRIJEN  of:  resizecons KOLOMMEN RIJEN\n"
+"of: resizecons -lines RIJEN, met RIJEN één van 25, 28, 30, 34, 36, 40, 44, 50, 60\n"
 
-#: src/resizecons.c:366
+#: src/resizecons.c:375
 msgid "resizecons: cannot get I/O permissions.\n"
-msgstr "resizecons: ik heb geen toestemming voor directe I/O\n"
+msgstr "resizecons: kan I/O toegangsrechten niet opvragen.\n"
 
-#: src/screendump.c:46
+#: src/screendump.c:48
 msgid "usage: screendump [n]\n"
-msgstr "aanroep: screendump [n]\n"
+msgstr "gebruik: screendump [n]\n"
 
-#: src/screendump.c:66
+#: src/screendump.c:78
 #, c-format
 msgid "Error reading %s\n"
-msgstr "Fout bij het lezen van %s\n"
+msgstr "Fout bij lezen %s\n"
 
-#: src/screendump.c:107
+#: src/screendump.c:126
 #, c-format
 msgid "couldn't read %s, and cannot ioctl dump\n"
-msgstr "kan %s niet lezen, en kan ook niet dumpen via een ioctl\n"
+msgstr "kon %s niet lezen, en kan ioctl niet weergeven\n"
 
 #. we tried this just to be sure, but TIOCLINUX
 #. function 0 has been disabled since 1.1.92
 #. Do not mention `ioctl dump' in error msg
-#: src/screendump.c:113
+#: src/screendump.c:132
 #, c-format
 msgid "couldn't read %s\n"
-msgstr ""
+msgstr "kon %s niet lezen\n"
 
-#: src/screendump.c:122
+#: src/screendump.c:141
 #, c-format
 msgid "Strange ... screen is both %dx%d and %dx%d ??\n"
-msgstr "Vreemd ... het scherm is zowel %dx%d als %dx%d ??\n"
+msgstr "Vreemd ... het scherm is zowel in %dx%d en %dx%d ??\n"
 
-#: src/screendump.c:140
+#: src/screendump.c:159
 msgid "Error writing screendump\n"
-msgstr "Fout bij het schrijven van de schermdump\n"
+msgstr "Fout bij schrijven schermafdruk\n"
 
-#: src/setfont.c:76
-#, fuzzy
+#: src/setfont.c:73
 msgid ""
-"Usage: setfont [write-options] [-<N>] [newfont..] [-m consolemap] [-u "
-"unicodemap]\n"
+"Usage: setfont [write-options] [-<N>] [newfont..] [-m consolemap] [-u unicodemap]\n"
 "  write-options (take place before file loading):\n"
 "    -o  <filename>\tWrite current font to <filename>\n"
+"    -O  <filename>\tWrite current font and unicode map to <filename>\n"
 "    -om <filename>\tWrite current consolemap to <filename>\n"
 "    -ou <filename>\tWrite current unicodemap to <filename>\n"
-"If no newfont and no -[o|om|ou|m|u] option is given, a default font is "
-"loaded:\n"
+"If no newfont and no -[o|O|om|ou|m|u] option is given,\n"
+"a default font is loaded:\n"
 "    setfont             Load font \"default[.gz]\"\n"
 "    setfont -<N>        Load font \"default8x<N>[.gz]\"\n"
 "The -<N> option selects a font from a codepage that contains three fonts:\n"
 "    setfont -{8|14|16} codepage.cp[.gz]   Load 8x<N> font from codepage.cp\n"
-"Explicitly (with -m or -u) or implicitly (in the fontfile) given mappings "
-"will\n"
-"be loaded and, in the case of consolemaps, activated.\n"
-"    -h<N>       (no space) Override font height.\n"
-"    -m none\tSuppress loading and activation of a mapping table.\n"
+"Explicitly (with -m or -u) or implicitly (in the fontfile) given mappings\n"
+"will be loaded and, in the case of consolemaps, activated.\n"
+"    -h<N>      (no space) Override font height.\n"
+"    -m <fn>    Load console screen map.\n"
+"    -u <fn>    Load font unicode map.\n"
+"    -m none\tSuppress loading and activation of a screen map.\n"
 "    -u none\tSuppress loading of a unicode map.\n"
 "    -v\t\tBe verbose.\n"
 "    -V\t\tPrint version and exit.\n"
 "Files are loaded from the current directory or /usr/lib/kbd/*/.\n"
 msgstr ""
-"Aanroep: setfont [schrijf-opties] [-<N>] [nieuw_font] [-m omnummerbestand] "
-"[-u Unicodetabel]\n"
-"  schrijf-opties (worden uitgevoerd voor het laden van een nieuw font):\n"
-"    -o  <bestand>\tSchrijf het huidige font naar <bestand>\n"
-"    -om <bestand>\tSchrijf de huidige omnummering naar <bestand>\n"
-"    -ou <bestand>\tSchrijf de huidige Unicodetabel naar <bestand>\n"
-"Als geen nieuw_font en geen -[o|om|ou|m|u] optie is gegeven, wordt een "
-"standaard font geladen:\n"
-"    setfont              Laad het font \"default[.gz]\"\n"
-"    setfont -<N>         Laad het font default8x<N>[.gz]\"\n"
-"De -<N> optie selecteert een font uit een codepagina met drie fonts:\n"
-"    setfont -{8|14|16} codepage.cp[.gz]  Laad 8x<N> font uit codepage.cp\n"
-"Expliciet (met -m of -u) of impliciet (in het font) gegeven (om)nummeringen\n"
-"worden geladen en geactiveerd.\n"
-"    -h<N>       (zonder spatie) Doe net alsof het font hoogte N heeft\n"
-"    -m none\tLaad geen omnummertabel\n"
-"    -u none\tLaad geen Unicodetabel\n"
-"    -v\t\tGeef uitvoerig commentaar\n"
-"    -V\t\tDruk de programmaversie af\n"
-"Bestanden worden geladen uit het huidige directory of  /usr/lib/kbd/*/.\n"
-
-#: src/setfont.c:121
-#, c-format
-msgid "setfont version %s\n"
-msgstr "setfont versie %s\n"
+"Gebruik: setfont [schrijfopties] [-<N>] [nieuwlettertype..] [-m consolekaart] [-u unicodekaart]\n"
+"  schrijfopties (dit gebeurt voor het laden van het bestand):\n"
+"    -o  <bestandsnaam>\tHuidige lettertype schrijven naar <bestandsnaam>\n"
+"    -O  <bestandsnaam>\tHuidige lettertype en unicode kaart schrijven naar <bestandsnaam>\n"
+"    -om <bestandsnaam>\tHuidige consolekaart schrijven naar <bestandsnaam>\n"
+"    -ou <bestandsnaam>\tHuidige unicode kaart schrijven naar <bestandsnaam>\n"
+"Als er geen nieuwlettertype en geen -[o|O|om|ou|m|u] optie is gegeven,\n"
+"wordt een standaard lettertype geladen:\n"
+"    setfont             Lettertype \"default[.gz]\" laden\n"
+"    setfont -<N>        Lettertype \"default8x<N>[.gz]\" laden\n"
+"De -<N> optie selecteert een lettertype uit de codepagina die drie lettertypen bevat:\n"
+"    setfont -{8|14|16} codepagina.cp[.gz]   Het 8x<N> lettertype laden uit codepagina.cp\n"
+"Expliciet (met -m of -u) of impliciet (in het lettertypebestand) gegeven kaarten\n"
+"zullen worden geladen, en, in het geval van consolekaarten, worden geactiveerd.\n"
+"    -h<N>      (geen spatie) Letterhoogte forceren.\n"
+"    -m <fn>    Console schermkaart laden.\n"
+"    -u <fn>    Lettertype unicodekaart laden.\n"
+"    -m geen\tLaden en activeren van schermkaart onderdrukken.\n"
+"    -u geen\tLaden van een unicode kaart onderdrukken.\n"
+"    -v\t\tWees luidruchtig.\n"
+"    -V\t\tVersie weergeven en afsluiten.\n"
+"Bestanden worden geladen uit de huidige map of uit /usr/lib/kbd/*/.\n"
 
 #: src/setfont.c:169
 msgid "setfont: too many input files\n"
-msgstr ""
+msgstr "setfont: teveel invoerbestanden\n"
 
 #: src/setfont.c:177
-msgid ""
-"setfont: cannot both restore from character ROM and from file. Font "
-"unchanged.\n"
-msgstr ""
-"setfont: kan niet tegelijk vanuit teken-ROM en van een bestand lezen. Font "
-"ongewijzigd.\n"
+msgid "setfont: cannot both restore from character ROM and from file. Font unchanged.\n"
+msgstr "setfont: kan niet herstellen uit zowel teken-ROM als uit een bestand. Lettertype onveranderd.\n"
 
-#: src/setfont.c:245
+#: src/setfont.c:236
 #, c-format
-msgid "Bad character size %d\n"
-msgstr "Foute tegengrootte %d\n"
+msgid "Bad character height %d\n"
+msgstr "Slechte tekenhoogte %d\n"
 
-#: src/setfont.c:266
+#: src/setfont.c:240
+#, c-format
+msgid "Bad character width %d\n"
+msgstr "Slechte tekenbreedte %d\n"
+
+#: src/setfont.c:265
 #, c-format
 msgid "%s: font position 32 is nonblank\n"
-msgstr ""
+msgstr "%s: lettertype positie 32 is niet-wit\n"
 
-#: src/setfont.c:274
+#: src/setfont.c:273
 #, c-format
 msgid "%s: wiped it\n"
-msgstr ""
+msgstr "%s: gewist\n"
 
-#: src/setfont.c:278
+#: src/setfont.c:277
 #, c-format
 msgid "%s: background will look funny\n"
-msgstr ""
+msgstr "%s: achtergrond zal er grappig uitzien\n"
 
-#: src/setfont.c:288
+#: src/setfont.c:287
 #, c-format
-msgid "Loading %d-char 8x%d font from file %s\n"
-msgstr "Ga %d-teken 8x%d font uit het bestand %s laden\n"
+msgid "Loading %d-char %dx%d font from file %s\n"
+msgstr "Bezig met laden %d-teken %dx%d lettertype uit bestand %s\n"
 
-#: src/setfont.c:291
-#, fuzzy, c-format
-msgid "Loading %d-char 8x%d font\n"
-msgstr "Ga %d-teken 8x%d font uit het bestand %s laden\n"
+#: src/setfont.c:290
+#, c-format
+msgid "Loading %d-char %dx%d font\n"
+msgstr "Bezig met laden %d-teken %dx%d lettertype\n"
 
-#: src/setfont.c:332
+#: src/setfont.c:293
+#, c-format
+msgid "Loading %d-char %dx%d (%d) font from file %s\n"
+msgstr "Bezig met laden %d-teken %dx%d (%d) lettertype uit bestand %s\n"
+
+#: src/setfont.c:296
+#, c-format
+msgid "Loading %d-char %dx%d (%d) font\n"
+msgstr "Bezig met laden %d-teken %dx%d (%d) lettertype\n"
+
+#: src/setfont.c:336
 #, c-format
 msgid "%s: bug in do_loadtable\n"
-msgstr ""
+msgstr "%s: softwarefout in do_loadtable\n"
 
-#: src/setfont.c:340
+#: src/setfont.c:342
 msgid "Loading Unicode mapping table...\n"
-msgstr "Ga Unicodetabel laden\n"
+msgstr "Bezig met laden Unicode afbeeldtabel...\n"
 
-#: src/setfont.c:349
-msgid ""
-"It seems this kernel is older than 1.1.92\n"
-"No Unicode mapping table loaded.\n"
-msgstr ""
-"Zo te zien is de kernel ouder dan 1.1.92\n"
-"Geen Unicodetabel geladen.\n"
-
-#: src/setfont.c:396 src/setfont.c:469
+#: src/setfont.c:378 src/setfont.c:462
 #, c-format
 msgid "Cannot open font file %s\n"
-msgstr "Kan het font %s niet openen\n"
+msgstr "Kan lettertype bestand %s niet openen\n"
 
-#: src/setfont.c:407
+#: src/setfont.c:389
 #, c-format
 msgid "When loading several fonts, all must be psf fonts - %s isn't\n"
-msgstr ""
+msgstr "Bij het laden van verschillende lettertypen, moeten ze alle psf lettertypen zijn - %s is dat niet\n"
 
-#: src/setfont.c:414
-#, fuzzy, c-format
-msgid "Read %d-char 8x%d font from file %s\n"
-msgstr "Ga %d-teken 8x%d font uit het bestand %s laden\n"
+#: src/setfont.c:397
+#, c-format
+msgid "Read %d-char %dx%d font from file %s\n"
+msgstr "Gelezen %d-teken %dx%d lettertype uit bestand %s\n"
 
-#: src/setfont.c:419
-msgid "When loading several fonts, all must have the same pointsize\n"
-msgstr ""
+#: src/setfont.c:403
+msgid "When loading several fonts, all must have the same height\n"
+msgstr "Bij het laden van verschillende lettertypen, moeten ze allemaal dezelfde hoogte hebben\n"
+
+#: src/setfont.c:410
+msgid "When loading several fonts, all must have the same width\n"
+msgstr "Bij het laden van verschillende lettertypen, moeten ze allemaal dezelfde breedte hebben\n"
+
+#: src/setfont.c:449
+msgid "Cannot find default font\n"
+msgstr "Kan standaardlettertype niet vinden\n"
 
 #: src/setfont.c:456
-msgid "Cannot find default font\n"
-msgstr "Kan het standaard font niet vinden\n"
-
-#: src/setfont.c:463
 #, c-format
 msgid "Cannot find %s font\n"
-msgstr "Kan het %s font niet vinden\n"
+msgstr "Kan lettertype %s niet vinden\n"
+
+#: src/setfont.c:468
+#, c-format
+msgid "Reading font file %s\n"
+msgstr "Bezig met lezen lettertype bestand %s\n"
 
 #: src/setfont.c:506
 msgid "No final newline in combine file\n"
-msgstr ""
+msgstr "Geen afsluitende witregel in combinatiebestand\n"
 
 #: src/setfont.c:512
-#, fuzzy
 msgid "Too many files to combine\n"
-msgstr "teveel (%d) elementen op een regel"
+msgstr "Teveel bestanden om te combineren\n"
 
 #. restorefont -w writes a SVGA font to file
 #. restorefont -r restores it
@@ -1126,73 +908,69 @@
 #. In fact, when BROKEN_GRAPHICS_PROGRAMS is defined,
 #. and it always is, there is no default font that is saved,
 #. so probably the second half is always garbage.
-#: src/setfont.c:535
+#: src/setfont.c:536
 msgid "Hmm - a font from restorefont? Using the first half.\n"
-msgstr ""
+msgstr "Hmm - een lettertypen van restorefont? Alleen de eerste helft wordt gebruikt.\n"
 
-#: src/setfont.c:551
+#: src/setfont.c:553
 msgid "Bad input file size\n"
-msgstr "Invoer heeft foute grootte\n"
+msgstr "Slechte invoerbestand grootte\n"
 
-#: src/setfont.c:570
+#: src/setfont.c:574
 msgid ""
 "This file contains 3 fonts: 8x8, 8x14 and 8x16. Please indicate\n"
 "using an option -8 or -14 or -16 which one you want loaded.\n"
 msgstr ""
-"Dit bestand bevat 3 fonts: 8x8, 8x14 en 8x16. Vertel met behulp\n"
-"van een optie -8 of -14 of -16 welke van de drie geladen moet worden.\n"
+"Dit bestand bevat drie lettertypen: 8x8, 8x14 en 8x16. Geef a.u.b.\n"
+"aan welke u wilt laden met optie -8, -14 of -16.\n"
 
-#: src/setfont.c:584
+#: src/setfont.c:588
 #, c-format
 msgid "You asked for font size %d, but only 8, 14, 16 are possible here.\n"
-msgstr "U vroeg om fontgrootte %d, maar ik heb alleen 8, 14, 16 in voorraad.\n"
+msgstr "U vroeg om lettergrootte %d, maar alleen 8, 14 en 16 zijn hier mogelijk.\n"
 
-#: src/setfont.c:621
-msgid "Cannot write font file header"
-msgstr "Fout bij het schrijven van de font kop"
-
-#: src/setfont.c:627
+#: src/setfont.c:633
 msgid "Found nothing to save\n"
-msgstr "Er was niets om weg te schrijven\n"
+msgstr "Niets gevonde om op te slaan\n"
 
-#: src/setfont.c:631
+#: src/setfont.c:637
 msgid "Cannot write font file"
-msgstr "Fout bij het wegschrijven van het font"
+msgstr "Kan lettertypebestand niet schrijven"
 
-#: src/setfont.c:635
+#: src/setfont.c:642
 #, c-format
-msgid "Saved %d-char 8x%d font file on %s\n"
-msgstr "Heb %d-teken 8x%d font in het bestand %s weggeschreven\n"
+msgid "Saved %d-char %dx%d font file on %s\n"
+msgstr "Opgeslagen %d-teken %dx%d lettertypebestand op %s\n"
 
-#: src/setkeycodes.c:20
+#: src/setkeycodes.c:21
 msgid ""
 "usage: setkeycode scancode keycode ...\n"
 " (where scancode is either xx or e0xx, given in hexadecimal,\n"
 "  and keycode is given in decimal)\n"
 msgstr ""
-"aanroep: setkeycode scancode toetscode ...\n"
-" (waarbij scancode xx of e0xx is, gegeven in hexadecimaal,\n"
-"  en de toetscode decimaal gegeven wordt)\n"
+"gebruik: setkeycode scancode toetscode ...\n"
+" (waar scancode ofwel xx ofwel e0xx is, gegeven in hexadecimaal,\n"
+"  en toetscode gegeven is in decimal)\n"
 
-#: src/setkeycodes.c:37
+#: src/setkeycodes.c:43
 msgid "even number of arguments expected"
-msgstr "ik verwacht een even aantal parameters"
-
-#: src/setkeycodes.c:44
-msgid "error reading scancode"
-msgstr "fout bij het lezen van de scancode"
+msgstr "even aantal argumenten verwacht"
 
 #: src/setkeycodes.c:50
-msgid "code outside bounds"
-msgstr "codewaarde te groot"
+msgid "error reading scancode"
+msgstr "fout bij lezen scancode"
 
-#: src/setkeycodes.c:53
+#: src/setkeycodes.c:56
+msgid "code outside bounds"
+msgstr "code buiten bereik"
+
+#: src/setkeycodes.c:59
 #, c-format
 msgid "failed to set scancode %x to keycode %d\n"
-msgstr "kon scancode %x niet toewijzen aan toetscode %d\n"
+msgstr "instellen scancode %x naar toetscode %d mislukt\n"
 
-#: src/setleds.c:24
-#, fuzzy, c-format
+#: src/setleds.c:25
+#, c-format
 msgid ""
 "Usage:\n"
 "\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n"
@@ -1207,91 +985,101 @@
 "With -D, setleds sets both the flags and the default flags, so\n"
 "that a subsequent reset will not change the flags.\n"
 msgstr ""
-"Aanroep:\n"
-"\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll ]]\n"
-"Bijvoorbeeld,\n"
+"Gebruik:\n"
+"\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n"
+"Dus,\n"
 "\tsetleds +caps -num\n"
-"zet CapsLock aan, NumLock uit, en laat ScrollLock ongewijzigs.\n"
-"Als geen wijziging wordt gevraagd, of de -v optie is gegeven,\n"
-"wordt de toestand voor en na de aanroep gerapporteerd.\n"
-"Met de -L optie worden alleen de leds gezet, niet de bijbehorende\n"
-"toetsenbordtoestand\n"
-"Met de -D vlag wordt ook de standaard toestand aangepast, zodat een\n"
-"latere reset de toestand niet wijzigt.\n"
+"zal CapsLock instellen, NumLock wissen en ScrollLock onveranderd laten.\n"
+"De instellingen voor en na de verandering (als die er zijn) worden gemeld\n"
+"als de -v optie is gegeven of als er geen verandering is verzocht.\n"
+"Normaal gesproken beïnvloedt setleds de vt-optie instellingen\n"
+"(en deze uiten zich meestal in de leds).\n"
+"Met -L stelt setleds alleen de leds in, en laat het de opties onveranderd.\n"
+"Met -D stelt setleds zowel de opties als de standaardopties in, zodat\n"
+"de opties niet zullen veranderen na een opvolgende reset.\n"
 
-#: src/setleds.c:89
+#: src/setleds.c:47
+msgid "on "
+msgstr "aan"
+
+#: src/setleds.c:47
+msgid "off"
+msgstr "uit"
+
+#: src/setleds.c:90
 msgid "Error reading current led setting. Maybe stdin is not a VT?\n"
-msgstr "Fout bij het lezen van de leds. Is stdin wel een VT?\n"
+msgstr "Fout bij lezen huidige led-instelling. Mogelijk is stdin geen VT?\n"
 
-#: src/setleds.c:108
-msgid "Error reading current flags setting. Maybe an old kernel?\n"
-msgstr "Fout bij het lezen van de toetsenbordtoestand. Een oude kernel?\n"
+#: src/setleds.c:109
+msgid "Error reading current flags setting. Maybe you are not on the console?\n"
+msgstr "Fout bij lezen huidige optie-instelling. Mogelijk werkt u niet op de console?\n"
 
-#: src/setleds.c:121 src/setleds.c:136
-#, fuzzy
+#: src/setleds.c:123 src/setleds.c:138
 msgid "Error reading current led setting from /dev/kbd.\n"
-msgstr "Fout bij het lezen van de leds. Is stdin wel een VT?\n"
+msgstr "Fout bij lezen huidige led-instelling van /dev/kbd.\n"
 
-#: src/setleds.c:125
+#: src/setleds.c:127
 msgid "KIOCGLED unavailable?\n"
-msgstr ""
+msgstr "KIOCGLED onbeschikbaar?\n"
 
-#: src/setleds.c:140
+#: src/setleds.c:142
 msgid "KIOCSLED unavailable?\n"
-msgstr ""
+msgstr "KIOCSLED onbeschikbaar?\n"
 
-#: src/setleds.c:158
+#: src/setleds.c:169
 msgid "Error opening /dev/kbd.\n"
-msgstr ""
+msgstr "Fout bij openen /dev/kbd.\n"
 
-#: src/setleds.c:194
+#: src/setleds.c:201
 msgid "Error resetting ledmode\n"
-msgstr "Fout bij het zetten van de leds\n"
+msgstr "Fout bij opnieuw instellen ledmodus\n"
 
-#: src/setleds.c:203
+#: src/setleds.c:210
 msgid "Current default flags:  "
-msgstr "Huidige standaardtoestand:  "
+msgstr "Huidige standaardopties:"
 
-#: src/setleds.c:207
+#: src/setleds.c:214
 msgid "Current flags:          "
-msgstr "Huidige toestand:           "
+msgstr "Huidige opties:"
 
-#: src/setleds.c:211
+#: src/setleds.c:218
 msgid "Current leds:           "
-msgstr "Huidige leds:               "
+msgstr "Huidige leds:"
 
-#: src/setleds.c:247 src/setmetamode.c:88
+#: src/setleds.c:254 src/setmetamode.c:94
 #, c-format
 msgid ""
 "unrecognized argument: _%s_\n"
 "\n"
-msgstr "onbekende parameter: _%s_\n"
+msgstr ""
+"niet-herkend argument: _%s_\n"
+"\n"
 
-#: src/setleds.c:256
+#: src/setleds.c:263
 msgid "Old default flags:    "
-msgstr "Oude standaardtoestand:   "
-
-#: src/setleds.c:258
-msgid "New default flags:    "
-msgstr "Nieuwe standaardtoestand: "
+msgstr "Oude standaardopties:    "
 
 #: src/setleds.c:265
+msgid "New default flags:    "
+msgstr "Nieuwe standaardopties:"
+
+#: src/setleds.c:272
 msgid "Old flags:            "
-msgstr "Oude toestand:            "
+msgstr "Oude opties:"
 
-#: src/setleds.c:267
+#: src/setleds.c:274
 msgid "New flags:            "
-msgstr "Nieuwe toestand:"
+msgstr "Nieuwe opties:"
 
-#: src/setleds.c:281 src/setleds.c:290
+#: src/setleds.c:288 src/setleds.c:297
 msgid "Old leds:             "
-msgstr "Oude leds:                "
+msgstr "Oude leds:"
 
-#: src/setleds.c:283 src/setleds.c:292
+#: src/setleds.c:290 src/setleds.c:299
 msgid "New leds:             "
-msgstr "Nieuwe leds:              "
+msgstr "Nieuwe leds:"
 
-#: src/setmetamode.c:19
+#: src/setmetamode.c:20
 msgid ""
 "Usage:\n"
 "\tsetmetamode [ metabit | meta | bit | escprefix | esc | prefix ]\n"
@@ -1300,61 +1088,66 @@
 "to change the settings of another vt.\n"
 "The setting before and after the change are reported.\n"
 msgstr ""
-"Aanroep:\n"
+"Gebruik:\n"
 "\tsetmetamode [ metabit | meta | bit | escprefix | esc | prefix ]\n"
-"Elke VT heeft zijn eigen kopie van dit bit. Gebruik\n"
-"\tsetmetamode [param] < /dev/ttyn\n"
-"om het metabit van een andere VT te veranderen.\n"
-"De toestand voor en na de aanroep wordt gerapporteerd.\n"
+"Elke vt heeft zijn eigen versie van deze bit. Gebruik\n"
+"\tsetmetamode [arg] < /dev/ttyn\n"
+"om de instellingen van een andere vt te veranderen.\n"
+"De instelling voor en na de verandering wordt gerapporteerd.\n"
 
-#: src/setmetamode.c:35
+#: src/setmetamode.c:36
 msgid "Meta key sets high order bit\n"
-msgstr "De Metatoets zet het achtste bit\n"
+msgstr "Meta toets stelt hoogste-orde bit in\n"
 
-#: src/setmetamode.c:38
+#: src/setmetamode.c:39
 msgid "Meta key gives Esc prefix\n"
-msgstr "De Metatoets geeft een Esc prefix\n"
+msgstr "Meta toets geeft Esc voorvoegsel\n"
 
-#: src/setmetamode.c:41
+#: src/setmetamode.c:42
 msgid "Strange mode for Meta key?\n"
-msgstr "Rare Metatoets instelling??\n"
+msgstr "Vreemde modus voor Meta toets?\n"
 
-#: src/setmetamode.c:72
+#: src/setmetamode.c:78
 msgid "Error reading current setting. Maybe stdin is not a VT?\n"
-msgstr "Fout bij het lezen van de huidige toestand. Is stdin wel een VT?\n"
-
-#: src/setmetamode.c:92
-msgid "old state:    "
-msgstr "oude toestand:    "
+msgstr "Fout bij lezen huidige instelling. Mogelijk is stdin niet een VT?\n"
 
 #: src/setmetamode.c:98
-msgid "new state:    "
-msgstr "nieuwe toestand:  "
+msgid "old state:    "
+msgstr "oude status:"
 
-#: src/setvesablank.c:21
+#: src/setmetamode.c:104
+msgid "new state:    "
+msgstr "nieuwe status:"
+
+#: src/setvesablank.c:23
 #, c-format
 msgid "usage: %s\n"
-msgstr "aanroep: %s\n"
+msgstr "gebruik: %s\n"
 
-#: src/showconsolefont.c:18
+#: src/showconsolefont.c:31
 msgid "failed to restore original translation table\n"
-msgstr "kon de oorspronkelijke omnummertabel niet herstellen\n"
+msgstr "herstellen originele vertaaltabel mislukt\n"
 
-#: src/showconsolefont.c:34
+#: src/showconsolefont.c:36
+msgid "failed to restore original unimap\n"
+msgstr "herstellen originele unikaart mislukt\n"
+
+#: src/showconsolefont.c:54
+msgid "cannot change translation table\n"
+msgstr "kan vertaaltabel niet wijzigen\n"
+
+#: src/showconsolefont.c:61
+#, c-format
+msgid "%s: out of memory?\n"
+msgstr "%s: geheugentekort?\n"
+
+#: src/showconsolefont.c:102
 msgid ""
-"usage: showconsolefont\n"
+"usage: showconsolefont [-v|-V]\n"
 "(probably after loading a font with `setfont font')\n"
 msgstr ""
-"aanroep: showconsolefont\n"
-"(gewoonlijk na het laden van een font met `setfont font')\n"
-
-#: src/showconsolefont.c:60
-msgid "cannot change translation table\n"
-msgstr "kan de omnummertabel niet aanpassen\n"
-
-#: src/showconsolefont.c:86
-msgid "cannot change translation table??\n"
-msgstr "kan de omnummertabel niet aanpassen??\n"
+"gebruik: showconsolefont [-v|-V]\n"
+"(waarschijnlijk na het laden van een lettertype met `setfont lettertype')\n"
 
 #: src/showkey.c:42
 msgid "?UNKNOWN?"
@@ -1363,20 +1156,20 @@
 #: src/showkey.c:44
 #, c-format
 msgid "kb mode was %s\n"
-msgstr "de toetsenbordtoestand was %s\n"
+msgstr "kb modus was %s\n"
 
 #: src/showkey.c:46
 msgid ""
 "[ if you are trying this under X, it might not work\n"
 "since the X server is also reading /dev/console ]\n"
 msgstr ""
-"[ als je dit under X probeert, dan werkt het misschien niet\n"
-"want de X server leest ook van /dev/console ]\n"
+"[ als u dit onder X probeert, werkt het mogelijk\n"
+"niet omdat de X server ook /dev/console leest ]\n"
 
 #: src/showkey.c:65
 #, c-format
 msgid "caught signal %d, cleaning up...\n"
-msgstr "kreeg signaal %d, herstel de oude toestand weer...\n"
+msgstr "signaal %d opgevangen, bezig met opschonen...\n"
 
 #: src/showkey.c:79
 #, c-format
@@ -1394,77 +1187,43 @@
 msgstr ""
 "showkey versie %s\n"
 "\n"
-"aanroep: showkey [opties...]\n"
+"gebruik: showkey [opties...]\n"
 "\n"
 "geldige opties zijn:\n"
 "\n"
-"\t-h --help\tvertoon deze hulp tekst\n"
-"\t-a --ascii\tgeef de 10/8/16-tallige waarden van de toetsen\n"
-"\t-s --scancodes\tgeef alleen de scancodes\n"
-"\t-k --keycodes\tgeef alleen de toetscodes (standaard)\n"
+"\t-h --help\tdeze hulptekst weergeven\n"
+"\t-a --ascii\tde decimaal/octaal/hex waarden weergeven van de toetsen\n"
+"\t-s --scancodes\talleen de ruwe scancodes weergeven\n"
+"\t-k --keycodes\talleen de geïnterpreteerde toetscodes weergeven (standaard)\n"
 
-#: src/showkey.c:152
+#: src/showkey.c:157
 msgid ""
 "\n"
 "Press any keys - Ctrl-D will terminate this program\n"
 "\n"
 msgstr ""
 "\n"
-"Druk willekeurige toetsen in. Ctrl-D beeindigt het programma\n"
+"Druk op een toets - Ctrl-D zal dit programma afbreken\n"
+"\n"
 
-#: src/showkey.c:221
+#: src/showkey.c:226
 msgid "press any key (program terminates 10s after last keypress)...\n"
-msgstr "Druk willekeurige toetsen in. Na 10 sec wachten stopt het programma.\n"
+msgstr "druk op een toets (het programma breekt 10s na laatste toetsaanslag af)...\n"
 
-#: src/showkey.c:229
+#: src/showkey.c:234
 #, c-format
 msgid "keycode %3d %s\n"
 msgstr "toetscode %3d %s\n"
 
-#: src/showkey.c:231
+#: src/showkey.c:236
 msgid "release"
-msgstr "loslaten"
+msgstr "uitgave"
 
-#: src/showkey.c:232
+#: src/showkey.c:237
 msgid "press"
-msgstr "indrukken"
+msgstr "druk"
 
-#: src/xmalloc.c:14
+#: src/version.h:18
 #, c-format
-msgid "%s: out of memory\n"
-msgstr "%s: onvoldoende geheugen\n"
-
-#~ msgid "usage: %s [N1 N2 ...]\n"
-#~ msgstr "aanroep: %s [N1 N2 ...]\n"
-
-#~ msgid "Out of Memory\n"
-#~ msgstr "Onvoldoende geheugen\n"
-
-#~ msgid "Out of Memory?\n"
-#~ msgstr "Onvoldoende geheugen?\n"
-
-#~ msgid "%s: Cannot read psf header\n"
-#~ msgstr "%s: Kan de psf kop niet lezen\n"
-
-#~ msgid "%s: Unknown mode number (%d)\n"
-#~ msgstr "%s: Onbekend psf type (%d)\n"
-
-#~ msgid "%s: Font already had no character table\n"
-#~ msgstr "%s: Dit font had geen Unicode tabel\n"
-
-#~ msgid "Out of memory?\n"
-#~ msgstr "Onvoldoende geheugen?\n"
-
-#~ msgid "Out of memory.\n"
-#~ msgstr "Onvoldoende geheugen.\n"
-
-#~ msgid ""
-#~ "Setfont is so naive as to believe that font files\n"
-#~ "have a size of at most 32kB.  Unfortunately it seems\n"
-#~ "that you encountered an exception.  If this really is\n"
-#~ "a font file, (i) recompile setfont, (ii) tell aeb@cwi.nl .\n"
-#~ msgstr ""
-#~ "Setfont denkt dat een font nooit groter dan 32kB kan zijn.\n"
-#~ "Helaas ziet het er naar uit dat U een uitzondering bent tegengekomen.\n"
-#~ "Als dit echt een font is, (i) compileer setfont opnieuw, en (ii) schrijf "
-#~ "naar aeb@cwi.nl .\n"
+msgid "%s from %s\n"
+msgstr "%s van %s\n"
diff --git a/po/pl.po b/po/pl.po
new file mode 100644
index 0000000..aea3421
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,1228 @@
+# Polish translations for kbd.
+# Copyright (C) 2002 Free Software Foundation, Inc.
+# This file is distributed under the same license as the kbd package.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2002.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kbd 1.08\n"
+"POT-Creation-Date: 2002-10-25 09:40-0400\n"
+"PO-Revision-Date: 2002-11-23 23:34+0100\n"
+"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
+"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: openvt/openvt.c:67
+#, c-format
+msgid "openvt: %s: illegal vt number\n"
+msgstr "openvt: %s: b³êdny numer vt\n"
+
+#: openvt/openvt.c:91
+msgid "openvt: only root can use the -u flag.\n"
+msgstr "openvt: tylko root mo¿e u¿yæ flagi -u.\n"
+
+#: openvt/openvt.c:105 src/getfd.c:68
+msgid "Couldnt get a file descriptor referring to the console\n"
+msgstr "Nie mo¿na uzyskaæ deskryptora pliku wskazuj±cego na konsolê\n"
+
+#: openvt/openvt.c:117
+msgid "openvt: cannot find a free vt\n"
+msgstr "openvt: nie mo¿na znale¼æ wolnego vt\n"
+
+#: openvt/openvt.c:122
+#, c-format
+msgid "openvt: cannot check whether vt %d is free\n"
+msgstr "openvt: nie mo¿na sprawdziæ, czy vt %d jest wolny\n"
+
+#: openvt/openvt.c:123 openvt/openvt.c:128
+msgid "        use `openvt -f' to force.\n"
+msgstr "        mo¿na u¿yæ `openvt -f' w celu wymuszenia.\n"
+
+#: openvt/openvt.c:127
+#, c-format
+msgid "openvt: vt %d is in use; command aborted\n"
+msgstr "openvt: vt %d jest u¿ywany; program przerwano\n"
+
+#: openvt/openvt.c:155
+#, c-format
+msgid "openvt: Unable to open %s: %s\n"
+msgstr "openvt: Nie mo¿na otworzyæ %s: %s\n"
+
+#: openvt/openvt.c:167
+#, c-format
+msgid "openvt: Cannot open %s read/write (%s)\n"
+msgstr "openvt: Nie mo¿na otworzyæ %s do odczytu i zapisu (%s)\n"
+
+#: openvt/openvt.c:205
+#, c-format
+msgid "openvt: using VT %s\n"
+msgstr "openvt: u¿ycie VT %s\n"
+
+#: openvt/openvt.c:217
+#, c-format
+msgid "openvt: Unable to set new session (%s)\n"
+msgstr "openvt: Nie mo¿na ustanowiæ nowej sesji (%s)\n"
+
+#: openvt/openvt.c:225
+#, c-format
+msgid ""
+"\n"
+"openvt: could not open %s R/W (%s)\n"
+msgstr ""
+"\n"
+"openvt: nie mo¿na otworzyæ %s w trybie R/W (%s)\n"
+
+#: openvt/openvt.c:281
+#, c-format
+msgid "openvt: could not deallocate console %d\n"
+msgstr "openvt: nie mo¿na zwolniæ konsoli %d\n"
+
+#: src/chvt.c:28
+msgid "usage: chvt N\n"
+msgstr "sk³adnia: chvt N\n"
+
+#: src/deallocvt.c:33
+#, c-format
+msgid "%s: unknown option\n"
+msgstr "%s: nieznana opcja\n"
+
+#: src/deallocvt.c:45
+#, c-format
+msgid "%s: deallocating all unused consoles failed\n"
+msgstr "%s: zwolnienie wszystkich nie u¿ywanych konsol nie powiod³o siê\n"
+
+#: src/deallocvt.c:53
+#, c-format
+msgid "%s: 0: illegal VT number\n"
+msgstr "%s: 0: b³êdny numer VT\n"
+
+#: src/deallocvt.c:57
+#, c-format
+msgid "%s: VT 1 is the console and cannot be deallocated\n"
+msgstr "%s: VT 1 jest konsol± i nie mo¿e byæ zwolniony\n"
+
+#: src/deallocvt.c:63
+#, c-format
+msgid "%s: could not deallocate console %d\n"
+msgstr "%s: nie mo¿na zwolniæ konsoli %d\n"
+
+#: src/dumpkeys.c:63
+#, c-format
+msgid "KDGKBENT error at index 0 in table %d: "
+msgstr "b³±d KDGKBENT pod indeksem 0 w tabeli %d: "
+
+#: src/dumpkeys.c:76
+#, c-format
+msgid "%s: cannot find any keymaps?\n"
+msgstr "%s: nie mo¿na znale¼æ ¿adnych map klawiatury?\n"
+
+#: src/dumpkeys.c:81
+#, c-format
+msgid "%s: plain map not allocated? very strange ...\n"
+msgstr "%s: zwyk³a mapa nie przydzielona? bardzo dziwne...\n"
+
+#: src/dumpkeys.c:113
+#, c-format
+msgid "KDGKBENT error at index %d in table %d: "
+msgstr "b³±d KDGKBENT pod indeksem %d w tabeli %d: "
+
+#: src/dumpkeys.c:241
+#, c-format
+msgid "keycode range supported by kernel:           1 - %d\n"
+msgstr "przedzia³ kodów klawiszy obs³. przez j±dro:  1 - %d\n"
+
+#: src/dumpkeys.c:243
+#, c-format
+msgid "max number of actions bindable to a key:         %d\n"
+msgstr "maks. liczba akcji do przypisania klawiszowi:    %d\n"
+
+#: src/dumpkeys.c:246
+#, c-format
+msgid "number of keymaps in actual use:                 %d\n"
+msgstr "liczba aktualnie u¿ywanych map klawiatury:       %d\n"
+
+#: src/dumpkeys.c:249
+#, c-format
+msgid "of which %d dynamically allocated\n"
+msgstr "z których %d dynamicznie przydzielono\n"
+
+#: src/dumpkeys.c:250
+msgid "ranges of action codes supported by kernel:\n"
+msgstr "przedzia³y kodów akcji obs³ugiwanych przez j±dro:\n"
+
+#: src/dumpkeys.c:255
+#, c-format
+msgid "number of function keys supported by kernel: %d\n"
+msgstr "liczba klawiszy funkcyjnych obs³ugiwanych przez j±dro: %d\n"
+
+#: src/dumpkeys.c:258
+#, c-format
+msgid "max nr of compose definitions: %d\n"
+msgstr "maksymalna liczba definicji compose: %d\n"
+
+#: src/dumpkeys.c:260
+#, c-format
+msgid "nr of compose definitions in actual use: %d\n"
+msgstr "liczba aktualnie u¿ywanych definicji compose: %d\n"
+
+#: src/dumpkeys.c:284
+#, c-format
+msgid ""
+"Symbols recognized by %s:\n"
+"(numeric value, symbol)\n"
+"\n"
+msgstr ""
+"Symbole rozpoznawane przez %s:\n"
+"(warto¶æ liczbowa, symbol)\n"
+"\n"
+
+#: src/dumpkeys.c:297
+msgid ""
+"\n"
+"The following synonyms are recognized:\n"
+"\n"
+msgstr ""
+"\n"
+"Rozpoznawane s± nastêpuj±ce synonimy:\n"
+"\n"
+
+#: src/dumpkeys.c:299
+#, c-format
+msgid "%-15s for %s\n"
+msgstr "%-15s dla %s\n"
+
+#: src/dumpkeys.c:301
+msgid ""
+"\n"
+"Recognized modifier names and their column numbers:\n"
+msgstr ""
+"\n"
+"Rozpoznawane nazwy modyfikatorów i numery ich kolumn:\n"
+
+#: src/dumpkeys.c:364
+#, c-format
+msgid "# not alt_is_meta: on keymap %d key %d is bound to"
+msgstr "# alt nie jest meta: w mapie %d klawisz %d przypisano do"
+
+#: src/dumpkeys.c:439
+msgid "impossible: not meta?\n"
+msgstr "niemo¿liwe: nie meta?\n"
+
+#: src/dumpkeys.c:496
+#, c-format
+msgid "KDGKBSENT failed at index %d: "
+msgstr "KDGKBSENT nie powiod³o siê pod indeksem %d: "
+
+#: src/dumpkeys.c:516
+#, c-format
+msgid "dumpkeys version %s"
+msgstr "dumpkeys wersja %s"
+
+#: src/dumpkeys.c:517
+msgid ""
+"\n"
+"usage: dumpkeys [options...]\n"
+"\n"
+"valid options are:\n"
+"\n"
+"\t-h --help\t    display this help text\n"
+"\t-i --short-info\t    display information about keyboard driver\n"
+"\t-l --long-info\t    display above and symbols known to loadkeys\n"
+"\t-n --numeric\t    display keytable in hexadecimal notation\n"
+"\t-f --full-table\t    don't use short-hand notations, one row per keycode\n"
+"\t-1 --separate-lines one line per (modifier,keycode) pair\n"
+"\t   --funcs-only\t    display only the function key strings\n"
+"\t   --keys-only\t    display only key bindings\n"
+"\t   --compose-only   display only compose key combinations\n"
+"\t-c --charset="
+msgstr ""
+"\n"
+"sk³adnia: dumpkeys [opcje...]\n"
+"\n"
+"poprawne opcje to:\n"
+"\n"
+"\t-h --help\t    wy¶wietlenie tego opisu\n"
+"\t-i --short-info\t    wy¶wietlenie informacji o sterowniku klawiatury\n"
+"\t-l --long-info\t    wy¶wietlenie powy¿szego i symboli znanych loadkeys\n"
+"\t-n --numeric\t    wy¶wietlenie tablicy klawiatury w notacji szesnastkowej\n"
+"\t-f --full-table\t    nie u¿ywanie notacji skróconych, jeden wiersz na kod\n"
+"\t-1 --separate-lines jedna linia na parê (modyfikator,kod)\n"
+"\t   --funcs-only\t    wy¶wietlenie tylko ³añcuchów dla klawiszy funkcyjnych\n"
+"\t   --keys-only\t    wy¶wietlenie tylko przypisañ klawiszy\n"
+"\t   --compose-only   wy¶wietlenie tylko kombinacji compose\n"
+"\t-c --charset="
+
+#: src/dumpkeys.c:534
+msgid ""
+"\t\t\t    interpret character action codes to be from the\n"
+"\t\t\t    specified character set\n"
+msgstr ""
+"\t\t\t    interpretowanie kodów znaków jako pochodz±cych\n"
+"\t\t\t    z podanego zestawu\n"
+
+#: src/findfile.c:43
+#, c-format
+msgid "error executing  %s\n"
+msgstr "b³±d podczas wykonywania  %s\n"
+
+#: src/getkeycodes.c:18
+msgid "usage: getkeycodes\n"
+msgstr "sk³adnia: getkeycodes\n"
+
+#: src/getkeycodes.c:39
+msgid "Plain scancodes xx (hex) versus keycodes (dec)\n"
+msgstr "Zwyk³e skankody xx (hex) a kody klawiszy (dec)\n"
+
+#: src/getkeycodes.c:40
+msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n"
+msgstr "0 jest b³êdem; dla 1-88 (0x01-0x58) skankod jest równy kodowi klawisza\n"
+
+#: src/getkeycodes.c:44
+msgid ""
+"\n"
+"\n"
+"Escaped scancodes e0 xx (hex)\n"
+msgstr ""
+"\n"
+"\n"
+"Specjalne skankody e0 xx (hex)\n"
+
+#: src/getkeycodes.c:64
+#, c-format
+msgid "failed to get keycode for scancode 0x%x\n"
+msgstr "odczytanie kodu klawisza dla skankodu 0x%x nie powiod³o siê\n"
+
+#: src/getunimap.c:49
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s [-s]\n"
+msgstr ""
+"Sk³adnia:\n"
+"\t%s [-s]\n"
+
+#: src/kbd_mode.c:18
+msgid "usage: kbd_mode [-a|-u|-k|-s]\n"
+msgstr "sk³adnia: kbd_mode [-a|-u|-k|-s]\n"
+
+#: src/kbd_mode.c:41
+msgid "kbd_mode: error reading keyboard mode\n"
+msgstr "kbd_mode: b³±d podczas odczytywania trybu klawiatury\n"
+
+#: src/kbd_mode.c:46
+msgid "The keyboard is in raw (scancode) mode\n"
+msgstr "Klawiatura jest w trybie surowym (skankodów)\n"
+
+#: src/kbd_mode.c:49
+msgid "The keyboard is in mediumraw (keycode) mode\n"
+msgstr "Klawiatura jest w trybie ¶rednio surowym (kodów klawiszy)\n"
+
+#: src/kbd_mode.c:52
+msgid "The keyboard is in the default (ASCII) mode\n"
+msgstr "Klawiatura jest w trybie normalnym (ASCII)\n"
+
+#: src/kbd_mode.c:55
+msgid "The keyboard is in Unicode (UTF-8) mode\n"
+msgstr "Klawiatura jest w trybie Unikodu (UTF-8)\n"
+
+#: src/kbd_mode.c:58
+msgid "The keyboard is in some unknown mode\n"
+msgstr "Klawiatura jest w nieznanym trybie\n"
+
+#: src/kbd_mode.c:76
+#, c-format
+msgid "%s: error setting keyboard mode\n"
+msgstr "%s: b³±d podczas ustawiania trybu klawiatury\n"
+
+#: src/kbdrate.c:149 src/kbdrate.c:284
+#, c-format
+msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
+msgstr "Czêstotliwo¶æ powtarzania ustawiono na %.1f zn/sek (opó¼nienie = %d ms)\n"
+
+#: src/kbdrate.c:229
+msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+msgstr "Sk³adnia: kbdrate [-V] [-s] [-r czêstotliwo¶æ] [-d opó¼nienie]\n"
+
+#: src/kbdrate.c:259
+msgid "Cannot open /dev/port"
+msgstr "Nie mo¿na otworzyæ /dev/port"
+
+#: src/kdfontop.c:193
+msgid "bug: getfont called with count<256\n"
+msgstr "b³±d: getfont wywo³ane z licznikiem<256\n"
+
+#: src/kdfontop.c:252 src/xmalloc.c:14
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: brak pamiêci\n"
+
+#: src/ksyms.c:1674
+#, c-format
+msgid "unknown charset %s - ignoring charset request\n"
+msgstr "nieznany zestaw znaków %s - ignorowanie ¿±dania zestawu znaków\n"
+
+#: src/ksyms.c:1746
+#, c-format
+msgid "assuming iso-8859-1 %s\n"
+msgstr "przyjmowanie iso-8859-1 %s\n"
+
+#: src/ksyms.c:1753
+#, c-format
+msgid "assuming iso-8859-15 %s\n"
+msgstr "przyjmowanie iso-8859-15 %s\n"
+
+#: src/ksyms.c:1760
+#, c-format
+msgid "assuming iso-8859-2 %s\n"
+msgstr "przyjmowanie iso-8859-2 %s\n"
+
+#: src/ksyms.c:1767
+#, c-format
+msgid "assuming iso-8859-3 %s\n"
+msgstr "przyjmowanie iso-8859-3 %s\n"
+
+#: src/ksyms.c:1774
+#, c-format
+msgid "assuming iso-8859-4 %s\n"
+msgstr "przyjmowanie iso-8859-4 %s\n"
+
+#: src/ksyms.c:1779
+#, c-format
+msgid "unknown keysym '%s'\n"
+msgstr "nieznany symbol '%s'\n"
+
+#: src/ksyms.c:1814
+#, c-format
+msgid "plus before %s ignored\n"
+msgstr "zignorowano plus przed %s\n"
+
+#: src/loadunimap.c:62
+#, c-format
+msgid "usage: %s [-o map.orig] [map-file]\n"
+msgstr "sk³adnia: %s [-o mapa.orig] [plik-mapy]\n"
+
+#: src/loadunimap.c:152 src/loadunimap.c:163
+#, c-format
+msgid "Bad input line: %s\n"
+msgstr "B³êdna linia wej¶ciowa: %s\n"
+
+#: src/loadunimap.c:172
+#, c-format
+msgid "%s: Glyph number (0x%x) larger than font length\n"
+msgstr "%s: numer znaku (0x%x) wiêkszy od d³ugo¶ci fontu\n"
+
+#: src/loadunimap.c:178
+#, c-format
+msgid "%s: Bad end of range (0x%x)\n"
+msgstr "%s: B³êdny koniec przedzia³u (0x%x)\n"
+
+#: src/loadunimap.c:208 src/psfxtable.c:175
+#, c-format
+msgid "%s: Bad Unicode range corresponding to font position range 0x%x-0x%x\n"
+msgstr "%s: B³êdny przedzia³ Unikodu odpowiadaj±cy przedzia³owi 0x%x-0x%x w foncie\n"
+
+#: src/loadunimap.c:215 src/psfxtable.c:182
+#, c-format
+msgid "%s: Unicode range U+%x-U+%x not of the same length as font position range 0x%x-0x%x\n"
+msgstr "%s: Przedzia³ Unikodu U+%x-U+%x nie jest tej samej d³ugo¶ci co 0x%x-0x%x w foncie\n"
+
+#: src/loadunimap.c:234 src/psfxtable.c:203
+#, c-format
+msgid "%s: trailing junk (%s) ignored\n"
+msgstr "%s: zignorowano koñcowe ¶mieci (%s)\n"
+
+#: src/loadunimap.c:251
+#, c-format
+msgid "Loading unicode map from file %s\n"
+msgstr "Wczytywanie mapy unikodowej z pliku %s\n"
+
+#: src/loadunimap.c:257
+#, c-format
+msgid "%s: %s: Warning: line too long\n"
+msgstr "%s: %s: Uwaga: linia zbyt d³uga\n"
+
+#: src/loadunimap.c:267
+#, c-format
+msgid ""
+"%s: not loading empty unimap\n"
+"(if you insist: use option -f to override)\n"
+msgstr ""
+"%s: nie wczytywanie pustej unimapy\n"
+"(je¶li tak ma byæ: mo¿na wymusiæ opcj± -f)\n"
+
+#: src/loadunimap.c:288
+msgid "entry"
+msgstr "wpis"
+
+#: src/loadunimap.c:288
+msgid "entries"
+msgstr "wpisów"
+
+#: src/loadunimap.c:314
+#, c-format
+msgid "Saved unicode map on `%s'\n"
+msgstr "Zapisano mapê unikodow± w `%s'\n"
+
+#: src/loadunimap.c:334
+msgid "Appended Unicode map\n"
+msgstr "Do³±czono mapê unikodow±\n"
+
+#: src/mapscrn.c:66
+#, c-format
+msgid "usage: %s [-v] [-o map.orig] map-file\n"
+msgstr "sk³adnia: %s [-v] [-o mapa.orig] plik-mapy\n"
+
+#: src/mapscrn.c:131
+#, c-format
+msgid "mapscrn: cannot open map file _%s_\n"
+msgstr "mapscrn: nie mo¿na otworzyæ pliku mapy _%s_\n"
+
+#: src/mapscrn.c:137
+msgid "Cannot stat map file"
+msgstr "Nie mo¿na wykonaæ stat na pliku mapy"
+
+#: src/mapscrn.c:142
+#, c-format
+msgid "Loading binary direct-to-font screen map from file %s\n"
+msgstr "Wczytywanie binarnej, bezpo¶redniej mapy ekranowej z pliku %s\n"
+
+#: src/mapscrn.c:147 src/mapscrn.c:158
+#, c-format
+msgid "Error reading map from file `%s'\n"
+msgstr "B³±d podczas czytania mapy z pliku `%s'\n"
+
+#: src/mapscrn.c:153
+#, c-format
+msgid "Loading binary unicode screen map from file %s\n"
+msgstr "Wczytywanie binarnej, unikodowej mapy ekranowej z pliku %s\n"
+
+#: src/mapscrn.c:165
+#, c-format
+msgid "Loading symbolic screen map from file %s\n"
+msgstr "Wczytywanie symbolicznej mapy ekranowej z pliku %s\n"
+
+#: src/mapscrn.c:169
+#, c-format
+msgid "Error parsing symbolic map from `%s', line %d\n"
+msgstr "B³±d podczas analizy mapy symbolicznej z `%s' w linii %d\n"
+
+#: src/mapscrn.c:273 src/mapscrn.c:278
+msgid "Error writing map to file\n"
+msgstr "B³±d podczas zapisu mapy do pliku\n"
+
+#: src/mapscrn.c:282
+msgid "Cannot read console map\n"
+msgstr "Nie mo¿na odczytaæ mapy konsoli\n"
+
+#: src/mapscrn.c:288
+#, c-format
+msgid "Saved screen map in `%s'\n"
+msgstr "Zapisano mapê ekranow± w `%s'\n"
+
+#: src/psffontop.c:66
+#, c-format
+msgid "%s: short ucs2 unicode table\n"
+msgstr "%s: krótka tablica unikodowa ucs2\n"
+
+#: src/psffontop.c:87
+#, c-format
+msgid "%s: short utf8 unicode table\n"
+msgstr "%s: krótka tablica unikodowa utf8\n"
+
+#: src/psffontop.c:90
+#, c-format
+msgid "%s: bad utf8\n"
+msgstr "%s: b³êdne utf8\n"
+
+#: src/psffontop.c:93
+#, c-format
+msgid "%s: unknown utf8 error\n"
+msgstr "%s: nieznany b³±d utf8\n"
+
+#: src/psffontop.c:124
+#, c-format
+msgid "%s: short unicode table\n"
+msgstr "%s: krótka tablica unikodowa\n"
+
+#: src/psffontop.c:204
+#, c-format
+msgid "%s: Error reading input font"
+msgstr "%s: B³±d podczas odczytu fontu wej¶ciowego"
+
+#: src/psffontop.c:218
+#, c-format
+msgid "%s: Bad call of readpsffont\n"
+msgstr "%s: B³êdne wywo³anie readpsffont\n"
+
+#: src/psffontop.c:233
+#, c-format
+msgid "%s: Unsupported psf file mode (%d)\n"
+msgstr "%s: Nie obs³ugiwany rodzaj pliku psf (%d)\n"
+
+#: src/psffontop.c:251
+#, c-format
+msgid "%s: Unsupported psf version (%d)\n"
+msgstr "%s: Nie obs³ugiwana wersja psf (%d)\n"
+
+#: src/psffontop.c:267
+#, c-format
+msgid "%s: zero input font length?\n"
+msgstr "%s: font wej¶ciowy zerowej d³ugo¶ci?\n"
+
+#: src/psffontop.c:272
+#, c-format
+msgid "%s: zero input character size?\n"
+msgstr "%s: znak wej¶ciowy zerowego rozmiaru?\n"
+
+#: src/psffontop.c:278
+#, c-format
+msgid "%s: Input file: bad input length (%d)\n"
+msgstr "%s: Plik wej¶ciowy: b³êdna d³ugo¶æ wej¶cia (%d)\n"
+
+#: src/psffontop.c:310
+#, c-format
+msgid "%s: Input file: trailing garbage\n"
+msgstr "%s: Plik wej¶ciowy: koñcowe ¶mieci\n"
+
+#: src/psffontop.c:348
+#, c-format
+msgid "appendunicode: illegal unicode %u\n"
+msgstr "appendunicode: b³êdny unikod %u\n"
+
+#: src/psffontop.c:434
+msgid "Cannot write font file header"
+msgstr "Nie mo¿na zapisaæ nag³ówka pliku fontu"
+
+#: src/psfxtable.c:109
+#, c-format
+msgid "%s: Warning: line too long\n"
+msgstr "%s: Uwaga: linia zbyt d³uga\n"
+
+#: src/psfxtable.c:123 src/psfxtable.c:133
+#, c-format
+msgid "%s: Bad input line: %s\n"
+msgstr "%s: B³êdna linia wej¶ciowa: %s\n"
+
+#: src/psfxtable.c:142
+#, c-format
+msgid "%s: Glyph number (0x%lx) past end of font\n"
+msgstr "%s: Numer znaku (0x%lx) wykracza poza koniec fontu\n"
+
+#: src/psfxtable.c:147
+#, c-format
+msgid "%s: Bad end of range (0x%lx)\n"
+msgstr "%s: B³êdny koniec przedzia³u (0x%lx)\n"
+
+#: src/psfxtable.c:166
+#, c-format
+msgid "%s: Corresponding to a range of font positions, there should be a Unicode range\n"
+msgstr "%s: przedzia³owi w foncie powinien odpowiadaæ przedzia³ Unikodu\n"
+
+#: src/psfxtable.c:255
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont intable outfont\n"
+msgstr ""
+"Sk³adnia:\n"
+"\t%s font-wej¶ciowy tablica-wej¶ciowa font-wyj¶ciowy\n"
+
+#: src/psfxtable.c:264
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont [outtable]\n"
+msgstr ""
+"Sk³adnia:\n"
+"\t%s font-wej¶ciowy [tablica-wyj¶ciowa]\n"
+
+#: src/psfxtable.c:273
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont outfont\n"
+msgstr ""
+"Sk³adnia:\n"
+"\t%s font-wej¶ciowy font-wyj¶ciowy\n"
+
+#: src/psfxtable.c:298
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s [-i infont] [-o outfont] [-it intable] [-ot outtable] [-nt]\n"
+msgstr ""
+"Sk³adnia:\n"
+"\t%s [-i font-wej] [-o font-wyj] [-it tab-wej] [-ot tab-wyj] [-nt]\n"
+
+#: src/psfxtable.c:358
+#, c-format
+msgid "%s: Bad magic number on %s\n"
+msgstr "%s: B³êdna liczba magiczna w %s\n"
+
+#: src/psfxtable.c:377
+#, c-format
+msgid "%s: psf file with unknown magic\n"
+msgstr "%s: plik psf z nieznanym znacznikiem\n"
+
+#: src/psfxtable.c:393
+#, c-format
+msgid "%s: input font does not have an index\n"
+msgstr "%s: font wej¶ciowy nie ma indeksu\n"
+
+#: src/resizecons.c:153
+#, c-format
+msgid "resizecons: cannot find videomode file %s\n"
+msgstr "resizecons: nie mo¿na odnale¼æ pliku trybów graficznych %s\n"
+
+#: src/resizecons.c:172
+msgid "Invalid number of lines\n"
+msgstr "B³êdna liczba linii\n"
+
+#: src/resizecons.c:238
+#, c-format
+msgid "Old mode: %dx%d  New mode: %dx%d\n"
+msgstr "Stary tryb: %dx%d  Nowy tryb: %dx%d\n"
+
+#: src/resizecons.c:240
+#, c-format
+msgid "Old #scanlines: %d  New #scanlines: %d  Character height: %d\n"
+msgstr "Stara l.skanlinii: %d  Nowa l.skanlinii: %d  Wysoko¶æ znaku: %d\n"
+
+#: src/resizecons.c:251
+#, c-format
+msgid "resizecons: the command `%s' failed\n"
+msgstr "resizecons: polecenie `%s' nie powiod³o siê\n"
+
+#: src/resizecons.c:324
+#, c-format
+msgid "resizecons: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n"
+msgstr "resizecons: trzeba zmieniæ TERM (mo¿e na con%dx%d lub linux-%dx%d)\n"
+
+#: src/resizecons.c:337
+msgid ""
+"resizecons:\n"
+"call is:  resizecons COLSxROWS  or:  resizecons COLS ROWS\n"
+"or: resizecons -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n"
+msgstr ""
+"resizecons:\n"
+"sk³adnia:  resizecons KOLUMNYxWIERSZE  lub resizecons KOLUMNY WIERSZE\n"
+"lub: resizecons -lines WIERSZE\n"
+"gdzie WIERSZE mog± byæ liczb± jedn± z: 25, 28, 30, 34, 36, 40, 44, 50, 60\n"
+
+#: src/resizecons.c:375
+msgid "resizecons: cannot get I/O permissions.\n"
+msgstr "resizecons: nie mo¿na uzyskaæ uprawnieñ do wej¶cia/wyj¶cia\n"
+
+#: src/screendump.c:48
+msgid "usage: screendump [n]\n"
+msgstr "sk³adnia: screendump [n]\n"
+
+#: src/screendump.c:78
+#, c-format
+msgid "Error reading %s\n"
+msgstr "B³±d podczas czytania %s\n"
+
+#: src/screendump.c:126
+#, c-format
+msgid "couldn't read %s, and cannot ioctl dump\n"
+msgstr "nie mo¿na odczytaæ %s, nie mo¿na zrzuciæ ioctl\n"
+
+#. we tried this just to be sure, but TIOCLINUX
+#. function 0 has been disabled since 1.1.92
+#. Do not mention `ioctl dump' in error msg
+#: src/screendump.c:132
+#, c-format
+msgid "couldn't read %s\n"
+msgstr "nie mo¿na odczytaæ %s\n"
+
+#: src/screendump.c:141
+#, c-format
+msgid "Strange ... screen is both %dx%d and %dx%d ??\n"
+msgstr "Dziwne... ekran jest jednocze¶nie %dx%d i %dx%d???\n"
+
+#: src/screendump.c:159
+msgid "Error writing screendump\n"
+msgstr "B³±d podczas zapisu zrzutu ekranu\n"
+
+#: src/setfont.c:73
+msgid ""
+"Usage: setfont [write-options] [-<N>] [newfont..] [-m consolemap] [-u unicodemap]\n"
+"  write-options (take place before file loading):\n"
+"    -o  <filename>\tWrite current font to <filename>\n"
+"    -O  <filename>\tWrite current font and unicode map to <filename>\n"
+"    -om <filename>\tWrite current consolemap to <filename>\n"
+"    -ou <filename>\tWrite current unicodemap to <filename>\n"
+"If no newfont and no -[o|O|om|ou|m|u] option is given,\n"
+"a default font is loaded:\n"
+"    setfont             Load font \"default[.gz]\"\n"
+"    setfont -<N>        Load font \"default8x<N>[.gz]\"\n"
+"The -<N> option selects a font from a codepage that contains three fonts:\n"
+"    setfont -{8|14|16} codepage.cp[.gz]   Load 8x<N> font from codepage.cp\n"
+"Explicitly (with -m or -u) or implicitly (in the fontfile) given mappings\n"
+"will be loaded and, in the case of consolemaps, activated.\n"
+"    -h<N>      (no space) Override font height.\n"
+"    -m <fn>    Load console screen map.\n"
+"    -u <fn>    Load font unicode map.\n"
+"    -m none\tSuppress loading and activation of a screen map.\n"
+"    -u none\tSuppress loading of a unicode map.\n"
+"    -v\t\tBe verbose.\n"
+"    -V\t\tPrint version and exit.\n"
+"Files are loaded from the current directory or /usr/lib/kbd/*/.\n"
+msgstr ""
+"Sk³adnia: setfont [opcje-zapisu] [-<N>] [nowyfont...] [-m mapakon] [-u unimapa]\n"
+"  opcje-zapisu (uwzglêdniane przed wczytywaniem pliku):\n"
+"    -o  <plik>\t\tZapisanie aktualnego fontu do <pliku>\n"
+"    -O  <plik>\t\tZapisanie aktualnego fontu i unimapy do <pliku>\n"
+"    -om <plik>\t\tZapisanie aktualnej mapy konsolowej do <pliku>\n"
+"    -ou <plik>\t\tZapisanie aktualnej unimapy do <pliku>\n"
+"Je¶li nie podano nowego-fontu ani opcji -[o|O|om|ou|m|u],\n"
+"wczytywany jest domy¶lny font:\n"
+"    setfont             Wczytanie fontu \"default[.gz]\"\n"
+"    setfont -<N>        Wczytanie fontu \"default8x<N>[.gz]\"\n"
+"Opcja -<N> wybiera font ze strony kodowej zawieraj±cej trzy fonty:\n"
+"    setfont -{8|14|16} strona.cp[.gz]     Wczytanie fontu 8x<N> ze strona.cp\n"
+"Bezpo¶rednio (przez -m lub -u) lub po¶rednio (w pliku fontu) podane\n"
+"odwzorowania s± wczytywane i, w przypadku map konsolowych, uaktywniane.\n"
+"    -h<N>      (bez spacji) Wymuszenie wysoko¶ci fontu.\n"
+"    -m <plik>  Wczytanie mapy konsolowej dla ekranu.\n"
+"    -u <plik>  Wczytanie mapy unikodowej dla fontu.\n"
+"    -m none\tNie wczytywanie i uaktywnianie mapy ekranowej.\n"
+"    -u none\tNie wczytywanie mapy unikodowej.\n"
+"    -v\t\tPodawanie du¿ej ilo¶ci informacji.\n"
+"    -V\t\tWypisanie informacji o wersji i zakoñczenie.\n"
+"Pliki s± wczytywane z katalogu bie¿±cego lub /usr/lib/kbd/*/.\n"
+
+#: src/setfont.c:169
+msgid "setfont: too many input files\n"
+msgstr "setfont: zbyt du¿o plików wej¶ciowych\n"
+
+#: src/setfont.c:177
+msgid "setfont: cannot both restore from character ROM and from file. Font unchanged.\n"
+msgstr "setfont: nie mo¿na jednocze¶nie odtworzyæ z ROM-u i z pliku. Font nie zmieniony.\n"
+
+#: src/setfont.c:236
+#, c-format
+msgid "Bad character height %d\n"
+msgstr "B³êdna wysoko¶æ znaku %d\n"
+
+#: src/setfont.c:240
+#, c-format
+msgid "Bad character width %d\n"
+msgstr "B³êdna szeroko¶æ znaku %d\n"
+
+#: src/setfont.c:265
+#, c-format
+msgid "%s: font position 32 is nonblank\n"
+msgstr "%s: pozycja 32 w foncie nie jest pusta\n"
+
+#: src/setfont.c:273
+#, c-format
+msgid "%s: wiped it\n"
+msgstr "%s: wyczyszczono\n"
+
+#: src/setfont.c:277
+#, c-format
+msgid "%s: background will look funny\n"
+msgstr "%s: t³o bêdzie wygl±daæ zabawnie\n"
+
+#: src/setfont.c:287
+#, c-format
+msgid "Loading %d-char %dx%d font from file %s\n"
+msgstr "Wczytywanie %d-znakowego fontu %dx%d z pliku %s\n"
+
+#: src/setfont.c:290
+#, c-format
+msgid "Loading %d-char %dx%d font\n"
+msgstr "Wczytywanie %d-znakowego fontu %dx%d\n"
+
+#: src/setfont.c:293
+#, c-format
+msgid "Loading %d-char %dx%d (%d) font from file %s\n"
+msgstr "Wczytywanie %d-znakowego fontu %dx%d (%d) z pliku %s\n"
+
+#: src/setfont.c:296
+#, c-format
+msgid "Loading %d-char %dx%d (%d) font\n"
+msgstr "Wczytywanie %d-znakowego fontu %dx%d (%d)\n"
+
+#: src/setfont.c:336
+#, c-format
+msgid "%s: bug in do_loadtable\n"
+msgstr "%s: b³±d w do_loadtable\n"
+
+#: src/setfont.c:342
+msgid "Loading Unicode mapping table...\n"
+msgstr "Wczytywanie tablicy odwzorowania Unikodu...\n"
+
+#: src/setfont.c:378 src/setfont.c:462
+#, c-format
+msgid "Cannot open font file %s\n"
+msgstr "Nie mo¿na otworzyæ pliku fontu %s\n"
+
+#: src/setfont.c:389
+#, c-format
+msgid "When loading several fonts, all must be psf fonts - %s isn't\n"
+msgstr "Przy wczytywaniu kilku fontów, wszystkie musz± byæ psf - %s nie jest\n"
+
+#: src/setfont.c:397
+#, c-format
+msgid "Read %d-char %dx%d font from file %s\n"
+msgstr "Wczytywanie %d-znakowego fontu %dx%d z pliku %s\n"
+
+#: src/setfont.c:403
+msgid "When loading several fonts, all must have the same height\n"
+msgstr "Przy wczytywaniu kilku fontów, wszystkie musz± mieæ tê sam± wysoko¶æ\n"
+
+#: src/setfont.c:410
+msgid "When loading several fonts, all must have the same width\n"
+msgstr "Przy wczytywaniu kilku fontów, wszystkie musz± mieæ tê sam± szeroko¶æ\n"
+
+#: src/setfont.c:449
+msgid "Cannot find default font\n"
+msgstr "Nie mo¿na znale¼æ domy¶lnego fontu\n"
+
+#: src/setfont.c:456
+#, c-format
+msgid "Cannot find %s font\n"
+msgstr "Nie mo¿na znale¼æ fontu %s\n"
+
+#: src/setfont.c:468
+#, c-format
+msgid "Reading font file %s\n"
+msgstr "Czytanie pliku fontu %s\n"
+
+#: src/setfont.c:506
+msgid "No final newline in combine file\n"
+msgstr "Brak ostatniego znaku koñca linii w pliku do³±czanym\n"
+
+#: src/setfont.c:512
+msgid "Too many files to combine\n"
+msgstr "Zbyt du¿o plików do po³±czenia\n"
+
+#. restorefont -w writes a SVGA font to file
+#. restorefont -r restores it
+#. These fonts have size 32768, for two 512-char fonts.
+#. In fact, when BROKEN_GRAPHICS_PROGRAMS is defined,
+#. and it always is, there is no default font that is saved,
+#. so probably the second half is always garbage.
+#: src/setfont.c:536
+msgid "Hmm - a font from restorefont? Using the first half.\n"
+msgstr "Hmm - font z restorefont? U¿ywanie pierwszej po³owy.\n"
+
+#: src/setfont.c:553
+msgid "Bad input file size\n"
+msgstr "B³êdny rozmiar pliku wej¶ciowego\n"
+
+#: src/setfont.c:574
+msgid ""
+"This file contains 3 fonts: 8x8, 8x14 and 8x16. Please indicate\n"
+"using an option -8 or -14 or -16 which one you want loaded.\n"
+msgstr ""
+"Ten plik zawiera 3 fonty: 8x8, 8x14 i 8x16. Proszê podaæ przy\n"
+"u¿yciu opcji -8, -14 lub -16, który z nich ma byæ wczytany.\n"
+
+#: src/setfont.c:588
+#, c-format
+msgid "You asked for font size %d, but only 8, 14, 16 are possible here.\n"
+msgstr "Wybrano rozmiar fontu %d, ale mo¿liwe s± tylko 8, 14, 16.\n"
+
+#: src/setfont.c:633
+msgid "Found nothing to save\n"
+msgstr "Nie znaleziono nic do zapisania\n"
+
+#: src/setfont.c:637
+msgid "Cannot write font file"
+msgstr "Nie mo¿na zapisaæ pliku fontu"
+
+#: src/setfont.c:642
+#, c-format
+msgid "Saved %d-char %dx%d font file on %s\n"
+msgstr "Zapisano %d-znakowy font %dx%d do pliku %s\n"
+
+#: src/setkeycodes.c:21
+msgid ""
+"usage: setkeycode scancode keycode ...\n"
+" (where scancode is either xx or e0xx, given in hexadecimal,\n"
+"  and keycode is given in decimal)\n"
+msgstr ""
+"sk³adnia: setkeycode skankod kod-klawisza ...\n"
+" (gdzie skankod to xx lub e0xx, podany szesnastkowo,\n"
+"  a kod klawisza jest podany dziesiêtnie)\n"
+
+#: src/setkeycodes.c:43
+msgid "even number of arguments expected"
+msgstr "oczekiwano parzystej liczby argumentów"
+
+#: src/setkeycodes.c:50
+msgid "error reading scancode"
+msgstr "b³±d podczas czytania skankodu"
+
+#: src/setkeycodes.c:56
+msgid "code outside bounds"
+msgstr "kod spoza zakresu"
+
+#: src/setkeycodes.c:59
+#, c-format
+msgid "failed to set scancode %x to keycode %d\n"
+msgstr "ustawienie skankodu %x na kod klawisza %d nie powiod³o siê\n"
+
+#: src/setleds.c:25
+#, c-format
+msgid ""
+"Usage:\n"
+"\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n"
+"Thus,\n"
+"\tsetleds +caps -num\n"
+"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n"
+"The settings before and after the change (if any) are reported\n"
+"when the -v option is given or when no change is requested.\n"
+"Normally, setleds influences the vt flag settings\n"
+"(and these are usually reflected in the leds).\n"
+"With -L, setleds only sets the leds, and leaves the flags alone.\n"
+"With -D, setleds sets both the flags and the default flags, so\n"
+"that a subsequent reset will not change the flags.\n"
+msgstr ""
+"Sk³adnia:\n"
+"\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n"
+"Czyli:\n"
+"\tsetleds +caps -num\n"
+"w³±czy CapsLock, wy³±czy NumLock, a ScrollLock pozostawi nie zmieniony.\n"
+"Ustawienia przed i po zmianie (je¶li taka zachodzi) s± raportowane,\n"
+"je¶li podano opcjê -v lub nie za¿±dano zmiany.\n"
+"Normalnie setleds wp³ywa na ustawienia flag vt\n"
+"(a te zazwyczaj maj± odzwierciedlenie w stanie diod).\n"
+"Przy -L, setleds ustawia tylko diody, pozostawiaj±c stare flagi.\n"
+"Przy -D, setleds ustawia flagi i domy¶lne flagi, wiêc nastêpuj±cy\n"
+"potem reset nie zmieni flag.\n"
+
+#: src/setleds.c:47
+msgid "on "
+msgstr "w³. "
+
+#: src/setleds.c:47
+msgid "off"
+msgstr "wy³."
+
+#: src/setleds.c:90
+msgid "Error reading current led setting. Maybe stdin is not a VT?\n"
+msgstr "B³±d podczas odczytu aktualnych ustawieñ diod. Mo¿e stdin nie jest VT?\n"
+
+#: src/setleds.c:109
+msgid "Error reading current flags setting. Maybe you are not on the console?\n"
+msgstr "B³±d podczas odczytu aktualnych ustawieñ flag. Mo¿e wywo³anie nie na konsoli?\n"
+
+#: src/setleds.c:123 src/setleds.c:138
+msgid "Error reading current led setting from /dev/kbd.\n"
+msgstr "B³±d podczas odczytu aktualnych ustawieñ diod z /dev/kbd.\n"
+
+#: src/setleds.c:127
+msgid "KIOCGLED unavailable?\n"
+msgstr "KIOCGLED niedostêpne?\n"
+
+#: src/setleds.c:142
+msgid "KIOCSLED unavailable?\n"
+msgstr "KIOCSLED niedostêpne?\n"
+
+#: src/setleds.c:169
+msgid "Error opening /dev/kbd.\n"
+msgstr "B³±d podczas otwierania /dev/kbd.\n"
+
+#: src/setleds.c:201
+msgid "Error resetting ledmode\n"
+msgstr "B³±d podczas resetowania trybu diod.\n"
+
+#: src/setleds.c:210
+msgid "Current default flags:  "
+msgstr "Aktualne flagi domy¶lne: "
+
+#: src/setleds.c:214
+msgid "Current flags:          "
+msgstr "Aktualne flagi:          "
+
+#: src/setleds.c:218
+msgid "Current leds:           "
+msgstr "Aktualne diody:          "
+
+#: src/setleds.c:254 src/setmetamode.c:94
+#, c-format
+msgid ""
+"unrecognized argument: _%s_\n"
+"\n"
+msgstr ""
+"nierozpoznany argument: _%s_\n"
+"\n"
+
+#: src/setleds.c:263
+msgid "Old default flags:    "
+msgstr "Stare domy¶lne flagi: "
+
+#: src/setleds.c:265
+msgid "New default flags:    "
+msgstr "Nowe domy¶lne flagi:  "
+
+#: src/setleds.c:272
+msgid "Old flags:            "
+msgstr "Stare flagi:          "
+
+#: src/setleds.c:274
+msgid "New flags:            "
+msgstr "Nowe flagi:           "
+
+#: src/setleds.c:288 src/setleds.c:297
+msgid "Old leds:             "
+msgstr "Stare diody:          "
+
+#: src/setleds.c:290 src/setleds.c:299
+msgid "New leds:             "
+msgstr "Nowe diody:           "
+
+#: src/setmetamode.c:20
+msgid ""
+"Usage:\n"
+"\tsetmetamode [ metabit | meta | bit | escprefix | esc | prefix ]\n"
+"Each vt has his own copy of this bit. Use\n"
+"\tsetmetamode [arg] < /dev/ttyn\n"
+"to change the settings of another vt.\n"
+"The setting before and after the change are reported.\n"
+msgstr ""
+"Sk³adnia:\n"
+"\tsetmetamode [metabit | meta | bit | escprefix | esc | prefix ]\n"
+"Ka¿dy vt ma w³asn± kopiê tego bitu. U¿ycie\n"
+"\tsetmetamode [arg] < /dev/ttyn\n"
+"zmienia ustawienia innego vt.\n"
+"Ustawienia przed i po zmianie s± raportowane.\n"
+
+#: src/setmetamode.c:36
+msgid "Meta key sets high order bit\n"
+msgstr "Klawisz Meta ustawia najbardziej znacz±cy bit\n"
+
+#: src/setmetamode.c:39
+msgid "Meta key gives Esc prefix\n"
+msgstr "Klawisz Meta daje przedrostek Esc\n"
+
+#: src/setmetamode.c:42
+msgid "Strange mode for Meta key?\n"
+msgstr "Dziwny tryb dla klawisza Meta?\n"
+
+#: src/setmetamode.c:78
+msgid "Error reading current setting. Maybe stdin is not a VT?\n"
+msgstr "B³±d podczas czytania aktualnego ustawienia. Mo¿e stdin nie jest VT?\n"
+
+#: src/setmetamode.c:98
+msgid "old state:    "
+msgstr "stary stan:   "
+
+#: src/setmetamode.c:104
+msgid "new state:    "
+msgstr "nowy stan:    "
+
+#: src/setvesablank.c:23
+#, c-format
+msgid "usage: %s\n"
+msgstr "sk³adnia: %s\n"
+
+#: src/showconsolefont.c:31
+msgid "failed to restore original translation table\n"
+msgstr "odtworzenie oryginalnej tablicy translacji nie powiod³o siê\n"
+
+#: src/showconsolefont.c:36
+msgid "failed to restore original unimap\n"
+msgstr "odtworzenie oryginalnej unimapy nie powiod³o siê\n"
+
+#: src/showconsolefont.c:54
+msgid "cannot change translation table\n"
+msgstr "nie mo¿na zmieniæ tablicy translacji\n"
+
+#: src/showconsolefont.c:61
+#, c-format
+msgid "%s: out of memory?\n"
+msgstr "%s: brak pamiêci?\n"
+
+#: src/showconsolefont.c:102
+msgid ""
+"usage: showconsolefont [-v|-V]\n"
+"(probably after loading a font with `setfont font')\n"
+msgstr ""
+"sk³adnia: showconsolefont [-v|-V]\n"
+"(prawdopodobnie po wczytaniu fontu przez `setfont font')\n"
+
+#: src/showkey.c:42
+msgid "?UNKNOWN?"
+msgstr "?NIEZNANY?"
+
+#: src/showkey.c:44
+#, c-format
+msgid "kb mode was %s\n"
+msgstr "tryb kb by³ %s\n"
+
+#: src/showkey.c:46
+msgid ""
+"[ if you are trying this under X, it might not work\n"
+"since the X server is also reading /dev/console ]\n"
+msgstr ""
+"[ je¶li to jest wykonywane pod X, mo¿e nie dzia³aæ\n"
+"poniewa¿ X serwer tak¿e czyta /dev/console ]\n"
+
+#: src/showkey.c:65
+#, c-format
+msgid "caught signal %d, cleaning up...\n"
+msgstr "z³apano sygna³ %d, sprz±tanie...\n"
+
+#: src/showkey.c:79
+#, c-format
+msgid ""
+"showkey version %s\n"
+"\n"
+"usage: showkey [options...]\n"
+"\n"
+"valid options are:\n"
+"\n"
+"\t-h --help\tdisplay this help text\n"
+"\t-a --ascii\tdisplay the decimal/octal/hex values of the keys\n"
+"\t-s --scancodes\tdisplay only the raw scan-codes\n"
+"\t-k --keycodes\tdisplay only the interpreted keycodes (default)\n"
+msgstr ""
+"showkey wersja %s\n"
+"\n"
+"sk³adnia: showkey [opcje...]\n"
+"\n"
+"poprawne opcje to:\n"
+"\n"
+"\t-h --help\twy¶wietlenie tego opisu\n"
+"\t-a --ascii\twarto¶ci dziesiêtne/ósemkowe/szesnastkowe klawiszy\n"
+"\t-s --scancodes\ttylko surowe skankody\n"
+"\t-k --keycodes\ttylko interpretowane kody klawiszy (domy¶lne)\n"
+
+#: src/showkey.c:157
+msgid ""
+"\n"
+"Press any keys - Ctrl-D will terminate this program\n"
+"\n"
+msgstr ""
+"\n"
+"Mo¿na naciskaæ dowolne klawisze - Ctrl-D przerwie ten program\n"
+"\n"
+
+#: src/showkey.c:226
+msgid "press any key (program terminates 10s after last keypress)...\n"
+msgstr "proszê nacisn±æ dowolny klawisz (program zakoñczy siê 10s po ostatnim)...\n"
+
+#: src/showkey.c:234
+#, c-format
+msgid "keycode %3d %s\n"
+msgstr "kod klawisza %3d %s\n"
+
+#: src/showkey.c:236
+msgid "release"
+msgstr "puszczenie"
+
+#: src/showkey.c:237
+msgid "press"
+msgstr "naci¶niêcie"
+
+#: src/version.h:18
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s z %s\n"
diff --git a/po/ro.po b/po/ro.po
new file mode 100644
index 0000000..c6bb0dc
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,1229 @@
+# Mesajele în limba românã pentru pachetul kbd.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul kbd.
+# Eugen Hoanca <eugenh@urban-grafx.ro>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kbd 1.08\n"
+"POT-Creation-Date: 2002-10-25 09:40-0400\n"
+"PO-Revision-Date: 2003-11-20 17:33+0200\n"
+"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
+"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: openvt/openvt.c:67
+#, c-format
+msgid "openvt: %s: illegal vt number\n"
+msgstr "openvt: %s: numãr vt ilegal\n"
+
+#: openvt/openvt.c:91
+msgid "openvt: only root can use the -u flag.\n"
+msgstr "openvt: doar root-ul poate folosi marcajul(flag) -u.\n"
+
+#: openvt/openvt.c:105 src/getfd.c:68
+msgid "Couldnt get a file descriptor referring to the console\n"
+msgstr "Nu am putut gãsi un descriptor de fiºier care sã se refere la aceastã consolã\n"
+
+#: openvt/openvt.c:117
+msgid "openvt: cannot find a free vt\n"
+msgstr "openvt: nu pot gãsi un vt liber\n"
+
+#: openvt/openvt.c:122
+#, c-format
+msgid "openvt: cannot check whether vt %d is free\n"
+msgstr "openvt: nu pot verifica dacã vt %d este liber\n"
+
+#: openvt/openvt.c:123 openvt/openvt.c:128
+msgid "        use `openvt -f' to force.\n"
+msgstr "        folosiþi `openvt -f' pentru a forþa.\n"
+
+#: openvt/openvt.c:127
+#, c-format
+msgid "openvt: vt %d is in use; command aborted\n"
+msgstr "openvt: vt %d este în uz; se renunþã la comandã\n"
+
+#: openvt/openvt.c:155
+#, c-format
+msgid "openvt: Unable to open %s: %s\n"
+msgstr "openvt: Nu se poate deschide %s: %s\n"
+
+#: openvt/openvt.c:167
+#, c-format
+msgid "openvt: Cannot open %s read/write (%s)\n"
+msgstr "openvt: Nu se poate deschide %s citire/scriere (%s)\n"
+
+#: openvt/openvt.c:205
+#, c-format
+msgid "openvt: using VT %s\n"
+msgstr "openvt: se foloseºte VT %s\n"
+
+#: openvt/openvt.c:217
+#, c-format
+msgid "openvt: Unable to set new session (%s)\n"
+msgstr "openvt: nu se poate seta sesiune nouã (%s)\n"
+
+#: openvt/openvt.c:225
+#, c-format
+msgid ""
+"\n"
+"openvt: could not open %s R/W (%s)\n"
+msgstr ""
+"\n"
+"openvt: nu se poate deschide %s R/W (%s)\n"
+
+#: openvt/openvt.c:281
+#, c-format
+msgid "openvt: could not deallocate console %d\n"
+msgstr "openvt: nu se poate derepartiza(deallocate) consola %d\n"
+
+#: src/chvt.c:28
+msgid "usage: chvt N\n"
+msgstr "folosire: chvt N\n"
+
+#: src/deallocvt.c:33
+#, c-format
+msgid "%s: unknown option\n"
+msgstr "%s: opþiune necunoscutã\n"
+
+#: src/deallocvt.c:45
+#, c-format
+msgid "%s: deallocating all unused consoles failed\n"
+msgstr "%s: dealocarea tuturor consolelor nefolosite a eºuat\n"
+
+#: src/deallocvt.c:53
+#, c-format
+msgid "%s: 0: illegal VT number\n"
+msgstr "%s: 0: numãr VT ilegal\n"
+
+#: src/deallocvt.c:57
+#, c-format
+msgid "%s: VT 1 is the console and cannot be deallocated\n"
+msgstr "%s: VT 1 este consola ºi nu poate fi dealocatã\n"
+
+#: src/deallocvt.c:63
+#, c-format
+msgid "%s: could not deallocate console %d\n"
+msgstr "%s:nu se poate derepartiza(deallocate) consola %d\n"
+
+#: src/dumpkeys.c:63
+#, c-format
+msgid "KDGKBENT error at index 0 in table %d: "
+msgstr "eroare KDGKBENT la indexul 0 din tabelul %d: "
+
+#: src/dumpkeys.c:76
+#, c-format
+msgid "%s: cannot find any keymaps?\n"
+msgstr "%s: nu pot gãsi nici o mapare de taste?\n"
+
+#: src/dumpkeys.c:81
+#, c-format
+msgid "%s: plain map not allocated? very strange ...\n"
+msgstr "%s: maparea simplã(plain) nealocatã? foarte ciudat ...\n"
+
+#: src/dumpkeys.c:113
+#, c-format
+msgid "KDGKBENT error at index %d in table %d: "
+msgstr "eroare KDGKBENT la indexul %d în tabelul %d: "
+
+#: src/dumpkeys.c:241
+#, c-format
+msgid "keycode range supported by kernel:           1 - %d\n"
+msgstr "domeniu cod de taste suportat de kernel:           1 - %d\n"
+
+#: src/dumpkeys.c:243
+#, c-format
+msgid "max number of actions bindable to a key:         %d\n"
+msgstr "numãr maxim de acþiuni legate(bindable) de o tastã:         %d\n"
+
+#: src/dumpkeys.c:246
+#, c-format
+msgid "number of keymaps in actual use:                 %d\n"
+msgstr "numãr de mapãri de taste în folosire actualã:                 %d\n"
+
+#: src/dumpkeys.c:249
+#, c-format
+msgid "of which %d dynamically allocated\n"
+msgstr "din care %d alocate dinamic\n"
+
+#: src/dumpkeys.c:250
+msgid "ranges of action codes supported by kernel:\n"
+msgstr "interval de coduri de acþiune suportat de kernel:\n"
+
+#: src/dumpkeys.c:255
+#, c-format
+msgid "number of function keys supported by kernel: %d\n"
+msgstr "numãr taste de funcþii suportat de kernel: %d.\n"
+
+#: src/dumpkeys.c:258
+#, c-format
+msgid "max nr of compose definitions: %d\n"
+msgstr "nr max de definiþii compuse: %d\n"
+
+#: src/dumpkeys.c:260
+#, c-format
+msgid "nr of compose definitions in actual use: %d\n"
+msgstr "nr de definiþii compuse actualmente în folosire: %d\n"
+
+#: src/dumpkeys.c:284
+#, c-format
+msgid ""
+"Symbols recognized by %s:\n"
+"(numeric value, symbol)\n"
+"\n"
+msgstr ""
+"Simboluri recunoscute de %s:\n"
+"(valoare numericã, simbol)\n"
+"\n"
+
+#: src/dumpkeys.c:297
+msgid ""
+"\n"
+"The following synonyms are recognized:\n"
+"\n"
+msgstr ""
+"\n"
+"Urmãtoarele sinonime sunt recunoscute:\n"
+"\n"
+
+#: src/dumpkeys.c:299
+#, c-format
+msgid "%-15s for %s\n"
+msgstr "%-15s pentru %s\n"
+
+#: src/dumpkeys.c:301
+msgid ""
+"\n"
+"Recognized modifier names and their column numbers:\n"
+msgstr ""
+"\n"
+"S-au recunoscut numele modificatorilor ºi numerele lor de coloane:\n"
+
+#: src/dumpkeys.c:364
+#, c-format
+msgid "# not alt_is_meta: on keymap %d key %d is bound to"
+msgstr "# diferit de alt_is_meta: în maparea de taste %d tasta %d este legatã de"
+
+#: src/dumpkeys.c:439
+msgid "impossible: not meta?\n"
+msgstr "imposibil: non meta?\n"
+
+#: src/dumpkeys.c:496
+#, c-format
+msgid "KDGKBSENT failed at index %d: "
+msgstr "eroare KDGKBSENT la indexul %d: "
+
+#: src/dumpkeys.c:516
+#, c-format
+msgid "dumpkeys version %s"
+msgstr "dumpkeys versiune %s"
+
+#: src/dumpkeys.c:517
+msgid ""
+"\n"
+"usage: dumpkeys [options...]\n"
+"\n"
+"valid options are:\n"
+"\n"
+"\t-h --help\t    display this help text\n"
+"\t-i --short-info\t    display information about keyboard driver\n"
+"\t-l --long-info\t    display above and symbols known to loadkeys\n"
+"\t-n --numeric\t    display keytable in hexadecimal notation\n"
+"\t-f --full-table\t    don't use short-hand notations, one row per keycode\n"
+"\t-1 --separate-lines one line per (modifier,keycode) pair\n"
+"\t   --funcs-only\t    display only the function key strings\n"
+"\t   --keys-only\t    display only key bindings\n"
+"\t   --compose-only   display only compose key combinations\n"
+"\t-c --charset="
+msgstr ""
+"\n"
+"folosire: dumpkeys [opþiuni...]\n"
+"\n"
+"opþiuni valide:\n"
+"\n"
+"\t-h --help\t    afiºeazã acest text de ajutor\n"
+"\t-i --short-info\t    afiºeazã informaþii despre driverul de tastaturã\n"
+"\t-l --long-info\t    afiºeazã cele de mai sus ºi simbolurile cunoscute loadkeys\n"
+"\t-n --numeric\t    afiºeazã tabela de taste în notare hexazecimalã\n"
+"\t-f --full-table\t    nu foloseºte notaþii scurte, ci un rând pe cod_tastã\n"
+"\t-1 --separate-lines o linie pe (modificator,cod_tastã) pereche\n"
+"\t   --funcs-only\t    afiºeazã numai ºirurile tastei de funcþii\n"
+"\t   --keys-only\t    afiºeazã numai legãturile(bindings) tastelor\n"
+"\t   --compose-only   afiºeazã doar combinaþiile tastelor compuse\n"
+"\t-c --charset="
+
+#: src/dumpkeys.c:534
+msgid ""
+"\t\t\t    interpret character action codes to be from the\n"
+"\t\t\t    specified character set\n"
+msgstr ""
+"\t\t\t    interpreteazã codurile de acþiune ale caracterelor ce vor fi luate\n"
+"\t\t\t    din setul de caractere specificat\n"
+
+#: src/findfile.c:43
+#, c-format
+msgid "error executing  %s\n"
+msgstr "eroare în executarea  %s\n"
+
+#: src/getkeycodes.c:18
+msgid "usage: getkeycodes\n"
+msgstr "folosire: getkeycodes\n"
+
+#: src/getkeycodes.c:39
+msgid "Plain scancodes xx (hex) versus keycodes (dec)\n"
+msgstr "Scancodes normale(plain) xx (hex) versus keycodes (dec)\n"
+
+#: src/getkeycodes.c:40
+msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n"
+msgstr "0 este eroare; pentru 1-88 (0x01-0x58) codul de scan(scancode) egal codul tastei\n"
+
+#: src/getkeycodes.c:44
+msgid ""
+"\n"
+"\n"
+"Escaped scancodes e0 xx (hex)\n"
+msgstr ""
+"\n"
+"\n"
+"Coduri scanare de escape e0 xx (hex)\n"
+
+#: src/getkeycodes.c:64
+#, c-format
+msgid "failed to get keycode for scancode 0x%x\n"
+msgstr "eroare în primirea codului de tastã(keycode) pentru codul de scan(scancode) 0x%x\n"
+
+#: src/getunimap.c:49
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s [-s]\n"
+msgstr ""
+"Folosire:\n"
+"\t%s [-s]\n"
+
+#: src/kbd_mode.c:18
+msgid "usage: kbd_mode [-a|-u|-k|-s]\n"
+msgstr "folosire: kbd_mode [-a|-u|-k|-s]\n"
+
+#: src/kbd_mode.c:41
+msgid "kbd_mode: error reading keyboard mode\n"
+msgstr "kbd_mode: eroare în citirea modului tastaturii\n"
+
+#: src/kbd_mode.c:46
+msgid "The keyboard is in raw (scancode) mode\n"
+msgstr "Tastatura este în mod brut (scancode)\n"
+
+#: src/kbd_mode.c:49
+msgid "The keyboard is in mediumraw (keycode) mode\n"
+msgstr "Tastatura este în mod mediu-brut (keycode)\n"
+
+#: src/kbd_mode.c:52
+msgid "The keyboard is in the default (ASCII) mode\n"
+msgstr "Tastatura este în modul implicit (ASCII)\n"
+
+#: src/kbd_mode.c:55
+msgid "The keyboard is in Unicode (UTF-8) mode\n"
+msgstr "Tastatura este în modul Unicode (UTF-8)\n"
+
+#: src/kbd_mode.c:58
+msgid "The keyboard is in some unknown mode\n"
+msgstr "Tastatura este într-un mod necunoscut\n"
+
+#: src/kbd_mode.c:76
+#, c-format
+msgid "%s: error setting keyboard mode\n"
+msgstr "%s: eroare în setarea modului tastaturii\n"
+
+#: src/kbdrate.c:149 src/kbdrate.c:284
+#, c-format
+msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
+msgstr "Rata de Tipãrire(Typematic) setatã la %.1f cps (întârziere = %d ms)\n"
+
+#: src/kbdrate.c:229
+msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+msgstr "Folosire: kbdrate [-V] [-s] [-r ratã] [-d întârziere]\n"
+
+#: src/kbdrate.c:259
+msgid "Cannot open /dev/port"
+msgstr "Nu se poate deschide /dev/port"
+
+#: src/kdfontop.c:193
+msgid "bug: getfont called with count<256\n"
+msgstr "bug: getfont apelat cu numãr(count)<256\n"
+
+#: src/kdfontop.c:252 src/xmalloc.c:14
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: memorie plinã\n"
+
+#: src/ksyms.c:1674
+#, c-format
+msgid "unknown charset %s - ignoring charset request\n"
+msgstr "set de caractere %s necunoscut - se ignorã cererea de set de caractere\n"
+
+#: src/ksyms.c:1746
+#, c-format
+msgid "assuming iso-8859-1 %s\n"
+msgstr "se presupune iso-8859-1 %s\n"
+
+#: src/ksyms.c:1753
+#, c-format
+msgid "assuming iso-8859-15 %s\n"
+msgstr "se presupune iso-8859-15 %s\n"
+
+#: src/ksyms.c:1760
+#, c-format
+msgid "assuming iso-8859-2 %s\n"
+msgstr "se presupune iso-8859-2 %s\n"
+
+#: src/ksyms.c:1767
+#, c-format
+msgid "assuming iso-8859-3 %s\n"
+msgstr "se presupune iso-8859-3 %s\n"
+
+#: src/ksyms.c:1774
+#, c-format
+msgid "assuming iso-8859-4 %s\n"
+msgstr "se presupune iso-8859-4 %s\n"
+
+#: src/ksyms.c:1779
+#, c-format
+msgid "unknown keysym '%s'\n"
+msgstr "keysym '%s' necunoscut\n"
+
+#: src/ksyms.c:1814
+#, c-format
+msgid "plus before %s ignored\n"
+msgstr "plus înainte de %s ignorat\n"
+
+#: src/loadunimap.c:62
+#, c-format
+msgid "usage: %s [-o map.orig] [map-file]\n"
+msgstr "folosire: %s [-o map.orig] [fiºier-mapare]\n"
+
+#: src/loadunimap.c:152 src/loadunimap.c:163
+#, c-format
+msgid "Bad input line: %s\n"
+msgstr "Linie de intrare(input) greºitã: %s\n"
+
+#: src/loadunimap.c:172
+#, c-format
+msgid "%s: Glyph number (0x%x) larger than font length\n"
+msgstr "%s: Numãrul reprezentãrii(glyph) (0x%x) mai mare decât fontul\n"
+
+#: src/loadunimap.c:178
+#, c-format
+msgid "%s: Bad end of range (0x%x)\n"
+msgstr "%s: Sfârºit de interval eronat (0x%x)\n"
+
+#: src/loadunimap.c:208 src/psfxtable.c:175
+#, c-format
+msgid "%s: Bad Unicode range corresponding to font position range 0x%x-0x%x\n"
+msgstr "%s: Interval Unicode greºit corespunzãtor intervalului de poziþie font 0x%x-0x%x\n"
+
+#: src/loadunimap.c:215 src/psfxtable.c:182
+#, c-format
+msgid "%s: Unicode range U+%x-U+%x not of the same length as font position range 0x%x-0x%x\n"
+msgstr "%s: Intervalul Unicode U+%x-U+%x nu are aceeaºi mãrime ca intervalul de poziþie al fontului 0x%x-0x%x\n"
+
+#: src/loadunimap.c:234 src/psfxtable.c:203
+#, c-format
+msgid "%s: trailing junk (%s) ignored\n"
+msgstr "%s: gunoiul(junk) de la sfârºit (%s) ignorat\n"
+
+#: src/loadunimap.c:251
+#, c-format
+msgid "Loading unicode map from file %s\n"
+msgstr "Se încarcã maparea unicode din fiºierul %s\n"
+
+#: src/loadunimap.c:257
+#, c-format
+msgid "%s: %s: Warning: line too long\n"
+msgstr "%s: %s: Avertisment: linie prea lungã\n"
+
+#: src/loadunimap.c:267
+#, c-format
+msgid ""
+"%s: not loading empty unimap\n"
+"(if you insist: use option -f to override)\n"
+msgstr ""
+"%s: nu s-a încãrcat unimap-ul vid\n"
+"(dacã inistaþi: folosiþi opþiunea -f pentru suprascriere(override))\n"
+
+#: src/loadunimap.c:288
+msgid "entry"
+msgstr "intrare"
+
+#: src/loadunimap.c:288
+msgid "entries"
+msgstr "intrãri"
+
+#: src/loadunimap.c:314
+#, c-format
+msgid "Saved unicode map on `%s'\n"
+msgstr "S-a salvat maparea unicode în `%s'\n"
+
+#: src/loadunimap.c:334
+msgid "Appended Unicode map\n"
+msgstr "S-a adãugat(appended) maparea Unicode\n"
+
+#: src/mapscrn.c:66
+#, c-format
+msgid "usage: %s [-v] [-o map.orig] map-file\n"
+msgstr "folosire: %s [-v] [-o map.orig] fiºier-mapare\n"
+
+#: src/mapscrn.c:131
+#, c-format
+msgid "mapscrn: cannot open map file _%s_\n"
+msgstr "mapscrn: nu se poate deschide fiºierul de mapare _%s_\n"
+
+#: src/mapscrn.c:137
+msgid "Cannot stat map file"
+msgstr "Nu se poate gãsi starea(stat) fiºierului de mapare"
+
+#: src/mapscrn.c:142
+#, c-format
+msgid "Loading binary direct-to-font screen map from file %s\n"
+msgstr "Se încarcã maparea de ecran binarã direct-la-font din fiºierul %s\n"
+
+#: src/mapscrn.c:147 src/mapscrn.c:158
+#, c-format
+msgid "Error reading map from file `%s'\n"
+msgstr "Eroare în citirea mapãrii din fiºierul `%s'\n"
+
+#: src/mapscrn.c:153
+#, c-format
+msgid "Loading binary unicode screen map from file %s\n"
+msgstr "Se încarcã maparea de ecran binarã unicode din fiºierul %s\n"
+
+#: src/mapscrn.c:165
+#, c-format
+msgid "Loading symbolic screen map from file %s\n"
+msgstr "Se încarcã maparea de ecran simbolicã din fiºierul %s\n"
+
+#: src/mapscrn.c:169
+#, c-format
+msgid "Error parsing symbolic map from `%s', line %d\n"
+msgstr "Eroare in analiza(parsing) mapãrii simbolice din `%s', linia `%d'\n"
+
+#: src/mapscrn.c:273 src/mapscrn.c:278
+msgid "Error writing map to file\n"
+msgstr "Eroare în scrierea mapãrii în fiºier\n"
+
+#: src/mapscrn.c:282
+msgid "Cannot read console map\n"
+msgstr "Nu se poate citi maparea consolei\n"
+
+#: src/mapscrn.c:288
+#, c-format
+msgid "Saved screen map in `%s'\n"
+msgstr "S-a salvat maparea ecranului în `%s'\n"
+
+#: src/psffontop.c:66
+#, c-format
+msgid "%s: short ucs2 unicode table\n"
+msgstr "%s: tabel scurt ucs2 unicode\n"
+
+#: src/psffontop.c:87
+#, c-format
+msgid "%s: short utf8 unicode table\n"
+msgstr "%s: tabel scurt utf8 unicode\n"
+
+#: src/psffontop.c:90
+#, c-format
+msgid "%s: bad utf8\n"
+msgstr "%s: utf8 eronat\n"
+
+#: src/psffontop.c:93
+#, c-format
+msgid "%s: unknown utf8 error\n"
+msgstr "%s: eroare utf8 necunoscutã\n"
+
+#: src/psffontop.c:124
+#, c-format
+msgid "%s: short unicode table\n"
+msgstr "%s: tabel scurt unicode\n"
+
+#: src/psffontop.c:204
+#, c-format
+msgid "%s: Error reading input font"
+msgstr "%s: Eroare în citirea fontului de intrare(input)"
+
+#: src/psffontop.c:218
+#, c-format
+msgid "%s: Bad call of readpsffont\n"
+msgstr "%s: Apelare greºitã a readpsffont\n"
+
+#: src/psffontop.c:233
+#, c-format
+msgid "%s: Unsupported psf file mode (%d)\n"
+msgstr "%s:Mod fiºier psf nesuportat (%d)\n"
+
+#: src/psffontop.c:251
+#, c-format
+msgid "%s: Unsupported psf version (%d)\n"
+msgstr "%s:Versiune fiºier psf nesuportatã (%d)\n"
+
+#: src/psffontop.c:267
+#, c-format
+msgid "%s: zero input font length?\n"
+msgstr "%s: intrare(input) zero pentru mãrime(length)?\n"
+
+#: src/psffontop.c:272
+#, c-format
+msgid "%s: zero input character size?\n"
+msgstr "%s: intrare(input) mãrime caracter zero?\n"
+
+#: src/psffontop.c:278
+#, c-format
+msgid "%s: Input file: bad input length (%d)\n"
+msgstr "%s: Fiºier intrare(input): mãrime intrare(input) eronatã (%d)\n"
+
+#: src/psffontop.c:310
+#, c-format
+msgid "%s: Input file: trailing garbage\n"
+msgstr "%s: Fiºier intrare(input): gunoi(garbage) la sfârºit\n"
+
+#: src/psffontop.c:348
+#, c-format
+msgid "appendunicode: illegal unicode %u\n"
+msgstr "appendunicode: unicode ilegal %u\n"
+
+#: src/psffontop.c:434
+msgid "Cannot write font file header"
+msgstr "Nu se poate scrie header-ul fiºierului de font"
+
+#: src/psfxtable.c:109
+#, c-format
+msgid "%s: Warning: line too long\n"
+msgstr "%s: Avertisment: linie prea lungã\n"
+
+#: src/psfxtable.c:123 src/psfxtable.c:133
+#, c-format
+msgid "%s: Bad input line: %s\n"
+msgstr "%s: Linie de intrare(input) greºitã: %s\n"
+
+#: src/psfxtable.c:142
+#, c-format
+msgid "%s: Glyph number (0x%lx) past end of font\n"
+msgstr "%s: Numãrul reprezentãrii(glyph) (0x%lx) a depãºit sfârºitul fontului\n"
+
+#: src/psfxtable.c:147
+#, c-format
+msgid "%s: Bad end of range (0x%lx)\n"
+msgstr "%s: Sfârºit de domeniu(range) eronat (0x%lx)\n"
+
+#: src/psfxtable.c:166
+#, c-format
+msgid "%s: Corresponding to a range of font positions, there should be a Unicode range\n"
+msgstr "%s: Corespunzãtor unui interval de poziþii de fonturi, ar trebui sã fie un interval (range) Unicode\n"
+
+#: src/psfxtable.c:255
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont intable outfont\n"
+msgstr ""
+"Folosire:\n"
+"\t%s infont intable outfont\n"
+
+#: src/psfxtable.c:264
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont [outtable]\n"
+msgstr ""
+"Folosire:\n"
+"\t%s infont [outtable]\n"
+
+#: src/psfxtable.c:273
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s infont outfont\n"
+msgstr ""
+"Folosire:\n"
+"\t%s infont outfont\n"
+
+#: src/psfxtable.c:298
+#, c-format
+msgid ""
+"Usage:\n"
+"\t%s [-i infont] [-o outfont] [-it intable] [-ot outtable] [-nt]\n"
+msgstr ""
+"Folosire:\n"
+"\t%s [-i infont] [-o outfont] [-it intable] [-ot outtable] [-nt]\n"
+
+#: src/psfxtable.c:358
+#, c-format
+msgid "%s: Bad magic number on %s\n"
+msgstr "%s: Numãr magic greºit în cazul %s\n"
+
+#: src/psfxtable.c:377
+#, c-format
+msgid "%s: psf file with unknown magic\n"
+msgstr "%s: fiºier psf cu numãr magic necunoscut\n"
+
+#: src/psfxtable.c:393
+#, c-format
+msgid "%s: input font does not have an index\n"
+msgstr "%s: fontul de intrare(input) nu are un index\n"
+
+#: src/resizecons.c:153
+#, c-format
+msgid "resizecons: cannot find videomode file %s\n"
+msgstr "resizecons: nu se poate gãsi fiºierul de moduri video %s\n"
+
+#: src/resizecons.c:172
+msgid "Invalid number of lines\n"
+msgstr "Numãr de linii invalid\n"
+
+#: src/resizecons.c:238
+#, c-format
+msgid "Old mode: %dx%d  New mode: %dx%d\n"
+msgstr "Mod vechi: %dx%d  Mod nou: %dx%d\n"
+
+#: src/resizecons.c:240
+#, c-format
+msgid "Old #scanlines: %d  New #scanlines: %d  Character height: %d\n"
+msgstr "Vechi #liniiscan: %d  Nou #liniiscan: %d  Înãlþime caracter: %d\n"
+
+#: src/resizecons.c:251
+#, c-format
+msgid "resizecons: the command `%s' failed\n"
+msgstr "resizecons: comanda `%s' a eºuat\n"
+
+#: src/resizecons.c:324
+#, c-format
+msgid "resizecons: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n"
+msgstr "resizecons: nu uitaþi sã schimbaþi TERM (poate în con%dx%d sau în linux-%dx%d)\n"
+
+#: src/resizecons.c:337
+msgid ""
+"resizecons:\n"
+"call is:  resizecons COLSxROWS  or:  resizecons COLS ROWS\n"
+"or: resizecons -lines ROWS, with ROWS one of 25, 28, 30, 34, 36, 40, 44, 50, 60\n"
+msgstr ""
+"resizecons:\n"
+"apelarea este:  resizecons COLOANExRÂNDURI  sau:  resizecons COLOANEx\n"
+"RÂNDURI\n"
+"sau: resizecons -lines RÂDURI, cu RÂNDURI unul din numerele 25, 28, 30, 34,\n"
+"36, 40, 44, 50, 60\n"
+
+#: src/resizecons.c:375
+msgid "resizecons: cannot get I/O permissions.\n"
+msgstr "resizecons: nu se pot primi(get) permisiile I/O.\n"
+
+#: src/screendump.c:48
+msgid "usage: screendump [n]\n"
+msgstr "folosire: screendump [n]\n"
+
+#: src/screendump.c:78
+#, c-format
+msgid "Error reading %s\n"
+msgstr "Eroare în citirea %s\n"
+
+#: src/screendump.c:126
+#, c-format
+msgid "couldn't read %s, and cannot ioctl dump\n"
+msgstr "nu s-a putut citi %s, ºi nu se poate face dump ioctl\n"
+
+#. we tried this just to be sure, but TIOCLINUX
+#. function 0 has been disabled since 1.1.92
+#. Do not mention `ioctl dump' in error msg
+#: src/screendump.c:132
+#, c-format
+msgid "couldn't read %s\n"
+msgstr "nu s-a putut citi %s\n"
+
+#: src/screendump.c:141
+#, c-format
+msgid "Strange ... screen is both %dx%d and %dx%d ??\n"
+msgstr "Ciudat ... ecranul este ºi %dx%d ºi %dx%d ??\n"
+
+#: src/screendump.c:159
+msgid "Error writing screendump\n"
+msgstr "Eroare în scrierea dump-ului de ecran\n"
+
+#: src/setfont.c:73
+msgid ""
+"Usage: setfont [write-options] [-<N>] [newfont..] [-m consolemap] [-u unicodemap]\n"
+"  write-options (take place before file loading):\n"
+"    -o  <filename>\tWrite current font to <filename>\n"
+"    -O  <filename>\tWrite current font and unicode map to <filename>\n"
+"    -om <filename>\tWrite current consolemap to <filename>\n"
+"    -ou <filename>\tWrite current unicodemap to <filename>\n"
+"If no newfont and no -[o|O|om|ou|m|u] option is given,\n"
+"a default font is loaded:\n"
+"    setfont             Load font \"default[.gz]\"\n"
+"    setfont -<N>        Load font \"default8x<N>[.gz]\"\n"
+"The -<N> option selects a font from a codepage that contains three fonts:\n"
+"    setfont -{8|14|16} codepage.cp[.gz]   Load 8x<N> font from codepage.cp\n"
+"Explicitly (with -m or -u) or implicitly (in the fontfile) given mappings\n"
+"will be loaded and, in the case of consolemaps, activated.\n"
+"    -h<N>      (no space) Override font height.\n"
+"    -m <fn>    Load console screen map.\n"
+"    -u <fn>    Load font unicode map.\n"
+"    -m none\tSuppress loading and activation of a screen map.\n"
+"    -u none\tSuppress loading of a unicode map.\n"
+"    -v\t\tBe verbose.\n"
+"    -V\t\tPrint version and exit.\n"
+"Files are loaded from the current directory or /usr/lib/kbd/*/.\n"
+msgstr ""
+"Folosire: setfont [opþiuni-scriere] [-<N>] [fontnou..] [-m mapare_consolã] [-u mapare_unicode]\n"
+"  opþiuni-scriere (are loc înainte de încãrcarea fiºierului):\n"
+"    -o  <nume_fiºier>\tScrie fontul curent în <nume_fiºier>\n"
+"    -O  <nume_fiºier>\tScrie fontul curent ºi maparea unicode în <nume_fiºier>\n"
+"    -om <nume_fiºier>\tScrie maparea curentã a consolei în <nume_fiºier>\n"
+"    -ou <nume_fiºier>\tScrie maparea curentã unicode în <nume_fiºier>\n"
+"Dacã nici un fontnou ºi nici o opþiune-[o|O|om|ou|m|u] nu sunt specificate,\n"
+"va fi încãrcat un font nou:\n"
+"    setfont             Încarcã fontul \"default[.gz]\"\n"
+"    setfont -<N>        Încarcã fontul \"default8x<N>[.gz]\"\n"
+"Opþiunea -<N> selecteazã un font dintr-un cod de paginã care conþine trei fonturi:\n"
+"    setfont -{8|14|16} codepage.cp[.gz]   Încarcã fontul 8x<N> din codepage.cp\n"
+"Explicit (cu -m sau -u) sau implicit (în fiºierul de font) mapãrile furnizate\n"
+"vor fi încãrcate, sau în cazul mapãrilor de consolã, activate.\n"
+"    -h<N>      (fãrã spaþiu) Suprascrie(override) înãlþimea fontului.\n"
+"    -m <fn>    Se încarcã maparea de ecran a consolei.\n"
+"    -u <fn>    Se încarcã maparea fontului unicode.\n"
+"    -m nimic\tSe suprimã încãrcarea ºi activarea unei mapãrii de ecran.\n"
+"    -u nimic\tSe suprimã încãrcarea unei mapãri unicode\n"
+"    -v\t\tDetaliat.\n"
+"    -V\t\tAfiºeazã versiunea ºi iese.\n"
+"Fiºierele sunt încãrcate din directorul curent sau din /usr/lib/kbd/*/.\n"
+
+#: src/setfont.c:169
+msgid "setfont: too many input files\n"
+msgstr "setfont: prea multe fiºiere de intrare(input)\n"
+
+#: src/setfont.c:177
+msgid "setfont: cannot both restore from character ROM and from file. Font unchanged.\n"
+msgstr "setfont: nu se poate reveni(restore) ºi din caracterul ROM ºi din fiºier. Font neschimbat.\n"
+
+#: src/setfont.c:236
+#, c-format
+msgid "Bad character height %d\n"
+msgstr "Înãlþime de caracter greºitã: %d\n"
+
+#: src/setfont.c:240
+#, c-format
+msgid "Bad character width %d\n"
+msgstr "Lãþime de caracter greºitã: %d\n"
+
+#: src/setfont.c:265
+#, c-format
+msgid "%s: font position 32 is nonblank\n"
+msgstr "%s: poziþia font 32 este nonblank\n"
+
+#: src/setfont.c:273
+#, c-format
+msgid "%s: wiped it\n"
+msgstr "%s: a fost ºters(wiped)\n"
+
+#: src/setfont.c:277
+#, c-format
+msgid "%s: background will look funny\n"
+msgstr "%s: fundalul va arãta nostim\n"
+
+#: src/setfont.c:287
+#, c-format
+msgid "Loading %d-char %dx%d font from file %s\n"
+msgstr "Se încarcã %d-char fontul %dx%d din fiºierul %s\n"
+
+#: src/setfont.c:290
+#, c-format
+msgid "Loading %d-char %dx%d font\n"
+msgstr "Se încarcã %d-char fontul %dx%d\n"
+
+#: src/setfont.c:293
+#, c-format
+msgid "Loading %d-char %dx%d (%d) font from file %s\n"
+msgstr "Se încarcã %d-char fontul %dx%d(%d) din fiºierul %s\n"
+
+#: src/setfont.c:296
+#, c-format
+msgid "Loading %d-char %dx%d (%d) font\n"
+msgstr "Se încarcã %d-char fontul %dx%d(%d)\n"
+
+#: src/setfont.c:336
+#, c-format
+msgid "%s: bug in do_loadtable\n"
+msgstr "%s: bug în do_loadtable\n"
+
+#: src/setfont.c:342
+msgid "Loading Unicode mapping table...\n"
+msgstr "Se încarcã tabela de mapare Unicode...\n"
+
+#: src/setfont.c:378 src/setfont.c:462
+#, c-format
+msgid "Cannot open font file %s\n"
+msgstr "Nu se poate deschide fiºierul de font %s\n"
+
+#: src/setfont.c:389
+#, c-format
+msgid "When loading several fonts, all must be psf fonts - %s isn't\n"
+msgstr "Când se încarcã mai multe fonturi, toate trebuie sã fie fonturi psf. - %s nu este\n"
+
+#: src/setfont.c:397
+#, c-format
+msgid "Read %d-char %dx%d font from file %s\n"
+msgstr "S-a citit %d-char fontul %dx%d din fiºierul %s\n"
+
+#: src/setfont.c:403
+msgid "When loading several fonts, all must have the same height\n"
+msgstr "Când se încarcã mai multe fonturi, toate trebuie sã aibã aceeaºi înãlþime\n"
+
+#: src/setfont.c:410
+msgid "When loading several fonts, all must have the same width\n"
+msgstr "Când se încarcã mai multe fonturi, toate trebuie sã aibã aceeaºi lãþime\n"
+
+#: src/setfont.c:449
+msgid "Cannot find default font\n"
+msgstr "Nu se poate gãsi fontul implicit\n"
+
+#: src/setfont.c:456
+#, c-format
+msgid "Cannot find %s font\n"
+msgstr "Nu se poate gãsi fontul %s\n"
+
+#: src/setfont.c:468
+#, c-format
+msgid "Reading font file %s\n"
+msgstr "Se citeºte fiºierul de font %s\n"
+
+#: src/setfont.c:506
+msgid "No final newline in combine file\n"
+msgstr "Nu existã marcaj_linie_nouã(newline) final în fiºierul combinat\n"
+
+#: src/setfont.c:512
+msgid "Too many files to combine\n"
+msgstr "Prea multe fiºiere de combinat\n"
+
+#. restorefont -w writes a SVGA font to file
+#. restorefont -r restores it
+#. These fonts have size 32768, for two 512-char fonts.
+#. In fact, when BROKEN_GRAPHICS_PROGRAMS is defined,
+#. and it always is, there is no default font that is saved,
+#. so probably the second half is always garbage.
+#: src/setfont.c:536
+msgid "Hmm - a font from restorefont? Using the first half.\n"
+msgstr "Hmm - un font din restorefont? Se foloseºte prima jumãtate.\n"
+
+#: src/setfont.c:553
+msgid "Bad input file size\n"
+msgstr "Mãrime fiºier intrare(input) invalidã\n"
+
+#: src/setfont.c:574
+msgid ""
+"This file contains 3 fonts: 8x8, 8x14 and 8x16. Please indicate\n"
+"using an option -8 or -14 or -16 which one you want loaded.\n"
+msgstr ""
+"Acest fiºier conþine 3 fonturi: 8x8, 8x14 ºi 8x16. Vã rugãm indicaþi\n"
+"folosind o opþiune -8 or -14 or -16 pentru a-l selecta pe cel dorit.\n"
+
+#: src/setfont.c:588
+#, c-format
+msgid "You asked for font size %d, but only 8, 14, 16 are possible here.\n"
+msgstr "Aþi cerut o mãrime de font %d, dar doar 8, 14, 16 sunt posibile aici.\n"
+
+#: src/setfont.c:633
+msgid "Found nothing to save\n"
+msgstr "Nu am gãsit nimic de salvat\n"
+
+#: src/setfont.c:637
+msgid "Cannot write font file"
+msgstr "Nu se poate scrie fiºierul de font"
+
+#: src/setfont.c:642
+#, c-format
+msgid "Saved %d-char %dx%d font file on %s\n"
+msgstr "S-a salvat fiºierul %d-char fontul %dx%d în %s\n"
+
+#: src/setkeycodes.c:21
+msgid ""
+"usage: setkeycode scancode keycode ...\n"
+" (where scancode is either xx or e0xx, given in hexadecimal,\n"
+"  and keycode is given in decimal)\n"
+msgstr ""
+"folosire: setkeycode scancode keycode ...\n"
+" (unde scancode este fie xx sau e0xx, dat în hexazecimal,\n"
+" ºi keycode este dat în zecimal)\n"
+
+#: src/setkeycodes.c:43
+msgid "even number of arguments expected"
+msgstr "numãr par de argumente aºteptat"
+
+#: src/setkeycodes.c:50
+msgid "error reading scancode"
+msgstr "eroare în citirea codului de scan(scancode)"
+
+#: src/setkeycodes.c:56
+msgid "code outside bounds"
+msgstr "cod în afara limitelor(bounds)"
+
+#: src/setkeycodes.c:59
+#, c-format
+msgid "failed to set scancode %x to keycode %d\n"
+msgstr "eroare în setarea scancode %x în keycode %d\n"
+
+#: src/setleds.c:25
+#, c-format
+msgid ""
+"Usage:\n"
+"\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n"
+"Thus,\n"
+"\tsetleds +caps -num\n"
+"will set CapsLock, clear NumLock and leave ScrollLock unchanged.\n"
+"The settings before and after the change (if any) are reported\n"
+"when the -v option is given or when no change is requested.\n"
+"Normally, setleds influences the vt flag settings\n"
+"(and these are usually reflected in the leds).\n"
+"With -L, setleds only sets the leds, and leaves the flags alone.\n"
+"With -D, setleds sets both the flags and the default flags, so\n"
+"that a subsequent reset will not change the flags.\n"
+msgstr ""
+"Folosire:\n"
+"\tsetleds [-v] [-L] [-D] [-F] [[+|-][ num | caps | scroll %s]]\n"
+"Astfel,\n"
+"\tsetleds +caps -num\n"
+"va seta CapsLock, ºterge NumLock ºi va lãsa ScrollLock neschimbat.\n"
+"Setãrile de dinainte ºi de dupã schimbare(dacã existã) sunt raportate\n"
+"când opþiunea -v este furnizatã sau când nu este cerutã nici o schimbare.\n"
+"În mod normal, setleds influenþeazã setãrile marcajului(flag) vt\n"
+"(ºi acestea sunt de obicei reflectate în leduri).\n"
+"Cu -L, setleds doar va seta ledurile, nechimbând marcajele(flag).\n"
+"Cu -D, setleds seteazã atât marcajele(flags), cât ºi marcajele implicite,\n"
+"pentru ca o resetare ulterioarã nu va schimba marcajele.\n"
+
+#: src/setleds.c:47
+msgid "on "
+msgstr "activat(on)"
+
+#: src/setleds.c:47
+msgid "off"
+msgstr "dezactivat(off)"
+
+#: src/setleds.c:90
+msgid "Error reading current led setting. Maybe stdin is not a VT?\n"
+msgstr "Eroare în citirea setãrilor curente ale ledului. E posibil ca stdin sã nu fie un VT?\n"
+
+#: src/setleds.c:109
+msgid "Error reading current flags setting. Maybe you are not on the console?\n"
+msgstr "Eroare în citirea setãrilor marcajelor(flags) curente. Poate nu sunteþi în consolã?\n"
+
+#: src/setleds.c:123 src/setleds.c:138
+msgid "Error reading current led setting from /dev/kbd.\n"
+msgstr "Eroare în citirea setãrii curente a ledului din /dev/kbd.\n"
+
+#: src/setleds.c:127
+msgid "KIOCGLED unavailable?\n"
+msgstr "KIOCGLED indisponibil?\n"
+
+#: src/setleds.c:142
+msgid "KIOCSLED unavailable?\n"
+msgstr "KIOCSLED indisponibil?\n"
+
+#: src/setleds.c:169
+msgid "Error opening /dev/kbd.\n"
+msgstr "Eroare în deschiderea /dev/kbd.\n"
+
+#: src/setleds.c:201
+msgid "Error resetting ledmode\n"
+msgstr "Eroare în resetarea modurilor ledului\n"
+
+#: src/setleds.c:210
+msgid "Current default flags:  "
+msgstr "Marcajele(flags) implicite curente:"
+
+#: src/setleds.c:214
+msgid "Current flags:          "
+msgstr "Marcajele(flags) curente:          "
+
+#: src/setleds.c:218
+msgid "Current leds:           "
+msgstr "Leduri curente:          "
+
+#: src/setleds.c:254 src/setmetamode.c:94
+#, c-format
+msgid ""
+"unrecognized argument: _%s_\n"
+"\n"
+msgstr ""
+"argument necunoscut: _%s_\n"
+"\n"
+
+#: src/setleds.c:263
+msgid "Old default flags:    "
+msgstr "Marcaje(flags) implicite vechi:    "
+
+#: src/setleds.c:265
+msgid "New default flags:    "
+msgstr "Marcaje(flags) implicite noi:    "
+
+#: src/setleds.c:272
+msgid "Old flags:            "
+msgstr "Marcaje(flags) vechi:            "
+
+#: src/setleds.c:274
+msgid "New flags:            "
+msgstr "Marcaje(flags) noi:            "
+
+#: src/setleds.c:288 src/setleds.c:297
+msgid "Old leds:             "
+msgstr "Leduri vechi:             "
+
+#: src/setleds.c:290 src/setleds.c:299
+msgid "New leds:             "
+msgstr "Leduri noi:             "
+
+#: src/setmetamode.c:20
+msgid ""
+"Usage:\n"
+"\tsetmetamode [ metabit | meta | bit | escprefix | esc | prefix ]\n"
+"Each vt has his own copy of this bit. Use\n"
+"\tsetmetamode [arg] < /dev/ttyn\n"
+"to change the settings of another vt.\n"
+"The setting before and after the change are reported.\n"
+msgstr ""
+"Folosire:\n"
+"\tsetmetamode [ metabit | meta | bit | escprefix | esc | prefix ]\n"
+"Fiecare vt are propria copie a acestui bit. Folosiþi\n"
+"\tsetmetamode [arg] < /dev/ttyn\n"
+"pentru a schimba setãrile altui vt.\n"
+"Setãrile de dinainte ºi de dupã schimbãri sunt raportate.\n"
+
+#: src/setmetamode.c:36
+msgid "Meta key sets high order bit\n"
+msgstr "Tasta Meta seteazã bitul de ordine înaltã\n"
+
+#: src/setmetamode.c:39
+msgid "Meta key gives Esc prefix\n"
+msgstr "Tasta Meta furnizeazã prefix Esc\n"
+
+#: src/setmetamode.c:42
+msgid "Strange mode for Meta key?\n"
+msgstr "Mod ciudat pentru tasta Meta?\n"
+
+#: src/setmetamode.c:78
+msgid "Error reading current setting. Maybe stdin is not a VT?\n"
+msgstr "Eroare în citirea setãrii curente. E posibil ca stdin sã nu fie un VT?\n"
+
+#: src/setmetamode.c:98
+msgid "old state:    "
+msgstr "stare veche:    "
+
+#: src/setmetamode.c:104
+msgid "new state:    "
+msgstr "stare nouã:    "
+
+#: src/setvesablank.c:23
+#, c-format
+msgid "usage: %s\n"
+msgstr "folosire: %s\n"
+
+#: src/showconsolefont.c:31
+msgid "failed to restore original translation table\n"
+msgstr "eroare în restaurarea(restore) tabelei de traduceri originale\n"
+
+#: src/showconsolefont.c:36
+msgid "failed to restore original unimap\n"
+msgstr "eroare în restaurarea unimap-ului original\n"
+
+#: src/showconsolefont.c:54
+msgid "cannot change translation table\n"
+msgstr "nu se poate schimba tabela de traduceri\n"
+
+#: src/showconsolefont.c:61
+#, c-format
+msgid "%s: out of memory?\n"
+msgstr "%s: memorie plinã?\n"
+
+#: src/showconsolefont.c:102
+msgid ""
+"usage: showconsolefont [-v|-V]\n"
+"(probably after loading a font with `setfont font')\n"
+msgstr ""
+"folosire: showconsolefont [-v|-V]\n"
+"(probabil dupã încãrcarea unui font cu `setfont font')\n"
+
+#: src/showkey.c:42
+msgid "?UNKNOWN?"
+msgstr "?NECUNOSCUT?"
+
+#: src/showkey.c:44
+#, c-format
+msgid "kb mode was %s\n"
+msgstr "modul kb a fost %s\n"
+
+#: src/showkey.c:46
+msgid ""
+"[ if you are trying this under X, it might not work\n"
+"since the X server is also reading /dev/console ]\n"
+msgstr ""
+"[ Dacã încercaþi asta sub X, s-ar putea sã nu funcþioneze\n"
+"atâta timp cât ºi serverul X citeºte /dev/console ]\n"
+
+#: src/showkey.c:65
+#, c-format
+msgid "caught signal %d, cleaning up...\n"
+msgstr "s-a primit semnal %d, se face curãþenie...\n"
+
+#: src/showkey.c:79
+#, c-format
+msgid ""
+"showkey version %s\n"
+"\n"
+"usage: showkey [options...]\n"
+"\n"
+"valid options are:\n"
+"\n"
+"\t-h --help\tdisplay this help text\n"
+"\t-a --ascii\tdisplay the decimal/octal/hex values of the keys\n"
+"\t-s --scancodes\tdisplay only the raw scan-codes\n"
+"\t-k --keycodes\tdisplay only the interpreted keycodes (default)\n"
+msgstr ""
+"showkey versiunea %s\n"
+"\n"
+"folosire: showkey [opþiune ...]\n"
+"\n"
+"opþiuni valide:\n"
+"\n"
+"\t-h --help\tafiºeazã acest text de ajutor\n"
+"\t-a --ascii\tafiºeazã valorile zecimale/octale/hexazecimale ale tastelor\n"
+"\t-s --scancodes\tafiºeazã doar codurile de scanare brute(raw)\n"
+"\t-k --keycodes\tafiºeazã doar codurile de taste interpretate(implicit)\n"
+
+#: src/showkey.c:157
+msgid ""
+"\n"
+"Press any keys - Ctrl-D will terminate this program\n"
+"\n"
+msgstr ""
+"\n"
+"Apãsaþi orice taste - Ctrl-D va termina acest program\n"
+"\n"
+
+#: src/showkey.c:226
+msgid "press any key (program terminates 10s after last keypress)...\n"
+msgstr "aspãsaþi orice tastã (programul se terminã la 10s dupã ultima apãsare de tastã)...\n"
+
+#: src/showkey.c:234
+#, c-format
+msgid "keycode %3d %s\n"
+msgstr "cod tastã %3d %s\n"
+
+#: src/showkey.c:236
+msgid "release"
+msgstr "eliberare"
+
+#: src/showkey.c:237
+msgid "press"
+msgstr "apãsare"
+
+#: src/version.h:18
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s din %s\n"
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..3aee934
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1 @@
+# Not added because copyright FSF without permission to distribute
diff --git a/po/tr.po b/po/tr.po
new file mode 100644
index 0000000..3aee934
--- /dev/null
+++ b/po/tr.po
@@ -0,0 +1 @@
+# Not added because copyright FSF without permission to distribute
diff --git a/src/Makefile.in b/src/Makefile.in
index 04e18e5..5383eda 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,23 +1,32 @@
 include ../make_include
 
+PREFIX = @prefix@
+
 # Something like /usr/lib/kbd or /usr/share/kbd
 ifndef DATA_DIR
 DATA_DIR = @datadir@
 endif
 
 ifndef BINDIR
-BINDIR = $(DESTDIR)/usr/bin
+BINDIR = $(DESTDIR)$(PREFIX)/bin
 endif
 
 # Maybe we want to use a qwertz keyboard before /usr is mounted
 ifndef LOADKEYS_BINDIR
-ifeq ($(DESTDIR), /usr)
-  LOADKEYS_BINDIR = /bin
-else
+ifeq ($(PREFIX), /usr)
   LOADKEYS_BINDIR = $(DESTDIR)/bin
+else
+  LOADKEYS_BINDIR = $(DESTDIR)$(PREFIX)/bin
 endif
 endif
 
+# Omit the "-o root" when installing elsewhere
+ifeq "$(DESTDIR)" ""
+  setowner = -o root
+else
+  setowner =
+endif
+
 PROGS   = dumpkeys loadkeys showkey setfont showconsolefont \
 	  setleds setmetamode kbd_mode chvt deallocvt \
 	  psfxtable kbdrate fgconsole
@@ -62,15 +71,15 @@
 old:	$(OLDPROGS)
 
 install:	all
-	install -d -m 755 $(BINDIR) $(LOADKEYS_BINDIR)
-	install -s -m 0755 -o root $(PROGS) $(OLDPROGS) $(BINDIR)
-#	install -s -m 0755 -o root $(MISC) $(BINDIR)
-	install -c -m 0755 -o root $(SHCMDS) $(BINDIR)
+	install -d -m 0755 $(BINDIR) $(LOADKEYS_BINDIR)
+	install -s -m 0755 $(setowner) $(PROGS) $(OLDPROGS) $(BINDIR)
+#	install -s -m 0755 $(setowner) $(MISC) $(BINDIR)
+	install -c -m 0755 $(setowner) $(SHCMDS) $(BINDIR)
 	for i in psfaddtable psfgettable psfstriptable; do \
 		rm -f $(BINDIR)/$$i; ln -s psfxtable $(BINDIR)/$$i; \
 	done
 	rm -f $(BINDIR)/loadkeys
-	install -s -m 0755 -o root loadkeys $(LOADKEYS_BINDIR)
+	install -s -m 0755 $(setowner) loadkeys $(LOADKEYS_BINDIR)
 	@echo "You may also want to add psf.magic to /usr/lib/magic"
 
 
diff --git a/src/chvt.c b/src/chvt.c
index da55550..0a0fc46 100644
--- a/src/chvt.c
+++ b/src/chvt.c
@@ -28,7 +28,7 @@
 	fprintf(stderr, _("usage: chvt N\n"));
 	exit(1);
     }
-    fd = getfd();
+    fd = getfd(NULL);
     num = atoi(argv[1]);
     if (ioctl(fd,VT_ACTIVATE,num)) {
 	perror("chvt: VT_ACTIVATE");
diff --git a/src/clrunimap.c b/src/clrunimap.c
index fc67c77..4c777ea 100644
--- a/src/clrunimap.c
+++ b/src/clrunimap.c
@@ -7,6 +7,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <fcntl.h>
+#include <string.h>
 #include <linux/kd.h>
 #include "kdmapop.h"
 #include "getfd.h"
@@ -15,12 +16,16 @@
 int
 main(int argc, char *argv[]) {
 	int fd;
+	char *console = NULL;
 
 	setlocale(LC_ALL, "");
 	bindtextdomain(PACKAGE, LOCALEDIR);
 	textdomain(PACKAGE);
 
-	fd = getfd();
+	if (argc >= 3 && !strcmp(argv[1], "-C"))
+		console = argv[2];
+
+	fd = getfd(console);
 
 	return loadunimap (fd, NULL, NULL);
 }
diff --git a/src/cp1250.syms.h b/src/cp1250.syms.h
index 53a27eb..689975d 100644
--- a/src/cp1250.syms.h
+++ b/src/cp1250.syms.h
@@ -6,14 +6,14 @@
  */
 static sym cp1250_syms[] = {	/* 128-255 */
 	{ 0x20ac, "euro"},	/* 0200 */
-	{ 0xfffd, ""},
+	{ 0xfffd, ""},  /* undefined */
 	{ 0x201a, ""},	/* SINGLE LOW-9 QUOTATION MARK */
-	{ 0xfffd, ""},
+	{ 0xfffd, ""},  /* undefined */
 	{ 0x201e, ""},	/* DOUBLE LOW-9 QUOTATION MARK */
 	{ 0x2026, "ellipsis"},
 	{ 0x2020, "dagger"},
 	{ 0x2021, "doubledagger"},
-	{ 0xfffd, ""},		/* 0210 */
+	{ 0xfffd, ""},	/* undefined */ /* 0210 */
 	{ 0x2030, "permille"},
 	{ 0x0160, "Scaron"},
 	{ 0x2039, ""},	/* SINGLE LEFT-POINTING ANGLE QUOTATION MARK */
@@ -21,7 +21,7 @@
 	{ 0x0164, "Tcaron"},
 	{ 0x017d, "Zcaron"},
 	{ 0x0179, "Zacute"},
-	{ 0xfffd, ""},		/* 0220 */
+	{ 0xfffd, ""},	/* undefined */	/* 0220 */
 	{ 0x2018, ""},	/* LEFT SINGLE QUOTATION MARK */
 	{ 0x2019, ""},	/* RIGHT SINGLE QUOTATION MARK */
 	{ 0x201c, ""},	/* LEFT DOUBLE QUOTATION MARK */
@@ -29,7 +29,7 @@
 	{ 0x2022, "bullet"},
 	{ 0x2013, "endash"},
 	{ 0x2014, "emdash"},
-	{ 0xfffd, ""},		/* 0230 */
+	{ 0xfffd, ""},	/* undefined */	/* 0230 */
 	{ 0x2122, "trademark"},
 	{ 0x0161, "scaron"},
 	{ 0x203a, ""},	/* SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */
@@ -37,34 +37,34 @@
 	{ 0x0165, "tcaron"},
 	{ 0x017e, "zcaron"},
 	{ 0x017a, "zacute"},
-	{ 0x00a0, ""},		/* 0240 */
+	{ 0x00a0, ""},	/* nbsp */	/* 0240 */
 	{ 0x02c7, "caron"},
 	{ 0x02d8, "breve"},
 	{ 0x0141, "Lstroke"},
-	{ 0x00a4, ""},
+	{ 0x00a4, ""},	/* CURRENCY SIGN */
 	{ 0x0104, "Aogonek"},
-	{ 0x00a6, ""},
-	{ 0x00a7, ""},
-	{ 0x00a8, ""},		/* 0250 */
-	{ 0x00a9, ""},
+	{ 0x00a6, ""},	/* BROKEN BAR */
+	{ 0x00a7, ""},	/* SECTION SIGN */
+	{ 0x00a8, ""},	/* DIAERESIS */	/* 0250 */
+	{ 0x00a9, ""},	/* COPYRIGHT SIGN */
 	{ 0x015e, "Scedilla"},
-	{ 0x00ab, ""},
-	{ 0x00ac, ""},
-	{ 0x00ad, ""},
-	{ 0x00ae, ""},
+	{ 0x00ab, ""},	/* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
+	{ 0x00ac, ""},	/* NOT SIGN */
+	{ 0x00ad, ""},	/* SOFT HYPHEN */
+	{ 0x00ae, ""},	/* REGISTERED SIGN */
 	{ 0x017b, "Zabovedot"},
-	{ 0x00b0, ""},		/* 0260 */
-	{ 0x00b1, ""},
+	{ 0x00b0, ""},	/* DEGREE SIGN */	/* 0260 */
+	{ 0x00b1, ""},	/* PLUS-MINUS SIGN */
 	{ 0x02db, "ogonek"},
 	{ 0x0142, "lstroke"},
-	{ 0x00b4, ""},
-	{ 0x00b5, ""},
-	{ 0x00b6, ""},
-	{ 0x00b7, ""},
-	{ 0x00b8, ""},		/* 0270 */
+	{ 0x00b4, ""},	/* ACUTE ACCENT */
+	{ 0x00b5, ""},	/* MICRO SIGN */
+	{ 0x00b6, ""},	/* PILCROW SIGN */
+	{ 0x00b7, ""},	/* MIDDLE DOT */
+	{ 0x00b8, ""},	/* CEDILLA */	/* 0270 */
 	{ 0x0105, "aogonek"},
 	{ 0x015f, "scedilla"},
-	{ 0x00bb, ""},
+	{ 0x00bb, ""},	/* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
 	{ 0x013d, "Lcaron"},
 	{ 0x02dd, "doubleacute"},
 	{ 0x013e, "lcaron"},
diff --git a/src/deallocvt.c b/src/deallocvt.c
index 8259089..0b01b20 100644
--- a/src/deallocvt.c
+++ b/src/deallocvt.c
@@ -35,7 +35,7 @@
 		}
 	}
 
-	fd = getfd();
+	fd = getfd(NULL);
 
 	if (argc == 1) {
 		/* deallocate all unused consoles */
diff --git a/src/dumpkeys.c b/src/dumpkeys.c
index 447d293..a0d7547 100644
--- a/src/dumpkeys.c
+++ b/src/dumpkeys.c
@@ -2,19 +2,6 @@
  * dumpkeys.c
  *
  * derived from version 0.81 - aeb@cwi.nl
- * Fix: escape quotes and backslashes in strings
- * Fix: after  dumpkeys > x; loadkeys x; dumpkeys > y
- *      the files x and y should be identical
- * Added: compose key support
- *
- * for 0.83: output a "+" for KT_LETTER
- * for 0.85: with -i option: also output MAX_DIACR
- * for 0.86: with -l option: also tell about synonyms
- * for 0.87: output "charset iso-8859-x" so that loadkeys
- *      can handle the output of dumpkeys -c
- * for 0.88: handle sparse keymaps
- * for 0.94: support alt_is_meta
- * for 0.96: option -1
  */
 #include <stdio.h>
 #include <stdlib.h>
@@ -42,12 +29,27 @@
 #endif
 
 static int fd;
-
 static int verbose;
+static int nr_keys = 0;			/* probably 112, 128, 256 or 512 */
 
-int keymap_index[MAX_NR_KEYMAPS];		/* inverse of good_keymap */
+int keymap_index[MAX_NR_KEYMAPS];	/* inverse of good_keymap */
 int good_keymap[MAX_NR_KEYMAPS], keymapnr, allocct;
 
+/* note: asking for n > 255 is not meaningful: ke.kb_index is uchar */
+static int
+has_key(int n) {
+	struct kbentry ke;
+
+	ke.kb_table = 0;	/* plain map is always present */
+	ke.kb_index = n;
+	return !ioctl(fd, KDGKBENT, (unsigned long)&ke);
+}
+
+static void
+find_nr_keys(void) {
+	nr_keys = (has_key(255) ? 256 : has_key(127) ? 128 : 112);
+}
+
 static void
 get_keymaps(void) {
 	int i, j;
@@ -60,7 +62,8 @@
 	    j = ioctl(fd, KDGKBENT, (unsigned long)&ke);
 	    if (j && errno != EINVAL) {
 		perror("KDGKBENT");
-		fprintf(stderr, _("KDGKBENT error at index 0 in table %d: "), i);
+		fprintf(stderr,
+			_("KDGKBENT error at index 0 in table %d\n"), i);
 		exit(1);
 	    }
 	    if (!j && ke.kb_value != K_NOSUCHMAP) {
@@ -78,7 +81,8 @@
 	}
 	if (good_keymap[0] != 0) {
 	    fprintf(stderr,
-		    _("%s: plain map not allocated? very strange ...\n"), progname);
+		    _("%s: plain map not allocated? very strange ...\n"),
+		    progname);
 	    /* this is not fatal */
 	}
 }
@@ -110,7 +114,7 @@
 	ke.kb_table = table;
 	if (ioctl(fd, KDGKBENT, (unsigned long)&ke)) {
 		perror("KDGKBENT");
-		fprintf(stderr, _("KDGKBENT error at index %d in table %d: "),
+		fprintf(stderr, _("KDGKBENT error at index %d in table %d\n"),
 			index, table);
 		exit(1);
 	}
@@ -239,7 +243,7 @@
 	int i;
 
 	printf(_("keycode range supported by kernel:           1 - %d\n"),
-	       NR_KEYS - 1);
+	       nr_keys - 1);
 	printf(_("max number of actions bindable to a key:         %d\n"),
 	       MAX_NR_KEYMAPS);
 	get_keymaps();
@@ -351,7 +355,7 @@
 	for (j = 0; j < MAX_NR_KEYMAPS; j++) {
 	     int ja = (j | M_ALT);
 	     if (j != ja && keymap_index[j] >= 0 && keymap_index[ja] >= 0)
-		  for (i = 1; i < NR_KEYS; i++) {
+		  for (i = 1; i < nr_keys; i++) {
 		       int buf0, buf1, type;
 
 		       buf0 = get_bind(i, j);
@@ -377,7 +381,7 @@
 not_alt_is_meta:
 
 no_shorthands:
-	for (i = 1; i < NR_KEYS; i++) {
+	for (i = 1; i < nr_keys; i++) {
 	    for (j = 0; j < keymapnr; j++)
 	      buf[j] = get_bind(i, good_keymap[j]);
 
@@ -622,7 +626,9 @@
 	if (optind < argc)
 		usage();
 
-	fd = getfd();
+	fd = getfd(NULL);
+
+	find_nr_keys();
 
 	if (short_info || long_info) {
 		show_short_info();
diff --git a/src/fgconsole.c b/src/fgconsole.c
index 28e97aa..d91dcf9 100644
--- a/src/fgconsole.c
+++ b/src/fgconsole.c
@@ -17,7 +17,7 @@
 	bindtextdomain(PACKAGE, LOCALEDIR);
 	textdomain(PACKAGE);
 
-	fd = getfd();
+	fd = getfd(NULL);
 	if (ioctl(fd, VT_GETSTATE, &vtstat)) {
 		perror("fgconsole: VT_GETSTATE");
 		exit(1);
diff --git a/src/getfd.c b/src/getfd.c
index 08b3564..8e19620 100644
--- a/src/getfd.c
+++ b/src/getfd.c
@@ -18,53 +18,68 @@
 
 static int
 is_a_console(int fd) {
-    char arg;
+	char arg;
 
-    arg = 0;
-    return (ioctl(fd, KDGKBTYPE, &arg) == 0
-	    && ((arg == KB_101) || (arg == KB_84)));
+	arg = 0;
+	return (ioctl(fd, KDGKBTYPE, &arg) == 0
+		&& ((arg == KB_101) || (arg == KB_84)));
 }
 
 static int
-open_a_console(char *fnam) {
-    int fd;
+open_a_console(const char *fnam) {
+	int fd;
 
-    fd = open(fnam, O_RDONLY);
-    if (fd < 0 && errno == EACCES)
-      fd = open(fnam, O_WRONLY);
-    if (fd < 0)
-      return -1;
-    if (!is_a_console(fd)) {
-      close(fd);
-      return -1;
-    }
-    return fd;
+	/*
+	 * For ioctl purposes we only need some fd and permissions
+	 * do not matter. But setfont:activatemap() does a write.
+	 */
+	fd = open(fnam, O_RDWR);
+	if (fd < 0 && errno == EACCES)
+		fd = open(fnam, O_WRONLY);
+	if (fd < 0 && errno == EACCES)
+		fd = open(fnam, O_RDONLY);
+	if (fd < 0)
+		return -1;
+	if (!is_a_console(fd)) {
+		close(fd);
+		return -1;
+	}
+	return fd;
 }
 
-int getfd() {
-    int fd;
+int getfd(const char *fnam) {
+	int fd;
 
-    fd = open_a_console("/dev/tty");
-    if (fd >= 0)
-      return fd;
+	if (fnam) {
+		fd = open_a_console(fnam);
+		if (fd >= 0)
+			return fd;
+		fprintf(stderr,
+			_("Couldnt open %s\n"), fnam);
+		exit(1);
+	}
 
-    fd = open_a_console("/dev/tty0");
-    if (fd >= 0)
-      return fd;
+	fd = open_a_console("/dev/tty");
+	if (fd >= 0)
+		return fd;
 
-    fd = open_a_console("/dev/vc/0");
-    if (fd >= 0)
-      return fd;
+	fd = open_a_console("/dev/tty0");
+	if (fd >= 0)
+		return fd;
 
-    fd = open_a_console("/dev/console");
-    if (fd >= 0)
-      return fd;
+	fd = open_a_console("/dev/vc/0");
+	if (fd >= 0)
+		return fd;
 
-    for (fd = 0; fd < 3; fd++)
-      if (is_a_console(fd))
-	return fd;
+	fd = open_a_console("/dev/console");
+	if (fd >= 0)
+		return fd;
 
-    fprintf(stderr,
-	    _("Couldnt get a file descriptor referring to the console\n"));
-    exit(1);		/* total failure */
+	for (fd = 0; fd < 3; fd++)
+		if (is_a_console(fd))
+			return fd;
+
+	fprintf(stderr,
+		_("Couldnt get a file descriptor referring to the console\n"));
+	exit(1);		/* total failure */
 }
diff --git a/src/getfd.h b/src/getfd.h
index 625f472..991f33d 100644
--- a/src/getfd.h
+++ b/src/getfd.h
@@ -1 +1 @@
-extern int getfd(void);
+extern int getfd(const char *fnam);
diff --git a/src/getkeycodes.c b/src/getkeycodes.c
index 1fe69ae..c72c38d 100644
--- a/src/getkeycodes.c
+++ b/src/getkeycodes.c
@@ -35,7 +35,7 @@
 
     if (argc != 1)
       usage();
-    fd = getfd();
+    fd = getfd(NULL);
     printf(_("Plain scancodes xx (hex) versus keycodes (dec)\n"));
     printf(_("0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n"));
 
diff --git a/src/getunimap.c b/src/getunimap.c
index 66eb336..3705837 100644
--- a/src/getunimap.c
+++ b/src/getunimap.c
@@ -2,6 +2,7 @@
 #include <stdlib.h>
 #include <errno.h>
 #include <ctype.h>
+#include <unistd.h>
 #include <sys/ioctl.h>
 #include <linux/kd.h>
 #include "getfd.h"
@@ -23,14 +24,20 @@
 	return (int) fp1 - (int) fp2;
 }
 
+static void
+usage(void) {
+	fprintf(stderr, _("Usage:\n\t%s [-s] [-C console]\n"), progname);
+	exit(1);
+}
+
 int
 main(int argc, char **argv){
 	int sortflag = 0;
 	char mb[]={0,0,0,0,0,0,0,0};
 	unsigned mb_length;
-	int fd;
+	int fd, c, i;
+	char *console = NULL;
 	struct unimapdesc ud;
-	int i;
 
 	set_progname(argv[0]);
 
@@ -38,26 +45,34 @@
 	bindtextdomain(PACKAGE, LOCALEDIR);
 	textdomain(PACKAGE);
 
-	if (argc == 2 && !strcmp(argv[1], "-V"))
+	if (argc == 2 &&
+	    (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version")))
 		print_version_and_exit();
 
-	if (argc == 2 && !strcmp(argv[1], "-s")) {
-		sortflag = 1;
-		argc--;
-	}
-	if (argc != 1) {
-		fprintf(stderr, _("Usage:\n\t%s [-s]\n"), progname);
-		exit(1);
+	while ((c = getopt(argc, argv, "sC:")) != EOF) {
+		switch (c) {
+		case 's':
+			sortflag = 1;
+			break;
+		case 'C':
+			console = optarg;
+			break;
+		default:
+			usage();
+		}
 	}
 
-	fd = getfd();
+	if (argc != 1)
+		usage();
+
+	fd = getfd(console);
 	if (getunimap(fd, &ud))
 		exit(1);
 
 	if (sortflag) {
 		printf("# sorted kernel unimap - count=%d\n", ud.entry_ct);
 		/* sort and merge entries */
-		qsort (ud.entries, ud.entry_ct, sizeof(ud.entries[0]),
+		qsort(ud.entries, ud.entry_ct, sizeof(ud.entries[0]),
 		       ud_compar);
 		for(i=0; i<ud.entry_ct; i++) {
 			int fp = ud.entries[i].fontpos;
diff --git a/src/kbd_mode.c b/src/kbd_mode.c
index 6338398..9e6a639 100644
--- a/src/kbd_mode.c
+++ b/src/kbd_mode.c
@@ -32,7 +32,7 @@
 	if (argc == 2 && !strcmp(argv[1], "-V"))
 	    print_version_and_exit();
 
-	fd = getfd();
+	fd = getfd(NULL);
 
 	if (argc == 1) {
 	    /* report mode */
diff --git a/src/kbdrate.c b/src/kbdrate.c
index f966d5d..456fd98 100644
--- a/src/kbdrate.c
+++ b/src/kbdrate.c
@@ -85,7 +85,7 @@
 #define KDKBDREP        0x4B52  /* set keyboard delay/repeat rate;
 				 * actually used values are returned */
 struct kbd_repeat {
-        int delay;      /* in msec; <= 0: don't change */
+        int delay;        /* in msec; <= 0: don't change */
         int period;       /* in msec; <= 0: don't change */
 };
 #endif
diff --git a/src/kdmapop.c b/src/kdmapop.c
index 99faf0e..fd06c27 100644
--- a/src/kdmapop.c
+++ b/src/kdmapop.c
@@ -127,6 +127,9 @@
  * In Linux 1.3.28 the hash table was replaced by a 3-level
  * paged table, so the contents of a struct unimapinit are
  * no longer meaningful.
+ *
+ * Linux 2.6.1 makes GIO_UNIMAP, PIO_UNIMAP, PIO_UNIMAPCLR per-vt
+ * so that fd no longer is random.
  */
 int
 getunimap(int fd, struct unimapdesc *ud0) {
diff --git a/src/ksyms.c b/src/ksyms.c
index 8e142ea..44ec267 100644
--- a/src/ksyms.c
+++ b/src/ksyms.c
@@ -1811,6 +1811,9 @@
 		sprintf(buf, "0x%04x", code);
 		p = buf;
 	}
+#if 0
+	/* silence the common usage  dumpkeys | loadkeys -u  */
 	fprintf(stderr, _("plus before %s ignored\n"), p);
+#endif
 	return code;
 }
diff --git a/src/loadkeys.y b/src/loadkeys.y
index c7f1e57..d07fc2e 100644
--- a/src/loadkeys.y
+++ b/src/loadkeys.y
@@ -31,6 +31,9 @@
 #define KT_LETTER KT_LATIN
 #endif
 
+#undef NR_KEYS
+#define NR_KEYS 256
+
 /* What keymaps are we defining? */
 char defining[MAX_NR_KEYMAPS];
 char keymaps_line_seen = 0;
@@ -68,7 +71,6 @@
 static void compose_as_usual(char *charset);
 static void lkfatal0(const char *, int);
 extern int set_charset(const char *charset);
-extern int getfd(void);
 extern char *xstrdup(char *);
 int key_buf[MAX_NR_KEYMAPS];
 int mod;
@@ -696,33 +698,37 @@
 
 static void
 addfunc(struct kbsentry kbs) {
-        int sh, i;
+	int sh, i, x;
 	char *p, *q, *r;
 
-        if (kbs.kb_func >= MAX_NR_FUNC) {
+	x = kbs.kb_func;
+
+        if (x >= MAX_NR_FUNC) {
 	        fprintf(stderr, _("%s: addfunc called with bad func %d\n"),
 			progname, kbs.kb_func);
 		exit(1);
 	}
-	if ((q = func_table[kbs.kb_func])) { /* throw out old previous def */
+
+	q = func_table[x];
+	if (q) {			/* throw out old previous def */
 	        sh = strlen(q) + 1;
 		p = q + sh;
 		while (p < fp)
 		        *q++ = *p++;
 		fp -= sh;
 
-		for (i = kbs.kb_func + 1; i < MAX_NR_FUNC; i++)
+		for (i = x + 1; i < MAX_NR_FUNC; i++)
 		     if (func_table[i])
 			  func_table[i] -= sh;
 	}
 
 	p = func_buf;                        /* find place for new def */
-	for (i = 0; i < kbs.kb_func; i++)
+	for (i = 0; i < x; i++)
 	        if (func_table[i]) {
 		        p = func_table[i];
 			while(*p++);
 		}
-	func_table[kbs.kb_func] = p;
+	func_table[x] = p;
         sh = strlen(kbs.kb_string) + 1;
 	if (fp + sh > func_buf + sizeof(func_buf)) {
 	        fprintf(stderr,
@@ -735,7 +741,7 @@
 	while (q > p)
 	        *--r = *--q;
 	strcpy(p, kbs.kb_string);
-	for (i = kbs.kb_func + 1; i < MAX_NR_FUNC; i++)
+	for (i = x + 1; i < MAX_NR_FUNC; i++)
 	        if (func_table[i])
 		        func_table[i] += sh;
 }
@@ -979,7 +985,7 @@
         int fd;
         int keyct, funcct, diacct;
 
-	fd = getfd();
+	fd = getfd(NULL);
 	keyct = defkeys(fd);
 	funcct = deffuncs(fd);
 	if (accent_table_size > 0 || nocompose)
diff --git a/src/loadunimap.c b/src/loadunimap.c
index 58fd5aa..cd72c98 100644
--- a/src/loadunimap.c
+++ b/src/loadunimap.c
@@ -1,7 +1,7 @@
 /*
  * loadunimap.c - aeb
  *
- * Version 1.04
+ * Version 1.09
  */
 
 #include <errno.h>
@@ -10,6 +10,7 @@
 #include <sysexits.h>
 #include <string.h>
 #include <ctype.h>
+#include <unistd.h>
 #include <fcntl.h>
 #include <linux/kd.h>
 #include <sys/ioctl.h>
@@ -35,9 +36,19 @@
 int verbose = 0;
 int force = 0;
 
+static void
+usage(void) {
+        fprintf(stderr,
+		_("Usage:\n\t%s [-C console] [-o map.orig]\n"), progname);
+        exit(1);
+}
+
 int
 main(int argc, char *argv[]) {
-	int fd;
+	int fd, c;
+	char *console = NULL;
+	char *outfnam = NULL;
+	char *infnam = "def.uni";
 
 	set_progname(argv[0]);
 
@@ -45,26 +56,37 @@
 	bindtextdomain(PACKAGE, LOCALEDIR);
 	textdomain(PACKAGE);
 
-	if (argc == 2 && !strcmp(argv[1], "-V"))
-	    print_version_and_exit();
+	if (argc == 2 &&
+	    (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version")))
+		print_version_and_exit();
 
-	fd = getfd();
-
-	if (argc >= 3 && !strcmp(argv[1], "-o")) {
-	    saveunicodemap(fd, argv[2]);
-	    argc -= 2;
-	    argv += 2;
-	    if (argc == 1)
-	      exit(0);
-	}
-		
-	if (argc > 2 || (argc == 2 && argv[1][0] == '-' && argv[1][1])) {
-		fprintf(stderr, _("usage: %s [-o map.orig] [map-file]\n"),
-			progname);
-		exit(1);
+	while ((c = getopt(argc, argv, "C:o:")) != EOF) {
+		switch (c) {
+		case 'C':
+			console = optarg;
+			break;
+		case 'o':
+		     	outfnam = optarg;
+			break;
+		default:
+			usage();
+		}
 	}
 
-	loadunicodemap(fd, (argc > 1) ? argv[1] : "def.uni");
+	if (argc > 2 || (argc == 1 && !outfnam))
+		usage();
+
+	fd = getfd(console);
+
+	if (outfnam) {
+		saveunicodemap(fd, outfnam);
+		if (argc == 1)
+			exit(0);
+	}
+
+	if (argc == 2)
+		infnam = argv[optind];
+	loadunicodemap(fd, infnam);
 	exit(0);
 }
 #endif
diff --git a/src/mapscrn.c b/src/mapscrn.c
index 434bc29..dddeacf 100644
--- a/src/mapscrn.c
+++ b/src/mapscrn.c
@@ -52,7 +52,7 @@
 		argv++;
 	}
 
-	fd = getfd();
+	fd = getfd(NULL);
 
 	if (argc >= 3 && !strcmp(argv[1], "-o")) {
 	    saveoldmap(fd, argv[2]);
diff --git a/src/resizecons.c b/src/resizecons.c
index aaf64d3..65fec76 100644
--- a/src/resizecons.c
+++ b/src/resizecons.c
@@ -157,7 +157,7 @@
  	fpclose(fin);
     }
 
-    fd = getfd();
+    fd = getfd(NULL);
 
     if(ioctl(fd, TIOCGWINSZ, &winsize)) {
 	perror("TIOCGWINSZ");
diff --git a/src/setfont.c b/src/setfont.c
index ab0d660..7a2f8fe 100644
--- a/src/setfont.c
+++ b/src/setfont.c
@@ -43,8 +43,8 @@
 			int iunit, int hwunit, int no_m, int no_u);
 extern void saveoldmap(int fd, char *omfil);
 extern void loadnewmap(int fd, char *mfil);
-extern void activatemap(void);
-extern void disactivatemap(void);
+extern void activatemap(int fd);
+extern void disactivatemap(int fd);
 
 int verbose = 0;
 int force = 0;
@@ -72,14 +72,14 @@
         fprintf(stderr, _(
 "Usage: setfont [write-options] [-<N>] [newfont..] [-m consolemap] [-u unicodemap]\n"
 "  write-options (take place before file loading):\n"
-"    -o  <filename>	Write current font to <filename>\n"
-"    -O  <filename>	Write current font and unicode map to <filename>\n"
-"    -om <filename>	Write current consolemap to <filename>\n"
-"    -ou <filename>	Write current unicodemap to <filename>\n"
+"    -o  <filename>  Write current font to <filename>\n"
+"    -O  <filename>  Write current font and unicode map to <filename>\n"
+"    -om <filename>  Write current consolemap to <filename>\n"
+"    -ou <filename>  Write current unicodemap to <filename>\n"
 "If no newfont and no -[o|O|om|ou|m|u] option is given,\n"
 "a default font is loaded:\n"
-"    setfont             Load font \"default[.gz]\"\n"
-"    setfont -<N>        Load font \"default8x<N>[.gz]\"\n"
+"    setfont         Load font \"default[.gz]\"\n"
+"    setfont -<N>    Load font \"default8x<N>[.gz]\"\n"
 "The -<N> option selects a font from a codepage that contains three fonts:\n"
 "    setfont -{8|14|16} codepage.cp[.gz]   Load 8x<N> font from codepage.cp\n"
 "Explicitly (with -m or -u) or implicitly (in the fontfile) given mappings\n"
@@ -87,10 +87,11 @@
 "    -h<N>      (no space) Override font height.\n"
 "    -m <fn>    Load console screen map.\n"
 "    -u <fn>    Load font unicode map.\n"
-"    -m none	Suppress loading and activation of a screen map.\n"
-"    -u none	Suppress loading of a unicode map.\n"
-"    -v		Be verbose.\n"
-"    -V		Print version and exit.\n"
+"    -m none    Suppress loading and activation of a screen map.\n"
+"    -u none    Suppress loading of a unicode map.\n"
+"    -v         Be verbose.\n"
+"    -C <cons>  Indicate console device to be used.\n"
+"    -V         Print version and exit.\n"
 "Files are loaded from the current directory or /usr/lib/kbd/*/.\n"
 ));
 	exit(EX_USAGE);
@@ -101,7 +102,7 @@
 int
 main(int argc, char *argv[]) {
 	char *ifiles[MAXIFILES];
-	char *mfil, *ufil, *Ofil, *ofil, *omfil, *oufil;
+	char *mfil, *ufil, *Ofil, *ofil, *omfil, *oufil, *console;
 	int ifilct = 0, fd, i, iunit, hwunit, no_m, no_u;
 	int restore = 0;
 
@@ -111,12 +112,14 @@
 	bindtextdomain(PACKAGE, LOCALEDIR);
 	textdomain(PACKAGE);
 
-	fd = getfd();
-
-	ifiles[0] = mfil = ufil = Ofil = ofil = omfil = oufil = 0;
+	ifiles[0] = mfil = ufil = Ofil = ofil = omfil = oufil = NULL;
 	iunit = hwunit = 0;
 	no_m = no_u = 0;
+	console = NULL;
 
+	/*
+	 * No getopt() here because of the -om etc options.
+	 */
 	for (i = 1; i < argc; i++) {
 	    if (!strcmp(argv[i], "-V")) {
 		print_version_and_exit();
@@ -124,6 +127,10 @@
 	        verbose++;
 	    } else if (!strcmp(argv[i], "-R")) {
 		restore = 1;
+	    } else if (!strcmp(argv[i], "-C")) {
+		if (++i == argc || console)
+		  usage();
+		console = argv[i];
 	    } else if (!strcmp(argv[i], "-O")) {
 		if (++i == argc || Ofil)
 		  usage();
@@ -179,6 +186,8 @@
 	    exit(EX_USAGE);
 	}
 
+	fd = getfd(console);
+
 	if (!ifilct && !mfil && !ufil &&
 	    !Ofil && !ofil && !omfil && !oufil && !restore)
 	  /* reset to some default */
@@ -198,7 +207,7 @@
 
 	if (mfil) {
 	    loadnewmap(fd, mfil);
-	    activatemap();
+	    activatemap(fd);
 	    no_m = 1;
 	}
 
@@ -681,12 +690,19 @@
    probably it should copy the default from the current console?
    But what if we want a new one because the current one is messed up? */
 /* For the moment: only the current console, only the G0 set */
-void
-activatemap(void) {
-    printf("\033(K");
+
+static void
+send_escseq(int fd, char *seq, int n) {
+	if (write(fd, seq, n) != n)  /* maybe fd is read-only */
+		printf(seq);
 }
 
 void
-disactivatemap(void) {
-    printf("\033(B");
+activatemap(int fd) {
+	send_escseq(fd, "\033(K", 3);
+}
+
+void
+disactivatemap(int fd) {
+	send_escseq(fd, "\033(B", 3);
 }
diff --git a/src/setkeycodes.c b/src/setkeycodes.c
index 8949fca..6fd9372 100644
--- a/src/setkeycodes.c
+++ b/src/setkeycodes.c
@@ -41,7 +41,7 @@
 
     if (argc % 2 != 1)
       usage(_("even number of arguments expected"));
-    fd = getfd();
+    fd = getfd(NULL);
 
     while (argc > 2) {
 	a.keycode = atoi(argv[2]);
diff --git a/src/setlogcons.c b/src/setlogcons.c
index 526c260..fb16e25 100644
--- a/src/setlogcons.c
+++ b/src/setlogcons.c
@@ -26,7 +26,7 @@
 	else
 		cons = 0;	/* current console */
 
-        fd = getfd();
+        fd = getfd(NULL);
 	arg.fn = 11;		/* redirect kernel messages */
 	arg.subarg = cons;	/* to specified console */
         if (ioctl(fd, TIOCLINUX, &arg)) {
diff --git a/src/setpalette.c b/src/setpalette.c
index d91c4dc..7aae948 100644
--- a/src/setpalette.c
+++ b/src/setpalette.c
@@ -9,7 +9,7 @@
 	int fd, indx, red, green, blue;
 	unsigned char cmap[48];
 
-	fd = getfd();
+	fd = getfd(NULL);
 	if (ioctl(fd, GIO_CMAP, cmap))
 		perror("GIO_CMAP");
 	if (argc != 5) {
diff --git a/src/setvesablank.c b/src/setvesablank.c
index ee63db4..0e9d0ae 100644
--- a/src/setvesablank.c
+++ b/src/setvesablank.c
@@ -23,7 +23,7 @@
 		fprintf(stderr, _("usage: %s\n"), "setvesablank ON|on|off");
 		exit(1);
 	}
-	fd = getfd();
+	fd = getfd(NULL);
 	arg.ten = 10;
 	arg.onoff = 0;
 	if (!strcmp(argv[1], "on"))
diff --git a/src/showconsolefont.c b/src/showconsolefont.c
index 13d5091..8d69079 100644
--- a/src/showconsolefont.c
+++ b/src/showconsolefont.c
@@ -3,10 +3,12 @@
 
 #include <stdio.h>
 #include <errno.h>
+#include <unistd.h>
 #include <sys/types.h>
 #include <sys/ioctl.h>
 #include <linux/kd.h>
 #include "nls.h"
+#include "getfd.h"
 #include "version.h"
 #include "kdmapop.h"
 #include "kdfontop.h"
@@ -106,8 +108,8 @@
 
 int
 main (int argc, char **argv) {
-	int n, cols, rows, nr, i, j, k;
-	char *sep;
+	int c, n, cols, rows, nr, i, j, k;
+	char *sep, *console = NULL;
 	int list[64], lth, verbose = 0;
 
 	set_progname(argv[0]);
@@ -120,14 +122,24 @@
 	    (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version")))
 		print_version_and_exit();
 
-	if (argc == 2 && !strcmp(argv[1], "-v"))
-		verbose = 1;
-	else if (argc != 1)
+	while ((c = getopt(argc, argv, "vC:")) != EOF) {
+		switch (c) {
+		case 'v':
+			verbose = 1;
+			break;
+		case 'C':
+			console = optarg;
+			break;
+		default:
+			usage();
+		}
+	}
+
+	if (argc != 1)
 		usage();
 
-#if 0
-	fd = getfd();
-#endif
+	fd = getfd(console);
+
 	settrivialscreenmap();
 	getoldunicodemap();
 
diff --git a/src/showkey.c b/src/showkey.c
index 010c0f6..49ecc73 100644
--- a/src/showkey.c
+++ b/src/showkey.c
@@ -172,7 +172,7 @@
 	}
 
 
-	fd = getfd();
+	fd = getfd(NULL);
 
 	/* the program terminates when there is no input for 10 secs */
 	signal(SIGALRM, watch_dog);
diff --git a/src/totextmode.c b/src/totextmode.c
index 45804e8..93734ba 100644
--- a/src/totextmode.c
+++ b/src/totextmode.c
@@ -29,7 +29,7 @@
 	fprintf(stderr, _("usage: totextmode\n"));
 	exit(1);
     }
-    fd = getfd();
+    fd = getfd(NULL);
     num = atoi(argv[1]);
     if (ioctl(fd,KDSETMODE,KD_TEXT)) {
 	perror("totextmode: KDSETMODE");
diff --git a/src/version.h b/src/version.h
index 70a3de6..aa9fefb 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,7 +1,7 @@
 #include <string.h>
 #include <stdlib.h>
 
-#define VERSION "1.08"
+#define VERSION "1.10"
 
 char *progname;