diff -urNad /home/wart/Projects/debian/kbd/new/kbd-1.12/src/loadkeys.y kbd-1.12/src/loadkeys.y --- /home/wart/Projects/debian/kbd/new/kbd-1.12/src/loadkeys.y 2004-01-27 14:25:50.000000000 +0300 +++ kbd-1.12/src/loadkeys.y 2004-01-27 14:37:01.000000000 +0300 @@ -566,7 +566,7 @@ } char *dirpath[] = { "", DATADIR "/" KEYMAPDIR "/**", KERNDIR "/", 0 }; -char *suffixes[] = { "", ".map", 0 }; +char *suffixes[] = { "", ".kmap", ".map", 0 }; extern FILE *findfile(char *fnam, char **dirpath, char **suffixes); #undef yywrap diff -urNad /opt/tmp/kbd-1.12/src/loadunimap.c kbd-1.12/src/loadunimap.c --- /opt/tmp/kbd-1.12/src/loadunimap.c 2004-08-02 22:57:25.000000000 +0200 +++ kbd-1.12/src/loadunimap.c 2004-08-02 22:57:44.000000000 +0200 @@ -28,8 +28,8 @@ extern char *progname; extern int force; -static char *unidirpath[] = { "", DATADIR "/" UNIMAPDIR "/", 0 }; -static char *unisuffixes[] = { "", ".uni", 0 }; +static char *unidirpath[] = { "", DATADIR "/" TRANSDIR "/", 0 }; +static char *unisuffixes[] = { "", ".sfm", ".uni", 0 }; #ifdef MAIN #include "version.h" diff -urNad /opt/tmp/kbd-1.12/src/getunimap.c kbd-1.12/src/getunimap.c --- /opt/tmp/kbd-1.12/src/getunimap.c 2004-08-01 20:33:38.000000000 +0200 +++ kbd-1.12/src/getunimap.c 2004-08-02 22:45:30.000000000 +0200 @@ -62,7 +62,7 @@ } } - if (argc != 1) + if (optind < argc) usage(); fd = getfd(console); diff -urNad /opt/tmp/kbd-1.12/src/loadunimap.c kbd-1.12/src/loadunimap.c --- /opt/tmp/kbd-1.12/src/loadunimap.c 2004-08-02 22:45:06.000000000 +0200 +++ kbd-1.12/src/loadunimap.c 2004-08-02 22:46:39.000000000 +0200 @@ -73,18 +73,18 @@ } } - if (argc > 2 || (argc == 1 && !outfnam)) + if (argc > optind+1 || (argc == optind && !outfnam)) usage(); fd = getfd(console); if (outfnam) { saveunicodemap(fd, outfnam); - if (argc == 1) + if (argc == optind) exit(0); } - if (argc == 2) + if (argc == optind+1) infnam = argv[optind]; loadunicodemap(fd, infnam); exit(0); diff -urNad /opt/tmp/kbd-1.12/src/showconsolefont.c kbd-1.12/src/showconsolefont.c --- /opt/tmp/kbd-1.12/src/showconsolefont.c 2004-08-02 22:44:30.000000000 +0200 +++ kbd-1.12/src/showconsolefont.c 2004-08-02 22:47:07.000000000 +0200 @@ -135,7 +135,7 @@ } } - if (argc != 1) + if (optind < argc) usage(); fd = getfd(console); --- kbd-1.12.orig/src/kbdrate.c +++ kbd-1.12/src/kbdrate.c @@ -112,7 +112,7 @@ kbdrep_s.period = -1; kbdrep_s.delay = -1; if (ioctl( 0, KDKBDREP, &kbdrep_s )) { - if (errno == EINVAL) + if (errno == EINVAL || errno == ENOTTY) return 0; perror( "ioctl(KDKBDREP)" ); exit( 1 );