Hello community, here is the log from the commit of package kbd for openSUSE:Factory checked in at 2020-09-23 12:59:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kbd (Old) and /work/SRC/openSUSE:Factory/.kbd.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kbd" Wed Sep 23 12:59:13 2020 rev:99 rq: version:1.12 Changes: -------- --- /work/SRC/openSUSE:Factory/kbd/kbd.changes 2020-09-21 17:08:31.131196922 +0200 +++ /work/SRC/openSUSE:Factory/.kbd.new.4249/kbd.changes 2020-09-23 12:59:20.217774336 +0200 @@ -2,679 +1,0 @@ -Thu Sep 17 22:43:16 UTC 2020 - Stanislav Brabec <[email protected]> - -- Make kbdsettings working in both bash and dash (boo#1175040). - -------------------------------------------------------------------- -Thu Sep 17 14:47:04 UTC 2020 - Stanislav Brabec <[email protected]> - -- Fix kbd-1.15.5-loadkeys-search-path.patch to prefer xkb keymaps - (boo#1176302). - -------------------------------------------------------------------- -Thu Aug 20 11:34:32 UTC 2020 - Jiri Slaby <[email protected]> - -- add libkeymap-Fix-mk_mapname-for-the-plain-map.patch - -------------------------------------------------------------------- -Tue Apr 21 13:08:11 UTC 2020 - Ludwig Nussel <[email protected]> - -- drop broken kbd command as well as guess_encoding (boo#1170067) -- don't use subdirectory for legacy keymaps (boo#1166423) -- use fdupes - -------------------------------------------------------------------- -Tue Mar 3 02:25:10 CET 2020 - [email protected] - -- Update to version 2.2.0: - * setfont: Add option -d to double size of font. - * kbd_mode: Add -f option and deny dangerous mode switches - without it. - * Data files updates. - * Fix gcc warnings and error with gcc-10 (boo#1160273). - * Other fixes. - * For a full list of changes see: - https://git.kernel.org/pub/scm/linux/kernel/git/legion/kbd.git/log/ -- Update home page. -- Refresh patches: kbd-1.15.2-dumpkeys-C-opt.patch, - kbd-1.15.2-setfont-no-cruft.patch, - kbd-1.15.5-loadkeys-search-path.patch. - -------------------------------------------------------------------- -Thu Jan 9 22:35:51 UTC 2020 - Stefan Brüns <[email protected]> - -- Use a UTF-8 capable locale, otherwise ckbcomp will not not able - to do proper uppercase/lowercase conversions. -- Rebase cz-map.patch after UTF-8 changes. -- Skip compression/decompression of maps which are about to be - discarded later (~30%). Avoid zgrep, which is a shell script - spawning grep and gunzip for each input file. - -------------------------------------------------------------------- -Thu Dec 5 12:15:22 UTC 2019 - [email protected] - -- Move pam.d/vlock to /usr/etc - -------------------------------------------------------------------- -Thu Sep 19 09:05:55 UTC 2019 - Martin Vidner <[email protected]> - -- Allow YaST to select Iranian (Persian, Farsi) keyboard layout - (bsc#1092920) - -------------------------------------------------------------------- -Thu Aug 2 08:06:01 UTC 2018 - [email protected] - -- fbtest.c: include <sys/sysmacros.h> for major/minor - -------------------------------------------------------------------- -Thu May 24 16:14:57 CEST 2018 - [email protected] - -- Use %license instead of %doc [bsc#1082318] - -------------------------------------------------------------------- -Thu Apr 5 17:32:03 CEST 2018 - [email protected] - -- Disable characters >=U+F000. These do not work properly - (bsc#1085432#c15, kbd-unicode-fxxx.patch). - -------------------------------------------------------------------- -Thu Mar 15 17:04:06 CET 2018 - [email protected] - -- Do not cause error on UNICODE characters >= 0xF000 (e. g. - ligature fi) (bsc#1085432, kbd-unicode-fxxx.patch). - -------------------------------------------------------------------- -Fri Jan 12 17:39:18 CET 2018 - [email protected] - -- Move initial NumLock handling from systemd back to kbd: - * Add kbdsettings service written by Thomas Blume (boo#1010880, - kbdsettings, kbdsettings.service, numlockbios.c, - update sysconfig.console and sysconfig.keyboard). - * Exclude numlockbios support for non x86 platforms - (kbdsettings-nox86.patch). -- Drop references to KEYTABLE and COMPOSETABLE (boo#1010880#c32, - boo#1010880#c54, sysconfig.keyboard.del, README.SUSE, - drop kbd.fillup). -- Fix paths in kbd.pl. - -------------------------------------------------------------------- -Wed Dec 6 13:30:49 UTC 2017 - [email protected] - -- Drop from some fill-up templates, a couple of sysconfig variables no - more read by systemd (fate#319454) - - So the relevant settings can be defined in only one place. - -------------------------------------------------------------------- -Thu Nov 23 13:40:21 UTC 2017 - [email protected] - -- Replace references to /var/adm/fillup-templates with new - %_fillupdir macro (boo#1069468) - -------------------------------------------------------------------- -Fri Oct 13 14:53:41 CEST 2017 - [email protected] - -- Add vlock.pamd PAM file (bsc#1056449#c8). -- Clean spec file. - -------------------------------------------------------------------- -Fri Sep 22 15:51:51 CEST 2017 - [email protected] - -- Version update to 2.0.4: - * translation updates - * support for U+202F - * minor fixes and code cleanup - * minor improvements and more characters support -- Enable vlock (bsc#1056449, FATE#261). - -------------------------------------------------------------------- -Sun Apr 30 04:31:25 UTC 2017 - [email protected] - -- call gzip -n to make build fully reproducible - -------------------------------------------------------------------- -Thu Mar 23 23:23:20 UTC 2017 - [email protected] - -- Revert dropping of kdb-legacy Requires: There are still packages - and installation flows that needs this to be present - (boo#1027379). - -------------------------------------------------------------------- -Sun Feb 12 23:37:52 UTC 2017 - [email protected] - -- Drop kdb-legacy Requires: No longer needed, and was always meant - to be temporary. - -------------------------------------------------------------------- -Tue Jul 12 12:52:31 UTC 2016 - [email protected] - -- Version update to 2.0.3: - * Various small updates -- Obsolete merged patch: - * kbd-1.15.5-br-abnt2-slash-question.patch -- Quickly run over with spec-cleaner -- Remove arch check for alpha and other unused platforms -- Drop kbd.fillup.nonpc as it should not be needed nowdays - -------------------------------------------------------------------- -Thu Jun 16 00:18:55 CET 2016 - [email protected] - -- Fix data/keymaps/i386/querty/br-abnt2.map - (boo#984958, kbd-1.15.5-br-abnt2-slash-question.patch) - -------------------------------------------------------------------- -Thu Dec 10 16:31:10 CET 2015 - [email protected] - -- Fix missing dependency on coreutils for initrd macros (boo#958562) -- Call missing initrd macro at postun (boo#958562) - -------------------------------------------------------------------- -Fri Aug 21 10:50:21 UTC 2015 - [email protected] - -- Rename conflicting legacy keymaps: - * dvorak/no.map -> dvorak/no-dvorak.map - * fgGIod/trf.map -> fgGIod/trf-fgGIod.map - * olpc/pt.map -> olpc/pt-olpc.map - * qwerty/cz.map -> qwerty/cz-qwerty.map -- i386/qwerty/sr-latin links to sr-cy -- add compose rules to cz layout (rh#1181581) - -------------------------------------------------------------------- -Mon Aug 10 11:53:48 UTC 2015 - [email protected] - -- genmap4systemd.sh: use 'abnt2' model for 'br' layouts, 'jp106' - model for 'jp' layouts and 'microsoftpro' for anything else - (instead of 'pc105' before) (FATE#318426) - -------------------------------------------------------------------- -Tue Jul 21 10:05:35 UTC 2015 - [email protected] - -- added genmap4systemd.sh tool, which generates entries for - systemd's /usr/share/systemd/kbd-model-map table from - xkeyboard-config converted keymaps; entries are written to - /usr/share/systemd/kbd-model-map.xkb-generated, so these can - easily be added to /usr/share/systemd/kbd-model-map by systemd - package (FATE#318426) - -------------------------------------------------------------------- -Fri Jul 17 12:54:27 UTC 2015 - [email protected] ++++ 488 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/kbd/kbd.changes ++++ and /work/SRC/openSUSE:Factory/.kbd.new.4249/kbd.changes Old: ---- README.SUSE cz-map.patch fbtest.8 fbtest.c genmap4systemd.sh kbd-1.15.2-docu-X11R6-xorg.patch kbd-1.15.2-dumpkeys-C-opt.patch kbd-1.15.2-prtscr_no_sigquit.patch kbd-1.15.2-setfont-no-cruft.patch kbd-1.15.2-sv-latin1-keycode10.patch kbd-1.15.2-unicode_scripts.patch kbd-1.15.5-loadkeys-search-path.patch kbd-2.0.2-comment-typo-qwerty.patch kbd-2.0.2-doshell-reference.patch kbd-2.0.2-euro-unicode.patch kbd-2.0.2-fix-bashisms.patch kbd-2.2.0-repack.tar.xz kbd-unicode-fxxx.patch kbdsettings kbdsettings-nox86.patch kbdsettings.service libkeymap-Fix-mk_mapname-for-the-plain-map.patch numlockbios.c vlock.pamd xml2lst.pl New: ---- README.SuSE kbd-1.12-Meta-Tab.diff kbd-1.12-be-nice-to-kdm.diff kbd-1.12-cz-us-qwertz.diff kbd-1.12-docu-X11R6-xorg.diff kbd-1.12-dumpkeys-full.diff kbd-1.12-dumpkeys-ppc.diff kbd-1.12-el-locale-update.diff kbd-1.12-handle-small-table.diff kbd-1.12-happy-abuild.diff kbd-1.12-kbd_mode.diff kbd-1.12-loadkeys-C-opt.diff kbd-1.12-loadkeys-repstdout.diff kbd-1.12-mac-de.diff kbd-1.12-mac-dk.diff kbd-1.12-noclaudio.diff kbd-1.12-nohang-kbdrate2.diff kbd-1.12-nounicode-nontty.diff kbd-1.12-prtscr_no_sigquit.diff kbd-1.12-setfont-fpclose.diff kbd-1.12-setfont-no-cruft.diff kbd-1.12-showconsolefont-info.diff kbd-1.12-strip.diff kbd-1.12-swiss.diff kbd-1.12-unicode_scripts.diff kbd-1.12.diff kbd-1.12.lsm kbd-1.12.tar.bz2 kbd.fillup kbd.fillup.nonpc kbd.init piofont_debug.diff sv-latin1-keycode10.diff testutf8.c ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kbd.spec ++++++ ++++ 652 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/kbd/kbd.spec ++++ and /work/SRC/openSUSE:Factory/.kbd.new.4249/kbd.spec ++++++ README.SuSE ++++++ Release info on the kbd utils ============================= Fri Feb 27 18:39:59 CET 2004, jw SuSE upgraded the kbd utils to 1.12 for the release of SuSE Linux 9.1. The choose-tty patch has been accepted upstream. Note that we used -c for selecting the console device, now it is -C = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = SuSE upgraded the kbd utils to 1.08 for the release of SuSE Linux 9.0. Some of our patches to 1.06 have been integrated. Most of the changes from us to 1.03wip (SL 7.1 and 7.0) and 1.05 (SL 7.2, 7.3) have been incorporated, so we can finally go with an almost unpatched kbd again. Since 1.03a, there is support for fonts that have a width larger than 8 pixels. This will only work with framebuffer support on most architectures though. Some fonts with 12x22 size are available as well, check /usr/share/kbd/consolefonts/. You probably want to use higher resolutions with such a large font, like 1152x858. If you use fbset don't forget to set -vyres to a large value, otherwise your framebuffer's speed will be lower than it could. setfont has been patched to allow specifing the tty with -c where the changes should be applied to. This is used in the setup scripts. Your SuSE team <[email protected]> New handling of composition of characters ========================================= Most of the fonts have much more characters than you can reach directly through the keyboard. To access all of them you may use showconsolefont, deduce the decimal code and enter it by holding down <alt> and entering the code via the keypad. There's a much better way, though: Most characters may be entered via composition. Many characters are just consisting of a standard character with some sort of accent or change. Such characters can be composed by composition. Just press the <compose> key, let it go again, enter the accent and then the letter. Some examples: (Assuming Iso-Latin-1/9 character set:) <compose> " a => � <compose> , c => � <compose> | S => $ Support for composition is unfortunately not contained in most keymaps. Most lack two things: (a) The <compose> key is not mapped (b) The compose tables are not included In previous versions of SuSE Linux, some keytables have been hacked to include support for the <compose> key and to include compose tables. This has now been replaced by a more general solution: The kbd setup scripts uses another /etc/sysconfig/keyboard variable to determine which compose tables should be loaded and whether the compose key should be mapped: COMPOSETABLE. For all words listed there, loadkeys will be called with the argument compose.word. (Except for clear which sets a flag to clear the compose table.) Look at the compose.* files in /usr/share/kbd/keymaps/include/: (a) You find there two files for having the <compose> key mapped. (b) You find there compose tables which are suitable for different character sets. ad (a): winkeys: The compose key will be mapped on the W*n menu key shiftctrl: The compose key will be mapped to Shift Ctrl. You can use both, if you like. ad (b): latin, latinX, latin1.add, 8859_X: Contains the compose combinations suitable for the respective character set. Many people will want to use latin1 or latin1.add. Just using latin is also sort of an acceptable compromise for many Latin character sets. YOU MAY ONLY USE ONE OF THOSE. If you want the combination of more than one table, you have to create a file which includes what you want. Example: (/etc/sysconfig/keyboard) COMPOSETABLE="clear winkeys shiftctrl latin1.add" Please keep in mind, that all these settings only affect the console, i.e. text mode. Your SuSE team <[email protected]> ++++++ kbd-1.12-Meta-Tab.diff ++++++ ++++ 1048 lines (skipped) ++++++ kbd-1.12-be-nice-to-kdm.diff ++++++ --- kbd-1.12/src/setfont.c.orig 2005-03-03 19:17:42.000000000 +0000 +++ kbd-1.12/src/setfont.c 2005-03-04 15:19:13.000000000 +0000 @@ -189,6 +189,20 @@ fd = getfd(console); + int kd_mode = -1; + if (!ioctl(fd, KDGETMODE, &kd_mode) && (kd_mode == KD_GRAPHICS)) + { + /* + * PIO_FONT will fail on a console which is in foreground and in KD_GRAPHICS mode. + * 2005-03-03, [email protected]. + */ + if (verbose) + printf("setfont: graphics console %s skipped\n", console?console:""); + close(fd); + return 0; + } + + if (!ifilct && !mfil && !ufil && !Ofil && !ofil && !omfil && !oufil && !restore) /* reset to some default */ --- kbd-1.12/src/kdfontop.c.orig 2005-03-03 19:14:27.000000000 +0000 +++ kbd-1.12/src/kdfontop.c 2005-03-03 19:42:28.000000000 +0000 @@ -7,6 +7,7 @@ #include <stdio.h> #include <errno.h> #include <stdlib.h> /* free() */ +#include <unistd.h> /* usleep() */ #include <sys/ioctl.h> #include <linux/kd.h> #include "kdfontop.h" @@ -275,7 +276,19 @@ /* Third attempt: PIO_FONT */ /* This will load precisely 256 chars, independent of count */ - i = ioctl(fd, PIO_FONT, buf); + int loop = 0; + + /* we allow ourselves to hang here for ca 5 seconds, xdm may be playing tricks on us. */ + while ((loop++ < 20) && (i = ioctl(fd, PIO_FONT, buf))) + { + if (loop <= 1) + fprintf(stderr, "putfont: PIO_FONT trying ...\n"); + else + fprintf(stderr, "."); + usleep(250000); + } + fprintf(stderr, "\n"); + if (i) { fprintf(stderr, "%s: putfont: %d,%dx%d: failed: %d\n", progname, count, width, height, i); perror("putfont: PIO_FONT"); ++++++ kbd-1.12-cz-us-qwertz.diff ++++++ diff -Nur kbd-1.12-12/data/keymaps/i386/qwertz/cz-us-qwertz.map kbd-1.12-13/data/keymaps/i386/qwertz/cz-us-qwertz.map --- kbd-1.12-12/data/keymaps/i386/qwertz/cz-us-qwertz.map 2004-02-27 17:19:23.000000000 +0100 +++ kbd-1.12-13/data/keymaps/i386/qwertz/cz-us-qwertz.map 2004-02-27 17:23:00.000000000 +0100 @@ -35,7 +35,7 @@ keycode 18 = e keycode 19 = r keycode 20 = t -keycode 21 = z +keycode 21 = z Z y Y keycode 22 = u keycode 23 = i keycode 24 = o @@ -61,7 +61,7 @@ keycode 41 = grave semicolon grave asciitilde nul VoidSymbol nul VoidSymbol Meta_grave VoidSymbol Meta_grave VoidSymbol keycode 42 = Shift keycode 43 = backslash bar backslash bar Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_backslash VoidSymbol Meta_backslash VoidSymbol -keycode 44 = y +keycode 44 = y Y z Z keycode 45 = x keycode 46 = c keycode 47 = v ++++++ kbd-1.12-docu-X11R6-xorg.diff ++++++ --- kbd-1.12/doc/kbd.FAQ-15.html.orig 2003-09-24 23:01:40.000000000 +0200 +++ kbd-1.12/doc/kbd.FAQ-15.html 2006-08-11 12:10:06.000000000 +0200 @@ -188,7 +188,7 @@ <P>XFree86 also supports Slow Keys, Repeat Keys, Bounce Keys and an audible bell. <CODE>xkbcomp</CODE> can be used to generate a <CODE>.xkm</CODE> file to enable these. The appropriate <CODE>xkbcomp</CODE> commands are listed in -<CODE>/usr/X11R6/lib/X11/xkb/compat/accessx</CODE>. +<CODE>/usr/{X11R6/lib,share}/X11/xkb/compat/accessx</CODE>. Unfortunately, the exact process is still undocumented. <P> <HR> --- kbd-1.12/doc/kbd.FAQ.txt.orig 1999-10-08 22:46:24.000000000 +0200 +++ kbd-1.12/doc/kbd.FAQ.txt 2006-08-11 12:10:16.000000000 +0200 @@ -1253,7 +1253,7 @@ 1. The Linux keyboard driver mechanism, used in conjunction with loadkeys. 2. The X mechanism - see X386keybd(1), later XFree86kbd(1). Under - X11R6: edit /usr/X11R6/lib/X11/locale/iso8859-1/Compose. + X11R6: edit /usr/{X11R6/lib,/usr/share}/X11/locale/iso8859-1/Compose. See also Andrew D. Balsa's comments at http://wauug.erols.com/~balsa/linux/deadkeys/index.html. --- kbd-1.12/doc/kbd.FAQ-8.html.orig 2003-09-24 23:01:40.000000000 +0200 +++ kbd-1.12/doc/kbd.FAQ-8.html 2006-08-11 12:09:53.000000000 +0200 @@ -154,7 +154,7 @@ <OL> <LI>The Linux keyboard driver mechanism, used in conjunction with loadkeys.</LI> <LI>The X mechanism - see X386keybd(1), later XFree86kbd(1). -Under X11R6: edit <CODE>/usr/X11R6/lib/X11/locale/iso8859-1/Compose</CODE>.<P>See also Andrew D. Balsa's comments at +Under X11R6: edit <CODE>/usr/{X11R6/lib,share}/X11/locale/iso8859-1/Compose</CODE>.<P>See also Andrew D. Balsa's comments at <A HREF="http://wauug.erols.com/~balsa/linux/deadkeys/index.html">http://wauug.erols.com/~balsa/linux/deadkeys/index.html</A>. </LI> <LI>The emacs mechanism obtained by loading "iso-insert.el" or ++++++ kbd-1.12-dumpkeys-full.diff ++++++ diff -Nur kbd-1.12-7/src/dumpkeys.c kbd-1.12-8/src/dumpkeys.c --- kbd-1.12-7/src/dumpkeys.c 2004-02-26 22:56:09.000000000 +0100 +++ kbd-1.12-8/src/dumpkeys.c 2004-02-26 23:00:23.000000000 +0100 @@ -126,6 +126,7 @@ int t; int v; const char *p; + int plus; printf(" "); t = KTYP(code); @@ -138,18 +139,20 @@ printf("U+%04x ", code); return; } + plus = 0; if (t == KT_LETTER) { t = KT_LATIN; printf("+"); + plus++; } if (!numeric && t < syms_size && v < syms[t].size && (p = syms[t].table[v])[0]) - printf("%-16s", p); + printf("%-*s", 16 - plus, p); else if (!numeric && t == KT_META && v < 128 && v < syms[0].size && (p = syms[0].table[v])[0]) printf("Meta_%-11s", p); else - printf("0x%04x ", code); + printf("0x%04x %s", code, plus ? "" : " "); } static char ++++++ kbd-1.12-dumpkeys-ppc.diff ++++++ diff -Nur kbd-1.12-8/src/dumpkeys.c kbd-1.12-9/src/dumpkeys.c --- kbd-1.12-8/src/dumpkeys.c 2004-02-26 23:00:23.000000000 +0100 +++ kbd-1.12-9/src/dumpkeys.c 2004-02-26 23:07:51.000000000 +0100 @@ -163,6 +163,10 @@ ke.kb_index = 0; ke.kb_table = 0; ke.kb_value = K(t, 0); +#if defined(__mc68000__) || defined(__powerpc__) + /* Keycode 0 is a valid keycode, do not clobber it. */ + ioctl(fd, KDGKBENT, (unsigned long)&ke); +#endif status = (ioctl(fd, KDSKBENT, (unsigned long)&ke) == 0); return status; } @@ -245,8 +249,13 @@ show_short_info(void) { int i; +#if !defined(__mc68000__) && !defined(__powerpc__) printf(_("keycode range supported by kernel: 1 - %d\n"), nr_keys - 1); +#else + printf(_("keycode range supported by kernel: 0 - %d\n"), + NR_KEYS - 1); +#endif printf(_("max number of actions bindable to a key: %d\n"), MAX_NR_KEYMAPS); get_keymaps(); @@ -358,7 +367,11 @@ for (j = 0; j < MAX_NR_KEYMAPS; j++) { int ja = (j | M_ALT); if (j != ja && keymap_index[j] >= 0 && keymap_index[ja] >= 0) +#if !defined(__mc68000__) && !defined(__powerpc__) for (i = 1; i < nr_keys; i++) { +#else + for (i = 0; i < nr_keys; i++) { +#endif int buf0, buf1, type; buf0 = get_bind(i, j); @@ -384,7 +397,11 @@ not_alt_is_meta: no_shorthands: +#if !defined(__mc68000__) && !defined(__powerpc__) for (i = 1; i < nr_keys; i++) { +#else + for (i = 0; i < nr_keys; i++) { +#endif for (j = 0; j < keymapnr; j++) buf[j] = get_bind(i, good_keymap[j]); ++++++ kbd-1.12-el-locale-update.diff ++++++ --- po/Makefile.in +++ po/Makefile.in @@ -34,9 +34,9 @@ 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 +POFILES = cs.po da.po de.po el.po es.po fr.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 +GMOFILES = $(patsubst %.po, %.gmo, $(POFILES)) CATALOGS = $(GMOFILES) CATOBJEXT = .gmo ++++++ kbd-1.12-handle-small-table.diff ++++++ diff -Nur kbd-1.12-10/src/dumpkeys.c kbd-1.12-11/src/dumpkeys.c --- kbd-1.12-10/src/dumpkeys.c 2004-02-26 23:10:19.000000000 +0100 +++ kbd-1.12-11/src/dumpkeys.c 2004-02-27 17:18:15.000000000 +0100 @@ -113,10 +113,13 @@ ke.kb_index = index; ke.kb_table = table; if (ioctl(fd, KDGKBENT, (unsigned long)&ke)) { - perror("KDGKBENT"); - fprintf(stderr, _("KDGKBENT error at index %d in table %d\n"), - index, table); - exit(1); + if (index < 128) { + perror("KDGKBENT"); + fprintf(stderr, _("KDGKBENT error at index %d in table %d\n"), + index, table); + exit(1); + } else + return -1; } return ke.kb_value; } @@ -375,6 +378,8 @@ int buf0, buf1, type; buf0 = get_bind(i, j); + if (buf0 == -1) + break; type = KTYP(buf0); if ((type == KT_LATIN || type == KT_LETTER) && KVAL(buf0) < 128) { @@ -404,6 +409,8 @@ #endif for (j = 0; j < keymapnr; j++) buf[j] = get_bind(i, good_keymap[j]); + if (buf[0] == -1) + break; if (table_shape == FULL_TABLE) { printf("keycode %3d =", i); ++++++ kbd-1.12-happy-abuild.diff ++++++ --- kbd-1.12/src/psffontop.c.orig 2005-07-07 15:00:50.547440043 +0200 +++ kbd-1.12/src/psffontop.c 2005-07-07 15:02:49.642520578 +0200 @@ -465,7 +465,7 @@ writepsffontheader(ofil, width, height, fontlen, &psftype, flags); utf8 = (psftype == 2); - fwrite(fontbuf, charsize, fontlen, ofil); + (void)fwrite(fontbuf, charsize, fontlen, ofil); /* unimaps: -1 => do nothing: caller will append map */ if (uclistheads != NULL && uclistheads != (struct unicode_list*)-1) { struct unicode_list *ul; --- kbd-1.12/src/loadkeys.y.orig 2005-07-07 15:00:50.891379623 +0200 +++ kbd-1.12/src/loadkeys.y 2005-07-07 15:02:19.174871991 +0200 @@ -20,6 +20,7 @@ #include <sys/ioctl.h> #include <linux/kd.h> #include <linux/keyboard.h> +#include <unistd.h> /* readlink */ #include "paths.h" #include "getfd.h" #include "findfile.h" @@ -65,9 +66,9 @@ static void loadkeys(char *console, int *warned); static void mktable(void); static void strings_as_usual(void); -static void keypad_as_usual(char *keyboard); -static void function_keys_as_usual(char *keyboard); -static void consoles_as_usual(char *keyboard); +/* static void keypad_as_usual(char *keyboard); */ +/* static void function_keys_as_usual(char *keyboard); */ +/* static void consoles_as_usual(char *keyboard); */ static void compose_as_usual(char *charset); static void lkfatal0(const char *, int); extern int set_charset(const char *charset); @@ -559,7 +560,6 @@ void open_include(char *s) { - char *t, *te; if (verbose) /* start reading include file */ @@ -713,7 +713,6 @@ int alttable = table | M_ALT; int type = KTYP(keycode); int val = KVAL(keycode); - char *p; if (alttable != table && defining[alttable] && (!keymap_was_set[alttable] || !(keymap_was_set[alttable])[index]) && @@ -1021,7 +1020,7 @@ static void loadkeys (char *console, int *warned) { int fd; - int keyct, funcct, diacct; + int keyct, funcct, diacct = 0; fd = getfd(console); keyct = defkeys(fd, console, &warned); @@ -1156,7 +1155,6 @@ mktable () { int i, imax, j; - struct kbsentry kbs; u_char *p; int maxfunc; unsigned int keymap_count = 0; --- kbd-1.12/src/mapscrn.c.orig 2005-07-07 15:00:50.869383487 +0200 +++ kbd-1.12/src/mapscrn.c 2005-07-07 15:02:19.190869181 +0200 @@ -126,7 +126,7 @@ FILE *fp; struct stat stbuf; int u = 0; - int lineno; + int lineno = 0; if ((fp = findfile(mfil, mapdirpath, mapsuffixes)) == NULL) { fprintf(stderr, _("mapscrn: cannot open map file _%s_\n"), @@ -215,18 +215,18 @@ if ((strncmp(s,"0x",2) == 0) && (strspn(s+2,"0123456789abcdefABCDEF") == strlen(s+2))) - sscanf(s+2,"%x",&i); + (void)sscanf(s+2,"%x",&i); else if ((*s == '0') && (strspn(s,"01234567") == strlen(s))) - sscanf(s,"%o",&i); + (void)sscanf(s,"%o",&i); else if (strspn(s,"0123456789") == strlen(s)) - sscanf(s,"%d",&i); + (void)sscanf(s,"%d",&i); else if ((strncmp(s,"U+",2) == 0) && strlen(s) == 6 && (strspn(s+2,"0123456789abcdefABCDEF") == 4)) - sscanf(s+2,"%x",&i); + (void)sscanf(s+2,"%x",&i); else if ((strlen(s) == 3) && (s[0] == '\'') && (s[2] == '\'')) i=s[1]; --- kbd-1.12/src/outpsfheader.c.orig 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12/src/outpsfheader.c 2005-07-07 15:02:19.205866546 +0200 @@ -1,6 +1,7 @@ /* outpsfheader - auxiliary fn - not to be installed */ /* assumes a little-endian machine */ #include <stdio.h> +#include <stdlib.h> /* exit */ #include "psf.h" void --- kbd-1.12/src/spawn_console.c.orig 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12/src/spawn_console.c 2005-07-07 15:02:19.220863912 +0200 @@ -12,6 +12,10 @@ #include <signal.h> #include <errno.h> #include <linux/kd.h> +#include <stdlib.h> /* system */ +#include <fcntl.h> /* open */ +#include <sys/ioctl.h> /* ioctl */ +#include <unistd.h> /* sleep */ void sighup(){ --- kbd-1.12/src/setleds.c.orig 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12/src/setleds.c 2005-07-07 15:01:56.377876261 +0200 @@ -149,7 +149,7 @@ int optL = 0, optD = 0, optF = 0, verbose = 0; char oleds, nleds, oflags, nflags, odefflags, ndefflags; char nval, ndef, sign; - char osunleds, nsunleds, nsunval, nsundef; + char osunleds = 0, nsunleds, nsunval, nsundef; char *ap; struct led *lp; --- kbd-1.12/openvt/Makefile.orig 2004-01-03 15:44:41.000000000 +0100 +++ kbd-1.12/openvt/Makefile 2005-07-07 15:02:19.235861278 +0200 @@ -1,6 +1,7 @@ CC=gcc -CFLAGS=-O2 -Wall -ansi +RPM_OPT_FLAGS=-O2 -Wall -ansi +CFLAGS=$(RPM_OPT_FLAGS) LDFLAGS=$(CFLAGS) -s SRC=openvt.c ++++++ kbd-1.12-kbd_mode.diff ++++++ diff -ru kbd-1.12.orig/src/kbd_mode.c kbd-1.12/src/kbd_mode.c --- kbd-1.12.orig/src/kbd_mode.c 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12/src/kbd_mode.c 2004-03-30 18:02:49.976870814 +0200 @@ -6,6 +6,7 @@ */ #include <fcntl.h> #include <stdio.h> +#include <unistd.h> #include <sys/ioctl.h> #include <linux/types.h> #include <linux/kd.h> @@ -15,13 +16,14 @@ static void usage(void){ - fprintf(stderr, _("usage: kbd_mode [-a|-u|-k|-s]\n")); + fprintf(stderr, _("usage: kbd_mode [-a|-u|-k|-s] [-C device]\n")); exit(1); } int main(int argc, char *argv[]){ - int fd, mode; + int fd, mode, c, n = 0; + char *console = NULL; set_progname(argv[0]); @@ -32,9 +34,45 @@ if (argc == 2 && !strcmp(argv[1], "-V")) print_version_and_exit(); - fd = getfd(NULL); + while ((c = getopt(argc, argv, "auskC:")) != EOF) { + switch (c) { + case 'a': + if (n > 0) + usage (); + mode = K_XLATE; + n++; + break; + case 'u': + if (n > 0) + usage (); + mode = K_UNICODE; + n++; + break; + case 's': + if (n > 0) + usage (); + mode = K_RAW; + n++; + break; + case 'k': + if (n > 0) + usage (); + mode = K_MEDIUMRAW; + n++; + break; + case 'C': + if (!optarg || !optarg[0]) + usage (); + console = optarg; + break; + default: + usage(); + } + } + + fd = getfd(console); - if (argc == 1) { + if (n == 0) { /* report mode */ if (ioctl(fd, KDGKBMODE, &mode)) { perror("KDGKBMODE"); @@ -57,20 +95,9 @@ default: printf(_("The keyboard is in some unknown mode\n")); } - exit(1); + exit(0); } - if (argc != 2) - usage(); - if (!strcmp(argv[1], "-a")) - mode = K_XLATE; - else if (!strcmp(argv[1], "-u")) - mode = K_UNICODE; - else if (!strcmp(argv[1], "-s")) - mode = K_RAW; - else if (!strcmp(argv[1], "-k")) - mode = K_MEDIUMRAW; - else - usage(); + if (ioctl(fd, KDSKBMODE, mode)) { perror("KDSKBMODE"); fprintf(stderr, _("%s: error setting keyboard mode\n"), progname); ++++++ kbd-1.12-loadkeys-C-opt.diff ++++++ --- kbd-1.12/man/man1/loadkeys.1.in.orig 2005-03-04 19:10:30.000000000 +0000 +++ kbd-1.12/man/man1/loadkeys.1.in 2005-03-04 19:11:13.000000000 +0000 @@ -7,6 +7,10 @@ [ .I -c --clearcompose ] [ +.I -C '<cons1 cons2 ...>' +| +.I --console=cons1,cons2,... +] [ .I -d --default ] [ .I -h --help @@ -28,6 +32,11 @@ reads the file or files specified by .IR filename... . Its main purpose is to load the kernel keymap for the console. +The affected console device or devices can be specified using the +.I -C +(or +.I --console +) option. This option supports a list of device names .SH "RESET TO DEFAULT" If the .I -d --- kbd-1.12/src/loadkeys.y.orig 2005-03-08 17:55:08.000000000 +0000 +++ kbd-1.12/src/loadkeys.y 2005-03-08 17:10:06.000000000 +0000 @@ -62,7 +62,7 @@ static void compose(int diacr, int base, int res); static void do_constant(void); static void do_constant_key (int, u_short); -static void loadkeys(void); +static void loadkeys(char *console, int *warned); static void mktable(void); static void strings_as_usual(void); static void keypad_as_usual(char *keyboard); @@ -250,6 +250,8 @@ "valid options are:\n" "\n" " -c --clearcompose clear kernel compose table\n" +" -C <cons1,cons2,...>\n" +" --console=<...> Indicate console device(s) to be used.\n" " -d --default load \"" DEFMAP "\"\n" " -h --help display this help text\n" " -m --mktable output a \"defkeymap.c\" to stdout\n" @@ -269,9 +271,10 @@ int main(unsigned int argc, char *argv[]) { - const char *short_opts = "cdhmsuqvV"; + const char *short_opts = "cC:dhmsuqvV"; const struct option long_opts[] = { { "clearcompose", no_argument, NULL, 'c' }, + { "console", 1, NULL, 'C' }, { "default", no_argument, NULL, 'd' }, { "help", no_argument, NULL, 'h' }, { "mktable", no_argument, NULL, 'm' }, @@ -283,6 +286,8 @@ { NULL, 0, NULL, 0 } }; int c; + char *console = NULL; + int warned = 0; set_progname(argv[0]); @@ -292,6 +297,9 @@ case 'c': nocompose = 1; break; + case 'C': + console = optarg; + break; case 'd': optd = 1; break; @@ -330,8 +338,26 @@ do_constant(); if(optm) mktable(); + else if (console) + { + char *buf = strdup(console); /* make writable */ + char *e, *s = buf; + while (*s) + { + while ( *s == ' ' || *s == '\t' || *s == ',') s++; + e = s; + while (*e && *e != ' ' && *e != '\t' && *e != ',') e++; + char c = *e; + *e = '\0'; + if (verbose) printf("%s\n", s); + loadkeys(s, &warned); + *e = c; + s = e; + } + free(buf); + } else - loadkeys(); + loadkeys(NULL, &warned); exit(0); } @@ -760,7 +786,7 @@ } static int -defkeys(int fd) { +defkeys(int fd, char *cons, int *warned) { struct kbentry ke; int ct = 0; int i,j,fail; @@ -845,9 +871,21 @@ fprintf(stderr, _("%s: failed to restore keyboard mode\n"), progname); } - fprintf(stderr, _("%s: warning: this map uses Unicode symbols\n" - " (perhaps you want to do `kbd_mode -u'?)\n"), - progname); + + if (!warned++) + { + int kd_mode = -1; + if (ioctl(fd, KDGETMODE, &kd_mode) || (kd_mode != KD_GRAPHICS)) + { + /* + * It is okay for the graphics console to have a non-unicode mode. + * only talk about other consoles + */ + fprintf(stderr, _("%s: warning: this map uses Unicode symbols, %s mode=%d\n" + " (perhaps you want to do `kbd_mode -u'?)\n"), + progname, cons ? cons : "NULL", kd_mode); + } + } } return ct; } @@ -981,12 +1019,12 @@ } static void -loadkeys (void) { +loadkeys (char *console, int *warned) { int fd; int keyct, funcct, diacct; - fd = getfd(NULL); - keyct = defkeys(fd); + fd = getfd(console); + keyct = defkeys(fd, console, &warned); funcct = deffuncs(fd); if (accent_table_size > 0 || nocompose) diacct = defdiacs(fd); ++++++ kbd-1.12-loadkeys-repstdout.diff ++++++ diff -Nur kbd-1.12-5/src/loadkeys.y kbd-1.12-6/src/loadkeys.y --- kbd-1.12-5/src/loadkeys.y 2004-02-26 22:49:25.000000000 +0100 +++ kbd-1.12-6/src/loadkeys.y 2004-02-26 22:52:44.000000000 +0100 @@ -537,7 +537,7 @@ if (verbose) /* start reading include file */ - fprintf(stderr, _("switching to %s\n"), s); + fprintf(stdout, _("switching to %s\n"), s); lk_push(); @@ -613,8 +613,8 @@ */ gotf: filename = xstrdup(pathname); - if (!quiet) - fprintf(stderr, _("Loading %s\n"), pathname); + if (!quiet && !optm) + fprintf(stdout, _("Loading %s\n"), pathname); if (first_file) { yyin = f; first_file = 0; ++++++ kbd-1.12-mac-de.diff ++++++ --- data/keymaps/mac/all/mac-de-latin1-nodeadkeys.map | 2 - data/keymaps/mac/all/mac-de-latin1.map | 38 ++++++++++++---------- data/keymaps/mac/include/mac-euro2.map | 6 +++ 3 files changed, 28 insertions(+), 18 deletions(-) Index: kbd-1.12/data/keymaps/mac/all/mac-de-latin1-nodeadkeys.map =================================================================== --- kbd-1.12.orig/data/keymaps/mac/all/mac-de-latin1-nodeadkeys.map +++ kbd-1.12/data/keymaps/mac/all/mac-de-latin1-nodeadkeys.map @@ -7,7 +7,7 @@ include "mac-de-latin1.map" keycode 24 = apostrophe grave keycode 30 = plus asterisk asciitilde keycode 50 = asciicircum degree - alt keycode 45 = asciitilde + altgr keycode 45 = asciitilde # corresponding keys in mac-de-latin1.map: # keycode 24 = dead_acute dead_grave Index: kbd-1.12/data/keymaps/mac/all/mac-de-latin1.map =================================================================== --- kbd-1.12.orig/data/keymaps/mac/all/mac-de-latin1.map +++ kbd-1.12/data/keymaps/mac/all/mac-de-latin1.map @@ -11,22 +11,23 @@ include "mac-qwerty-layout" #include "linux-with-alt-and-altgr" include "mac-linux-keys-bare.inc" plain keycode 65 = KP_Comma -include "mac-euro.map" +include "mac-euro2.map" compose as usual for "iso-8859-1" strings as usual -# Normal Shift AltGr Strg -# Normal Shift AltGr Shift+AltGr Ctrl Shift+Ctrl AltGr+Ctrl Shift+AltGr+Ctrl Alt Shift+Alt AltGr+Alt Shift+AltGr+Alt -keycode 26 = seven slash braceleft a b c d e f g h i j k +# Normal Shift AltGr Shift+AltGr Ctrl Shift+Ctrl AltGr+Ctrl Shift+AltGr+Ctrl Alt Shift+Alt AltGr+Alt Shift+AltGr+Alt keycode 18 = one exclam shift altgr keycode 18 = at -keycode 19 = two quotedbl twosuperior nul -keycode 20 = three section threesuperior Escape +keycode 19 = two quotedbl twosuperior + control keycode 19 = nul +keycode 20 = three section threesuperior + control keycode 29 = Escape keycode 21 = four dollar -keycode 23 = five percent -keycode 22 = six ampersand -keycode 28 = eight parenleft bracketleft -keycode 25 = nine parenright bracketright +keycode 23 = five percent bracketleft +keycode 22 = six ampersand bracketright +keycode 26 = seven slash bar +keycode 28 = eight parenleft braceleft +keycode 25 = nine parenright braceright control altgr keycode 25 = Control_bracketright keycode 29 = zero equal braceright keycode 27 = ssharp question backslash @@ -38,20 +39,23 @@ keycode 33 = +udiaeresis +Udiaere keycode 30 = plus asterisk dead_tilde keycode 41 = +odiaeresis +Odiaeresis keycode 39 = +adiaeresis +Adiaeresis -keycode 10 = dead_circumflex degree Meta_asciicircum Control_asciicircum +keycode 50 = dead_circumflex degree + alt keycode 50 = Meta_asciicircum + control keycode 50 = Control_asciicircum keycode 42 = numbersign apostrophe keycode 43 = comma semicolon keycode 47 = period colon -keycode 44 = minus underscore Meta_minus +keycode 44 = minus underscore shift control keycode 44 = Control_underscore -keycode 49 = space space Meta_space nul +keycode 49 = space space + control keycode 49 = nul keycode 10 = less greater bar keycode 16 = z keycode 6 = y - alt keycode 12 = at - alt keycode 50 = bar + altgr keycode 12 = at + altgr keycode 37 = at + altgr keycode 42 = bar # altgr keycode 26 = bar - alt keycode 30 = dead_tilde - alt keycode 45 = dead_tilde + altgr keycode 45 = dead_tilde Index: kbd-1.12/data/keymaps/mac/include/mac-euro2.map =================================================================== --- /dev/null +++ kbd-1.12/data/keymaps/mac/include/mac-euro2.map @@ -0,0 +1,6 @@ +# Euro and cent +# [Say: "loadkeys mac-euro2" to get Euro and cent with AltGr (Option key) +# on the positions where many keyboards have E and C. +# To get it displayed, use a latin0 (i.e., latin9) font.] +altgr keycode 14 = currency +altgr keycode 8 = cent ++++++ kbd-1.12-mac-dk.diff ++++++ diff -Nur kbd-1.12-6/data/keymaps/mac/all/mac-dk-latin1.map kbd-1.12-7/data/keymaps/mac/all/mac-dk-latin1.map --- kbd-1.12-6/data/keymaps/mac/all/mac-dk-latin1.map 2004-02-26 22:52:20.000000000 +0100 +++ kbd-1.12-7/data/keymaps/mac/all/mac-dk-latin1.map 2004-02-26 22:57:47.000000000 +0100 @@ -23,18 +23,20 @@ keycode 25 = nine parenright bracketright keycode 29 = zero equal keycode 27 = plus question -keycode 24 = acute grave +keycode 24 = acute grave at keycode 33 = aring Aring keycode 30 = diaeresis circumflex asciitilde keycode 41 = ae AE adiaeresis Adiaeresis keycode 39 = oslash Oslash odiaeresis Odiaeresis -keycode 42 = apostrophe asterisk +keycode 42 = apostrophe asterisk at keycode 43 = comma semicolon keycode 47 = period colon keycode 44 = minus underscore Meta_minus shift control keycode 44 = Control_underscore keycode 49 = space space Meta_space nul keycode 10 = less greater bar +# odd +keycode 34 = i I bar alt keycode 12 = at ++++++ kbd-1.12-noclaudio.diff ++++++ diff -Nur kbd-1.12-3/data/keymaps/mac/all/mac-de_CH.map kbd-1.12-4/data/keymaps/mac/all/mac-de_CH.map --- kbd-1.12-3/data/keymaps/mac/all/mac-de_CH.map 2004-02-26 22:39:18.000000000 +0100 +++ kbd-1.12-4/data/keymaps/mac/all/mac-de_CH.map 2004-02-26 22:48:31.000000000 +0100 @@ -11,7 +11,7 @@ ! CtrlR 128 not used ! plain,shift,command,control,alt,ctrl-alt -# from http://www.claudio.ch/Etc/pb-sg.kmap +# from Claudio Nieder # modified by [email protected] alt_is_meta diff -Nur kbd-1.12-3/data/keymaps/mac/all/mac-fr_CH-latin1.map kbd-1.12-4/data/keymaps/mac/all/mac-fr_CH-latin1.map --- kbd-1.12-3/data/keymaps/mac/all/mac-fr_CH-latin1.map 2004-02-26 22:39:18.000000000 +0100 +++ kbd-1.12-4/data/keymaps/mac/all/mac-fr_CH-latin1.map 2004-02-26 22:48:31.000000000 +0100 @@ -11,7 +11,7 @@ ! CtrlR 128 not used ! plain,shift,command,control,alt,ctrl-alt -# from http://www.claudio.ch/Etc/pb-sg.kmap +# from Claudio Nieder # modified by [email protected] from mac-de_CH alt_is_meta ++++++ kbd-1.12-nohang-kbdrate2.diff ++++++ diff -Nur kbd-1.12-4/src/kbdrate.c kbd-1.12-5/src/kbdrate.c --- kbd-1.12-4/src/kbdrate.c 2004-02-26 22:46:55.000000000 +0100 +++ kbd-1.12-5/src/kbdrate.c 2004-02-26 22:50:19.000000000 +0100 @@ -90,6 +90,8 @@ }; #endif +#include <signal.h> + #include "nls.h" #include "version.h" @@ -185,6 +187,12 @@ #endif /* KIOCSRATE */ } +void +sigalrmhandler( int sig ) { + fprintf( stderr, "kbdrate: Failed waiting for kbd controller!\n" ); + raise( SIGINT ); +} + int main( int argc, char **argv ) { #ifdef __sparc__ @@ -260,6 +268,9 @@ exit( 1 ); } + signal( SIGALRM, sigalrmhandler ); + alarm( 3 ); + do { lseek( fd, 0x64, 0 ); read( fd, &data, 1 ); @@ -274,6 +285,8 @@ read( fd, &data, 1 ); } while ((data & 2) == 2 ); /* wait */ + alarm( 0 ); + lseek( fd, 0x60, 0 ); sleep( 1 ); write( fd, &value, 1 ); ++++++ kbd-1.12-nounicode-nontty.diff ++++++ diff -Nur kbd-1.12-13/src/unicode_start kbd-1.12-14/src/unicode_start --- kbd-1.12-13/src/unicode_start 2004-02-27 17:22:32.000000000 +0100 +++ kbd-1.12-14/src/unicode_start 2004-02-27 17:24:51.000000000 +0100 @@ -1,6 +1,17 @@ #!/bin/sh # Enables Unicode processing in the current console. -# + +# 0. Check whether we're on a console +TTY=`/usr/bin/tty` +case $TTY in + /dev/console|/dev/tty[0-9]*) + ;; + *) + echo "unicode_start skipped on $TTY" + exit 0 + ;; +esac + # 1. The input side: the keyboard driver. # Set the keyboard driver in Unicode mode. (Default is ASCII mode.) diff -Nur kbd-1.12-13/src/unicode_stop kbd-1.12-14/src/unicode_stop --- kbd-1.12-13/src/unicode_stop 2004-02-27 17:22:32.000000000 +0100 +++ kbd-1.12-14/src/unicode_stop 2004-02-27 17:24:51.000000000 +0100 @@ -1,5 +1,14 @@ #!/bin/sh # stop unicode +TTY=`/usr/bin/tty` +case $TTY in + /dev/console|/dev/tty[0-9]*) + ;; + *) + echo "unicode_stop skipped on $TTY" + exit 0 + ;; +esac kbd_mode -a echo -n -e '\033%@' ++++++ kbd-1.12-prtscr_no_sigquit.diff ++++++ diff -ur kbd-1.12-0/data/keymaps/i386/azerty/fr-latin9.map kbd-1.12-1/data/keymaps/i386/azerty/fr-latin9.map --- kbd-1.12-0/data/keymaps/i386/azerty/fr-latin9.map 2002-10-13 01:47:01.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/azerty/fr-latin9.map 2004-02-27 19:04:47.000000000 +0100 @@ -417,6 +417,7 @@ # La touche Ctrl+Pause = Attn = 101 a un code pour elle-m�me # keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Home diff -ur kbd-1.12-0/data/keymaps/i386/fgGIod/tr_f-latin5.map kbd-1.12-1/data/keymaps/i386/fgGIod/tr_f-latin5.map --- kbd-1.12-0/data/keymaps/i386/fgGIod/tr_f-latin5.map 2002-10-13 02:21:12.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/fgGIod/tr_f-latin5.map 2004-02-27 19:04:47.000000000 +0100 @@ -217,6 +217,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/bg-cp1251.map kbd-1.12-1/data/keymaps/i386/qwerty/bg-cp1251.map --- kbd-1.12-0/data/keymaps/i386/qwerty/bg-cp1251.map 2004-01-03 18:07:57.000000000 +0100 +++ kbd-1.12-1/data/keymaps/i386/qwerty/bg-cp1251.map 2004-02-27 19:04:47.000000000 +0100 @@ -311,6 +311,7 @@ altgr alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/bg_bds-cp1251.map kbd-1.12-1/data/keymaps/i386/qwerty/bg_bds-cp1251.map --- kbd-1.12-0/data/keymaps/i386/qwerty/bg_bds-cp1251.map 2002-10-14 01:39:32.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/bg_bds-cp1251.map 2004-02-27 19:04:47.000000000 +0100 @@ -636,6 +636,7 @@ keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/br-abnt.map kbd-1.12-1/data/keymaps/i386/qwerty/br-abnt.map --- kbd-1.12-0/data/keymaps/i386/qwerty/br-abnt.map 2002-10-13 02:10:14.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/br-abnt.map 2004-02-27 19:04:47.000000000 +0100 @@ -197,6 +197,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/by.map kbd-1.12-1/data/keymaps/i386/qwerty/by.map --- kbd-1.12-0/data/keymaps/i386/qwerty/by.map 2002-10-13 02:10:31.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/by.map 2004-02-27 19:04:47.000000000 +0100 @@ -529,6 +529,7 @@ Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash keycode 100 = Alt keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up Up Up \ KeyboardSignal Up Up \ diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/cz-cp1250.map kbd-1.12-1/data/keymaps/i386/qwerty/cz-cp1250.map --- kbd-1.12-0/data/keymaps/i386/qwerty/cz-cp1250.map 2002-10-13 02:12:14.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/cz-cp1250.map 2004-02-27 19:04:47.000000000 +0100 @@ -138,6 +138,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/cz-lat2-prog.map kbd-1.12-1/data/keymaps/i386/qwerty/cz-lat2-prog.map --- kbd-1.12-0/data/keymaps/i386/qwerty/cz-lat2-prog.map 2002-10-13 02:02:58.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/cz-lat2-prog.map 2004-02-27 19:04:47.000000000 +0100 @@ -141,6 +141,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior Scroll_Backward Prior Scroll_Backward VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/cz-lat2.map kbd-1.12-1/data/keymaps/i386/qwerty/cz-lat2.map --- kbd-1.12-0/data/keymaps/i386/qwerty/cz-lat2.map 2002-10-13 02:03:21.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/cz-lat2.map 2004-02-27 19:04:47.000000000 +0100 @@ -138,6 +138,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior Scroll_Backward Prior Scroll_Backward VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/cz.map kbd-1.12-1/data/keymaps/i386/qwerty/cz.map --- kbd-1.12-0/data/keymaps/i386/qwerty/cz.map 2002-10-11 13:08:50.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/cz.map 2004-02-27 19:04:47.000000000 +0100 @@ -1083,13 +1083,13 @@ keycode 100 = AltGr # #keycode 101 = Break -keycode 101 = Break Break VoidSymbol VoidSymbol VoidSymbol \ - VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ +keycode 101 = Break Break VoidSymbol VoidSymbol Control_c \ + Control_c VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ VoidSymbol \ - Break Break VoidSymbol VoidSymbol VoidSymbol \ - VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ + Break Break VoidSymbol VoidSymbol Control_c \ + Control_c VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \ VoidSymbol diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/defkeymap.map kbd-1.12-1/data/keymaps/i386/qwerty/defkeymap.map --- kbd-1.12-0/data/keymaps/i386/qwerty/defkeymap.map 2004-02-27 19:03:48.000000000 +0100 +++ kbd-1.12-1/data/keymaps/i386/qwerty/defkeymap.map 2004-02-27 19:04:47.000000000 +0100 @@ -222,6 +222,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/defkeymap_V1.0.map kbd-1.12-1/data/keymaps/i386/qwerty/defkeymap_V1.0.map --- kbd-1.12-0/data/keymaps/i386/qwerty/defkeymap_V1.0.map 2002-10-13 02:05:31.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/defkeymap_V1.0.map 2004-02-27 19:04:47.000000000 +0100 @@ -185,6 +185,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/lt.baltic.map kbd-1.12-1/data/keymaps/i386/qwerty/lt.baltic.map --- kbd-1.12-0/data/keymaps/i386/qwerty/lt.baltic.map 2002-10-13 02:09:50.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/lt.baltic.map 2004-02-27 19:04:47.000000000 +0100 @@ -171,6 +171,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/lt.l4.map kbd-1.12-1/data/keymaps/i386/qwerty/lt.l4.map --- kbd-1.12-0/data/keymaps/i386/qwerty/lt.l4.map 2002-10-13 01:59:51.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/lt.l4.map 2004-02-27 19:04:47.000000000 +0100 @@ -463,6 +463,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break # 101=Control-Pause + control keycode 101 = Control_c string F102 = "\033[7$" keycode 102 = Find # =Home shift keycode 102 = F102 diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/lt.map kbd-1.12-1/data/keymaps/i386/qwerty/lt.map --- kbd-1.12-0/data/keymaps/i386/qwerty/lt.map 2002-10-13 02:00:25.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/lt.map 2004-02-27 19:04:47.000000000 +0100 @@ -462,6 +462,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break # 101=Control-Pause + control keycode 101 = Control_c string F102 = "\033[7$" keycode 102 = Find # =Home shift keycode 102 = F102 diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/pl2.map kbd-1.12-1/data/keymaps/i386/qwerty/pl2.map --- kbd-1.12-0/data/keymaps/i386/qwerty/pl2.map 2002-10-13 02:06:29.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/pl2.map 2004-02-27 19:04:47.000000000 +0100 @@ -241,6 +241,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find control keycode 102 = F106 keycode 103 = Up diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/sk-prog-qwerty.map kbd-1.12-1/data/keymaps/i386/qwerty/sk-prog-qwerty.map --- kbd-1.12-0/data/keymaps/i386/qwerty/sk-prog-qwerty.map 2002-10-13 02:09:26.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/sk-prog-qwerty.map 2004-02-27 19:04:47.000000000 +0100 @@ -122,6 +122,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/ua-utf-ws.map kbd-1.12-1/data/keymaps/i386/qwerty/ua-utf-ws.map --- kbd-1.12-0/data/keymaps/i386/qwerty/ua-utf-ws.map 2002-10-13 02:07:56.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/ua-utf-ws.map 2004-02-27 19:04:47.000000000 +0100 @@ -1526,6 +1526,7 @@ ctrlr keycode 100 = CtrlR_Lock ctrll ctrlr keycode 100 = CtrlR_Lock keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/ua-utf.map kbd-1.12-1/data/keymaps/i386/qwerty/ua-utf.map --- kbd-1.12-0/data/keymaps/i386/qwerty/ua-utf.map 2002-10-13 02:08:07.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/ua-utf.map 2004-02-27 19:04:47.000000000 +0100 @@ -1516,6 +1516,7 @@ ctrlr keycode 100 = CtrlR_Lock ctrll ctrlr keycode 100 = CtrlR_Lock keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/ua-ws.map kbd-1.12-1/data/keymaps/i386/qwerty/ua-ws.map --- kbd-1.12-0/data/keymaps/i386/qwerty/ua-ws.map 2002-10-13 02:08:19.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/ua-ws.map 2004-02-27 19:04:47.000000000 +0100 @@ -1521,6 +1521,7 @@ alt keycode 99 = Control_backslash keycode 100 = Alt keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/ua.map kbd-1.12-1/data/keymaps/i386/qwerty/ua.map --- kbd-1.12-0/data/keymaps/i386/qwerty/ua.map 2002-10-13 02:08:31.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/ua.map 2004-02-27 19:04:47.000000000 +0100 @@ -1515,6 +1515,7 @@ ctrlr keycode 100 = CtrlR_Lock ctrll ctrlr keycode 100 = CtrlR_Lock keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/us-acentos.map kbd-1.12-1/data/keymaps/i386/qwerty/us-acentos.map --- kbd-1.12-0/data/keymaps/i386/qwerty/us-acentos.map 2002-10-13 02:10:02.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwerty/us-acentos.map 2004-02-27 19:04:47.000000000 +0100 @@ -193,6 +193,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwertz/cz-us-qwertz.map kbd-1.12-1/data/keymaps/i386/qwertz/cz-us-qwertz.map --- kbd-1.12-0/data/keymaps/i386/qwertz/cz-us-qwertz.map 2002-10-13 01:56:20.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwertz/cz-us-qwertz.map 2004-02-27 19:04:47.000000000 +0100 @@ -135,6 +135,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior Scroll_Backward Prior Scroll_Backward VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol diff -ur kbd-1.12-0/data/keymaps/i386/qwertz/sk-prog-qwertz.map kbd-1.12-1/data/keymaps/i386/qwertz/sk-prog-qwertz.map --- kbd-1.12-0/data/keymaps/i386/qwertz/sk-prog-qwertz.map 2002-10-13 01:57:30.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwertz/sk-prog-qwertz.map 2004-02-27 19:04:47.000000000 +0100 @@ -122,6 +122,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior diff -ur kbd-1.12-0/data/keymaps/i386/qwertz/sk-qwertz.map kbd-1.12-1/data/keymaps/i386/qwertz/sk-qwertz.map --- kbd-1.12-0/data/keymaps/i386/qwertz/sk-qwertz.map 2002-10-13 01:56:48.000000000 +0200 +++ kbd-1.12-1/data/keymaps/i386/qwertz/sk-qwertz.map 2004-02-27 19:04:47.000000000 +0100 @@ -123,6 +123,7 @@ alt keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior ++++++ kbd-1.12-setfont-fpclose.diff ++++++ --- kbd-1.12/src/setfont.c.orig 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12/src/setfont.c 2006-06-21 17:28:56.999867425 +0200 @@ -398,8 +398,10 @@ fprintf(stderr, _("When loading several fonts, all " "must be psf fonts - %s isn't\n"), pathname); + fpclose(fpi); exit(EX_DATAERR); } + fpclose(fpi); // avoid zombies, [email protected] (#88501) bytewidth = (width+7) / 8; height = fontbuflth / (bytewidth * fontsize); if (verbose) @@ -483,6 +485,7 @@ if(readpsffont(fpi, &inbuf, &inputlth, &fontbuf, &fontbuflth, &width, &fontsize, 0, no_u ? NULL : &uclistheads) == 0) { + fpclose(fpi); /* we've got a psf font */ bytewidth = (width+7) / 8; height = fontbuflth / (bytewidth * fontsize); @@ -497,6 +500,7 @@ #endif return; } + fpclose(fpi); // avoid zombies, [email protected] (#88501) /* instructions to combine fonts? */ { char *combineheader = "# combine partial fonts\n"; ++++++ kbd-1.12-setfont-no-cruft.diff ++++++ --- kbd-1.12/src/kdfontop.c.orig 2007-08-21 19:28:47.000000000 +0200 +++ kbd-1.12/src/kdfontop.c 2007-08-21 19:32:50.000000000 +0200 @@ -268,26 +268,19 @@ return 0; } - /* Second attempt: PIO_FONTX */ - cfd.charcount = count; - cfd.charheight = height; - cfd.chardata = buf; - i = ioctl(fd, PIO_FONTX, &cfd); - if (i == 0) - return 0; - if (errno != ENOSYS && errno != EINVAL) { - fprintf(stderr, "%s: putfont: %d,%dx%d:failed: %d\n", progname, count, width, height, i); - perror("putfont: PIO_FONTX"); - return -1; - } - - /* Third attempt: PIO_FONT */ - /* This will load precisely 256 chars, independent of count */ - i = ioctl(fd, PIO_FONT, buf); - if (i) { - fprintf(stderr, "%s: putfont: %d,%dx%d: failed: %d\n", progname, count, width, height, i); - perror("putfont: PIO_FONT"); - return -1; - } - return 0; + // We no longer try PIO_FONT* calls. + // A former patch even added a possible 5 seconds delay loop here, in an attempt to + // gain victory over kdm. We no do this fight, as it can only result in races. + // https://bugzilla.novell.com/show_bug.cgi?id=302010 + // + // Two effects: + // a) Without the delay loop, we are fast enough to run early. + // Moving setfont calls to an earlier point most likly + // avoids the race. + // b) Without the old compat calls, it should be easier to + // fix this in kernel side. + // + fprintf(stderr, "%s: putfont: %d,%dx%d: failed: %d\n", progname, count, width, height, i); + perror("putfont: KDFONTOP"); + return -1; } ++++++ kbd-1.12-showconsolefont-info.diff ++++++ --- kbd-1.12/src/kdfontop.c.orig 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12/src/kdfontop.c 2006-07-26 18:14:55.000000000 +0200 @@ -142,8 +142,11 @@ return h; } -/* may be called with buf==NULL if we only want info */ -/* must not exit - we may have cleanup to do */ +/* + * May be called with buf==NULL if we only want info. + * May be called with width==NULL and height==NULL. + * Must not exit - we may have cleanup to do. + */ int getfont(int fd, char *buf, int *count, int *width, int *height) { struct consolefontdesc cfd; @@ -193,6 +196,11 @@ fprintf(stderr, _("bug: getfont called with count<256\n")); return -1; } + if (!buf) + { + fprintf(stderr, _("bug: getfont using GIO_FONT needs buf.\n")); + return -1; + } i = ioctl(fd, GIO_FONT, buf); if (i) { perror("getfont: GIO_FONT"); @@ -208,11 +216,11 @@ int getfontsize(int fd) { - int count, width, height; + int count; int i; - count = width = height = 0; - i = getfont(fd, NULL, &count, &width, &height); + count = 0; + i = getfont(fd, NULL, &count, NULL, NULL); return (i == 0) ? count : 256; } --- kbd-1.12/src/showconsolefont.c.orig 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12/src/showconsolefont.c 2006-07-26 18:40:31.000000000 +0200 @@ -101,8 +101,15 @@ static void usage(void) { fprintf(stderr, - _("usage: showconsolefont [-v|-V]\n" - "(probably after loading a font with `setfont font')\n")); + _("usage: showconsolefont -V|--version\n" + " showconsolefont [-C tty] [-v] [-i]\n" + "(probably after loading a font with `setfont font')\n" + "\n" + "Valid options are:\n" + " -C tty Device to read the font from. Default: current tty.\n" + " -v Be more verbose.\n" + " -i Don't print out the font table, just show\n" + " ROWSxCOLSxCOUNT and exit.\n")); exit(1); } @@ -110,7 +117,7 @@ main (int argc, char **argv) { int c, n, cols, rows, nr, i, j, k; char *sep, *console = NULL; - int list[64], lth, verbose = 0; + int list[64], lth, info = 0, verbose = 0; set_progname(argv[0]); @@ -122,8 +129,11 @@ (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version"))) print_version_and_exit(); - while ((c = getopt(argc, argv, "vC:")) != EOF) { + while ((c = getopt(argc, argv, "ivC:")) != EOF) { switch (c) { + case 'i': + info = 1; + break; case 'v': verbose = 1; break; @@ -135,9 +145,26 @@ } } - if (argc != 1) + if (optind != argc) usage(); + if (info) + { + nr = rows = cols = 0; + n = getfont(fd, NULL, &nr, &rows, &cols); + if (n != 0) + leave(1); + if (verbose) + { + printf("Character count: %d\n", nr); + printf("Font width : %d\n", rows); + printf("Font height : %d\n", cols); + } + else + printf("%dx%dx%d\n", rows, cols, nr); + leave(0); + } + fd = getfd(console); settrivialscreenmap(); ++++++ kbd-1.12-strip.diff ++++++ openvt/Makefile | 2 +- src/Makefile.in | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) Index: kbd-1.12/src/Makefile.in =================================================================== --- kbd-1.12.orig/src/Makefile.in 2006-01-13 15:03:29.000000000 +0100 +++ kbd-1.12/src/Makefile.in 2006-01-13 15:04:24.000000000 +0100 @@ -56,7 +56,7 @@ WARN = -Wall -Wmissing-prototypes -Wstri DEFS = -DDATADIR=\"$(DATA_DIR)\" RPM_OPT_FLAGS = -O2 -Wall CFLAGS = $(RPM_OPT_FLAGS) -LDFLAGS = -s +LDFLAGS = CC = gcc YACC = bison -y @@ -73,14 +73,14 @@ old: $(OLDPROGS) install: all install -d -m 0755 $(BINDIR) $(LOADKEYS_BINDIR) - install -s -m 0755 $(setowner) $(PROGS) $(OLDPROGS) $(BINDIR) -# install -s -m 0755 $(setowner) $(MISC) $(BINDIR) + install -m 0755 $(setowner) $(PROGS) $(OLDPROGS) $(BINDIR) +# install -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 $(setowner) loadkeys $(LOADKEYS_BINDIR) + install -m 0755 $(setowner) loadkeys $(LOADKEYS_BINDIR) @echo "You may also want to add psf.magic to /usr/lib/magic" Index: kbd-1.12/openvt/Makefile =================================================================== --- kbd-1.12.orig/openvt/Makefile 2006-01-13 15:03:29.000000000 +0100 +++ kbd-1.12/openvt/Makefile 2006-01-13 15:09:53.000000000 +0100 @@ -2,7 +2,7 @@ CC=gcc RPM_OPT_FLAGS=-O2 -Wall -ansi CFLAGS=$(RPM_OPT_FLAGS) -LDFLAGS=$(CFLAGS) -s +LDFLAGS=$(CFLAGS) SRC=openvt.c OBJ=openvt.o getfd.o ++++++ kbd-1.12-swiss.diff ++++++ diff -Nur kbd-1.12-1/data/keymaps/i386/qwertz/fr_CH-latin1.map kbd-1.12-2/data/keymaps/i386/qwertz/fr_CH-latin1.map --- kbd-1.12-1/data/keymaps/i386/qwertz/fr_CH-latin1.map 2004-02-26 22:12:57.000000000 +0100 +++ kbd-1.12-2/data/keymaps/i386/qwertz/fr_CH-latin1.map 2004-02-26 22:37:52.000000000 +0100 @@ -7,7 +7,7 @@ keycode 1 = Escape Escape alt keycode 1 = Meta_Escape -keycode 2 = one plus +keycode 2 = one plus bar alt keycode 2 = Meta_one keycode 3 = two quotedbl at control keycode 3 = nul @@ -15,10 +15,10 @@ keycode 4 = three asterisk numbersign control keycode 4 = Escape alt keycode 4 = Meta_three -keycode 5 = four ccedilla +keycode 5 = four ccedilla degree control keycode 5 = Control_backslash alt keycode 5 = Meta_four -keycode 6 = five percent +keycode 6 = five percent section control keycode 6 = Control_bracketright alt keycode 6 = Meta_five keycode 7 = six ampersand notsign @@ -81,3 +81,6 @@ keycode 86 = less greater backslash alt keycode 86 = Meta_less keycode 97 = Control +# adapted to X11 keymap +altgr keycode 18 = currency +#altgr keycode 46 = cent diff -Nur kbd-1.12-1/data/keymaps/i386/qwertz/sg-latin1.map kbd-1.12-2/data/keymaps/i386/qwertz/sg-latin1.map --- kbd-1.12-1/data/keymaps/i386/qwertz/sg-latin1.map 2002-10-12 21:57:22.000000000 +0200 +++ kbd-1.12-2/data/keymaps/i386/qwertz/sg-latin1.map 2004-02-26 22:37:52.000000000 +0100 @@ -5,7 +5,7 @@ keycode 1 = Escape Escape alt keycode 1 = Meta_Escape -keycode 2 = one plus bar +keycode 2 = one plus bar alt keycode 2 = Meta_one keycode 3 = two quotedbl at control keycode 3 = nul @@ -13,10 +13,10 @@ keycode 4 = three asterisk numbersign control keycode 4 = Escape alt keycode 4 = Meta_three -keycode 5 = four ccedilla +keycode 5 = four ccedilla degree control keycode 5 = Control_backslash alt keycode 5 = Meta_four -keycode 6 = five percent +keycode 6 = five percent section control keycode 6 = Control_bracketright alt keycode 6 = Meta_five keycode 7 = six ampersand notsign @@ -44,7 +44,7 @@ keycode 26 = udiaeresis egrave bracketleft control keycode 26 = Escape alt keycode 26 = Meta_bracketleft -keycode 27 = dead_diaeresis exclam bracketright +keycode 27 = dead_diaeresis exclam bracketright control keycode 27 = Control_bracketright alt keycode 27 = Meta_bracketright keycode 28 = Return @@ -85,3 +85,6 @@ keycode 86 = less greater backslash alt keycode 86 = Meta_less keycode 97 = Control +# adapted to X11 keymap +altgr keycode 18 = currency +#altgr keycode 46 = cent ++++++ kbd-1.12-unicode_scripts.diff ++++++ diff -Nur kbd-1.12-11/src/unicode_start kbd-1.12-12/src/unicode_start --- kbd-1.12-11/src/unicode_start 2004-02-27 17:14:14.000000000 +0100 +++ kbd-1.12-12/src/unicode_start 2004-02-27 17:21:41.000000000 +0100 @@ -18,7 +18,19 @@ # produce UTF-8 encoded multibyte sequences, instead of single bytes # >= 0x80 in a legacy 8-bit encoding. -dumpkeys | loadkeys --unicode +# There is no way of reverting the effect of "dumpkeys | loadkeys --unicode", +# the memory of the earlier keymap is lost. Therefore, try +# to save a copy of the original keymap to be able to reload it in unicode_stop. +# (see also http://mail.nl.linux.org/linux-utf8/2003-08/msg00053.html): + +test -z "$HOME" -o "/" == "$HOME" && HOME=/root +test -d $HOME/.kbd || mkdir $HOME/.kbd +dumpkeys > $HOME/.kbd/.keymap_sv + +# redirect stderr and stdout of loadkeys to /dev/null to avoid the confusing +# "plus before udiaeresis ignored" warnings. + +dumpkeys | loadkeys --unicode > /dev/null 2>&1 # 2. The output side: the console screen. @@ -35,6 +47,14 @@ DEFAULT_UNICODE_FONT=LatArCyrHeb-16 # Also drdos8x16 is a good candidate. +# Fonts with 512 glyphs like LatArCyrHeb-16 make it impossible to use bold +# on the console, which makes YaST2 unusable. To be able to use bold, +# only fonts with 256 glyphs can be used. Therefore we prefer +# the font specified in /etc/sysconfig/console. This should be OK because +# the default font written to /etc/sysconfig/console by YaST2 +# is currently always a font with 256 glyphs and a Unicode map +# which is suitable for the language used during the installation. + case $# in 2) setfont $1 -u $2 @@ -43,7 +63,24 @@ setfont $1 ;; 0) - setfont $DEFAULT_UNICODE_FONT + if [ -f /etc/sysconfig/console ] ; then + . /etc/sysconfig/console + fi + if [ -n "$CONSOLE_FONT" ] ; then + SETFONT_ARGS="$CONSOLE_FONT" + if [ -n "$CONSOLE_UNICODEMAP" ] ; then + SETFONT_ARGS="$SETFONT_ARGS -u $CONSOLE_UNICODEMAP" + fi + if [ -n "$CONSOLE_SCREENMAP" ] ; then + SETFONT_ARGS="$SETFONT_ARGS -m $CONSOLE_SCREENMAP" + fi + setfont $SETFONT_ARGS + if [ -n "$CONSOLE_MAGIC" -a "$CONSOLE_MAGIC" != "none" ] ; then + echo -en "\033$CONSOLE_MAGIC" + fi + else + setfont $DEFAULT_UNICODE_FONT + fi ;; *) echo "usage: unicode_start [font [unicode map]]" diff -Nur kbd-1.12-11/src/unicode_stop kbd-1.12-12/src/unicode_stop --- kbd-1.12-11/src/unicode_stop 2004-02-27 17:14:14.000000000 +0100 +++ kbd-1.12-12/src/unicode_stop 2004-02-27 17:21:41.000000000 +0100 @@ -2,3 +2,10 @@ # stop unicode kbd_mode -a echo -n -e '\033%@' + +# "dumpkeys | loadkeys --unicode" which is called in "unicode_start" +# cannot be reverted, therefore we have to load the keyboard mapping again +# if it could be sucessfully saved in "unicode_start": + +test -r $HOME/.kbd/.keymap_sv && loadkeys $HOME/.kbd/.keymap_sv + ++++++ kbd-1.12.diff ++++++ diff -ur kbd-1.12.orig/data/keymaps/i386/include/ctrl.map kbd-1.12-0/data/keymaps/i386/include/ctrl.map --- kbd-1.12.orig/data/keymaps/i386/include/ctrl.map 2002-10-11 13:08:50.000000000 +0200 +++ kbd-1.12-0/data/keymaps/i386/include/ctrl.map 2004-02-26 21:55:25.000000000 +0100 @@ -1,3 +1,6 @@ keycode 29 = Caps_Lock keycode 58 = Control keycode 97 = Compose +# keycode 97 = Control +# Shift keycode 97 = Compose is also popular +# (Right Ctrl + Shift for Compose) diff -ur kbd-1.12.orig/data/keymaps/i386/qwerty/defkeymap.map kbd-1.12-0/data/keymaps/i386/qwerty/defkeymap.map --- kbd-1.12.orig/data/keymaps/i386/qwerty/defkeymap.map 2002-10-13 02:03:56.000000000 +0200 +++ kbd-1.12-0/data/keymaps/i386/qwerty/defkeymap.map 2004-02-26 21:55:25.000000000 +0100 @@ -251,9 +251,9 @@ keycode 122 = keycode 123 = keycode 124 = -keycode 125 = -keycode 126 = -keycode 127 = +keycode 125 = Decr_Console Last_Console Incr_Console Compose +keycode 126 = Incr_Console Last_Console Decr_Console Compose +keycode 127 = Compose Decr_Console Incr_Console Last_Console string F1 = "\033[[A" string F2 = "\033[[B" string F3 = "\033[[C" diff -ur kbd-1.12.orig/data/keymaps/i386/qwertz/fr_CH-latin1.map kbd-1.12-0/data/keymaps/i386/qwertz/fr_CH-latin1.map --- kbd-1.12.orig/data/keymaps/i386/qwertz/fr_CH-latin1.map 2002-10-11 13:08:48.000000000 +0200 +++ kbd-1.12-0/data/keymaps/i386/qwertz/fr_CH-latin1.map 2004-02-26 21:55:25.000000000 +0100 @@ -3,7 +3,6 @@ keymaps 0-2,4-6,8,12 include "qwertz-layout" include "linux-with-alt-and-altgr" - plain keycode 83 = KP_Comma strings as usual keycode 1 = Escape Escape diff -ur kbd-1.12.orig/data/keymaps/i386/qwertz/fr_CH.map kbd-1.12-0/data/keymaps/i386/qwertz/fr_CH.map --- kbd-1.12.orig/data/keymaps/i386/qwertz/fr_CH.map 2002-10-11 13:08:48.000000000 +0200 +++ kbd-1.12-0/data/keymaps/i386/qwertz/fr_CH.map 2004-02-26 21:55:25.000000000 +0100 @@ -3,7 +3,6 @@ keymaps 0-2,4-6,8,12 include "qwertz-layout" include "linux-with-alt-and-altgr" - plain keycode 83 = KP_Comma strings as usual keycode 1 = Escape Escape diff -ur kbd-1.12.orig/data/keymaps/mac/all/mac-de_CH.map kbd-1.12-0/data/keymaps/mac/all/mac-de_CH.map --- kbd-1.12.orig/data/keymaps/mac/all/mac-de_CH.map 2002-10-11 13:08:52.000000000 +0200 +++ kbd-1.12-0/data/keymaps/mac/all/mac-de_CH.map 2004-02-26 21:55:25.000000000 +0100 @@ -43,3 +43,5 @@ keycode 44 = minus underscore backslash Control_underscore Meta_minus Meta_Control_underscore keycode 47 = period colon keycode 10 = less greater +keycode 16 = z +keycode 6 = y diff -ur kbd-1.12.orig/data/keymaps/mac/all/mac-dk-latin1.map kbd-1.12-0/data/keymaps/mac/all/mac-dk-latin1.map --- kbd-1.12.orig/data/keymaps/mac/all/mac-dk-latin1.map 2002-10-11 13:08:52.000000000 +0200 +++ kbd-1.12-0/data/keymaps/mac/all/mac-dk-latin1.map 2004-02-26 21:55:25.000000000 +0100 @@ -28,7 +28,7 @@ keycode 30 = diaeresis circumflex asciitilde keycode 41 = ae AE adiaeresis Adiaeresis keycode 39 = oslash Oslash odiaeresis Odiaeresis -keycode 42 = numbersign apostrophe +keycode 42 = apostrophe asterisk keycode 43 = comma semicolon keycode 47 = period colon keycode 44 = minus underscore Meta_minus @@ -36,8 +36,6 @@ keycode 49 = space space Meta_space nul keycode 10 = less greater bar -keycode 16 = z -keycode 6 = y alt keycode 12 = at alt keycode 50 = bar diff -ur kbd-1.12.orig/src/Makefile.in kbd-1.12-0/src/Makefile.in --- kbd-1.12.orig/src/Makefile.in 2004-01-03 18:53:54.000000000 +0100 +++ kbd-1.12-0/src/Makefile.in 2004-02-26 21:55:25.000000000 +0100 @@ -54,7 +54,8 @@ WARN = -Wall -Wmissing-prototypes -Wstrict-prototypes DEFS = -DDATADIR=\"$(DATA_DIR)\" -CFLAGS = -O2 +RPM_OPT_FLAGS = -O2 -Wall +CFLAGS = $(RPM_OPT_FLAGS) LDFLAGS = -s CC = gcc diff -ur kbd-1.12.orig/po/Makefile.in kbd-1.12-0/po/Makefile.in --- kbd-1.12.orig/po/Makefile.in 2004-03-02 00:04:10.727687162 +0100 +++ kbd-1.12/po/Makefile.in 2004-03-02 00:04:26.390543066 +0100 @@ -13,7 +13,7 @@ FOREIGN= SHELL = /bin/sh -prefix = $(DESTDIR)@prefix@ +prefix = $(DESTDIR)/usr datadir = $(prefix)/share localedir = $(datadir)/locale gnulocaledir = $(prefix)/share/locale diff -ur kbd-1.12.orig/src/kdfontop.c kbd-1.12-0/src/kdfontop.c --- kbd-1.12.orig/src/kdfontop.c 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12-0/src/kdfontop.c 2004-02-26 21:55:25.000000000 +0100 @@ -170,6 +170,8 @@ return -1; } + /* The other methods do not support width != 8 */ + if (width) *width = 8; /* Second attempt: GIO_FONTX */ cfd.charcount = *count; cfd.charheight = 0; @@ -179,8 +181,6 @@ *count = cfd.charcount; if (height) *height = cfd.charheight; - if (width) - *width = 8; return 0; } if (errno != ENOSYS && errno != EINVAL) { @@ -201,8 +201,6 @@ *count = 256; if (height) *height = 0; /* undefined, at most 32 */ - if (width) - *width = 8; return 0; } diff -ur kbd-1.12.orig/src/loadunimap.c kbd-1.12-0/src/loadunimap.c --- kbd-1.12.orig/src/loadunimap.c 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12-0/src/loadunimap.c 2004-02-26 21:55:25.000000000 +0100 @@ -35,6 +35,7 @@ #include "version.h" int verbose = 0; int force = 0; +int debug = 0; static void usage(void) { @@ -345,13 +346,29 @@ descr = getunicodemap(fd); list = descr.entries; + for(i=0; i<fontsize; i++) { - for(j=0; j<descr.entry_ct; j++) +#if 0 + /* More than one mapping is not a sequence! */ + int no = 0; + for(j=0; j<descr.entry_ct; j++) if (list[j].fontpos == i) + no++; + if (no > 1) + appendseparator(fp, 1, utf8); +#endif + if (debug) printf ("\nchar %03x: ", i); + for(j=0; j<descr.entry_ct; j++) + if (list[j].fontpos == i) { + if (debug) + printf ("%04x ", list[j].unicode); appendunicode(fp, list[j].unicode, utf8); + } appendseparator(fp, 0, utf8); } + + if (debug) printf ("\n"); if (verbose) printf(_("Appended Unicode map\n")); } diff -ur kbd-1.12.orig/src/loadunimap.h kbd-1.12-0/src/loadunimap.h --- kbd-1.12.orig/src/loadunimap.h 1999-09-27 20:17:52.000000000 +0200 +++ kbd-1.12-0/src/loadunimap.h 2004-02-26 21:55:25.000000000 +0100 @@ -1,4 +1,10 @@ /* loadunimap.h */ + +#ifndef _LOADUNIMAP_H +#define _LOADUNIMAP_H + void saveunicodemap(int fd, char *oufil); /* save humanly readable */ void loadunicodemap(int fd, char *ufil); void appendunicodemap(int fd, FILE *fp, int ct, int utf8); + +#endif /* _LOADUNIMAP_H */ diff -ur kbd-1.12.orig/src/mapscrn.c kbd-1.12-0/src/mapscrn.c --- kbd-1.12.orig/src/mapscrn.c 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12-0/src/mapscrn.c 2004-02-26 21:55:25.000000000 +0100 @@ -32,6 +32,7 @@ #include "version.h" int verbose = 0; +int debug = 0; int main(int argc, char *argv[]) { diff -ur kbd-1.12.orig/src/paths.h kbd-1.12-0/src/paths.h --- kbd-1.12.orig/src/paths.h 1999-11-15 23:46:31.000000000 +0100 +++ kbd-1.12-0/src/paths.h 2004-02-26 21:55:25.000000000 +0100 @@ -28,3 +28,4 @@ extern void fpclose(FILE *fp); extern int verbose; +extern int debug; diff -ur kbd-1.12.orig/src/psf.h kbd-1.12-0/src/psf.h --- kbd-1.12.orig/src/psf.h 2001-02-09 13:58:44.000000000 +0100 +++ kbd-1.12-0/src/psf.h 2004-02-26 21:55:25.000000000 +0100 @@ -1,3 +1,5 @@ +/* psf.h */ + /* * Format of a psf font file: * @@ -30,6 +32,9 @@ * namely when there is no precomposed Unicode value for the glyph. */ +#ifndef _PSF_H +#define _PSF_H + #define PSF1_MAGIC0 0x36 #define PSF1_MAGIC1 0x04 @@ -91,3 +96,5 @@ #define PSF2_MAGIC_OK(x) ((x)[0]==PSF2_MAGIC0 && (x)[1]==PSF2_MAGIC1 \ && (x)[2]==PSF2_MAGIC2 && (x)[3]==PSF2_MAGIC3) + +#endif /* _PSF_H */ diff -ur kbd-1.12.orig/src/psffontop.c kbd-1.12-0/src/psffontop.c --- kbd-1.12.orig/src/psffontop.c 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12-0/src/psffontop.c 2004-02-26 21:55:25.000000000 +0100 @@ -10,6 +10,7 @@ #include "psf.h" #include "psffontop.h" #include "utf8.h" +#include "paths.h" extern char *progname; @@ -32,16 +33,18 @@ static void addseq(struct unicode_list *up, unsigned int uc) { - struct unicode_list *ul; struct unicode_seq *us; + struct unicode_seq *usl; + struct unicode_list *ul = up->prev; - ul = up->prev; + usl = ul->seq; + while (usl->next) usl = usl->next; us = xmalloc(sizeof(struct unicode_seq)); us->uc = uc; - us->prev = ul->seq->prev; - us->prev->next = us; + us->prev = usl; us->next = NULL; - ul->seq->prev = us; + usl->next = us; + //ul->seq->prev = us; } static unsigned int @@ -190,7 +193,7 @@ * just read the entire file. */ if (fontf) { - inputbuflth = 16384; /* random */ + inputbuflth = MAXFONTSIZE/4; /* random */ inputbuf = xmalloc(inputbuflth); n = 0; @@ -366,6 +369,13 @@ perror("appendunimap"); exit(1); } + if (debug) { + printf ("("); + if (!utf8) + printf ("U+"); + while (n < 6) printf ("%02x ", out[n++]); + printf (")"); + } } void @@ -437,7 +447,7 @@ } -void +int writepsffont(FILE *ofil, char *fontbuf, int width, int height, int fontlen, int psftype, struct unicode_list *uclistheads) { int bytewidth, charsize, flags, utf8, i; @@ -456,7 +466,8 @@ utf8 = (psftype == 2); fwrite(fontbuf, charsize, fontlen, ofil); - if (uclistheads != NULL) { + /* unimaps: -1 => do nothing: caller will append map */ + if (uclistheads != NULL && uclistheads != (struct unicode_list*)-1) { struct unicode_list *ul; struct unicode_seq *us; @@ -475,5 +486,6 @@ appendseparator(ofil, 0, utf8); } } + return utf8; } diff -ur kbd-1.12.orig/src/psffontop.h kbd-1.12-0/src/psffontop.h --- kbd-1.12.orig/src/psffontop.h 2000-12-31 15:22:17.000000000 +0100 +++ kbd-1.12-0/src/psffontop.h 2004-02-26 21:55:25.000000000 +0100 @@ -1,3 +1,11 @@ +/* psffontop.h */ + +#ifndef _PSFFONTOP_H +#define _PSFFONTOP_H + +/* Maximum font size that we try to handle */ +#define MAXFONTSIZE 65536 + typedef unsigned int unicode; struct unicode_seq { @@ -17,7 +25,7 @@ int *fontwidthp, int *fontlenp, int fontpos0, struct unicode_list **uclistheadsp); -extern void writepsffont(FILE *ofil, char *fontbuf, +extern int writepsffont(FILE *ofil, char *fontbuf, int width, int height, int fontlen, int psftype, struct unicode_list *uclistheads); @@ -29,3 +37,5 @@ extern void appendunicode(FILE *fp, unsigned int uc, int utf8); extern void appendseparator(FILE *fp, int seq, int utf8); + +#endif /* _PSFFONTOP_H */ diff -ur kbd-1.12.orig/src/psfxtable.c kbd-1.12-0/src/psfxtable.c --- kbd-1.12.orig/src/psfxtable.c 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12-0/src/psfxtable.c 2004-02-26 21:55:25.000000000 +0100 @@ -225,6 +225,8 @@ } } +int debug = 0; + int main(int argc, char **argv) { char *ifname, *ofname, *itname, *otname; diff -ur kbd-1.12.orig/src/setfont.c kbd-1.12-0/src/setfont.c --- kbd-1.12.orig/src/setfont.c 2004-01-16 20:45:31.000000000 +0100 +++ kbd-1.12-0/src/setfont.c 2004-02-26 21:55:25.000000000 +0100 @@ -48,6 +48,7 @@ int verbose = 0; int force = 0; +int debug = 0; /* search for the font in these directories (with trailing /) */ char *fontdirpath[] = { "", DATADIR "/" FONTDIR "/", 0 }; @@ -331,15 +332,28 @@ up = xmalloc(maxct * sizeof(struct unipair)); for (i = 0; i < fontsize; i++) { ul = uclistheads[i].next; + if (debug) printf ("char %03x:", i); while(ul) { us = ul->seq; if (us && ! us->next) { up[ct].unicode = us->uc; up[ct].fontpos = i; ct++; + if (debug) printf (" %04x", us->uc); } + else + if (debug) { + printf (" seq: <"); + while (us) { + printf (" %04x", us->uc); + us = us->next; + } + printf (" >"); + } ul = ul->next; + if (debug) printf (","); } + if (debug) printf ("\n"); } if (ct != maxct) { char *u = _("%s: bug in do_loadtable\n"); ++++++ kbd-1.12.lsm ++++++ Begin3 Title: Keyboard and console utilities for Linux Version: 1.12 Entered-date: 2004-01-16 Description: loadkeys dumpkeys setfont chvt openvt kbdrate kbd.FAQ A20 etc. Keywords: keyboard mapping console font unicode Author: several Maintained-by: Andries E. Brouwer ([email protected]) Primary-site: ftp://ftp.win.tue.nl/pub/linux-local/utils/kbd 884827 kbd-1.12.tar.gz Alternate-site: ftp://ftp.*.kernel.org/pub/linux/utils/kbd Alternate-site: ftp://sunsite.unc.edu/pub/Linux/system/keyboards Alternate site: ftp://ftp.cwi.nl/pub/aeb/kbd Copying-policy: GPL End ++++++ kbd-2.2.0-repack.tar.xz -> kbd-1.12.tar.bz2 ++++++ ++++ 255148 lines of diff (skipped) ++++++ kbd.fillup ++++++ # # Compose tables to be loaded. # Compose tables are good for producing characters, which can not # be directly input from your keyboard, such as characters with # accents, currency signs, ... # Please read /usr/share/doc/packages/kbd/README.SuSE for an # explanation. # You may leave this variable empty (default compose table from kernel # or KEYTABLE will be used then -- most keyboard maps don't have a # compose table, though) # More than one compose table can be given. For a selection of possible # tables see /usr/share/kbd/keymaps/include/compose.* # You can give more than one compose table, but only the last one will # determine the compose combinations. # The word "clear" has a special meaning: # Your compose table will be cleared, before more compose symbols are # added. # The files compose.winkeys and shiftctrl may be used to map the # <compose> key to the W*n menu key and Shift-Ctrl, respectively, # on a PC keyboard. # A typical setting for Latin1 users (with a PC keyboard) may be # COMPOSETABLE="clear winkeys shiftctrl latin1.add" # For latin2, this would be # COMPOSETABLE="clear winkeys shiftctrl latin2" # A typical setting for sb. with a character set, where a matching # compose table is missing (but with a PC keyboard), would be # COMPOSETABLE="winkeys shiftctrl" # COMPOSETABLE="clear winkeys shiftctrl latin1.add" ++++++ kbd.fillup.nonpc ++++++ # # Compose tables to be loaded. # Compose tables are good for producing characters, which can not # be directly input from your keyboard, such as characters with # accents, currency signs, ... # Please read /usr/share/doc/packages/kbd/README.SuSE for an # explanation. # You may leave this variable empty (default compose table from kernel # or KEYTABLE will be used then -- most don't have one, though) # More than one compose table can be given. For a selection of possible # tables see /usr/share/kbd/keymaps/include/compose.* # You can give more than one compose table, but only the last one will # determine the compose combinations. # The word "clear" has a special meaning: # Your compose table will be cleared, before more compose symbols are # added. # The files compose.winkeys and shiftctrl may be used to map the # <compose> key to the W*n menu key and Shift-Ctrl, respectively, # on a PC keyboard. # A typical setting for Latin1 users (with a PC keyboard) may be # COMPOSETABLE="clear winkeys shiftctrl latin1.add" # For latin2, this would be # COMPOSETABLE="clear winkeys shiftctrl latin2" # A typical setting for sb. with a character set, where a matching # compose table is missing (but with a PC keyboard), would be # COMPOSETABLE="winkeys shiftctrl" # For non-PC keyboards, don't use winkeys and shiftctrl ... # COMPOSETABLE="clear latin1.add" ++++++ kbd.init ++++++ #! /bin/sh # Copyright (c) 1995-2005 SUSE LINUX Products AG, Nuernberg, Germany. # # Author: Burchard Steinbild # Werner Fink <[email protected]> # # Please send feedback to http://www.suse.de/feedback # # /etc/init.d/kbd # # and symbolic its link # # /sbin/rckbd # # Warning: # /etc/init.d/earlykbd can run this script even if # the Required-Start conditions listed here are not satisfied. # Our use of $remote_fs is # /usr/share/kbd - for finding keymaps # /usr/sbin/hwinfo - for numlock from bios # ### BEGIN INIT INFO # Provides: kbd # Required-Start: $remote_fs # Required-Stop: # Should-Start: fbset setserial # Should-Stop: # Default-Start: 1 2 3 5 S # Default-Stop: # Short-Description: Keyboard settings # Description: Keyboard settings (don't disable!) ### END INIT INFO . /etc/rc.status . /etc/sysconfig/console . /etc/sysconfig/keyboard test -n "$KBD_VERBOSE" && set -x test -e /etc/SuSEconfig/profile && . /etc/SuSEconfig/profile test -e /etc/profile.d/lang.sh && . /etc/profile.d/lang.sh LOCALE_CHARMAP=`locale charmap` LC_ALL=POSIX MACHINE=`/bin/uname -m 2> /dev/null` if [ "$MACHINE" = "sparc" -o "$MACHINE" = "sparc64" ]; then # Test if we have a serial console. (test -c /dev/tty1 && > /dev/tty1 ) > /dev/null 2>&1 || exit 0 fi # iSeries machines also exit, just a little further down... # The variable NON_SUSE_KERNEL determines whether we need to chvt # to a console before some console settings apply. # We have no magic to find out about this (at boot time), so we # leave it to the user to read this comment and put NON_SUSE_KERNEL="yes" # into /etc/sysconfig/console test "$NON_SUSE_KERNEL" = "yes" && FGCONS=`/bin/fgconsole` KBDBASE="/usr/share/kbd" KTABLE=${KEYTABLE%.map*} KTABLE=${KTABLE##*/} # # first search the wanted keytable. # if [ $MACHINE = ppc -o $MACHINE = ppc64 ]; then test -f /proc/cpuinfo || mount -n -t proc proc /proc 2>/dev/null while read line; do case "$line" in *MacRISC*) MACHINE="mac" test -f /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes && \ echo 1 > /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes ;; *CHRP*) MACHINE="chrp";; *PReP*) MACHINE="prep" ;; *PS3*) MACHINE="ps3" ;; *iSeries*) exit 0 ;; esac done < /proc/cpuinfo fi # # Calculate KBD_TTY array only once # Caution: Keep in sync with earlykbd.init # if test -z "$KBD_TTY"; then # >=tty7 left out intentionaly KBD_TTY="tty1 tty2 tty3 tty4 tty5 tty6" fi newkbd="" for tty in $KBD_TTY; do test -w /dev/$tty || continue test -c /dev/$tty || continue > /dev/$tty &> /dev/null || continue newkbd="${newkbd:+$newkbd }/dev/$tty" done KBD_TTY="$newkbd" unset newkbd # # load usb drivers in runlevel S # case "${PREVLEVEL}${RUNLEVEL}" in N1|NS) test -f /proc/cpuinfo || mount -n -t proc proc /proc 2>/dev/null # [bugzilla #46113] # we come here although heading for runlevel 5. # I'll comment out diabling hotplug for now. jw. # test -f /proc/sys/kernel/hotplug && echo /bin/true > /proc/sys/kernel/hotplug 2>/dev/null test -d /proc/bus/usb || modprobe usbcore >/dev/null 2>&1 mount -n -t usbfs usbfs /proc/bus/usb >/dev/null 2>&1 for mod in ehci-hcd ohci-hcd uhci-hcd usb-ohci usb-uhci ; do echo -n $mod" " modprobe $mod >/dev/null 2>&1 done # [bugzilla #284348] # sleep is no longer needed. horay! # # echo # echo "wait 3 seconds for USB initialisation ..." # sleep 3 for mod in usbhid input hid keybdev ; do modprobe $mod >/dev/null 2>&1 done ;; esac KEYMAP="" if test -e /$KEYTABLE ; then KEYMAP=$KEYTABLE else KEYTABLE=$KTABLE case "$KEYTABLE" in *.gz) KBDPATH="${KEYTABLE}" ;; *.map) KBDPATH="${KEYTABLE} ${KEYTABLE}.gz" ;; *) KBDPATH="${KEYTABLE} ${KEYTABLE}.gz ${KEYTABLE}.map.gz ${KEYTABLE}.map" ;; esac KEYMAP=$(find ${KBDBASE}/keymaps -type f \( -name ${KBDPATH// / -o -name } \)) fi # # setup kbdrate and led status # function set_kbdrate () { local line if test "$MACHINE" != "mac" ; then KBDOPT="" if test -n "$KBD_RATE" ; then KBDOPT="${KBDOPT:+$KBDOPT }-r $KBD_RATE" fi if test -n "$KBD_DELAY"; then KBDOPT="${KBDOPT:+$KBDOPT }-d $KBD_DELAY" fi if test -n "$KBDOPT" ; then echo -n "Keyboard: " /bin/kbdrate $KBDOPT rc_status -v1 fi fi # setleds # # Note: The file /var/run/numlock-on is used in ~/.xinitrc # to reflect the correct numlock state choosen by the # user even under X11 # if test "$KBD_NUMLOCK" = "yes"; then touch /var/run/numlock-on elif test "$KBD_NUMLOCK" = "no"; then rm -f /var/run/numlock-on elif test "$KBD_NUMLOCK" = "bios"; then if test -x /usr/sbin/hwinfo ; then /usr/sbin/hwinfo --bios | \ while read line ; do case "$line" in Num\ Lock:\ on) touch /var/run/numlock-on ;; Num\ Lock:\ off) rm -f /var/run/numlock-on ;; Caps\ Lock:) break esac done else echo "no /usr/sbin -> Numlock off." rm -f /var/run/numlock-on fi fi unset line # # Only change keyboard leds if setleds is in path # type -p setleds &> /dev/null || return if test -e /var/run/numlock-on ; then LEDOPT="+num" else LEDOPT="-num" fi if test "$KBD_CAPSLOCK" = "yes"; then LEDOPT="$LEDOPT +caps" else LEDOPT="$LEDOPT -caps" fi if test "$KBD_SCRLOCK" = "yes"; then LEDOPT="$LEDOPT +scroll" else LEDOPT="$LEDOPT -scroll" fi # # Only change keyboard leds if they will be switched # on ... OR if they are switched on currently # if [[ $LEDOPT == *+* ]] ; then touch /var/run/setleds-on else test -e /var/run/setleds-on || return test -n "$LEDOPT" || return rm -f /var/run/setleds-on fi for tty in $KBD_TTY; do setleds -D $LEDOPT < $tty done } # rc_reset case "$1" in start|restart|reload|force-reload) case "$1" in start) # don't do anything if we have this file. # this means that initialization was already done. # don't do it twice unless forced, it may annoy xdm and # produce lots of error messages. test -s /var/run/keymap && exit 0 ;; esac if test -z "$KEYTABLE"; then echo "No keyboard map to load" else if test -z "$KEYMAP" || test ! -d "$KBDBASE" ; then if test -r /etc/defkeymap.map ; then if test -n "$KEYMAP" ; then echo "$KEYMAP is unvailable, using /etc/defkeymap.map instead." if test -r /var/run/keymap ; then read cached < /etc/defkeymap.name if test "$KEYMAP" != "$cached" && test $K != "$cached" ; then echo "Warning: fallback differs: $cached" fi fi else echo "Can not find a keymap for ${KEYTABLE}, trying fallback." fi KEYMAP=/etc/defkeymap.map else echo "Fallback /etc/defkeymap.map not there." echo "Can not find a keymap for ${KEYTABLE}, Exit." rc_failed fi else if test ! -e "$KEYMAP" ; then echo "Found more than one keymap ${KEYTABLE}" KEYMAP=$K echo "Using $KEYMAP." echo "If you want another one, please add complete path to" echo "KEYTABLE in /etc/sysconfig/keyboard." fi fi rc_status && retmsg="`loadkeys -C "$KBD_TTY" $KEYMAP 2>&1`" if test $? -eq 0 && ( > /var/run/keymap ) > /dev/null 2>&1 ; then echo "$KEYMAP" > /var/run/keymap else case "$RUNLEVEL" in S|N|1|\#) true ;; *) rc_failed ;; esac fi echo "Loading keymap ${retmsg#Loading*${KBDBASE}/keymaps/}" rc_status -v1 set_kbdrate fi # Disable CAPS LOCK key if wanted if test "$KBD_DISABLE_CAPS_LOCK" = "yes"; then loadkeys -C "$KBD_TTY" disable.capslock >/dev/null 2>&1 || echo "Could not disable Caps Lock" fi # Load compose tables case "$RUNLEVEL" in S|N|1|\#) COMPOSETABLE="" ;; esac if test ! -z "$COMPOSETABLE"; then unset COMPOSELOADED COMPOSECLEAR for name in $COMPOSETABLE; do # Test for compose clear flag if test "$name" = "-c" -o "$name" = "clear"; then COMPOSECLEAR=-c continue fi # Handle the first table differently ... if test -z "$COMPOSELOADED"; then echo -n "Loading compose table $name" loadkeys -C "$KBD_TTY" $COMPOSECLEAR compose.$name >/dev/null 2>&1 rc_check #if test $name = clear; then rc_reset; fi COMPOSELOADED=1 else echo -n " $name" loadkeys -C "$KBD_TTY" compose.$name >/dev/null 2>&1 rc_check fi done if test ! -z "$COMPOSELOADED"; then rc_status -v fi fi # Unicode mode if test -x /bin/kbd_mode ; then case $LOCALE_CHARMAP in UTF-8) echo Start Unicode mode for tty in $KBD_TTY; do # The chvt is not needed for SuSE kernels test "$NON_SUSE_KERNEL" != "yes" || chvt ${tty#*tty} # Tell the console output driver that the bytes # arriving are UTF-8 encoded multibyte sequences. echo -n -e '\033%G' > $tty # Set the keyboard driver in Unicode mode. # (Default is ASCII mode.) # This really does nothing with the way normal # keys are handled in the kernel. All it does is: # - It is necessary for `dumpkeys' in order to # not drop U+XXXX entries from the keymaps. # - It is necessary for `loadkeys' in order to # avoid warnings. # - Unicode characters typed as Alt-x1 ... Alt-xn # (where x1,...,xn are digits on the numeric keypad) # will be emitted in UTF-8. kbd_mode -u -C $tty rc_status done ;; *) echo Stop Unicode mode for tty in $KBD_TTY; do # The chvt is not needed for SuSE kernels test "$NON_SUSE_KERNEL" != "yes" || chvt ${tty#*tty} echo -n -e '\033%@' > $tty kbd_mode -a -C $tty rc_status done ;; esac test "$NON_SUSE_KERNEL" != "yes" || chvt $FGCONS rc_status -v1 fi if test "$MACHINE" = "ps3" ; then # do not mess up console unset CONSOLE_FONT fi # setfont if test -d ${KBDBASE}/consolefonts -a \ -n "$CONSOLE_FONT" -a "$CONSOLE_FONT" != "YAST_ASK" then if test ! -z "$CONSOLE_UNICODEMAP"; then UMAP="-u $CONSOLE_UNICODEMAP" fi if test ! -z "$CONSOLE_SCREENMAP"; then SMAP="-m $CONSOLE_SCREENMAP" fi PRINTABLE_MAGIC=""; if test -n "$CONSOLE_MAGIC" -a "$CONSOLE_MAGIC" != "none"; then case $CONSOLE_MAGIC in \(B) PRINTABLE_MAGIC="G0:iso8859-1" ;; \(0) PRINTABLE_MAGIC="G0:vt100" ;; \(U) PRINTABLE_MAGIC="G0:ROM" ;; \(K) PRINTABLE_MAGIC="G0:loadable" ;; \)B) PRINTABLE_MAGIC="G1:iso8859-1" ;; \)0) PRINTABLE_MAGIC="G1:vt100" ;; \)U) PRINTABLE_MAGIC="G1:ROM" ;; \)K) PRINTABLE_MAGIC="G1:loadable" ;; *) PRINTABLE_MAGIC="magic='$CONSOLE_MAGIC'" ;; esac CONSOLE_MAGIC="\033$CONSOLE_MAGIC" else CONSOLE_MAGIC=""; fi if test -x /bin/setfont ; then echo "Loading console font $CONSOLE_FONT $UMAP $SMAP $PRINTABLE_MAGIC" for tty in $KBD_TTY; do # The chvt is not needed for SuSE kernels test "$NON_SUSE_KERNEL" != "yes" || chvt ${tty#*tty} /bin/setfont -C $tty $CONSOLE_FONT $UMAP $SMAP rc_status echo -en "$CONSOLE_MAGIC" > $tty done test "$NON_SUSE_KERNEL" != "yes" || chvt $FGCONS rc_status -v1 fi fi case "$RUNLEVEL" in S|N|1|\#) true ;; *) case $LOCALE_CHARMAP in UTF-8) # Change the keyboard mapping in such a way that the # non-ASCII keys produce UTF-8 encoded multibyte sequences # instead of single bytes >= 0x80 in a legacy 8-bit encoding. ( dumpkeys | loadkeys -C "$KBD_TTY" --unicode ) > /dev/null 2>&1 ;; *) ;; esac dumpkeys=yes if type -p cmp > /dev/null 2>&1 && \ dumpkeys | cmp -s /etc/defkeymap.map then dumpkeys=no fi if test "$dumpkeys" = "yes" ; then ( dumpkeys > /etc/defkeymap.map ) > /dev/null 2>&1 if test ! -z "$KEYMAP" && test "$KEYMAP" != "/etc/defkeymap.map" ; then test ! -e "$KEYMAP" && KEYMAP=$K echo $KEYMAP > /etc/defkeymap.name fi fi esac ;; stop) # enable start after stop. echo -n "$0 stop" rm -f /var/run/keymap rc_status -v ;; check|status) if test -r /var/run/keymap ; then read current < /var/run/keymap echo "Keymap $current is loaded." else rc_failed 3 fi ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload|status|check}" exit 2 ;; esac rc_exit ++++++ piofont_debug.diff ++++++ --- kbd-1.12/src/kdfontop.c.orig 2004-10-01 13:44:47.788404680 +0000 +++ kbd-1.12/src/kdfontop.c 2004-10-01 13:46:09.349005584 +0000 @@ -268,6 +268,7 @@ if (i == 0) return 0; if (errno != ENOSYS && errno != EINVAL) { + fprintf(stderr, "%s: putfont: %d,%dx%d:failed: %d\n", progname, count, width, height, i); perror("putfont: PIO_FONTX"); return -1; } @@ -276,6 +277,7 @@ /* This will load precisely 256 chars, independent of count */ i = ioctl(fd, PIO_FONT, buf); if (i) { + fprintf(stderr, "%s: putfont: %d,%dx%d: failed: %d\n", progname, count, width, height, i); perror("putfont: PIO_FONT"); return -1; } ++++++ repack_kbd.sh ++++++ --- /var/tmp/diff_new_pack.KJzC4x/_old 2020-09-23 12:59:22.725776781 +0200 +++ /var/tmp/diff_new_pack.KJzC4x/_new 2020-09-23 12:59:22.725776781 +0200 @@ -1,4 +1,4 @@ -#!/bin/sh +#! /bin/sh # # repackage kbd source tar ball, # to remove fonts that forbid commercial distribution. @@ -6,21 +6,30 @@ # 2005-07-11, [email protected] tmpdir=`mktemp -d` -in="$1" -if [ -z $in ]; then - echo "usage: $0 <tarball>" - exit 1 -fi -name="${in%.tar.*}" -# recent gnu tar can autodetect gzip / bzip2 -if ! tar xf "$in" -C $tmpdir; then - rm -rf $tmpdir - exit 1 -fi +in=$1 + +case "$in" in + *.tar.gz) + tar zxf $in -C $tmpdir + ;; + *.tgz) + tar zxf $in -C $tmpdir + ;; + *.tar.bz2) + tar jxf $in -C $tmpdir + ;; + *.tar) + tar xf $in -C $tmpdir + ;; + *) + echo "hmm, '$in' is not a tar ball?" + rmdir $tmpdir + exit 1 +esac echo removing files... find $tmpdir -iname \*agafari\* | tee /dev/tty | xargs rm -tar Jcf $name-repack.tar.xz -C $tmpdir $name +tar jcf $in-repack.tar.bz2 -C $tmpdir . rm -rf $tmpdir ++++++ suse-add.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/data/keymaps/i386/azerty/lt.std.map new/data/keymaps/i386/azerty/lt.std.map --- old/data/keymaps/i386/azerty/lt.std.map 2010-03-29 17:15:16.000000000 +0200 +++ new/data/keymaps/i386/azerty/lt.std.map 1970-01-01 01:00:00.000000000 +0100 @@ -1,167 +0,0 @@ -# Lithuanian standard keymap -# Created by Gediminas Paulauskas <[email protected]> -# Re-encoded for UTF-8 by Rimas Kudelis <[email protected]> -# The standard can be found at http://ims.mii.lt/klav/ -# -# ____ ________ _________ _______ -# | S A| S = Shift, A = altgr + Shift | Spausd | Slinkti | Pauzė | -# | s a| s = normal, a = altgr | SysRq | | | -# ==== ======== ========= ======= -# ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______ -# | ~ | 1 | 2 | 3 | 4 | 5 | 6 ¦| 7 | 8 | 9 | 0 | + | X | <-- | -# | ` | ! @| - _| / #| ; $| : §| , ^|| . &| = *| ( [| ) ]| ? '| %| | -# ======================================================================== -# | |<- | Ą | Ž | E | R | T | Y | U | I | O | P | Į | W | , | -# | ->| | | | €| | | | | | | | {| }| <-' | -# ===================================================================¬ | -# | | A | S | D | Š | G | H | J | K | L | Ų | Ė | Q | | -# | Didž | | | | | | | | | | | "| || | -# ======================================================================== -# | ^ | > | Z | Ū | C | V | B | N | M | Č | F | Ę | ^ | -# | | Lyg2 | < -| <| >| -| | | | | „| “| \| | Lyg2 | -# ======================================================================== -# | | | | | | | | | -# | Vald | | Alt | Tarpas Jungiamasis t.| Lyg 3 | | | Vald | -# ====== ====== ====== ======================= ======= ====== ===== ====== - -keymaps 0-2,4,8,12 -include "azerty-layout" -strings as usual - -# If you want to have right Alt as normal Alt, and have Win keys to act as -# AltGr (for typing 3rd level characters), uncomment the following lines: - -# keycode 100 = Alt -# keycode 125 = AltGr -# keycode 126 = AltGr - -# -- Row 1 ----------------------------------------------------------------- -# [Esc] [F1][F2][F3] [F4][F5][F6][F7] [F8][F9][F10][F11][F12] [PS][Sc][Pu] -# -------------------------------------------------------------------------- - - keycode 1 = Escape -alt keycode 1 = Meta_Escape - -# -- Row 2 ----------------------------------------------------------------- -# [`~][1!@][2-_][3/#][4;$][5:][6,^][7.&][8=*][9([][0)]][+?'][=+][X%][Backspace] -# -------------------------------------------------------------------------- - - keycode 41 = grave asciitilde -alt keycode 41 = Meta_grave - - keycode 2 = exclam one at -alt keycode 2 = Meta_one - - keycode 3 = minus two underscore -control keycode 3 = Control_underscore -alt keycode 3 = Meta_two - - keycode 4 = slash three numbersign -alt keycode 4 = Meta_three - - keycode 5 = semicolon four dollar -alt keycode 5 = Meta_four - - keycode 6 = colon five section -alt keycode 6 = Meta_five - - keycode 7 = comma six asciicircum -alt keycode 7 = Meta_six -control keycode 11 = Control_asciicircum - - keycode 8 = period seven ampersand -alt keycode 8 = Meta_seven - - keycode 9 = equal eight asterisk -alt keycode 9 = Meta_eight - - keycode 10 = parenleft nine bracketleft -alt keycode 10 = Meta_nine - - keycode 11 = parenright zero bracketright -alt keycode 11 = Meta_zero -control keycode 11 = Control_bracketright - - keycode 12 = question plus apostrophe -alt keycode 12 = Meta_question - - keycode 13 = +x +X percent -alt keycode 13 = Meta_x -control keycode 13 = Control_x - - keycode 14 = Delete -alt keycode 14 = Meta_Delete - -# -- Row 3 ----------------------------------------------------------------- -# [Tab][Ą][Ž][E€][R][T][Y][U][I][O][P][Į{][W}][Enter] -# -------------------------------------------------------------------------- - - keycode 15 = Tab -alt keycode 15 = Meta_Tab - - keycode 16 = U+0105 U+0104 - keycode 17 = U+017e U+017d - keycode 18 = +e +E U+20ac -control keycode 18 = Control_e -altgr keycode 19 = nul -altgr keycode 20 = nul -altgr keycode 21 = nul -altgr keycode 22 = nul - - keycode 26 = U+012f U+012e braceleft -control keycode 26 = Escape -alt keycode 26 = Meta_bracketleft - - keycode 27 = +w +W braceright -control keycode 27 = Control_w - -# -- Row 4 ----------------------------------------------------------------- -# [CapsLock][A][S][D][Š][G][H][J][K][L][Ų][Ė"][Enter] -# -------------------------------------------------------------------------- - - keycode 58 = Caps_Lock - - keycode 30 = a - keycode 33 = U+0161 U+0160 - - keycode 39 = U+0173 U+0172 - keycode 40 = U+0117 U+0116 quotedbl - - keycode 43 = +q +Q bar -control keycode 43 = Control_q - -# -- Row 5 ----------------------------------------------------------------- -# [LShift][<>-][Z<][Ū>][C-][V][B][N][M][Č„][F“][Ę\][RShift] -# -------------------------------------------------------------------------- - - keycode 42 = Shift - - keycode 86 = less greater minus - keycode 44 = +z +Z less -control keycode 44 = Control_z - keycode 45 = U+016b U+016a greater - keycode 46 = +c +C minus -control keycode 46 = Control_c - - keycode 51 = U+010d U+010c U+201e - - keycode 52 = +f +F U+201c -control keycode 52 = Control_f - - keycode 53 = U+0119 U+0118 backslash -control keycode 53 = Control_backslash - - keycode 54 = Shift - -# -- Row 6 ----------------------------------------------------------------- -# [LCtrl] [Lalt][Space][Ralt] [RCtrl] -# -------------------------------------------------------------------------- - - keycode 29 = Control - keycode 56 = Alt - - keycode 57 = space -altgr keycode 57 = nobreakspace -alt keycode 57 = Meta_space - - keycode 97 = Control diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/data/keymaps/i386/qwerty/ru1_win-utf.map new/data/keymaps/i386/qwerty/ru1_win-utf.map --- old/data/keymaps/i386/qwerty/ru1_win-utf.map 2008-05-19 12:35:07.000000000 +0200 +++ new/data/keymaps/i386/qwerty/ru1_win-utf.map 1970-01-01 01:00:00.000000000 +0100 @@ -1,443 +0,0 @@ -# Tomin Vitaliy aka HighwayStar <[email protected]> -# 17/05/2008 -# ru1-utf.map made from original ru1.map by Alexey Vovenko <[email protected]> -# by replacing ASCI keycodes with their utf8 means. Only letters codes replaced, -# layout switching by Alt+Shift combination -# winkeys -like ru1-utf.map variant, russian layout like in X (winkeys) -strings as usual - - keycode 1 = Escape - alt keycode 1 = Meta_Escape -altgr alt keycode 1 = Meta_Escape - keycode 2 = one exclam one exclam - alt keycode 2 = Meta_one -altgr alt keycode 2 = Meta_one - shift alt keycode 2 = Meta_exclam -altgr shift alt keycode 2 = Meta_exclam - keycode 3 = two at two quotedbl - control keycode 3 = nul -altgr control keycode 3 = nul - alt keycode 3 = Meta_two -altgr alt keycode 3 = Meta_two - shift alt keycode 3 = Meta_at -altgr shift alt keycode 3 = Meta_at - keycode 4 = three numbersign three numbersign - control keycode 4 = Escape -altgr control keycode 4 = Escape - alt keycode 4 = Meta_three -altgr alt keycode 4 = Meta_three - shift alt keycode 4 = Meta_numbersign -altgr shift alt keycode 4 = Meta_numbersign -#altgr shift keycode 4 = U+2116 #number sign - keycode 5 = four dollar four semicolon - control keycode 5 = Control_backslash -altgr control keycode 5 = Control_backslash - alt keycode 5 = Meta_four -altgr alt keycode 5 = Meta_four - shift alt keycode 5 = Meta_dollar -altgr shift alt keycode 5 = Meta_dollar -altgr shift keycode 5 = semicolon #winkeys variant - keycode 6 = five percent five colon - control keycode 6 = Control_bracketright -altgr control keycode 6 = Control_bracketright - alt keycode 6 = Meta_five -altgr alt keycode 6 = Meta_five - shift alt keycode 6 = Meta_percent -altgr shift alt keycode 6 = Meta_percent - keycode 7 = six asciicircum six comma - control keycode 7 = Control_asciicircum -altgr control keycode 7 = Control_asciicircum - alt keycode 7 = Meta_six -altgr alt keycode 7 = Meta_six - shift alt keycode 7 = Meta_asciicircum -altgr shift alt keycode 7 = Meta_asciicircum -altgr shift keycode 8 = colon #winkeys variant - keycode 8 = seven ampersand seven period - control keycode 8 = Control_underscore -altgr control keycode 8 = Control_underscore - alt keycode 8 = Meta_seven -altgr alt keycode 8 = Meta_seven - shift alt keycode 8 = Meta_ampersand -altgr shift alt keycode 8 = Meta_ampersand -altgr shift keycode 8 = question #winkeys variant - keycode 9 = eight asterisk eight asterisk - control keycode 9 = Delete -altgr control keycode 9 = Delete - alt keycode 9 = Meta_eight -altgr alt keycode 9 = Meta_eight - shift alt keycode 9 = Meta_asterisk -altgr shift alt keycode 9 = Meta_asterisk - keycode 10 = nine parenleft nine parenleft - alt keycode 10 = Meta_nine -altgr alt keycode 10 = Meta_nine - shift alt keycode 10 = Meta_parenleft -altgr shift alt keycode 10 = Meta_parenleft - keycode 11 = zero parenright zero parenright - alt keycode 11 = Meta_zero -altgr alt keycode 11 = Meta_zero - shift alt keycode 11 = Meta_parenright -altgr shift alt keycode 11 = Meta_parenright - keycode 12 = minus underscore minus underscore - control keycode 12 = Control_underscore -altgr control keycode 12 = Control_underscore - alt keycode 12 = Meta_minus -altgr alt keycode 12 = Meta_minus - shift alt keycode 12 = Meta_underscore -altgr shift alt keycode 12 = Meta_underscore - keycode 13 = equal plus equal plus - alt keycode 13 = Meta_equal -altgr alt keycode 13 = Meta_equal - shift alt keycode 13 = Meta_plus -altgr shift alt keycode 13 = Meta_plus - keycode 14 = Delete Delete Delete Delete - alt keycode 14 = Meta_Delete -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 -altgr keycode 16 = U+0439 -altgr shift keycode 16 = U+0419 - keycode 17 = +w -altgr keycode 17 = U+0446 -altgr shift keycode 17 = U+0426 - keycode 18 = +e -altgr keycode 18 = U+0443 -altgr shift keycode 18 = U+0423 - keycode 19 = +r -altgr keycode 19 = U+043A -altgr shift keycode 19 = U+041A - keycode 20 = +t -altgr keycode 20 = U+0435 -altgr shift keycode 20 = U+0415 - keycode 21 = +y -altgr keycode 21 = U+043D -altgr shift keycode 21 = U+041D - keycode 22 = +u -altgr keycode 22 = U+0433 -altgr shift keycode 22 = U+0413 - keycode 23 = +i -altgr keycode 23 = U+0448 -altgr shift keycode 23 = U+0428 - keycode 24 = +o -altgr keycode 24 = U+0449 -altgr shift keycode 24 = U+0429 - keycode 25 = +p -altgr keycode 25 = U+0437 -altgr shift keycode 25 = U+0417 - keycode 26 = bracketleft braceleft -altgr keycode 26 = U+0445 -altgr shift keycode 26 = U+0425 - control keycode 26 = Escape -altgr control keycode 26 = Escape - alt keycode 26 = Meta_bracketleft -altgr alt keycode 26 = Meta_bracketleft - keycode 27 = bracketright braceright bracketleft bracketright - -# The keycode "0xFF" is too dangerous for many programs (including emacs). -# So let it be bracket instead of Hard Sign. -altgr keycode 27 = U+044A -altgr shift keycode 27 = U+042A - control keycode 27 = Control_bracketright -altgr control keycode 27 = Control_bracketright - alt keycode 27 = Meta_bracketright -altgr alt keycode 27 = Meta_bracketright - keycode 28 = Return - alt keycode 28 = Meta_Control_m -altgr alt keycode 28 = Meta_Control_m - control keycode 28 = Linefeed -altgr control keycode 28 = Linefeed - keycode 29 = Control - keycode 30 = +a -altgr keycode 30 = U+0444 -altgr shift keycode 30 = U+0424 - keycode 31 = +s -altgr keycode 31 = U+044B -altgr shift keycode 31 = U+042B - keycode 32 = +d -altgr keycode 32 = U+0432 -altgr shift keycode 32 = U+0412 - keycode 33 = +f -altgr keycode 33 = U+0430 -altgr shift keycode 33 = U+0410 - keycode 34 = +g -altgr keycode 34 = U+043F -altgr shift keycode 34 = U+041F - keycode 35 = +h -altgr keycode 35 = U+0440 -altgr shift keycode 35 = U+0420 - keycode 36 = +j -altgr keycode 36 = U+043E -altgr shift keycode 36 = U+041E - keycode 37 = +k -altgr keycode 37 = U+043B -altgr shift keycode 37 = U+041B - keycode 38 = +l -altgr keycode 38 = U+0434 -altgr shift keycode 38 = U+0414 - keycode 39 = semicolon colon -altgr keycode 39 = U+0436 -altgr shift keycode 39 = U+0416 - alt keycode 39 = Meta_semicolon -altgr alt keycode 39 = Meta_semicolon - keycode 40 = apostrophe quotedbl - control keycode 40 = Control_g -altgr control keycode 40 = Control_g - alt keycode 40 = Meta_apostrophe -altgr alt keycode 40 = Meta_apostrophe -altgr keycode 40 = U+044D -altgr shift keycode 40 = U+042D - keycode 41 = grave asciitilde grave asciitilde - control keycode 41 = nul -altgr control keycode 41 = nul - alt keycode 41 = Meta_grave -altgr alt keycode 41 = Meta_grave -altgr keycode 41 = U+0451 -altgr shift keycode 41 = U+0401 - keycode 42 = Shift - keycode 43 = backslash bar backslash bar - control keycode 43 = Control_backslash -altgr control keycode 43 = Control_backslash - alt keycode 43 = Meta_backslash -altgr alt keycode 43 = Meta_backslash - shift alt keycode 43 = Meta_bar -altgr shift alt keycode 43 = Meta_bar - keycode 44 = +z -altgr keycode 44 = U+044f -altgr shift keycode 44 = U+042f - keycode 45 = +x -altgr keycode 45 = U+0447 -altgr shift keycode 45 = U+0427 - keycode 46 = +c -altgr keycode 46 = U+0441 -altgr shift keycode 46 = U+0421 - keycode 47 = +v -altgr keycode 47 = U+043C -altgr shift keycode 47 = U+041C - keycode 48 = +b -altgr keycode 48 = U+0438 -altgr shift keycode 48 = U+0418 - keycode 49 = +n -altgr keycode 49 = U+0442 -altgr shift keycode 49 = U+0422 - keycode 50 = +m -altgr keycode 50 = U+044C -altgr shift keycode 50 = U+042C - keycode 51 = comma less - alt keycode 51 = Meta_comma -altgr alt keycode 51 = Meta_comma - alt shift keycode 51 = Meta_less -altgr alt shift keycode 51 = Meta_less -altgr keycode 51 = U+0431 -altgr shift keycode 51 = U+0411 - keycode 52 = period greater - alt keycode 52 = Meta_period -altgr alt keycode 52 = Meta_period - alt shift keycode 52 = Meta_greater -altgr alt shift keycode 52 = Meta_greater -altgr keycode 52 = U+044E -altgr shift keycode 52 = U+042E - -# Can you survive without "yuo" letter? If no put +163 and +179 for -# altgr keycode 53. - keycode 53 = slash question slash question - control keycode 53 = Delete -altgr control keycode 53 = Delete - alt keycode 53 = Meta_slash -altgr alt keycode 53 = Meta_slash - shift alt keycode 53 = Meta_question -altgr shift alt keycode 53 = Meta_question -altgr keycode 53 = period -altgr shift keycode 53 = comma - keycode 54 = Shift - keycode 55 = KP_Multiply - keycode 56 = Alt - keycode 57 = space - control keycode 57 = nul -altgr control keycode 57 = nul - alt keycode 57 = Meta_space -altgr alt keycode 57 = Meta_space - keycode 58 = Caps_Lock - keycode 59 = F1 F11 F1 F11 - control keycode 59 = F1 -altgr control keycode 59 = F1 - alt keycode 59 = Console_1 -altgr alt keycode 59 = Console_1 - control alt keycode 59 = Console_1 -altgr control alt keycode 59 = Console_1 - keycode 60 = F2 F12 F2 F12 - control keycode 60 = F2 -altgr control keycode 60 = F2 - alt keycode 60 = Console_2 -altgr alt keycode 60 = Console_2 - control alt keycode 60 = Console_2 -altgr control alt keycode 60 = Console_2 - keycode 61 = F3 F13 F3 F13 - control keycode 61 = F3 -altgr control keycode 61 = F3 - alt keycode 61 = Console_3 -altgr alt keycode 61 = Console_3 - control alt keycode 61 = Console_3 -altgr control alt keycode 61 = Console_3 - keycode 62 = F4 F14 F4 F14 - control keycode 62 = F4 - altgr control keycode 62 = F4 - alt keycode 62 = Console_4 -altgr alt keycode 62 = Console_4 - control alt keycode 62 = Console_4 -altgr control alt keycode 62 = Console_4 - keycode 63 = F5 F15 F5 F15 - control keycode 63 = F5 -altgr control keycode 63 = F5 - alt keycode 63 = Console_5 -altgr alt keycode 63 = Console_5 - control alt keycode 63 = Console_5 -altgr control alt keycode 63 = Console_5 - keycode 64 = F6 F16 F6 F16 - control keycode 64 = F6 -altgr control keycode 64 = F6 - alt keycode 64 = Console_6 -altgr alt keycode 64 = Console_6 - control alt keycode 64 = Console_6 -altgr control alt keycode 64 = Console_6 - keycode 65 = F7 F17 F7 F17 - control keycode 65 = F7 -altgr control keycode 65 = F7 - alt keycode 65 = Console_7 -altgr alt keycode 65 = Console_7 - control alt keycode 65 = Console_7 -altgr control alt keycode 65 = Console_7 - keycode 66 = F8 F18 F8 F18 - control keycode 66 = F8 -altgr control keycode 66 = F8 - alt keycode 66 = Console_8 -altgr alt keycode 66 = Console_8 - control alt keycode 66 = Console_8 -altgr control alt keycode 66 = Console_8 - keycode 67 = F9 F19 F9 F19 - control keycode 67 = F9 -altgr control keycode 67 = F9 - alt keycode 67 = Console_9 -altgr alt keycode 67 = Console_9 - control alt keycode 67 = Console_9 -altgr control alt keycode 67 = Console_9 - keycode 68 = F10 F20 F10 F20 - control keycode 68 = F10 -altgr control keycode 68 = F10 - alt keycode 68 = Console_10 -altgr alt keycode 68 = Console_10 - control alt keycode 68 = Console_10 -altgr control alt keycode 68 = Console_10 - keycode 69 = Num_Lock - keycode 70 = Scroll_Lock Show_Memory Show_Registers - control keycode 70 = Show_State -altgr control keycode 70 = Show_State - alt keycode 70 = Scroll_Lock -altgr alt keycode 70 = Scroll_Lock - 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 -altgr control keycode 83 = Boot -control alt keycode 83 = Boot -altgr control alt keycode 83 = Boot - keycode 84 = Last_Console - keycode 85 = - keycode 86 = less greater bar - alt keycode 86 = Meta_less -altgr alt keycode 86 = Meta_less - keycode 87 = F11 F11 F11 F11 - control keycode 87 = F11 -altgr control keycode 87 = F11 - alt keycode 87 = Console_11 -altgr alt keycode 87 = Console_11 - control alt keycode 87 = Console_11 -altgr control alt keycode 87 = Console_11 - keycode 88 = F12 F12 F12 F12 - control keycode 88 = F12 -altgr control keycode 88 = F12 - alt keycode 88 = Console_12 -altgr alt keycode 88 = Console_12 - control alt keycode 88 = Console_12 -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 - keycode 98 = KP_Divide - keycode 99 = VoidSymbol - control keycode 99 = Control_backslash -altgr control keycode 99 = Control_backslash - alt keycode 99 = Control_backslash -altgr alt keycode 99 = Control_backslash -keycode 100 = AltGr_Lock - 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 - keycode 106 = Right - 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 -altgr control keycode 111 = Boot -control alt keycode 111 = Boot -altgr control alt keycode 111 = Boot - keycode 112 = - keycode 113 = - keycode 114 = - keycode 115 = - keycode 116 = - keycode 117 = - keycode 118 = - keycode 119 = - keycode 120 = - keycode 121 = - keycode 122 = - keycode 123 = - keycode 124 = - keycode 125 = - keycode 126 = - keycode 127 = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/data/keymaps/i386/qwerty/tj_alt-UTF8.map new/data/keymaps/i386/qwerty/tj_alt-UTF8.map --- old/data/keymaps/i386/qwerty/tj_alt-UTF8.map 2009-10-01 14:46:23.000000000 +0200 +++ new/data/keymaps/i386/qwerty/tj_alt-UTF8.map 1970-01-01 01:00:00.000000000 +0100 @@ -1,507 +0,0 @@ -# This keymap is based on Russian keymap for a 105-keys PC keyboard. -# Modified by Victor Ibragimov <[email protected]> -# Tajik openSUSE & Software Localization -# http://www.kde.tj/ -# -# Tajik Standard Keyboard Layout -# RightAlt is used to change rus/lat, while Shift+CapsLock is used to -# lock capitals. -# -# KEYCODE 12 IS FOR CYRILLIC CAPITAL AND SMALL LETTER GHE WITH STROKE -# KEYCODE 13 IS FOR CYRILLIC CAPITAL AND SMALL LETTER U WITH MACRON -# KEYCODE 17 IS FOR CYRILLIC CAPITAL AND SMALL LETTER KA WITH DESCENDER -# KEYCODE 24 IS FOR CYRILLIC CAPITAL AND SMALL LETTER HA WITH DESCENDER -# KEYCODE 31 IS FOR CYRILLIC CAPITAL AND SMALL LETTER CHE WITH DESCENDER -# KEYCODE 50 IS FOR CYRILLIC CAPITAL AND SMALL LETTER I WITH MACRON -# CYRILLIC CAPITAL LETTER IO ON KEYCODE 53 ENABLED -# - -include "qwerty-layout" - - keycode 0 = - keycode 1 = Escape Escape Escape Escape - alt keycode 1 = Meta_Escape -altgr alt keycode 1 = Meta_Escape - keycode 2 = one exclam one exclam - alt keycode 2 = Meta_one -altgr alt keycode 2 = Meta_one - shift alt keycode 2 = Meta_exclam -altgr shift alt keycode 2 = Meta_exclam - keycode 3 = two at two quotedbl - control keycode 3 = nul -altgr control keycode 3 = nul - alt keycode 3 = Meta_two -altgr alt keycode 3 = Meta_two - shift alt keycode 3 = Meta_at -altgr shift alt keycode 3 = Meta_at - keycode 4 = three numbersign three numbersign - control keycode 4 = Escape -altgr control keycode 4 = Escape - alt keycode 4 = Meta_three -altgr alt keycode 4 = Meta_three - shift alt keycode 4 = Meta_numbersign -altgr shift alt keycode 4 = Meta_numbersign - keycode 5 = four dollar four semicolon - control keycode 5 = Control_backslash -altgr control keycode 5 = Control_backslash - alt keycode 5 = Meta_four -altgr alt keycode 5 = Meta_four - shift alt keycode 5 = Meta_dollar -altgr shift alt keycode 5 = Meta_dollar - keycode 6 = five percent five percent - control keycode 6 = Control_bracketright -altgr control keycode 6 = Control_bracketright - alt keycode 6 = Meta_five -altgr alt keycode 6 = Meta_five - shift alt keycode 6 = Meta_percent -altgr shift alt keycode 6 = Meta_percent - keycode 7 = six asciicircum six colon - control keycode 7 = Control_asciicircum -altgr control keycode 7 = Control_asciicircum - alt keycode 7 = Meta_six -altgr alt keycode 7 = Meta_six - shift alt keycode 7 = Meta_asciicircum -altgr shift alt keycode 7 = Meta_asciicircum - keycode 8 = seven ampersand seven question - control keycode 8 = Control_underscore -altgr control keycode 8 = Control_underscore - alt keycode 8 = Meta_seven -altgr alt keycode 8 = Meta_seven - shift alt keycode 8 = Meta_ampersand -altgr shift alt keycode 8 = Meta_ampersand - keycode 9 = eight asterisk eight asterisk - control keycode 9 = Delete -altgr control keycode 9 = Delete - alt keycode 9 = Meta_eight -altgr alt keycode 9 = Meta_eight - shift alt keycode 9 = Meta_asterisk -altgr shift alt keycode 9 = Meta_asterisk - keycode 10 = nine parenleft nine parenleft - alt keycode 10 = Meta_nine -altgr alt keycode 10 = Meta_nine - shift alt keycode 10 = Meta_parenleft -altgr shift alt keycode 10 = Meta_parenleft - keycode 11 = zero parenright zero parenright - alt keycode 11 = Meta_zero -altgr alt keycode 11 = Meta_zero - shift alt keycode 11 = Meta_parenright -altgr shift alt keycode 11 = Meta_parenright - -# altgr keycode 12 is used for CYRILLIC CAPITAL AND SMALL LETTER GHE WITH STROKE - -altgr keycode 12 = U+0493 -altgr shift keycode 12 = U+0492 - -# keycode 12 = minus underscore minus underscore -# control keycode 12 = Control_underscore -#altgr control keycode 12 = Control_underscore -# alt keycode 12 = Meta_minus -#altgr alt keycode 12 = Meta_minus -# shift alt keycode 12 = Meta_underscore -#altgr shift alt keycode 12 = Meta_underscore - -# altgr keycode 13 is used for CYRILLIC CAPITAL AND SMALL LETTER U WITH MACRON - -altgr keycode 13 = U+04EF -altgr shift keycode 13 = U+04EE - -# keycode 13 = equal plus equal plus -# alt keycode 13 = Meta_equal -#altgr alt keycode 13 = Meta_equal -# shift alt keycode 13 = Meta_plus -#altgr shift alt keycode 13 = Meta_plus - - keycode 14 = Delete Delete Delete Delete - alt keycode 14 = Meta_Delete -altgr alt keycode 14 = Meta_Delete - keycode 15 = Tab Tab Tab Tab - alt keycode 15 = Meta_Tab -altgr alt keycode 15 = Meta_Tab - -altgr keycode 16 = U+0439 -altgr shift keycode 16 = U+0419 - -# keycode 17 is used for CYRILLIC CAPITAL AND SMALL LETTER KA WITH DESCENDER - -altgr keycode 17 = U+049B -altgr shift keycode 17 = U+049A - -altgr keycode 18 = U+0443 -altgr shift keycode 18 = U+0423 - -altgr keycode 19 = U+043A -altgr shift keycode 19 = U+041A - -altgr keycode 20 = U+0435 -altgr shift keycode 20 = U+0415 - -altgr keycode 21 = U+043D -altgr shift keycode 21 = U+041D - -altgr keycode 22 = U+0433 -altgr shift keycode 22 = U+0413 - -altgr keycode 23 = U+0448 -altgr shift keycode 23 = U+0428 - -# keycode 24 is used for CYRILLIC CAPITAL AND SMALL LETTER HA WITH DESCENDER - -altgr keycode 24 = U+04B3 -altgr shift keycode 24 = U+04B2 - -altgr keycode 25 = U+0437 -altgr shift keycode 25 = U+0417 - keycode 26 = bracketleft braceleft -altgr keycode 26 = U+0445 -altgr shift keycode 26 = U+0425 - control keycode 26 = Escape -altgr control keycode 26 = Escape - alt keycode 26 = Meta_bracketleft -altgr alt keycode 26 = Meta_bracketleft - keycode 27 = bracketright braceright bracketleft bracketright - -# The keycode "0xFF" is too dangerous for many programs (including emacs). -# So let it be bracket instead of Hard Sign. -altgr keycode 27 = U+044A -altgr shift keycode 27 = U+042A - control keycode 27 = Control_bracketright -altgr control keycode 27 = Control_bracketright - alt keycode 27 = Meta_bracketright -altgr alt keycode 27 = Meta_bracketright - keycode 28 = Return - alt keycode 28 = 0x080d -altgr alt keycode 28 = 0x080d - control keycode 28 = Linefeed -altgr control keycode 28 = Linefeed - keycode 29 = Control - -altgr keycode 30 = U+0444 -altgr shift keycode 30 = U+0424 - -# keycode 31 is used for CYRILLIC CAPITAL AND SMALL LETTER CHE WITH DESCENDER - -altgr keycode 31 = U+04B7 -altgr shift keycode 31 = U+04B6 - -altgr keycode 32 = U+0432 -altgr shift keycode 32 = U+0412 - -altgr keycode 33 = U+0430 -altgr shift keycode 33 = U+0410 - -altgr keycode 34 = U+043F -altgr shift keycode 34 = U+041F - -altgr keycode 35 = U+0440 -altgr shift keycode 35 = U+0420 - -altgr keycode 36 = U+043E -altgr shift keycode 36 = U+041E - -altgr keycode 37 = U+043B -altgr shift keycode 37 = U+041B - -altgr keycode 38 = U+0434 -altgr shift keycode 38 = U+0414 - keycode 39 = semicolon colon -altgr keycode 39 = U+0436 -altgr shift keycode 39 = U+0416 - alt keycode 39 = Meta_semicolon -altgr alt keycode 39 = Meta_semicolon - keycode 40 = apostrophe quotedbl - control keycode 40 = Control_g -altgr control keycode 40 = Control_g - alt keycode 40 = Meta_apostrophe -altgr alt keycode 40 = Meta_apostrophe -altgr keycode 40 = U+044D -altgr shift keycode 40 = U+042D - keycode 41 = grave asciitilde U+0451 U+0401 - control keycode 41 = nul -altgr control keycode 41 = nul - alt keycode 41 = Meta_grave -altgr alt keycode 41 = Meta_grave - keycode 42 = Shift - keycode 43 = backslash bar slash bar - control keycode 43 = Control_backslash -altgr control keycode 43 = Control_backslash - alt keycode 43 = Meta_backslash -altgr alt keycode 43 = Meta_backslash - shift alt keycode 43 = Meta_bar -altgr shift alt keycode 43 = Meta_bar - -altgr keycode 44 = U+044F -altgr shift keycode 44 = U+042F - -altgr keycode 45 = U+0447 -altgr shift keycode 45 = U+0427 - -altgr keycode 46 = U+0441 -altgr shift keycode 46 = U+0421 - -altgr keycode 47 = U+043C -altgr shift keycode 47 = U+041C - -altgr keycode 48 = U+0438 -altgr shift keycode 48 = U+0418 - -altgr keycode 49 = U+0442 -altgr shift keycode 49 = U+0422 - -# keycode 50 is used for CYRILLIC CAPITAL AND SMALL LETTER I WITH MACRON - -altgr keycode 50 = U+04E3 -altgr shift keycode 50 = U+04E2 - - keycode 51 = comma less - alt keycode 51 = Meta_comma -altgr alt keycode 51 = Meta_comma - alt shift keycode 51 = Meta_less -altgr alt shift keycode 51 = Meta_less -altgr keycode 51 = U+0431 -altgr shift keycode 51 = U+0411 - keycode 52 = period greater - alt keycode 52 = Meta_period -altgr alt keycode 52 = Meta_period - alt shift keycode 52 = Meta_greater -altgr alt shift keycode 52 = Meta_greater -altgr keycode 52 = U+044E -altgr shift keycode 52 = U+042E - -# Can you survive without "yuo" letter? If no put U+0451 and U+0401 for -# altgr keycode 53. - keycode 53 = slash question period comma - control keycode 53 = Delete -altgr control keycode 53 = Delete - -# CYRILLIC CAPITAL LETTER IO ENABLED - - alt keycode 53 = U+0451 -altgr alt keycode 53 = U+0401 - - shift alt keycode 53 = Meta_question -altgr shift alt keycode 53 = Meta_question - keycode 54 = Shift - keycode 55 = KP_Multiply - keycode 56 = Alt - keycode 57 = space space space space - control keycode 57 = nul -altgr control keycode 57 = nul - alt keycode 57 = Meta_space -altgr alt keycode 57 = Meta_space - keycode 58 = Caps_Lock - keycode 59 = F1 F11 F1 F11 - control keycode 59 = F1 -altgr control keycode 59 = F1 - alt keycode 59 = Console_1 -altgr alt keycode 59 = Console_1 - control alt keycode 59 = Console_1 -altgr control alt keycode 59 = Console_1 - keycode 60 = F2 F12 F2 F12 - control keycode 60 = F2 -altgr control keycode 60 = F2 - alt keycode 60 = Console_2 -altgr alt keycode 60 = Console_2 - control alt keycode 60 = Console_2 -altgr control alt keycode 60 = Console_2 - keycode 61 = F3 F13 F3 F13 - control keycode 61 = F3 -altgr control keycode 61 = F3 - alt keycode 61 = Console_3 -altgr alt keycode 61 = Console_3 - control alt keycode 61 = Console_3 -altgr control alt keycode 61 = Console_3 - keycode 62 = F4 F14 F4 F14 - control keycode 62 = F4 - altgr control keycode 62 = F4 - alt keycode 62 = Console_4 -altgr alt keycode 62 = Console_4 - control alt keycode 62 = Console_4 -altgr control alt keycode 62 = Console_4 - keycode 63 = F5 F15 F5 F15 - control keycode 63 = F5 -altgr control keycode 63 = F5 - alt keycode 63 = Console_5 -altgr alt keycode 63 = Console_5 - control alt keycode 63 = Console_5 -altgr control alt keycode 63 = Console_5 - keycode 64 = F6 F16 F6 F16 - control keycode 64 = F6 -altgr control keycode 64 = F6 - alt keycode 64 = Console_6 -altgr alt keycode 64 = Console_6 - control alt keycode 64 = Console_6 -altgr control alt keycode 64 = Console_6 - keycode 65 = F7 F17 F7 F17 - control keycode 65 = F7 -altgr control keycode 65 = F7 - alt keycode 65 = Console_7 -altgr alt keycode 65 = Console_7 - control alt keycode 65 = Console_7 -altgr control alt keycode 65 = Console_7 - keycode 66 = F8 F18 F8 F18 - control keycode 66 = F8 -altgr control keycode 66 = F8 - alt keycode 66 = Console_8 -altgr alt keycode 66 = Console_8 - control alt keycode 66 = Console_8 -altgr control alt keycode 66 = Console_8 - keycode 67 = F9 F19 F9 F19 - control keycode 67 = F9 -altgr control keycode 67 = F9 - alt keycode 67 = Console_9 -altgr alt keycode 67 = Console_9 - control alt keycode 67 = Console_9 -altgr control alt keycode 67 = Console_9 - keycode 68 = F10 F20 F10 F20 - control keycode 68 = F10 -altgr control keycode 68 = F10 - alt keycode 68 = Console_10 -altgr alt keycode 68 = Console_10 - control alt keycode 68 = Console_10 -altgr control alt keycode 68 = Console_10 - keycode 69 = Num_Lock - keycode 70 = Scroll_Lock Show_Memory Show_Registers - control keycode 70 = Show_State -altgr control keycode 70 = Show_State - alt keycode 70 = Scroll_Lock -altgr alt keycode 70 = Scroll_Lock - 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 -altgr control keycode 83 = Boot -control alt keycode 83 = Boot -altgr control alt keycode 83 = Boot - keycode 84 = Last_Console - keycode 85 = - keycode 86 = less greater bar - alt keycode 86 = Meta_less -altgr alt keycode 86 = Meta_less - keycode 87 = F11 F11 F11 F11 - control keycode 87 = F11 -altgr control keycode 87 = F11 - alt keycode 87 = Console_11 -altgr alt keycode 87 = Console_11 - control alt keycode 87 = Console_11 -altgr control alt keycode 87 = Console_11 - keycode 88 = F12 F12 F12 F12 - control keycode 88 = F12 -altgr control keycode 88 = F12 - alt keycode 88 = Console_12 -altgr alt keycode 88 = Console_12 - control alt keycode 88 = Console_12 -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 - keycode 98 = KP_Divide - keycode 99 = Control_backslash - control keycode 99 = Control_backslash -altgr control keycode 99 = Control_backslash - alt keycode 99 = Control_backslash -altgr alt keycode 99 = Control_backslash - keycode 100 = AltGr_Lock - 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 - keycode 106 = Right - 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 -altgr control keycode 111 = Boot -control alt keycode 111 = Boot -altgr control alt keycode 111 = Boot - keycode 112 = - keycode 113 = - keycode 114 = - keycode 115 = - keycode 116 = - keycode 117 = - keycode 118 = - keycode 119 = - keycode 120 = - keycode 121 = - keycode 122 = - keycode 123 = - keycode 124 = - keycode 125 = - keycode 126 = - keycode 127 = -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 F21 = "" -string F22 = "" -string F23 = "" -string F24 = "" -string F25 = "" -string F26 = "" - ++++++ sv-latin1-keycode10.diff ++++++ --- kbd-1.12/data/keymaps/i386/qwerty/sv-latin1.map.orig 2007-07-17 12:33:52.000000000 +0200 +++ kbd-1.12/data/keymaps/i386/qwerty/sv-latin1.map 2007-07-17 12:36:34.855389000 +0200 @@ -42,6 +42,7 @@ alt keycode 9 = Meta_eight keycode 10 = nine parenright bracketright alt keycode 10 = Meta_nine + control altgr keycode 10 = Control_bracketright keycode 11 = zero equal braceright alt keycode 11 = Meta_zero keycode 12 = plus question backslash ++++++ sysconfig.console ++++++ --- /var/tmp/diff_new_pack.KJzC4x/_old 2020-09-23 12:59:22.825776878 +0200 +++ /var/tmp/diff_new_pack.KJzC4x/_new 2020-09-23 12:59:22.825776878 +0200 @@ -1,9 +1,8 @@ ## Path: Hardware/Console ## Description: Text console settings (see also Hardware/Keyboard) -# - ## Type: string ## Default: "" +## ServiceRestart: kbd # # Console settings. # Note: The KBD_TTY setting from Hardware/Keyboard (sysconfig/keyboard) @@ -11,7 +10,7 @@ # # Load this console font on bootup: # (/usr/share/kbd/consolefonts/) -# +# CONSOLE_FONT="" ## Type: string @@ -47,3 +46,4 @@ # Normally not needed (automatically handled by setfont). # CONSOLE_MAGIC="" + ++++++ sysconfig.keyboard ++++++ --- /var/tmp/diff_new_pack.KJzC4x/_old 2020-09-23 12:59:22.845776898 +0200 +++ /var/tmp/diff_new_pack.KJzC4x/_new 2020-09-23 12:59:22.849776902 +0200 @@ -1,7 +1,16 @@ ## Path: Hardware/Keyboard -## Description: Keyboard settings for the text console -## ServiceRestart: kbdsettings +## Description: Keyboard settings +## Type: string +## Default: "" +## ServiceRestart: kbd +# +# Keyboard settings for the text console # +# Keyboard mapping +# (/usr/share/kbd/keymaps/) +# e.g. KEYTABLE="de-latin1-nodeadkeys", "us" or empty for US settings +# +KEYTABLE="" ## Type: integer ## Default: @@ -18,8 +27,7 @@ ## Type: list(bios,yes,no) ## Default: bios # -# NumLock on? ("yes" or "no" or "bios" for BIOS setting) -# This setting may interfere with GNOME /org/gnome/settings-daemon/peripherals/keyboard/remember-numlock-state DConf key. +# NumLock on? ("yes" or "no" or empty or "bios" for BIOS setting) KBD_NUMLOCK="bios" ## Type: yesno @@ -46,11 +54,11 @@ KBD_DISABLE_CAPS_LOCK="no" ## Type: string -## Default: +## Default: "tty1 tty2 tty3 tty4 tty5 tty6" # # ttys for the above settings # Example: "tty1 tty2" -# "" for tty's 1-6 +# "" for all tty's # -KBD_TTY="" +KBD_TTY="tty1 tty2 tty3 tty4 tty5 tty6" ++++++ testutf8.c ++++++ /* * Copyright Gerd Knorr <[email protected]>, 2003 * * small tool to figure whenever a tty runs in utf8 mode or not. * writes a utf-8 multibyte sequence and then checks how far the * cursor has been moved. * * return codes: * 0 - don't know (stdin isn't a terminal, timeout, some error, ...) * 1 - not in utf8 * 2 - utf-8 * */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <fcntl.h> #include <termios.h> struct termios saved_attributes; int saved_fl; void tty_raw() { struct termios tattr; fcntl(0,F_GETFL,&saved_fl); tcgetattr (0, &saved_attributes); fcntl(0,F_SETFL,O_NONBLOCK); memcpy(&tattr,&saved_attributes,sizeof(struct termios)); tattr.c_lflag &= ~(ICANON|ECHO); tattr.c_cc[VMIN] = 1; tattr.c_cc[VTIME] = 0; tcsetattr (0, TCSAFLUSH, &tattr); } void tty_restore() { fcntl(0,F_SETFL,saved_fl); tcsetattr (0, TCSANOW, &saved_attributes); } int select_wait() { struct timeval tv; fd_set se; FD_ZERO(&se); FD_SET(0,&se); tv.tv_sec = 3; tv.tv_usec = 0; return select(1,&se,NULL,NULL,&tv); } int main(int argc, char **argv) { static char *teststr = "\r\xc3\xb6"; static char *cleanup = "\r \r"; static char *getpos = "\033[6n"; char retstr[16]; int pos,rc,row,col,verbose; verbose = 0; if (argc > 1 && 0 == strcmp(argv[1],"-v")) verbose = 1; if (!isatty(0) || !isatty(1)) { if (verbose) fprintf(stderr,"Not a tty.\n"); exit(0); } tty_raw(); write(1,teststr,strlen(teststr)); write(1,getpos,strlen(getpos)); for (pos = 0; pos < sizeof(retstr)-1;) { if (0 == select_wait()) break; if (-1 == (rc = read(0,retstr+pos,sizeof(retstr)-1-pos))) { perror("read"); exit(0); } pos += rc; if (retstr[pos-1] == 'R') break; } retstr[pos] = 0; write(1,cleanup,strlen(cleanup)); tty_restore(); rc = sscanf(retstr,"\033[%d;%dR",&row,&col); if (2 == rc && 2 == col) { if (verbose) fprintf(stderr,"Terminal is in UTF-8 mode.\n"); exit(2); } else { if (verbose) fprintf(stderr,"Terminal is in byte mode.\n"); exit(1); } }
